From 29d17bfbb6b0a27716ccdda85d24b4066299d113 Mon Sep 17 00:00:00 2001
From: ComFreek <comfreek@outlook.com>
Date: Fri, 13 Nov 2020 10:50:07 +0100
Subject: [PATCH] some uncommitted files

---
 .../FrameIT/frameworld/$Angle$Sum.omdoc.xz    | Bin 2044 -> 2176 bytes
 .../frameworld/$Frameworld$Meta.omdoc.xz      | Bin 496 -> 724 bytes
 .../frameworld/$Meta$Annotations.omdoc.xz     | Bin 712 -> 876 bytes
 .../FrameIT/frameworld/$Midpoint.omdoc.xz     | Bin 1568 -> 1684 bytes
 .../FrameIT/frameworld/$Opposite$Len.omdoc.xz | Bin 2228 -> 2360 bytes
 .../frameworld/$Supplementary$Angles.omdoc.xz | Bin 2132 -> 2252 bytes
 ...$Triangle$Scroll_$General$Problem.omdoc.xz | Bin 536 -> 656 bytes
 ...ngle$Scroll_$Right$Angled$Problem.omdoc.xz | Bin 940 -> 1036 bytes
 .../$Close$Gaps$Test_$Codomain.omdoc.xz       | Bin 992 -> 1092 bytes
 .../$Close$Gaps$Test_$Terms$Notepad.omdoc.xz  | Bin 904 -> 1004 bytes
 .../$Expected$Type$Test_$Codomain.omdoc.xz    | Bin 744 -> 860 bytes
 .../$Expected$Type$Test_$Domain.omdoc.xz      | Bin 780 -> 904 bytes
 .../integrationtests/$My$Scroll.omdoc.xz      | Bin 644 -> 724 bytes
 .../$Pushed$Out$Situation$Theory.omdoc.xz     | Bin 0 -> 400 bytes
 .../$Sample$Situation$Space.omdoc.xz          | Bin 1720 -> 1772 bytes
 .../$Situation$Space.omdoc.xz                 | Bin 788 -> 852 bytes
 .../integrationtests/$Solution.omdoc.xz       | Bin 0 -> 396 bytes
 .../$Theory$Parameter$Bug.omdoc.xz            | Bin 864 -> 1000 bytes
 .../LoViVo/gearbox/cogwheels.omdoc.xz         | Bin 1016 -> 1180 bytes
 .../LoViVo/gearbox/gb2.omdoc.xz               | Bin 1268 -> 1396 bytes
 .../LoViVo/gearbox/gb3.omdoc.xz               | Bin 356 -> 552 bytes
 .../LoViVo/gearbox/gearbox.omdoc.xz           | Bin 2400 -> 2544 bytes
 .../LoViVo/gearbox/temp.omdoc.xz              | Bin 1292 -> 1308 bytes
 errors/mmt-omdoc/Library/gearbox.mmt.err      | 873 +++++++++++++-----
 .../IntegrationTests/SituationTheory.omdoc    |   2 +-
 narration/MetaTheories.omdoc                  |   2 +-
 .../$Pushed$Out$Situation$Theory.rel          |   2 +
 .../frameworld/integrationtests/$Solution.rel |   2 +
 .../LoViVo/gearbox/cogwheels.rel              |   6 -
 .../http..mathhub.info/LoViVo/gearbox/gb2.rel |   5 +
 .../LoViVo/gearbox/gearbox.rel                |   2 -
 .../LoViVo/gearbox/temp.rel                   |  15 +
 source/IntegrationTests/SituationTheory.mmt   |   2 +
 33 files changed, 688 insertions(+), 223 deletions(-)
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.omdoc.xz
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.omdoc.xz
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.rel
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.rel

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.omdoc.xz
index 1e4fe2b8b8cc5f46ea58940a11bc138e79e3f1f3..c3052a5adcb5b18f9e3febaa5659740798f64202 100644
GIT binary patch
delta 2051
zcmV+e2>kc_4}cMn83dop2tbh?et${Liwzi?G{2h~xkn+hAuBt=J#{4G;Ok@$DYB3v
zy+Aerh;RB|K52Amgv4*!K7~yRgJ(C8jlzKrXu7B%ZLk|d)2ak&_%_3E;rVZL39|n>
z*p(+)g{XDpj3C56!}$7dr&`IWsmv`nJs!8po|asHwj&*s_<&(WWw}&dTz@z@w&Q`%
z5<aFTjNl1^QVh>jA+GCJ5+H!u3&#l5y3Q<F>!(Ae=Zgd1qIV2kXcUyAhsZiU@~EB9
z)*tm{KgWActs=%BfryiL?)o`1^iJkf3LL$@%zyurhkxcVlW8T&&x?GVW2(~#b*Cpz
z6*fBr#xE#Z-9hO>YUH_emVd&syLRW4;+S&x^X-#^_A8(7RE5nx8ttd~(3dSw@IR|9
z9-l~Xvf@cuz3=7j4Cc{OIXo>TV^6XT_|B3nv60KAJ!2W#XtH#k+c7zVT&!-1R>A9Q
z$g$4#ltrCU3nhPRjS0hVyujQfv+Ae(TR(-Zc_zmJ6j*<5bnAvpbAMLB`+_hceG2%u
ziP~I`O9J}Y5Z{6;agB`NKAj876b?{`nD_4024Wh|N02DL6fl1zVXZc&`e1gB_+u;S
z@2~!CM{)-`%7G%4gfO9oEt;Yca<|zRSx6GUIVOB}4^f#*pEB7|K!Nh~<O2ppV4?6j
zkCwoCzIi8S#kWK7(tpJw0QQ*=2bsIHcexN@w05Stg{;;6uD6v}Cj)3<*|sXC&P<j?
ze;*_L(gUi+hA+v+BDe)<oH=H2-*2HGK`hk%<Pv*S`#}8mwIR;rRBjj}^~o&0@Jk$l
zO8Wx!b6S1EaiAc3oh`>CX46uEe`8C7qbn^neX6>n(6`l>?0-oq7TX6gPMxO%!#u}3
zt)ur)R$3re2GLD?Tu&gWz210E_cGw_aGO#H<tcaxD1P1DjzMu_r;3x?((tP<yg?d}
z(59%GVPmdqhDf=zn=T1l0>QQtUBrM+v?HnsRWJeu7O86~IHptL;)1c%cy$M40~?1p
z3TfjPr9tey%YP`^92$XDsYYmB<2YqhSZSwo3v{8CR1?U7xgbcr5(S>rd)*;KNkbZ~
zHa@M@;>FITVc4~%7^66fG$cqA<CedUIKW$3QD=w<hkVVaT-fkh!vke8b9`t$l11nZ
zPz(z3>j_jskXV-s)e*2Zb<SlL3nLKva9P3^YV-j~{eSuNKKfml%rOLnoEX3?XiN0c
zlNN@ElnzVZIKIoq>JB%+lZI9*RWN3dK_{zZe_I|QP}f5M;`D8uI%l>^2GJh0J64;S
zl~w3uHuoot1L6ISid7C)j_JcNh21hC?TR#O^9Tmr1UF41-sW^St!w6uR9tV5!k(N_
ziXA&nDSy+M%_7pWFoG><-1x0-&N)?z$W)DFQBB2Lv~l7wu(j928ba=aYv7$VTPsKZ
z&CVH+LU#W}wPt{e<6rE=r<Z~b2P1J?SI-oi0hDYKt0!WqcNYGMlp$&6w^2UVdQfN`
zAuwJ<Q!1HEtP^~fk#Ld=k^H{n77g33=l6uh(tjBR+}{pN++=K76IKU)=_PHrOo3Ew
zRN`UgCK36QDoK5@!#dN;Zx+}b6V%9ldx)~kTe356Ez(<)yWRECS#U6r;1@XVnqvf7
zcM~Q|LO8a+hGjd#8}5IKfe{cFrgL<6!gMgVvzEo6@*if-R*2NW@I)I_*h22j>%3;I
z#(x2XXT3PJU1&A4OFPtS%Hcq*a6I2%`_Ctbo1MlIbZhqOA1gHI)CkIZV@og!K_250
z^H$U-O;4U?uBGR1AK;M<A`XH;vY3uD?oJcSw&e(L@pdw#2FfMnyV-NmAX`i?$W2v}
zU*~z<B*Eo|xL~bl`BHxkYAh3o*0k%Z>3<ZISx~QcW<D$M5)wUa#FV^{Oq14O>-FSn
z+zB`1o7#q3jSahDBG2;o%T}lJ3xh187`nC-b;i|Ouu5&bb9!P|K|QxI;-^^xkA7s6
z0;XX=r;x&jShcxgDG;ga%nM<9D_1Tw@AN{M9oEZ1CdvzgtKw1sdlnG1JQoDYlz&>a
z`oK%NL)$00vZ#MVa&$K?_aKlSuMHy`;<_BW8dl5dq%EAaTu@yhrGYDBh+83quJE+&
z<zuosRu0v?XMw0Xa1^g?N_(vxkx}{+KEA(98(}n}b#-}BdN-@pMCr^==5OceeCZ2{
z;5S`2s+z0GXO_Jsn#WdI(}>y9Qhyk6_;$hkNajY5a|981t(N>JF7L@m65ncz5bt7S
zWO<9s#?v3n1C}oCoT7SSXh0-koImo+4!Q?6>=;4Bn%g!D{GTNe^~D42S1;>fu7OhW
zcs)@O3K97#E3QMb-j_}Hg+qo2VM2_iJiFO`y_9}?wlZxU)e<*MiF}Yd%YQik<;8h&
zC<Mb*Mcc`-#Vy82Ti6B*bW4bkEZ0g9)WBR0gr0dk7tLXH&AZw1E97_vj4^@D-{6Z{
zxnDwh20k>Vy<Jg7lWL_SD=#biuoFk%Qgi_Bay#+VlS(K79SSN+q74^<$H(Gt1p(Qy
zy9mumcaKNM=6gW5D_NA{Gj!s@|EVNF1b3cik<x~Fq=48R?Qg3WOHdY2{sn6AGLwHg
znEzIySuL&&pNdDMCr9I~OoJ{bM*9(Th*;J+F#5pha)L^P%jm4PlU)hd-3#t;003Z}
hi@Z6Husr|)+z`ya0stBn<_59EXZr#G00004Sz2Ik-cSGl

delta 1918
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
ETEh#p4FCWD

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Frameworld$Meta.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Frameworld$Meta.omdoc.xz
index 5815e8625d0828250cbf7bed52798060475429af..780ac9c58574f888ed2ec00d739fb6c4ff1569da 100644
GIT binary patch
delta 579
zcmV-J0=)h31JnhO83Yk?0+W#)hkt1VzJLA}Qjc8%-nIO7&*<>f>8dAd@<QXTdRmK*
zItF0$%0~7!C)sbx*#v+a(E7)o*7NRnR;b`#$R~{d6N-el&Tk0x!NHpy9HQ83#SzRD
zXjenCU<u+@PHDl(YR6*`6KJ%FErBi-?UY-$5p8HW=b$CV+ppL8KzI-YtA8gV-}(6P
zhhi9Wz$8SZ5bqczk@K6g+aLS3N|}g}Ow=)>Ulf+MNeQs4ZkS=MK3^5<AAj$WxHn$S
zbLniQe5$mR;+;*Xh;I-|U}{9<>mzvMB}@@Fskr0aQ+|w;uH;jpB^JHxTR4u%Fvxnz
zag7@I@9uTMdh9wiC&aIL5`SqsIEG_&2W9N{(8bnxD_n@p%0!kmW_fVyp>b%^SWIIU
zeBqai;24!-I8aE#kY<+1PQwTIeuaSnk>f2yn9Cg!AL+{?Bx!fk6@I1-(OTj;<%e7n
zW#WM*8p<i2t_1DJwZvWFUW)`jVh`GLQDU$dqIJ;A+UJh<zPDN_Uw;glh<TJtUA9Zm
zFUm<7tDshUNoAX|3s}TONBR{AU;l38$J_6{@j-z<#iIB%Q<SZ-+@(2;*a5C@UaBm$
zWc}X-RL`gk26S}>)a0}#<#$O}X|Jr97`8@a<Q}!3V{0cO%nH9tY7o=u9@}Ph(pj|9
zsw!qNOAL=o5R3QV$TX=eAi%0SzLfKDKnz$&UuXqv007ToI3T0u5u^YCuLblX008Lg
RGSRWbXZr#G00004Sz4)09N+)|

delta 349
zcmV-j0iyoY1@Hrq83YFb0kDxBhksXxj;j{#>WC9Hw`4xG5={bl+emEaBl+7cR&9I-
zguAo&au7o(E^4UdJjjcSpBXmTC9r#VEU#WZy0%dlH*+KtOSn>4nL6AzKq7f!*G7Zm
zNA{}k;)0DRno3&HU-W{wrcZsizTtfgQ()C#njB!Ir<aqX#umiEXnZvsk$*x_?dE0?
z&l-<0V2UfgQ0BJb^Nx^UTOL&UvLq`61g4WAfGs_4DGg~1j~ToNtrQ8e8m8e6t=-`q
zT%RJYtvmq_ZgLm*lPHUv#m0+um5>0UItfv6fZ;O5w*%-yxY=7^X?wC415h|a9!~FC
z<*Jf$Pj_0dI`3_^!c!<qj81#S5EJo3s;2|{C1LB`-JapQoTF<@6C3w=KJ}jrR;DP9
vEZzK91$yDmSG6Jlg2j6cpYoEJ00GPcf(`%xcq0+7vBYQl0ssI200dcDPJo=(

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Meta$Annotations.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Meta$Annotations.omdoc.xz
index 1cc3cf5cc1b3c9e1626d798a72799a658eed5c9d..e11b9e79a43c859c1da4ffeaa6baab5ffa7501db 100644
GIT binary patch
delta 727
zcmV;|0x12+1?&cp83YY>11pgojDLOQeWHUftnhsGr6tn=Il~L1D#mPe{y$TflCkN=
zs^aUu-z8e#{N$OKHSm*9I<;qdfZ11Xs%{{<V9Z!4x;YNV#s3t=G+<jcia291>Kq+O
zxwB1P*UV@_i-KuzFd#0QzI;(+^^XyTg9^kU<Fa5KsEd8JK{px`A2MsxCx6JwYyin5
zopGjrQfOyq`CY+Z8Yi54*G!c+{BwZ+XH8GwYy6~zl7`)|MCbWcrb;`8;G{TW-=trs
zgIfO;vp5hy?9|u0g?8kmY$NxEai5y&H<ecz-T^|salz0cdyvd%E2i#<^>ApbA0&ux
z#@q!q@NHjYa0~%=4^o46$bWM(!?46<9H<>6?!T0XMx!=FE@=>4!r|PbBXV2+I*{a3
zy_RWDSkm5-%^#d}tm6{$g}x|CE9MrQp;DzJL*6!_56@5wwL;IZ<#7(OB!?WRQ-rN|
zq@^b^YuhHyt=7LjaKyBb)eh#DXxM6gH!M%T|Fgi9^3-TimuY7mQ-7$vmq4`bpY)+Z
zKme~3BlA)ByO8!ULFo|=QqqVPgi-_l1n^C8rGsS$C~NF@6WB33R?C<YfM$$TSXu&q
zhhz7FL~IrPm2T*IeqLVC>{o;y(a;Z=uQaV_)A1HCWqY%0#8}uzdx9*KN8MSCFdRn%
zqF*nL8KhOQ9q?tvBY&uxxfx--t~<-OA)e6?uI>57BWKmB#_~bW4$X?XmRFlf7jrM%
zcqP32?y36yJfYZ0Iv4@{KI%hehdpKyvJqp#5}zs^q%i?UJN*BQ8MAa(r^;2d;|a6i
zdyHST)fz8R1csxap?;XTfHrU2_}g5RsSy%s%vo)7(ncle>`3%zk^6b91{I7KqjXjb
zk~rKH0c?a`9mBjwp8yVV!rEy=N!{Of005~Yyr96G@>l=?#|HNr007Ac_)4+FXZr#G
J00004Sz1M;VV3{^

delta 562
zcmV-20?qyG2FL}F83YO`0)~+tjDLLhhbqc2^RLLmvt-F4nqFFh4TCa0v~0{bIaKdS
z2=6z_0G`m@2>J{m*M_ov2ZWm7q<fa(R3t%EEcoLCX;tNTn1|#oSl;hw6X!PRHUy?{
zM#+hsBAmH#jqCoWV}MFw+Xa<Z0+Mkc%A?*0S-WMomv*uXB%+n?-m5^%Wq<fi@PiJ-
zl3Q$CoGm=Opmd-1ec_ih>y?~i@}O0LT00)k9q+1@Nn<5jJ;OJlUFUba0G+8Pijwe5
z33Rx13scE`=I|&lpJEc~{Mx!T;z|`hU~6do7j`wlF>$uxrr$i{xi~4mR7`o*B4nR_
z(Ufh!XU4sbW3}Hr(g-Gtbbl&H2c=xilih^wZg_rEF;a`=c`K>)pbe~0vi<>*Ul9hD
z#ulkj5MB>)W5f?S=7BRSmT&!n+I#>^><_<ZPgdK*PZ(}h<X0gNjXJxVZ_k@<dJLy3
ztQIbtRLexQ=YVv;#;~BpjlB+ito?X|L$mu-xAlC!4yFByv}lQ}5P!&QD|22LItIi;
z6oD)hsXwQh3nw8#r4*Qz3Lo2Kk9vI9pxc9^h`6gF7&1R=x2MRiO4d8Fsh9z=<M-@7
zD4tb4FcM%Xh$il8yYR1MfyKtHV2_wb3NqF&3OK9*0b|SLL)uve8p5M<t%|yY>H$tG
zjlM}izRzu{iJ+#PNh1IN0O<2cd_I3h)c^sa1*#MP0EHQtX0gO)`vL#}000D8T7>iq
AHvj+t

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Midpoint.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Midpoint.omdoc.xz
index 48d3d35101ce8452f38170f7c4f430c0858b4d32..f03c131da820789cf2e3864e0a489ba9804b9cd6 100644
GIT binary patch
delta 1556
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
G1X)@EcLgc{

delta 1439
zcmV;Q1z`G=4WJB=83bHK1>lh#et&ogVe~_8KsQ3DSc6O!aFy&NY{S8ws6E0`B9@ga
zc^8%PJL?)y7OXL}mZz&a7(RzQxGe_0A@tx7SlS|RdFpeQAX0))L~{P99%HkCTT7y)
zyQpA851?^peuRM$+=lE@otog>?lm%B1^X+1pO}j7W6=4dL)|o2ou9y^8-MT6j)&t;
zUv#m`lkxGjXnE<7D6&$#_Gl<BX-W<?C^S13Nh2x&P4t#-eHZz(jD=$dHeUWwRgRz^
z(8<*1*`G^Yw#{;Dcu`3wjIK8D9@E^3JD8fc78|Cuf>j6<G<tsArOXqb>pGEf^s&|j
zz?ap#yL9A*@D7)%?VIg->3<veB+?@(ZGf&c#?iWND)Mh6O0UKxL_F6#0XN9Jl5ZU!
zpor$ydmr4HSZqZF(^>gZ4UaBfqQP}Q(rx*iO`s2UVce^eyxhntYo%2dIA%Ja8~5vf
z3;5C;T2lU)oQ0iyxNh&mR07BFb$Rw_tsgjIkTlPP^EWHsLG)1-(|@AeO|~cO44Eop
z+4<&#<{j3s2~H6qo4%OwWI75%FdirR3|z4bjwL}=aq(V6;7b6R@K+8IV5d`lx_XCm
zTQ^BV*b05Q=pPARbC=8(^47#vH5<&T1i$0I_wjmt`hbU+j!n5bdGL56ClVw<2?a^y
z&Xm1NQNDT8;tt<VBYzzFj<WOxIRGd?aOAg!#hNPd#CZh$+!do|i|Gf}b!+__Xsvuv
zED;taK6Ius5#U;cqfP%A9J3o$K_Vkm%e(zn@}%M)T<aERgq}r=&GRWn6o~ZTQy3%B
zBSDOFb$@1Kf-EAj&X5mOiK?D)R17-tQ8i*j2>1{PcNFgc*?+nA`-{JYZ>M92=4axI
zG*j8|efJp@|MXrG4PO#z_GZIHHjUX2=(ddZb@M{-?jH4p!Sv2CZh#l~&+;_sMXxtX
zF!RlELrvb)jnomdbu;IKe<IDMCcO?IAb$RSf%Hp3WbwDBPcEgUsQ$E5=&SxpWqOSJ
z5aj3@!RZO727g|#Kbm=OiaWoVMSga&R5)Y2m9eCPj0kJEAVUjt^7mdR0Zo~1-hn~0
z?{|INV}b`l<i$)BS9&KlA83~Y_#;3tHv?A2|2<YM%hDR>ud@+(o=-K&F|8@!+Nz83
zx@vHWyMBOK{Qd2EV;>ZNjb(6@?JlQ0saV^*0<WrhynnJ-IlfZLGm0|r^|^72dv99`
z_UOOqG=Rh%YF>a|q=f0$4FstEzDi@-saUP%=Cmv3qZ0k<=qz!EvAFgWmY27?SrtZM
z7ew;8oRR$+{c%n%Wvq|E3}paMKY0o?biB-V87v<~j%J}TGLpWlakoOyPcW^zCg;J*
zXOqj$aDS>OyyuGzc%RGtW^GVDhjd0Jt8@JE)qj&cU&mUO)S*<`C*8}&c^Uu1%f9<D
zY6XQ?euNc(DE*L2mhN`h1Z3(KxPK5nw}&Gh0$N#O4b76FDR_luSI9)oZsj?^wX_RM
zgB@5CbmZXO>m$~_O&p-XuL>B5iaWfqP6YL+n19v`MnS%`y+Cy)L(--Hdz=DSW4G9<
zId{AH)jx&|NI966b3%6acTg_Z$f2n2T)o9CK^pGC6{4Qt<Pumye9vIz{Q9D#&4yK0
z2hi7`a4pWr>J{5-dQz=ZUmgmn`upQB&RWr{A(Bq@zbdGY&yJSpY?$F@N9k?6HUD49
zFn^+)eC^HIY^Z8!-4U)nKE(GWA6`hA(|W?TAjcJ*<D#%D+s-MAx`1ZoFsbTOi!BX)
zHe3(nWK@ThaV|wJedAHZ52a!vbx2&0_H`Xps57?E5PE#q;Jy=^y>{&veDRvI%DWIH
tI7h7QjGBc205h>R3AMJajsOAt3&yws01%xMrB|`UXZr#G00004Sz4~D%Gm$_

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.omdoc.xz
index da09733b6672b342a04775053ba91cb1395538a0..4178ed545c97fa640915a6826366829bdd666cc0 100644
GIT binary patch
delta 2235
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
J00004Sz6-#L`whw

delta 2102
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

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Supplementary$Angles.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Supplementary$Angles.omdoc.xz
index 158099d7784d33707b4c1a4a0754e097a3f9526c..aa5f1057cce4216a00b66e7ed310f44bbbc0c0a8 100644
GIT binary patch
delta 2120
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

delta 1999
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

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Scroll_$General$Problem.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Scroll_$General$Problem.omdoc.xz
index 5b56b32d575c9a49378c6f3dbde10356542d6b0a..d1be528881f9dbc458d810b12bc1acfca323e1c8 100644
GIT binary patch
delta 499
zcmV<P0Sx|_1ds)g83Yfx0#1<~l7FR@T}m~i){T$N4NQmVYJWrSQ{=v2S?ymX%s_P4
zhlhezF4GzcSM7ul8e)Sp!q<pt8R;1BeA1ZFf<lj;ir_+fvUY@P?JDGY^p{g$K1**J
zH4i@T;2UaP{Qy7>E@ha`;iS7Qqd72k$?X^Kq)B#DiHTZth}<L);MYM#Y<~z$MIs!i
z;-}pXVqT-InTRxV5=F{8dn&4!2iOIfDG}F}xD3IjCTy@Z1oNCH>g~YwY9eE+Efqqv
znVEOczfD1+g%*NN7Nw)(LX|QIJ(zVcf;hxGAay|S510FORtYrg>+Hi<Od`;V7#iL;
zz#hmmUcWhC<OkyK2RIX?Zhz4rJx$d=QzQ8du|5l99RJbK!(>;*b{^91Vu=myq}!d+
zHoY4xWhr3sNIkB5fMvGHh;X#oy7**_2B^_Uaf?mJyAq_$CRP^@)NP}FmSFd1r@?hK
z>4s<b?e;iai^Jkn_oNAy7~U&c7mWxD=?h8bfQzV5vAnjW)7Qt2reur|$YX<|i&$uI
zxPb1u3P<4gu@LA9fl$)LD(R>*0Fw9Ob;YLMOkp4-SJnTnonhk_Yl?@-8~77nv?%aQ
p&7&m%004P#oGtigT>=0B>IAwU002q=zvQvRXZr#G00004Sz0iL>~a7A

delta 378
zcmV-=0fqjM1(*bo83YQ70o9Qml7FLOZznm6pY!i>;ld0Dp(Ood=H_0s0W;I|Gw%05
zm|Gx15OE#7ZlTLfjB6Gr{irDG!yMOnc895?3!-ulD-Ao-ZQRoWFCoFSxf?a%K^LrC
zKdIK>a_eyH-{ek0W&GWyVfr>9J;+vMU?ZU}>$hM$N)wmJdXqg4yEiq3rhhpE#k0yF
z@hu$1lw6Jy#AWC;ck|_u3tR%-nQ^3wS1`NV29h$bu`z-MzGfu>4lKkcUOAvb!yQP&
zM!4&Y#ltJ2nJ>Gt*6?)1lq0VS8)felMgI9$bu02N6T@EnEm@CyO@3&GbEI4<wM6_e
ziVTBra4qVXT=Nf$a!W}IiEEYq2Wy3N*CeKU*5S%K?2eErtxhW6W4t8!lB#b8nkjHt
zVD7Ck8|se`LGDC{&@Sn9zf)zF2w9Z_y6vJLb1?Yr+7~MDrT_o{0A75V)4iq^T>t^`
Y1B(>^01z~eda=Z3`vL#}000D8S`-_uPXGV_

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Scroll_$Right$Angled$Problem.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Scroll_$Right$Angled$Problem.omdoc.xz
index b5a1e9adea1d8a5cbf45e6e9225d76ea199ec2f2..727d47f424ded2cfe1924d5558c6475c20a60c69 100644
GIT binary patch
delta 879
zcmV-#1Cacz2aE`i83Z9=1Im#dm49>IQ>Bp}N`I+3&sH_rEgAJI8)*>FS720;w#?T#
z`Dk@Kng%<)``%RGHsnk*h&m*lvyt~E-i6U(9YemucmW#uvPFKU%!W|wHN!yKwa2T%
zMHUwj&h3eJ<1ZXAIE#?|s!34lcj5fB0Cp=NcOHpPG42C+6^&x6#G6YD8-JwI+ttVa
z9nFjD8<&)^bTIOq8deZq^c=<jlqtwi5L}&F640YtcF6CyfUL2a+&J+SO7DYnXV+;E
zA1(-~Je`IYJI``I7VC5Mv)$PD?|qsxxZxjQik)Ya4ic0~YJ~=i(bTrO%a7!ae_;-M
z$dH~Tr*g4BB5p}e*yQdR6Mx37K-5XWuh^~PX7*%|q0NV2H{zy*M+QR@4&1?}(WjaC
zPOU59o&fQ@j~LyN3s{4ChCO=74vxCZMKyV+BTAowAz5ea&YmPNy<Q;3$K$V&`j@yQ
zd7`n0C~M3>v0CF&0jqmZl_amNT47AAQa&S1xBG`3HQnil_n8IJhkxdE#{0@>4(v2m
ze)JwT!k^0*evw(TOFY84FH-85ngczkr8q4`U{J5)dPwf<P7o#C4uBHe`p@E1!`B?a
z5?|D3D{T#SaH;!E@u6<+?{sH$Twfo;uM>4^{O>QztTZ<e7%NtY*!VT{D)KCvS93aU
zOaVai#cZ{gi!qmWOn=1ri8okPbz7j7oB(P;rZ#+|){RG0P)0G>6D>zlOogmG0S;+m
zo<%mb7TW06!q2nqP&dU9m4PDVBngrf5B!Yb8ngGSwiOQM*?ALXJ0cV0O|on&50W8%
zh=1{0^!{(oqY35Ueyx9Tqz3E$=iRQ>Cy$PYW9!4zS-eSy?|<-C_Pz`_K{ebVm4MVt
zeV(ANd%o9Eqq_c?F#MoB_}8w@pt(;1w;BKwz@7=par)xCS-U6Ub`YLpibXZpAp1u2
z3YdtD9Zwl|@th@V0+8#=hjh&s9T!s+?Sv-raIaS}+)UfE7YwP5&#S5><yTe5Hcbr}
zX?Mdl+*nsxgJ4_ly!-2(L+E)_m-B2E@mgrDi(yZGq`%=nqL!!gd{Ra8Mu?2Z)TyN%
zPbM$e9!A_rM#NSpJh#MQ^<cpO003#!j6>KK>o5QT<_F?J002)Q0KT!rXZr#G00004
FSz1R%u`B=p

delta 782
zcmV+p1M&Qf2&@N?83Y|318k8Um48qn(Fd-9W9D123E=w<b%$22NELg|AQi1q-uV%z
z@g~kP;C1f@iHwLi5@D~fn3wlwBy5v#zr$w<vbc3_zT~BIGa&L9j|oDe0kryc0aW&;
zFY*p8)vfkG`qnXhw!c3<dwP5s!ba&^n2E2E=fkO8p!>c<WMq={$F9*Fx_=Nl*?9QE
zBS><%z@LrcfpG(&55aHqWz-|jfzY+zCGEa`2sXq&^hLo>L8VC@4CxOpC!~*o+@ve!
zVtk?r(+e=JJqdkmL6OS)%UrVg>15s3Qo&w7k;UZbZ0hXPbPv8v!X-E9l{2uM*d!@7
zc_i)o3Nh=I+sBFe$)FSnGk=zF$v8S0aGj7L%E%|GTH}#QMbMmuPlVH;K6OkkC&8oh
zZbg=x-2=XRMylg{WA#)rBFb!Ie|2t9f<>DQ!Tu8h@`Tj4uT@ipeE3j0{f}%7R_CQt
zjZL#j0J9A*j#{B)b1bx-j(+BGsbmwF#sG=tZ8KYJ*(=FtJ)>{ac7MsVh55n6PHnZc
zo+LR-j&ae`A#h5RE=hCzfu~boP%kne)JbwR@@exnu%AbjEkO3^s#rIbfCL#6ggTD=
zekP9j`wkbg+KyI(VGVJ$KLmHDBC`y@pPJKN>F{0L^Aw2#6#f$qBj5Uwup)-JC_-u4
zaqyl#9t*c@o3rThfqzF_J1moI1bI%~UUweQoZ8}L0~hqrEhb@3Adj8LXL=4mG!d%6
zvao~EV8#xNgLm<ncT}DKIPXyxQ&>)M7Ih}}A>2mLnl1>t`-dAlk@SLQDPKT6z#i*v
zJ*^NUKF8{_ba1|3DZo@9{$k8q)*3me)F1+a1Z#F_^;XtC8Gl+GxO)4Rn+Hb5sF(zr
z2HE}d-2uo*MjD|e^Qn5i{g(}Uhr0(ShczbK1wFCD#P1ejNA_Bd&o>|M;$$5YVno>y
z-K2TgP?`&U?Tp~c!UmcN_X4%$i-J%@f&F9p0FOPs&q<`*F8~3E2cJ3s0L%|bPqD;j
M`vL#}000D8T0%g3oB#j-

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Close$Gaps$Test_$Codomain.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Close$Gaps$Test_$Codomain.omdoc.xz
index 9a99fa637efac2db63ae26a46b0eec372ea605ce..85e0225877e29e91348ba044384c93bddf54fcb4 100644
GIT binary patch
delta 930
zcmV;T16};!2gC@F83ZhT1Ot&Bn}0q^*^4!XpRNhyIVi{ULT_^Z;%fk{Pbw9OMYSbw
zx8ke$quGP-PJ*bk-%QmFP#<N?j9de1tSaJ3<$;8~7PkPk37%_MkaAT8QCDy6EJm$%
zcr>Y32ONv;I5;u*96C|NY$E|R*pwvOIosnC!=*c2cJ&B<$`=0v!Fr+K6Mq0uy!o=M
zH#<KCxv(+TTU&LUin08_<k>hvAA_|(lOw9EM;soi2Fn~xWV*R>qy>!>Tg~lc-)SmD
znZ<Qhxy2<o!Pn=C89i!Iru%uF#$WG`hQte&oW_rrz(5+~CSX7$Lw78=9wkE8S6?Qz
zZm{iFN=At*!o;<j2a`Z04}V+!G~pl3tRD)~`{X>#kZ;<%5w#yg)t)O+QTu~wJCp~U
z*jc%yGrQ2mK3|Ze-`LGzffo^<OAu#UR(PBi1aSL!P`F*W@=A7s0Cjx(bg`a)#O+Uf
zlS_J6H5J1fjCgpJERs8zNx_`*1$20vIu-9V{sG|x-0XskKviCgw0{p@hlD2rT1V|E
zBzxrpr8UxqObwA@-)*u+O?!9%{EtlNHd(q~^^^FsKz<lFzvgyJ&^rRNWWK$sAEW_A
zkVrO;()_!K@;98no&AO06HOL@k}#IYpG;AjcjV$bU>WWX)=HE^i6p68EU_frfAFP+
zca^?HLCMDd&5A^osDC}qDeFaa!u@@E@E$7ASwE0%DfjNBQX$tXggYZwdLH}zqSdiS
zO>D_NuN}MpJ68a^VoNPpKqTK5iNod~5bf|RNoP_~A3oA6Z$Fyb?;y91O=e|izB!K?
z(VA`+t(mEk+3y)HwS>a3Fk2>I8uDROTBY+^ht1W5D~8A~mw&fvu9v2{<RK+b@|T}|
zAXp2_)#n`+adP!;x#1P^M6IIf-p09-S>vfUcrkdpRu#E!VE7q_DmPyZR`XL3gH7pi
zuEP^(<8&&)(dg7pc#Dzp>Q;lpm-PY=@xtU{=7*sdUUy}cCGgTGHzn$qfSLcE))`M0
zoefqHmzQ8w8h?cFu)*xW{TWYcw^KMaqUFG%=TT5-C|ixo_-{{1?V>61NIe~s43Q+>
z*FVU0P4UzK$pcg_YXP&wrhFslEpxtg+>yr@!|Q2_;N#iJglr%aMI%6{a>jv&D3Yso
zrQ1}(Y)7bP-Ypt2lQnwBN?HH_07kiiWn=0-00Ex}{}WgM0CPgWqp`$i`vL#}000D8
ETE=F;i~s-t

delta 829
zcmV-D1H$~o2;c{h83ZZ|1D}x{n}0eVZW}}r-9myM{%Qj0QF709%-31XGq%S7(JKGI
zBGg2~bHUO&W*zgt8i#P?)V!FQ$PHYC9Wq;&$%{$*)~Es41{~-)&<zHlfW#uxQBcau
zY(4Z?IBhd;)!)F`5Q^&&TXS@a;V3nih$E85v-zpLWc(}p0Ue_mF!0#;k$>;E!x+jH
znPApZJ6EqTVSNBSd(nGRG5h6Y0`M~}6*usK1@kH}nId;adyw@n^5@vsNE-dYQ{B$`
z>kT6Y8~Wm#Fj7w!OzJ(@U_CPu!h<~6u5Z7FCf1w!2frgE@;=txNqFaoOHk)4Dww%k
zHYdpuohh`~_B&DTlJ(LFXn!Evk&ogIy!R?$S8Jm6{NR6Z$qAqX&hQ<eDO|z>a0>~*
z<-zS(LY7hA@TzH_#tp$-U3q$TcWiD3ugJ<0blNKpQ>L!<H|Nb_ME3-6`pK=*xW4@P
zo+hl3y!*p-!~CGvgO>TK!~B*>ZRKqC=VKJ)NLzUF=l`dh{|{wko_~W_xQ1V~mqS{x
zYeb-tTI%dWN>*)+*@wc=UirIjFDKb(y|X330{6I*xg2oVG?1+Vn~WcfsAPbTfQUHC
zI*T7lyQ=^8hHsdoSt%xrJhRg67kS{V;o)nrXoq+^p0)=btHtkFFb1Fw^ZhhU0pudY
z#|s-h6#={hAmlXMdw-HbS(;0wXJ9JFp*5c1>f{4uJQ^CIay{E^(4T(QTS(@#3O=&0
zp`F~w?;Of-#SFFve`gFyUfRXGlHxtE_U|Fd0ghlxFqeoL;9F^<{|e-e%+8yH?{!!c
z^GInCa)PWA1S7Bh>km$`r!N@seLP;L*jT|QA$<UiQ%5=Zm4B4jGPb(5f$Em_*Gm;X
zLf_ULQey&2y>Ze~<)kyXk>bdij%(POK)P4KbV>p{UVPQuN%b1^XjF=Mi=0UOb{Gnk
zP5=Yy-;EZwSXwSSZFg`e4O<#9R|#6ppbi|pjckaC|7?TYW72b7&Fm4apW4}EpAV|R
z=T7Cvm6{PAVJ_5yRif-KEgifuQ?&p9dQP9^l;8{G00FxPj8p&slw?B9vBYQl0ssI2
H00dcDCB~k7

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Close$Gaps$Test_$Terms$Notepad.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Close$Gaps$Test_$Terms$Notepad.omdoc.xz
index d4d8dc7fc1aed68d20f9a7a09d8171bfebc3fdbd..25f120306c59e0c15ba0449253cc425e892c85bb 100644
GIT binary patch
delta 838
zcmV-M1G)T&2kZxs83ZJt1FMl8o_|tIN;z_$zUz8qGX)hv;0m11C+3}P$3TxZhtah4
zuXu|y;vx7EsGH0UzMuaMJ}p|m$k%cWlw1GRZ)nwiw3<m_Dnfsf-ybpGw0CBYE|~9b
zf=I#eg322H+dxxlwfSjcKEJSV-t&_0JPvZOo@+;^vhTDTj}G87h-8_xv44xzh=jkZ
zMe9BF4(HV+8&$h-GOXk2t{AORtiF|#RfrMk{fS%T2NY<Ag?B!ICL6vtv<S960J9a`
z9CEYP3E<8kR}nUhff25Kx|S4FUZom_z)A;a<rCz<z(W#~I!6Y1g!{bCu?Qe;xxyAg
znmI`BQZI7(2zV}z`~T`cZ-3b>V%TV$j1AjaQn%8Vkhcf{1xe?AW0b`KWC&Ag<C5|I
z@7Hjr`W&m4ze%o8amP|lfPlRXL8PU0wC<8BSmg!@s^~`d4XxkC?)vN1ZO??%;i`x2
z-;4c!0oRlTqCX&_Z63WmCewL8D)%{wj!1>G){_J`)J4>XDKifOjei6MV(Nmu*uD&q
zlta;Clu?eziH8uxvQl4l#(jJYx-~{KS6}Lf!(IUVUMPA^pPbEi(zGsYJhI)$!;el?
zE1JBqB0at(?(`y@)e54kVZiRi_>hxs46Oolxmf0dU|YW0gA*V1Eqkv)B+Utw!vM=e
z@h?NZBtg4cf7`!%pMU$siMQ&y5It-R${u>lujaxRYlcD-@K^D3-iZeBG2(b0JYd<R
zYL~*HP5y3kXInlH<AtsubP>bnK6gL<Kxq)(mg92L>gJi%?2FjnGMH>+ckDBk38Z={
z!gNQhHI7-hbT~|SuGZOv%Uf#|K=prs8z0$h4IcYF1=#b++<z}hsApcaV^Fh88xQG3
z)uE|$U!rdjmFEG!&E0XVCexJ^9R-3e7~oQd0e%pSW+Y53f?Mu(2mGeoq^H0DWZ;e<
zgZ#D;p*MjVY*ypV2kBZV<!#;Q^IS@Au0_2l7}KNxu`A8$Xd{o@81yeh!CEWp$hu%$
zgU`K3fgV*Smp7W(h=wK(_toL}UA?bpR&AQ!Uy$zr04m>Cm5wYd!T<rs2cby-0PgMt
Q_p!uh`vL#}000D8T2Aku?EnA(

delta 737
zcmV<70v`SB2Z#rd83Z9g14xk_o_|cht-rtDyJfFw>Lo)0A1uZjnLE)N;7_pTKsKED
zh?G;3{1lP(wEdsxw;<5m_eW0FP0)<w!KWVFaW{e|6u{1gacrn`ca<w4urkG%6XLSK
z1O6=?tPc0UN?}(@NP*K5z~b^wcJ(}>f21;Bzf=AOc7dpi3kD5@<zpzhwSSHGoER~2
zS^qvCT}u~Vkw42r_voYOeN6)cc`1-jYyY~x>Rln{gj)I(>@zV%P2MH0bx{UgPC~Eu
z;K<bG2rZhoR{(a^1%HOIZL-6B$4l-Ql)4ZwOVqPUY{XfzRO_5Fnmw}rx)=lRZX>8v
zgX|_0{^B2DT~iM}brIyOLx0}uQzS7t>Nb#Ex30Eu)O<veo9_edS9?hGK2lh{&;$8*
zS}?~~mja4l?Au^p#FQGb2}M$=1(1{KOV!D_8Iqt%cbMfQCHxh&CbGOh4vr=2G&?WW
zA0o{^P+yuu!fUrrVb3TfWESbj561&IxdxqR*(A3D{%O7_lFyrLP=Azubb>3=`UsXq
z^jDJtN46_(5Ro!oU5&1>x9z+G$$qRI##jQ_yN?~!siIChvKLcj9$foT{~%zcF_<9=
zh}n0vs(WU5qMT=)j-GbF4R>~iXdeg#Eyf`~r$0c09hz^VUFr}&^>H65O$l)5_;yWS
z%#a0Pd>jmBO*G;npnnR%{Ffjh@R8GH`g!Y6*0G$$2y^6q?weKVivwq<Yi$8^q=y$c
z21KImg!r&J(u%P?L?kM)=H~*ek-BctHzDbON>@-F*!PG3VceEGVsnM&*R+Fx<}<26
zs)B?T<{(Vw7)2iU=6;}$ak3#WsLHlntqj)ZbWwBhKE&Bx-cogkKSet5UzQ$H=D&qL
zXy33AM?qO`Kqawo&o`Yo2nUDUHqX}(w`SVL0fKAidddI*NG1~eeZ@NG00HC%!a@K5
T$_JWmvBYQl0ssI200dcDApu}W

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Expected$Type$Test_$Codomain.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Expected$Type$Test_$Codomain.omdoc.xz
index 70e687eb8d08c92c95fcca20b1ae0cf4082324e3..1062d71ff4180da0d295feefa91654e492c0354c 100644
GIT binary patch
delta 695
zcmV;o0!aPn1>6RZ83Y|N100bZoPXLCG(Me)w@~`q`p`(SirdB(<wE(%X3J8@W1>FA
z?RKXeCDt#z`(V)ifLFDyTu!Bq>N$4>wCy<aVVME;k56gHHFS1KFdLRrTLRH->}0>t
z)l|Ts&l@9Bf=^s(1sLFor6@fxl6xum7FlQ?$Z-X<jmO7@H{2*WAQ-@aoPXv(>Lx2l
zW3R1Pn7@<SJU3~wJT&>f_4%=+yd%Ro0~N9}1D0&&Lj&&qg(VjS7l_(E$1;gl7`BGT
z7y%AN)M@qlBqXF^Vz*Gx(I$?tW=tTH{<r^-QynTduX)-6Okyo)rN<P9YVSbi_j|vm
zQ8rjc3748g*!`lwG^-*TIDe{49O*`NcmbnhNQi~ZK077f$XA19WY@W;!ggvAt-xh%
z;*)i~Hv5k6Q>cVvlSC?D_SYuWf$+4XXzI#5n&=1+ND9gfRsQ$B0EV^Q^AC~Nil!cZ
zJ%9W!R4d?<Me!WXVKYwwOarK$@jg$1(82GKNmc$gPO<)qs;&8%IDcmnZGaBoPTxNw
z!-S8vG-aJ0h)YVUF*6LvO-D;GyB|Wt!~JSjc}h?)ITG{v8I%4T)VKfdlNy(n9F>Yd
zYf%US@q40hAKO2&japgsF5nDGddN(5!iAugA||vH=3^rNdAB;syj{uIQQKI+Yp_cR
zYz2kCqlOCu*7<iQ8-G1~<W@5AUlZufkM6o1tCV!r4P)xFYc`bAj@X;Q-n>@<WqPv~
z1e6MKo*y9U5`|ff-|Llv6lTlHGbE2?Yp9x+U+Aq;1uSZGajCbw(Qs%G9CYWw%rTyn
zN_B-d6sfl~X=i{b)Cb+A=k+VogR$xH`sZd8ybGP~zhos-11S6V;eB-P008@_KrP?=
dqGA96xCXO20037px16!WXZr#G00004Sz5f0QLF#}

delta 578
zcmV-I0=@m*2IvKl83Yy}0;Z82oPXK(OCd;i<(0v2GH*g>r+{y0t!EK-3FdolWEHFk
zos;JtVPs@~`bcwQA&wd<tto_~-8r4EjrybDg4fezM^Zh)?!0Z0)u|8lfkV`2|5etE
z=&xduo(A2`-dIs&L(B*3E;)F1`u1i|6mne`v4Yl@hZdLdP{pY~)~&yNGk;>}K>yo$
zHEI39)ChuZL1<hb<M40NM^c3)@7y6!{Yk*1flBvFFAu=n;^Wsjf|oO*L-=lGtT2j|
zlkh>9F5wNpaT=x<R&I!Uj7g;11N-S;Dt9&uwW9%W+z4#FsPw(O<xl`4dA3|(^U;EB
zx2&x|vxGL|?G`tHO*V7lr+*|JU#E<`NsCg{5NHGCd#3jy=}|du7t}rQ)$%XU6T=1x
zQ7I*$plwO$@-X?(uAoP3ng6);g5bhny!fXgBG!L86d4*#A-^fe*=;k|wod*hNXjs!
zJI`=KLO#5;+!)Ry8^wbI)WVo9=LLvMScRL;=!h71?O;)cixtE*LVr#%$-;g<BF2#h
zI2Vj6WGA558SW^ON&D2u>V&145Y&Id|7|c?Jt90r$QLQ~k>3ZdpfFUiZl*f|hDHRf
zrDsV9FSeJ#o!TgFyH%QaT7_}-xnvs7Y?Hz*S(c(<bh$i$Y!*08I71y6H}7bE(z2gK
zR~UrTCU+4A1DF8#{4>)^2O_kmg>JNNz0k8VqyPW_0FG(gpeoCccK`vx1)(ee0QMyn
Qld;5S`vL#}000D8TIX~Wm;e9(

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Expected$Type$Test_$Domain.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Expected$Type$Test_$Domain.omdoc.xz
index 88839abfc4fd6c90d2d1ea8be11e86424da0a226..31ac251318b6324d8b938908aafebcd8a7008f48 100644
GIT binary patch
delta 740
zcmV<A0vr8|28aic83Y{<14WS?n}4|zSY|1n3yA9$YFaRUIqAB<4+GEVxscYtr$Npx
zSD>}YAovqfmPyJ`CLr$V4)1)LTa+xPle;2j^x;(#W!@F?7~phYNv&In=lh}Gb&F&p
znHoh7&gNih&505g87V37@5%=i_M%N<b{=AqUupAc8$<Ox&iV+}5+EB@h<}ToR2u26
zg+BCrO<r|xo1btwyzVJ?@Ti#ohC?RI#h!qGG>^Xqm_3*mE6=Xa8mV+S5#>?ENJ_)4
zmb>gse-%U|!5sv&zj7Cu0ZG*~)*q86G9*Q=mq)%Y*NBv!#I#O`BG@hLlyl_pFw+U{
zswc^XBgCKA(UKS>6Ha7~Ie#<K&5)4GAMTHSc<Hb1$ruAaG*R?&80CWGGk)fDB~P%8
zO=%nfjY}2l6-LI8r-ySJqPE-Qmn44v3vw68m{ICL#E&0av&}4$$F(@^iIw1}^N=d%
zRvg5q2&8`X+QGULzDzxw`mSO_PwE)Yoc;O|!T8j>>{=B78*uDg5q~8@Xj>&RUNaZf
zM)@#S->{W1TP*w-a9Zv&NQ`N%x+K_De75On;=yggP>;8MK;JKHcd!*E!J~E8n7gES
zj-!nM)b6cDGtex1zm|5h4lzQi2(;g*Q2n+X;}Y1`&B_53`4G@xhiwQ_@|YeT9Y+)q
z9Hg0OEjxFyzSP&_I)7;bCPnV2=XXjU=M3qIp?J+%T*ffuUtr5aF1kEUqME1qff(aH
zYR@xlU`a6)CcGj&BV0y{);G{hj_HEaFqwTF<b8~h$t)(a*px3(JiL2la>p)XnwOHO
zDSw+<9~y`dTLxYUddMoqI}kFT)dGRPe+%4NA?qSyZh{F<VO868knR(CbL?<F7SaI;
zlw>9-P}Tz+YvNqKWS&_Ly83?6P%HU|U2e%~lw<AeWQ70#0002t;;>gkUa3d`0pSLa
WIsgE;Xt4#c#Ao{g000001X)_XYg}9a

delta 615
zcmV-t0+{`X2aE=g83Y#T0?d&en}4^8n$vSbed*!CzuXW5#@jT=;ejev?mvegGMSay
zpa*X<W;}J3Uth0WsliFvvmFddBrkPJ+@g+IG=Sb@diFj=!O&%Q|FS`xQ_R*4y$zS}
zE5nZXp}O-d#A~2tha*cpNEoQM&wePxH`uHt{XMGc=?ryn#gQNl+(W^tTz}?DL3q~_
zzI+WMeRr!ctI@e2?Z5Lx8apw(hgsOB$?Ox=e=*Kd&5srC=eHyy4Ye>;uzE7!<G_OX
zh?J3lwYbo}WZ75g`^tLrSd^?XhWjbc#?^Z%M7!oYy&>NMf%-)&Z!aemSFiv(8^FxG
zILsoSbixFS!05j56ktLCXMZn6E2hLa>w#DMoubax9YmbD219090l;BAzXrE5G+rZf
z36)U0Hr1IRM~X(bJo$??!<Nt00hzpjNvE6~{n<fHT1+0BZtJ5fK)lPno04;#KW}h$
z$0Q~ZQT^%LgubTsu9N;r5|=-kuB2f`VJQc-ji8&)Q`BC+o_o9==YQa@;Aj`V0#W)_
z9N&%NpC1fmQ{Kdmjy?CD>QL~Fm$Iq)l0F@G1O4aLp`1mpv_t$xsPn!dLeeZO+9a&p
zHLjS3QMq0;B))R)+^KQpyM#l+?7jJ3jWRrftgcZNm?&Dr3sW!KlxQksRPo-c{wCBF
zDU`wy2;Jf?#iho2vRJM2_`TMwmi^T_XvXm%21PZ^$5l^RfN^4s#I8UnpG9VYJie^y
z(f`!6shp*<@>4H^iy1*N?f@ECD^09T3RwUF=mqL6006DF^?0$wXZr#G00004Sz2m<
BHjn@S

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$My$Scroll.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$My$Scroll.omdoc.xz
index 5128a06d909b5212142a8b93ed1b8682bd2dc144..3e025021bde4bd69c887c3538693b2311fe2721b 100644
GIT binary patch
delta 573
zcmV-D0>b@-1=IzQ83Ykr0+Nv(jelPoES%L}<Y3HYl(r~_1fifTzsKj+e7$|ROS-u|
zxE$$5H`L8C4$?|SSi5!WoN}r#ep9_`<KJ=H=6k-9v(V!Du)B-(#Q;`@`#U(*aXY(7
z)bJH9FqW<&nyx}riI#7wZ6sapLCdn+MRhC#T-_6qpMjzz<bvz4?Zoh!+<zzLEBmqo
zXsavpQl$=1AL7|qAf$a00gkf$=cfxiZ%Z!6oo@~4u<(B(EQ-^Ym^DgGt=WmJw~KrG
zNORl!R*50Nh%;ieg%)Fl?O#xuIh1FCH`L!W%yEQlm>&uk(x@Lq#DBE83NyA8qZT|Q
zRKc?L->C38+OCT`%FooS*MF;rOq$BcLh=w+7N<-2neiS*_%_h{vn%Y_#;MZEn&SI^
zYtU{uQczcw%_x~RGsu`3So_#_$>S)es-_;aE+yu{^+CTmycIBtNZ7@NAkqE8T1>ZI
zsb|ws^s=Fs))rONya%87pl<CdXR=-7elM7Y;wvq~($F%R8!nsa)PFt5NMk%YMvuR>
zK{O*xDeeU1;k0k0PoTO&Fm^Rpo4sIf=`%B8-QYRuo8X#>o7_<33rsmGxgAyD^y<vU
z8ny0p7aQ(#J7x7|amf!a;Dn#HkI8pK+`AD0-8(3_CB>)J=?Yn=4C{HwuRD$&>cGi%
zh1|FSQfQ5;AJ0}SA1)ueXi|X$I#8pu;Q#;t5Q=7-)DD$X00FKA-68-0`Pfv)vBYQl
L0ssI200dcDMw%ip

delta 492
zcmV<I0Tcez1%w5V83YdI0zr`-jeqMEsp6Z=fHjC;)J$Q+@6>-@eYAGb;#wfdf56bV
zTis$;7lgIO<B<;k#?RR#cZ8kHrXgSA69^2Au(O!1&)w&*_&yNeGLzp#Kb6x~wRAJf
zZ~4-NzRzK<Cj-%oA+Iv|d!yg!FScu#R$6iEezd3b3zfzrJ)amleibd=E`Ma7Nd&@q
zYM*E50Ckp&AAyK1@L0a8Z*u`uK}5Hvmn+;z`LJq1y+D|=K>CS7!YJJ_aE_Fye+|%R
z$ykyjJTKMCyyQH^ysFO;TN*~Y2gk+uGTGNgSnyLR#-v1TXNwwWzs|5ym4FzNh)h5`
zw&e7Tm??kPGk|y3=#EX5s(%Y&l}U2Q9ZFSJ>1eqHfscl$(J0tKJ(h>y8WpD|QIA=V
zqO<cLdh}tOIGGzt^{$y&+BsFbd!f7@9CQf|z-9m*!SomTo8Fn-b@<4q(JhjR%!-6n
z3fs6zaITc_>0G*Yyt*FShL0Yh(^|oQw7kB(ltcada=7)hdhg3hwp{=KJ*MpYQf+XQ
z%=?Q{DMo6T+f4qQN906N53x2%^Bdptqwd&TPDfpO3kF3wsBb8h71*%&#1{Yn0002M
i4!}F*zWgBo0o?@W9RL7MG$Y5c#Ao{g000001X)`Anf68i

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..449e4c66f594d1a53d10d155eb5c4e2c1c98f322
GIT binary patch
literal 400
zcmV;B0dM~OH+ooF000E$*0e?f03iVu0001VFXf})0*(PtT>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhpXt+0$s1e`N6NkaN+jgNHw;$j=p}q1S7?zqDcMz9xixxJ7B<`#R1>VOQg8k
zcC(zb({H@6j#iRYIAWq~NkCcTD-wjay_VMQAZDF<-coSxiImK!aM3L-{gT~U2E4bP
zK7{dHXT$xRPra7lek9$*7n@|}W3HwAi8s12*C)8Cf4XUPN$o!NRL8M)X<WGg;|SJJ
zLf7V%%uf5a+TCX6uPp3*19E7fCeYntaGkC!>sgQO^b9o;_qNkY5Tr-|wl9(tgD@{@
z5T(LZ-Z1=!!_!ExX)q$%^Eo5wbB8mPV)x`@Kg4_%hyvixW_W%<E+{x^a_WEcUsaE5
u28#wvxH64nOaK5(OLOVe0tDdz0qg>g1polTIO1!u#Ao{g000001X)^c&ca>*

literal 0
HcmV?d00001

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Sample$Situation$Space.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Sample$Situation$Space.omdoc.xz
index 4305ebcd23f63fbee7f0078b7f653a5e18f36e3c..7153d5370280c5cd6877f518fdbcb446fbbdeda9 100644
GIT binary patch
delta 1623
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
V0RX@7u!6C~XZr#G00004Sz50{B^&?%

delta 1571
zcmV+;2Hg4V4Y&=E83cH=26d4glYdN#o&>xfL!TtQS@rO8Q1fwwlgC;(^Oppp@Wh(q
zl2UgQzuuHGlfh-`zZr-{N`nrCYkGeB)~dZYP0_Sxo6vM$=+rY?rMzWuEWdPKw8C;i
zKLWncb<G}hCNRH4pXB`=P2df;(0)j$#6B``iAWH%XOhdM5kHYQNrcO<1%Hx4Ziu>_
zGbe+b^@<nO{kbM5Ic!?zupiC~H~9@YSY=pv9O#a9)TiLvN;xFLdd4lDHa06-*ELhR
z_MN)^w_9>L@Cy$IfJb=rlL+C$Kjy=7se?7~TN60QF)NO^4+Zj{?JbafTzFOepBTK5
zy+n`x%Cflwa)49;WMATcJAVjmqP|x}D?cUkx2!rgvp3rw^o%8E<#M;MB~X2N#p1jG
za6kNO8A}A1ow^h1j`NIG@{?t~lot^gcEqgNqi>?N(9#*gsx#MiL|{)Mnw-vTY5bBu
zI<03VhL%(IoQ{>u-|v9C^pH7c$7Q8zqtt=~s*F8Hktxdi4;!ZECx4>B7A>b_^?@dY
zh*@jXw9(hj0%f$~bP|tXwH`R&x~h|VG00PUh&W+KHP~fM%PT%(r~OewuJDmFx=NPv
z$$+mlqm|EAz(0a*jW`s}V<s$_gSedUN<s`}uzB16hQ9oIc&KkA(!DUqbgb><t0x$v
z_Vo%bQMhrZ6!_g;@PEvR*^Ztd>J2?ZC~k4Ga5CSH00zt-cSt1&jpSN*)9%&hX)<c|
zpM(f!qJ|7E8S(c#0(NKiwxcO<Tdmn0+I~c0tmJWsYHO?ngD|o)B8E1Inu%YbjCbps
z>%3qt-VEohF-m<%g^|nStbbC^V@rwEQbq0N_O&76Izax1j(@xVmLRxeg-&AccvaT#
zx@jSE>ZcPs>R{evk^kYZPWQn!!_T_Rx4h5b76RihJ2KdzwB>Q*Vju&5;CH?VnJ6iW
z_;ClrcMWv;4HwT2z{v)Q9|ygXBt`L4&>!_NW<l@LRnJ!Sf@JhQKrAU5`W=cu@ae=z
zG5Azkr2Q=9@PDD_i4^D!#7XrkBWNnfDHHQeeUvhs`I$Qi3xPCBDd`8(SU-i%+?@3D
z3#6E`1p~^-RM62)_*pZh<Y^Qf+4S`Wt=PgOT2t-ZkH?}12BsAP77-_%tX}6;_-O@0
z+--AcnEh-irtYtF{W#9Rs@5HlY^?eiIU>U1O*SaPUw^EayBA9~CSaMmIX{b<I+e2F
z=weFQIdr~K>7r4UsCE+B!Hhwwk&N2GrVtixM5}giLiu>Ic>AY-dSI)q<;fPxyLduz
zT`g6fQrTLih#o*V9!nC1cuo<$5)kL&#=`ZT$!eDHx>ya5^<RWJ9Wc-ti;CxgC?IA+
zHPo{(@_(ZO`(rvb4azv3wUK)AD1$1g3mqZC=%+P_jx-V_$4C6UZ7%azX19%;vttgR
z6s!@%#YY1DUbuid*-H9u{#IC06ucZ597w_^gm`kC93ID-JWU2IewZQRXxFpdDP%m3
zV{V=fCiFA}mE4Aqb#KvPf(f6qLRmf04FgA`hkw9$nBjy!Ukyv+C9m8T79+$u++U5!
z5`zcTxp1t~_gDe9<v^gTI8<!)rh^pB?I*BI6cjfA6s3=egVP5uMq<Nh0Ig7iRO(X2
zoCw=u_-|5I`RHdb6&^vJ)xG9&vT$h<m2egD{Id}ldF|?3{%IOkfLTE<f@%5LhYPKm
z!GG$4iWUfG2lJ;C@qe#b7Bomwbv7}8=7<vV7IvY|Sj?WLtrBe<`qy(j7R^F{Rh+JQ
zq5{qL;U?vBx#a!2>6af;%QqV{!GBw7iS<A?pMQp9zzi=IobMKD&q%IWhSD)s{d_Zi
zM2V>5r5!?KsR7Wua}pU>u_S<!me8jT4uAd@kYZT{SajC@mjSlONON?P7xv66tR*#B
z4#wItFQZDEV5m)9OO`|q(_nWwgT@Ghj!wY6#pA}6%8i|Auvsh|0`m(?s}6^!^1IKK
zsaSjG(}Z078?T%azdXBi5^xjoskX_A<+O0|d;=rFc>n+a0DoxHm%+j4DgXhI4HUKU
V0RV(UPHM5lXZr#G00004Sz4+h1k3;c

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Situation$Space.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Situation$Space.omdoc.xz
index cedfe06f6aac0f8a60f3c3dfb677246af8d442bf..45f5db64c7169e4baba326e4a8196f9122fa2cc6 100644
GIT binary patch
delta 700
zcmV;t0z>_j2Gj<S83Y*;0}_!PkAH~1GCCzvE2qLA24Wd%QS{N;*Ky2;)G`ay$be>~
zJ)nsMV4%QkYF4VZwVoHk_(yRSDcB5yc?aWG9z>?G`{vUBb}u#`;D0~!z;R5Bv8FU<
zLL5gKLv!U*{&M*^ND{A)j{xlJTBcvf|4OHXc~{(Abz=py&<cZAprhOxd4C0aW}51z
z!B<u4BqCj*i5CQ~5PS0i?pL{ESW5?WhJVe}PRQr=WQvV=Vb0eoI<!iC6_Qsk{wV@s
zvq-4xG{Do1B1^^XDZ7POOVcs3TJWX`P<$5oPsf<-GZEJ1vxCbp@C<GC>bYiDjDyTq
zQd;4rxX1{Y3h6ciz|>OSFn`WsaY=iUeo95i{n`OFRHao~wqcxaLqM-{8`a4*kLZ!B
z+AS8=3JzlMrs_(pNoam;61E6p<!h0wxPn2#lJ5wpK$LK>{&pp_)t|P7V|IpKFtVZh
z^(N=RA(aUGwZh=MJ~{cs7o(Z)Wx%alG3fq_YW(<5l-Bpx@rHq;?|;z7F5{nOkTL@(
zo54hq27x2=#XJ>eBe)y`m0XZ*M(fD~N>EY9e0y)=tR&Y<pEHX0<6-Oav@)HLR{4jL
z<km;DvXUgYT8u)JDXvd)z&M=tT@>1lH9-q}=Dj$GaTv>%;8I_yOW)6+3KRB-s?68|
zaISf8^W+LMgM9?O1b;t&QQPeWkRYW7(m-Y~Mo^O&9e={^s+K^2A;;MXU^8zFbvWA%
zj4jpQ|M`$8-VqcBFoAOeMs)7TZ+*O!z+A_aTin~VJdx^A`Y24D3FGxFn+W=$CZg{U
z#16t=!1)8rhp)rf$lI3pY^@+|j^7fmMvl)p{UIx+t8Ui`7cK6#o`9+j-dS(}0000Q
imrdT3#~sT60j>s<G5`QqE*a;s#Ao{g000001X)_6cv#l}

delta 635
zcmV->0)+k429ySn83Y%I0@9HkkAI0i57R%Gk)k!6kYHf@39m#yy-bd?2wdihU(BYb
zvM#jvSV9+r#=CifkQ;X<ZgeU<X{}el#!O;MbL;szZZoo>s*6rI5r9p+#>pSzR9?tz
z(n;SDKPA@KmHpyX{<J@&vGX&>p=yu5H)nDR4Zj$&A1QjrSIYT&#EfPJ+JDS~dk{-b
zd>BDs-?8`<a(wsC%<7{axX{lNR>}RpVlMa$l+)i(Dnzs)`ho3sC)f^aqx7~sr;RZ)
zr;pz#tQ&wh$jcTQR2>uaqlUv);WuKhPs~U{PZL;KYO5P1wf2O&kL;DHcNC^D1mSqh
z>%NsryfGbQ;uU<ZdX4=|M}MBP@pb6=H*h>a<IFr04w$;n{%u0Ay1N<_U@@@aHjYUK
z$^xnk^Y-r8Ry>Yu=njZL7pW%X+c!tM)6Q&39%iPaWTb2iPr>fAbf<^%5J#b{r}=Pv
z88EtM)9FeSHYtIz3Up>Vm0MFa3>9q9UwKcFPPavXj^U;o;lpW(#D6V*&#GZ9#vcU;
zDGjN~7r!NX4=CLKHq)G8O&<S0dq|8PUglB2ine(sZU&coRCx^OegSxNj_Un7(%x;u
zNZuh<qKSICSL{`xzD;!oTu8}01;d^D!LuWoNQVcg5NYgq?=Mi|k1_?xF9Pmvzlu^u
z5DXIk*OI%~(;ATHPHa+E0mZ}iBL4}HC$dlKu=gie%h;J((3fq_utDB&d9^AQwP{OA
z!J`IQHu)>eR9ly<HyRJW&EJ*X5hBnvK=>N(N*oDtUcZC@002I6K*UQ2<;ws8?gfc2
V001-DyM(dCXZr#G00004Sz3%YFed;2

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..55f4158af68d3464a848cb2e067ac66389820e4b
GIT binary patch
literal 396
zcmV;70dxNSH+ooF000E$*0e?f03iVu0001VFXf})0)7EYT>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhpuZ46R4{8Yq4Rxll0A~I6v5e2i8gOnb1X97s6(3JCKvDrg_mqpBh)d_Z{}e
z-yf3{_yWd{gfr}V+7BdDh!uu&p&K#1vP3HLaE<|m!l%b>^hs7THbji*httV0$`Lh`
zK?G#|wp(TH&kUV)sJFDl_^*9fe}()|J&!|m20t=xKW74uusZA*sJuzlXR?|V-b?;j
znR|z^0fC<#?gfaT900xqabkqIgVZ(<!wt%lZ`G8?n*7Al1yR`f4i1z9!C$~6mx~E%
z;i|^O=ARyM`Sv*+K(^EM7Yib|fLPxtWOn|70%*eOt6wL$_yMb_y_o;1{N7Dgf&A&5
qf-IC%%m4so*iIbT#$#px0p|k$1ONc40@!P@#Ao{g000001X)^Ny}MNa

literal 0
HcmV?d00001

diff --git a/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Theory$Parameter$Bug.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/integrationtests/$Theory$Parameter$Bug.omdoc.xz
index 42545b9f63fc964af48ccf82b9330e743136817f..23c619eb61e03f9356dbd3a76fe352846a494250 100644
GIT binary patch
delta 837
zcmV-L1G@a+2IvQn83Z1_1ErB2n}47FR|Al6`dh_mrRT_B#{jl5?W$3wjo%W9P2k$<
zYAiFHi5k+v0a9@H^~I-@T4Hvd5^q*(Fi_kJnoA?mUsp>pEI0+xOsx$)w>A^Pb0y3C
z7B^X(5wO|=gA=!ucjSHe^?+r<FS=P@xgxww{>BftZJstNZZpxuGPuL<uYWvvT})<?
zqF2YMa+;>;kr;$el`T4g<f<4p3*x2F8ZN&stH5M0b9rsXwIQtH->|dbN(T-9`EYX6
zlem~k1$wn761|wz&p-;MM*~<BEKVm%phA*O6R`thh0WbbDyjqyi?b*%B&%0FOviZn
zTMT~>sz0QO4*=Jsge3TzM}HR1>(k@e6GQ>(S*)}DhP*;LVvol0cgS+L@WpC<%X!Cl
zUEaMfr#=RN+`sdiQR0U$08p!Lj_}%*E0BRtGqK(*H${JaHOP(HqUFt4_JFCB-7kQ(
zSW1thtU@YIJ1`=66CuGcpi=mw>Hj;1z8PPTGZ%cNkr8EF3@rdau783fyBdiTf5WS$
z9Im@emAEm<+rIA&fPx*DE5e*T5rfvx1!9K}Mf@E)FTUb@5V5d^wlw@<aI@L&04g+&
z=zMXg6?jrEj+#`ZA+8NfAqoVsUOK{?8OdJgJ|m=+hg18VJmmNwdT-LtQlOq%xFibd
z+du<b8mE5g$aY7$;(s6Z_^jPx$=*~OqV-NSz}d;S9i1Qfm63X)-igea&#Z}Rh6MEZ
zqZug8GbZ4F7&EK*sMinSQ=qNM$%(+;N<j&S+Qm4we>zkQ4Anjxk3kKotS%J+?chI)
zJN}6I(id6rl(e*TDF<u+OjE^mP-jb}jEo>z@0v(?Q@nDlaDVr&-#)AgW$vRcSRr>f
zJ-&8WaNk7|s^}JeaGQoIq5|t{&G{eihqSJa0zx!;F{;kwB%=4<g(RG11ZcZo`S{`f
zSTnms357}Cg>(P$(n?Qv$&~oCnHX$<CI@p5{X-nMCM67VfZo<4)3+z*_|U=IOYEb*
ziJA3>GZNld7dCm;EgRb*YbMd*yuk&YP~oTm00000Hk}qVL4~n@00F@VzdZl|)9quz
PvBYQl0ssI200dcDx?7f$

delta 700
zcmV;t0z>`i2jB*f83Y)N10azdn|}}gurE)$i(cplc_7};yB5vq;R}~09fLeRg*Q<`
zzgqYR99Iu>@#Bf6W#qI+;PYM$7y|eOZXzB6yMuB|anbmUcQY}|QlQa~GDSZ)@wdk2
z8j6?A@QwMf?RssNndl3C&ZBX6aYD&+{P}`Zrf6veZ7yvvqRxxcl0(8JH-AtKx|Zam
z%AaT-*X`Xg5!G$*<D-C>Fj#VBR^OnHem3pYwjdTL`1l$6SZy;BiU(D3vw$unsyu7n
z0Gtb7H05Ov`|luUDR=1)P=OrRJJMhcNLtn`y%J}C7(|V3quqVeDX4{k(E7N?O6Udn
z$LqS^wgf^vkk6d>0G5(?bAQD~^Oi%|{OG7e>k|Wtuqq5NA1d##q3K6}=Jn496y_ii
z8ECT;R1}_nP~QItxpp4=>qlcJ>x3_S!p54fR+teJD&*O6AYUzo4GHFhs2iLE77-uv
zbBEY7E{s74LKL||I<vU6B{pq$nW=p3<Bz5L0q2+mcFKVe<DhU>41W##Y3h#9NQex&
z{%j8$sZWB%uKqgyAs>ac!v6IphcZpeV(S$q0`vFxe}QHE;_zANz!VWoXW*h^m;Gqf
zS@=?T`KS|dX1m(-y@7Dpfv>f=C<K>=xeErxqAnszM736pDNhK6GxCm0Mh$aCmH;e0
z=Ft@xQX0(S=l6d`o_`-jnD5|;l2;_l9uM)Hf%ri2@8^suJy1{gE{p3e)&~R8m^B^2
z20h_3bxbcEeuyyA&u;u!J|1bArajHx=`KRgX{_mQp6u%f=HUa~M=Dh?I-8<TL{$JR
zsL30o%iz`D*Gt^edtARdppmO8LI@dhcJfZ+t<nQ%lA#eABQ1X*vnE2K!aBYMOnd;G
iedBJ518H3V0lWr{F#rHE6NekI#Ao{g000001X)^+7*68=

diff --git a/content/http..mathhub.info/LoViVo/gearbox/cogwheels.omdoc.xz b/content/http..mathhub.info/LoViVo/gearbox/cogwheels.omdoc.xz
index fa0762b724f45e42764ad4cb9e8aa2f6326a3771..93ddda1944e2f6afcae8e653a62b2c687723da8f 100644
GIT binary patch
delta 1035
zcmV+m1oZp(2b>9z83Zc!1YD6Fiho+ab8jcuI0I7yRhGhtgTRD~<G@64FJ80BlO|^e
zxaO<f%>R-qZID(j(pvs1nJucNGpiv!V1pQJiK<E~y$U|qD$^cCsxi3G#5GNiZ>AAD
zwx4N5ssx@9gXTt}ncpP>wYg?u>X5eX!uy%k)CDFhAi!|C^t2mFeh-E6e1F)=!Rgf*
zrZ|Vndpmf<;TygZ$#|kn9jU_dz4KmU(JI=YeSa~TR)lF+gM}AJn_TdK4L1%h<V>ov
zSSf+1kisvbm<`#G+fHN2tgezi78h&p!63w?&(m{j+u#?Zx02i$P`gD19GsF*U=|)b
z@X%=HG)MdtsmC-1*4&vJrGH;Z0qOtGL%NEMyO;Zjf6pf(g9UR&N;AB#FIx^@*{^7*
zvp!$H{rFs1w;x^c(mDlp5{yf$xW0_q5c?39uOJL0A*LX7Bp7F{^Q{XX+vB*Zrez7f
zlZTl1BTkXVS@N8{)a-uMM=+^bdc)&Uges`aBK8O?sh`;bG>Fp!e}Bgd=G`hgzk<mK
z@^RM)_AhplTBCg>i|3>~D3=(W<tBf@54?;>xrUyWzU5#kCJBYY!HIP%Mk^MR5lM(R
zwXP_oX&;V&5^ZRAGWej_qu5)CR{Y_oWd6r`{iZW8ch8cV-7XH`po(_eN2l%o1pb>*
z!G%wx>xy>V(}1jFLx25(;{o%TsFV0DlL7C@bP3juB90_i?#I}KG@!V05oK3!GXX-Y
zpA#w_@4AK;Z9A!;?;5h6F3?N}uC;%*EHSWL%RyZ?7vYi7>a8VCkCkR$Fbr1e)j)pj
z^z{9}S3tf*=r$2%Z)ghj9hS@DjaRz)$XGkwdB!;UPuSjGVSh8;lVTx!qtj#2sVJ*v
z;cGc@?ge3w*>zO2eL*(=@1c<S=A^-MO;5VQcg+S)gHPd)!@9~99)&E<u7Dna4QA8x
zOn^?db3fXv4tdlBcYe07dQ}!|i<82%D~CDTs^Qjp*9IxY-@$LXq-v^H+|Y8tKA*$W
zMn$kLBru!WpMTpRP|jayUOymz0&`P?ji+1FjgmHlHAcbqN_f`bn8i~`3om$Zy(aOL
zhFJG~oYN&@4KYSPBu+{2KS1gl(z@Qc2x)8Su(>fS)JP+H+cAfEUJ_4%({4sqrZozF
zi%TDo#NCe`=P(v8qJ`1orpU5Pqzi(OxZ8yxteNoQCww~#zZWN*P7BX{Poz!6Xr_a_
zMFU9p@`-d!S4&(F=nAGO%=PRwFhq3pt{vD;A>Y_7)1|SX5HsUi)lbPlhl`50``+LP
z49g+EsBO0QV=ON=OQjjM9iAJB>;OFUUIeh1o#y}n_z3q^001q<B73pKXZr#G00004
FSz2;K0UrPW

delta 870
zcmV-s1DX7s3HS$)83Y~|1GteLihoBRW~3>~Nwo@7R8*}}N&h$jXE&2l14`k0L9H;+
z$O_P!ciYE5(wBzc>;^}VPju-*!RL)fRa(vNv3$x7oWP9e0ss5$#h7uQCedfw3_$NC
zhXpNKsd$uRTYZO$Oc-uoRhC|jU$Do(t{6f>3~v6XpqD1Bq5#j0Sfg*zQGdB%yot>f
z;%TdO)(UG<72VI-&js3#G@mf9)>p@4;OrvJ+s06{2&U2;^F0W<8`G08n37w2GM_ZS
zvPB48J!cRmCV}39=WQ<lS65~ph4yjg*_(Gzp4+n8_vD6LXrKxNmc^9e3eJmtWpDQS
z-^>{`$7bj~N|O+T`)ev;E`LyEx3}xxr-t2hN}uQ^`qJc6ypCx?hB6i|*gpUO4wFa~
zQJ;eNERj&=C=8)1Qo3={NrpTjNYsrcq<HkRNFudkkn$eU#lTj`PX+p*2fG>Amd-B-
z;emF5(Bz>H=l1W8jy)y<MeoHknijB>Bc?bRgbLZRVj6<F;o_2&u7B$;;~=;mapn6O
z-|6<nR7Z|4pzY3foDF?e1*ix}T=hUdNmMj4NptBGKH33@QDW9go2$4Y=ks+hU&ZN1
z5M5nee$0`S&}sd)Pc2O!g#Ho`2(ZENKE{jnmM;Q<Pw5P_kglu8BsfvMmX#~rw#(=(
z<@k#2n-NS_h6$Sx;eWf)4h`{qV&Rm!RHawpO+pIjep5GVPCC^LHOOs1gU|1oxIq)(
zlWA}DA<}>6ogHDcgD3e1_W&x6UWP)@rNn2$Jh)$|@c~ps0HRMM^5w7VDJoOJK9p$A
zQ$qNl@P-5%tM#X{%0~XE`NLlD|3D6Arc{A_Zkt}xQQqpKwSRRRJ(30lAc0(o4*yrm
z&xUy~HY8d6bn?4S`<G_f)4RAfs%0fQ(gton0eZ!;LrV5%aLQ<mq8*{6Sw+c+#fz26
zJziUky0{tTTkxkNGa$=27L^k;y77%(uN=GK2qM8sJI?MPpzeZ&FNAyopv9W2WYrf7
zr$3Ksp!H~I23N_nSqIAz5oWUOfu<b$%6wn$m=26&Y?!^u60%`?&&VgtjYJP;DwSsl
wR2(f;x{|{9ANWrZ0PA%CDw*9hoB#pT2beqn084{kt+B*s`vL#}000D8TBd=ieE<Le

diff --git a/content/http..mathhub.info/LoViVo/gearbox/gb2.omdoc.xz b/content/http..mathhub.info/LoViVo/gearbox/gb2.omdoc.xz
index d2220ec22192387d63b7116800b7ff95ad7bdefd..a686b8facfa4948f1c28eac573c7836ca29c2b3e 100644
GIT binary patch
delta 1257
zcmV<F1Qz@B3G@n(83Z?@1u>BwhJU)ejurivqv+jLUG5uXp-`<_QB&_jcgne6qA{gJ
zRspq5{zwpqX7D>4Q`t0!wz|aMfX~BZ)M~V)f$_~`Qa=AhOj;VlophKjI>?a!yCaK0
zHisrN@Bs9C5T&28FW}d&uSvBl0w+Ux>wb$g!-?ePZ_ja4O91%9;kq0<B!7d=c9tl#
zEvk8g=wgAR#vU`ee#tS&ni5&5_lkt+wo#BkdH|V-JWH>(thYxxG~NNE`_km~Y+wjF
zU+`VfX_`2%JP-|RwQBZRrSh~G_(33+S?45G?ndkgf}tTE0>5>7VM>rkKMv<L&RSsE
z*WZ$P-4JIiE2=81EOtFJkAG@U##AB@*5HpVh;9Odu{+gOlL^x>L8vlRj+W{-3!k)4
zyuhYpprwN%AxEk=afVu2S^TV0)}ZHsJe#^!9<l*+0I7row$N^(eVBqk`6aa%2^{kE
zkNR1uOmtlz%{`CU266}eZ1eb!nIqAseq=G9NXTn_Y;T6Z9!eq`(SK)edNb%9m*?{Z
zvK(X9cdR<^4J83fX95zxvjw3x`M87bZbw^k@cdEzWqwJqx7n*fz=;0DfZ@&FLKMFZ
zvgnOXC8Iy;$Vo)wLGxg3BlFiF1{}W)2$k2;SJf3VI0|jJwVoyPapmF*pWB^MyipMs
zDd>`uW!7!Lr@fU`X@AsmShLuu|H$qj40S>2Y)hq+-<g))eQsx=7=@6A@8ImTMmce#
z@*(es73PhkXA^z#!XtxZzBosd?RwAgyFbZ`3;~l=KUJp@D5@Pxbp_>jC>u}Eta|}M
zW!tEXh+(kf!K*PR3li=C?s0_~p76QXWL_9Rog3{tjNkeG4u92aCb4nc82j}B6U#!|
z<ran~%}eGV4t!&Zk@|E-m~%lF@yc)v0-(zhj?ot`e^fo<hsd8x0z?NJztm?!iGO}I
z1M}z~M7~3a96dXFt{KRxSC>S@8w(q4y{1eqV+(KeYG(G}d#6+~aLVoBtBcEs#vM*m
zQf4a&d)8S8M}ON(UNlgBp@?mwNy)8BRa9hihG>0UyQmP{5WsJy`VV2-e~NBIHD_XR
zL>~w1<C9`@hm$1DvPU+@O{u>IDzpukf?P;{a~682D!}|lm<f4E=$#Kxdg@90W}_}y
ztQ`oLldnL7kGKh`oF)kT|2&`JUMS?MiqoAcanOJrpnr)8w=FMBrO=;a&o@Ax_M$--
zDX;TMdK}WQ#qpW!Q?UE-hvTC+qSQSc)N|>DJePa+v(tfk^GfGOUBqmd=MkXJyaDUJ
zUCHpjBSt~%C<u~Xo3C3Cs06c<IZSA^`|Wwj9h270Y+lk!1(3h{UluV?u0wC-N@I;u
zQiwX@0)Hw|#y`r(<ts`BCXDFC7D@QpwF3=R1tF@fG5I*(@pUFa`%!tqi$aB0$McGB
ziv!cl?L(FEC@I4HZ7+stGlT%FzS{^)(s2sb=h;974N3<H-0pn+Wfik5m|}JT)kpKv
z=bSv-jUzLGuY?@tz92_?Q~FPI7)_Ebp?iiAPFmg@MZ!2Ne3&fs%?sZB3mbI0$GzVh
zcy*q%B(I0r4!<f#v}8~-L8T&(K7upI5!5v?T9au200000y#wuNZAmr(00GSkq;CKK
TS;G;fvBYQl0ssI200dcD;iq1X

delta 1128
zcmV-u1eg2t3iJt(83Zwb1hbJHhJUp@rxvlnL|Q0i8Z~Yz({EXoX48C{tA!IUN3ITa
zV0jR1O~$E0C)hrtk*Nr{7i)(qe7r|zOL%08${HG!AM36Dh}fXY?_BQYFOoyJ<R7sk
zLX3w5MtnL8$$y4+OLO^OO{8N=b#k-HbkzR<oa3!}Jfge^fG-+*D;>oj(0{UsuCyx?
z9obEf#uh>PPDB0*wvv#&{)J)}oKN{^yP(&F6Q!~7%q?ouYu<G4X;};c(`=fDQaXoL
z&PEV&X2_V9lq;=ZD_5a?G#f$A!pBsKu47a-so*fl4Fa+E_nI!YHITF8VdgeR75#-@
zx09|*%HR)6iShFBPTd8Z4u2L)GsBf&vq*N0_l!PSShNDW>JNl%M`Ak}=2$LP?ZcPM
z^io(9C*18x!NXe0ItC9t;C|!>K&fCngbM=_2%*g>ipDqpDlwX;^if7K|EL@*%s)>Y
ztfl)O8R5H%9+_hKBCMb1L<N$`jsX~MoR>h~LHF|VISL)~m8A%pYk$ZDl!<SZ*t}Wn
zF<|QsEC`u4kYgf$xttv^_;R?|n-^+5kRV?BWDH*4F5`eK21A@K-|@jqscSd|^+5L1
zkPBcZUdA82zWYU&-19M?Ekd>Mk*BJE?Z0HCL(HHnWzMZ6&3UdIHsn-bNptz`;+*bJ
za#AJ$Dq7nd<x_-a!+!-M$I-oTY>v6al)l;J-q5PotjWOMPgKTVzGO>VUS+G^-}4t-
zo-J+>Q7;X9<-666Al`5Dt4_d1sm!kwNkCZ<Dwy|bZ%jDsL7iL9IlfH?;ShS3W-l$^
zoKBWB$?)57JAALY+NVp~_lre~+GB!yPO>Z2)*sii=2X1%ynkgi7QCl9Gnq?lmt$Ui
zD#USyGsRTq(3o;71wZYgX2@ILB~Gorb2CgcUr^T;1n=nqIq<LwSsy{IPa<buqfN09
zeV^NWWp9K}i>cOf@MO(UiON)fi0)Z?5djaA>J9Ra#tkm4MhGj&#5qkRaa{QX!6qI6
z@Q3UeKmjiPE`R<NFrM!Zia4NM8>;i`gQhW?g?!wE->QPJmU%!SxA7Yp)@%Ds&fayF
z3240uu3yty0%U3p3L@V~x|jjU#&e!c(2*Y<g0f08B2k@?#D~tR(}CoyKSHN7j01|m
zm7w2uE!s`9u3nY|J-E#-{oVmSIGUat4CG={y{2gvXMbyM@@d=$wP##uWtA3DYqwbc
zc&<F^cdqKrh-I~yJiHBrSz}Hq6dO_aK4<0kMAUOayTOb#ABj<^Q%0IjHoA$}TU~h)
zJaSkIgP!h}_YaL#%pa%38LVKgYqXMzZRUPkupiM-`u6v>OPv8_%Z2Uh;LswwD}z&g
z<Ea@{@mb0Vc8)gB2KL-|zpSs5$H_v@NCJfcCWo}REMq=wda7BNas+W~uzck!E}c)R
u64EDx8tkI~-2ed1x!oB6FU@}d0nZ77V*mgI5jrEW#Ao{g000001X)^34k1GT

diff --git a/content/http..mathhub.info/LoViVo/gearbox/gb3.omdoc.xz b/content/http..mathhub.info/LoViVo/gearbox/gb3.omdoc.xz
index 25124e91e6f7cd0ddee5d111f9328b07f59b33b4..9f6621b6848a92db866ddfdb24072961f6300f58 100644
GIT binary patch
delta 407
zcmV;I0cif@0;mL#83YDq0q2n&hJU)ejurivqv+jLUG5uXp-`<_QB&_jcgne6qA{gJ
zRspq5{zwpqX7D>4Q`t0!wz|aMfX~BZ)M~V)f$_~`Qa=AhOj;VlophKjI>?a!yCaK0
zHisrN@Bs9C5T&28FW}d&uSvBl0w+Ux>wb$g!-?ePZ_ja4O91%9;kq0<B!7d=c9tl#
zEvk8g=wgAR#vU`ee#tS&ni5&5_lkt+wo#BkdH|V-JWH>(thYxxG~NNE`_km~Y+wjF
zU+`VfX_`2%JP-|RwQBZRrSh~G_(33+S?45G?ndkgf}tZ21N$!sSSxnv6mej<Ctfio
zvI9m}4x^5j!_kYX&Gi|fqJJI=`@20OcdG~{@_nks+n|hNq8kEF&M#YRm2Afu_5Hbh
z=o!&dWs0%rZp!laZuhqvif>m<00AfRHE!(t5tTH~20Y<-o*%jAm8foqL`^SoQ5KG>
z#*71Gusdde&E5-@UR3G;0Anh(U$MfmivR(G1m_F@0FIPH?6JgW`v?L600004Sz53v
B!pr~w

delta 209
zcmV;?051Qi1mpsc83X~*0V0tdhJUp@rxvlnL|Q0i8Z~X=%NJUcXU<n@%Bpr1#f>cQ
z67}7r0PLier6x<SIf&|D(*y~h=$GGYF4-9ex*O-$+j3zu!PuLFdI`l^CcEUzD#kFk
z<=z-m6gGjfcCcq=9GlaJAvwT#JAO)RqQ6M>cv=iu|6AZJ8B?ScDa}_z5klp0F0*;3
zqpq=B4pV?_ZCq^5UQPME_)VjFKuqt#$^ZZWi>W;cS^Hfp00F)N(gOeh^Eyr!vBYQl
L0ssI200dcDgPUCU

diff --git a/content/http..mathhub.info/LoViVo/gearbox/gearbox.omdoc.xz b/content/http..mathhub.info/LoViVo/gearbox/gearbox.omdoc.xz
index 23ae774e6648a7f516d796aea2f89d83a69f270a..0a3566337efee4a671bb321e8a92e88c1d7f8be2 100644
GIT binary patch
delta 2417
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

delta 2272
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

diff --git a/content/http..mathhub.info/LoViVo/gearbox/temp.omdoc.xz b/content/http..mathhub.info/LoViVo/gearbox/temp.omdoc.xz
index 108f6f0558e3a61f4d37c0c693ce7d3928d825a9..dffe9e33af015a62f3dd5d898b5659d57f0c560c 100644
GIT binary patch
delta 1169
zcmV;C1aA9`3Y-d%83adu1ly4vhJV7UsC+Z;c%u{nQ?S$Tf*ukfi{I6<fjU{K)7omu
z-CWg$D_=@THK<1-Tk}bP`sIJkc9)+i@y3~7$UG!aSx)`|B<6wMralH*-RvSNPNX;H
znix^Pj>;rns;-}xx%hXTt_WF-xLoT%Edx!h<Q24Rn{%SCZ%A$?O=fDmGJngKf;jtT
zZL5-cyU+|RVQ{9wenQv#df6C-U_0HtdAATga44<<0#bYyHGr#rcaG4gSt7dr$Y5=g
zd6bsPq5&_0$gq}>W7Sbf<1_S^5JQM7S?YY+k8w_V%@9HWu+lsd>1bpw;hHS|!NPOW
zn+5<~_@tkLL!HkH)Z+VsAAipls>f^rp2j}z+HB(?nOJ$fJb781uuVr0OS|R9|56N;
z?||IBmj_@-nkB{m6oyVYc5El$DR|f4%%k*TUs3~3M~DPqy0Pvt^^-7%VO=#xChhM(
z&uZ(8ObbXc>bDzgD;z2CfB2+sHt4_FX2yP;(PwYwN2vwM0!8Gy>VFaULoY?<g34T}
z;(D+)ru)LulypIQOE&)MJ;O*Bf@ba#N98-~+Z2a;N=aQ$L;6?V&gzAKhB8#zO$}0=
zlTQbCvzGqgEt#Y3{xS=ky&xO=+1(BT5Up<1F~yHhHgRgT^*?aQ@TvMWVvnJ*KG!dx
zL!`f4#p*YwU8(JntbfQJB+JW+V+a<}f_xpd%2p4S7V7|T$5tZ~a{=NS+B;d9EE-r*
z*BS_n2B=*$quRF|M;>68mznBRsHpZHqNf{hly?$v;5k7MJ}g5MhBYC+61|~J_JBiZ
zeqYw&xx;`Qq9=pr4OC#m;NSKm0h<N$n@@4;=|38>G0f0n>wg$yyG-_@L|^4fj{BGc
z(U71HE+y^m=!khTE-pm1ratB~e!eQq0JM2c%aE@gV&mAo+kr(1@dc0<aNXlmlC_L9
z>N}t2$9+sJ02S~+*=Yoh)zmp&O!=*b@Q?W0A#899Y=!T0zWdD26D`_>d%<ik#wKSQ
zm|n{A1Yz1bs(+o!t*UM--10aAe6mt7?(U?0U^0YpWd9Wneb3yt`7bz&>)raoN0Nuw
zxG+0TXi?lN41;C>*3RKO*}j_;tTXY22;s7KqSztSn3op+x@!*0+C&*G`#&5wq`^Be
zi<imRtU_p(cdmYIhf3dOju@t?im+&Ymr{d*%D|<+sDB)t(D#=_(r<w$cdA{o<>6w_
z2u9&<iw6xBu?!4dI|RsB-)|mXQ!fq%ovE;LO~0;)Qpr`0JY~uIgpW}Cy!A#JZ6l({
zeF=;<Wu!7#DynWPX{M@tR&~xE7RUz+l;p{L;~E41vxBFf?bYjVTbD!msM+Ws3cA>U
z?UmA~6Mq2(fH~aLw}Lk6h*j82*s_;KrkbpJ2##BF%vGM#i836-j<0%;ANz+yj!SnJ
zrN{FHQyjM7Oky?qqwPT3Fw$Z%>_4C_-}=?&n7D?2cdNW7u|kllrByi6U*ltrk^lhN
jW%8nmQK5eT0rv_2jsXBSo@eT@#Ao{g000001Oi!Fx7kOV

delta 1152
zcmV-`1b_RS3XBSn83ap51j~^fhJU~QQZ*H*b5BK92Ajw1v@0E-0#^Bn*U`=iYM-I(
ziMx9wx5gzsYkMRjK)b7bE_bePBZHC33f2Th|5{_-J6$ZOTC8S#HckJQK9NaufDy0O
zbv?Y)j$D#4#MO@n3{}j^h96eF8h$thK3Gd$?z^1i={?L^NY~dv^N9?L!GEIVh&01l
za#0Y<{4)C1!R*!>87qfL!(7$^xlq6@%zKo)UWy0XMu{+R@Amglw3ulqZMtq#`s_l|
z%?P+~CC$Kc2HtcNV`0zAGfRES*&L8Cd^@!%$xSf_7)t_AKl^yrds)vk2gMJWbrc6k
z%dE=FX9Nx4#3M2Em@x0ZGJgxC%En{A_O$ss70HJukBm9+GJZ*vyDvUArIMJ#grXHq
zyk8~Bc`|Y(QjCQG9HTIoCx7Z&82C}mFd>Q~x}|u5aiJK-$=olQ=Eh!Lr;6Ee{^A#4
zmzkwW^Uwc5fsr0Z<_i~GB|F&Jx0qv?fGFzW<`gv-T#j?&>E*nFHGcq+fzUDA36NBc
z$fhyeS{-hcYJBwC?ok%WBsz$nkhl%tU~`8%_xwuE5LzY7H&ap(q-fu+qWWOj1b36>
zN5dt>os>vza|(e37!AP>1nh3?A%Ul38#U9_x8MxL-8ps@sazo}v^BwCE_YGmZl$$?
zu6YVaFY?Pj<n>@!0DpSc>Zk)+0ihPmid;0O*V%ji7Ih<hMdz-JK4#l?C>YUFpE~RV
z!f``2-cdDid=StTps6}}GXJyp$G%VgsQ}f?=Uo^SYKNfJZ;XByt@>2N3gdY7pF8@b
zyv~XOI3+~hXJF5-n=M*8BOG_zz8nSm49*i?78HC0gc@CYhJT;7l9GnB68e>ckb6C%
zg+o%|`CDqmzPKC=8rMSc3QNSzMMAD&{<H|-!8d+uV*OtKJ;(TmCdLp+J~8|c6wi)O
z!QDIt;(Q>B$yL3OG{MP0WfvE>V8s$KnlihTU6F|MzBUfI?F@5U)OR#BhfCJ^Qi6HX
z!S)#Z$Cdu&!+$PGu^(IU3@jsuoHS+!(A2vXmL$Dytd783JoD49$)kM`g9fgoD3)~s
z;fw_;u$b3ibO`3fS&{?0s}R{bd;BOAzeClosm0aQ*sLsjB+drBa%WL_Zx00=xYp~k
zwJz<aPZTeDLTWfN1Xh#3r}FC;)jCU4np(q0fnDg227gIQ@;84l>2|h~Mdn}^9H1~}
zy3!}gRo}gBDq76(QY}Tlzscl5=xD>Ym`&*s8u1R+yi0=st&eVJ^3+VLO3o}Q=Q&rX
zu>N1<Z2O~!nk&ksQ2f3H15{FkiM&{ScJwDZ1^4LBmOoqxKv4q4dePdDrHq~pOWiA0
z9b>iaLviKo)28Hx|HqJbEJ4o$B$W0ke5{s_^PkHy>z$E`EmFLi)i5?bOzXB0XUHjm
z^E559zzyfH06#)Ly&4#q&v033lIo{fX&W|dY#WpKjsO5P#Ay#P<sZfX0p|(GmH_~K
Su6UNQ#Ao{g000001X)@*GcZR0

diff --git a/errors/mmt-omdoc/Library/gearbox.mmt.err b/errors/mmt-omdoc/Library/gearbox.mmt.err
index 59b932b..b5b3bba 100644
--- a/errors/mmt-omdoc/Library/gearbox.mmt.err
+++ b/errors/mmt-omdoc/Library/gearbox.mmt.err
@@ -1,19 +1,14 @@
 <errors>
-<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?temp?dist?definition: Judgment  |- [p1,p2] : (ℝ×ℝ)⟶(ℝ×ℝ)⟶ℝ" level="2">
+<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$2" shortMsg="invalid unit: using default value to solve ⊦∃![m]m^2 ≐((πl p2)-πl p1)^2 -((πr p2)-πr p1)^2 " level="1">
   <stacktrace>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17$adapted(RuleBasedChecker.scala:98)</element>
+    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$12(RuleBasedChecker.scala:88)</element>
+    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$12$adapted(RuleBasedChecker.scala:85)</element>
     <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$15(RuleBasedChecker.scala:98)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:85)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:374)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:350)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:350)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -39,7 +34,85 @@
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 <error 
@@ -54,11 +127,11 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:263)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:271)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:313)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13(MMTStructureChecker.scala:322)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13$adapted(MMTStructureChecker.scala:319)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:319)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -84,7 +157,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 
@@ -100,11 +251,11 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:263)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:271)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:313)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13(MMTStructureChecker.scala:322)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13$adapted(MMTStructureChecker.scala:319)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:319)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -130,7 +281,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 
@@ -146,11 +375,11 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:263)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:271)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.checkInhabitable$1(MMTStructureChecker.scala:313)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13(MMTStructureChecker.scala:322)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$13$adapted(MMTStructureChecker.scala:319)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:268)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:319)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -176,7 +405,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 
@@ -192,10 +499,10 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:374)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:350)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:350)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -221,7 +528,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 
@@ -237,10 +622,10 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:374)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:350)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:350)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -266,7 +651,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
+    <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 
@@ -282,10 +745,10 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:374)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:350)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:350)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -311,96 +774,88 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
-  </stacktrace>
-</error>
-
-<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?gb2?c2?definition: Judgment  |- ['center=⟨0,2⟩,radius=1,numteeth=10,angle=0.05'] : cogwheel" level="2">
-  <stacktrace>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17$adapted(RuleBasedChecker.scala:98)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
     <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$15(RuleBasedChecker.scala:98)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
-    <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.addDeclaration$1(StructureParser.scala:501)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModuleAux(StructureParser.scala:692)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModule(StructureParser.scala:481)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$readTheory$2(StructureParser.scala:772)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readTheory(StructureParser.scala:772)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInDocument(StructureParser.scala:420)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$apply$1(StructureParser.scala:93)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:93)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:83)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter.apply(Interpreter.scala:102)</element>
-    <element>info.kwarc.mmt.api.checking.Interpreter.importDocument(Interpreter.scala:53)</element>
-    <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
-  </stacktrace>
-</error>
-<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?gb2?c2?definition: Judgment  |- ['center=⟨0,2⟩,radius=1,numteeth=10,angle=0.05'] : cogwheel" level="2">
-  <stacktrace>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17$adapted(RuleBasedChecker.scala:98)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
     <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$15(RuleBasedChecker.scala:98)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
-    <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.addDeclaration$1(StructureParser.scala:501)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModuleAux(StructureParser.scala:692)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModule(StructureParser.scala:481)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$readTheory$2(StructureParser.scala:772)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readTheory(StructureParser.scala:772)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInDocument(StructureParser.scala:420)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$apply$1(StructureParser.scala:93)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:93)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:83)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter.apply(Interpreter.scala:102)</element>
-    <element>info.kwarc.mmt.api.checking.Interpreter.importDocument(Interpreter.scala:53)</element>
-    <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
+
 <error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking?definition: Judgment  |- eq_refl c1.radius+c2.radius : ⊦interlocking c1 c2" level="2">
   <stacktrace>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
@@ -412,10 +867,10 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
     <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15(MMTStructureChecker.scala:374)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$15$adapted(MMTStructureChecker.scala:350)</element>
     <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
+    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:350)</element>
     <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
     <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
     <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
@@ -441,93 +896,85 @@ type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid un
     <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
     <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
-  </stacktrace>
-</error>
-<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking?definition: Judgment  |- eq_refl c1.radius+c2.radius : ⊦interlocking c1 c2" level="2">
-  <stacktrace>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17$adapted(RuleBasedChecker.scala:98)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.$anonfun$addTasks$1(BuildQueue.scala:123)</element>
     <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$15(RuleBasedChecker.scala:98)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
-    <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.addDeclaration$1(StructureParser.scala:501)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModuleAux(StructureParser.scala:692)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModule(StructureParser.scala:481)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$readTheory$2(StructureParser.scala:772)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readTheory(StructureParser.scala:772)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInDocument(StructureParser.scala:420)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$apply$1(StructureParser.scala:93)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:93)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:83)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter.apply(Interpreter.scala:102)</element>
-    <element>info.kwarc.mmt.api.checking.Interpreter.importDocument(Interpreter.scala:53)</element>
-    <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
-  </stacktrace>
-</error>
-<error type="info.kwarc.mmt.api.checking.RuleBasedChecker$$anon$3" shortMsg="invalid unit: http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking?definition: Judgment  |- eq_refl c1.radius+c2.radius : ⊦interlocking c1 c2" level="2">
-  <stacktrace>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17(RuleBasedChecker.scala:99)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$17$adapted(RuleBasedChecker.scala:98)</element>
+    <element>info.kwarc.mmt.api.archives.TrivialBuildManager.addTasks(BuildQueue.scala:122)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:389)</element>
+    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.build(BuildTarget.scala:383)</element>
+    <element>info.kwarc.mmt.api.archives.BuildTarget.apply(BuildTarget.scala:227)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1(ArchiveAction.scala:119)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.$anonfun$buildArchive$1$adapted(ArchiveAction.scala:96)</element>
     <element>scala.collection.immutable.List.foreach(List.scala:392)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.$anonfun$apply$15(RuleBasedChecker.scala:98)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.logGroup(RuleBasedChecker.scala:17)</element>
-    <element>info.kwarc.mmt.api.checking.RuleBasedChecker.apply(RuleBasedChecker.scala:95)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17(MMTStructureChecker.scala:314)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.$anonfun$check$17$adapted(MMTStructureChecker.scala:290)</element>
-    <element>scala.Option.foreach(Option.scala:407)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.check(MMTStructureChecker.scala:290)</element>
-    <element>info.kwarc.mmt.api.checking.MMTStructureChecker.applyElementBegin(MMTStructureChecker.scala:73)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter$$anon$1.onElement(Interpreter.scala:96)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.seCont(StructureParser.scala:131)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.addDeclaration$1(StructureParser.scala:501)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModuleAux(StructureParser.scala:692)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInModule(StructureParser.scala:481)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$readTheory$2(StructureParser.scala:772)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readTheory(StructureParser.scala:772)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.readInDocument(StructureParser.scala:420)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.$anonfun$apply$1(StructureParser.scala:93)</element>
-    <element>scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup(Log.scala:34)</element>
-    <element>info.kwarc.mmt.api.frontend.Logger.logGroup$(Log.scala:31)</element>
-    <element>info.kwarc.mmt.api.parser.Parser.logGroup(Parser.scala:237)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:93)</element>
-    <element>info.kwarc.mmt.api.parser.KeywordBasedParser.apply(StructureParser.scala:83)</element>
-    <element>info.kwarc.mmt.api.checking.TwoStepInterpreter.apply(Interpreter.scala:102)</element>
-    <element>info.kwarc.mmt.api.checking.Interpreter.importDocument(Interpreter.scala:53)</element>
-    <element>info.kwarc.mmt.api.archives.Importer.buildFile(Index.scala:159)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTask(BuildTarget.scala:564)</element>
-    <element>info.kwarc.mmt.api.archives.TraversingBuildTarget.runBuildTaskIfNeeded(BuildTarget.scala:470)</element>
-    <element>info.kwarc.mmt.api.archives.BuildQueue$$anon$1.run(BuildQueue.scala:262)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive(ArchiveAction.scala:96)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveActionHandling.buildArchive$(ArchiveAction.scala:95)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.buildArchive(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ArchiveBuild.apply(ArchiveAction.scala:13)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle(ActionHandling.scala:48)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handle$(ActionHandling.scala:37)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handle(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine(ActionHandling.scala:33)</element>
+    <element>info.kwarc.mmt.api.frontend.actions.ActionHandling.handleLine$(ActionHandling.scala:31)</element>
+    <element>info.kwarc.mmt.api.frontend.Controller.handleLine(Controller.scala:74)</element>
+    <element>info.kwarc.mmt.intellij.MMTPluginInterface.handleLine(MMTPlugin.scala:117)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</element>
+    <element>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</element>
+    <element>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</element>
+    <element>java.base/java.lang.reflect.Method.invoke(Method.java:566)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror1.jinvokeraw(JavaMirrors.scala:407)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaMethodMirror.jinvoke(JavaMirrors.scala:373)</element>
+    <element>scala.reflect.runtime.JavaMirrors$JavaMirror$JavaVanillaMethodMirror.apply(JavaMirrors.scala:389)</element>
+    <element>info.kwarc.mmt.utils.Reflection$ThisReflectedInstance.method(Reflection.scala:32)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.method(Plugin.scala:111)</element>
+    <element>info.kwarc.mmt.intellij.MMTJar.handleLine(Plugin.scala:122)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.doAction(Shell.scala:39)</element>
+    <element>info.kwarc.mmt.intellij.ui.ShellViewer.actionPerformed(Shell.scala:34)</element>
+    <element>java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)</element>
+    <element>java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)</element>
+    <element>java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)</element>
+    <element>java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)</element>
+    <element>java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)</element>
+    <element>java.desktop/java.awt.Component.processEvent(Component.java:6431)</element>
+    <element>java.desktop/java.awt.Container.processEvent(Container.java:2263)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)</element>
+    <element>java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)</element>
+    <element>com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)</element>
+    <element>java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)</element>
+    <element>java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)</element>
+    <element>java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)</element>
+    <element>java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)</element>
+    <element>java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)</element>
+    <element>java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)</element>
+    <element>java.base/java.security.AccessController.doPrivileged(Native Method)</element>
+    <element>java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)</element>
+    <element>java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)</element>
+    <element>com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:894)</element>
+    <element>com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:835)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)</element>
+    <element>com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)</element>
+    <element>com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)</element>
+    <element>com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)</element>
+    <element>com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)</element>
+    <element>java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)</element>
   </stacktrace>
 </error>
 </errors>
diff --git a/narration/IntegrationTests/SituationTheory.omdoc b/narration/IntegrationTests/SituationTheory.omdoc
index f6ce7cc..8030e54 100644
--- a/narration/IntegrationTests/SituationTheory.omdoc
+++ b/narration/IntegrationTests/SituationTheory.omdoc
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<omdoc base="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#0.0.0:1966.78.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld/integrationtests"/><instruction text="import frameworld http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#194.6.0:220.6.26"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?MyScroll]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?MyScroll"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#1535.56.0:1549.56.14"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?SituationSpace]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?SituationSpace"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#1661.64.0:1681.64.20"/></metadata></mref></omdoc>
\ No newline at end of file
+<omdoc base="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#0.0.0:1962.78.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld/integrationtests"/><instruction text="import frameworld http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#194.6.0:220.6.26"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?MyScroll]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?MyScroll"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#1535.56.0:1549.56.14"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld/integrationtests?SituationSpace]" target="http://mathhub.info/FrameIT/frameworld/integrationtests?SituationSpace"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/IntegrationTests/SituationTheory.mmt#1661.64.0:1681.64.20"/></metadata></mref></omdoc>
\ No newline at end of file
diff --git a/narration/MetaTheories.omdoc b/narration/MetaTheories.omdoc
index a75d096..bb10aba 100644
--- a/narration/MetaTheories.omdoc
+++ b/narration/MetaTheories.omdoc
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<omdoc base="http://mathhub.info/FrameIT/frameworld/MetaTheories.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#0.0.0:1074.34.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://cds.omdoc.org/urtheories?LF"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#70.4.0:198.4.128"/></metadata>MMT meta keys and value constructors for meta annotations of facts in situation theories and (input/output) facts in scrolls</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?MetaAnnotations]" target="http://mathhub.info/FrameIT/frameworld?MetaAnnotations"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#200.5.0:221.5.21"/></metadata></mref><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#628.22.0:723.22.95"/></metadata>The meta theory to use for situation theories, scroll problem, and scroll solution theories</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?FrameworldMeta]" target="http://mathhub.info/FrameIT/frameworld?FrameworldMeta"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#725.23.0:745.23.20"/></metadata></mref></omdoc>
\ No newline at end of file
+<omdoc base="http://mathhub.info/FrameIT/frameworld/MetaTheories.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#0.0.0:1072.33.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://cds.omdoc.org/urtheories?LF"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#70.4.0:198.4.128"/></metadata>MMT meta keys and value constructors for meta annotations of facts in situation theories and (input/output) facts in scrolls</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?MetaAnnotations]" target="http://mathhub.info/FrameIT/frameworld?MetaAnnotations"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#200.5.0:221.5.21"/></metadata></mref><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#628.22.0:723.22.95"/></metadata>The meta theory to use for situation theories, scroll problem, and scroll solution theories</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?FrameworldMeta]" target="http://mathhub.info/FrameIT/frameworld?FrameworldMeta"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/MetaTheories.mmt#725.23.0:745.23.20"/></metadata></mref></omdoc>
\ No newline at end of file
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.rel b/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.rel
new file mode 100644
index 0000000..4662042
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Pushed$Out$Situation$Theory.rel
@@ -0,0 +1,2 @@
+theory http://mathhub.info/FrameIT/frameworld/integrationtests?PushedOutSituationTheory
+HasMeta http://mathhub.info/FrameIT/frameworld/integrationtests?PushedOutSituationTheory http://mathhub.info/FrameIT/frameworld?FrameworldMeta
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.rel b/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.rel
new file mode 100644
index 0000000..9040530
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/integrationtests/$Solution.rel
@@ -0,0 +1,2 @@
+theory http://mathhub.info/FrameIT/frameworld/integrationtests?Solution
+HasMeta http://mathhub.info/FrameIT/frameworld/integrationtests?Solution http://mathhub.info/FrameIT/frameworld?FrameworldMeta
diff --git a/relational/http..mathhub.info/LoViVo/gearbox/cogwheels.rel b/relational/http..mathhub.info/LoViVo/gearbox/cogwheels.rel
index 3aa05d2..18715a3 100644
--- a/relational/http..mathhub.info/LoViVo/gearbox/cogwheels.rel
+++ b/relational/http..mathhub.info/LoViVo/gearbox/cogwheels.rel
@@ -21,9 +21,6 @@ constant http://mathhub.info/LoViVo/gearbox?cogwheels/cogwheel_theory?angle
 DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels/cogwheel_theory?angle?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
 Declares http://mathhub.info/LoViVo/gearbox?cogwheels http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel
 constant http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?definition
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?type
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
 Declares http://mathhub.info/LoViVo/gearbox?cogwheels http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel_theory
 theory http://mathhub.info/LoViVo/gearbox?cogwheels/rotating_cogwheel_theory
 HasMeta http://mathhub.info/LoViVo/gearbox?cogwheels/rotating_cogwheel_theory http://mathhub.info/MitM/Foundation?Logic
@@ -36,6 +33,3 @@ constant http://mathhub.info/LoViVo/gearbox?cogwheels/rotating_cogwheel_theory?a
 DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels/rotating_cogwheel_theory?angular_force?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
 Declares http://mathhub.info/LoViVo/gearbox?cogwheels http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel
 constant http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?definition
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?type
-DependsOn http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
diff --git a/relational/http..mathhub.info/LoViVo/gearbox/gb2.rel b/relational/http..mathhub.info/LoViVo/gearbox/gb2.rel
index 9eec5e1..ee58104 100644
--- a/relational/http..mathhub.info/LoViVo/gearbox/gb2.rel
+++ b/relational/http..mathhub.info/LoViVo/gearbox/gb2.rel
@@ -15,6 +15,11 @@ Declares http://mathhub.info/LoViVo/gearbox?gb2 http://mathhub.info/LoViVo/gearb
 constant http://mathhub.info/LoViVo/gearbox?gb2?c2
 DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?type http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?type http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?definition
+DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?definition http://cds.omdoc.org/urtheories?NatSymbols?NAT?type
+DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?definition http://mathhub.info/MitM/Foundation?NatLiterals?pos_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?gb2?c2?definition http://mathhub.info/LoViVo/gearbox?cogwheels?cogwheel?definition
 Declares http://mathhub.info/LoViVo/gearbox?gb2 http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking
 constant http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking
 DependsOn http://mathhub.info/LoViVo/gearbox?gb2?proof_interlocking?type http://mathhub.info/MitM/Foundation?Logic?prop?type
diff --git a/relational/http..mathhub.info/LoViVo/gearbox/gearbox.rel b/relational/http..mathhub.info/LoViVo/gearbox/gearbox.rel
index ef6aadb..9c1f4a3 100644
--- a/relational/http..mathhub.info/LoViVo/gearbox/gearbox.rel
+++ b/relational/http..mathhub.info/LoViVo/gearbox/gearbox.rel
@@ -35,11 +35,9 @@ DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?implies?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?forall?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?definition
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?prop?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?ded?definition
-DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/LoViVo/gearbox?cogwheels?rotating_cogwheel?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
 DependsOn http://mathhub.info/LoViVo/gearbox?gearbox?coaxial_cogwheels?type http://mathhub.info/MitM/Foundation?Logic?eq?type
diff --git a/relational/http..mathhub.info/LoViVo/gearbox/temp.rel b/relational/http..mathhub.info/LoViVo/gearbox/temp.rel
index 18ae45a..7b51cc2 100644
--- a/relational/http..mathhub.info/LoViVo/gearbox/temp.rel
+++ b/relational/http..mathhub.info/LoViVo/gearbox/temp.rel
@@ -6,3 +6,18 @@ Includes http://mathhub.info/LoViVo/gearbox?temp http://mathhub.info/MitM/Founda
 Declares http://mathhub.info/LoViVo/gearbox?temp http://mathhub.info/LoViVo/gearbox?temp?dist
 constant http://mathhub.info/LoViVo/gearbox?temp?dist
 DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?exists_unique?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?ded?definition
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?NatLiterals?nat_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?exists_unique?definition
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?squareRoot?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?NatLiterals?pos_lit?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://cds.omdoc.org/urtheories?Bool?BOOL?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?exponentiation?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?ImplicitProof?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?subtraction?type
+DependsOn http://mathhub.info/LoViVo/gearbox?temp?dist?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
diff --git a/source/IntegrationTests/SituationTheory.mmt b/source/IntegrationTests/SituationTheory.mmt
index 8633382..bc4e894 100644
--- a/source/IntegrationTests/SituationTheory.mmt
+++ b/source/IntegrationTests/SituationTheory.mmt
@@ -66,6 +66,7 @@ theory SituationSpace =
   theory RootSituationTheory =
     include ?MyScroll ❙
     b: type ❙
+    p : point ❘ = ⟨0.0, 0.0, 0.0⟩ ❙
 
     view v : ?MyScroll/Problem -> ?SituationSpace/RootSituationTheory =
       a = b ❙
@@ -75,5 +76,6 @@ theory SituationSpace =
   theory PushedOutSituationTheory =
     include ?SituationSpace/RootSituationTheory ❙
     c: type ❘ = b ❙
+    q = p ❙
   ❚
 ❚
\ No newline at end of file
-- 
GitLab