From 715fcabb8592a165ddb27f2d60d98ab410eaf4bc Mon Sep 17 00:00:00 2001 From: gtfierro Date: Thu, 14 Mar 2024 00:41:50 +0000 Subject: [PATCH] deploy: e0b0771ed963b26f600dd8cafdc3e349b3cf0a68 --- .doctrees/environment.pickle | Bin 547468 -> 548213 bytes .../explanations/shapes-and-templates.doctree | Bin 37487 -> 37487 bytes .doctrees/guides/generating-queries.doctree | Bin 24788 -> 24788 bytes .../guides/ingress-bacnet-to-brick.doctree | Bin 199039 -> 197222 bytes .../buildingmotif.dataclasses.model.doctree | Bin 78408 -> 81192 bytes ...ildingmotif.dataclasses.validation.doctree | Bin 177218 -> 179593 bytes .doctrees/tutorials/model_correction.doctree | Bin 58026 -> 57890 bytes .doctrees/tutorials/model_creation.doctree | Bin 59344 -> 59509 bytes .doctrees/tutorials/model_validation.doctree | Bin 84377 -> 84377 bytes _modules/buildingmotif/api/views/model.html | 10 +- _modules/buildingmotif/dataclasses/model.html | 71 +- .../buildingmotif/dataclasses/validation.html | 9 +- _modules/buildingmotif/utils.html | 30 +- explanations/shapes-and-templates.html | 52 +- genindex.html | 6 +- guides/generating-queries.html | 4 +- guides/ingress-bacnet-to-brick.html | 1902 ++++++++--------- objects.inv | Bin 3874 -> 3880 bytes .../buildingmotif.dataclasses.model.html | 13 +- .../buildingmotif.dataclasses.validation.html | 9 +- reports/tutorials/model_validation.err.log | 18 +- searchindex.js | 2 +- tutorials/model_correction.html | 162 +- tutorials/model_creation.html | 28 +- tutorials/model_validation.html | 152 +- 25 files changed, 1239 insertions(+), 1229 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index fa5980a1b6aa7d2c2c8f36e66c661b3e68a678cd..c6ff72e5cde68ae0dcd377abff3166f74ff67c44 100644 GIT binary patch delta 36375 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 KS&t!fY5xaDF0Y~h delta 36148 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 delta 2845 zcmbW3Jxmlq6vrd6;WHtaaD{vrJu5Dm+1;6)C837}jsx-g)ZE7&oQD@mNT4DnbcZ}F z=qM;CNQBrLgM~IWCfb^4YfOlRy|YJhII~0cvF*PSs5NZSQJanuHsUb2QsF>qSK*+Vfn2q>`=V7BK22=*D60&XpR*fv?v^c52wdTn z9EXaaSQZ7xw#yY!CX|-~_;NpG0B^^FMc1JO#wHuupM^FmzX`CGU(pI z=)#GAEupM{bXJ!wJi>*`4dLS1-5FhXHjmS_47zx>d)A;k9GB+pxs;Y+sTfPa+T2dp z{}zTHzQ90phpJ=IEN78QxeV())^-0ZpyFkoL07VvG&4BN>uHu~ z{JriyQ7e=K3cLPPtI(qyszSLP#;95skG_7USr?1a5UzDGp87md0s`siww>7Lyn2 zSQD#IakH}SP9cTl{QR8a0tNe`{QTUI)LbAdBQ>!EBvO)Cl%86$`Hy`&Gcl?zGi@$& Hi<1HX?Jhj5 diff --git a/.doctrees/guides/ingress-bacnet-to-brick.doctree b/.doctrees/guides/ingress-bacnet-to-brick.doctree index 1acdf34fc5602a9364c1f19d7d39f3fa8a07b425..c0f05c7c85246159f9538bdc0ec76fef6f5194ce 100644 GIT binary patch delta 23483 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 McWtUu=gsi{3#BY{!2kdN delta 24595 zcmeHv34B%6wRiV{0GSCPOd;VSW2T#X&OIZ9K$yn>0vePlBSQitgdw01&^WvbGHh`9 zR1}=5Adu7nP>JyKtNI+Fb*u=azR%i<6rQcMGJXHO&$)q6-s`i^SFs=b{F(n+d+p)u zz1G@mud~nntS0LGhN!TWVVe?~)rCEzvWNK8;B`Djk7X)frTMs`_u{A36sGY{f<5?T z{qgXPvszBwIICUW-<0H025qUlR2aECxG$&Y6RA5`W zZ4?!nx^9#NORR!|l0w@lvUJ1oY3>7OhQK8q6ciQ~seuyR3FM=nU`au~sTQbCut+Vi z1NkM6S}Y3u$s&EP<=Vw`deLi8g;R5 z>6MMvSzNVnL4M)F+4E*zzRM;(R(tCFUw7H4x8M6@Rez`1YBKcy*2o*p??0KW8Q*EP z{##u}Y`ksbs*TGx_MVkErqe`jzj&V{9y-d*+U!n<3(8;gn;&n_(X zX_-95?u310u)U;BH(PijQ};!L5U{B2h7~XDqwz!8Dqr2VeOSP+2LoJPW$@^Jo{(;-Qb>o8#%K2L z6#*eDD0zJS?J4}h93NPQ8E{#38&i1O0jW_xNVnbik$$&Ebq_tUX*xW!zs(=Z?$Flu zl@6ThE~9DNa;!EUX>w%1AEF)kh&!`7cXEY8>-#@$uNm6otq0y7vHAu%@wTmVwZ_lq z4Cx-{b@JCG{J^kVqx1eGA`!8Awrz8^$j{RT^};d<>g14d0y!4na+}2m3=@1u3-Z{( z7QcC@OX<8E)c%E$eCM#}80*3uIEKcjFY)t}4IMTNjBFh=0vDIr`~b@K_mAKwhIeTt z`*#dX&mEaq?r@$xvU|K2PhFwo^YacPmIg;-2gZPVg&K(+yI#?999U$R&Vw&(QF;*Ux8!4LqE|q%lJ)@UKj22A? z{i^E7AqM@L6_7*xYo0sAZ*r@m^Oi?SeGK{$sq(j{IAJbo7&q2KzA0low0YKWp*pTW z($di_CGz?Bs#oH9ziaj8g63PMjda0@X~SI*J7J6qW=xpqHFbVjuFHy?IK&0jGqPQ9 zV8*pBI6iTd3;Is-IO`{kcR6tdxw0XZS1%vxp^7XAee%kdR*%jC4c)ULp zdfn#~b#z;tRy527EAocA;I+JoF7QqE9%$a=fiCB0u{Y?W#R zhM8Uq88?nf5_6;ad^lF*7nRMPSDaBaztCMU0|vi;riP&j)G%&z+mN5Sx;9dyuB5ez zx+uIE%1_OziZWYy1|(L`H5P#yjYSZyu>f5#7H_$?P8;E&KTI3uq1F>ddnkXx1P{Sr zJQOu?u!mO8=m!(Tna}5=h7L*xKDNw~MK=F(;z$o=O&af^z}#^j%2+N;8WlbB5y&+k zfs$4TyTk5KwnCU2z=0JbTo6+|AyIG~DDtwh*#+v%3`AM38e4XN-&{Qe4GWZ9-rYlg zs2=X2td(;cRr~6!eTP}&|94hRc7r>f ze{>Kpy(R5pR^3LOr&o3p;x<2hOR;Fd4)XGx4DPFp;t$@M;&I-*b%rYxs97jjP7r~L z=ulNv1Sx)AyJ!#uKsWHSMdg#ECLWv9nOqD*soC-Ud0@;B|gXXjBkOIhBir4mv77``B!WG+z3+lyh{xePfB_>3q!3gtF-xV)~yg z@ld}f#FFblguC~MR&+z>(N78`(G7!VlW4^-p`K69Xk6MWd62yQzM3e<^?2^clkOG1 z$S`gG);2L?2Iem2UnN4AyKnnq!2@FVNjb;lbx$pX@|yu&o()aja6-kwDTdGAk?vZq zi4Z<*rxfz+)#Mcq^yVucZqI+WQ$vHM?r`6(r2<(Re{k3Q#>u+^$HsfTSJUPd_o%G< zoq*{*_xjs=O9wx;wl^LGe13DS@a7IO17~X&L>m5p=^p=0zUr4c-&xnAQ^=`*Kh0en zG;NVVQ*5j>5Ye^HKdze|CXm7V|9rk2jwOd~@tl=9|MKU(B+vDz7FI~-6Q1rVYdCzx z(=(z(UB|7V^HmG_@*dBmh$^<`H4~bFHP84(HCyBRpD7Ut(N5a4WkMSS;qZ!on}>>O z&{Y|WpZcIbuRRjY%jz>BuEM;w)K^Jl@}!rlC9?R|m-0Py=#6;-;S{uN|4a|nzF8!Z z%EumyObZmDZP22|kSZ-l}cL8PxfEtJUSYu^{gee%7!KZyFOv|uL{_%&hF6?y5XA1=nA@7SHxya$UzZHgJARv0` z*K-Ae@g#pdr?~-N&sTpetj$E27xTN79$I!-bZes9nBQN}&>!-us7KxHQ9PN$ zSO0z)p3#E$i2S0`LvxM@4<&dfj?8QZ#4CsFOq*p9a}8_e)46d{M)DD7Wwz3 z1~GRQW^C#os@&DJ5l4J}a#W*%{~*2dj%RC(Cz^YEhizGnc|aA(6*mp2Aq}WoenEO^ zKm*xTs@u*oc*p2=-;6O=_cZCL_8Qy9)WpX)4GhD|Hdm5zMZH)(=|FZjZhHBC}8mH174 zSWkK>TWJxM_rvs_N&&ypg0{!9rIFXRluBp9@9?-YskG%o){=TN7Slqoa7Dn=r-=$C z15egqutfSrGp6Cu45-SPW=uzk84!ArO4FLNIFy(Hi}F8Vo#^i7ted25dagO^B_uU! z$YB{26UN%OWZiub%noDeLQpekei#dik{}(3Mw17_SVA+9lyg10Zq|aO3OQY+bzJ+s z*_q#hR>!k$m`@9Ol!K*(vPDGrqeaF@GNmR&wq+{nS+*f8OM|!_5H^?^a#GOTwk+P| z3sa=SZJB`@c0i;0gRC8;C$OG^hHWpY2Sal9VxRnTN?4GyXB!v+FHsw)5&Dk zBTNjyp*Op+G%*(8mNKY!chsG1J<;4riT+IWI)OqOqL=VguD9lTjo|rMqZv><;E$zvoQDVTW$r*dB zC(D$yO&aXh;2R z>_YYKF67RS*kRu84L1+c3DDWzEP$EA4l{l-_Kj&NuvAIPDPEHTTNk87ds5`0VS|C1 zr_y1SMGHaAwTJ9f)B!VQ2GmRw+K~twwX{@`1CUr_@J|X1lZfQDe>rz5@H>bnBi87Nm>&yhS zpq+LOjCixeyOWy%=>)B4IiO^G#hozf9o`b4oiPVUbvsEbX36sSvme-?vf zw}bF<{n=m%ZR#{YT9xBkRhz118H*OqE~^arPVl7?PU|CGvI8Yt2M8^3bYU?=(7r=k z7DJ(D`f4~g(J?OqXStx z+2H=6EQt~ZNyT?;hei*Acenik&q+Kt2u?zha1x#AvqA9eg0!jqV3-o1CI%Oz>}>3X zg7o&n=LWN^#y3A#r|!E>9mR}dHBq0rk)W7Xoxa74ijxy4xRYC;XD5fiF-vm&Ff2~e zP-u?rSFv_uhcZ7(RFzf@WmztQM;arFRn#7Vy&f~Plc$1%({6g!GV&|?$W(x@}dI#p$6}8V zv`)uINyP?|r=~HZS(|1kp+hgiqLz=AGZ!@Ig>f!Il!(LuC67nI0x?8*x80;k|aa<>ooXh+|(6MNIF185Uue)1B{k7PeBqdhm#I-B{F6eTn3JvGE$75$}CCSv~nUMKonVY zU?R(Qk#wEOldvy~0)uiVVP6Jx+|{X_#Nu31uFkPZ(v6w0l(_5UG9tMxqT_zkrMp9@ z19z85Wz%JYre@It(`ADQPo(mnp3b7M2&U_hr(O^L2?`E*>I~VQ8xW+@z8Q#eY#AR2 zwdkBDP1HgRmYc`Y(1JyE16d|*&qKr_r~_>w_E8=jJSfYe!}&N#0J>-C6_e$2fD%fv zW3np-cVAl|#jrJDPW;rlkj0`FNI5Yh3#B&NszG~iklKjQT%H7dH?np@Fep-0iIiM~ zKuVB7T6d##9JcPx;Mp5l90q99F$1n9V+sNrP>Aa@i`|~x0p3^4V(Hiv?0;9+?nk(G z9ck)(Ruz@k$30GBg*VFhS~c*F4r=l*s)tRrtmh?GRsu@~i(mPepsn8SWOpgmA!- z8$MeB>s>R4`9&^Xuv9uapJ|x1Al0duwEpERCj7g}x1@dL*fEn9!yON(U@bATV(%A@ zv7`ciOpp%UTY>Zfpy39Vw*{5>NH?YxOpD~mG8W+cE@+$PE?@&OEW^zqeX@W>p|)XA z+ybm+cqP0nNRzTFu?suMF1ow$LzPeq(cur*e@hy38@n}Pf_uWo(5PZHhWz4U1nHn` z`f@P>d?2C7sWEf&ON&GEfGkYK9LOGA!FpjDOqkK;C9F4uE!9ope!T<^TawaYcdx>B zFGzzXS7Ac|L~aG?7TR0IB3)80#HUp(1+$6N)Ka+&mMNl))R^*o+aYyk0E+MyM5MgNEMvWeBr=D~ma$Y(0+T`xIlid8RNm+dHEm-H zRhP5Gdyo)B4I6qFxCyZ*pa?EgY4uHV;XsKU>!q8pQHnB?zP?E=HM)=+DmJ3#H2G%M zMid)C*(lw0vs5$NKu-B)1V<=B_TUywLzm?&8qbYj;7*)hMlVMY1q$AzdO6ZafHFOV zbIx*>1i7ng1*h;MSgTlJV-d7_BV5kG+gMAv#5khj%)15wI-UV}tOwR00CvO+w};`_ z&aYuzu;Ad!kgea{EC+H9(pYhKuwepfURG$`?W_f@y#r?^!E`k}W3Ajg#AzGiZE3|? zmMYtpd7t;!vW}9H$L^SQY=CGFQC`EHY^Z3(%VoW~jg)rq6+(Q|oG3dgRRVnXcnj z1GN4LIL@7fEeqd?;Z5~J$eZ5V180ZR55Z%DhZDlREZ0RPTbPcqVn`LK~+%%v#Yq{|Y-p4IFFlg+K%}jm-yvKW?yG@TUVJd+g7&aa~%zOK# zLe@RX#6Bt?EvQldNAXmji`MRY6#9Pr0TwGK>gp0m#rcOXK^J=AS+-PpqZMuI&AQY5 zI}k5m*$jGX2i`A>1(X?;`p2=%`?HkhG+-y*Ap26`?TU9I)i^B`1$XXZZA57Ys!7Gl z%JAW($FWh62Dz+VtRH2jxpEpUO}j`WTwGO)pmV#>Xf574(6OH()Wj!_8ZF<&I*3wX ze7bOve%fEl;w1%b=}fzxkYm+R_=I$%GAhfUf2l({Rn+Oa3sUuUIAen{>2w_%;MNv7 zqSBvBpNu*WKx+CnX%f0khkuUIZt+8%M?8%IY&S8e>Zh4bX_ZWIM<$ znJA5U3cP(5$hFU~?&!ggho>!1No&fv1=iH=S(bu982UXsSSBiuos2ZY^c^^vBx@oW6i@aCkPwtgI7GcgudvVwlb>-WIzR$Bb)bQO6J)HBr+=;|% zzY#2+o_!uy2!x<_`>6#*yRltQ@g3(OFm+PE~-mhOCk^@1$65OHbY@C$fn1}flQ zh-v?#93RL@9@0pyXPK?%R4gi9ur##Kp|-e$MaN&nmQpzob7Sm7V`W(w-`ahM_`V*9 ze)sQ#wGAJH(iZjD#%>>k(y8^V{nZ)&N6z@>SFljOeMf{zuOft~>4%ls^#&9;elS+% z#2d^fwL$81_M5B?7O5+T7n}Pg%b~9aL!pn~iF&24u}lcsu2y>&^1{jg7K=uWa&c%s z_nP#3$dBSmUI$Us0`HTRWLZtd&u89Z?FA*{=fK;@ID;^#;%zp7(np{jd9CU0*YUm$ z1>PmC{jak=vI(^fZqLkpM_QMcf`)u6I`|HYj`VITycHn$EqCXb~*Wwr3nd9#4`ulp%OLghQFA zAg?1F`GCbUmDYE`I>vm6vk^+L#s8A2kZ~haTtrBK2qILZlzzo*Q9vvS?#K5L>mez* z$nwHM?XM6I3W4?SLj1_DkZu8G(kCA=1C7)zz*Z{-m%oc#rz&Dm+{jC$9q+=iNpk0} z;aln_LQ$pMxc6A(J(HljRqr7<9ytkmx%WNXR2(raBysp-78|;>vd?|344-~=o-Q*_ z9ckJF6s#;4LOFOLZa$pc(o$YOUIB$z>g3F zD7*nKMxv1oQm66Geno?P0-$}3=uCsuPw=+>PPT^)y6iWyJ)oz4}LJb^8cX+!ri(PaoDCQ()4AiXyw#>8PTN5TZKeA4dQo3gcQR?P=E^G2MHP zv*97u09yHH7DfY3AZa)HOSb5*`C$}ug3Sx@N7EZ8SXGFs4}k$Rwx!aV-Z=ro02fK+tlVZ?oUrDE7(*6iVjS9U2 zxT;6OCZIi6^@#osJxXw|ytAL+BRc$Zf5fOg9dMMYsA~6%H5JoqlK+o#a}XERBk_5F zu%rW#t|bi)QQJdc2>tF)Y>unx(aNq6dpM2zGn*ZvhSA$GiYtVchSBbCE>sy#Wq)Ba zFGwbR>y=5#2jY~n3uSklW@SPJEc)|lHo!%F&oEmco0goxSy-Z-XIM5(EyW@Et2202 z0iHu$&PwY-%su%m?sKbnLrv9ZrT+t(dW|yN<-OBZ!Bu}cl&r+l$aB&W;ROPmT>{C6C_UEOcCB&pbm=PMfWl#Qy_!hV2W_cK#__fj09+;qTou`92QB( zIx1p@@cN;1Cndv0V>-D*G%2QwTi2r8E{fXt1TWn zNp!Uo;cyp41Q2**Rh}rfF`!JJBBD^-$2*efDxO1IeQpiB8Sg9=6qo+ib(V5KW4cP? z1CpQ2?8t8^zYz#SXX2fESEYY*%^wK5<|>giSBYS*ej1mow2Hc-NBB-Rr6$}E*(?0| z5%Lj3#i)lWEt~RedZxQl6~4NsE9lUT-Iera8eSIx_-I>qC4%e>rHayfDB+Tym7)xk zU{wlM0+J>@p8}^X>KqT1si}%za;EiEGzlmbD+3ve-s!10k`8*$0S+ml?3gTcBm!x#M=oBhg_328MEIXU7sFa$b#LCK7{$Tr( z>BsceW+*K%ew`mU*Pae$D7`Kw5;x62r=Pjix%`xzVsQSZ=A&vGU_EA>X zP(?fjFNe0@Rs!@YLtwwgQBo+yQKD#3JjlN;4N|LYr7A4%*NCTR9YYINmeN~Pj;Gaq zlyn!B4OSxf`PpG^zQ3gsYU*T`l7gwSsdGQLg4LbDzoDPfU7&bclMX|_zaLurq^nz@ z4{a2K`d{oJjn4H$uQC0h|10rbBEIv)l?w5xB5lrw4mTmMxnKk1h9G{-o8oN`kfKEc zr8t74if@ogk_WIi2STUt^(nGm1C%FSR5u7lB6%zax(B4v)WP^>^8D;58UWD9GVzV7 z&9|O!Pdf%HJp@6=gkJshW0owbLqp($dJKV&JUN0j7xjWPW2iDJOa;^%-7P-0yy6G? zY)jRI;rIeHqr1{cT#1r2-91dPBsAr(!6HZOoeNi&hh#2WCrngFUc5UN^19*5EzMO6 z9y)mhv@T+V(z=nXP0b4vKd<57*Bebu^$nU|R#xo()a<~VLFG%!i}6dhqR_$>HFJ!T z9d6;fIr)#aj#0*wZxqyb`Y5IK5LmVRKG|2iFy9yG6A=G}4zb@;ANXma%k**K$63FT z=bGqW;fcIaBQek=7yF=tKw@03k|Dv$T;;boUIb{)SY;IL7^kQmF8U?s?_L`Rho{FX zx8tfq!#Kri<^3|Fq`n%U28&88M|JSS30i?x7zhN5byE)j6ggUfYT0I?U8t!Bey7;P z?^~-Srj?I6x^6k9t>U|%!`CXqY09Nc-n0#$|Zjsn>jEO_KtAi6E1o@y8>hFj45Xg22TOckU1NB*>Plo-!H zmGx7zFtf2w%(ci6%ik@BS&hB#P61fcIQG3<0kyb#_XP2p1#3>Fg>AHigm|64T7*4Q zX{2D!L8!s#y>()jMcv|tj5~eru}AEr!Q@qAQOgp+iA~*;v94((dY%jw?H24k>c+o+ z_v6M>@5h5UCvoxOp-^$gqOJglq9>Z#)9~3QMSRPnS@1RXz8iAOEb^v$H&Ea+n7c1kSR;8d!xgl;)j3I!C5CFIgh(uy5KDkY zVT!~#v(poXMGl0xqd8SPAg99_G`C2a#cgi-F{$MceHQG=807TzNT%yL3}K(&Ay?{T zWBLBkAiO*?O{Q5ADbs`!ysJGO;|?fdsmAJ8-($6G09GaV<$*L&r?DzQPivldQ^R`W zRxEe@KvuG?paE>4D8$NyVITW_hDTe1Fd#k#b7x@10GxasgE zL0n}%C;a(TbR>p-rj@BHP&f2E6bkJ~L#pRa2!%E*KbjA7B$07X+Mx(99{o2|@Nd=R z0IMjqV#7K&PZLE}wZH+%qRoPxz5;krpHxMYMxyOlF1#UanO=w1cxmbjMo^+|)54oL z;bCH9KYEphPK+u#QfSu|>`7C%-w9#Z(J_?JUXFoSn~9fsih({(@bWyWeN)YM!EAh? zb1kew>jyqZT6{p5NRQ%k;satf9Dn`6z3`Q!csegV;sRlKUEV=nrMe1NRIkD#o#FVq z4=u2Wv~CtodOa0g$17nlCVZ@5nN1NQ3X4}JgH;+br$|FZelobFp=FvhZ1|`EMv-A6 zW}YY%nLLHW>zWPn^l4-y z*|0`BF{M=+rI!P<*ua#wN&{0OLrqi;yhnyYR#@1H1wD~6AHQ$M&AvU;lHrszbgYn* z8SRUkJ^rvW8@`c-8;_2nCBKPVadH~IG(FVVzp}pTR@}07Aui}j5*Mu8pV5PS=d8Hy zl|om7O-h$PiFp_`Pm@C4g%bt8Fa6?pFr}ZfH({Mje8HNw0`Lk_z+ViPJyjWO#>* zLb4uA7SqUQzdPc%*6#5msNJ#k;CIj?Q8@cB+`KPT^nQ=y)d4sX z2ved5Q=-S_!@V3qQlj%(qokU{NFzKpT{gzrG}(B7rXPI-vhi*@$+>J}?18dXj30)V zK79-Fc}&xtT)Pf1#;yaf?mVsol-vX`9J|ksge7u}^+&FI8kT-$j=D`9pS4T*S=1k- zL=VCVxbgIYQ0_L$Emg{p@w~1U+|%P;vr`BuN~?LS>IbBA2$R`%dZ7$Jmmm>2YGTg^Mc>jGXM>ogFQ5F~@Zt2qm zCOldfm;^E^NV){!*m*5l9cKY2WRS5?&5VOep}Dfij1PE9TYUy}ufIG>d~C-LzpSL= zkYQL{iWoZ?%5-lsFrB5+z~Vv%&&51=i3}Q@s(w0e1g6n;>AaQ#4fMMZU6&>c&54P$ z1$?BfK7#?_au!n=bJ+`L827kl~M4#tXB9?s?r6Qz@(&?7 z27mVT1YvaGOaIMaH-CVDSoIghcfyV>FGpei)m7qt#+g7G?!feGIpQ8iV41~KhrGU$ zg|DwWdZR=U`xeP4e!srwZK6W=Bcfs%xu<6{4$oTN7cYLxv!)~6Nd4%vAYzL?iRm@p z6KV{m$6C7b+j~T--LIw1cB!TN9YI=pf*VcK(*1U+rDgwX6Mu8?B{mc1Uw=~^cIZkf z&N$@ljqb1EJ%mG2N((_!y8gzC;<`3Q7g$3djbZ0(o9J_3&y5LTOKV4vR`)qH0k}#l zM4EKjQC9%#5)2XU7)^rRF}eibFNbw4x;N$)9nOilNr(T+oPu?jpjd|= z3x**pi81cEV#E_y=&lz$S{w*s6rLC<%JT<~!lJw+7>A;;4AO&Tkdk}e08_xNb{OGq z5l2?J3arfPV|Tz>b%P0FGDN~E~`BbO;%4jSeJ#M+bCV(xe0DiK&=T#nANf2@Ro>la_fvVIDICkj&LJJ zM<8Jqnf(aqPCtSQL!eAdbW*F2)|Nd@{b&f7Qg2h#hiKBGxn5f}%&h%Q?TT8hzaDa` zrU-hsnHhvp9|4xA+hVB4BIqSco0Wj$jwzxdXeQrCe>i$kaCCXRJ*a05>8i&8DdMD~ z|Dd4F)PGRy*F~PU5g!zu7bwVF3C#|YvQG&GeXUY z0#$v^47tXDiE47p$qJ=@VWw3*#d%HFwEYt&7O%~^#goKB?T#d_O-{dB>~>1EFt~!$ z;uwe2)MBrb)k1yW3e&)(Zg#`n>bNM_07kVm5nS}Dn}|<-nkbT7db79*OC!e3ve^c? zFoq{)P_JaUWUs879|kV1RpMOy?jWZ1&-dIsAJ3n%sUt0rF1#*EZWO-|=SM}bORxZx zxa0v|tOek=6OSGtP!|r`UzWZ8b=A0XS)OspvOGiRT3I&oH~CVr(IwCCT^Iuog7`CY zadCA-gKJl;3yMG-B?9S+Jh9tdd`yZ@T=HC?U#$1%c|1G3ogf#@^;HA5>`Txx`-ai{ zWxMK%s`A6QWPqwK5gX z3>to%9Xjb_VRd+E@l*3E7njdlNQ&g+ffp8f6G)tBT&>E0e8bpSIv8IS&#SXDp)Bbf gznbzJkgu8VgM5DbcJqekZA^uu59*@JnJ^vx53SRJzW@LL delta 4561 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 delta 5659 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 diff --git a/.doctrees/tutorials/model_correction.doctree b/.doctrees/tutorials/model_correction.doctree index 8173db90a7fe3b8d590f16581a090f8eb16e4edc..7887ea2bfad84821c3fe79919eb40c4f6ed456c7 100644 GIT binary patch delta 5625 zcmcIndr(x@8RsrbSawBu3CLsF=C5Ai}&9y-y9 zR?80`8p~w29J4X4GiW_(<&}V5UvRv|631|Fn+nIrr|e+`D%t`KSNf znR|ZU?>pc5p63jY`JcM#FYgUF9CcCN6B}&Q==B9gLxJ9unVW~(jT>=gM*^Mu}I6}-?d^ZMw59f{$!qk?VH3W@Su^h zvkV^D`b3+AX7F_1F7!y~U`S@6j~AQZmgsGr>qC2Qs~Qt6N}Nt%F;e2qFG1N-9d0a9 zqHu}$2%#BnGy=0z*{DN49I36Kaz^~{mRJLiEWrC|Y}ETc*}NY2UD~dE6YvN%PIJ8xe`4YEVgVDGEI7pIr+9xz;rEZ%Ccl3GK?m6 zd2Kl*5sqCOlcdQM3PbEWN(^MPm@ESH+LZX4nac-}ROt2!lr2n> zTn*#0p)21PkHk}g=MLrUd0ZBWB(xQF{BxW5h}wz{IOmi0(Is}JwxR-?w`;t#(A8Pk zxL^QP7Aa0|cQ_Q?-uqObw>us$7Lq@wCfFACN5JDWO#SxtOI^3$`F|QDrkm8iYG@%iFN*4UQr3f*GrfWH3|;W8hv5 z!?{W&M&D%dEMMp!GsxH&oUaop;})Z#D;Yp$p*N!mBZa~NK=sho2--PiYJYe2i}bEq zQ4LM0T5>g*ORxh=*(gZ+jH|Wd>$7lvof7fugyAGdC6&md5il%gF@L?-a9-jquiYun z0>=j8qEhelHgjb~x}=Cli*02&-y}=RywjWKksc|*BP|kNuaw%0mY}$l%-~n~uGqd> zDva*2_K7VT-34Obc+f=Idwg)bGr=SDBP#IOI;jlQR`4@t+#=3G4-$r!d?nZozOEQ% z@Ur=|czj$#+%k(0^tN~9n%(8;UAa?G5)M~zvt3wqJagLRLK@Z~*+pQ4#dv6z9nWehcRjE7o9EC(JlFuu^`m38~56L-G52= zUC)urEgDWkX^VJok3>4^JG}diM~ArIOh@>B^PJARRIK-t$Rj27B$|#!;zT!#f2q2_ z_(YTNc!%#;x-IY>OOHf4K)R&(Rb_E?{S>JC^&%_WvqRmVz`e?H`@DOvhcABBO-J}w z-9*3l%&_>L8B-!LeH&WMv04ON})QH`G3^@^2|)85UO9*Fa_jzi>Dv$`QQ@B&*l-Y6`U;& zV5+cVWEo>4PMd>oM^=V3yyoX;Q!i_D`J&2Md@hb5Qq>=snO-856})^pjN2bw;m}x| zJ0HgkN=V2rB+09YRxS)~y-%FA7vwT#7>$?mm`j9Zz^zLPX4v`QQZ6GOc8O#D#|nmz zSpUamDrTHSY)OEFgz@H7)Eq8LuhXdMaO}!^%wuRqYnbnd$O`5<#z%J&9c6zUlPLpn z`$%SRF*(4&Y3Z;42R{2wrVd2SiIM;i<*^vOx`K&D$XF9&M)z0^Vf6!G@N{pO$eh`qloel8;$m6m%krU={TEzXKlSL zf!<%Vl|%OJB-yOCq{<;%O6Aag#xP{HrIH^Vf!Zi!XUW&zO+KBr4EtBS@otSzNPnRk z?LE%wufqJ9VrSc5{^Kv}Rgh$g#GZ)+%}xc8Aibxvc7JG>qpfa}qjO6~R!h^C&W`%_ zA^R>|ok)}&;^kjWXqlbROy(JP5SFC;K>~E{SG3hP(Du_#ZeeyMSt7>Tuy0bmD~|lw zqv)rdm}YOKpC9Pwd-@5Zz%2TqB<|>)`-7;a4z`ukmS(3K_Hpce9CIJX+Q%{WcG|SW zZ`=m98Ju=oAFp~F)jw+vRZE@1`Oa>muA>gNKg7aEQHm*3s~&Ap+$F9gc0a`3M=i`s I6n|^`AM$^kfdBvi delta 5622 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 diff --git a/.doctrees/tutorials/model_creation.doctree b/.doctrees/tutorials/model_creation.doctree index 7fca160a686ced7695915f0bbaf106d5b54a65be..ca5094ea0f75c723cc6664d4f8c342767de27f69 100644 GIT binary patch delta 4515 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

WC@OG*`YSmRa( z9%!6GYN4kQ1H<-AQO|q!#E>VIz^*+nsqUtxaPorU{<0}gbr(JzMNTO0H=nkl8yoqS zqBBU(A7JIr{6O1ed0U=MX8r8(ChPyI#I!;0vnLV8y;7Y)QqSJWgxr=Qp6jLLCw3qn zSOXxdMWFwYi@&WD-`w&Ap%DiDaOikmL&FT}D#6GX1R8AMYc&6bYa|WgTg@~@#_!konHyQZ8pL%5y-C@8x zOW&zfvk4LorK)(%p|Q02*Le4#;fQ0k>Y*A)dUY%M>O=G{cSjWM4;Um6f0dnvXlxx8~CnXR(5p; z{jt9#ES7Y$mdt^KQ&CT|=}`Cu$L0wo_L3WpUG_I>a&ea{yT>}ENF)Es@q zMZ=l)W^#=k&ZSq>vJ#-T!$2=#X@BIW&X2xuUuU%Z8cGv#!w9S9F6#*U?)eU(F!tRO z8ajl%=RM+h`!#}d#whud_Zzj(34Z-frWw24d~qT%!^Mk>1f!qaB#8fTC7t5O+C5%x z&y<}H!s!q1(uL@Zg*%tD@LAUqn(N1B`}*JjyhZg93fqI=`e@>)bUYZ5tvb!PdLzX_ z;_htXDY9q4#w&s3A^7B@(bUPQ0#vF}c92bXI;_29gpx~zbd$=OPHP4-j#3y)Va3ON zjH>fD7|(q?njRQf+&&1uTtg+5MhkzxY@|mAQbj6M`@ndmk4km^236yg(X?|QRXg0d z0`x{d)v-?|(Cz_L5O7ssZ;gbZt`&R@^D>p5>d=d9;^^_*)vr`pb$wsWHG9x)1Af`y8H;x=)ExL<4( zB@qg4j;Q6O=40i&)LyKdm)fjhSG-gsR?bU(9xLaiN_fRf4Z_NKseE5{*&oD;TkW{; ztkiwHRLtMbt~?F?Ys$*pjxx8^#O77u9rL?}6?n@XoWhP5vNA9|PcEl!hyAxoNjCU@ GCjJ-GQvUq_ diff --git a/.doctrees/tutorials/model_validation.doctree b/.doctrees/tutorials/model_validation.doctree index de3416ff46d7d9d860294b4205aabdd96d4c168b..54b00176bb1733a8bedbc5d209f19370a2ac6e79 100644 GIT binary patch delta 4095 zcmb_fUrbY17!OSha)k*@ZN&n$I;BkFZF^Tr)!7;mooGWC^X3!o)OqM>K-G}~R1Kx$%sD<4GBjMoJ{BOHbSSjKOT`?@>gXoi+4J8y`}cAZ;GAs4%cHrNzL=v8Ck3qd zvz*{-Xq|GQyWE4>>H<{O=4o!2iezB6R={Y55&vGDm&3hRw-r-y0lot~ULalrv4OQo zr5VV+Dd5)+i1{oxeJYf#v<3Xd9d7|Rq{i)ba!s%`v~PQMA3!x5a`r+o@87k&xV z!GC&-<{2!B*RC3lhvVntMeQ3p-b1Xi54%HbZ0ADt2zKY<-t!J%Q+(I;M|EOXF&r360@Z(z!TtHp}$nXgBGGZ z63so_a{Fk&koO&~bPa4}0=AtX<^gVQDEqcAGg)r`thNphTO&F{v`n_QIq>ikZJ8*? zr=kK5e|nwahuiv5U9Nqd?wN4g$~2v#GE@D?Jjp08PTS|2u(@gT;8o2MWQDIY!ebd# z$|BQ0l85iR*g(vM_$|YYxzN1%xDH2srk5ysD|70#UQ-!Y_^bJaa^33JG6UHKy(%%yg2s$sYS)v;25e=`z zUl&+^m(g52i0hXpNgdsbt2|>{=@c)IT9J3th$sJpaX9%g`V$ttMa)ry_(lVbcwSzp zw(_a{tWOkmz%-#oO7qAiuln0qxK|--e;bz|2kzh2H**QE$TjA^uLx1I>A%CVr0gU0 z;95#T4!pigECybdAr@#zbyMp|5_Zg7oPKuDh{C5m&MZbfLb+wDS0$@?-Y%`7BVoBp4pu#o7QasJU>`!`DW Bt?2*& delta 3881 zcmb_fT})I*6wa=-)Ll_zrAsX0f=00|$=$t|Wf$loNhtya7o?W5ps2+^KtTi_H0f-+7yQ1BK(I4mf= zs&X41gwyy)HMse`6w7gT5~@cbd)J8XQ`RCv&@0JA%ZPYVZT0>sg`nKzj4@(vW6&L8xVJ!6sdvKzgmb?Lzm)a zzYV`^Cnmb914g>51Dft+BT4NwtQ5cco(wi2X)IwOgF{H&wa^NuySS63i=J*mTD8sc z2RqrRGkk`a*IIlwWQS{O0t$yr=oBbTQ7#{TWR#U4xNjrw?Xe-Shrbi^*$G3Pf(Ltz zHMazN^^rj0ftT?9e$ifIuIlW)NNU}PNH9@Nr(P3how(f`<37>cUS4_3yVo2bRhR?~pOfd?#KQ519Zzm7Vp;|!QoDVS87CiTJ1@#>u|BgC1{>8 z%Q4p#rLUxk#rkdQOc@7a-BDd1^0OIY(}*4Su?(&br%oS2oZS>lLS~QIJMZ@|^v=iG zEW~=%8Xp!;gldILL!rZLws1G^NICSzi<8tdSUc-0W4c*GaZ73kZRL{0pn7~*Vzb=Dt-)?O zpKw`stDT_+LZ??WRPFMXuS``9SX9Q}4XWCU*axh)FP-;Kp2vnOi*T|1K*z4{aq+-S^T@uAoh1*U7UbT{-ffvp}4(jK{ug%BoSW@b5HX#%89It z1V4=MH$hcCE()P?)WaV_9L``*!guPQh|oOf!UoMlgFA2ZU7jwt$}$okN>+~-g%1m? zo?L_2@xQa@RiP%+zXmED-0eK}e7P|%f`nQ6<;4yderV{Uf2_5WE4 NbF(cs+>iIw{s$R3X6yg} diff --git a/_modules/buildingmotif/api/views/model.html b/_modules/buildingmotif/api/views/model.html index a8ae306cc..0eb2c519e 100644 --- a/_modules/buildingmotif/api/views/model.html +++ b/_modules/buildingmotif/api/views/model.html @@ -569,8 +569,9 @@

Source code for buildingmotif.api.views.model

return {"message": f"No model with id {models_id}"}, status.HTTP_404_NOT_FOUND shape_collections = [] + shacl_engine = None - # no body provided -- default to model manifest + # no body provided -- default to model manifest and default SHACL engine if request.content_length is None: shape_collections = [model.get_manifest()] else: @@ -601,15 +602,18 @@

Source code for buildingmotif.api.views.model

"message": f"Libraries with ids {nonexistent_libraries} do not exist" }, status.HTTP_400_BAD_REQUEST + # get shacl engine if it is provided + shacl_engine = body.get("shacl_engine", None) + # if shape_collections is empty, model.validate will default # to the model's manifest - vaildation_context = model.validate(shape_collections) + vaildation_context = model.validate(shape_collections, engine=shacl_engine) return { "message": vaildation_context.report_string, "valid": vaildation_context.valid, "reasons": { - focus_node: [gd.reason() for gd in grahdiffs] + focus_node: list(set(gd.reason() for gd in grahdiffs)) for focus_node, grahdiffs in vaildation_context.diffset.items() }, }, status.HTTP_200_OK
diff --git a/_modules/buildingmotif/dataclasses/model.html b/_modules/buildingmotif/dataclasses/model.html index b2c3d10ca..8b1e3d1ca 100644 --- a/_modules/buildingmotif/dataclasses/model.html +++ b/_modules/buildingmotif/dataclasses/model.html @@ -406,7 +406,6 @@

Source code for buildingmotif.dataclasses.model

< from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, List, Optional -import pyshacl import rdflib import rfc3987 from rdflib import URIRef @@ -552,7 +551,7 @@

Source code for buildingmotif.dataclasses.model

< self, shape_collections: Optional[List[ShapeCollection]] = None, error_on_missing_imports: bool = True, - engine: str = "pyshacl", + engine: Optional[str] = "pyshacl", ) -> "ValidationContext": """Validates this model against the given list of ShapeCollections. If no list is provided, the model will be validated against the model's "manifest". @@ -590,28 +589,40 @@

Source code for buildingmotif.dataclasses.model

< ).graph # inline sh:node for interpretability shapeg = rewrite_shape_graph(shapeg) + + # skolemize the shape graph so we have consistent identifiers across + # validation through the interpretation of the validation report + shapeg = shapeg.skolemize() + + shapeg.serialize("/tmp/shapeg.ttl", format="turtle") + # TODO: do we want to preserve the materialized triples added to data_graph via reasoning? data_graph = copy_graph(self.graph) - - # perform inference on the data graph - shacl_inference(data_graph, shapeg) + data_graph.serialize("/tmp/data_graph.ttl", format="turtle") # validate the data graph valid, report_g, report_str = shacl_validate(data_graph, shapeg, engine) return ValidationContext( shape_collections, + shapeg, valid, report_g, report_str, self, )
-
[docs] def compile(self, shape_collections: List["ShapeCollection"]): +
[docs] def compile( + self, shape_collections: List["ShapeCollection"], engine: str = "pyshacl" + ): """Compile the graph of a model against a set of ShapeCollections. :param shape_collections: list of ShapeCollections to compile the model against :type shape_collections: List[ShapeCollection] + :param engine: the engine to use for validation. "pyshacl" or "topquadrant". Using topquadrant + requires Java to be installed on this machine, and the "topquadrant" feature on BuildingMOTIF, + defaults to "pyshacl" + :type engine: str :return: copy of model's graph that has been compiled against the ShapeCollections :rtype: Graph @@ -624,39 +635,7 @@

Source code for buildingmotif.dataclasses.model

< model_graph = copy_graph(self.graph).skolemize() - # We use a fixed-point computation approach to 'compiling' RDF models. - # We accomlish this by keeping track of the size of the graph before and after - # the inference step. If the size of the graph changes, then we know that the - # inference has had some effect. We do this at most 3 times to avoid looping - # forever. - pre_compile_length = len(model_graph) # type: ignore - pyshacl.validate( - data_graph=model_graph, - shacl_graph=ontology_graph, - ont_graph=ontology_graph, - advanced=True, - inplace=True, - js=True, - allow_warnings=True, - ) - post_compile_length = len(model_graph) # type: ignore - - attempts = 3 - while attempts > 0 and post_compile_length != pre_compile_length: - pre_compile_length = len(model_graph) # type: ignore - pyshacl.validate( - data_graph=model_graph, - shacl_graph=ontology_graph, - ont_graph=ontology_graph, - advanced=True, - inplace=True, - js=True, - allow_warnings=True, - ) - post_compile_length = len(model_graph) # type: ignore - attempts -= 1 - model_graph -= ontology_graph - return model_graph.de_skolemize()
+ return shacl_inference(model_graph, ontology_graph, engine)
[docs] def test_model_against_shapes( self, @@ -703,15 +682,17 @@

Source code for buildingmotif.dataclasses.model

< temp_model_graph += ontology_graph.cbd(shape_uri) - valid, report_g, report_str = pyshacl.validate( - data_graph=temp_model_graph, - ont_graph=ontology_graph, - allow_warnings=True, - advanced=True, - js=True, + # skolemize the shape graph so we have consistent identifiers across + # validation through the interpretation of the validation report + ontology_graph = ontology_graph.skolemize() + + valid, report_g, report_str = shacl_validate( + temp_model_graph, ontology_graph ) + results[shape_uri] = ValidationContext( shape_collections, + ontology_graph, valid, report_g, report_str, diff --git a/_modules/buildingmotif/dataclasses/validation.html b/_modules/buildingmotif/dataclasses/validation.html index f9beb726c..da4a6fca5 100644 --- a/_modules/buildingmotif/dataclasses/validation.html +++ b/_modules/buildingmotif/dataclasses/validation.html @@ -657,6 +657,9 @@

Source code for buildingmotif.dataclasses.validation

""" shape_collections: List[ShapeCollection] + # the shapes graph that was used to validate the model + # This will be skolemized! + shapes_graph: Graph valid: bool report: rdflib.Graph report_string: str @@ -669,10 +672,6 @@

Source code for buildingmotif.dataclasses.validation

""" return self._report_to_diffset() - @cached_property - def _context(self) -> Graph: - return sum((sc.graph for sc in self.shape_collections), start=Graph()) # type: ignore -
[docs] def as_templates(self) -> List["Template"]: """Produces the set of templates that reconcile the GraphDiffs from the SHACL validation report. @@ -730,7 +729,7 @@

Source code for buildingmotif.dataclasses.validation

# TODO: for future use # proppath = SH["property"] | (SH.qualifiedValueShape / SH["property"]) # type: ignore - g = self.report + self._context + g = self.report + self.shapes_graph diffs: Dict[Optional[URIRef], Set[GraphDiff]] = defaultdict(set) for result in g.objects(predicate=SH.result): # check if the failure is due to our count constraint component diff --git a/_modules/buildingmotif/utils.html b/_modules/buildingmotif/utils.html index 5ca071c3c..5e156e7ab 100644 --- a/_modules/buildingmotif/utils.html +++ b/_modules/buildingmotif/utils.html @@ -962,7 +962,7 @@

Source code for buildingmotif.utils

         try:
             from brick_tq_shacl.topquadrant_shacl import validate as tq_validate
 
-            return tq_validate(data_graph, shape_graph or Graph())  # type: ignore
+            return tq_validate(data_graph.skolemize(), (shape_graph or Graph()).skolemize())  # type: ignore
         except ImportError:
             logging.info(
                 "TopQuadrant SHACL engine not available. Using PySHACL instead."
@@ -1001,13 +1001,21 @@ 

Source code for buildingmotif.utils

         try:
             from brick_tq_shacl.topquadrant_shacl import infer as tq_infer
 
-            return tq_infer(data_graph, shape_graph or Graph())
+            return tq_infer(
+                data_graph.skolemize(), (shape_graph or Graph()).skolemize()
+            )
         except ImportError:
             logging.info(
                 "TopQuadrant SHACL engine not available. Using PySHACL instead."
             )
             pass
 
+    # We use a fixed-point computation approach to 'compiling' RDF models.
+    # We accomlish this by keeping track of the size of the graph before and after
+    # the inference step. If the size of the graph changes, then we know that the
+    # inference has had some effect. We do this at most 3 times to avoid looping
+    # forever.
+    pre_compile_length = len(data_graph)  # type: ignore
     pyshacl.validate(
         data_graph=data_graph,
         shacl_graph=shape_graph,
@@ -1017,7 +1025,23 @@ 

Source code for buildingmotif.utils

         js=True,
         allow_warnings=True,
     )
-    return data_graph
+ post_compile_length = len(data_graph) # type: ignore + + attempts = 3 + while attempts > 0 and post_compile_length != pre_compile_length: + pre_compile_length = len(data_graph) # type: ignore + pyshacl.validate( + data_graph=data_graph, + shacl_graph=shape_graph, + ont_graph=shape_graph, + advanced=True, + inplace=True, + js=True, + allow_warnings=True, + ) + post_compile_length = len(data_graph) # type: ignore + attempts -= 1 + return data_graph - (shape_graph or Graph())
diff --git a/explanations/shapes-and-templates.html b/explanations/shapes-and-templates.html index b791590fe..ae4f64305 100644 --- a/explanations/shapes-and-templates.html +++ b/explanations/shapes-and-templates.html @@ -608,82 +608,82 @@

Example -
2024-03-12 21:31:05,452 | root |  WARNING: Warning: could not find dependee http://data.ashrae.org/bacnet/2020#BACnetDevice
+
2024-03-14 00:39:25,959 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7484
 
-
2024-03-12 21:31:05,455 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7410
+
2024-03-14 00:39:25,960 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7478
 
-
2024-03-12 21:31:05,456 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7414
+
2024-03-14 00:39:25,960 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7480
 
-
2024-03-12 21:31:05,456 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7418
+
2024-03-14 00:39:25,961 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7476
 
-
2024-03-12 21:31:05,457 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7416
+
2024-03-14 00:39:25,961 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7482
 
-
2024-03-12 21:31:05,458 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7412
+
2024-03-14 00:39:25,964 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7418
 
-
2024-03-12 21:31:05,458 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7420
+
2024-03-14 00:39:25,965 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7420
 
-
2024-03-12 21:31:05,460 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7476
+
2024-03-14 00:39:25,965 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7414
 
-
2024-03-12 21:31:05,461 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7478
+
2024-03-14 00:39:25,966 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7412
 
-
2024-03-12 21:31:05,461 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7484
+
2024-03-14 00:39:25,966 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7416
 
-
2024-03-12 21:31:05,461 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7480
+
2024-03-14 00:39:25,966 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7410
 
-
2024-03-12 21:31:05,462 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7482
+
2024-03-14 00:39:25,967 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7461
 
-
2024-03-12 21:31:05,462 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7465
+
2024-03-14 00:39:25,967 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7463
 
-
2024-03-12 21:31:05,463 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7459
+
2024-03-14 00:39:25,968 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7469
 
-
2024-03-12 21:31:05,463 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7467
+
2024-03-14 00:39:25,969 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7467
 
-
2024-03-12 21:31:05,464 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7463
+
2024-03-14 00:39:25,970 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7459
 
-
2024-03-12 21:31:05,464 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7461
+
2024-03-14 00:39:25,970 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7465
 
-
2024-03-12 21:31:05,464 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7469
+
2024-03-14 00:39:25,971 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7560
 
-
2024-03-12 21:31:05,465 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7556
+
2024-03-14 00:39:25,972 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7556
 
-
2024-03-12 21:31:05,465 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7558
+
2024-03-14 00:39:25,972 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7552
 
-
2024-03-12 21:31:05,466 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7554
+
2024-03-14 00:39:25,972 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7554
 
-
2024-03-12 21:31:05,466 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7552
+
2024-03-14 00:39:25,973 | root |  WARNING: Warning: could not find dependee n1fdfee77c2dc46c1ab1e1149450e0477b7558
 
-
2024-03-12 21:31:05,466 | root |  WARNING: Warning: could not find dependee n67d20ae789c4418ebd8a433df8d016ceb7560
+
2024-03-14 00:39:25,975 | root |  WARNING: Warning: could not find dependee http://data.ashrae.org/bacnet/2020#BACnetDevice
 
-
2024-03-12 21:31:10,149 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Position_Command
+
2024-03-14 00:39:30,484 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Position_Command
 
-
2024-03-12 21:31:10,150 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
+
2024-03-14 00:39:30,484 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
 
-
2024-03-12 21:31:10,152 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
+
2024-03-14 00:39:30,486 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
 
diff --git a/genindex.html b/genindex.html index 217aafccd..37899fe18 100644 --- a/genindex.html +++ b/genindex.html @@ -1461,10 +1461,10 @@

S

  • shape_collection (DBLibrary attribute)
  • - - +
    -
    <Graph identifier=df6cf99f-3f83-4e54-801a-37b93fae53a8 (<class 'rdflib.graph.Graph'>)>
    +
    <Graph identifier=bb47aa04-f756-4c49-a9e4-29b979ab979e (<class 'rdflib.graph.Graph'>)>
     
    @@ -613,7 +613,7 @@

    Generating Queries from Shapes
    PREFIX sh: <http://www.w3.org/ns/shacl#>
     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
     PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    -         SELECT ?coolsp ?roomTemp ?heatsp ?target WHERE {
    +         SELECT ?heatsp ?roomTemp ?target ?coolsp WHERE {
     ?target rdf:type/rdfs:subClassOf* <https://brickschema.org/schema/Brick#Fan_Coil_Unit> .
     ?target <https://brickschema.org/schema/Brick#hasPoint> ?coolsp .
      ?coolsp rdf:type/rdfs:subClassOf* <https://brickschema.org/schema/Brick#Occupied_Cooling_Temperature_Setpoint> .
    diff --git a/guides/ingress-bacnet-to-brick.html b/guides/ingress-bacnet-to-brick.html
    index 20a3c94fc..c76a418f4 100644
    --- a/guides/ingress-bacnet-to-brick.html
    +++ b/guides/ingress-bacnet-to-brick.html
    @@ -617,316 +617,302 @@ 

    BACnet Network Setup
    #0 building with "default" instance using docker driver
     
    -#1 [device internal] load .dockerignore
    -#1 transferring context: 2B done
    +#1 [device internal] load build definition from Dockerfile.bacnet
    +#1 transferring dockerfile: 276B done
     #1 DONE 0.0s
     
    -#2 [device internal] load build definition from Dockerfile.bacnet
    -#2 transferring dockerfile: 276B done
    +#2 [device internal] load .dockerignore
    +#2 transferring context: 2B done
     #2 DONE 0.0s
     
     #3 [device auth] library/ubuntu:pull token for registry-1.docker.io
     #3 DONE 0.0s
     
     #4 [device internal] load metadata for docker.io/library/ubuntu:latest
    +#4 DONE 0.4s
     
    -
    #4 DONE 0.8s
    -
    -#5 [device internal] load build context
    -#5 transferring context: 2.30kB done
    +
    #5 [device 1/6] FROM docker.io/library/ubuntu:latest@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
     #5 DONE 0.0s
     
    -#6 [device 1/6] FROM docker.io/library/ubuntu:latest@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
    -#6 resolve docker.io/library/ubuntu:latest@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e done
    -#6 sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e 1.13kB / 1.13kB done
    -#6 sha256:aa772c98400ef833586d1d517d3e8de670f7e712bf581ce6053165081773259d 424B / 424B done
    -#6 sha256:ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459 2.30kB / 2.30kB done
    -#6 sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb 6.98MB / 29.54MB 0.1s
    -
    -
    -
    #6 sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb 24.12MB / 29.54MB 0.3s
    -#6 sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb 29.54MB / 29.54MB 0.4s done
    -#6 extracting sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb
    -
    -
    -
    #6 extracting sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb 0.9s done
    -#6 DONE 1.4s
    +#6 [device internal] load build context
    +#6 transferring context: 2.30kB done
    +#6 DONE 0.0s
     
     #7 [device 2/6] WORKDIR /opt
    -#7 DONE 0.1s
    +#7 DONE 0.0s
     
     #8 [device 3/6] RUN apt update     && apt install -y     python3     python3-pip     && rm -rf /var/lib/apt/lists/*
    -#8 0.164 
    -#8 0.164 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    -#8 0.164 
    -
    -
    -
    #8 0.251 Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
    -#8 0.255 Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
    -#8 0.430 Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
    -#8 0.471 Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1960 kB]
    -#8 0.473 Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
    -#8 0.560 Get:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
    -
    -
    -
    #8 0.669 Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1568 kB]
    -#8 0.688 Get:8 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.6 kB]
    -#8 0.688 Get:9 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1078 kB]
    -
    -
    -
    #8 0.884 Get:10 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
    -
    -
    -
    #8 0.888 Get:11 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
    -#8 0.888 Get:12 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
    -#8 0.897 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1997 kB]
    -#8 0.923 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [50.4 kB]
    -#8 0.924 Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1847 kB]
    -#8 0.952 Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1350 kB]
    -#8 0.958 Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [80.9 kB]
    -#8 0.959 Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.3 kB]
    -
    -
    -
    #8 1.658 Fetched 30.3 MB in 1s (20.6 MB/s)
    -#8 1.658 Reading package lists...
    -
    -
    -
    #8 2.300 Building dependency tree...
    -#8 2.433 Reading state information...
    -
    -
    -
    #8 2.445 1 package can be upgraded. Run 'apt list --upgradable' to see it.
    -#8 2.450 
    -#8 2.450 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    -#8 2.450 
    -#8 2.478 Reading package lists...
    -
    -
    -
    #8 3.119 Building dependency tree...
    -#8 3.270 Reading state information...
    -
    -
    -
    #8 3.400 The following additional packages will be installed:
    -#8 3.400   binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2
    -#8 3.400   ca-certificates cpp cpp-11 dirmngr dpkg-dev fakeroot fontconfig-config
    -#8 3.400   fonts-dejavu-core g++ g++-11 gcc gcc-11 gcc-11-base gnupg gnupg-l10n
    -#8 3.400   gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm
    -#8 3.400   javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
    -#8 3.400   libalgorithm-merge-perl libasan6 libassuan0 libatomic1 libbinutils
    -#8 3.400   libbrotli1 libbsd0 libc-dev-bin libc-devtools libc6-dev libcc1-0
    -#8 3.400   libcrypt-dev libctf-nobfd0 libctf0 libdeflate0 libdpkg-perl libexpat1
    -#8 3.400   libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfreetype6
    -#8 3.400   libgcc-11-dev libgd3 libgdbm-compat4 libgdbm6 libgomp1 libisl23 libitm1
    -#8 3.400   libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc
    -#8 3.400   libjs-underscore libksba8 libldap-2.5-0 libldap-common
    -#8 3.400   liblocale-gettext-perl liblsan0 libmd0 libmpc3 libmpdec3 libmpfr6 libnpth0
    -#8 3.400   libnsl-dev libperl5.34 libpng16-16 libpython3-dev libpython3-stdlib
    -#8 3.400   libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib
    -#8 3.400   libquadmath0 libreadline8 libsasl2-2 libsasl2-modules libsasl2-modules-db
    -#8 3.400   libsqlite3-0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1
    -#8 3.401   libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4
    -#8 3.401   linux-libc-dev lto-disabled-list make manpages manpages-dev media-types
    -#8 3.401   netbase openssl patch perl perl-modules-5.34 pinentry-curses python3-dev
    -#8 3.401   python3-distutils python3-lib2to3 python3-minimal python3-pkg-resources
    -#8 3.401   python3-setuptools python3-wheel python3.10 python3.10-dev
    -#8 3.401   python3.10-minimal readline-common rpcsvc-proto ucf xz-utils zlib1g-dev
    -#8 3.401 Suggested packages:
    -#8 3.401   binutils-doc bzip2-doc cpp-doc gcc-11-locales dbus-user-session
    -#8 3.401   libpam-systemd pinentry-gnome3 tor debian-keyring g++-multilib
    -#8 3.401   g++-11-multilib gcc-11-doc gcc-multilib autoconf automake libtool flex bison
    -#8 3.401   gdb gcc-doc gcc-11-multilib parcimonie xloadimage scdaemon apache2
    -#8 3.401   | lighttpd | httpd glibc-doc git bzr libgd-tools gdbm-l10n
    -#8 3.401   libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
    -#8 3.401   libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql
    -#8 3.401   libstdc++-11-doc make-doc man-browser ed diffutils-doc perl-doc
    -#8 3.401   libterm-readline-gnu-perl | libterm-readline-perl-perl
    -#8 3.401   libtap-harness-archive-perl pinentry-doc python3-doc python3-tk python3-venv
    -#8 3.401   python-setuptools-doc python3.10-venv python3.10-doc binfmt-support
    -#8 3.401   readline-doc
    -#8 3.597 The following NEW packages will be installed:
    -#8 3.597   binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2
    -
    -
    -
    #8 3.597   ca-certificates cpp cpp-11 dirmngr dpkg-dev fakeroot fontconfig-config
    -#8 3.597   fonts-dejavu-core g++ g++-11 gcc gcc-11 gcc-11-base gnupg gnupg-l10n
    -#8 3.597   gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm
    -#8 3.597   javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
    -#8 3.597   libalgorithm-merge-perl libasan6 libassuan0 libatomic1 libbinutils
    -#8 3.597   libbrotli1 libbsd0 libc-dev-bin libc-devtools libc6-dev libcc1-0
    -#8 3.597   libcrypt-dev libctf-nobfd0 libctf0 libdeflate0 libdpkg-perl libexpat1
    -#8 3.597   libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfreetype6
    -#8 3.597   libgcc-11-dev libgd3 libgdbm-compat4 libgdbm6 libgomp1 libisl23 libitm1
    -#8 3.597   libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc
    -#8 3.597   libjs-underscore libksba8 libldap-2.5-0 libldap-common
    -#8 3.598   liblocale-gettext-perl liblsan0 libmd0 libmpc3 libmpdec3 libmpfr6 libnpth0
    -#8 3.598   libnsl-dev libperl5.34 libpng16-16 libpython3-dev libpython3-stdlib
    -#8 3.598   libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib
    -#8 3.598   libquadmath0 libreadline8 libsasl2-2 libsasl2-modules libsasl2-modules-db
    -#8 3.598   libsqlite3-0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1
    -#8 3.598   libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4
    -#8 3.598   linux-libc-dev lto-disabled-list make manpages manpages-dev media-types
    -#8 3.598   netbase openssl patch perl perl-modules-5.34 pinentry-curses python3
    -#8 3.599   python3-dev python3-distutils python3-lib2to3 python3-minimal python3-pip
    -#8 3.599   python3-pkg-resources python3-setuptools python3-wheel python3.10
    -#8 3.599   python3.10-dev python3.10-minimal readline-common rpcsvc-proto ucf xz-utils
    -#8 3.599   zlib1g-dev
    -#8 3.780 0 upgraded, 131 newly installed, 0 to remove and 1 not upgraded.
    -#8 3.780 Need to get 101 MB of archives.
    -#8 3.780 After this operation, 356 MB of additional disk space will be used.
    -#8 3.780 Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblocale-gettext-perl amd64 1.07-4build3 [17.1 kB]
    -
    -
    -
    #8 3.845 Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-minimal amd64 3.10.12-1~22.04.3 [812 kB]
    -#8 4.016 Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libexpat1 amd64 2.4.7-1ubuntu0.2 [91.0 kB]
    -#8 4.021 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-minimal amd64 3.10.12-1~22.04.3 [2242 kB]
    -#8 4.081 Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-minimal amd64 3.10.6-1~22.04 [24.3 kB]
    -#8 4.081 Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 media-types all 7.0.0 [25.5 kB]
    -#8 4.082 Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpdec3 amd64 2.5.1-2build2 [86.8 kB]
    -#8 4.083 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 readline-common all 8.1.2-1 [53.5 kB]
    -#8 4.083 Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libreadline8 amd64 8.1.2-1 [153 kB]
    -#8 4.085 Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsqlite3-0 amd64 3.37.2-2ubuntu0.3 [641 kB]
    -#8 4.093 Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-stdlib amd64 3.10.12-1~22.04.3 [1848 kB]
    -#8 4.111 Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10 amd64 3.10.12-1~22.04.3 [508 kB]
    -#8 4.116 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3-stdlib amd64 3.10.6-1~22.04 [6910 B]
    -
    -
    -
    #8 4.117 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3 amd64 3.10.6-1~22.04 [22.8 kB]
    -#8 4.146 Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 perl-modules-5.34 all 5.34.0-3ubuntu1.3 [2976 kB]
    -#8 4.164 Get:16 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgdbm6 amd64 1.23-1 [33.9 kB]
    -#8 4.164 Get:17 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgdbm-compat4 amd64 1.23-1 [6606 B]
    -#8 4.165 Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libperl5.34 amd64 5.34.0-3ubuntu1.3 [4820 kB]
    -#8 4.223 Get:19 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 perl amd64 5.34.0-3ubuntu1.3 [232 kB]
    -#8 4.225 Get:20 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssl amd64 3.0.2-0ubuntu1.15 [1186 kB]
    -#8 4.247 Get:21 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ca-certificates all 20230311ubuntu0.22.04.1 [155 kB]
    -#8 4.248 Get:22 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmd0 amd64 1.0.4-1build1 [23.0 kB]
    -#8 4.248 Get:23 http://archive.ubuntu.com/ubuntu jammy/main amd64 libbsd0 amd64 0.11.5-1 [44.8 kB]
    -#8 4.249 Get:24 http://archive.ubuntu.com/ubuntu jammy/main amd64 netbase all 6.3 [12.9 kB]
    -#8 4.249 Get:25 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-pkg-resources all 59.6.0-1.2ubuntu0.22.04.1 [132 kB]
    -#8 4.250 Get:26 http://archive.ubuntu.com/ubuntu jammy/main amd64 ucf all 3.0043 [56.1 kB]
    -#8 4.251 Get:27 http://archive.ubuntu.com/ubuntu jammy/main amd64 libpng16-16 amd64 1.6.37-3build5 [191 kB]
    -#8 4.257 Get:28 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxau6 amd64 1:1.0.9-1build5 [7634 B]
    -#8 4.289 Get:29 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxdmcp6 amd64 1:1.1.3-0ubuntu5 [10.9 kB]
    -#8 4.290 Get:30 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb1 amd64 1.14-3ubuntu3 [49.0 kB]
    -#8 4.290 Get:31 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libx11-data all 2:1.7.5-1ubuntu0.3 [120 kB]
    -#8 4.291 Get:32 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libx11-6 amd64 2:1.7.5-1ubuntu0.3 [667 kB]
    -#8 4.296 Get:33 http://archive.ubuntu.com/ubuntu jammy/main amd64 manpages all 5.10-1ubuntu1 [1375 kB]
    -#8 4.304 Get:34 http://archive.ubuntu.com/ubuntu jammy/main amd64 xz-utils amd64 5.2.5-2ubuntu1 [84.8 kB]
    -#8 4.305 Get:35 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils-common amd64 2.38-4ubuntu2.6 [222 kB]
    -#8 4.306 Get:36 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libbinutils amd64 2.38-4ubuntu2.6 [662 kB]
    -#8 4.323 Get:37 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libctf-nobfd0 amd64 2.38-4ubuntu2.6 [108 kB]
    -#8 4.324 Get:38 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libctf0 amd64 2.38-4ubuntu2.6 [103 kB]
    -
    -
    -
    #8 4.353 Get:39 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils-x86-64-linux-gnu amd64 2.38-4ubuntu2.6 [2326 kB]
    -#8 4.369 Get:40 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils amd64 2.38-4ubuntu2.6 [3200 B]
    -#8 4.369 Get:41 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.6 [20.3 kB]
    -#8 4.369 Get:42 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 linux-libc-dev amd64 5.15.0-100.110 [1348 kB]
    -#8 4.390 Get:43 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcrypt-dev amd64 1:4.4.27-1 [112 kB]
    -#8 4.391 Get:44 http://archive.ubuntu.com/ubuntu jammy/main amd64 rpcsvc-proto amd64 1.4.2-0ubuntu6 [68.5 kB]
    -#8 4.392 Get:45 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtirpc-dev amd64 1.3.2-2ubuntu0.1 [192 kB]
    -#8 4.394 Get:46 http://archive.ubuntu.com/ubuntu jammy/main amd64 libnsl-dev amd64 1.3.0-2build2 [71.3 kB]
    -#8 4.394 Get:47 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc6-dev amd64 2.35-0ubuntu3.6 [2100 kB]
    -#8 4.428 Get:48 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gcc-11-base amd64 11.4.0-1ubuntu1~22.04 [20.2 kB]
    -#8 4.428 Get:49 http://archive.ubuntu.com/ubuntu jammy/main amd64 libisl23 amd64 0.24-2build1 [727 kB]
    -#8 4.435 Get:50 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpfr6 amd64 4.1.0-3build3 [1425 kB]
    -#8 4.454 Get:51 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpc3 amd64 1.2.1-2build1 [46.9 kB]
    -#8 4.455 Get:52 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cpp-11 amd64 11.4.0-1ubuntu1~22.04 [10.0 MB]
    -#8 4.567 Get:53 http://archive.ubuntu.com/ubuntu jammy/main amd64 cpp amd64 4:11.2.0-1ubuntu1 [27.7 kB]
    -
    -
    -
    #8 4.567 Get:54 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libcc1-0 amd64 12.3.0-1ubuntu1~22.04 [48.3 kB]
    -#8 4.568 Get:55 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgomp1 amd64 12.3.0-1ubuntu1~22.04 [126 kB]
    -#8 4.569 Get:56 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libitm1 amd64 12.3.0-1ubuntu1~22.04 [30.2 kB]
    -#8 4.570 Get:57 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libatomic1 amd64 12.3.0-1ubuntu1~22.04 [10.4 kB]
    -#8 4.570 Get:58 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libasan6 amd64 11.4.0-1ubuntu1~22.04 [2282 kB]
    -#8 4.596 Get:59 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 liblsan0 amd64 12.3.0-1ubuntu1~22.04 [1069 kB]
    -#8 4.604 Get:60 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtsan0 amd64 11.4.0-1ubuntu1~22.04 [2260 kB]
    -#8 4.633 Get:61 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libubsan1 amd64 12.3.0-1ubuntu1~22.04 [976 kB]
    -#8 4.648 Get:62 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libquadmath0 amd64 12.3.0-1ubuntu1~22.04 [154 kB]
    -#8 4.649 Get:63 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgcc-11-dev amd64 11.4.0-1ubuntu1~22.04 [2517 kB]
    -#8 4.672 Get:64 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gcc-11 amd64 11.4.0-1ubuntu1~22.04 [20.1 MB]
    -
    -
    -
    #8 4.906 Get:65 http://archive.ubuntu.com/ubuntu jammy/main amd64 gcc amd64 4:11.2.0-1ubuntu1 [5112 B]
    -#8 4.906 Get:66 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libstdc++-11-dev amd64 11.4.0-1ubuntu1~22.04 [2101 kB]
    -#8 4.930 Get:67 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 g++-11 amd64 11.4.0-1ubuntu1~22.04 [11.4 MB]
    -#8 5.063 Get:68 http://archive.ubuntu.com/ubuntu jammy/main amd64 g++ amd64 4:11.2.0-1ubuntu1 [1412 B]
    -
    -
    -
    #8 5.064 Get:69 http://archive.ubuntu.com/ubuntu jammy/main amd64 make amd64 4.3-4.1build1 [180 kB]
    -#8 5.065 Get:70 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libdpkg-perl all 1.21.1ubuntu2.3 [237 kB]
    -#8 5.067 Get:71 http://archive.ubuntu.com/ubuntu jammy/main amd64 bzip2 amd64 1.0.8-5build1 [34.8 kB]
    -#8 5.068 Get:72 http://archive.ubuntu.com/ubuntu jammy/main amd64 patch amd64 2.7.6-7build2 [109 kB]
    -#8 5.069 Get:73 http://archive.ubuntu.com/ubuntu jammy/main amd64 lto-disabled-list all 24 [12.5 kB]
    -#8 5.069 Get:74 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 dpkg-dev all 1.21.1ubuntu2.3 [922 kB]
    -#8 5.082 Get:75 http://archive.ubuntu.com/ubuntu jammy/main amd64 build-essential amd64 12.9ubuntu3 [4744 B]
    -#8 5.082 Get:76 http://archive.ubuntu.com/ubuntu jammy/main amd64 libassuan0 amd64 2.5.5-1build1 [38.2 kB]
    -#8 5.098 Get:77 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpgconf amd64 2.2.27-3ubuntu2.1 [94.2 kB]
    -#8 5.099 Get:78 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libksba8 amd64 1.6.0-2ubuntu0.2 [119 kB]
    -#8 5.134 Get:79 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg2-3ubuntu1.2 [20.5 kB]
    -#8 5.135 Get:80 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-2 amd64 2.1.27+dfsg2-3ubuntu1.2 [53.8 kB]
    -#8 5.136 Get:81 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-2.5-0 amd64 2.5.16+dfsg-0ubuntu0.22.04.2 [183 kB]
    -#8 5.137 Get:82 http://archive.ubuntu.com/ubuntu jammy/main amd64 libnpth0 amd64 1.6-3build2 [8664 B]
    -#8 5.137 Get:83 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 dirmngr amd64 2.2.27-3ubuntu2.1 [293 kB]
    -#8 5.140 Get:84 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfakeroot amd64 1.28-1ubuntu1 [31.5 kB]
    -#8 5.140 Get:85 http://archive.ubuntu.com/ubuntu jammy/main amd64 fakeroot amd64 1.28-1ubuntu1 [60.4 kB]
    -#8 5.141 Get:86 http://archive.ubuntu.com/ubuntu jammy/main amd64 fonts-dejavu-core all 2.37-2build1 [1041 kB]
    -#8 5.166 Get:87 http://archive.ubuntu.com/ubuntu jammy/main amd64 fontconfig-config all 2.13.1-4.2ubuntu5 [29.1 kB]
    -#8 5.167 Get:88 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg-l10n all 2.2.27-3ubuntu2.1 [54.4 kB]
    -#8 5.198 Get:89 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg-utils amd64 2.2.27-3ubuntu2.1 [308 kB]
    -#8 5.201 Get:90 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg amd64 2.2.27-3ubuntu2.1 [519 kB]
    -#8 5.205 Get:91 http://archive.ubuntu.com/ubuntu jammy/main amd64 pinentry-curses amd64 1.1.1-1build2 [34.4 kB]
    -#8 5.206 Get:92 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-agent amd64 2.2.27-3ubuntu2.1 [209 kB]
    -#8 5.207 Get:93 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-wks-client amd64 2.2.27-3ubuntu2.1 [62.7 kB]
    -#8 5.208 Get:94 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-wks-server amd64 2.2.27-3ubuntu2.1 [57.5 kB]
    -#8 5.208 Get:95 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpgsm amd64 2.2.27-3ubuntu2.1 [197 kB]
    -#8 5.210 Get:96 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg all 2.2.27-3ubuntu2.1 [315 kB]
    -#8 5.230 Get:97 http://archive.ubuntu.com/ubuntu jammy/main amd64 javascript-common all 11+nmu1 [5936 B]
    -#8 5.231 Get:98 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-diff-perl all 1.201-1 [41.8 kB]
    -#8 5.262 Get:99 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-diff-xs-perl amd64 0.04-6build3 [11.9 kB]
    -#8 5.263 Get:100 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-merge-perl all 0.08-3 [12.0 kB]
    -#8 5.263 Get:101 http://archive.ubuntu.com/ubuntu jammy/main amd64 libbrotli1 amd64 1.0.9-2build6 [315 kB]
    -#8 5.330 Get:102 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libfreetype6 amd64 2.11.1+dfsg-1ubuntu0.2 [389 kB]
    -
    -
    -
    #8 5.522 Get:103 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfontconfig1 amd64 2.13.1-4.2ubuntu5 [131 kB]
    -#8 5.530 Get:104 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjpeg-turbo8 amd64 2.1.2-0ubuntu1 [134 kB]
    -#8 5.537 Get:105 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjpeg8 amd64 8c-2ubuntu10 [2264 B]
    -#8 5.538 Get:106 http://archive.ubuntu.com/ubuntu jammy/main amd64 libdeflate0 amd64 1.10-2 [70.9 kB]
    -#8 5.542 Get:107 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjbig0 amd64 2.1-3.1ubuntu0.22.04.1 [29.2 kB]
    -#8 5.543 Get:108 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libwebp7 amd64 1.2.2-2ubuntu0.22.04.2 [206 kB]
    -#8 5.563 Get:109 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtiff5 amd64 4.3.0-6ubuntu0.8 [185 kB]
    -#8 5.575 Get:110 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libxpm4 amd64 1:3.5.12-1ubuntu0.22.04.2 [36.7 kB]
    -#8 5.576 Get:111 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgd3 amd64 2.3.0-2ubuntu2 [129 kB]
    -#8 5.582 Get:112 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-devtools amd64 2.35-0ubuntu3.6 [29.0 kB]
    -#8 5.584 Get:113 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libexpat1-dev amd64 2.4.7-1ubuntu0.2 [147 kB]
    -#8 5.589 Get:114 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfile-fcntllock-perl amd64 0.22-3build7 [33.9 kB]
    -#8 5.589 Get:115 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-jquery all 3.6.0+dfsg+~3.5.13-1 [321 kB]
    -#8 5.598 Get:116 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-underscore all 1.13.2~dfsg-2 [118 kB]
    -#8 5.601 Get:117 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-sphinxdoc all 4.3.2-1 [139 kB]
    -#8 5.617 Get:118 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-common all 2.5.16+dfsg-0ubuntu0.22.04.2 [15.5 kB]
    -#8 5.617 Get:119 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10 amd64 3.10.12-1~22.04.3 [1948 kB]
    -#8 5.643 Get:120 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2ubuntu9.2 [164 kB]
    -
    -
    -
    #8 5.649 Get:121 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-dev amd64 3.10.12-1~22.04.3 [4762 kB]
    -#8 5.701 Get:122 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3-dev amd64 3.10.6-1~22.04 [7166 B]
    -#8 5.701 Get:123 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-modules amd64 2.1.27+dfsg2-3ubuntu1.2 [68.8 kB]
    -#8 5.701 Get:124 http://archive.ubuntu.com/ubuntu jammy/main amd64 manpages-dev all 5.10-1ubuntu1 [2309 kB]
    -#8 5.729 Get:125 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-dev amd64 3.10.12-1~22.04.3 [507 kB]
    -#8 5.732 Get:126 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-lib2to3 all 3.10.8-1~22.04 [77.6 kB]
    -#8 5.733 Get:127 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-distutils all 3.10.8-1~22.04 [139 kB]
    -#8 5.734 Get:128 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-dev amd64 3.10.6-1~22.04 [26.0 kB]
    -#8 5.734 Get:129 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-setuptools all 59.6.0-1.2ubuntu0.22.04.1 [339 kB]
    -#8 5.736 Get:130 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-wheel all 0.37.1-2ubuntu0.22.04.1 [32.0 kB]
    -#8 5.743 Get:131 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.4 [1305 kB]
    -#8 5.855 debconf: delaying package configuration, since apt-utils is not installed
    -
    -
    -
    #8 5.877 Fetched 101 MB in 2s (47.1 MB/s)
    -#8 5.888 Selecting previously unselected package liblocale-gettext-perl.
    -#8 5.888 (Reading database ... 
    +
    +
    +
    #8 0.885 
    +#8 0.885 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    +#8 0.885 
    +
    +
    +
    #8 1.589 Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
    +#8 1.691 Get:2 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
    +
    +
    +
    #8 2.085 Get:3 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1079 kB]
    +#8 2.213 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
    +
    +
    +
    #8 2.231 Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1569 kB]
    +#8 2.253 Get:6 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.6 kB]
    +#8 2.253 Get:7 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1960 kB]
    +#8 2.269 Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
    +#8 2.379 Get:9 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
    +
    +
    +
    #8 3.124 Get:10 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
    +#8 3.126 Get:11 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
    +#8 3.127 Get:12 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
    +#8 3.209 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [50.4 kB]
    +#8 3.209 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1352 kB]
    +#8 3.222 Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1997 kB]
    +#8 3.295 Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1848 kB]
    +
    +
    +
    #8 3.523 Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [80.9 kB]
    +
    +
    +
    #8 3.850 Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.3 kB]
    +
    +
    +
    #8 3.938 Fetched 30.3 MB in 2s (12.5 MB/s)
    +#8 3.938 Reading package lists...
    +
    +
    +
    #8 4.569 Building dependency tree...
    +#8 4.680 Reading state information...
    +
    +
    +
    #8 4.692 1 package can be upgraded. Run 'apt list --upgradable' to see it.
    +#8 4.697 
    +#8 4.697 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    +#8 4.697 
    +#8 4.725 Reading package lists...
    +
    +
    +
    #8 5.332 Building dependency tree...
    +#8 5.438 Reading state information...
    +
    +
    +
    #8 5.549 The following additional packages will be installed:
    +#8 5.549   binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2
    +#8 5.549   ca-certificates cpp cpp-11 dirmngr dpkg-dev fakeroot fontconfig-config
    +#8 5.549   fonts-dejavu-core g++ g++-11 gcc gcc-11 gcc-11-base gnupg gnupg-l10n
    +#8 5.549   gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm
    +#8 5.550   javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
    +#8 5.550   libalgorithm-merge-perl libasan6 libassuan0 libatomic1 libbinutils
    +#8 5.550   libbrotli1 libbsd0 libc-dev-bin libc-devtools libc6-dev libcc1-0
    +#8 5.550   libcrypt-dev libctf-nobfd0 libctf0 libdeflate0 libdpkg-perl libexpat1
    +#8 5.550   libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfreetype6
    +#8 5.550   libgcc-11-dev libgd3 libgdbm-compat4 libgdbm6 libgomp1 libisl23 libitm1
    +#8 5.550   libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc
    +#8 5.550   libjs-underscore libksba8 libldap-2.5-0 libldap-common
    +#8 5.550   liblocale-gettext-perl liblsan0 libmd0 libmpc3 libmpdec3 libmpfr6 libnpth0
    +#8 5.550   libnsl-dev libperl5.34 libpng16-16 libpython3-dev libpython3-stdlib
    +#8 5.550   libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib
    +#8 5.550   libquadmath0 libreadline8 libsasl2-2 libsasl2-modules libsasl2-modules-db
    +#8 5.550   libsqlite3-0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1
    +#8 5.550   libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4
    +#8 5.550   linux-libc-dev lto-disabled-list make manpages manpages-dev media-types
    +#8 5.550   netbase openssl patch perl perl-modules-5.34 pinentry-curses python3-dev
    +#8 5.550   python3-distutils python3-lib2to3 python3-minimal python3-pkg-resources
    +#8 5.550   python3-setuptools python3-wheel python3.10 python3.10-dev
    +#8 5.550   python3.10-minimal readline-common rpcsvc-proto ucf xz-utils zlib1g-dev
    +#8 5.551 Suggested packages:
    +#8 5.551   binutils-doc bzip2-doc cpp-doc gcc-11-locales dbus-user-session
    +#8 5.551   libpam-systemd pinentry-gnome3 tor debian-keyring g++-multilib
    +#8 5.551   g++-11-multilib gcc-11-doc gcc-multilib autoconf automake libtool flex bison
    +#8 5.551   gdb gcc-doc gcc-11-multilib parcimonie xloadimage scdaemon apache2
    +#8 5.551   | lighttpd | httpd glibc-doc git bzr libgd-tools gdbm-l10n
    +#8 5.551   libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
    +#8 5.551   libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql
    +#8 5.551   libstdc++-11-doc make-doc man-browser ed diffutils-doc perl-doc
    +#8 5.551   libterm-readline-gnu-perl | libterm-readline-perl-perl
    +#8 5.551   libtap-harness-archive-perl pinentry-doc python3-doc python3-tk python3-venv
    +#8 5.551   python-setuptools-doc python3.10-venv python3.10-doc binfmt-support
    +#8 5.551   readline-doc
    +#8 5.738 The following NEW packages will be installed:
    +#8 5.738   binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2
    +#8 5.738   ca-certificates cpp cpp-11 dirmngr dpkg-dev fakeroot fontconfig-config
    +#8 5.738   fonts-dejavu-core g++ g++-11 gcc gcc-11 gcc-11-base gnupg gnupg-l10n
    +
    +
    +
    #8 5.738   gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm
    +#8 5.738   javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
    +#8 5.738   libalgorithm-merge-perl libasan6 libassuan0 libatomic1 libbinutils
    +#8 5.738   libbrotli1 libbsd0 libc-dev-bin libc-devtools libc6-dev libcc1-0
    +#8 5.738   libcrypt-dev libctf-nobfd0 libctf0 libdeflate0 libdpkg-perl libexpat1
    +#8 5.738   libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfreetype6
    +#8 5.739   libgcc-11-dev libgd3 libgdbm-compat4 libgdbm6 libgomp1 libisl23 libitm1
    +#8 5.739   libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc
    +#8 5.739   libjs-underscore libksba8 libldap-2.5-0 libldap-common
    +#8 5.739   liblocale-gettext-perl liblsan0 libmd0 libmpc3 libmpdec3 libmpfr6 libnpth0
    +#8 5.739   libnsl-dev libperl5.34 libpng16-16 libpython3-dev libpython3-stdlib
    +#8 5.739   libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib
    +#8 5.739   libquadmath0 libreadline8 libsasl2-2 libsasl2-modules libsasl2-modules-db
    +#8 5.739   libsqlite3-0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1
    +#8 5.739   libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4
    +#8 5.739   linux-libc-dev lto-disabled-list make manpages manpages-dev media-types
    +#8 5.739   netbase openssl patch perl perl-modules-5.34 pinentry-curses python3
    +#8 5.739   python3-dev python3-distutils python3-lib2to3 python3-minimal python3-pip
    +#8 5.739   python3-pkg-resources python3-setuptools python3-wheel python3.10
    +#8 5.739   python3.10-dev python3.10-minimal readline-common rpcsvc-proto ucf xz-utils
    +#8 5.739   zlib1g-dev
    +#8 5.792 0 upgraded, 131 newly installed, 0 to remove and 1 not upgraded.
    +#8 5.792 Need to get 101 MB of archives.
    +#8 5.792 After this operation, 356 MB of additional disk space will be used.
    +#8 5.792 Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblocale-gettext-perl amd64 1.07-4build3 [17.1 kB]
    +#8 5.825 Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-minimal amd64 3.10.12-1~22.04.3 [812 kB]
    +#8 5.908 Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libexpat1 amd64 2.4.7-1ubuntu0.2 [91.0 kB]
    +#8 5.911 Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-minimal amd64 3.10.12-1~22.04.3 [2242 kB]
    +#8 5.941 Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-minimal amd64 3.10.6-1~22.04 [24.3 kB]
    +#8 5.941 Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 media-types all 7.0.0 [25.5 kB]
    +#8 5.942 Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpdec3 amd64 2.5.1-2build2 [86.8 kB]
    +#8 5.943 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 readline-common all 8.1.2-1 [53.5 kB]
    +#8 5.944 Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libreadline8 amd64 8.1.2-1 [153 kB]
    +#8 5.945 Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsqlite3-0 amd64 3.37.2-2ubuntu0.3 [641 kB]
    +#8 5.950 Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-stdlib amd64 3.10.12-1~22.04.3 [1848 kB]
    +#8 5.963 Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10 amd64 3.10.12-1~22.04.3 [508 kB]
    +#8 5.966 Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3-stdlib amd64 3.10.6-1~22.04 [6910 B]
    +#8 5.966 Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3 amd64 3.10.6-1~22.04 [22.8 kB]
    +#8 5.974 Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 perl-modules-5.34 all 5.34.0-3ubuntu1.3 [2976 kB]
    +#8 5.995 Get:16 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgdbm6 amd64 1.23-1 [33.9 kB]
    +#8 5.996 Get:17 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgdbm-compat4 amd64 1.23-1 [6606 B]
    +#8 5.996 Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libperl5.34 amd64 5.34.0-3ubuntu1.3 [4820 kB]
    +#8 6.031 Get:19 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 perl amd64 5.34.0-3ubuntu1.3 [232 kB]
    +
    +
    +
    #8 6.033 Get:20 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssl amd64 3.0.2-0ubuntu1.15 [1186 kB]
    +#8 6.040 Get:21 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ca-certificates all 20230311ubuntu0.22.04.1 [155 kB]
    +#8 6.041 Get:22 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmd0 amd64 1.0.4-1build1 [23.0 kB]
    +#8 6.042 Get:23 http://archive.ubuntu.com/ubuntu jammy/main amd64 libbsd0 amd64 0.11.5-1 [44.8 kB]
    +#8 6.043 Get:24 http://archive.ubuntu.com/ubuntu jammy/main amd64 netbase all 6.3 [12.9 kB]
    +#8 6.043 Get:25 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-pkg-resources all 59.6.0-1.2ubuntu0.22.04.1 [132 kB]
    +#8 6.044 Get:26 http://archive.ubuntu.com/ubuntu jammy/main amd64 ucf all 3.0043 [56.1 kB]
    +#8 6.045 Get:27 http://archive.ubuntu.com/ubuntu jammy/main amd64 libpng16-16 amd64 1.6.37-3build5 [191 kB]
    +#8 6.050 Get:28 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxau6 amd64 1:1.0.9-1build5 [7634 B]
    +#8 6.066 Get:29 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxdmcp6 amd64 1:1.1.3-0ubuntu5 [10.9 kB]
    +#8 6.067 Get:30 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxcb1 amd64 1.14-3ubuntu3 [49.0 kB]
    +#8 6.067 Get:31 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libx11-data all 2:1.7.5-1ubuntu0.3 [120 kB]
    +#8 6.068 Get:32 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libx11-6 amd64 2:1.7.5-1ubuntu0.3 [667 kB]
    +#8 6.073 Get:33 http://archive.ubuntu.com/ubuntu jammy/main amd64 manpages all 5.10-1ubuntu1 [1375 kB]
    +#8 6.082 Get:34 http://archive.ubuntu.com/ubuntu jammy/main amd64 xz-utils amd64 5.2.5-2ubuntu1 [84.8 kB]
    +#8 6.082 Get:35 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils-common amd64 2.38-4ubuntu2.6 [222 kB]
    +#8 6.084 Get:36 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libbinutils amd64 2.38-4ubuntu2.6 [662 kB]
    +#8 6.088 Get:37 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libctf-nobfd0 amd64 2.38-4ubuntu2.6 [108 kB]
    +#8 6.089 Get:38 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libctf0 amd64 2.38-4ubuntu2.6 [103 kB]
    +#8 6.099 Get:39 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils-x86-64-linux-gnu amd64 2.38-4ubuntu2.6 [2326 kB]
    +#8 6.114 Get:40 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 binutils amd64 2.38-4ubuntu2.6 [3200 B]
    +#8 6.114 Get:41 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.6 [20.3 kB]
    +#8 6.114 Get:42 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 linux-libc-dev amd64 5.15.0-100.110 [1348 kB]
    +#8 6.124 Get:43 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcrypt-dev amd64 1:4.4.27-1 [112 kB]
    +#8 6.125 Get:44 http://archive.ubuntu.com/ubuntu jammy/main amd64 rpcsvc-proto amd64 1.4.2-0ubuntu6 [68.5 kB]
    +#8 6.125 Get:45 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtirpc-dev amd64 1.3.2-2ubuntu0.1 [192 kB]
    +#8 6.127 Get:46 http://archive.ubuntu.com/ubuntu jammy/main amd64 libnsl-dev amd64 1.3.0-2build2 [71.3 kB]
    +#8 6.128 Get:47 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc6-dev amd64 2.35-0ubuntu3.6 [2100 kB]
    +#8 6.141 Get:48 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gcc-11-base amd64 11.4.0-1ubuntu1~22.04 [20.2 kB]
    +#8 6.143 Get:49 http://archive.ubuntu.com/ubuntu jammy/main amd64 libisl23 amd64 0.24-2build1 [727 kB]
    +#8 6.147 Get:50 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpfr6 amd64 4.1.0-3build3 [1425 kB]
    +#8 6.156 Get:51 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmpc3 amd64 1.2.1-2build1 [46.9 kB]
    +#8 6.157 Get:52 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cpp-11 amd64 11.4.0-1ubuntu1~22.04 [10.0 MB]
    +#8 6.221 Get:53 http://archive.ubuntu.com/ubuntu jammy/main amd64 cpp amd64 4:11.2.0-1ubuntu1 [27.7 kB]
    +#8 6.221 Get:54 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libcc1-0 amd64 12.3.0-1ubuntu1~22.04 [48.3 kB]
    +#8 6.222 Get:55 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgomp1 amd64 12.3.0-1ubuntu1~22.04 [126 kB]
    +#8 6.223 Get:56 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libitm1 amd64 12.3.0-1ubuntu1~22.04 [30.2 kB]
    +#8 6.223 Get:57 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libatomic1 amd64 12.3.0-1ubuntu1~22.04 [10.4 kB]
    +#8 6.224 Get:58 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libasan6 amd64 11.4.0-1ubuntu1~22.04 [2282 kB]
    +#8 6.238 Get:59 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 liblsan0 amd64 12.3.0-1ubuntu1~22.04 [1069 kB]
    +#8 6.245 Get:60 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtsan0 amd64 11.4.0-1ubuntu1~22.04 [2260 kB]
    +
    +
    +
    #8 6.259 Get:61 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libubsan1 amd64 12.3.0-1ubuntu1~22.04 [976 kB]
    +#8 6.265 Get:62 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libquadmath0 amd64 12.3.0-1ubuntu1~22.04 [154 kB]
    +#8 6.267 Get:63 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libgcc-11-dev amd64 11.4.0-1ubuntu1~22.04 [2517 kB]
    +#8 6.283 Get:64 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gcc-11 amd64 11.4.0-1ubuntu1~22.04 [20.1 MB]
    +#8 6.409 Get:65 http://archive.ubuntu.com/ubuntu jammy/main amd64 gcc amd64 4:11.2.0-1ubuntu1 [5112 B]
    +#8 6.409 Get:66 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libstdc++-11-dev amd64 11.4.0-1ubuntu1~22.04 [2101 kB]
    +#8 6.423 Get:67 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 g++-11 amd64 11.4.0-1ubuntu1~22.04 [11.4 MB]
    +#8 6.497 Get:68 http://archive.ubuntu.com/ubuntu jammy/main amd64 g++ amd64 4:11.2.0-1ubuntu1 [1412 B]
    +#8 6.497 Get:69 http://archive.ubuntu.com/ubuntu jammy/main amd64 make amd64 4.3-4.1build1 [180 kB]
    +#8 6.499 Get:70 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libdpkg-perl all 1.21.1ubuntu2.3 [237 kB]
    +#8 6.501 Get:71 http://archive.ubuntu.com/ubuntu jammy/main amd64 bzip2 amd64 1.0.8-5build1 [34.8 kB]
    +#8 6.501 Get:72 http://archive.ubuntu.com/ubuntu jammy/main amd64 patch amd64 2.7.6-7build2 [109 kB]
    +#8 6.502 Get:73 http://archive.ubuntu.com/ubuntu jammy/main amd64 lto-disabled-list all 24 [12.5 kB]
    +#8 6.502 Get:74 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 dpkg-dev all 1.21.1ubuntu2.3 [922 kB]
    +#8 6.508 Get:75 http://archive.ubuntu.com/ubuntu jammy/main amd64 build-essential amd64 12.9ubuntu3 [4744 B]
    +#8 6.508 Get:76 http://archive.ubuntu.com/ubuntu jammy/main amd64 libassuan0 amd64 2.5.5-1build1 [38.2 kB]
    +#8 6.515 Get:77 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpgconf amd64 2.2.27-3ubuntu2.1 [94.2 kB]
    +
    +
    +
    #8 6.516 Get:78 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libksba8 amd64 1.6.0-2ubuntu0.2 [119 kB]
    +#8 6.531 Get:79 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg2-3ubuntu1.2 [20.5 kB]
    +#8 6.532 Get:80 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-2 amd64 2.1.27+dfsg2-3ubuntu1.2 [53.8 kB]
    +#8 6.532 Get:81 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-2.5-0 amd64 2.5.16+dfsg-0ubuntu0.22.04.2 [183 kB]
    +#8 6.534 Get:82 http://archive.ubuntu.com/ubuntu jammy/main amd64 libnpth0 amd64 1.6-3build2 [8664 B]
    +#8 6.534 Get:83 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 dirmngr amd64 2.2.27-3ubuntu2.1 [293 kB]
    +#8 6.537 Get:84 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfakeroot amd64 1.28-1ubuntu1 [31.5 kB]
    +#8 6.537 Get:85 http://archive.ubuntu.com/ubuntu jammy/main amd64 fakeroot amd64 1.28-1ubuntu1 [60.4 kB]
    +#8 6.538 Get:86 http://archive.ubuntu.com/ubuntu jammy/main amd64 fonts-dejavu-core all 2.37-2build1 [1041 kB]
    +#8 6.547 Get:87 http://archive.ubuntu.com/ubuntu jammy/main amd64 fontconfig-config all 2.13.1-4.2ubuntu5 [29.1 kB]
    +#8 6.548 Get:88 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg-l10n all 2.2.27-3ubuntu2.1 [54.4 kB]
    +#8 6.563 Get:89 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg-utils amd64 2.2.27-3ubuntu2.1 [308 kB]
    +#8 6.565 Get:90 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg amd64 2.2.27-3ubuntu2.1 [519 kB]
    +#8 6.569 Get:91 http://archive.ubuntu.com/ubuntu jammy/main amd64 pinentry-curses amd64 1.1.1-1build2 [34.4 kB]
    +#8 6.570 Get:92 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-agent amd64 2.2.27-3ubuntu2.1 [209 kB]
    +#8 6.571 Get:93 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-wks-client amd64 2.2.27-3ubuntu2.1 [62.7 kB]
    +#8 6.572 Get:94 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpg-wks-server amd64 2.2.27-3ubuntu2.1 [57.5 kB]
    +#8 6.573 Get:95 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gpgsm amd64 2.2.27-3ubuntu2.1 [197 kB]
    +#8 6.574 Get:96 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 gnupg all 2.2.27-3ubuntu2.1 [315 kB]
    +#8 6.579 Get:97 http://archive.ubuntu.com/ubuntu jammy/main amd64 javascript-common all 11+nmu1 [5936 B]
    +#8 6.579 Get:98 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-diff-perl all 1.201-1 [41.8 kB]
    +#8 6.594 Get:99 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-diff-xs-perl amd64 0.04-6build3 [11.9 kB]
    +#8 6.595 Get:100 http://archive.ubuntu.com/ubuntu jammy/main amd64 libalgorithm-merge-perl all 0.08-3 [12.0 kB]
    +#8 6.595 Get:101 http://archive.ubuntu.com/ubuntu jammy/main amd64 libbrotli1 amd64 1.0.9-2build6 [315 kB]
    +#8 6.719 Get:102 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libfreetype6 amd64 2.11.1+dfsg-1ubuntu0.2 [389 kB]
    +#8 6.821 Get:103 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfontconfig1 amd64 2.13.1-4.2ubuntu5 [131 kB]
    +
    +
    +
    #8 6.822 Get:104 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjpeg-turbo8 amd64 2.1.2-0ubuntu1 [134 kB]
    +#8 6.826 Get:105 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjpeg8 amd64 8c-2ubuntu10 [2264 B]
    +#8 6.826 Get:106 http://archive.ubuntu.com/ubuntu jammy/main amd64 libdeflate0 amd64 1.10-2 [70.9 kB]
    +#8 6.828 Get:107 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjbig0 amd64 2.1-3.1ubuntu0.22.04.1 [29.2 kB]
    +#8 6.829 Get:108 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libwebp7 amd64 1.2.2-2ubuntu0.22.04.2 [206 kB]
    +#8 6.841 Get:109 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtiff5 amd64 4.3.0-6ubuntu0.8 [185 kB]
    +#8 6.847 Get:110 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libxpm4 amd64 1:3.5.12-1ubuntu0.22.04.2 [36.7 kB]
    +#8 6.848 Get:111 http://archive.ubuntu.com/ubuntu jammy/main amd64 libgd3 amd64 2.3.0-2ubuntu2 [129 kB]
    +#8 6.851 Get:112 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-devtools amd64 2.35-0ubuntu3.6 [29.0 kB]
    +#8 6.853 Get:113 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libexpat1-dev amd64 2.4.7-1ubuntu0.2 [147 kB]
    +#8 6.854 Get:114 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfile-fcntllock-perl amd64 0.22-3build7 [33.9 kB]
    +#8 6.855 Get:115 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-jquery all 3.6.0+dfsg+~3.5.13-1 [321 kB]
    +#8 6.860 Get:116 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-underscore all 1.13.2~dfsg-2 [118 kB]
    +#8 6.861 Get:117 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-sphinxdoc all 4.3.2-1 [139 kB]
    +#8 6.869 Get:118 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-common all 2.5.16+dfsg-0ubuntu0.22.04.2 [15.5 kB]
    +#8 6.869 Get:119 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10 amd64 3.10.12-1~22.04.3 [1948 kB]
    +#8 6.884 Get:120 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2ubuntu9.2 [164 kB]
    +#8 6.885 Get:121 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-dev amd64 3.10.12-1~22.04.3 [4762 kB]
    +#8 6.914 Get:122 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3-dev amd64 3.10.6-1~22.04 [7166 B]
    +#8 6.914 Get:123 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libsasl2-modules amd64 2.1.27+dfsg2-3ubuntu1.2 [68.8 kB]
    +#8 6.915 Get:124 http://archive.ubuntu.com/ubuntu jammy/main amd64 manpages-dev all 5.10-1ubuntu1 [2309 kB]
    +#8 6.929 Get:125 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-dev amd64 3.10.12-1~22.04.3 [507 kB]
    +#8 6.932 Get:126 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-lib2to3 all 3.10.8-1~22.04 [77.6 kB]
    +#8 6.933 Get:127 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-distutils all 3.10.8-1~22.04 [139 kB]
    +#8 6.934 Get:128 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-dev amd64 3.10.6-1~22.04 [26.0 kB]
    +#8 6.934 Get:129 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-setuptools all 59.6.0-1.2ubuntu0.22.04.1 [339 kB]
    +#8 6.936 Get:130 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-wheel all 0.37.1-2ubuntu0.22.04.1 [32.0 kB]
    +#8 6.937 Get:131 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.4 [1305 kB]
    +
    +
    +
    #8 7.757 debconf: delaying package configuration, since apt-utils is not installed
    +#8 7.797 Fetched 101 MB in 1s (84.4 MB/s)
    +
    +
    +
    +
    (Reading database ... 90%
     (Reading database ... 95%
     (Reading database ... 100%
     (Reading database ... 4393 files and directories currently installed.)
    -#8 5.893 Preparing to unpack .../liblocale-gettext-perl_1.07-4build3_amd64.deb ...
    -#8 5.894 Unpacking liblocale-gettext-perl (1.07-4build3) ...
    -#8 5.911 Selecting previously unselected package libpython3.10-minimal:amd64.
    -#8 5.912 Preparing to unpack .../libpython3.10-minimal_3.10.12-1~22.04.3_amd64.deb ...
    -#8 5.913 Unpacking libpython3.10-minimal:amd64 (3.10.12-1~22.04.3) ...
    -#8 5.987 Selecting previously unselected package libexpat1:amd64.
    -
    -
    -
    #8 5.988 Preparing to unpack .../libexpat1_2.4.7-1ubuntu0.2_amd64.deb ...
    -#8 5.991 Unpacking libexpat1:amd64 (2.4.7-1ubuntu0.2) ...
    -#8 6.010 Selecting previously unselected package python3.10-minimal.
    -#8 6.011 Preparing to unpack .../python3.10-minimal_3.10.12-1~22.04.3_amd64.deb ...
    -#8 6.017 Unpacking python3.10-minimal (3.10.12-1~22.04.3) ...
    -#8 6.058 Setting up libpython3.10-minimal:amd64 (3.10.12-1~22.04.3) ...
    -#8 6.063 Setting up libexpat1:amd64 (2.4.7-1ubuntu0.2) ...
    -#8 6.066 Setting up python3.10-minimal (3.10.12-1~22.04.3) ...
    -
    -
    -
    #8 6.584 Selecting previously unselected package python3-minimal.
    -#8 6.584 (Reading database ... 
    +#8 8.380 Preparing to unpack .../liblocale-gettext-perl_1.07-4build3_amd64.deb ...
    +#8 8.381 Unpacking liblocale-gettext-perl (1.07-4build3) ...
    +#8 8.397 Selecting previously unselected package libpython3.10-minimal:amd64.
    +#8 8.398 Preparing to unpack .../libpython3.10-minimal_3.10.12-1~22.04.3_amd64.deb ...
    +#8 8.399 Unpacking libpython3.10-minimal:amd64 (3.10.12-1~22.04.3) ...
    +#8 8.474 Selecting previously unselected package libexpat1:amd64.
    +#8 8.475 Preparing to unpack .../libexpat1_2.4.7-1ubuntu0.2_amd64.deb ...
    +#8 8.477 Unpacking libexpat1:amd64 (2.4.7-1ubuntu0.2) ...
    +#8 8.498 Selecting previously unselected package python3.10-minimal.
    +
    +
    +
    #8 8.499 Preparing to unpack .../python3.10-minimal_3.10.12-1~22.04.3_amd64.deb ...
    +#8 8.522 Unpacking python3.10-minimal (3.10.12-1~22.04.3) ...
    +#8 8.561 Setting up libpython3.10-minimal:amd64 (3.10.12-1~22.04.3) ...
    +#8 8.567 Setting up libexpat1:amd64 (2.4.7-1ubuntu0.2) ...
    +#8 8.570 Setting up python3.10-minimal (3.10.12-1~22.04.3) ...
    +
    +
    +
    -
    #8 6.695 Preparing to unpack .../6-libpython3.10-stdlib_3.10.12-1~22.04.3_amd64.deb ...
    -#8 6.696 Unpacking libpython3.10-stdlib:amd64 (3.10.12-1~22.04.3) ...
    -#8 6.783 Selecting previously unselected package python3.10.
    -#8 6.784 Preparing to unpack .../7-python3.10_3.10.12-1~22.04.3_amd64.deb ...
    -#8 6.785 Unpacking python3.10 (3.10.12-1~22.04.3) ...
    -#8 6.800 Selecting previously unselected package libpython3-stdlib:amd64.
    -#8 6.801 Preparing to unpack .../8-libpython3-stdlib_3.10.6-1~22.04_amd64.deb ...
    -#8 6.802 Unpacking libpython3-stdlib:amd64 (3.10.6-1~22.04) ...
    -#8 6.817 Setting up python3-minimal (3.10.6-1~22.04) ...
    -#8 6.958 Selecting previously unselected package python3.
    -#8 6.958 (Reading database ... 
    +#8 9.264 Preparing to unpack .../0-python3-minimal_3.10.6-1~22.04_amd64.deb ...
    +#8 9.265 Unpacking python3-minimal (3.10.6-1~22.04) ...
    +#8 9.280 Selecting previously unselected package media-types.
    +#8 9.281 Preparing to unpack .../1-media-types_7.0.0_all.deb ...
    +#8 9.282 Unpacking media-types (7.0.0) ...
    +#8 9.297 Selecting previously unselected package libmpdec3:amd64.
    +#8 9.298 Preparing to unpack .../2-libmpdec3_2.5.1-2build2_amd64.deb ...
    +#8 9.299 Unpacking libmpdec3:amd64 (2.5.1-2build2) ...
    +#8 9.313 Selecting previously unselected package readline-common.
    +#8 9.314 Preparing to unpack .../3-readline-common_8.1.2-1_all.deb ...
    +#8 9.315 Unpacking readline-common (8.1.2-1) ...
    +#8 9.329 Selecting previously unselected package libreadline8:amd64.
    +#8 9.330 Preparing to unpack .../4-libreadline8_8.1.2-1_amd64.deb ...
    +#8 9.331 Unpacking libreadline8:amd64 (8.1.2-1) ...
    +#8 9.346 Selecting previously unselected package libsqlite3-0:amd64.
    +#8 9.347 Preparing to unpack .../5-libsqlite3-0_3.37.2-2ubuntu0.3_amd64.deb ...
    +#8 9.348 Unpacking libsqlite3-0:amd64 (3.37.2-2ubuntu0.3) ...
    +#8 9.370 Selecting previously unselected package libpython3.10-stdlib:amd64.
    +
    +
    +
    #8 9.370 Preparing to unpack .../6-libpython3.10-stdlib_3.10.12-1~22.04.3_amd64.deb ...
    +#8 9.371 Unpacking libpython3.10-stdlib:amd64 (3.10.12-1~22.04.3) ...
    +#8 9.458 Selecting previously unselected package python3.10.
    +#8 9.459 Preparing to unpack .../7-python3.10_3.10.12-1~22.04.3_amd64.deb ...
    +#8 9.460 Unpacking python3.10 (3.10.12-1~22.04.3) ...
    +#8 9.475 Selecting previously unselected package libpython3-stdlib:amd64.
    +#8 9.476 Preparing to unpack .../8-libpython3-stdlib_3.10.6-1~22.04_amd64.deb ...
    +#8 9.477 Unpacking libpython3-stdlib:amd64 (3.10.6-1~22.04) ...
    +#8 9.493 Setting up python3-minimal (3.10.6-1~22.04) ...
    +#8 9.642 Selecting previously unselected package python3.
    +#8 9.642 (Reading database ... 
     
    -
    #8 7.268 Preparing to unpack .../002-libgdbm6_1.23-1_amd64.deb ...
    -#8 7.269 Unpacking libgdbm6:amd64 (1.23-1) ...
    -#8 7.284 Selecting previously unselected package libgdbm-compat4:amd64.
    -#8 7.285 Preparing to unpack .../003-libgdbm-compat4_1.23-1_amd64.deb ...
    -#8 7.286 Unpacking libgdbm-compat4:amd64 (1.23-1) ...
    -#8 7.300 Selecting previously unselected package libperl5.34:amd64.
    -#8 7.301 Preparing to unpack .../004-libperl5.34_5.34.0-3ubuntu1.3_amd64.deb ...
    -#8 7.302 Unpacking libperl5.34:amd64 (5.34.0-3ubuntu1.3) ...
    -#8 7.476 Selecting previously unselected package perl.
    -#8 7.478 Preparing to unpack .../005-perl_5.34.0-3ubuntu1.3_amd64.deb ...
    -#8 7.483 Unpacking perl (5.34.0-3ubuntu1.3) ...
    -#8 7.506 Selecting previously unselected package openssl.
    -#8 7.507 Preparing to unpack .../006-openssl_3.0.2-0ubuntu1.15_amd64.deb ...
    -#8 7.508 Unpacking openssl (3.0.2-0ubuntu1.15) ...
    -#8 7.544 Selecting previously unselected package ca-certificates.
    -#8 7.546 Preparing to unpack .../007-ca-certificates_20230311ubuntu0.22.04.1_all.deb ...
    -#8 7.547 Unpacking ca-certificates (20230311ubuntu0.22.04.1) ...
    -#8 7.587 Selecting previously unselected package libmd0:amd64.
    -
    -
    -
    #8 7.589 Preparing to unpack .../008-libmd0_1.0.4-1build1_amd64.deb ...
    -#8 7.590 Unpacking libmd0:amd64 (1.0.4-1build1) ...
    -#8 7.605 Selecting previously unselected package libbsd0:amd64.
    -#8 7.606 Preparing to unpack .../009-libbsd0_0.11.5-1_amd64.deb ...
    -#8 7.607 Unpacking libbsd0:amd64 (0.11.5-1) ...
    -#8 7.622 Selecting previously unselected package netbase.
    -#8 7.624 Preparing to unpack .../010-netbase_6.3_all.deb ...
    -#8 7.625 Unpacking netbase (6.3) ...
    -#8 7.639 Selecting previously unselected package python3-pkg-resources.
    -#8 7.640 Preparing to unpack .../011-python3-pkg-resources_59.6.0-1.2ubuntu0.22.04.1_all.deb ...
    -#8 7.641 Unpacking python3-pkg-resources (59.6.0-1.2ubuntu0.22.04.1) ...
    -#8 7.661 Selecting previously unselected package ucf.
    -#8 7.662 Preparing to unpack .../012-ucf_3.0043_all.deb ...
    -#8 7.664 Moving old data out of the way
    -#8 7.666 Unpacking ucf (3.0043) ...
    -#8 7.684 Selecting previously unselected package libpng16-16:amd64.
    -#8 7.685 Preparing to unpack .../013-libpng16-16_1.6.37-3build5_amd64.deb ...
    -#8 7.686 Unpacking libpng16-16:amd64 (1.6.37-3build5) ...
    -#8 7.702 Selecting previously unselected package libxau6:amd64.
    -#8 7.704 Preparing to unpack .../014-libxau6_1%3a1.0.9-1build5_amd64.deb ...
    -#8 7.705 Unpacking libxau6:amd64 (1:1.0.9-1build5) ...
    -#8 7.723 Selecting previously unselected package libxdmcp6:amd64.
    -#8 7.724 Preparing to unpack .../015-libxdmcp6_1%3a1.1.3-0ubuntu5_amd64.deb ...
    -#8 7.725 Unpacking libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ...
    -#8 7.740 Selecting previously unselected package libxcb1:amd64.
    -#8 7.741 Preparing to unpack .../016-libxcb1_1.14-3ubuntu3_amd64.deb ...
    -#8 7.742 Unpacking libxcb1:amd64 (1.14-3ubuntu3) ...
    -#8 7.757 Selecting previously unselected package libx11-data.
    -#8 7.758 Preparing to unpack .../017-libx11-data_2%3a1.7.5-1ubuntu0.3_all.deb ...
    -#8 7.759 Unpacking libx11-data (2:1.7.5-1ubuntu0.3) ...
    -#8 7.814 Selecting previously unselected package libx11-6:amd64.
    -
    -
    -
    #8 7.816 Preparing to unpack .../018-libx11-6_2%3a1.7.5-1ubuntu0.3_amd64.deb ...
    -#8 7.817 Unpacking libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ...
    -#8 7.836 Selecting previously unselected package manpages.
    -#8 7.837 Preparing to unpack .../019-manpages_5.10-1ubuntu1_all.deb ...
    -#8 7.838 Unpacking manpages (5.10-1ubuntu1) ...
    -#8 7.922 Selecting previously unselected package xz-utils.
    -#8 7.924 Preparing to unpack .../020-xz-utils_5.2.5-2ubuntu1_amd64.deb ...
    -#8 7.925 Unpacking xz-utils (5.2.5-2ubuntu1) ...
    -#8 7.941 Selecting previously unselected package binutils-common:amd64.
    -#8 7.942 Preparing to unpack .../021-binutils-common_2.38-4ubuntu2.6_amd64.deb ...
    -#8 7.943 Unpacking binutils-common:amd64 (2.38-4ubuntu2.6) ...
    -#8 7.959 Selecting previously unselected package libbinutils:amd64.
    -#8 7.960 Preparing to unpack .../022-libbinutils_2.38-4ubuntu2.6_amd64.deb ...
    -#8 7.961 Unpacking libbinutils:amd64 (2.38-4ubuntu2.6) ...
    -#8 7.986 Selecting previously unselected package libctf-nobfd0:amd64.
    -#8 7.988 Preparing to unpack .../023-libctf-nobfd0_2.38-4ubuntu2.6_amd64.deb ...
    -#8 7.989 Unpacking libctf-nobfd0:amd64 (2.38-4ubuntu2.6) ...
    -#8 8.005 Selecting previously unselected package libctf0:amd64.
    -#8 8.006 Preparing to unpack .../024-libctf0_2.38-4ubuntu2.6_amd64.deb ...
    -#8 8.008 Unpacking libctf0:amd64 (2.38-4ubuntu2.6) ...
    -#8 8.021 Selecting previously unselected package binutils-x86-64-linux-gnu.
    -#8 8.023 Preparing to unpack .../025-binutils-x86-64-linux-gnu_2.38-4ubuntu2.6_amd64.deb ...
    -
    -
    -
    #8 8.024 Unpacking binutils-x86-64-linux-gnu (2.38-4ubuntu2.6) ...
    -#8 8.098 Selecting previously unselected package binutils.
    -#8 8.099 Preparing to unpack .../026-binutils_2.38-4ubuntu2.6_amd64.deb ...
    -#8 8.100 Unpacking binutils (2.38-4ubuntu2.6) ...
    -#8 8.117 Selecting previously unselected package libc-dev-bin.
    -#8 8.118 Preparing to unpack .../027-libc-dev-bin_2.35-0ubuntu3.6_amd64.deb ...
    -#8 8.119 Unpacking libc-dev-bin (2.35-0ubuntu3.6) ...
    -#8 8.134 Selecting previously unselected package linux-libc-dev:amd64.
    -#8 8.135 Preparing to unpack .../028-linux-libc-dev_5.15.0-100.110_amd64.deb ...
    -#8 8.136 Unpacking linux-libc-dev:amd64 (5.15.0-100.110) ...
    -#8 8.331 Selecting previously unselected package libcrypt-dev:amd64.
    -
    -
    -
    #8 8.333 Preparing to unpack .../029-libcrypt-dev_1%3a4.4.27-1_amd64.deb ...
    -#8 8.334 Unpacking libcrypt-dev:amd64 (1:4.4.27-1) ...
    -#8 8.349 Selecting previously unselected package rpcsvc-proto.
    -#8 8.350 Preparing to unpack .../030-rpcsvc-proto_1.4.2-0ubuntu6_amd64.deb ...
    -#8 8.351 Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ...
    -#8 8.368 Selecting previously unselected package libtirpc-dev:amd64.
    -#8 8.369 Preparing to unpack .../031-libtirpc-dev_1.3.2-2ubuntu0.1_amd64.deb ...
    -#8 8.370 Unpacking libtirpc-dev:amd64 (1.3.2-2ubuntu0.1) ...
    -#8 8.395 Selecting previously unselected package libnsl-dev:amd64.
    -#8 8.396 Preparing to unpack .../032-libnsl-dev_1.3.0-2build2_amd64.deb ...
    -#8 8.397 Unpacking libnsl-dev:amd64 (1.3.0-2build2) ...
    -#8 8.414 Selecting previously unselected package libc6-dev:amd64.
    -#8 8.415 Preparing to unpack .../033-libc6-dev_2.35-0ubuntu3.6_amd64.deb ...
    -#8 8.416 Unpacking libc6-dev:amd64 (2.35-0ubuntu3.6) ...
    -#8 8.555 Selecting previously unselected package gcc-11-base:amd64.
    -
    -
    -
    #8 8.557 Preparing to unpack .../034-gcc-11-base_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.558 Unpacking gcc-11-base:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 8.573 Selecting previously unselected package libisl23:amd64.
    -#8 8.574 Preparing to unpack .../035-libisl23_0.24-2build1_amd64.deb ...
    -#8 8.575 Unpacking libisl23:amd64 (0.24-2build1) ...
    -#8 8.598 Selecting previously unselected package libmpfr6:amd64.
    -#8 8.599 Preparing to unpack .../036-libmpfr6_4.1.0-3build3_amd64.deb ...
    -#8 8.600 Unpacking libmpfr6:amd64 (4.1.0-3build3) ...
    -#8 8.624 Selecting previously unselected package libmpc3:amd64.
    -#8 8.626 Preparing to unpack .../037-libmpc3_1.2.1-2build1_amd64.deb ...
    -#8 8.627 Unpacking libmpc3:amd64 (1.2.1-2build1) ...
    -#8 8.641 Selecting previously unselected package cpp-11.
    -#8 8.642 Preparing to unpack .../038-cpp-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.643 Unpacking cpp-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 8.757 Selecting previously unselected package cpp.
    -#8 8.759 Preparing to unpack .../039-cpp_4%3a11.2.0-1ubuntu1_amd64.deb ...
    -#8 8.760 Unpacking cpp (4:11.2.0-1ubuntu1) ...
    -#8 8.775 Selecting previously unselected package libcc1-0:amd64.
    -#8 8.776 Preparing to unpack .../040-libcc1-0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.777 Unpacking libcc1-0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.794 Selecting previously unselected package libgomp1:amd64.
    -#8 8.795 Preparing to unpack .../041-libgomp1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.796 Unpacking libgomp1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.813 Selecting previously unselected package libitm1:amd64.
    -#8 8.814 Preparing to unpack .../042-libitm1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.815 Unpacking libitm1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.830 Selecting previously unselected package libatomic1:amd64.
    -#8 8.832 Preparing to unpack .../043-libatomic1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.833 Unpacking libatomic1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.848 Selecting previously unselected package libasan6:amd64.
    -#8 8.849 Preparing to unpack .../044-libasan6_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.850 Unpacking libasan6:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 8.894 Selecting previously unselected package liblsan0:amd64.
    -
    -
    -
    #8 8.895 Preparing to unpack .../045-liblsan0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.897 Unpacking liblsan0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.924 Selecting previously unselected package libtsan0:amd64.
    -#8 8.926 Preparing to unpack .../046-libtsan0_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.927 Unpacking libtsan0:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 8.967 Selecting previously unselected package libubsan1:amd64.
    -#8 8.969 Preparing to unpack .../047-libubsan1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.970 Unpacking libubsan1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 8.994 Selecting previously unselected package libquadmath0:amd64.
    -#8 8.996 Preparing to unpack .../048-libquadmath0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    -#8 8.998 Unpacking libquadmath0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 9.012 Selecting previously unselected package libgcc-11-dev:amd64.
    -#8 9.013 Preparing to unpack .../049-libgcc-11-dev_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 9.014 Unpacking libgcc-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 9.098 Selecting previously unselected package gcc-11.
    -
    -
    -
    #8 9.100 Preparing to unpack .../050-gcc-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 9.101 Unpacking gcc-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 9.337 Selecting previously unselected package gcc.
    -
    -
    -
    #8 9.338 Preparing to unpack .../051-gcc_4%3a11.2.0-1ubuntu1_amd64.deb ...
    -#8 9.339 Unpacking gcc (4:11.2.0-1ubuntu1) ...
    -#8 9.356 Selecting previously unselected package libstdc++-11-dev:amd64.
    -#8 9.357 Preparing to unpack .../052-libstdc++-11-dev_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 9.358 Unpacking libstdc++-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 9.558 Selecting previously unselected package g++-11.
    -#8 9.559 Preparing to unpack .../053-g++-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    -#8 9.560 Unpacking g++-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 9.679 Selecting previously unselected package g++.
    -
    -
    -
    #8 9.681 Preparing to unpack .../054-g++_4%3a11.2.0-1ubuntu1_amd64.deb ...
    -#8 9.682 Unpacking g++ (4:11.2.0-1ubuntu1) ...
    -#8 9.694 Selecting previously unselected package make.
    -#8 9.696 Preparing to unpack .../055-make_4.3-4.1build1_amd64.deb ...
    -#8 9.697 Unpacking make (4.3-4.1build1) ...
    -#8 9.713 Selecting previously unselected package libdpkg-perl.
    -#8 9.714 Preparing to unpack .../056-libdpkg-perl_1.21.1ubuntu2.3_all.deb ...
    -#8 9.715 Unpacking libdpkg-perl (1.21.1ubuntu2.3) ...
    -#8 9.746 Selecting previously unselected package bzip2.
    -#8 9.748 Preparing to unpack .../057-bzip2_1.0.8-5build1_amd64.deb ...
    -#8 9.749 Unpacking bzip2 (1.0.8-5build1) ...
    -#8 9.765 Selecting previously unselected package patch.
    -#8 9.767 Preparing to unpack .../058-patch_2.7.6-7build2_amd64.deb ...
    -#8 9.768 Unpacking patch (2.7.6-7build2) ...
    -#8 9.782 Selecting previously unselected package lto-disabled-list.
    -#8 9.784 Preparing to unpack .../059-lto-disabled-list_24_all.deb ...
    -#8 9.785 Unpacking lto-disabled-list (24) ...
    -#8 9.799 Selecting previously unselected package dpkg-dev.
    -#8 9.800 Preparing to unpack .../060-dpkg-dev_1.21.1ubuntu2.3_all.deb ...
    -#8 9.801 Unpacking dpkg-dev (1.21.1ubuntu2.3) ...
    -#8 9.834 Selecting previously unselected package build-essential.
    -#8 9.835 Preparing to unpack .../061-build-essential_12.9ubuntu3_amd64.deb ...
    -#8 9.836 Unpacking build-essential (12.9ubuntu3) ...
    -#8 9.851 Selecting previously unselected package libassuan0:amd64.
    -#8 9.853 Preparing to unpack .../062-libassuan0_2.5.5-1build1_amd64.deb ...
    -#8 9.854 Unpacking libassuan0:amd64 (2.5.5-1build1) ...
    -#8 9.868 Selecting previously unselected package gpgconf.
    -#8 9.869 Preparing to unpack .../063-gpgconf_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 9.870 Unpacking gpgconf (2.2.27-3ubuntu2.1) ...
    -#8 9.887 Selecting previously unselected package libksba8:amd64.
    -
    -
    -
    #8 9.888 Preparing to unpack .../064-libksba8_1.6.0-2ubuntu0.2_amd64.deb ...
    -#8 9.890 Unpacking libksba8:amd64 (1.6.0-2ubuntu0.2) ...
    -#8 9.904 Selecting previously unselected package libsasl2-modules-db:amd64.
    -#8 9.906 Preparing to unpack .../065-libsasl2-modules-db_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    -#8 9.907 Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 9.922 Selecting previously unselected package libsasl2-2:amd64.
    -#8 9.924 Preparing to unpack .../066-libsasl2-2_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    -#8 9.925 Unpacking libsasl2-2:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 9.940 Selecting previously unselected package libldap-2.5-0:amd64.
    -#8 9.942 Preparing to unpack .../067-libldap-2.5-0_2.5.16+dfsg-0ubuntu0.22.04.2_amd64.deb ...
    -#8 9.943 Unpacking libldap-2.5-0:amd64 (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    -#8 9.961 Selecting previously unselected package libnpth0:amd64.
    -#8 9.963 Preparing to unpack .../068-libnpth0_1.6-3build2_amd64.deb ...
    -#8 9.964 Unpacking libnpth0:amd64 (1.6-3build2) ...
    -#8 9.978 Selecting previously unselected package dirmngr.
    -#8 9.980 Preparing to unpack .../069-dirmngr_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 9.992 Unpacking dirmngr (2.2.27-3ubuntu2.1) ...
    -#8 10.01 Selecting previously unselected package libfakeroot:amd64.
    -#8 10.01 Preparing to unpack .../070-libfakeroot_1.28-1ubuntu1_amd64.deb ...
    -#8 10.01 Unpacking libfakeroot:amd64 (1.28-1ubuntu1) ...
    -#8 10.03 Selecting previously unselected package fakeroot.
    -#8 10.03 Preparing to unpack .../071-fakeroot_1.28-1ubuntu1_amd64.deb ...
    -#8 10.03 Unpacking fakeroot (1.28-1ubuntu1) ...
    -#8 10.05 Selecting previously unselected package fonts-dejavu-core.
    -#8 10.05 Preparing to unpack .../072-fonts-dejavu-core_2.37-2build1_all.deb ...
    -#8 10.05 Unpacking fonts-dejavu-core (2.37-2build1) ...
    -#8 10.13 Selecting previously unselected package fontconfig-config.
    -
    -
    -
    #8 10.14 Preparing to unpack .../073-fontconfig-config_2.13.1-4.2ubuntu5_all.deb ...
    -#8 10.14 Unpacking fontconfig-config (2.13.1-4.2ubuntu5) ...
    -#8 10.16 Selecting previously unselected package gnupg-l10n.
    -#8 10.16 Preparing to unpack .../074-gnupg-l10n_2.2.27-3ubuntu2.1_all.deb ...
    -#8 10.16 Unpacking gnupg-l10n (2.2.27-3ubuntu2.1) ...
    -#8 10.18 Selecting previously unselected package gnupg-utils.
    -#8 10.18 Preparing to unpack .../075-gnupg-utils_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.18 Unpacking gnupg-utils (2.2.27-3ubuntu2.1) ...
    -#8 10.20 Selecting previously unselected package gpg.
    -#8 10.20 Preparing to unpack .../076-gpg_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.21 Unpacking gpg (2.2.27-3ubuntu2.1) ...
    -#8 10.22 Selecting previously unselected package pinentry-curses.
    -#8 10.23 Preparing to unpack .../077-pinentry-curses_1.1.1-1build2_amd64.deb ...
    -#8 10.23 Unpacking pinentry-curses (1.1.1-1build2) ...
    -#8 10.24 Selecting previously unselected package gpg-agent.
    -#8 10.24 Preparing to unpack .../078-gpg-agent_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.24 Unpacking gpg-agent (2.2.27-3ubuntu2.1) ...
    -#8 10.26 Selecting previously unselected package gpg-wks-client.
    -#8 10.27 Preparing to unpack .../079-gpg-wks-client_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.27 Unpacking gpg-wks-client (2.2.27-3ubuntu2.1) ...
    -#8 10.28 Selecting previously unselected package gpg-wks-server.
    -#8 10.28 Preparing to unpack .../080-gpg-wks-server_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.29 Unpacking gpg-wks-server (2.2.27-3ubuntu2.1) ...
    -#8 10.30 Selecting previously unselected package gpgsm.
    -#8 10.30 Preparing to unpack .../081-gpgsm_2.2.27-3ubuntu2.1_amd64.deb ...
    -#8 10.30 Unpacking gpgsm (2.2.27-3ubuntu2.1) ...
    -#8 10.32 Selecting previously unselected package gnupg.
    -#8 10.32 Preparing to unpack .../082-gnupg_2.2.27-3ubuntu2.1_all.deb ...
    -#8 10.32 Unpacking gnupg (2.2.27-3ubuntu2.1) ...
    -#8 10.34 Selecting previously unselected package javascript-common.
    -
    -
    -
    #8 10.34 Preparing to unpack .../083-javascript-common_11+nmu1_all.deb ...
    -#8 10.35 Unpacking javascript-common (11+nmu1) ...
    -#8 10.38 Selecting previously unselected package libalgorithm-diff-perl.
    -#8 10.38 Preparing to unpack .../084-libalgorithm-diff-perl_1.201-1_all.deb ...
    -#8 10.38 Unpacking libalgorithm-diff-perl (1.201-1) ...
    -#8 10.40 Selecting previously unselected package libalgorithm-diff-xs-perl.
    -#8 10.40 Preparing to unpack .../085-libalgorithm-diff-xs-perl_0.04-6build3_amd64.deb ...
    -#8 10.40 Unpacking libalgorithm-diff-xs-perl (0.04-6build3) ...
    -#8 10.42 Selecting previously unselected package libalgorithm-merge-perl.
    -#8 10.42 Preparing to unpack .../086-libalgorithm-merge-perl_0.08-3_all.deb ...
    -#8 10.42 Unpacking libalgorithm-merge-perl (0.08-3) ...
    -#8 10.43 Selecting previously unselected package libbrotli1:amd64.
    -#8 10.44 Preparing to unpack .../087-libbrotli1_1.0.9-2build6_amd64.deb ...
    -#8 10.44 Unpacking libbrotli1:amd64 (1.0.9-2build6) ...
    -#8 10.46 Selecting previously unselected package libfreetype6:amd64.
    -#8 10.46 Preparing to unpack .../088-libfreetype6_2.11.1+dfsg-1ubuntu0.2_amd64.deb ...
    -#8 10.46 Unpacking libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.2) ...
    -#8 10.48 Selecting previously unselected package libfontconfig1:amd64.
    -#8 10.48 Preparing to unpack .../089-libfontconfig1_2.13.1-4.2ubuntu5_amd64.deb ...
    -#8 10.48 Unpacking libfontconfig1:amd64 (2.13.1-4.2ubuntu5) ...
    -#8 10.50 Selecting previously unselected package libjpeg-turbo8:amd64.
    -#8 10.50 Preparing to unpack .../090-libjpeg-turbo8_2.1.2-0ubuntu1_amd64.deb ...
    -#8 10.50 Unpacking libjpeg-turbo8:amd64 (2.1.2-0ubuntu1) ...
    -#8 10.52 Selecting previously unselected package libjpeg8:amd64.
    -#8 10.52 Preparing to unpack .../091-libjpeg8_8c-2ubuntu10_amd64.deb ...
    -#8 10.52 Unpacking libjpeg8:amd64 (8c-2ubuntu10) ...
    -#8 10.54 Selecting previously unselected package libdeflate0:amd64.
    -#8 10.54 Preparing to unpack .../092-libdeflate0_1.10-2_amd64.deb ...
    -#8 10.54 Unpacking libdeflate0:amd64 (1.10-2) ...
    -#8 10.55 Selecting previously unselected package libjbig0:amd64.
    -#8 10.56 Preparing to unpack .../093-libjbig0_2.1-3.1ubuntu0.22.04.1_amd64.deb ...
    -#8 10.56 Unpacking libjbig0:amd64 (2.1-3.1ubuntu0.22.04.1) ...
    -
    -
    -
    #8 10.57 Selecting previously unselected package libwebp7:amd64.
    -#8 10.57 Preparing to unpack .../094-libwebp7_1.2.2-2ubuntu0.22.04.2_amd64.deb ...
    -#8 10.58 Unpacking libwebp7:amd64 (1.2.2-2ubuntu0.22.04.2) ...
    -#8 10.59 Selecting previously unselected package libtiff5:amd64.
    -#8 10.60 Preparing to unpack .../095-libtiff5_4.3.0-6ubuntu0.8_amd64.deb ...
    -#8 10.60 Unpacking libtiff5:amd64 (4.3.0-6ubuntu0.8) ...
    -#8 10.61 Selecting previously unselected package libxpm4:amd64.
    -#8 10.62 Preparing to unpack .../096-libxpm4_1%3a3.5.12-1ubuntu0.22.04.2_amd64.deb ...
    -#8 10.62 Unpacking libxpm4:amd64 (1:3.5.12-1ubuntu0.22.04.2) ...
    -#8 10.64 Selecting previously unselected package libgd3:amd64.
    -#8 10.64 Preparing to unpack .../097-libgd3_2.3.0-2ubuntu2_amd64.deb ...
    -#8 10.64 Unpacking libgd3:amd64 (2.3.0-2ubuntu2) ...
    -#8 10.66 Selecting previously unselected package libc-devtools.
    -#8 10.66 Preparing to unpack .../098-libc-devtools_2.35-0ubuntu3.6_amd64.deb ...
    -#8 10.66 Unpacking libc-devtools (2.35-0ubuntu3.6) ...
    -#8 10.67 Selecting previously unselected package libexpat1-dev:amd64.
    -#8 10.68 Preparing to unpack .../099-libexpat1-dev_2.4.7-1ubuntu0.2_amd64.deb ...
    -#8 10.68 Unpacking libexpat1-dev:amd64 (2.4.7-1ubuntu0.2) ...
    -#8 10.70 Selecting previously unselected package libfile-fcntllock-perl.
    -#8 10.70 Preparing to unpack .../100-libfile-fcntllock-perl_0.22-3build7_amd64.deb ...
    -#8 10.70 Unpacking libfile-fcntllock-perl (0.22-3build7) ...
    -#8 10.72 Selecting previously unselected package libjs-jquery.
    -#8 10.72 Preparing to unpack .../101-libjs-jquery_3.6.0+dfsg+~3.5.13-1_all.deb ...
    -#8 10.73 Unpacking libjs-jquery (3.6.0+dfsg+~3.5.13-1) ...
    -#8 10.75 Selecting previously unselected package libjs-underscore.
    -#8 10.75 Preparing to unpack .../102-libjs-underscore_1.13.2~dfsg-2_all.deb ...
    -#8 10.75 Unpacking libjs-underscore (1.13.2~dfsg-2) ...
    -#8 10.77 Selecting previously unselected package libjs-sphinxdoc.
    -
    -
    -
    #8 10.77 Preparing to unpack .../103-libjs-sphinxdoc_4.3.2-1_all.deb ...
    -#8 10.77 Unpacking libjs-sphinxdoc (4.3.2-1) ...
    -#8 10.79 Selecting previously unselected package libldap-common.
    -#8 10.79 Preparing to unpack .../104-libldap-common_2.5.16+dfsg-0ubuntu0.22.04.2_all.deb ...
    -#8 10.79 Unpacking libldap-common (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    -#8 10.81 Selecting previously unselected package libpython3.10:amd64.
    -#8 10.81 Preparing to unpack .../105-libpython3.10_3.10.12-1~22.04.3_amd64.deb ...
    -#8 10.81 Unpacking libpython3.10:amd64 (3.10.12-1~22.04.3) ...
    -#8 10.85 Selecting previously unselected package zlib1g-dev:amd64.
    -#8 10.85 Preparing to unpack .../106-zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu9.2_amd64.deb ...
    -#8 10.85 Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu9.2) ...
    -#8 10.87 Selecting previously unselected package libpython3.10-dev:amd64.
    -#8 10.87 Preparing to unpack .../107-libpython3.10-dev_3.10.12-1~22.04.3_amd64.deb ...
    -#8 10.87 Unpacking libpython3.10-dev:amd64 (3.10.12-1~22.04.3) ...
    -#8 10.98 Selecting previously unselected package libpython3-dev:amd64.
    -
    -
    -
    #8 10.98 Preparing to unpack .../108-libpython3-dev_3.10.6-1~22.04_amd64.deb ...
    -#8 10.98 Unpacking libpython3-dev:amd64 (3.10.6-1~22.04) ...
    -#8 11.00 Selecting previously unselected package libsasl2-modules:amd64.
    -#8 11.00 Preparing to unpack .../109-libsasl2-modules_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    -#8 11.00 Unpacking libsasl2-modules:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 11.02 Selecting previously unselected package manpages-dev.
    -#8 11.02 Preparing to unpack .../110-manpages-dev_5.10-1ubuntu1_all.deb ...
    -#8 11.02 Unpacking manpages-dev (5.10-1ubuntu1) ...
    -#8 11.24 Selecting previously unselected package python3.10-dev.
    -#8 11.24 Preparing to unpack .../111-python3.10-dev_3.10.12-1~22.04.3_amd64.deb ...
    -#8 11.24 Unpacking python3.10-dev (3.10.12-1~22.04.3) ...
    -#8 11.25 Selecting previously unselected package python3-lib2to3.
    -#8 11.26 Preparing to unpack .../112-python3-lib2to3_3.10.8-1~22.04_all.deb ...
    -#8 11.26 Unpacking python3-lib2to3 (3.10.8-1~22.04) ...
    -#8 11.30 Selecting previously unselected package python3-distutils.
    -#8 11.30 Preparing to unpack .../113-python3-distutils_3.10.8-1~22.04_all.deb ...
    -#8 11.30 Unpacking python3-distutils (3.10.8-1~22.04) ...
    -#8 11.33 Selecting previously unselected package python3-dev.
    -#8 11.33 Preparing to unpack .../114-python3-dev_3.10.6-1~22.04_amd64.deb ...
    -#8 11.33 Unpacking python3-dev (3.10.6-1~22.04) ...
    -#8 11.35 Selecting previously unselected package python3-setuptools.
    -
    -
    -
    #8 11.35 Preparing to unpack .../115-python3-setuptools_59.6.0-1.2ubuntu0.22.04.1_all.deb ...
    -#8 11.35 Unpacking python3-setuptools (59.6.0-1.2ubuntu0.22.04.1) ...
    -#8 11.39 Selecting previously unselected package python3-wheel.
    -#8 11.39 Preparing to unpack .../116-python3-wheel_0.37.1-2ubuntu0.22.04.1_all.deb ...
    -#8 11.39 Unpacking python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
    -#8 11.41 Selecting previously unselected package python3-pip.
    -#8 11.41 Preparing to unpack .../117-python3-pip_22.0.2+dfsg-1ubuntu0.4_all.deb ...
    -#8 11.42 Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
    -#8 11.56 Setting up libksba8:amd64 (1.6.0-2ubuntu0.2) ...
    -#8 11.56 Setting up media-types (7.0.0) ...
    -#8 11.56 Setting up javascript-common (11+nmu1) ...
    -#8 11.58 Setting up gcc-11-base:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 11.58 Setting up libxau6:amd64 (1:1.0.9-1build5) ...
    -#8 11.58 Setting up lto-disabled-list (24) ...
    -#8 11.59 Setting up manpages (5.10-1ubuntu1) ...
    -#8 11.59 Setting up libbrotli1:amd64 (1.0.9-2build6) ...
    -#8 11.59 Setting up libsqlite3-0:amd64 (3.37.2-2ubuntu0.3) ...
    -#8 11.59 Setting up libsasl2-modules:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 11.60 Setting up binutils-common:amd64 (2.38-4ubuntu2.6) ...
    -#8 11.60 Setting up libdeflate0:amd64 (1.10-2) ...
    -#8 11.61 Setting up linux-libc-dev:amd64 (5.15.0-100.110) ...
    -#8 11.61 Setting up libctf-nobfd0:amd64 (2.38-4ubuntu2.6) ...
    -#8 11.61 Setting up libnpth0:amd64 (1.6-3build2) ...
    -#8 11.61 Setting up libassuan0:amd64 (2.5.5-1build1) ...
    -#8 11.62 Setting up libgomp1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.62 Setting up perl-modules-5.34 (5.34.0-3ubuntu1.3) ...
    -#8 11.62 Setting up bzip2 (1.0.8-5build1) ...
    -#8 11.62 Setting up libldap-common (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    -#8 11.63 Setting up libjbig0:amd64 (2.1-3.1ubuntu0.22.04.1) ...
    -#8 11.63 Setting up libfakeroot:amd64 (1.28-1ubuntu1) ...
    -#8 11.63 Setting up libasan6:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 11.64 Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 11.64 Setting up fakeroot (1.28-1ubuntu1) ...
    -#8 11.64 update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.64 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    -#8 11.65 Setting up libtirpc-dev:amd64 (1.3.2-2ubuntu0.1) ...
    -#8 11.65 Setting up rpcsvc-proto (1.4.2-0ubuntu6) ...
    -#8 11.65 Setting up libx11-data (2:1.7.5-1ubuntu0.3) ...
    -#8 11.65 Setting up make (4.3-4.1build1) ...
    -#8 11.66 Setting up libmpfr6:amd64 (4.1.0-3build3) ...
    -
    -
    -
    #8 11.66 Setting up gnupg-l10n (2.2.27-3ubuntu2.1) ...
    -#8 11.66 Setting up xz-utils (5.2.5-2ubuntu1) ...
    -#8 11.67 update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist
    -#8 11.67 update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist
    -#8 11.67 Setting up libquadmath0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.67 Setting up libpng16-16:amd64 (1.6.37-3build5) ...
    -#8 11.68 Setting up libmpc3:amd64 (1.2.1-2build1) ...
    -#8 11.68 Setting up libatomic1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.68 Setting up patch (2.7.6-7build2) ...
    -#8 11.69 Setting up fonts-dejavu-core (2.37-2build1) ...
    -#8 11.70 Setting up ucf (3.0043) ...
    -#8 11.77 debconf: unable to initialize frontend: Dialog
    -#8 11.77 debconf: (TERM is not set, so the dialog frontend is not usable.)
    -#8 11.77 debconf: falling back to frontend: Readline
    -#8 11.79 Setting up libjpeg-turbo8:amd64 (2.1.2-0ubuntu1) ...
    -#8 11.79 Setting up libsasl2-2:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    -#8 11.80 Setting up libwebp7:amd64 (1.2.2-2ubuntu0.22.04.2) ...
    -#8 11.80 Setting up libubsan1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.80 Setting up libmd0:amd64 (1.0.4-1build1) ...
    -#8 11.81 Setting up libnsl-dev:amd64 (1.3.0-2build2) ...
    -#8 11.81 Setting up libcrypt-dev:amd64 (1:4.4.27-1) ...
    -#8 11.81 Setting up libmpdec3:amd64 (2.5.1-2build2) ...
    -#8 11.81 Setting up netbase (6.3) ...
    -#8 11.82 Setting up libjs-jquery (3.6.0+dfsg+~3.5.13-1) ...
    -#8 11.83 Setting up libbinutils:amd64 (2.38-4ubuntu2.6) ...
    -#8 11.83 Setting up libisl23:amd64 (0.24-2build1) ...
    -#8 11.83 Setting up libc-dev-bin (2.35-0ubuntu3.6) ...
    -#8 11.84 Setting up openssl (3.0.2-0ubuntu1.15) ...
    -#8 11.84 Setting up libbsd0:amd64 (0.11.5-1) ...
    -#8 11.84 Setting up readline-common (8.1.2-1) ...
    -#8 11.85 Setting up libcc1-0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.85 Setting up liblocale-gettext-perl (1.07-4build3) ...
    -#8 11.85 Setting up liblsan0:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.86 Setting up libitm1:amd64 (12.3.0-1ubuntu1~22.04) ...
    -#8 11.86 Setting up libgdbm6:amd64 (1.23-1) ...
    -#8 11.86 Setting up libjs-underscore (1.13.2~dfsg-2) ...
    -#8 11.86 Setting up libtsan0:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 11.87 Setting up libctf0:amd64 (2.38-4ubuntu2.6) ...
    -
    -
    -
    #8 11.87 Setting up libjpeg8:amd64 (8c-2ubuntu10) ...
    -#8 11.88 Setting up pinentry-curses (1.1.1-1build2) ...
    -#8 11.88 Setting up cpp-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 11.88 Setting up manpages-dev (5.10-1ubuntu1) ...
    -#8 11.89 Setting up libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ...
    -#8 11.89 Setting up libxcb1:amd64 (1.14-3ubuntu3) ...
    -#8 11.89 Setting up fontconfig-config (2.13.1-4.2ubuntu5) ...
    -#8 11.95 Setting up libreadline8:amd64 (8.1.2-1) ...
    -#8 11.95 Setting up libldap-2.5-0:amd64 (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    -#8 11.95 Setting up libpython3.10-stdlib:amd64 (3.10.12-1~22.04.3) ...
    -#8 11.96 Setting up ca-certificates (20230311ubuntu0.22.04.1) ...
    -#8 12.03 debconf: unable to initialize frontend: Dialog
    -#8 12.03 debconf: (TERM is not set, so the dialog frontend is not usable.)
    -#8 12.03 debconf: falling back to frontend: Readline
    -
    -
    -
    #8 12.40 Updating certificates in /etc/ssl/certs...
    -
    -
    -
    #8 12.93 137 added, 0 removed; done.
    -
    -
    -
    #8 12.95 Setting up libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.2) ...
    -#8 12.95 Setting up libgdbm-compat4:amd64 (1.23-1) ...
    -#8 12.96 Setting up libjs-sphinxdoc (4.3.2-1) ...
    -#8 12.96 Setting up libgcc-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 12.96 Setting up cpp (4:11.2.0-1ubuntu1) ...
    -#8 12.97 Setting up gpgconf (2.2.27-3ubuntu2.1) ...
    -#8 12.97 Setting up libc6-dev:amd64 (2.35-0ubuntu3.6) ...
    -#8 12.97 Setting up libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ...
    -#8 12.98 Setting up libtiff5:amd64 (4.3.0-6ubuntu0.8) ...
    -#8 12.98 Setting up libfontconfig1:amd64 (2.13.1-4.2ubuntu5) ...
    -#8 12.98 Setting up gpg (2.2.27-3ubuntu2.1) ...
    -#8 12.98 Setting up libpython3-stdlib:amd64 (3.10.6-1~22.04) ...
    -#8 12.99 Setting up gnupg-utils (2.2.27-3ubuntu2.1) ...
    -#8 12.99 Setting up binutils-x86-64-linux-gnu (2.38-4ubuntu2.6) ...
    -#8 13.00 Setting up libpython3.10:amd64 (3.10.12-1~22.04.3) ...
    -#8 13.00 Setting up libperl5.34:amd64 (5.34.0-3ubuntu1.3) ...
    -#8 13.00 Setting up gpg-agent (2.2.27-3ubuntu2.1) ...
    -
    -
    -
    #8 13.40 Setting up python3.10 (3.10.12-1~22.04.3) ...
    -
    -
    -
    #8 13.93 Setting up libxpm4:amd64 (1:3.5.12-1ubuntu0.22.04.2) ...
    -#8 13.93 Setting up gpgsm (2.2.27-3ubuntu2.1) ...
    -#8 13.94 Setting up python3 (3.10.6-1~22.04) ...
    -#8 13.94 running python rtupdate hooks for python3.10...
    -#8 13.94 running python post-rtupdate hooks for python3.10...
    -#8 14.02 Setting up binutils (2.38-4ubuntu2.6) ...
    -#8 14.02 Setting up dirmngr (2.2.27-3ubuntu2.1) ...
    -#8 14.13 Setting up perl (5.34.0-3ubuntu1.3) ...
    -
    -
    -
    #8 14.14 Setting up libexpat1-dev:amd64 (2.4.7-1ubuntu0.2) ...
    -#8 14.14 Setting up libgd3:amd64 (2.3.0-2ubuntu2) ...
    -#8 14.15 Setting up libdpkg-perl (1.21.1ubuntu2.3) ...
    -#8 14.15 Setting up libstdc++-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    -#8 14.15 Setting up gpg-wks-server (2.2.27-3ubuntu2.1) ...
    -#8 14.15 Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu9.2) ...
    -#8 14.16 Setting up gcc-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 14.16 Setting up python3-lib2to3 (3.10.8-1~22.04) ...
    -#8 14.24 Setting up libc-devtools (2.35-0ubuntu3.6) ...
    -#8 14.25 Setting up python3-pkg-resources (59.6.0-1.2ubuntu0.22.04.1) ...
    -#8 14.39 Setting up python3-distutils (3.10.8-1~22.04) ...
    -
    -
    -
    #8 14.49 Setting up python3-setuptools (59.6.0-1.2ubuntu0.22.04.1) ...
    -#8 14.77 Setting up gpg-wks-client (2.2.27-3ubuntu2.1) ...
    -
    -
    -
    #8 14.77 Setting up g++-11 (11.4.0-1ubuntu1~22.04) ...
    -#8 14.77 Setting up libfile-fcntllock-perl (0.22-3build7) ...
    -#8 14.77 Setting up libalgorithm-diff-perl (1.201-1) ...
    -#8 14.78 Setting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
    -#8 14.89 Setting up gcc (4:11.2.0-1ubuntu1) ...
    -#8 14.90 Setting up dpkg-dev (1.21.1ubuntu2.3) ...
    -#8 14.90 Setting up libpython3.10-dev:amd64 (3.10.12-1~22.04.3) ...
    -#8 14.91 Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
    -
    -
    -
    #8 15.78 Setting up python3.10-dev (3.10.12-1~22.04.3) ...
    -
    -
    -
    #8 15.78 Setting up g++ (4:11.2.0-1ubuntu1) ...
    -#8 15.80 update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
    -#8 15.80 update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist
    -#8 15.80 Setting up gnupg (2.2.27-3ubuntu2.1) ...
    -#8 15.80 Setting up build-essential (12.9ubuntu3) ...
    -#8 15.81 Setting up libalgorithm-diff-xs-perl (0.04-6build3) ...
    -#8 15.81 Setting up libalgorithm-merge-perl (0.08-3) ...
    -#8 15.81 Setting up libpython3-dev:amd64 (3.10.6-1~22.04) ...
    -#8 15.82 Setting up python3-dev (3.10.6-1~22.04) ...
    -#8 15.82 Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
    -#8 15.83 Processing triggers for ca-certificates (20230311ubuntu0.22.04.1) ...
    -#8 15.84 Updating certificates in /etc/ssl/certs...
    +#8 9.646 Preparing to unpack .../000-python3_3.10.6-1~22.04_amd64.deb ...
    +#8 9.694 Unpacking python3 (3.10.6-1~22.04) ...
    +#8 9.711 Selecting previously unselected package perl-modules-5.34.
    +#8 9.712 Preparing to unpack .../001-perl-modules-5.34_5.34.0-3ubuntu1.3_all.deb ...
    +#8 9.713 Unpacking perl-modules-5.34 (5.34.0-3ubuntu1.3) ...
    +#8 9.998 Selecting previously unselected package libgdbm6:amd64.
    +
    +
    +
    #8 9.999 Preparing to unpack .../002-libgdbm6_1.23-1_amd64.deb ...
    +#8 10.000 Unpacking libgdbm6:amd64 (1.23-1) ...
    +#8 10.01 Selecting previously unselected package libgdbm-compat4:amd64.
    +#8 10.02 Preparing to unpack .../003-libgdbm-compat4_1.23-1_amd64.deb ...
    +#8 10.02 Unpacking libgdbm-compat4:amd64 (1.23-1) ...
    +#8 10.03 Selecting previously unselected package libperl5.34:amd64.
    +#8 10.03 Preparing to unpack .../004-libperl5.34_5.34.0-3ubuntu1.3_amd64.deb ...
    +#8 10.03 Unpacking libperl5.34:amd64 (5.34.0-3ubuntu1.3) ...
    +#8 10.22 Selecting previously unselected package perl.
    +#8 10.22 Preparing to unpack .../005-perl_5.34.0-3ubuntu1.3_amd64.deb ...
    +#8 10.24 Unpacking perl (5.34.0-3ubuntu1.3) ...
    +#8 10.26 Selecting previously unselected package openssl.
    +#8 10.26 Preparing to unpack .../006-openssl_3.0.2-0ubuntu1.15_amd64.deb ...
    +#8 10.26 Unpacking openssl (3.0.2-0ubuntu1.15) ...
    +#8 10.30 Selecting previously unselected package ca-certificates.
    +#8 10.30 Preparing to unpack .../007-ca-certificates_20230311ubuntu0.22.04.1_all.deb ...
    +#8 10.30 Unpacking ca-certificates (20230311ubuntu0.22.04.1) ...
    +#8 10.34 Selecting previously unselected package libmd0:amd64.
    +
    +
    +
    #8 10.34 Preparing to unpack .../008-libmd0_1.0.4-1build1_amd64.deb ...
    +#8 10.34 Unpacking libmd0:amd64 (1.0.4-1build1) ...
    +#8 10.36 Selecting previously unselected package libbsd0:amd64.
    +#8 10.36 Preparing to unpack .../009-libbsd0_0.11.5-1_amd64.deb ...
    +#8 10.36 Unpacking libbsd0:amd64 (0.11.5-1) ...
    +#8 10.37 Selecting previously unselected package netbase.
    +#8 10.38 Preparing to unpack .../010-netbase_6.3_all.deb ...
    +#8 10.38 Unpacking netbase (6.3) ...
    +#8 10.40 Selecting previously unselected package python3-pkg-resources.
    +#8 10.40 Preparing to unpack .../011-python3-pkg-resources_59.6.0-1.2ubuntu0.22.04.1_all.deb ...
    +#8 10.40 Unpacking python3-pkg-resources (59.6.0-1.2ubuntu0.22.04.1) ...
    +#8 10.42 Selecting previously unselected package ucf.
    +#8 10.42 Preparing to unpack .../012-ucf_3.0043_all.deb ...
    +#8 10.42 Moving old data out of the way
    +#8 10.43 Unpacking ucf (3.0043) ...
    +#8 10.45 Selecting previously unselected package libpng16-16:amd64.
    +#8 10.45 Preparing to unpack .../013-libpng16-16_1.6.37-3build5_amd64.deb ...
    +#8 10.45 Unpacking libpng16-16:amd64 (1.6.37-3build5) ...
    +#8 10.47 Selecting previously unselected package libxau6:amd64.
    +#8 10.47 Preparing to unpack .../014-libxau6_1%3a1.0.9-1build5_amd64.deb ...
    +#8 10.47 Unpacking libxau6:amd64 (1:1.0.9-1build5) ...
    +#8 10.49 Selecting previously unselected package libxdmcp6:amd64.
    +#8 10.49 Preparing to unpack .../015-libxdmcp6_1%3a1.1.3-0ubuntu5_amd64.deb ...
    +#8 10.49 Unpacking libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ...
    +#8 10.50 Selecting previously unselected package libxcb1:amd64.
    +#8 10.50 Preparing to unpack .../016-libxcb1_1.14-3ubuntu3_amd64.deb ...
    +#8 10.50 Unpacking libxcb1:amd64 (1.14-3ubuntu3) ...
    +#8 10.52 Selecting previously unselected package libx11-data.
    +#8 10.52 Preparing to unpack .../017-libx11-data_2%3a1.7.5-1ubuntu0.3_all.deb ...
    +#8 10.52 Unpacking libx11-data (2:1.7.5-1ubuntu0.3) ...
    +#8 10.58 Selecting previously unselected package libx11-6:amd64.
    +
    +
    +
    #8 10.58 Preparing to unpack .../018-libx11-6_2%3a1.7.5-1ubuntu0.3_amd64.deb ...
    +#8 10.58 Unpacking libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ...
    +#8 10.60 Selecting previously unselected package manpages.
    +#8 10.60 Preparing to unpack .../019-manpages_5.10-1ubuntu1_all.deb ...
    +#8 10.60 Unpacking manpages (5.10-1ubuntu1) ...
    +#8 10.69 Selecting previously unselected package xz-utils.
    +#8 10.69 Preparing to unpack .../020-xz-utils_5.2.5-2ubuntu1_amd64.deb ...
    +#8 10.69 Unpacking xz-utils (5.2.5-2ubuntu1) ...
    +#8 10.71 Selecting previously unselected package binutils-common:amd64.
    +#8 10.71 Preparing to unpack .../021-binutils-common_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.71 Unpacking binutils-common:amd64 (2.38-4ubuntu2.6) ...
    +#8 10.73 Selecting previously unselected package libbinutils:amd64.
    +#8 10.73 Preparing to unpack .../022-libbinutils_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.73 Unpacking libbinutils:amd64 (2.38-4ubuntu2.6) ...
    +#8 10.75 Selecting previously unselected package libctf-nobfd0:amd64.
    +#8 10.75 Preparing to unpack .../023-libctf-nobfd0_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.75 Unpacking libctf-nobfd0:amd64 (2.38-4ubuntu2.6) ...
    +#8 10.77 Selecting previously unselected package libctf0:amd64.
    +#8 10.77 Preparing to unpack .../024-libctf0_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.77 Unpacking libctf0:amd64 (2.38-4ubuntu2.6) ...
    +#8 10.78 Selecting previously unselected package binutils-x86-64-linux-gnu.
    +#8 10.78 Preparing to unpack .../025-binutils-x86-64-linux-gnu_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.79 Unpacking binutils-x86-64-linux-gnu (2.38-4ubuntu2.6) ...
    +
    +
    +
    #8 10.86 Selecting previously unselected package binutils.
    +#8 10.86 Preparing to unpack .../026-binutils_2.38-4ubuntu2.6_amd64.deb ...
    +#8 10.86 Unpacking binutils (2.38-4ubuntu2.6) ...
    +#8 10.87 Selecting previously unselected package libc-dev-bin.
    +#8 10.88 Preparing to unpack .../027-libc-dev-bin_2.35-0ubuntu3.6_amd64.deb ...
    +#8 10.88 Unpacking libc-dev-bin (2.35-0ubuntu3.6) ...
    +#8 10.89 Selecting previously unselected package linux-libc-dev:amd64.
    +#8 10.89 Preparing to unpack .../028-linux-libc-dev_5.15.0-100.110_amd64.deb ...
    +#8 10.89 Unpacking linux-libc-dev:amd64 (5.15.0-100.110) ...
    +#8 11.09 Selecting previously unselected package libcrypt-dev:amd64.
    +
    +
    +
    #8 11.09 Preparing to unpack .../029-libcrypt-dev_1%3a4.4.27-1_amd64.deb ...
    +#8 11.09 Unpacking libcrypt-dev:amd64 (1:4.4.27-1) ...
    +#8 11.11 Selecting previously unselected package rpcsvc-proto.
    +#8 11.11 Preparing to unpack .../030-rpcsvc-proto_1.4.2-0ubuntu6_amd64.deb ...
    +#8 11.11 Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ...
    +#8 11.13 Selecting previously unselected package libtirpc-dev:amd64.
    +#8 11.13 Preparing to unpack .../031-libtirpc-dev_1.3.2-2ubuntu0.1_amd64.deb ...
    +#8 11.13 Unpacking libtirpc-dev:amd64 (1.3.2-2ubuntu0.1) ...
    +#8 11.15 Selecting previously unselected package libnsl-dev:amd64.
    +#8 11.15 Preparing to unpack .../032-libnsl-dev_1.3.0-2build2_amd64.deb ...
    +#8 11.15 Unpacking libnsl-dev:amd64 (1.3.0-2build2) ...
    +#8 11.17 Selecting previously unselected package libc6-dev:amd64.
    +#8 11.17 Preparing to unpack .../033-libc6-dev_2.35-0ubuntu3.6_amd64.deb ...
    +#8 11.17 Unpacking libc6-dev:amd64 (2.35-0ubuntu3.6) ...
    +#8 11.31 Selecting previously unselected package gcc-11-base:amd64.
    +
    +
    +
    #8 11.31 Preparing to unpack .../034-gcc-11-base_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.31 Unpacking gcc-11-base:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 11.33 Selecting previously unselected package libisl23:amd64.
    +#8 11.33 Preparing to unpack .../035-libisl23_0.24-2build1_amd64.deb ...
    +#8 11.33 Unpacking libisl23:amd64 (0.24-2build1) ...
    +#8 11.35 Selecting previously unselected package libmpfr6:amd64.
    +#8 11.35 Preparing to unpack .../036-libmpfr6_4.1.0-3build3_amd64.deb ...
    +#8 11.35 Unpacking libmpfr6:amd64 (4.1.0-3build3) ...
    +#8 11.38 Selecting previously unselected package libmpc3:amd64.
    +#8 11.38 Preparing to unpack .../037-libmpc3_1.2.1-2build1_amd64.deb ...
    +#8 11.38 Unpacking libmpc3:amd64 (1.2.1-2build1) ...
    +#8 11.40 Selecting previously unselected package cpp-11.
    +#8 11.40 Preparing to unpack .../038-cpp-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.40 Unpacking cpp-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 11.51 Selecting previously unselected package cpp.
    +#8 11.51 Preparing to unpack .../039-cpp_4%3a11.2.0-1ubuntu1_amd64.deb ...
    +#8 11.52 Unpacking cpp (4:11.2.0-1ubuntu1) ...
    +#8 11.53 Selecting previously unselected package libcc1-0:amd64.
    +#8 11.53 Preparing to unpack .../040-libcc1-0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.53 Unpacking libcc1-0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.55 Selecting previously unselected package libgomp1:amd64.
    +#8 11.55 Preparing to unpack .../041-libgomp1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.55 Unpacking libgomp1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.57 Selecting previously unselected package libitm1:amd64.
    +#8 11.57 Preparing to unpack .../042-libitm1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.57 Unpacking libitm1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.59 Selecting previously unselected package libatomic1:amd64.
    +#8 11.59 Preparing to unpack .../043-libatomic1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.59 Unpacking libatomic1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.61 Selecting previously unselected package libasan6:amd64.
    +#8 11.61 Preparing to unpack .../044-libasan6_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.61 Unpacking libasan6:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 11.65 Selecting previously unselected package liblsan0:amd64.
    +
    +
    +
    #8 11.65 Preparing to unpack .../045-liblsan0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.65 Unpacking liblsan0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.68 Selecting previously unselected package libtsan0:amd64.
    +#8 11.68 Preparing to unpack .../046-libtsan0_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.68 Unpacking libtsan0:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 11.73 Selecting previously unselected package libubsan1:amd64.
    +#8 11.73 Preparing to unpack .../047-libubsan1_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.73 Unpacking libubsan1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.76 Selecting previously unselected package libquadmath0:amd64.
    +#8 11.76 Preparing to unpack .../048-libquadmath0_12.3.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.76 Unpacking libquadmath0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 11.78 Selecting previously unselected package libgcc-11-dev:amd64.
    +#8 11.78 Preparing to unpack .../049-libgcc-11-dev_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 11.78 Unpacking libgcc-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 11.86 Selecting previously unselected package gcc-11.
    +#8 11.86 Preparing to unpack .../050-gcc-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +
    +
    +
    #8 11.86 Unpacking gcc-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 12.07 Selecting previously unselected package gcc.
    +
    +
    +
    #8 12.07 Preparing to unpack .../051-gcc_4%3a11.2.0-1ubuntu1_amd64.deb ...
    +#8 12.07 Unpacking gcc (4:11.2.0-1ubuntu1) ...
    +#8 12.09 Selecting previously unselected package libstdc++-11-dev:amd64.
    +#8 12.09 Preparing to unpack .../052-libstdc++-11-dev_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 12.09 Unpacking libstdc++-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 12.30 Selecting previously unselected package g++-11.
    +#8 12.30 Preparing to unpack .../053-g++-11_11.4.0-1ubuntu1~22.04_amd64.deb ...
    +#8 12.30 Unpacking g++-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 12.42 Selecting previously unselected package g++.
    +
    +
    +
    #8 12.42 Preparing to unpack .../054-g++_4%3a11.2.0-1ubuntu1_amd64.deb ...
    +#8 12.42 Unpacking g++ (4:11.2.0-1ubuntu1) ...
    +#8 12.44 Selecting previously unselected package make.
    +#8 12.44 Preparing to unpack .../055-make_4.3-4.1build1_amd64.deb ...
    +#8 12.44 Unpacking make (4.3-4.1build1) ...
    +#8 12.45 Selecting previously unselected package libdpkg-perl.
    +#8 12.46 Preparing to unpack .../056-libdpkg-perl_1.21.1ubuntu2.3_all.deb ...
    +#8 12.46 Unpacking libdpkg-perl (1.21.1ubuntu2.3) ...
    +#8 12.49 Selecting previously unselected package bzip2.
    +#8 12.49 Preparing to unpack .../057-bzip2_1.0.8-5build1_amd64.deb ...
    +#8 12.49 Unpacking bzip2 (1.0.8-5build1) ...
    +#8 12.51 Selecting previously unselected package patch.
    +#8 12.51 Preparing to unpack .../058-patch_2.7.6-7build2_amd64.deb ...
    +#8 12.51 Unpacking patch (2.7.6-7build2) ...
    +#8 12.52 Selecting previously unselected package lto-disabled-list.
    +#8 12.52 Preparing to unpack .../059-lto-disabled-list_24_all.deb ...
    +#8 12.53 Unpacking lto-disabled-list (24) ...
    +#8 12.54 Selecting previously unselected package dpkg-dev.
    +#8 12.54 Preparing to unpack .../060-dpkg-dev_1.21.1ubuntu2.3_all.deb ...
    +#8 12.54 Unpacking dpkg-dev (1.21.1ubuntu2.3) ...
    +#8 12.58 Selecting previously unselected package build-essential.
    +#8 12.58 Preparing to unpack .../061-build-essential_12.9ubuntu3_amd64.deb ...
    +#8 12.59 Unpacking build-essential (12.9ubuntu3) ...
    +#8 12.60 Selecting previously unselected package libassuan0:amd64.
    +#8 12.60 Preparing to unpack .../062-libassuan0_2.5.5-1build1_amd64.deb ...
    +#8 12.60 Unpacking libassuan0:amd64 (2.5.5-1build1) ...
    +#8 12.62 Selecting previously unselected package gpgconf.
    +#8 12.62 Preparing to unpack .../063-gpgconf_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 12.62 Unpacking gpgconf (2.2.27-3ubuntu2.1) ...
    +#8 12.64 Selecting previously unselected package libksba8:amd64.
    +
    +
    +
    #8 12.64 Preparing to unpack .../064-libksba8_1.6.0-2ubuntu0.2_amd64.deb ...
    +#8 12.64 Unpacking libksba8:amd64 (1.6.0-2ubuntu0.2) ...
    +#8 12.65 Selecting previously unselected package libsasl2-modules-db:amd64.
    +#8 12.66 Preparing to unpack .../065-libsasl2-modules-db_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    +#8 12.66 Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 12.67 Selecting previously unselected package libsasl2-2:amd64.
    +#8 12.67 Preparing to unpack .../066-libsasl2-2_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    +#8 12.67 Unpacking libsasl2-2:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 12.69 Selecting previously unselected package libldap-2.5-0:amd64.
    +#8 12.69 Preparing to unpack .../067-libldap-2.5-0_2.5.16+dfsg-0ubuntu0.22.04.2_amd64.deb ...
    +#8 12.69 Unpacking libldap-2.5-0:amd64 (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    +#8 12.71 Selecting previously unselected package libnpth0:amd64.
    +#8 12.71 Preparing to unpack .../068-libnpth0_1.6-3build2_amd64.deb ...
    +#8 12.71 Unpacking libnpth0:amd64 (1.6-3build2) ...
    +#8 12.73 Selecting previously unselected package dirmngr.
    +#8 12.73 Preparing to unpack .../069-dirmngr_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 12.74 Unpacking dirmngr (2.2.27-3ubuntu2.1) ...
    +#8 12.76 Selecting previously unselected package libfakeroot:amd64.
    +#8 12.77 Preparing to unpack .../070-libfakeroot_1.28-1ubuntu1_amd64.deb ...
    +#8 12.77 Unpacking libfakeroot:amd64 (1.28-1ubuntu1) ...
    +#8 12.78 Selecting previously unselected package fakeroot.
    +#8 12.79 Preparing to unpack .../071-fakeroot_1.28-1ubuntu1_amd64.deb ...
    +#8 12.79 Unpacking fakeroot (1.28-1ubuntu1) ...
    +#8 12.81 Selecting previously unselected package fonts-dejavu-core.
    +#8 12.81 Preparing to unpack .../072-fonts-dejavu-core_2.37-2build1_all.deb ...
    +#8 12.81 Unpacking fonts-dejavu-core (2.37-2build1) ...
    +#8 12.90 Selecting previously unselected package fontconfig-config.
    +
    +
    +
    #8 12.90 Preparing to unpack .../073-fontconfig-config_2.13.1-4.2ubuntu5_all.deb ...
    +#8 12.90 Unpacking fontconfig-config (2.13.1-4.2ubuntu5) ...
    +#8 12.92 Selecting previously unselected package gnupg-l10n.
    +#8 12.92 Preparing to unpack .../074-gnupg-l10n_2.2.27-3ubuntu2.1_all.deb ...
    +#8 12.92 Unpacking gnupg-l10n (2.2.27-3ubuntu2.1) ...
    +#8 12.94 Selecting previously unselected package gnupg-utils.
    +#8 12.94 Preparing to unpack .../075-gnupg-utils_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 12.94 Unpacking gnupg-utils (2.2.27-3ubuntu2.1) ...
    +#8 12.96 Selecting previously unselected package gpg.
    +#8 12.97 Preparing to unpack .../076-gpg_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 12.97 Unpacking gpg (2.2.27-3ubuntu2.1) ...
    +#8 12.99 Selecting previously unselected package pinentry-curses.
    +#8 12.99 Preparing to unpack .../077-pinentry-curses_1.1.1-1build2_amd64.deb ...
    +#8 12.99 Unpacking pinentry-curses (1.1.1-1build2) ...
    +#8 13.00 Selecting previously unselected package gpg-agent.
    +#8 13.01 Preparing to unpack .../078-gpg-agent_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 13.01 Unpacking gpg-agent (2.2.27-3ubuntu2.1) ...
    +#8 13.03 Selecting previously unselected package gpg-wks-client.
    +#8 13.03 Preparing to unpack .../079-gpg-wks-client_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 13.03 Unpacking gpg-wks-client (2.2.27-3ubuntu2.1) ...
    +#8 13.04 Selecting previously unselected package gpg-wks-server.
    +#8 13.04 Preparing to unpack .../080-gpg-wks-server_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 13.04 Unpacking gpg-wks-server (2.2.27-3ubuntu2.1) ...
    +#8 13.06 Selecting previously unselected package gpgsm.
    +#8 13.06 Preparing to unpack .../081-gpgsm_2.2.27-3ubuntu2.1_amd64.deb ...
    +#8 13.06 Unpacking gpgsm (2.2.27-3ubuntu2.1) ...
    +#8 13.08 Selecting previously unselected package gnupg.
    +#8 13.08 Preparing to unpack .../082-gnupg_2.2.27-3ubuntu2.1_all.deb ...
    +#8 13.08 Unpacking gnupg (2.2.27-3ubuntu2.1) ...
    +#8 13.11 Selecting previously unselected package javascript-common.
    +
    +
    +
    #8 13.11 Preparing to unpack .../083-javascript-common_11+nmu1_all.deb ...
    +#8 13.12 Unpacking javascript-common (11+nmu1) ...
    +#8 13.14 Selecting previously unselected package libalgorithm-diff-perl.
    +#8 13.14 Preparing to unpack .../084-libalgorithm-diff-perl_1.201-1_all.deb ...
    +#8 13.14 Unpacking libalgorithm-diff-perl (1.201-1) ...
    +#8 13.16 Selecting previously unselected package libalgorithm-diff-xs-perl.
    +#8 13.16 Preparing to unpack .../085-libalgorithm-diff-xs-perl_0.04-6build3_amd64.deb ...
    +#8 13.16 Unpacking libalgorithm-diff-xs-perl (0.04-6build3) ...
    +#8 13.18 Selecting previously unselected package libalgorithm-merge-perl.
    +#8 13.18 Preparing to unpack .../086-libalgorithm-merge-perl_0.08-3_all.deb ...
    +#8 13.18 Unpacking libalgorithm-merge-perl (0.08-3) ...
    +#8 13.20 Selecting previously unselected package libbrotli1:amd64.
    +#8 13.20 Preparing to unpack .../087-libbrotli1_1.0.9-2build6_amd64.deb ...
    +#8 13.20 Unpacking libbrotli1:amd64 (1.0.9-2build6) ...
    +#8 13.22 Selecting previously unselected package libfreetype6:amd64.
    +#8 13.22 Preparing to unpack .../088-libfreetype6_2.11.1+dfsg-1ubuntu0.2_amd64.deb ...
    +#8 13.22 Unpacking libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.2) ...
    +#8 13.24 Selecting previously unselected package libfontconfig1:amd64.
    +#8 13.24 Preparing to unpack .../089-libfontconfig1_2.13.1-4.2ubuntu5_amd64.deb ...
    +#8 13.24 Unpacking libfontconfig1:amd64 (2.13.1-4.2ubuntu5) ...
    +#8 13.26 Selecting previously unselected package libjpeg-turbo8:amd64.
    +#8 13.26 Preparing to unpack .../090-libjpeg-turbo8_2.1.2-0ubuntu1_amd64.deb ...
    +#8 13.26 Unpacking libjpeg-turbo8:amd64 (2.1.2-0ubuntu1) ...
    +#8 13.28 Selecting previously unselected package libjpeg8:amd64.
    +#8 13.28 Preparing to unpack .../091-libjpeg8_8c-2ubuntu10_amd64.deb ...
    +#8 13.28 Unpacking libjpeg8:amd64 (8c-2ubuntu10) ...
    +#8 13.30 Selecting previously unselected package libdeflate0:amd64.
    +#8 13.30 Preparing to unpack .../092-libdeflate0_1.10-2_amd64.deb ...
    +#8 13.30 Unpacking libdeflate0:amd64 (1.10-2) ...
    +#8 13.32 Selecting previously unselected package libjbig0:amd64.
    +
    +
    +
    #8 13.32 Preparing to unpack .../093-libjbig0_2.1-3.1ubuntu0.22.04.1_amd64.deb ...
    +#8 13.32 Unpacking libjbig0:amd64 (2.1-3.1ubuntu0.22.04.1) ...
    +#8 13.34 Selecting previously unselected package libwebp7:amd64.
    +#8 13.34 Preparing to unpack .../094-libwebp7_1.2.2-2ubuntu0.22.04.2_amd64.deb ...
    +#8 13.34 Unpacking libwebp7:amd64 (1.2.2-2ubuntu0.22.04.2) ...
    +#8 13.36 Selecting previously unselected package libtiff5:amd64.
    +#8 13.36 Preparing to unpack .../095-libtiff5_4.3.0-6ubuntu0.8_amd64.deb ...
    +#8 13.37 Unpacking libtiff5:amd64 (4.3.0-6ubuntu0.8) ...
    +#8 13.39 Selecting previously unselected package libxpm4:amd64.
    +#8 13.39 Preparing to unpack .../096-libxpm4_1%3a3.5.12-1ubuntu0.22.04.2_amd64.deb ...
    +#8 13.39 Unpacking libxpm4:amd64 (1:3.5.12-1ubuntu0.22.04.2) ...
    +#8 13.41 Selecting previously unselected package libgd3:amd64.
    +#8 13.41 Preparing to unpack .../097-libgd3_2.3.0-2ubuntu2_amd64.deb ...
    +#8 13.41 Unpacking libgd3:amd64 (2.3.0-2ubuntu2) ...
    +#8 13.43 Selecting previously unselected package libc-devtools.
    +#8 13.43 Preparing to unpack .../098-libc-devtools_2.35-0ubuntu3.6_amd64.deb ...
    +#8 13.43 Unpacking libc-devtools (2.35-0ubuntu3.6) ...
    +#8 13.45 Selecting previously unselected package libexpat1-dev:amd64.
    +#8 13.45 Preparing to unpack .../099-libexpat1-dev_2.4.7-1ubuntu0.2_amd64.deb ...
    +#8 13.45 Unpacking libexpat1-dev:amd64 (2.4.7-1ubuntu0.2) ...
    +#8 13.47 Selecting previously unselected package libfile-fcntllock-perl.
    +#8 13.47 Preparing to unpack .../100-libfile-fcntllock-perl_0.22-3build7_amd64.deb ...
    +#8 13.47 Unpacking libfile-fcntllock-perl (0.22-3build7) ...
    +#8 13.50 Selecting previously unselected package libjs-jquery.
    +#8 13.50 Preparing to unpack .../101-libjs-jquery_3.6.0+dfsg+~3.5.13-1_all.deb ...
    +#8 13.50 Unpacking libjs-jquery (3.6.0+dfsg+~3.5.13-1) ...
    +#8 13.52 Selecting previously unselected package libjs-underscore.
    +#8 13.52 Preparing to unpack .../102-libjs-underscore_1.13.2~dfsg-2_all.deb ...
    +#8 13.52 Unpacking libjs-underscore (1.13.2~dfsg-2) ...
    +#8 13.54 Selecting previously unselected package libjs-sphinxdoc.
    +
    +
    +
    #8 13.54 Preparing to unpack .../103-libjs-sphinxdoc_4.3.2-1_all.deb ...
    +#8 13.55 Unpacking libjs-sphinxdoc (4.3.2-1) ...
    +#8 13.56 Selecting previously unselected package libldap-common.
    +#8 13.56 Preparing to unpack .../104-libldap-common_2.5.16+dfsg-0ubuntu0.22.04.2_all.deb ...
    +#8 13.57 Unpacking libldap-common (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    +#8 13.58 Selecting previously unselected package libpython3.10:amd64.
    +#8 13.58 Preparing to unpack .../105-libpython3.10_3.10.12-1~22.04.3_amd64.deb ...
    +#8 13.58 Unpacking libpython3.10:amd64 (3.10.12-1~22.04.3) ...
    +#8 13.62 Selecting previously unselected package zlib1g-dev:amd64.
    +#8 13.62 Preparing to unpack .../106-zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu9.2_amd64.deb ...
    +#8 13.62 Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu9.2) ...
    +#8 13.65 Selecting previously unselected package libpython3.10-dev:amd64.
    +#8 13.65 Preparing to unpack .../107-libpython3.10-dev_3.10.12-1~22.04.3_amd64.deb ...
    +#8 13.65 Unpacking libpython3.10-dev:amd64 (3.10.12-1~22.04.3) ...
    +#8 13.76 Selecting previously unselected package libpython3-dev:amd64.
    +
    +
    +
    #8 13.76 Preparing to unpack .../108-libpython3-dev_3.10.6-1~22.04_amd64.deb ...
    +#8 13.76 Unpacking libpython3-dev:amd64 (3.10.6-1~22.04) ...
    +#8 13.78 Selecting previously unselected package libsasl2-modules:amd64.
    +#8 13.78 Preparing to unpack .../109-libsasl2-modules_2.1.27+dfsg2-3ubuntu1.2_amd64.deb ...
    +#8 13.78 Unpacking libsasl2-modules:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 13.80 Selecting previously unselected package manpages-dev.
    +#8 13.80 Preparing to unpack .../110-manpages-dev_5.10-1ubuntu1_all.deb ...
    +#8 13.80 Unpacking manpages-dev (5.10-1ubuntu1) ...
    +#8 14.01 Selecting previously unselected package python3.10-dev.
    +#8 14.01 Preparing to unpack .../111-python3.10-dev_3.10.12-1~22.04.3_amd64.deb ...
    +#8 14.01 Unpacking python3.10-dev (3.10.12-1~22.04.3) ...
    +#8 14.02 Selecting previously unselected package python3-lib2to3.
    +#8 14.03 Preparing to unpack .../112-python3-lib2to3_3.10.8-1~22.04_all.deb ...
    +#8 14.03 Unpacking python3-lib2to3 (3.10.8-1~22.04) ...
    +#8 14.06 Selecting previously unselected package python3-distutils.
    +#8 14.06 Preparing to unpack .../113-python3-distutils_3.10.8-1~22.04_all.deb ...
    +#8 14.07 Unpacking python3-distutils (3.10.8-1~22.04) ...
    +#8 14.10 Selecting previously unselected package python3-dev.
    +#8 14.10 Preparing to unpack .../114-python3-dev_3.10.6-1~22.04_amd64.deb ...
    +#8 14.10 Unpacking python3-dev (3.10.6-1~22.04) ...
    +#8 14.12 Selecting previously unselected package python3-setuptools.
    +
    +
    +
    #8 14.12 Preparing to unpack .../115-python3-setuptools_59.6.0-1.2ubuntu0.22.04.1_all.deb ...
    +#8 14.12 Unpacking python3-setuptools (59.6.0-1.2ubuntu0.22.04.1) ...
    +#8 14.16 Selecting previously unselected package python3-wheel.
    +#8 14.16 Preparing to unpack .../116-python3-wheel_0.37.1-2ubuntu0.22.04.1_all.deb ...
    +#8 14.16 Unpacking python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
    +#8 14.18 Selecting previously unselected package python3-pip.
    +#8 14.19 Preparing to unpack .../117-python3-pip_22.0.2+dfsg-1ubuntu0.4_all.deb ...
    +#8 14.19 Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
    +#8 14.32 Setting up libksba8:amd64 (1.6.0-2ubuntu0.2) ...
    +#8 14.33 Setting up media-types (7.0.0) ...
    +#8 14.33 Setting up javascript-common (11+nmu1) ...
    +#8 14.36 Setting up gcc-11-base:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 14.36 Setting up libxau6:amd64 (1:1.0.9-1build5) ...
    +#8 14.37 Setting up lto-disabled-list (24) ...
    +#8 14.37 Setting up manpages (5.10-1ubuntu1) ...
    +#8 14.37 Setting up libbrotli1:amd64 (1.0.9-2build6) ...
    +#8 14.38 Setting up libsqlite3-0:amd64 (3.37.2-2ubuntu0.3) ...
    +#8 14.38 Setting up libsasl2-modules:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 14.38 Setting up binutils-common:amd64 (2.38-4ubuntu2.6) ...
    +#8 14.39 Setting up libdeflate0:amd64 (1.10-2) ...
    +#8 14.39 Setting up linux-libc-dev:amd64 (5.15.0-100.110) ...
    +#8 14.39 Setting up libctf-nobfd0:amd64 (2.38-4ubuntu2.6) ...
    +#8 14.40 Setting up libnpth0:amd64 (1.6-3build2) ...
    +#8 14.40 Setting up libassuan0:amd64 (2.5.5-1build1) ...
    +#8 14.40 Setting up libgomp1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.41 Setting up perl-modules-5.34 (5.34.0-3ubuntu1.3) ...
    +#8 14.41 Setting up bzip2 (1.0.8-5build1) ...
    +#8 14.41 Setting up libldap-common (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    +#8 14.42 Setting up libjbig0:amd64 (2.1-3.1ubuntu0.22.04.1) ...
    +#8 14.42 Setting up libfakeroot:amd64 (1.28-1ubuntu1) ...
    +
    +
    +
    #8 14.43 Setting up libasan6:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 14.43 Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 14.43 Setting up fakeroot (1.28-1ubuntu1) ...
    +#8 14.44 update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.44 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
    +#8 14.45 Setting up libtirpc-dev:amd64 (1.3.2-2ubuntu0.1) ...
    +#8 14.45 Setting up rpcsvc-proto (1.4.2-0ubuntu6) ...
    +#8 14.46 Setting up libx11-data (2:1.7.5-1ubuntu0.3) ...
    +#8 14.46 Setting up make (4.3-4.1build1) ...
    +#8 14.46 Setting up libmpfr6:amd64 (4.1.0-3build3) ...
    +#8 14.47 Setting up gnupg-l10n (2.2.27-3ubuntu2.1) ...
    +#8 14.47 Setting up xz-utils (5.2.5-2ubuntu1) ...
    +#8 14.47 update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode
    +#8 14.47 update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist
    +#8 14.47 update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist
    +#8 14.47 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist
    +#8 14.47 update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist
    +#8 14.48 update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist
    +#8 14.48 Setting up libquadmath0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.48 Setting up libpng16-16:amd64 (1.6.37-3build5) ...
    +#8 14.49 Setting up libmpc3:amd64 (1.2.1-2build1) ...
    +#8 14.49 Setting up libatomic1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.49 Setting up patch (2.7.6-7build2) ...
    +#8 14.50 Setting up fonts-dejavu-core (2.37-2build1) ...
    +#8 14.52 Setting up ucf (3.0043) ...
    +#8 14.68 debconf: unable to initialize frontend: Dialog
    +#8 14.68 debconf: (TERM is not set, so the dialog frontend is not usable.)
    +#8 14.68 debconf: falling back to frontend: Readline
    +#8 14.70 Setting up libjpeg-turbo8:amd64 (2.1.2-0ubuntu1) ...
    +#8 14.71 Setting up libsasl2-2:amd64 (2.1.27+dfsg2-3ubuntu1.2) ...
    +#8 14.71 Setting up libwebp7:amd64 (1.2.2-2ubuntu0.22.04.2) ...
    +#8 14.71 Setting up libubsan1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.72 Setting up libmd0:amd64 (1.0.4-1build1) ...
    +#8 14.72 Setting up libnsl-dev:amd64 (1.3.0-2build2) ...
    +#8 14.72 Setting up libcrypt-dev:amd64 (1:4.4.27-1) ...
    +#8 14.73 Setting up libmpdec3:amd64 (2.5.1-2build2) ...
    +#8 14.73 Setting up netbase (6.3) ...
    +#8 14.74 Setting up libjs-jquery (3.6.0+dfsg+~3.5.13-1) ...
    +#8 14.75 Setting up libbinutils:amd64 (2.38-4ubuntu2.6) ...
    +#8 14.75 Setting up libisl23:amd64 (0.24-2build1) ...
    +#8 14.76 Setting up libc-dev-bin (2.35-0ubuntu3.6) ...
    +#8 14.76 Setting up openssl (3.0.2-0ubuntu1.15) ...
    +#8 14.77 Setting up libbsd0:amd64 (0.11.5-1) ...
    +#8 14.77 Setting up readline-common (8.1.2-1) ...
    +#8 14.77 Setting up libcc1-0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.78 Setting up liblocale-gettext-perl (1.07-4build3) ...
    +#8 14.78 Setting up liblsan0:amd64 (12.3.0-1ubuntu1~22.04) ...
    +
    +
    +
    #8 14.79 Setting up libitm1:amd64 (12.3.0-1ubuntu1~22.04) ...
    +#8 14.79 Setting up libgdbm6:amd64 (1.23-1) ...
    +#8 14.79 Setting up libjs-underscore (1.13.2~dfsg-2) ...
    +#8 14.80 Setting up libtsan0:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 14.80 Setting up libctf0:amd64 (2.38-4ubuntu2.6) ...
    +#8 14.80 Setting up libjpeg8:amd64 (8c-2ubuntu10) ...
    +#8 14.81 Setting up pinentry-curses (1.1.1-1build2) ...
    +#8 14.81 Setting up cpp-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 14.82 Setting up manpages-dev (5.10-1ubuntu1) ...
    +#8 14.82 Setting up libxdmcp6:amd64 (1:1.1.3-0ubuntu5) ...
    +#8 14.83 Setting up libxcb1:amd64 (1.14-3ubuntu3) ...
    +#8 14.83 Setting up fontconfig-config (2.13.1-4.2ubuntu5) ...
    +#8 14.90 Setting up libreadline8:amd64 (8.1.2-1) ...
    +#8 14.90 Setting up libldap-2.5-0:amd64 (2.5.16+dfsg-0ubuntu0.22.04.2) ...
    +#8 14.90 Setting up libpython3.10-stdlib:amd64 (3.10.12-1~22.04.3) ...
    +#8 14.91 Setting up ca-certificates (20230311ubuntu0.22.04.1) ...
    +#8 15.01 debconf: unable to initialize frontend: Dialog
    +#8 15.01 debconf: (TERM is not set, so the dialog frontend is not usable.)
    +#8 15.01 debconf: falling back to frontend: Readline
    +
    +
    +
    #8 15.43 Updating certificates in /etc/ssl/certs...
    +
    +
    +
    #8 16.43 137 added, 0 removed; done.
    +
    +
    +
    #8 16.45 Setting up libfreetype6:amd64 (2.11.1+dfsg-1ubuntu0.2) ...
    +#8 16.45 Setting up libgdbm-compat4:amd64 (1.23-1) ...
    +#8 16.45 Setting up libjs-sphinxdoc (4.3.2-1) ...
    +#8 16.46 Setting up libgcc-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 16.46 Setting up cpp (4:11.2.0-1ubuntu1) ...
    +#8 16.47 Setting up gpgconf (2.2.27-3ubuntu2.1) ...
    +#8 16.47 Setting up libc6-dev:amd64 (2.35-0ubuntu3.6) ...
    +#8 16.48 Setting up libx11-6:amd64 (2:1.7.5-1ubuntu0.3) ...
    +#8 16.48 Setting up libtiff5:amd64 (4.3.0-6ubuntu0.8) ...
    +#8 16.48 Setting up libfontconfig1:amd64 (2.13.1-4.2ubuntu5) ...
    +#8 16.49 Setting up gpg (2.2.27-3ubuntu2.1) ...
    +#8 16.49 Setting up libpython3-stdlib:amd64 (3.10.6-1~22.04) ...
    +#8 16.49 Setting up gnupg-utils (2.2.27-3ubuntu2.1) ...
    +#8 16.49 Setting up binutils-x86-64-linux-gnu (2.38-4ubuntu2.6) ...
    +#8 16.50 Setting up libpython3.10:amd64 (3.10.12-1~22.04.3) ...
    +#8 16.50 Setting up libperl5.34:amd64 (5.34.0-3ubuntu1.3) ...
    +#8 16.50 Setting up gpg-agent (2.2.27-3ubuntu2.1) ...
    +
    +
    +
    #8 16.90 Setting up python3.10 (3.10.12-1~22.04.3) ...
    +
    +
    +
    #8 17.42 Setting up libxpm4:amd64 (1:3.5.12-1ubuntu0.22.04.2) ...
    +#8 17.42 Setting up gpgsm (2.2.27-3ubuntu2.1) ...
    +#8 17.43 Setting up python3 (3.10.6-1~22.04) ...
    +#8 17.43 running python rtupdate hooks for python3.10...
    +#8 17.43 running python post-rtupdate hooks for python3.10...
    +#8 17.50 Setting up binutils (2.38-4ubuntu2.6) ...
    +#8 17.51 Setting up dirmngr (2.2.27-3ubuntu2.1) ...
    +#8 17.62 Setting up perl (5.34.0-3ubuntu1.3) ...
    +
    +
    +
    #8 17.63 Setting up libexpat1-dev:amd64 (2.4.7-1ubuntu0.2) ...
    +#8 17.63 Setting up libgd3:amd64 (2.3.0-2ubuntu2) ...
    +#8 17.64 Setting up libdpkg-perl (1.21.1ubuntu2.3) ...
    +#8 17.64 Setting up libstdc++-11-dev:amd64 (11.4.0-1ubuntu1~22.04) ...
    +#8 17.65 Setting up gpg-wks-server (2.2.27-3ubuntu2.1) ...
    +#8 17.65 Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu9.2) ...
    +#8 17.66 Setting up gcc-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 17.66 Setting up python3-lib2to3 (3.10.8-1~22.04) ...
    +#8 17.74 Setting up libc-devtools (2.35-0ubuntu3.6) ...
    +#8 17.75 Setting up python3-pkg-resources (59.6.0-1.2ubuntu0.22.04.1) ...
    +#8 17.89 Setting up python3-distutils (3.10.8-1~22.04) ...
    +
    +
    +
    #8 17.99 Setting up python3-setuptools (59.6.0-1.2ubuntu0.22.04.1) ...
    +#8 18.26 Setting up gpg-wks-client (2.2.27-3ubuntu2.1) ...
    +
    +
    +
    #8 18.27 Setting up g++-11 (11.4.0-1ubuntu1~22.04) ...
    +#8 18.27 Setting up libfile-fcntllock-perl (0.22-3build7) ...
    +#8 18.27 Setting up libalgorithm-diff-perl (1.201-1) ...
    +#8 18.28 Setting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
    +#8 18.39 Setting up gcc (4:11.2.0-1ubuntu1) ...
    +#8 18.40 Setting up dpkg-dev (1.21.1ubuntu2.3) ...
    +#8 18.41 Setting up libpython3.10-dev:amd64 (3.10.12-1~22.04.3) ...
    +#8 18.42 Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...
    +
    +
    +
    #8 19.27 Setting up python3.10-dev (3.10.12-1~22.04.3) ...
    +
    +
    +
    #8 19.28 Setting up g++ (4:11.2.0-1ubuntu1) ...
    +#8 19.35 update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
    +#8 19.35 update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist
    +#8 19.35 Setting up gnupg (2.2.27-3ubuntu2.1) ...
    +#8 19.35 Setting up build-essential (12.9ubuntu3) ...
    +#8 19.36 Setting up libalgorithm-diff-xs-perl (0.04-6build3) ...
    +#8 19.36 Setting up libalgorithm-merge-perl (0.08-3) ...
    +#8 19.36 Setting up libpython3-dev:amd64 (3.10.6-1~22.04) ...
    +#8 19.37 Setting up python3-dev (3.10.6-1~22.04) ...
    +#8 19.37 Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
    +
    +
    +
    #8 20.42 Processing triggers for ca-certificates (20230311ubuntu0.22.04.1) ...
    +#8 20.42 Updating certificates in /etc/ssl/certs...
     
    -
    #8 16.25 0 added, 0 removed; done.
    -#8 16.25 Running hooks in /etc/ca-certificates/update.d...
    -#8 16.26 done.
    -
    +
    #8 20.83 0 added, 0 removed; done.
    +#8 20.83 Running hooks in /etc/ca-certificates/update.d...
    +#8 20.85 done.
    +
    -
    #8 DONE 17.0s
    +
    #8 DONE 21.6s
     
     #9 [device 4/6] RUN pip3 install BACpypes
     
    -
    #9 0.621 Collecting BACpypes
    -#9 0.709   Downloading bacpypes-0.18.7-py3-none-any.whl (191 kB)
    -#9 0.758      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 191.5/191.5 KB 4.1 MB/s eta 0:00:00
    +
    #9 0.618 Collecting BACpypes
     
    -
    #9 0.764 Installing collected packages: BACpypes
    -#9 0.903 Successfully installed BACpypes-0.18.7
    -#9 0.903 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
    -#9 DONE 1.0s
    +
    #9 0.667   Downloading bacpypes-0.18.7-py3-none-any.whl (191 kB)
    +#9 0.691      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 191.5/191.5 KB 8.5 MB/s eta 0:00:00
    +#9 0.696 Installing collected packages: BACpypes
    +#9 0.831 Successfully installed BACpypes-0.18.7
    +#9 0.831 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
    +#9 DONE 0.9s
     
     #10 [device 5/6] COPY virtual_bacnet.py virtual_bacnet.py
     #10 DONE 0.0s
    -
    -#11 [device 6/6] COPY BACpypes.ini .
    -#11 DONE 0.1s
     
    -
    #12 [device] exporting to image
    +
    #11 [device 6/6] COPY BACpypes.ini .
    +#11 DONE 0.0s
    +
    +#12 [device] exporting to image
     #12 exporting layers
     
    #12 exporting layers 2.5s done
    -#12 writing image sha256:13df79191672b2c003e4640c00d92b1786c8c215bcc6b871f67a13d447968172 done
    +#12 writing image sha256:f7b4d62a1ef142a8d644fa594ec829755800c0742c201bb97c0d68f411539e83 done
     #12 naming to docker.io/library/guides-device done
     #12 DONE 2.5s
     
    @@ -1715,61 +1705,61 @@

    Pulling in BACnet Metadata -
    2024-03-12 21:32:14,430 - INFO    | Starting BAC0 version 22.9.21 (Lite)
    +
    2024-03-14 00:40:32,296 - INFO    | Starting BAC0 version 22.9.21 (Lite)
     
    -
    2024-03-12 21:32:14,431 - INFO    | Use BAC0.log_level to adjust verbosity of the app.
    +
    2024-03-14 00:40:32,297 - INFO    | Use BAC0.log_level to adjust verbosity of the app.
     
    -
    2024-03-12 21:32:14,432 - INFO    | Ex. BAC0.log_level('silence') or BAC0.log_level('error')
    +
    2024-03-14 00:40:32,297 - INFO    | Ex. BAC0.log_level('silence') or BAC0.log_level('error')
     
    -
    2024-03-12 21:32:14,432 - INFO    | Starting TaskManager
    +
    2024-03-14 00:40:32,298 - INFO    | Starting TaskManager
     
    -
    2024-03-12 21:32:14,433 - INFO    | Using ip : 172.24.0.1
    +
    2024-03-14 00:40:32,299 - INFO    | Using ip : 172.24.0.1
     
    -
    2024-03-12 21:32:14,447 - INFO    | Starting app...
    +
    2024-03-14 00:40:32,313 - INFO    | Starting app...
     
    -
    2024-03-12 21:32:14,448 - INFO    | BAC0 started
    +
    2024-03-14 00:40:32,313 - INFO    | BAC0 started
     
    -
    2024-03-12 21:32:14,448 - INFO    | Registered as Simple BACnet/IP App
    +
    2024-03-14 00:40:32,314 - INFO    | Registered as Simple BACnet/IP App
     
    -
    2024-03-12 21:32:14,450 - INFO    | Update Local COV Task started
    +
    2024-03-14 00:40:32,316 - INFO    | Update Local COV Task started
     
    -
    2024-03-12 21:32:18,454 - INFO    | Found those networks : set()
    +
    2024-03-14 00:40:36,319 - INFO    | Found those networks : set()
     
    -
    2024-03-12 21:32:18,455 - INFO    | No BACnet network found, attempting a simple whois using provided device instances limits (0 - 4194303)
    +
    2024-03-14 00:40:36,320 - INFO    | No BACnet network found, attempting a simple whois using provided device instances limits (0 - 4194303)
     
    -
    2024-03-12 21:32:21,457 - INFO    | Changing device state to DeviceDisconnected'>
    +
    2024-03-14 00:40:39,322 - INFO    | Changing device state to DeviceDisconnected'>
     
    -
    2024-03-12 21:32:21,464 - INFO    | Changing device state to RPMDeviceConnected'>
    +
    2024-03-14 00:40:39,329 - INFO    | Changing device state to RPMDeviceConnected'>
     
    -
    2024-03-12 21:32:21,472 - INFO    | Device 599:[VirtualBACnet] found... building points list
    +
    2024-03-14 00:40:39,337 - INFO    | Device 599:[VirtualBACnet] found... building points list
     
    -
    2024-03-12 21:32:21,482 - INFO    | Ready!
    +
    2024-03-14 00:40:39,346 - INFO    | Ready!
     
    -
    2024-03-12 21:32:21,483 - INFO    | Stopping all tasks
    +
    2024-03-14 00:40:39,347 - INFO    | Stopping all tasks
     
    -
    2024-03-12 21:32:21,487 - INFO    | Stopping TaskManager
    +
    2024-03-14 00:40:39,351 - INFO    | Stopping TaskManager
     
    -
    2024-03-12 21:32:21,493 - INFO    | Ok all tasks stopped
    +
    2024-03-14 00:40:39,358 - INFO    | Ok all tasks stopped
     
    -
    2024-03-12 21:32:21,494 - INFO    | BACnet stopped
    +
    2024-03-14 00:40:39,359 - INFO    | BACnet stopped
     
    Record(rtype='Device', fields={'address': '172.24.0.3', 'device_id': 599})
    diff --git a/objects.inv b/objects.inv
    index 1514c727fdd4233a515d0fc8fed93eaaa51be2b7..a5f65283e8b7937dfbd24a5ab839e87301028446 100644
    GIT binary patch
    delta 3798
    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.dataclasses.model

    -validate(shape_collections: Optional[List[ShapeCollection]] = None, error_on_missing_imports: bool = True, engine: str = 'pyshacl') ValidationContext[source]#
    +validate(shape_collections: Optional[List[ShapeCollection]] = None, error_on_missing_imports: bool = True, engine: Optional[str] = 'pyshacl') ValidationContext
    [source]#

    Validates this model against the given list of ShapeCollections. If no list is provided, the model will be validated against the model’s “manifest”. If a list of shape collections is provided, the manifest will not be automatically @@ -584,12 +584,17 @@

    buildingmotif.dataclasses.model

    -compile(shape_collections: List[ShapeCollection])[source]#
    +compile(shape_collections: List[ShapeCollection], engine: str = 'pyshacl')[source]#

    Compile the graph of a model against a set of ShapeCollections.

    Parameters:
    -

    shape_collections (List[ShapeCollection]) – list of ShapeCollections to compile the model -against

    +
      +
    • shape_collections (List[ShapeCollection]) – list of ShapeCollections to compile the model +against

    • +
    • engine (str) – the engine to use for validation. “pyshacl” or “topquadrant”. Using topquadrant +requires Java to be installed on this machine, and the “topquadrant” feature on BuildingMOTIF, +defaults to “pyshacl”

    • +
    Returns:

    copy of model’s graph that has been compiled against the diff --git a/reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.html b/reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.html index ed917949d..f628839fc 100644 --- a/reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.html +++ b/reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.html @@ -482,7 +482,7 @@

    buildingmotif.dataclasses.validation

    RequiredPath(focus, validation_result, ...)

    Represents an entity missing a required property.

    -

    ValidationContext(shape_collections, valid, ...)

    +

    ValidationContext(shape_collections, ...)

    Holds the necessary information for processing the results of SHACL validation.

    @@ -768,7 +768,7 @@

    buildingmotif.dataclasses.validation

    -class ValidationContext(shape_collections: List[ShapeCollection], valid: bool, report: Graph, report_string: str, model: Model)[source]#
    +class ValidationContext(shape_collections: List[ShapeCollection], shapes_graph: Graph, valid: bool, report: Graph, report_string: str, model: Model)[source]#

    Holds the necessary information for processing the results of SHACL validation.

    @@ -776,6 +776,11 @@

    buildingmotif.dataclasses.validation

    shape_collections: List[ShapeCollection]#
    +
    +
    +shapes_graph: Graph#
    +
    +
    valid: bool#
    diff --git a/reports/tutorials/model_validation.err.log b/reports/tutorials/model_validation.err.log index 93cd79583..17aa36633 100644 --- a/reports/tutorials/model_validation.err.log +++ b/reports/tutorials/model_validation.err.log @@ -34,15 +34,15 @@ Cell In[4], line 4  3 # set it as the manifest for the model ----> 4 model.update_manifest(manifest) -File ~/work/BuildingMOTIF/BuildingMOTIF/buildingmotif/dataclasses/model.py:333, in Model.update_manifest(self, manifest) - 326 def update_manifest(self, manifest: ShapeCollection): - 327  """Updates the manifest for this model by adding in the contents - 328  of the shape graph inside the provided SHapeCollection - 329 - 330  :param manifest: the ShapeCollection containing additional shapes against which to validate this model - 331  :type manifest: ShapeCollection - 332  """ ---> 333 self.get_manifest().graph += manifest.graph +File ~/work/BuildingMOTIF/BuildingMOTIF/buildingmotif/dataclasses/model.py:314, in Model.update_manifest(self, manifest) + 307 def update_manifest(self, manifest: ShapeCollection): + 308  """Updates the manifest for this model by adding in the contents + 309  of the shape graph inside the provided SHapeCollection + 310 + 311  :param manifest: the ShapeCollection containing additional shapes against which to validate this model + 312  :type manifest: ShapeCollection + 313  """ +--> 314 self.get_manifest().graph += manifest.graph AttributeError: 'Library' object has no attribute 'graph' AttributeError: 'Library' object has no attribute 'graph' diff --git a/searchindex.js b/searchindex.js index 208906f47..b30e19a21 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "bibliography", "explanations/ingresses", "explanations/shacl_to_sparql", "explanations/shapes-and-templates", "guides/csv-import", "guides/generating-queries", "guides/ingress-bacnet-to-brick", "reference/apidoc/_autosummary/buildingmotif", "reference/apidoc/_autosummary/buildingmotif.api", "reference/apidoc/_autosummary/buildingmotif.api.app", "reference/apidoc/_autosummary/buildingmotif.api.views", "reference/apidoc/_autosummary/buildingmotif.api.views.library", "reference/apidoc/_autosummary/buildingmotif.api.views.model", "reference/apidoc/_autosummary/buildingmotif.api.views.template", "reference/apidoc/_autosummary/buildingmotif.building_motif", "reference/apidoc/_autosummary/buildingmotif.building_motif.building_motif", "reference/apidoc/_autosummary/buildingmotif.building_motif.singleton", "reference/apidoc/_autosummary/buildingmotif.database", "reference/apidoc/_autosummary/buildingmotif.database.graph_connection", "reference/apidoc/_autosummary/buildingmotif.database.table_connection", "reference/apidoc/_autosummary/buildingmotif.database.tables", "reference/apidoc/_autosummary/buildingmotif.database.utils", "reference/apidoc/_autosummary/buildingmotif.dataclasses", "reference/apidoc/_autosummary/buildingmotif.dataclasses.library", "reference/apidoc/_autosummary/buildingmotif.dataclasses.model", "reference/apidoc/_autosummary/buildingmotif.dataclasses.shape_collection", "reference/apidoc/_autosummary/buildingmotif.dataclasses.template", "reference/apidoc/_autosummary/buildingmotif.dataclasses.validation", "reference/apidoc/_autosummary/buildingmotif.ingresses", "reference/apidoc/_autosummary/buildingmotif.ingresses.bacnet", "reference/apidoc/_autosummary/buildingmotif.ingresses.base", "reference/apidoc/_autosummary/buildingmotif.ingresses.brick", "reference/apidoc/_autosummary/buildingmotif.ingresses.csv", "reference/apidoc/_autosummary/buildingmotif.ingresses.template", "reference/apidoc/_autosummary/buildingmotif.ingresses.xlsx", "reference/apidoc/_autosummary/buildingmotif.libraries", "reference/apidoc/_autosummary/buildingmotif.namespaces", "reference/apidoc/_autosummary/buildingmotif.schemas", "reference/apidoc/_autosummary/buildingmotif.shape_builder", "reference/apidoc/_autosummary/buildingmotif.shape_builder.shape", "reference/apidoc/_autosummary/buildingmotif.template_compilation", "reference/apidoc/_autosummary/buildingmotif.template_matcher", "reference/apidoc/_autosummary/buildingmotif.utils", "reference/apidoc/index", "reference/cli_tool", "reference/developer_documentation", "tutorials/model_correction", "tutorials/model_creation", "tutorials/model_validation", "tutorials/template_writing"], "filenames": ["README.md", "bibliography.md", "explanations/ingresses.md", "explanations/shacl_to_sparql.md", "explanations/shapes-and-templates.md", "guides/csv-import.md", "guides/generating-queries.md", "guides/ingress-bacnet-to-brick.md", "reference/apidoc/_autosummary/buildingmotif.rst", "reference/apidoc/_autosummary/buildingmotif.api.rst", "reference/apidoc/_autosummary/buildingmotif.api.app.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.library.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.model.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.template.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.building_motif.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.singleton.rst", "reference/apidoc/_autosummary/buildingmotif.database.rst", "reference/apidoc/_autosummary/buildingmotif.database.graph_connection.rst", "reference/apidoc/_autosummary/buildingmotif.database.table_connection.rst", "reference/apidoc/_autosummary/buildingmotif.database.tables.rst", "reference/apidoc/_autosummary/buildingmotif.database.utils.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.library.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.model.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.shape_collection.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.template.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.bacnet.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.base.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.brick.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.csv.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.template.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.xlsx.rst", "reference/apidoc/_autosummary/buildingmotif.libraries.rst", "reference/apidoc/_autosummary/buildingmotif.namespaces.rst", "reference/apidoc/_autosummary/buildingmotif.schemas.rst", "reference/apidoc/_autosummary/buildingmotif.shape_builder.rst", "reference/apidoc/_autosummary/buildingmotif.shape_builder.shape.rst", "reference/apidoc/_autosummary/buildingmotif.template_compilation.rst", "reference/apidoc/_autosummary/buildingmotif.template_matcher.rst", "reference/apidoc/_autosummary/buildingmotif.utils.rst", "reference/apidoc/index.rst", "reference/cli_tool.md", "reference/developer_documentation.md", "tutorials/model_correction.md", "tutorials/model_creation.md", "tutorials/model_validation.md", "tutorials/template_writing.ipynb"], "titles": ["BuildingMOTIF", "Bibliography", "Ingresses", "SHACL to SPARQL Conversion", "Shapes and Templates", "CSV Import", "Generating SPARQL Queries", "BACnet to Brick", "buildingmotif", "buildingmotif.api", "buildingmotif.api.app", "buildingmotif.api.views", "buildingmotif.api.views.library", "buildingmotif.api.views.model", "buildingmotif.api.views.template", "buildingmotif.building_motif", "buildingmotif.building_motif.building_motif", "buildingmotif.building_motif.singleton", "buildingmotif.database", "buildingmotif.database.graph_connection", "buildingmotif.database.table_connection", "buildingmotif.database.tables", "buildingmotif.database.utils", "buildingmotif.dataclasses", "buildingmotif.dataclasses.library", "buildingmotif.dataclasses.model", "buildingmotif.dataclasses.shape_collection", "buildingmotif.dataclasses.template", "buildingmotif.dataclasses.validation", "buildingmotif.ingresses", "buildingmotif.ingresses.bacnet", "buildingmotif.ingresses.base", "buildingmotif.ingresses.brick", "buildingmotif.ingresses.csv", "buildingmotif.ingresses.template", "buildingmotif.ingresses.xlsx", "buildingmotif.libraries", "buildingmotif.namespaces", "buildingmotif.schemas", "buildingmotif.shape_builder", "buildingmotif.shape_builder.shape", "buildingmotif.template_compilation", "buildingmotif.template_matcher", "buildingmotif.utils", "Code Documentation", "Command Line Interface", "Developer Documentation", "Model Correction", "Model Creation", "Model Validation", "Template Writing"], "terms": {"enabl": [0, 16, 49], "technolog": 0, "semant": [0, 1, 42, 48, 49], "interoper": 0, "build": [0, 1, 7, 21, 42, 47, 48, 49], "through": [0, 3, 47, 48, 50], "standard": [0, 41, 49], "metadata": [0, 1, 2, 3, 4, 6, 21, 31, 45, 48, 49], "crucial": 0, "unlock": 0, "valu": [0, 2, 3, 6, 7, 14, 20, 22, 26, 28, 30, 35, 38, 41, 45, 47, 48, 50], "abund": 0, "divers": 0, "network": [0, 30, 32, 45, 47], "data": [0, 2, 4, 5, 6, 7, 16, 31, 33, 43, 48], "avoid": [0, 27], "subsequ": 0, "incompat": 0, "issu": [0, 6, 16, 20, 27], "pave": 0, "wai": [0, 4, 7, 22, 45, 48], "advanc": 0, "like": [0, 2, 5, 6, 7, 28, 47, 48, 49, 50], "fault": 0, "detect": [0, 43], "diagnost": 0, "fdd": 0, "real": [0, 7, 47, 48], "time": [0, 22], "energi": [0, 1], "optim": 0, "other": [0, 2, 4, 6, 7, 20, 22, 41, 42, 48, 49, 50], "manag": [0, 7, 16, 19, 47], "inform": [0, 3, 4, 6, 7, 26, 28, 42, 45, 46, 47, 49], "system": [0, 1, 7, 47, 48, 49, 50], "emi": 0, "improv": 0, "hvac": [0, 49], "control": [0, 20, 49], "grid": 0, "integr": 0, "effici": [0, 1], "geb": 0, "all": [0, 2, 4, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 31, 32, 34, 35, 42, 43, 45, 48, 49, 50], "which": [0, 2, 4, 5, 6, 7, 21, 22, 25, 26, 27, 34, 40, 45, 46, 47, 48, 49, 50], "ar": [0, 2, 3, 4, 6, 7, 16, 20, 21, 22, 25, 26, 27, 28, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50], "need": [0, 6, 7, 20, 22, 24, 25, 26, 46, 47, 48, 49], "fulli": [0, 42], "de": 0, "carbon": 0, "util": [0, 4, 7, 45], "capabl": 0, "web": 0, "possibl": [0, 46, 48], "structur": [0, 2, 7, 22, 26, 41, 43, 48, 49, 50], "express": [0, 7, 22, 30], "machin": [0, 7, 25], "readabl": [0, 28], "same": [0, 2, 6, 7, 22, 42, 43, 45, 46, 47, 50], "veri": [0, 7, 49], "import": [0, 4, 6, 7, 20, 26, 43, 46, 47, 49, 50], "make": [0, 4, 6, 7, 17, 43, 45, 46, 47, 48, 49], "easier": [0, 6, 7, 46, 47, 48, 49], "implement": [0, 4, 7, 22], "field": [0, 2, 7, 30, 31, 35, 41], "practition": 0, "without": [0, 17, 19, 22, 27, 46, 48], "knowledg": [0, 7], "comput": [0, 1, 2, 42], "scienc": 0, "ontolog": [0, 4, 6, 7, 24, 25, 26, 27, 42, 43, 47, 48, 50], "framework": [0, 48], "bridg": 0, "gap": 0, "between": [0, 2, 7, 20, 21, 28, 42, 47], "theori": 0, "practic": [0, 48], "offer": 0, "toolset": 0, "creation": [0, 1, 7], "storag": 0, "visual": 0, "valid": [0, 3, 4, 6, 20, 21, 25, 27, 38, 43, 45, 48], "It": [0, 7, 22, 27, 47, 48, 49], "form": [0, 20], "sdk": 0, "easi": [0, 7, 48], "us": [0, 3, 4, 5, 6, 7, 16, 20, 21, 22, 25, 26, 27, 34, 41, 42, 43, 45, 47, 48, 50], "api": [0, 2, 46], "abstract": [0, 2, 28, 31], "underli": [0, 2, 16, 31, 33, 48], "complex": [0, 48], "rdf": [0, 2, 3, 4, 6, 7, 24, 26, 27, 31, 32, 34, 42, 43, 45, 49, 50], "graph": [0, 3, 4, 5, 6, 7, 13, 16, 19, 20, 24, 25, 26, 27, 28, 31, 32, 34, 37, 41, 42, 43, 45, 47, 49, 50], "databas": [0, 7, 10, 16, 24, 25, 26, 27, 45, 48], "shacl": [0, 4, 26, 28, 43, 49], "differ": [0, 2, 3, 7, 22, 28, 46, 49, 50], "schema": [0, 4, 5, 6, 7, 47, 48, 49, 50], "also": [0, 2, 3, 6, 7, 22, 47, 48, 49, 50], "support": [0, 3, 7, 20, 24, 47, 48], "connector": 0, "exist": [0, 3, 7, 20, 24, 26, 27, 47, 50], "sourc": [0, 2, 10, 12, 13, 14, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 46, 47, 48], "e": [0, 2, 3, 4, 6, 7, 25, 26, 46, 47, 48], "g": [0, 2, 3, 4, 6, 7, 42, 43, 46, 48], "autom": [0, 47, 48], "design": 0, "model": [0, 1, 3, 5, 6, 20, 21, 27, 28, 32, 45, 50], "etc": [0, 2, 7, 48, 49, 50], "avail": [0, 43, 45, 47, 48, 49], "phase": 0, "life": 0, "cycl": 0, "The": [0, 2, 3, 4, 5, 6, 7, 20, 22, 27, 28, 30, 33, 35, 42, 43, 45, 46, 47, 48, 49, 50], "object": [0, 2, 6, 7, 20, 22, 24, 25, 27, 28, 30, 40, 43, 48, 49, 50], "1": [0, 2, 4, 5, 6, 7, 22, 26, 42, 45, 46, 47, 48, 49, 50], "lower": 0, "cost": 0, "reduc": 0, "instal": [0, 7, 25, 45, 47, 48, 49], "deliv": 0, "qualiti": 0, "servic": [0, 7], "owner": 0, "occup": [0, 47, 49, 50], "2": [0, 6, 7, 42, 45, 47, 48, 49, 50], "simpler": 0, "more": [0, 3, 7, 40, 41, 43, 46, 49, 50], "easili": [0, 2], "verifi": [0, 20, 27], "procur": 0, "process": [0, 7, 20, 28, 42, 43, 45, 46, 47, 48, 49], "product": [0, 46], "3": [0, 5, 6, 7, 45, 46, 47, 48, 49, 50], "open": [0, 4, 7, 49], "new": [0, 1, 2, 7, 13, 20, 22, 24, 25, 26, 27, 31, 41, 43, 46, 47, 48, 49], "busi": 0, "opportun": 0, "provid": [0, 2, 3, 4, 7, 22, 25, 27, 42, 45, 48, 49, 50], "remov": [0, 7, 27, 43, 50], "barrier": 0, "parti": 0, "current": [0, 3, 4, 6, 7, 45, 47, 48, 49], "plan": 0, "brick": [0, 3, 4, 5, 6, 45, 47, 48, 49, 50], "project": [0, 46], "haystack": 0, "upcom": 0, "ashra": [0, 4, 7, 45, 47, 49, 50], "223p": [0, 45, 50], "both": [0, 4, 6, 22, 42, 49], "ui": 0, "level": [0, 3, 16, 26, 47, 49, 50], "expertis": 0, "user": [0, 7, 22, 41, 46, 48], "maximum": 0, "adopt": 0, "diataxi": 0, "its": [0, 4, 6, 20, 22, 27, 49, 50], "organ": [0, 42, 49], "follow": [0, 3, 4, 5, 6, 7, 26, 42, 43, 46, 48, 49, 50], "section": [0, 7, 49, 50], "develop": 0, "command": [0, 7, 46, 50], "line": [0, 5, 6, 22, 49], "interfac": [0, 7], "code": [0, 4, 6, 7, 47, 48, 49], "correct": [0, 46, 48, 49], "templat": [0, 5, 7, 20, 21, 24, 28, 41, 42, 43, 45, 49], "write": [0, 4, 6, 7, 27, 31, 47, 48], "csv": [0, 27], "from": [0, 2, 3, 4, 5, 7, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 38, 41, 43, 45, 46, 47, 48, 49, 50], "bacnet": [0, 4, 32, 41, 47], "ingress": [0, 5, 7, 27, 45, 48], "bibiographi": 0, "http": [0, 1, 4, 5, 6, 7, 45, 46, 47, 48, 49, 50], "fr": [0, 7], "gabe": 1, "fierro": 1, "avijit": 1, "saha": 1, "tobia": 1, "shapinski": 1, "matthew": 1, "steen": 1, "hannah": 1, "esling": 1, "applic": [1, 2, 3, 6, 7, 49, 50], "driven": 1, "suffici": [1, 6, 49], "In": [1, 4, 6, 7, 45, 46, 47, 49], "proceed": 1, "9th": 1, "acm": 1, "intern": [1, 7, 49], "confer": 1, "citi": 1, "transport": 1, "buildsi": 1, "22": [1, 6, 7], "228": 1, "237": [1, 7], "york": 1, "ny": 1, "usa": 1, "2022": 1, "associ": [1, 3, 7, 30, 37, 41, 47, 49, 50], "machineri": 1, "url": [1, 24, 45, 48], "doi": 1, "org": [1, 4, 5, 6, 7, 47, 48, 49, 50], "10": [1, 2, 4, 7, 22, 48], "1145": 1, "3563357": 1, "3564083": 1, "buildingmotif": [2, 3, 4, 5, 6, 46, 47, 48, 49, 50], "s": [2, 6, 7, 20, 22, 24, 25, 27, 31, 43, 47, 48, 49, 50], "mechan": [2, 7, 45], "extern": [2, 24, 47], "deliber": 2, "gener": [2, 4, 5, 7, 21, 22, 25, 27, 28, 31, 32, 33, 34, 41, 42, 45, 46, 47, 48, 49, 50], "so": [2, 5, 7, 43, 46, 47, 49], "thei": [2, 22, 24, 25, 26, 34, 41, 42, 45, 47, 50], "can": [2, 4, 5, 6, 7, 20, 22, 26, 27, 28, 40, 41, 45, 46, 47, 48, 49, 50], "extend": [2, 7], "ingresshandl": [2, 31], "ha": [2, 3, 4, 7, 16, 19, 20, 25, 28, 40, 47, 48, 49, 50], "two": [2, 20, 22, 42, 45, 50], "subclass": [2, 42], "recordingresshandl": [2, 31, 32, 34], "produc": [2, 7, 22, 27, 28, 34, 42, 50], "graphingresshandl": [2, 7, 31], "everi": [2, 22], "concret": 2, "should": [2, 22, 25, 28, 34, 40, 43, 45, 46, 48, 49, 50], "inherit": 2, "one": [2, 3, 24, 26, 27, 40, 42, 43, 49, 50], "class": [2, 3, 4, 5, 6, 7, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 40, 42, 43, 45, 47, 48, 49], "defin": [2, 3, 4, 7, 20, 27, 41, 48, 49, 50], "method": [2, 3, 4, 7, 20, 22, 24, 25, 26, 43, 48, 49], "list": [2, 7, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 35, 40, 41, 42, 43, 45, 47, 49, 50], "A": [2, 21, 35, 48, 49, 50], "simpl": [2, 6, 7, 47, 48, 49, 50], "python": [2, 7, 22, 41, 46, 47, 48, 49], "dataclass": [2, 4, 5, 6, 7, 20, 47, 48, 49, 50], "hint": 2, "identifi": [2, 6, 7, 19, 20, 27, 40, 43, 47, 48, 50], "an": [2, 3, 4, 5, 6, 16, 20, 22, 24, 25, 26, 27, 28, 31, 33, 34, 40, 42, 45, 47, 48, 49, 50], "categori": 2, "rtype": [2, 7, 30, 31, 35], "str": [2, 7, 10, 14, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 33, 34, 40, 41, 42, 43], "kei": [2, 7, 20, 22, 30, 35, 45, 48, 50], "pair": [2, 7, 35], "dict": [2, 14, 20, 21, 22, 25, 27, 28, 31, 41, 42, 43], "choic": [2, 22], "up": [2, 7, 22, 26, 46, 50], "each": [2, 3, 4, 7, 20, 25, 27, 28, 30, 34, 35, 41, 43, 45, 47], "instanc": [2, 4, 6, 7, 16, 28, 31, 40, 42, 45, 47, 48, 49], "bacnetingresshandl": 2, "differenti": [2, 7], "devic": [2, 7, 30, 48], "contain": [2, 3, 5, 6, 7, 20, 22, 24, 25, 27, 30, 32, 35, 41, 43, 45, 46, 48, 49, 50], "properti": [2, 3, 4, 6, 16, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 40, 42, 43, 48, 50], "name": [2, 3, 4, 5, 6, 7, 14, 17, 20, 21, 22, 24, 25, 26, 27, 33, 35, 41, 43, 45, 47, 48, 49, 50], "unit": [2, 45, 46, 47, 48, 49, 50], "csvingresshandl": [2, 5], "denot": [2, 50], "filenam": [2, 24, 33, 35, 43, 45], "store": [2, 22, 35, 48], "column": [2, 5, 6, 27, 35], "cell": [2, 5, 6, 7, 35, 49], "row": [2, 6, 33, 35, 47], "ns": [2, 4, 6, 7, 27, 31, 32, 34, 49], "rdflib": [2, 5, 6, 7, 13, 16, 24, 25, 26, 27, 37, 41, 42, 47, 48, 49, 50], "namespac": [2, 5, 6, 7, 27, 31, 32, 34, 43, 47, 48, 49, 50], "return": [2, 7, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 35, 41, 42, 43, 47, 48], "thi": [2, 3, 4, 6, 7, 16, 20, 22, 24, 25, 26, 27, 28, 31, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50], "infer": [2, 32, 43, 45], "translat": [2, 6], "some": [2, 7, 22, 27, 31, 47, 48, 49, 50], "either": [2, 26, 27, 30], "upstream": [2, 7, 32, 34, 41], "ani": [2, 3, 4, 7, 20, 22, 24, 25, 26, 27, 38, 48, 49, 50], "entiti": [2, 7, 27, 28, 31, 32, 34, 40, 47, 48, 49], "uri": [2, 3, 4, 6, 7, 10, 25, 26, 27, 28, 43, 45, 47, 48, 49], "creat": [2, 4, 5, 6, 7, 10, 13, 16, 19, 20, 24, 25, 26, 31, 43, 45, 46, 47, 49], "place": [2, 31, 32, 34, 43, 49, 50], "typic": [2, 48, 50], "end": [2, 22, 47, 48], "pipelin": 2, "sever": [2, 28, 45, 47, 48, 50], "full": [2, 4, 43, 50], "found": [2, 7, 20, 27, 38, 42, 45], "here": [2, 7, 22, 24, 46, 47, 49], "take": [2, 3, 7, 13, 26, 31, 40, 45, 47, 48, 49], "ip": [2, 7, 30, 45], "subnet": [2, 7, 45], "argument": [2, 6, 20, 22, 26, 27, 41, 45, 46, 48], "0": [2, 6, 7, 26, 45, 46, 47], "24": [2, 7, 45], "set": [2, 3, 4, 7, 22, 25, 27, 28, 35, 42, 43, 45, 46, 47, 49], "correspond": [2, 4, 7, 22, 42, 45, 50], "repres": [2, 3, 7, 26, 28, 31, 35, 48, 49, 50], "els": [2, 7, 27], "base": [2, 3, 7, 17, 40, 46], "address": [2, 7, 27, 45, 50], "device_id": [2, 7], "own": [2, 6, 49], "mydata": 2, "given": [2, 3, 4, 6, 14, 20, 22, 25, 26, 27, 28, 31, 32, 34, 35, 38, 42, 43, 45], "call": [2, 5, 6, 22, 27, 45, 47, 48, 49], "generate_csv": [2, 5, 27], "empti": [2, 5, 25], "header": [2, 5, 49], "csvingress": [2, 5, 33], "made": [2, 22, 46, 50], "pass": [2, 3, 7, 27, 41, 45, 47, 49], "templateingress": [2, 5, 34], "xlsxingresshandl": 2, "path": [2, 3, 4, 6, 24, 26, 27, 28, 31, 33, 35, 40, 43, 45, 47], "sheet": [2, 35], "requir": [2, 3, 7, 16, 22, 25, 27, 28, 42, 45, 46, 47, 48, 49, 50], "probabl": [2, 47], "librari": [2, 4, 5, 7, 20, 21, 27, 28, 38, 41, 46, 47, 49, 50], "option": [2, 7, 19, 20, 24, 25, 26, 27, 28, 30, 33, 34, 40, 42, 43, 45], "mapper": [2, 5, 34], "function": [2, 3, 4, 6, 7, 10, 12, 13, 14, 16, 27, 28, 34, 37, 38, 40, 41, 42, 43, 45, 48, 49, 50], "map": [2, 20, 21, 27, 42, 43], "paramet": [2, 4, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 31, 32, 37, 38, 40, 41, 42, 43, 47, 48, 50], "If": [2, 3, 4, 6, 16, 20, 22, 25, 27, 28, 34, 40, 42, 43, 46, 47, 48, 50], "left": [2, 27], "none": [2, 5, 7, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 40, 42, 43], "There": [2, 7, 45, 50], "templateingresswithchoos": [2, 34], "act": [2, 50], "essenti": [2, 7, 50], "addit": [2, 7, 25, 41, 42, 43, 46, 48, 49, 50], "dynam": [2, 46], "choos": [2, 7, 47], "see": [2, 3, 7, 45, 46, 47, 48, 49], "guid": [2, 7], "ensur": [3, 6, 20, 41, 46, 49], "onli": [3, 4, 26, 28, 46, 47, 49, 50], "yield": [3, 27, 42], "whether": [3, 27], "node": [3, 4, 14, 25, 26, 27, 28, 40, 42, 43, 46, 49], "fail": [3, 22, 28, 40, 46, 47, 49], "To": [3, 6, 22, 45, 46, 48, 49, 50], "aid": 3, "execut": [3, 41, 49], "depend": [3, 4, 5, 7, 20, 21, 22, 25, 26, 27, 41, 46], "extract": [3, 7, 22], "edg": 3, "were": [3, 4, 27, 47, 48], "how": [3, 4, 6, 7, 26, 42, 47, 48, 49], "shape_to_queri": [3, 6, 26], "page": 3, "give": [3, 5, 14, 35, 41, 49], "overview": 3, "main": [3, 7, 45], "satisfi": [3, 26, 47, 49], "constraint": [3, 4, 28, 40, 47, 49], "At": 3, "high": [3, 47, 49], "work": [3, 7, 20, 22, 48, 49], "first": [3, 41, 42, 47, 48, 49, 50], "transform": 3, "assembl": 3, "complet": [3, 7, 42, 46], "input": [3, 28, 42, 43, 45, 47, 48], "definit": [3, 7, 26, 41, 48, 50], "result": [3, 4, 5, 6, 7, 22, 25, 27, 28, 41, 43, 47, 48], "least": [3, 6], "target": [3, 6, 26, 40, 47], "variabl": [3, 6, 22, 45, 47, 49, 50], "add": [3, 7, 19, 25, 26, 27, 40, 41, 42, 46, 47, 48, 49, 50], "sh": [3, 4, 6, 26, 28, 40, 43, 49], "pull": [3, 45, 47], "annot": [3, 48], "otherwis": [3, 16, 22, 26, 27, 43, 48], "assign": [3, 22, 47], "union": [3, 4, 24, 26, 27, 28, 33, 40], "within": [3, 4, 7, 24, 27, 49], "independ": 3, "branch": [3, 45], "few": [3, 48, 50], "directli": [3, 6, 24, 45, 48, 49], "nodeshap": [3, 4, 6, 40, 43, 49], "convert": [3, 22, 43], "pattern": [3, 6, 50], "targetclass": [3, 4, 6, 26, 49], "c": [3, 7, 22], "type": [3, 6, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 40, 41, 42, 43, 46, 48, 49], "subclassof": [3, 6, 26], "targetsubjectsof": 3, "p": [3, 5, 7, 45, 47, 48, 50], "ignor": [3, 27, 46], "targetobjectsof": 3, "targetnod": [3, 49], "n": [3, 26], "bind": [3, 6, 14, 20, 27, 43, 45, 47, 48, 50], "AS": 3, "addition": 3, "except": [3, 7, 16, 17, 20, 24, 25, 27, 38, 43, 48], "than": [3, 28, 41, 43], "vav": [3, 4, 7, 47, 49, 50], "rvav": 3, "combin": [3, 27, 28, 43], "interpret": [3, 7, 28, 49], "compon": [3, 4, 20, 28, 48, 49, 50], "stage": [3, 46], "hasvalu": [3, 6, 26], "interact": [4, 7, 20, 45, 46, 48], "interest": [4, 49], "document": [4, 7, 38, 45, 50], "we": [4, 5, 6, 7, 16, 22, 24, 42, 46, 47, 48, 49, 50], "explain": 4, "recal": [4, 6, 45, 50], "condit": 4, "over": [4, 40, 42, 46], "automat": [4, 25, 45, 46, 50], "evalu": [4, 14, 27, 40, 47, 49, 50], "against": [4, 25, 38, 43, 46, 49], "when": [4, 17, 22, 24, 27, 28, 34, 43, 46, 48, 49, 50], "load": [4, 5, 6, 7, 24, 25, 26, 27, 31, 47, 49, 50], "attempt": [4, 7, 34, 46], "find": [4, 42, 43, 46, 47], "happen": 4, "directori": [4, 5, 7, 24, 43, 46, 47, 48, 49, 50], "git": [4, 7], "repositori": [4, 7, 46, 47, 48, 49], "search": [4, 27, 42, 43, 49], "file": [4, 5, 6, 7, 16, 22, 24, 27, 31, 33, 35, 38, 41, 43, 45, 46, 48, 49, 50], "recurs": [4, 20, 26, 27, 43], "them": [4, 31, 33, 35], "collect": [4, 7, 20, 21, 24, 25, 47, 48], "graphc": 4, "owl": [4, 6, 7, 26, 45, 47, 48, 49], "assumpt": 4, "ifi": 4, "could": [4, 47, 49, 50], "instanti": [4, 16, 34], "decompil": 4, "construct": [4, 40], "get_template_parts_from_shap": [4, 43], "recogn": 4, "qualifiedvalueshap": [4, 6], "datatyp": [4, 22], "mincount": [4, 43], "qualifiedmincount": [4, 6, 43], "maxcount": 4, "qualifiedmaxcount": 4, "i": [4, 6, 7, 25, 26, 46, 47], "invent": [4, 27], "unless": [4, 27], "attribut": [4, 7, 22, 41, 43, 48, 49], "consid": [4, 7, 20, 27], "been": [4, 7, 16, 25, 27, 42, 47, 48, 49], "part": [4, 7, 20, 21, 22, 41, 42, 43, 46, 48, 49], "myshap": 4, "ttl": [4, 6, 7, 13, 45, 47, 48, 49], "prefix": [4, 5, 6, 7, 37, 47, 48, 49, 50], "brickschema": [4, 5, 6, 7, 45, 47, 48, 49, 50], "www": [4, 6, 7, 47, 48, 49], "w3": [4, 6, 7, 47, 48, 49], "2002": [4, 6, 7, 47, 48, 49], "07": [4, 6, 7, 47, 48, 49], "urn": [4, 5, 6, 7, 32, 43, 47, 48, 49, 50], "terminal_unit": 4, "haspart": [4, 6, 41, 47, 48, 49, 50], "heat": [4, 49], "coil": [4, 48, 49, 50], "hc": 4, "haspoint": [4, 5, 6, 7, 41, 47, 50], "supply_air_flow_sensor": [4, 47, 49, 50], "supply_air_temperature_sensor": [4, 7, 47, 49, 50], "sat": [4, 7], "heating_coil": [4, 47, 48, 49, 50], "position_command": [4, 50], "damper_po": 4, "you": [4, 6, 7, 20, 24, 45, 46, 47, 48, 49, 50], "w": [4, 7, 43, 49], "f": [4, 6, 7, 47, 48, 49], "wa": [4, 48, 49], "would": [4, 22, 26, 43, 47, 48, 50], "memori": [4, 5, 6, 7, 43, 47, 48, 49], "bm": [4, 5, 6, 7, 20, 31, 32, 47, 48, 49], "sqlite": [4, 5, 6, 7, 46, 47, 48, 49], "ontology_graph": [4, 7, 24, 47, 48, 49], "github": [4, 7, 45, 46], "com": [4, 7, 45], "releas": [4, 7, 45], "download": [4, 7, 45, 46, 47, 48, 49], "nightli": [4, 7, 45], "lib": [4, 5, 7, 28, 47, 49, 50], "2024": [4, 7, 47, 49], "03": [4, 7, 47, 49], "12": [4, 7, 47, 49], "21": [4, 7, 47, 49], "31": [4, 7], "05": [4, 7], "452": 4, "root": [4, 7, 47, 49, 50], "warn": [4, 7, 22, 27, 28, 47, 49], "depende": [4, 20, 47, 49], "2020": [4, 7], "bacnetdevic": [4, 7], "455": [4, 7], "n67d20ae789c4418ebd8a433df8d016ceb7410": 4, "456": 4, "n67d20ae789c4418ebd8a433df8d016ceb7414": 4, "n67d20ae789c4418ebd8a433df8d016ceb7418": 4, "457": [4, 7], "n67d20ae789c4418ebd8a433df8d016ceb7416": 4, "458": 4, "n67d20ae789c4418ebd8a433df8d016ceb7412": 4, "n67d20ae789c4418ebd8a433df8d016ceb7420": 4, "460": 4, "n67d20ae789c4418ebd8a433df8d016ceb7476": 4, "461": 4, "n67d20ae789c4418ebd8a433df8d016ceb7478": 4, "n67d20ae789c4418ebd8a433df8d016ceb7484": 4, "n67d20ae789c4418ebd8a433df8d016ceb7480": 4, "462": 4, "n67d20ae789c4418ebd8a433df8d016ceb7482": 4, "n67d20ae789c4418ebd8a433df8d016ceb7465": 4, "463": 4, "n67d20ae789c4418ebd8a433df8d016ceb7459": 4, "n67d20ae789c4418ebd8a433df8d016ceb7467": 4, "464": [4, 7], "n67d20ae789c4418ebd8a433df8d016ceb7463": 4, "n67d20ae789c4418ebd8a433df8d016ceb7461": 4, "n67d20ae789c4418ebd8a433df8d016ceb7469": 4, "465": 4, "n67d20ae789c4418ebd8a433df8d016ceb7556": 4, "n67d20ae789c4418ebd8a433df8d016ceb7558": 4, "466": 4, "n67d20ae789c4418ebd8a433df8d016ceb7554": 4, "n67d20ae789c4418ebd8a433df8d016ceb7552": 4, "n67d20ae789c4418ebd8a433df8d016ceb7560": 4, "149": 4, "150": 4, "152": 4, "onc": [4, 27], "have": [4, 5, 7, 20, 22, 27, 41, 42, 47, 48, 49, 50], "turn": [4, 7, 32, 42, 43, 48], "explicitli": [4, 47, 49], "read": [4, 7, 33, 34, 35, 46], "out": [4, 5, 7, 27, 42, 47, 48], "get_template_by_nam": [4, 5, 24, 48, 49, 50], "dump": [4, 31], "bodi": [4, 5, 13, 24, 27, 41, 47, 48], "print": [4, 5, 6, 7, 27, 46, 47, 48, 49], "serial": [4, 5, 7, 22, 24, 47, 48, 49, 50], "___param___": [4, 5, 43, 47, 48, 50], "hc0": 4, "p13": 4, "sat0": 4, "As": [4, 49], "often": 4, "want": [4, 42, 47, 48, 49, 50], "inlin": [4, 27, 34, 43], "get": [4, 5, 7, 12, 13, 14, 19, 20, 22, 24, 25, 26, 27, 41, 47, 48, 49], "sens": 4, "what": [4, 6, 7, 22, 28, 40, 45, 47, 48, 49, 50], "ad": [4, 7, 19, 22, 25, 41, 47], "inline_depend": [4, 5, 27, 47], "damper_pos0": 4, "observ": 4, "paramt": [4, 27, 50], "assum": [5, 7, 22, 47, 48, 49], "tutori": [5, 7, 47, 48, 49, 50], "my": [5, 47, 50], "thermostat": 5, "hasloc": 5, "room": 5, "arg": [5, 7, 16, 20, 21, 22, 27, 41, 50], "tstat": 5, "point": [5, 41, 45, 47, 48, 49, 50], "temp": [5, 47, 49, 50], "sp": 5, "co2": [5, 47, 49, 50], "temperature_sensor": [5, 47, 48, 49], "temperature_setpoint": 5, "co2_sensor": 5, "our": [5, 22, 49], "tstat_templ": 5, "approiat": 5, "fill": [5, 27, 42, 47], "tstat2": 5, "room345": 5, "345": 5, "tstat3": 5, "room567": 5, "cow": 5, "567": [5, 7], "handler": [5, 7, 16, 31], "built": [5, 46], "record": [5, 7, 30, 31, 33, 34, 35], "bldg": [5, 6, 7, 47, 48, 49], "my_sit": 5, "abov": [5, 6, 7, 22, 46, 47, 49, 50], "final": [5, 48], "suit": 6, "allow": [6, 22, 48, 50], "retriev": [6, 38, 49], "configur": [6, 7, 22, 46, 50], "oper": [6, 7, 47, 49], "figur": 6, "illustr": 6, "well": [6, 20, 48], "retreiv": 6, "deriv": 6, "propertyshap": [6, 40], "includ": [6, 22, 25, 27, 28, 40, 43, 45, 46, 47, 48, 49], "equival": [6, 22], "Not": 6, "pleas": 6, "befor": [6, 16, 20, 46, 47, 48], "shapecollect": [6, 21, 24, 25, 26, 28, 49], "uriref": [6, 7, 25, 26, 28, 40, 43], "sc": 6, "pars": [6, 7, 47, 48, 49], "1999": 6, "02": [6, 7], "syntax": [6, 48, 50], "2000": 6, "01": [6, 7], "bmotif": [6, 49], "nrel": [6, 45, 47, 48, 49], "gov": [6, 48, 49], "simpleapp": 6, "app1": 6, "fan_coil_unit": 6, "occupied_cooling_temperature_setpoint": 6, "coolsp": 6, "occupied_heating_temperature_setpoint": 6, "heatsp": 6, "feed": [6, 41, 50], "air_temperature_sensor": 6, "roomtemp": 6, "df6cf99f": 6, "3f83": 6, "4e54": 6, "801a": 6, "37b93fae53a8": 6, "ask": [6, 47, 48, 49], "certain": [6, 40, 49], "shape_nam": [6, 43], "get_shapes_about_class": [6, 26], "shape_queri": 6, "select": [6, 7, 22, 25, 26, 47], "where": [6, 7, 20, 22, 45, 47, 48], "refer": [6, 20, 22, 27, 40, 41, 48, 49], "app1_shap": 6, "string": [6, 22, 27, 31, 43, 45, 48], "app_queri": 6, "below": [6, 7, 22, 45, 46, 47, 48, 49], "panda": 6, "datafram": 6, "pd": [6, 47, 49], "save": [6, 45, 47, 48, 49], "building1": 6, "content": [6, 21, 25, 31, 45, 48, 49, 50], "query_generation_exampl": 6, "re": [6, 49], "df": 6, "iloc": 6, "modulenotfounderror": 6, "traceback": [6, 22, 49], "most": [6, 22, 24, 42, 49], "recent": [6, 22, 49], "last": [6, 22, 49], "5": [6, 7, 47, 49], "6": [6, 7], "No": [6, 7], "modul": [6, 7, 8, 9, 11, 15, 18, 22, 23, 24, 29, 39, 41], "alreadi": [7, 47, 48, 49], "local": [7, 45, 47, 48, 49], "environ": [7, 46, 47, 48, 49], "access": [7, 17, 41, 45, 48], "descript": [7, 20, 21, 25, 45, 46, 47, 48, 49, 50], "purpos": [7, 47, 48, 49], "demonstr": [7, 47], "accomplish": [7, 48], "basic": [7, 48, 49], "sure": [7, 20, 45, 46, 48], "awar": 7, "reach": [7, 46], "For": [7, 22, 43, 48, 49, 50], "docker": 7, "compos": [7, 46, 50], "run": [7, 20, 25, 45, 49], "virtual": [7, 46], "scan": 7, "sub": 7, "anoth": [7, 27, 46, 47, 48, 50], "try": [7, 48, 49, 50], "simul": 7, "digit": 7, "twin": 7, "rest": [7, 47], "expect": [7, 20, 28, 42, 43], "do": [7, 47], "connect": [7, 16, 19, 48, 49], "subprocess": 7, "shlex": 7, "virtual_bacnet": 7, "py": [7, 20, 27, 45, 46, 47, 49], "random": [7, 47], "sy": 7, "bacpyp": 7, "app": 7, "bipsimpleappl": 7, "consolelog": 7, "configargumentpars": 7, "core": [7, 48], "debug": [7, 16, 46], "modulelogg": 7, "bacpypes_debug": 7, "localdeviceobject": 7, "analoginputobject": 7, "devicecommunicationcontrolservic": 7, "readwritepropertymultipleservic": 7, "_debug": 7, "_log": 7, "global": [7, 27], "virtualbacnetapp": 7, "virtualdevic": 7, "def": [7, 22, 41, 49], "__init__": [7, 22, 47, 49], "self": [7, 22, 40, 49], "host": [7, 45], "parser": 7, "__doc__": 7, "parse_arg": 7, "ini": 7, "supplytempsensor": 7, "objectnam": 7, "objectidentifi": 7, "analoginput": 7, "presentvalu": 7, "randint": 7, "100": 7, "heatingsetpoint": 7, "hsp": 7, "coolingsetpoint": 7, "csp": 7, "zonetempsensor": 7, "zone": [7, 47, 48, 49, 50], "add_object": 7, "__name__": 7, "__main__": [7, 22], "argv": 7, "len": [7, 47], "dockerfil": 7, "ubuntu": 7, "latest": 7, "workdir": 7, "opt": [7, 47, 49], "apt": 7, "updat": [7, 13, 20, 25, 49], "y": 7, "python3": [7, 46, 47, 49], "pip": [7, 46], "rm": 7, "rf": 7, "var": 7, "pip3": 7, "copi": [7, 24, 25, 27, 43, 45, 49], "virtualbacnet": 7, "172": [7, 45], "17": 7, "599": 7, "maxapdulengthaccept": 7, "1024": 7, "segmentationsupport": 7, "segmentedboth": 7, "vendoridentifi": 7, "15": 7, "yml": [7, 24, 38, 45, 46, 48, 50], "version": [7, 22, 45], "4": [7, 22, 46, 47, 48, 49, 50], "ipv4_address": 7, "ipam": 7, "driver": 7, "default": [7, 19, 22, 24, 25, 26, 27, 42, 43, 45, 49], "config": [7, 45, 46], "16": 7, "gatewai": 7, "docker_compose_start": 7, "split": 7, "d": [7, 45], "dockerignor": 7, "transfer": 7, "context": [7, 19, 26, 40], "2b": 7, "done": [7, 46, 47, 49], "0s": 7, "276b": 7, "auth": 7, "token": 7, "registri": 7, "io": [7, 27, 48], "8s": 7, "30kb": 7, "sha256": 7, "77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17": 7, "resolv": [7, 24, 26, 28, 47], "13kb": 7, "aa772c98400ef833586d1d517d3e8de670f7e712bf581ce6053165081773259d": 7, "424b": 7, "ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459": 7, "bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb": 7, "98mb": 7, "29": 7, "54mb": 7, "1s": 7, "12mb": 7, "3s": 7, "4s": 7, "9s": 7, "7": 7, "8": [7, 46, 47, 49], "164": 7, "doe": [7, 22, 24, 46, 48], "stabl": 7, "cli": 7, "caution": 7, "script": 7, "251": 7, "archiv": 7, "jammi": 7, "inreleas": 7, "270": 7, "kb": 7, "255": [7, 22], "secur": 7, "110": 7, "430": 7, "119": 7, "471": 7, "restrict": 7, "amd64": 7, "packag": [7, 46, 47, 48, 49], "1960": 7, "473": 7, "backport": 7, "109": 7, "560": 7, "univers": [7, 40], "mb": 7, "669": 7, "1568": 7, "688": 7, "multivers": 7, "44": 7, "9": 7, "1078": 7, "884": 7, "266": 7, "888": 7, "11": [7, 47, 49], "1792": 7, "897": 7, "13": 7, "1997": 7, "923": 7, "14": [7, 22], "50": 7, "924": 7, "1847": 7, "952": 7, "1350": 7, "958": 7, "80": 7, "959": 7, "18": 7, "33": [7, 49], "658": 7, "fetch": [7, 48], "30": 7, "20": [7, 22], "300": 7, "tree": [7, 50], "433": 7, "state": [7, 22, 49, 50], "445": 7, "upgrad": [7, 46], "450": 7, "478": 7, "400": [7, 49], "binutil": 7, "common": [7, 37, 43, 49], "x86": 7, "64": 7, "linux": 7, "gnu": 7, "bzip2": 7, "ca": 7, "certif": 7, "cpp": 7, "dirmngr": 7, "dpkg": 7, "dev": [7, 46], "fakeroot": 7, "fontconfig": 7, "font": 7, "dejavu": 7, "gcc": 7, "gnupg": 7, "l10n": 7, "gpg": 7, "agent": 7, "wk": 7, "client": 7, "server": 7, "gpgconf": 7, "gpgsm": 7, "javascript": 7, "libalgorithm": 7, "diff": [7, 28, 47, 49], "perl": 7, "xs": 7, "merg": 7, "libasan6": 7, "libassuan0": 7, "libatomic1": 7, "libbinutil": 7, "libbrotli1": 7, "libbsd0": 7, "libc": 7, "bin": [7, 46], "devtool": 7, "libc6": 7, "libcc1": 7, "libcrypt": 7, "libctf": 7, "nobfd0": 7, "libctf0": 7, "libdeflate0": 7, "libdpkg": 7, "libexpat1": 7, "libfakeroot": 7, "libfil": 7, "fcntllock": 7, "libfontconfig1": 7, "libfreetype6": 7, "libgcc": 7, "libgd3": 7, "libgdbm": 7, "compat4": 7, "libgdbm6": 7, "libgomp1": 7, "libisl23": 7, "libitm1": 7, "libjbig0": 7, "libjpeg": 7, "turbo8": 7, "libjpeg8": 7, "libj": 7, "jqueri": 7, "sphinxdoc": 7, "underscor": 7, "libksba8": 7, "libldap": 7, "liblocal": 7, "gettext": 7, "liblsan0": 7, "libmd0": 7, "libmpc3": 7, "libmpdec3": 7, "libmpfr6": 7, "libnpth0": 7, "libnsl": 7, "libperl5": 7, "34": 7, "libpng16": 7, "libpython3": 7, "stdlib": 7, "minim": 7, "libquadmath0": 7, "libreadline8": 7, "libsasl2": 7, "db": [7, 27, 45, 46], "libsqlite3": 7, "libstdc": 7, "libtiff5": 7, "libtirpc": 7, "libtsan0": 7, "libubsan1": 7, "401": [7, 49], "libwebp7": 7, "libx11": 7, "libxau6": 7, "libxcb1": 7, "libxdmcp6": 7, "libxpm4": 7, "lto": 7, "disabl": [7, 22], "manpag": 7, "media": 7, "netbas": 7, "openssl": 7, "patch": 7, "pinentri": 7, "curs": 7, "distutil": 7, "lib2to3": 7, "pkg": 7, "resourc": [7, 48, 49], "setuptool": 7, "wheel": 7, "readlin": 7, "rpcsvc": 7, "proto": 7, "ucf": 7, "xz": 7, "zlib1g": 7, "suggest": 7, "doc": [7, 38, 46], "dbu": 7, "session": [7, 16, 48], "libpam": 7, "systemd": 7, "gnome3": 7, "tor": 7, "debian": 7, "keyr": 7, "multilib": 7, "autoconf": 7, "automak": 7, "libtool": 7, "flex": 7, "bison": 7, "gdb": 7, "parcimoni": 7, "xloadimag": 7, "scdaemon": 7, "apache2": 7, "lighttpd": 7, "httpd": 7, "glibc": 7, "bzr": 7, "libgd": 7, "tool": [7, 24, 45], "gdbm": 7, "gssapi": 7, "mit": 7, "heimdal": 7, "ldap": 7, "otp": 7, "sql": [7, 22], "man": 7, "browser": 7, "ed": 7, "diffutil": 7, "libterm": 7, "libtap": 7, "har": 7, "tk": 7, "venv": [7, 46], "binfmt": 7, "597": 7, "598": 7, "780": 7, "131": 7, "newli": 7, "101": 7, "after": [7, 27, 46, 48], "356": 7, "disk": [7, 48], "space": 7, "4build3": 7, "845": 7, "04": 7, "812": 7, "016": 7, "1ubuntu0": 7, "91": 7, "021": 7, "2242": 7, "081": 7, "25": [7, 49], "082": 7, "2build2": 7, "86": 7, "083": 7, "53": 7, "153": 7, "085": 7, "37": 7, "2ubuntu0": 7, "641": 7, "093": 7, "1848": 7, "111": 7, "508": 7, "116": 7, "6910": 7, "b": [7, 22, 45, 46], "117": 7, "146": 7, "3ubuntu1": 7, "2976": 7, "23": 7, "6606": 7, "165": 7, "4820": 7, "223": 7, "19": 7, "232": 7, "225": 7, "0ubuntu1": 7, "1186": 7, "247": 7, "20230311ubuntu0": 7, "155": 7, "248": 7, "1build1": 7, "249": 7, "59": 7, "132": 7, "250": 7, "26": 7, "0043": 7, "56": 7, "27": 7, "3build5": 7, "191": 7, "257": 7, "28": [7, 22], "1build5": 7, "7634": 7, "289": 7, "0ubuntu5": 7, "290": 7, "3ubuntu3": 7, "49": [7, 47], "120": 7, "291": 7, "32": [7, 45, 47], "667": 7, "296": 7, "1ubuntu1": 7, "1375": 7, "304": 7, "2ubuntu1": 7, "84": 7, "305": 7, "35": 7, "38": 7, "4ubuntu2": 7, "222": 7, "306": 7, "36": [7, 47, 49, 50], "662": 7, "323": 7, "108": 7, "324": 7, "103": 7, "353": 7, "39": 7, "2326": 7, "369": 7, "40": 7, "3200": 7, "41": 7, "0ubuntu3": 7, "42": 7, "1348": 7, "390": [7, 49], "43": 7, "112": 7, "391": [7, 49], "0ubuntu6": 7, "68": 7, "392": [7, 49], "45": 7, "192": 7, "394": 7, "46": [7, 47, 49], "71": 7, "47": 7, "2100": 7, "428": 7, "48": 7, "2build1": 7, "727": [7, 47], "435": 7, "3build3": 7, "1425": 7, "454": 7, "51": 7, "52": 7, "54": 7, "568": 7, "55": 7, "126": 7, "569": 7, "570": 7, "57": 7, "58": 7, "2282": 7, "596": 7, "1069": 7, "604": 7, "60": 7, "2260": 7, "633": 7, "61": 7, "976": 7, "648": 7, "62": 7, "154": 7, "649": 7, "63": 7, "2517": 7, "672": 7, "906": 7, "65": 7, "5112": 7, "66": 7, "2101": 7, "930": 7, "67": 7, "063": 7, "1412": 7, "064": 7, "69": 7, "180": 7, "065": 7, "70": 7, "1ubuntu2": 7, "067": 7, "5build1": 7, "068": 7, "72": 7, "7build2": 7, "069": 7, "73": 7, "74": 7, "922": 7, "75": 7, "9ubuntu3": 7, "4744": 7, "76": 7, "098": 7, "77": 7, "3ubuntu2": 7, "94": 7, "099": 7, "78": 7, "134": 7, "79": [7, 47, 49], "dfsg2": 7, "135": 7, "136": 7, "81": 7, "dfsg": 7, "0ubuntu0": 7, "183": 7, "137": 7, "82": 7, "3build2": 7, "8664": 7, "83": 7, "293": 7, "140": 7, "85": 7, "141": 7, "1041": 7, "166": 7, "87": 7, "2ubuntu5": 7, "167": 7, "88": 7, "198": 7, "89": 7, "308": 7, "201": 7, "90": 7, "519": 7, "205": 7, "1build2": 7, "206": 7, "92": 7, "209": 7, "207": 7, "93": 7, "208": 7, "95": 7, "197": 7, "210": 7, "96": 7, "315": 7, "230": 7, "97": 7, "nmu1": 7, "5936": 7, "231": 7, "98": 7, "262": 7, "99": 7, "6build3": 7, "263": 7, "08": 7, "2build6": 7, "330": [7, 49], "102": 7, "389": [7, 49], "522": 7, "530": 7, "104": 7, "537": 7, "105": 7, "8c": 7, "2ubuntu10": 7, "2264": 7, "538": 7, "106": 7, "542": 7, "107": 7, "543": 7, "563": 7, "6ubuntu0": 7, "185": 7, "575": 7, "576": 7, "2ubuntu2": 7, "129": 7, "582": 7, "584": 7, "113": 7, "147": 7, "589": 7, "114": 7, "3build7": 7, "115": 7, "321": 7, "118": 7, "601": 7, "139": 7, "617": 7, "1948": 7, "643": 7, "2ubuntu9": 7, "121": 7, "4762": 7, "701": 7, "122": 7, "7166": 7, "123": 7, "124": 7, "2309": 7, "729": 7, "125": 7, "507": 7, "732": [7, 47], "733": [7, 47], "127": 7, "734": [7, 47], "128": 7, "339": 7, "736": [7, 47], "130": 7, "743": [7, 47], "1305": 7, "855": 7, "debconf": 7, "delai": 7, "sinc": [7, 22], "877": 7, "2s": 7, "previous": [7, 22, 47, 49], "unselect": 7, "4393": 7, "893": 7, "prepar": 7, "unpack": 7, "perl_1": 7, "4build3_amd64": 7, "deb": 7, "894": 7, "911": 7, "912": 7, "minimal_3": 7, "3_amd64": 7, "913": 7, "987": 7, "988": 7, "libexpat1_2": 7, "2_amd64": 7, "991": 7, "010": 7, "011": 7, "017": 7, "058": 7, "066": 7, "4711": 7, "04_amd64": 7, "591": 7, "607": 7, "types_7": 7, "0_all": 7, "608": 7, "623": 7, "624": 7, "libmpdec3_2": 7, "2build2_amd64": 7, "625": 7, "639": 7, "640": 7, "common_8": 7, "1_all": 7, "655": 7, "656": 7, "libreadline8_8": 7, "1_amd64": 7, "657": 7, "673": 7, "0_3": 7, "674": 7, "694": 7, "695": 7, "stdlib_3": 7, "696": 7, "783": 7, "784": 7, "10_3": 7, "785": 7, "800": 7, "801": 7, "802": 7, "817": 7, "5141": 7, "964": 7, "000": 7, "python3_3": 7, "967": 7, "982": 7, "983": 7, "001": 7, "34_5": 7, "3_all": 7, "267": 7, "268": 7, "002": 7, "libgdbm6_1": 7, "269": 7, "284": 7, "285": 7, "003": 7, "compat4_1": 7, "286": 7, "301": 7, "004": 7, "302": 7, "476": 7, "005": 7, "perl_5": 7, "483": 7, "506": 7, "006": 7, "openssl_3": 7, "15_amd64": 7, "544": 7, "546": 7, "007": 7, "certificates_20230311ubuntu0": 7, "547": 7, "587": 7, "008": 7, "libmd0_1": 7, "1build1_amd64": 7, "590": 7, "605": 7, "606": 7, "009": 7, "libbsd0_0": 7, "622": 7, "netbase_6": 7, "resources_59": 7, "661": 7, "012": 7, "ucf_3": 7, "0043_all": 7, "664": 7, "move": 7, "old": [7, 43], "666": 7, "684": 7, "685": 7, "013": 7, "16_1": 7, "3build5_amd64": 7, "686": 7, "702": 7, "704": 7, "014": 7, "libxau6_1": 7, "3a1": 7, "1build5_amd64": 7, "705": 7, "723": [7, 47], "724": 7, "015": 7, "libxdmcp6_1": 7, "0ubuntu5_amd64": 7, "725": 7, "740": [7, 47], "741": [7, 47], "libxcb1_1": 7, "3ubuntu3_amd64": 7, "742": [7, 47], "757": 7, "758": 7, "data_2": 7, "759": 7, "814": 7, "816": 7, "018": 7, "6_2": 7, "836": 7, "837": 7, "019": 7, "manpages_5": 7, "1ubuntu1_al": 7, "838": 7, "020": 7, "utils_5": 7, "2ubuntu1_amd64": 7, "925": 7, "941": 7, "942": 7, "common_2": 7, "6_amd64": 7, "943": 7, "960": 7, "022": 7, "libbinutils_2": 7, "961": 7, "986": 7, "023": 7, "nobfd0_2": 7, "989": 7, "024": 7, "libctf0_2": 7, "025": 7, "gnu_2": 7, "026": 7, "binutils_2": 7, "027": 7, "bin_2": 7, "028": 7, "dev_5": 7, "110_amd64": 7, "331": [7, 49], "333": [7, 49], "029": 7, "dev_1": 7, "3a4": 7, "334": 7, "349": 7, "350": 7, "030": 7, "proto_1": 7, "0ubuntu6_amd64": 7, "351": 7, "368": 7, "031": 7, "370": 7, "395": [7, 49], "396": [7, 49], "032": 7, "397": [7, 49], "414": 7, "415": 7, "033": 7, "dev_2": 7, "416": [7, 49], "555": 7, "557": 7, "034": 7, "base_11": 7, "558": 7, "573": 7, "574": 7, "035": 7, "libisl23_0": 7, "2build1_amd64": 7, "036": 7, "libmpfr6_4": 7, "3build3_amd64": 7, "600": 7, "626": 7, "037": 7, "libmpc3_1": 7, "627": 7, "642": 7, "038": 7, "11_11": 7, "039": 7, "cpp_4": 7, "3a11": 7, "1ubuntu1_amd64": 7, "760": 7, "775": 7, "776": 7, "040": 7, "0_12": 7, "777": 7, "794": 7, "795": 7, "041": 7, "libgomp1_12": 7, "796": 7, "813": 7, "042": 7, "libitm1_12": 7, "815": 7, "830": 7, "832": 7, "043": 7, "libatomic1_12": 7, "833": 7, "848": 7, "849": 7, "044": 7, "libasan6_11": 7, "850": 7, "895": 7, "045": 7, "liblsan0_12": 7, "926": 7, "046": 7, "libtsan0_11": 7, "927": 7, "969": 7, "047": 7, "libubsan1_12": 7, "970": 7, "994": 7, "996": 7, "048": 7, "libquadmath0_12": 7, "998": 7, "049": 7, "dev_11": 7, "050": 7, "337": 7, "338": 7, "051": 7, "gcc_4": 7, "357": 7, "052": 7, "358": 7, "559": 7, "053": 7, "679": 7, "681": 7, "054": 7, "_4": 7, "682": 7, "055": 7, "make_4": 7, "697": 7, "713": [7, 47], "714": [7, 47], "056": 7, "715": [7, 47], "746": [7, 47], "748": [7, 47], "057": 7, "bzip2_1": 7, "5build1_amd64": 7, "749": [7, 47], "765": 7, "767": 7, "patch_2": 7, "7build2_amd64": 7, "768": 7, "782": 7, "059": 7, "list_24_al": 7, "799": 7, "060": 7, "834": 7, "835": 7, "061": 7, "essential_12": 7, "9ubuntu3_amd64": 7, "851": 7, "853": 7, "062": 7, "libassuan0_2": 7, "854": 7, "868": 7, "869": 7, "gpgconf_2": 7, "870": 7, "887": 7, "libksba8_1": 7, "890": 7, "904": 7, "db_2": 7, "907": 7, "2_2": 7, "940": 7, "0_2": 7, "963": 7, "libnpth0_1": 7, "3build2_amd64": 7, "978": 7, "980": 7, "dirmngr_2": 7, "992": 7, "070": 7, "libfakeroot_1": 7, "071": 7, "fakeroot_1": 7, "072": 7, "core_2": 7, "2build1_al": 7, "073": 7, "config_2": 7, "2ubuntu5_al": 7, "074": 7, "l10n_2": 7, "075": 7, "utils_2": 7, "076": 7, "gpg_2": 7, "077": 7, "curses_1": 7, "1build2_amd64": 7, "078": 7, "agent_2": 7, "079": 7, "client_2": 7, "080": 7, "server_2": 7, "gpgsm_2": 7, "gnupg_2": 7, "common_11": 7, "nmu1_al": 7, "084": 7, "perl_0": 7, "6build3_amd64": 7, "086": 7, "087": 7, "libbrotli1_1": 7, "2build6_amd64": 7, "088": 7, "libfreetype6_2": 7, "089": 7, "libfontconfig1_2": 7, "2ubuntu5_amd64": 7, "090": 7, "turbo8_2": 7, "0ubuntu1_amd64": 7, "091": 7, "libjpeg8_8c": 7, "2ubuntu10_amd64": 7, "092": 7, "libdeflate0_1": 7, "libjbig0_2": 7, "094": 7, "libwebp7_1": 7, "095": 7, "libtiff5_4": 7, "8_amd64": 7, "096": 7, "libxpm4_1": 7, "3a3": 7, "097": 7, "libgd3_2": 7, "2ubuntu2_amd64": 7, "devtools_2": 7, "3build7_amd64": 7, "jquery_3": 7, "underscore_1": 7, "2_all": 7, "sphinxdoc_4": 7, "dev_3": 7, "00": 7, "modules_2": 7, "lib2to3_3": 7, "04_all": 7, "distutils_3": 7, "setuptools_59": 7, "wheel_0": 7, "pip_22": 7, "4_all": 7, "altern": 7, "usr": 7, "sysv": 7, "auto": 7, "mode": 7, "skip": [7, 43, 47], "share": [7, 20], "man1": 7, "gz": 7, "becaus": [7, 20, 22, 42, 43, 47, 48, 49], "link": 7, "group": [7, 14, 50], "doesn": [7, 47, 49], "t": [7, 16, 20, 22, 41, 42, 45, 47, 49, 50], "fake": 7, "es": 7, "sv": 7, "lzma": 7, "unlzma": 7, "unxz": 7, "lzcat": 7, "xzcat": 7, "lzmore": 7, "xzmore": 7, "lzless": 7, "xzless": 7, "lzdiff": 7, "xzdiff": 7, "lzcmp": 7, "xzcmp": 7, "lzgrep": 7, "xzgrep": 7, "lzegrep": 7, "xzegrep": 7, "lzfgrep": 7, "xzfgrep": 7, "unabl": 7, "frontend": 7, "dialog": 7, "term": [7, 27], "usabl": [7, 22], "fall": 7, "back": [7, 48], "ssl": 7, "cert": 7, "rtupdat": 7, "hook": [7, 22], "post": 7, "trigger": 7, "621": 7, "709": 7, "py3": 7, "whl": 7, "eta": 7, "764": 7, "903": 7, "successfulli": 7, "broken": 7, "permiss": 7, "conflict": 7, "behaviour": 7, "recommend": [7, 24, 27, 46, 47], "instead": [7, 48, 49], "pypa": 7, "export": 7, "imag": 7, "layer": 7, "5s": 7, "13df79191672b2c003e4640c00d92b1786c8c215bcc6b871f67a13d447968172": 7, "guides_bacnet": 7, "start": [7, 48, 49, 50], "completedprocess": 7, "returncod": 7, "previou": [7, 47, 49], "ll": [7, 47, 48, 49], "log": [7, 16], "log_level": [7, 16], "error": [7, 25, 26, 27, 38, 46], "test": [7, 25, 46, 47, 48, 49], "later": [7, 45], "bacnetnetwork": [7, 30, 32, 45], "scrape": 7, "individu": [7, 46], "discov": [7, 30], "don": [7, 20, 41, 45, 49, 50], "chang": [7, 26, 46, 49], "rec": 7, "info": [7, 28], "bac0": 7, "lite": 7, "431": 7, "adjust": [7, 27], "verbos": 7, "432": 7, "ex": [7, 48], "silenc": 7, "taskmanag": 7, "447": 7, "448": 7, "regist": [7, 41], "cov": 7, "task": 7, "those": [7, 20, 31, 47, 48, 49, 50], "whoi": 7, "limit": [7, 26, 48], "4194303": 7, "devicedisconnect": 7, "rpmdeviceconnect": 7, "472": 7, "482": 7, "readi": 7, "stop": 7, "487": 7, "493": 7, "ok": 7, "494": 7, "units_st": 7, "fals": [7, 22, 26, 27, 34, 40, 43, 47], "overridden": 7, "priority_arrai": 7, "history_s": 7, "bacnet_properti": 7, "kind": [7, 48, 50], "cotnain": 7, "arbitrari": [7, 47], "again": [7, 46, 47], "bacnettobrickingress": [7, 32], "usual": [7, 40, 41], "just": [7, 43, 47, 48, 49], "brick2bacnet": 7, "bacnet_network_graph": 7, "add_graph": [7, 25, 26, 47, 48, 49], "now": [7, 46, 47, 48, 49, 50], "look": [7, 47, 48, 49, 50], "ns1": 7, "ns2": 7, "ref": [7, 40], "xsd": [7, 43], "2001": 7, "xmlschema": 7, "hasexternalrefer": 7, "bacnetrefer": 7, "objectof": 7, "hasaddress": 7, "howev": [7, 22, 49], "next": [7, 48, 49, 50], "step": 7, "incorpor": [7, 27, 43], "about": [7, 28, 48, 49], "techniqu": 7, "label": 7, "show": [7, 45], "Then": [7, 48], "bigger": 7, "squint": 7, "might": [7, 27, 49], "divid": [7, 50], "equip": [7, 47, 48, 49, 50], "let": [7, 47, 48, 49, 50], "parse_label": 7, "output": [7, 31, 45, 49], "put": [7, 47, 48, 49], "tripl": [7, 19, 25, 26, 40, 43, 45, 47, 49], "equip_nam": 7, "point_typ": 7, "brick_class": 7, "elif": 7, "zone_air_heating_temperature_setpoint": 7, "zone_air_cooling_temperature_setpoint": 7, "zone_air_temperature_sensor": [7, 47, 49, 50], "rais": [7, 16, 17, 20, 24, 25, 26, 27, 38, 41, 43, 48], "unknown": [7, 41], "yet": [7, 49], "wrap": [7, 16], "reus": 7, "littl": 7, "bit": [7, 49], "around": [7, 48], "mypointpars": 7, "indic": [7, 22, 27, 45], "overrid": [7, 22], "output_graph": 7, "bacnet_graph": 7, "point_label": 7, "queri": [7, 26, 47], "invok": [7, 45], "point_ingress": 7, "augmented_graph": 7, "displai": 7, "relationship": [7, 21, 48, 50], "note": [7, 22, 41, 46], "particular": 7, "dvelop": 7, "specif": [7, 28, 41, 49], "idiosyncrat": 7, "futur": [7, 47, 49], "sophist": 7, "exampl": [7, 22, 43, 45, 46, 48, 50], "teardown": 7, "docker_compose_stop": 7, "down": 7, "create_app": 10, "db_uri": [10, 45], "flask": [10, 12, 13, 14], "get_all_librari": 12, "respons": [12, 13, 14], "get_all_shap": 12, "shape": [12, 20, 21, 24, 25, 26, 28, 43, 45, 47, 48], "get_librari": 12, "library_id": [12, 20, 21], "int": [12, 13, 14, 16, 20, 21, 24, 25, 26, 27, 28, 40, 42, 43], "id": [12, 13, 14, 20, 21, 24, 25, 26, 27], "request": [12, 13, 14, 26], "get_all_model": 13, "get_model": 13, "models_id": 13, "get_model_graph": 13, "get_target_nod": 13, "create_model": 13, "update_model_graph": 13, "xml": 13, "format": [13, 24, 46, 47, 49, 50], "validate_model": 13, "validate_shap": 13, "get_all_templ": 14, "get_templ": [14, 24, 47, 48], "templates_id": 14, "evaluate_ingress": 14, "template_id": [14, 20, 27], "evaluate_bind": 14, "get_bind": 14, "binding_dict": 14, "liter": 14, "untyp": 14, "kwarg": [16, 21, 22, 41], "setup_t": 16, "tabl": [16, 24, 25, 26, 27, 46], "setup_log": 16, "stdout": 16, "specifi": [16, 24, 40, 45, 49], "detail": [16, 49], "close": 16, "engin": [16, 19, 20, 25, 43], "clean": 16, "get_building_motif": 16, "singleton": 16, "singletonnotinstantiatedexcept": [16, 17], "hasn": 16, "buildingmotifengin": [16, 19], "sqlalchemi": [16, 22], "transact": 16, "experienc": 16, "weird": 16, "mai": [16, 22, 46, 48, 49], "caus": [16, 40, 47], "begin": [16, 43], "cls_dict": 17, "metaclass": 17, "singelton": 17, "being": [17, 22, 31, 34], "initi": [17, 46], "graphconnect": 19, "db_identifi": 19, "buildingmotif_stor": 19, "create_graph": 19, "get_all_graph_identifi": 19, "get_graph": 19, "delete_graph": 19, "delet": [19, 20, 48], "tableconnect": 20, "create_db_model": 20, "dbmodel": [20, 21, 25], "get_all_db_model": 20, "get_db_model": 20, "get_db_model_by_nam": 20, "update_db_model_nam": 20, "update_db_model_descript": 20, "delete_db_model": 20, "create_db_shape_collect": 20, "dbshapecollect": [20, 21, 26], "get_all_db_shape_collect": 20, "get_db_shape_collect": 20, "delete_db_shape_collect": 20, "create_db_librari": 20, "dblibrari": [20, 21, 24], "get_all_db_librari": 20, "get_db_librari": 20, "get_db_library_by_nam": 20, "update_db_library_nam": 20, "delete_db_librari": 20, "create_db_templ": 20, "dbtemplat": [20, 21, 27], "get_all_db_templ": 20, "get_db_templ": 20, "get_db_template_by_nam": 20, "get_library_defining_db_templ": 20, "get_db_template_depend": 20, "tupl": [20, 22, 25, 26, 27, 28, 40, 42, 43], "depsassoci": [20, 21], "get_depend": [20, 27], "dependant_id": [20, 21], "update_db_template_nam": 20, "update_db_template_optional_arg": 20, "optional_arg": [20, 21, 24, 27], "add_template_dependency_preliminari": 20, "dependency_id": 20, "preliminari": 20, "serv": [20, 45], "popul": [20, 27, 28, 42], "direct": [20, 42], "acycl": 20, "check": [20, 42, 46, 49], "upshot": 20, "necessari": [20, 28, 48], "mani": [20, 21, 26, 49, 50], "nest": [20, 43], "s223": 20, "mapsto": 20, "Be": 20, "check_all_template_depend": 20, "your": [20, 48, 49], "param": [20, 27, 41, 43, 48, 49], "valueerror": [20, 24, 41], "required_param": 20, "check_template_dependency_relationship": 20, "dep": 20, "involv": 20, "seri": [20, 22], "perform": [20, 47, 49], "dure": [20, 27, 41, 43, 46], "template_connect": 20, "appear": [20, 47], "delete_template_depend": 20, "update_db_template_librari": 20, "delete_db_templ": 20, "graph_id": 21, "manifest_id": 21, "manifest": [21, 25, 47], "distribut": [21, 41, 45], "shape_collection_id": 21, "shape_collect": [21, 25, 28, 47, 49], "dependee_id": 21, "body_id": 21, "jsontyp": 22, "custom": [22, 49], "json": [22, 31, 45], "jsonb": 22, "postgr": 22, "dialect": 22, "enforc": 22, "uniqu": [22, 24, 27, 43, 48], "encod": [22, 45], "dictionari": [22, 25, 27, 28, 41, 48], "impl": 22, "alia": 22, "hashabl": 22, "flag": [22, 40, 45], "mean": [22, 42], "aren": [22, 49], "orm": 22, "cache_ok": 22, "true": [22, 24, 25, 26, 27, 34, 42, 43, 46, 47, 49], "statement": 22, "externaltyp": 22, "safe": 22, "cach": [22, 31, 33, 42], "emit": 22, "element": 22, "typedecor": 22, "mytyp": 22, "internal_onli": 22, "_static_cache_kei": 22, "scheme": 22, "becom": 22, "cacheabl": 22, "render": 22, "accommod": 22, "unhash": 22, "whose": [22, 27], "accept": 22, "lookup": [22, 42], "publish": 22, "sort": 22, "un": 22, "lookuptyp": 22, "userdefinedtyp": 22, "non": [22, 46], "get_col_spec": 22, "kw": 22, "varchar": 22, "bind_processor": 22, "abl": [22, 27], "type_": 22, "stdin": 22, "sawarn": 22, "symbol": 22, "no_cach": 22, "did": [22, 47], "wouldn": 22, "insid": [22, 24, 25, 49, 50], "cannot": [22, 24], "itself": [22, 28, 48], "some_cach": 22, "typeerror": 22, "privat": 22, "public": 22, "themselv": 22, "_lookup": 22, "mixin": 22, "sql_cach": 22, "load_dialect_impl": 22, "typeengin": 22, "type_engin": 22, "help": [22, 26, 45, 49], "determin": [22, 26, 34, 48, 50], "ultim": 22, "By": [22, 26, 49, 50], "_id": [24, 25, 26, 27], "_name": [24, 25, 27], "_bm": [24, 25, 26, 27], "mirror": [24, 25, 26, 27], "classmethod": [24, 25, 26, 27, 31], "overwrit": 24, "bool": [24, 25, 26, 27, 28, 34, 40, 42, 43], "db_id": 24, "priorit": 24, "remot": [24, 45], "replac": [24, 43, 48], "load_from_libraries_yml": 24, "multipl": [24, 45], "properli": 24, "order": [24, 41, 42], "case": [24, 47], "commandlin": 24, "yaml": [24, 41, 45, 46, 50], "create_templ": 24, "get_shape_collect": [24, 47, 49], "_descript": 25, "_manifest_id": 25, "neither": 25, "nor": 25, "add_tripl": [25, 26], "sequenc": [25, 26, 47, 49], "error_on_missing_import": [25, 26], "pyshacl": [25, 43, 47, 49], "validationcontext": [25, 28], "singl": [25, 47, 48, 49], "miss": [25, 26, 28, 46, 47, 49], "topquadr": [25, 43], "java": 25, "featur": [25, 43, 46, 47, 48, 49], "deal": 25, "compil": [25, 41], "test_model_against_shap": 25, "shapes_to_test": 25, "target_class": 25, "report": [25, 28, 43, 49], "upon": [25, 45, 46, 50], "relat": [25, 48], "get_manifest": [25, 49], "update_manifest": [25, 49], "graph_nam": 26, "subject": [26, 41, 47, 48], "resolve_import": 26, "recursive_limit": 26, "suppress": 26, "handl": [26, 48], "get_shapes_of_definition_typ": [26, 49], "definition_typ": 26, "include_label": 26, "present": 26, "desir": [26, 46, 49], "get_shapes_of_domain": 26, "domain": 26, "rdf_type": 26, "superclass": [26, 31], "appli": [26, 41, 49, 50], "concern": 26, "sparql": 26, "rule": [26, 41, 48, 49], "in_memory_copi": 27, "add_depend": 27, "check_depend": 27, "remove_depend": 27, "all_paramet": 27, "exclud": [27, 47, 48, 49], "dependency_paramet": 27, "parameter_count": 27, "counter": 27, "histogram": 27, "count": [27, 40, 43, 49], "transit": 27, "dependency_for_paramet": 27, "to_inlin": 27, "preserve_arg": 27, "suffix": 27, "collis": 27, "preserv": 27, "renam": 27, "confus": 27, "require_optional_arg": 27, "warn_unus": 27, "unbound": 27, "bound": [27, 50], "even": 27, "substitut": 27, "include_opt": 27, "autogener": [27, 46, 47], "defining_librari": 27, "library_depend": 27, "find_subgraph": 27, "iter": [27, 42], "subgraph": [27, 42], "partial": [27, 48], "entir": 27, "cover": [27, 48, 49], "pathlik": [27, 31], "stringio": [27, 33], "bytesio": 27, "written": [27, 50], "sent": 27, "program": 27, "buffer": 27, "generate_spreadsheet": 27, "spreadsheet": 27, "byte": 27, "_template_id": 27, "graphdiff": 28, "focu": 28, "validation_result": [28, 47, 49], "actual": [28, 47], "rather": [28, 41], "hold": [28, 47, 48], "reconcil": 28, "reason": [28, 46, 47, 49], "human": 28, "explan": 28, "failed_shap": 28, "failed_compon": 28, "pathclasscount": 28, "minc": 28, "maxc": 28, "classnam": 28, "pathshapecount": 28, "shapenam": 28, "extra_bodi": 28, "extra_dep": 28, "match": [28, 40, 42, 49], "requiredpath": 28, "requiredclass": 28, "graphclasscardin": 28, "expectedcount": 28, "number": [28, 40, 43, 47, 49], "report_str": [28, 49], "diffset": [28, 47, 49], "unord": 28, "as_templ": 28, "get_reasons_with_sever": 28, "validationresult": 28, "permit": 28, "violat": 28, "filter": [28, 47, 49], "diffset_to_templ": 28, "grouped_diffset": 28, "wrong": 28, "respect": [28, 47, 48, 49], "_report_to_diffset": 28, "piec": 31, "bn": 32, "brick_bacnet_scan": 32, "expos": [33, 35], "callabl": [34, 41, 42], "chooser": 34, "xlsxingress": 35, "sheetnam": 35, "bind_prefix": 37, "validate_libraries_yaml": 38, "jsonschema": 38, "validationerror": 38, "deseri": 38, "messag": [40, 45, 49], "programat": 40, "add_properti": 40, "add_list_properti": 40, "OR": 40, "AND": 40, "NOT": 40, "xone": 40, "of_class": 40, "class_": 40, "activ": [40, 46], "much": [40, 46], "always_run": 40, "blank": [40, 43], "insur": 40, "alwai": [40, 49], "exactli": [40, 49], "exact": 40, "has_properti": 40, "has_path": 40, "zero_or_on": 40, "zero_or_mor": 40, "one_or_mor": 40, "mutual": 40, "exclus": 40, "zero": 40, "min": [40, 43], "max": 40, "qualifi": 40, "precid": 40, "Is": 40, "matches_class": 40, "matches_shap": 40, "downstream": 41, "hastyp": 41, "isfedbi": 41, "mayb": 41, "author": 41, "introduc": [41, 50], "macro": 41, "signatur": 41, "foo": 41, "hardcod": 41, "decor": 41, "_summary_": 41, "_description_": 41, "compile_template_spec": 41, "spec": [41, 45], "decod": 41, "vf2": 42, "algorithm": 42, "isomorph": 42, "get_semantic_feas": 42, "g1": 42, "g2": 42, "_cach": 42, "_ontology_lookup_cach": 42, "feasibl": 42, "must": [42, 46, 49], "generate_all_subgraph": 42, "induc": 42, "decreas": 42, "size": 42, "largest": 42, "monomorph": 42, "digraph_to_rdflib": 42, "digraph": 42, "nx": 42, "rdflib_to_networkx_digraph": 42, "templatematch": 42, "graph_target": 42, "template_bind": 42, "template_graph": 42, "add_map": 42, "largest_mapping_s": 42, "building_subgraph_from_map": 42, "template_subgraph_from_map": 42, "remaining_template_graph": 42, "remain": [42, 43], "remaining_templ": 42, "mappings_it": 42, "descend": 42, "building_mapping_subgraphs_it": 42, "copy_graph": 43, "preserve_blank_nod": 43, "boolean": 43, "keep": 43, "inline_sh_nod": 43, "edit": 43, "combine_graph": 43, "graph_siz": 43, "measur": 43, "remove_triples_with_nod": 43, "replace_nod": 43, "get_ontology_fil": 43, "travers": 43, "shape_graph": 43, "template_to_shap": 43, "new_temporary_graph": 43, "more_namespac": 43, "get_paramet": 43, "abc": [43, 48], "rewrite_shape_graph": 43, "rewrit": 43, "origin": [43, 50], "rewritten": 43, "skip_uri": 43, "axiomat": 43, "shacl_valid": 43, "data_graph": 43, "fastest": 43, "shacl_infer": 43, "forget": [45, 49], "suppli": [45, 47], "right": 45, "programmat": 45, "h": 45, "dir": 45, "o": [45, 46], "ont": 45, "l": 45, "library_manifest_fil": 45, "exit": 45, "describ": [45, 50], "three": 45, "get_default_libraries_yml": 45, "immedi": 45, "enclos": 45, "zonepac": 45, "temporarili": 45, "clone": [45, 46, 47, 48, 49], "repo": 45, "chiller": 45, "plant": 45, "invidu": 45, "diretori": 45, "output_fil": 45, "scanner": 45, "subcommand": 45, "port": 45, "listen": 45, "prerequisit": 46, "poetri": 46, "m": 46, "pre": 46, "commit": [46, 48], "env": 46, "migrat": 46, "window": [46, 47, 49], "unix": 46, "shell": 46, "bash": 46, "allexport": 46, "alemb": 46, "head": 46, "revis": 46, "localhost": 46, "5000": 46, "while": 46, "backend": 46, "psycopg2": 46, "binari": 46, "deploy": 46, "ci": 46, "reproduc": 46, "slight": 46, "comit": 46, "static": 46, "fix": [46, 47], "inspect": 46, "success": [46, 47, 49], "isort": 46, "black": 46, "mypi": 46, "pyproject": 46, "toml": 46, "flake8": 46, "manual": 46, "log_cli": 46, "pytest": 46, "action": 46, "workflow": 46, "html": 46, "jupyt": 46, "book": 46, "sphinx": 46, "_build": 46, "dry": 46, "js": [46, 47, 49], "angular": 46, "readm": 46, "md": 46, "4200": 46, "learn": [47, 48, 49, 50], "fork": [47, 48, 49], "133": [47, 48, 49], "tutorial2_model": [47, 49], "tutorial2_manifest": [47, 49], "subset": [47, 48, 49], "g36": [47, 49, 50], "guideline36": [47, 49], "712": 47, "mixed_air_temperature_sensor": [47, 49], "sz": [47, 49], "ahu": [47, 48, 49], "sa": [47, 49, 50], "fan": [47, 48, 49], "oa": [47, 49], "ra": [47, 49], "damper": [47, 48, 49, 50], "716": 47, "ma": [47, 49], "717": 47, "clg": [47, 48, 49], "signal": [47, 49], "htg": [47, 48, 49, 50], "718": 47, "temperatur": [47, 49], "sensor": [47, 49, 50], "720": 47, "damper_position_command": [47, 49, 50], "occupancy_sensor": [47, 49, 50], "721": 47, "frequency_command": [47, 49], "722": 47, "start_stop_command": [47, 49], "fan_statu": [47, 49], "valve_position_command": [47, 49], "726": 47, "discharge_air_temperature_sensor": [47, 49], "cool": [47, 48, 49], "731": 47, "dual": [47, 49], "duct": [47, 49], "termin": [47, 49, 50], "discharg": [47, 49], "hot": [47, 49], "deck": [47, 49], "cold": [47, 49], "discharge_air_flow_sensor": [47, 49], "735": 47, "operating_mode_statu": [47, 49], "inlet": [47, 49], "737": 47, "738": 47, "739": 47, "co2_level_sensor": [47, 49, 50], "supply_air_temperature_setpoint": [47, 49], "744": 47, "outside_air_temperature_sensor": [47, 49], "return_air_temperature_sensor": [47, 49], "745": 47, "box": [47, 49], "posit": [47, 49, 50], "747": 47, "switch": [47, 49], "airflow": [47, 49], "750": 47, "failur": [47, 49], "gather": [47, 49], "eas": [47, 49], "item": 47, "hostedtoolcach": [47, 49], "x64": [47, 49], "site": [47, 49], "extra": 47, "pyduktape2": [47, 49], "extra_nam": [47, 49], "req": [47, 49], "supply_fan": [47, 48, 49], "core_zn": [47, 48, 49], "psc_ac": [47, 48, 49], "minimum": [47, 49], "ve": [47, 49], "prompt": [47, 49], "closer": 47, "generated_templ": 47, "templ": [47, 50], "resolvecf9c9d18": 47, "resolvec84b83f8": 47, "p47": 47, "p46": 47, "p45": 47, "default6": 47, "fairli": 47, "loop": 47, "challeng": 47, "fact": 47, "advantag": [47, 48], "wtih": 47, "postfix": 47, "signific": 47, "highli": 47, "continu": 47, "ahu_nam": [47, 48, 49], "sensibl": 47, "supply_fan_nam": 47, "know": [47, 48, 49, 50], "explor": 47, "guidelin": [47, 49, 50], "destin": [47, 48, 49], "tutorial3_model": 47, "clg_coil": [47, 48], "htg_coil": [47, 48, 49], "cooling_coil": [47, 48, 49], "fanp45": 47, "fanp46": 47, "fanp47": 47, "748c763e": 47, "f370": 47, "4058": 47, "b8c2": 47, "ad418f9c0e2a": 47, "similar": 48, "small": [48, 49], "offic": [48, 49], "commerci": [48, 49], "prototyp": [48, 49], "reader": 48, "familiar": 48, "turtl": [48, 50], "persist": 48, "simplic": 48, "tell": 48, "syntact": 48, "reveal": 48, "coupl": [48, 49], "predic": 48, "soon": 48, "simpli": 48, "ten": 48, "warmest_zone_air_temperature_sensor": 48, "liquid_detection_alarm": 48, "intake_air_temperature_sensor": 48, "heating_start_stop_statu": 48, "min_speed_setpoint_limit": 48, "pm2": 48, "5_level_sensor": 48, "bypass_water_flow_setpoint": 48, "min_temperature_setpoint_limit": 48, "supply_water_temperature_proportional_band_paramet": 48, "outside_air_flow_setpoint": 48, "wrapper": 48, "manipul": 48, "whole": 48, "via": 48, "48976477": 48, "aaf8": 48, "4d94": 48, "a1cf": 48, "b44d05b00e93": 48, "These": [48, 49], "belong": 48, "my_graph": 48, "my_external_fil": 48, "raw": 48, "a1": 48, "air_handler_unit": 48, "touch": 48, "chill": 48, "water": 48, "air": [48, 49, 50], "ahu_templ": 48, "mandatori": 48, "understand": [48, 49], "psz_ac": 48, "condition": 48, "schedul": 48, "ahu_binding_dict": 48, "ahu_graph": 48, "oa_ra_damper_templ": 48, "fan_templ": 48, "clg_coil_templ": 48, "fan_nam": 48, "fan_binding_dict": 48, "fan_graph": 48, "outdoor": 48, "oa_ra_damper_nam": 48, "oa_ra_damper_binding_dict": 48, "oa_ra_damper_graph": 48, "clg_coil_nam": 48, "clg_coil_binding_dict": 48, "clg_coil_graph": 48, "confirm": [48, 49], "htg_coil_templ": [48, 49], "htg_coil_nam": [48, 49], "htg_coil_bind": [48, 49], "htg_coil_graph": [48, 49], "tutorial1_model": [48, 49], "energycod": 48, "tr": [48, 49], "readthedoc": 48, "feedback": 49, "thing": [49, 50], "correctli": 49, "languag": 49, "special": 49, "374": 49, "375": 49, "376": 49, "377": 49, "378": 49, "380": 49, "381": 49, "382": 49, "383": 49, "384": 49, "385": 49, "386": 49, "387": 49, "388": 49, "393": 49, "399": 49, "402": 49, "403": 49, "404": 49, "405": 49, "410": 49, "411": 49, "412": 49, "413": 49, "accord": 49, "suffic": 49, "my_site_constraint": 49, "exactcount": 49, "past": 49, "exercis": 49, "block": 49, "treat": [49, 50], "attributeerror": 49, "326": 49, "327": 49, "328": 49, "329": 49, "332": 49, "complain": 49, "why": 49, "care": 49, "top": [49, 50], "forgot": 49, "longer": 49, "system_specif": 49, "volum": [49, 50], "append": 49, "shown": 49, "offici": 49, "text": 49, "separ": 49, "invalid": 49, "technic": 49, "indivdu": 50, "reheat": 50, "variable_air_volume_box_with_reheat": 50, "flow": 50, "za": 50, "occ": 50, "hvac_zon": 50, "short": 50, "co": 50, "topolog": 50, "further": 50, "zoom": 50, "second": 50, "problem": 50, "dependeci": 50, "dmppo": 50, "sugar": 50, "togeth": 50, "cmd": 50, "among": 50, "principl": 50, "manufactur": 50, "profil": 50, "organiz": 50, "subsystem": 50}, "objects": {"": [[8, 0, 0, "-", "buildingmotif"]], "buildingmotif": [[9, 0, 0, "-", "api"], [15, 0, 0, "-", "building_motif"], [18, 0, 0, "-", "database"], [23, 0, 0, "-", "dataclasses"], [29, 0, 0, "-", "ingresses"], [36, 0, 0, "-", "libraries"], [37, 0, 0, "-", "namespaces"], [38, 0, 0, "-", "schemas"], [39, 0, 0, "-", "shape_builder"], [41, 0, 0, "-", "template_compilation"], [42, 0, 0, "-", "template_matcher"], [43, 0, 0, "-", "utils"]], "buildingmotif.api": [[10, 0, 0, "-", "app"], [11, 0, 0, "-", "views"]], "buildingmotif.api.app": [[10, 1, 1, "", "create_app"]], "buildingmotif.api.views": [[12, 0, 0, "-", "library"], [13, 0, 0, "-", "model"], [14, 0, 0, "-", "template"]], "buildingmotif.api.views.library": [[12, 1, 1, "", "get_all_libraries"], [12, 1, 1, "", "get_all_shapes"], [12, 1, 1, "", "get_library"]], "buildingmotif.api.views.model": [[13, 1, 1, "", "create_model"], [13, 1, 1, "", "get_all_models"], [13, 1, 1, "", "get_model"], [13, 1, 1, "", "get_model_graph"], [13, 1, 1, "", "get_target_nodes"], [13, 1, 1, "", "update_model_graph"], [13, 1, 1, "", "validate_model"], [13, 1, 1, "", "validate_shape"]], "buildingmotif.api.views.template": [[14, 1, 1, "", "evaluate_bindings"], [14, 1, 1, "", "evaluate_ingress"], [14, 1, 1, "", "get_all_templates"], [14, 1, 1, "", "get_bindings"], [14, 1, 1, "", "get_template"]], "buildingmotif.building_motif": [[16, 0, 0, "-", "building_motif"], [17, 0, 0, "-", "singleton"]], "buildingmotif.building_motif.building_motif": [[16, 2, 1, "", "BuildingMOTIF"], [16, 2, 1, "", "BuildingMotifEngine"], [16, 1, 1, "", "get_building_motif"]], "buildingmotif.building_motif.building_motif.BuildingMOTIF": [[16, 3, 1, "", "clean"], [16, 3, 1, "", "close"], [16, 4, 1, "", "session"], [16, 3, 1, "", "setup_logging"], [16, 3, 1, "", "setup_tables"]], "buildingmotif.building_motif.building_motif.BuildingMotifEngine": [[16, 3, 1, "", "begin"], [16, 3, 1, "", "connect"]], "buildingmotif.building_motif.singleton": [[17, 2, 1, "", "Singleton"], [17, 5, 1, "", "SingletonNotInstantiatedException"]], "buildingmotif.database": [[19, 0, 0, "-", "graph_connection"], [20, 0, 0, "-", "table_connection"], [21, 0, 0, "-", "tables"], [22, 0, 0, "-", "utils"]], "buildingmotif.database.graph_connection": [[19, 2, 1, "", "GraphConnection"]], "buildingmotif.database.graph_connection.GraphConnection": [[19, 3, 1, "", "create_graph"], [19, 3, 1, "", "delete_graph"], [19, 3, 1, "", "get_all_graph_identifiers"], [19, 3, 1, "", "get_graph"]], "buildingmotif.database.table_connection": [[20, 2, 1, "", "TableConnection"]], "buildingmotif.database.table_connection.TableConnection": [[20, 3, 1, "", "add_template_dependency_preliminary"], [20, 3, 1, "", "check_all_template_dependencies"], [20, 3, 1, "", "check_template_dependency_relationship"], [20, 3, 1, "", "create_db_library"], [20, 3, 1, "", "create_db_model"], [20, 3, 1, "", "create_db_shape_collection"], [20, 3, 1, "", "create_db_template"], [20, 3, 1, "", "delete_db_library"], [20, 3, 1, "", "delete_db_model"], [20, 3, 1, "", "delete_db_shape_collection"], [20, 3, 1, "", "delete_db_template"], [20, 3, 1, "", "delete_template_dependency"], [20, 3, 1, "", "get_all_db_libraries"], [20, 3, 1, "", "get_all_db_models"], [20, 3, 1, "", "get_all_db_shape_collections"], [20, 3, 1, "", "get_all_db_templates"], [20, 3, 1, "", "get_db_library"], [20, 3, 1, "", "get_db_library_by_name"], [20, 3, 1, "", "get_db_model"], [20, 3, 1, "", "get_db_model_by_name"], [20, 3, 1, "", "get_db_shape_collection"], [20, 3, 1, "", "get_db_template"], [20, 3, 1, "", "get_db_template_by_name"], [20, 3, 1, "", "get_db_template_dependencies"], [20, 3, 1, "", "get_library_defining_db_template"], [20, 3, 1, "", "update_db_library_name"], [20, 3, 1, "", "update_db_model_description"], [20, 3, 1, "", "update_db_model_name"], [20, 3, 1, "", "update_db_template_library"], [20, 3, 1, "", "update_db_template_name"], [20, 3, 1, "", "update_db_template_optional_args"]], "buildingmotif.database.tables": [[21, 2, 1, "", "DBLibrary"], [21, 2, 1, "", "DBModel"], [21, 2, 1, "", "DBShapeCollection"], [21, 2, 1, "", "DBTemplate"], [21, 2, 1, "", "DepsAssociation"]], "buildingmotif.database.tables.DBLibrary": [[21, 6, 1, "", "id"], [21, 6, 1, "", "name"], [21, 6, 1, "", "shape_collection"], [21, 6, 1, "", "shape_collection_id"], [21, 6, 1, "", "templates"]], "buildingmotif.database.tables.DBModel": [[21, 6, 1, "", "description"], [21, 6, 1, "", "graph_id"], [21, 6, 1, "", "id"], [21, 6, 1, "", "manifest"], [21, 6, 1, "", "manifest_id"], [21, 6, 1, "", "name"]], "buildingmotif.database.tables.DBShapeCollection": [[21, 6, 1, "", "graph_id"], [21, 6, 1, "", "id"]], "buildingmotif.database.tables.DBTemplate": [[21, 6, 1, "", "body_id"], [21, 6, 1, "", "dependants"], [21, 6, 1, "", "dependencies"], [21, 6, 1, "", "id"], [21, 6, 1, "", "library"], [21, 6, 1, "", "library_id"], [21, 6, 1, "", "name"], [21, 6, 1, "", "optional_args"]], "buildingmotif.database.tables.DepsAssociation": [[21, 6, 1, "", "args"], [21, 6, 1, "", "dependant_id"], [21, 6, 1, "", "dependee_id"], [21, 6, 1, "", "id"]], "buildingmotif.database.utils": [[22, 2, 1, "", "JSONType"]], "buildingmotif.database.utils.JSONType": [[22, 6, 1, "", "cache_ok"], [22, 6, 1, "", "hashable"], [22, 6, 1, "", "impl"], [22, 3, 1, "", "load_dialect_impl"]], "buildingmotif.dataclasses": [[24, 0, 0, "-", "library"], [25, 0, 0, "-", "model"], [26, 0, 0, "-", "shape_collection"], [27, 0, 0, "-", "template"], [28, 0, 0, "-", "validation"]], "buildingmotif.dataclasses.library": [[24, 2, 1, "", "Library"]], "buildingmotif.dataclasses.library.Library": [[24, 3, 1, "", "create"], [24, 3, 1, "", "create_template"], [24, 3, 1, "", "get_shape_collection"], [24, 3, 1, "", "get_template_by_name"], [24, 3, 1, "", "get_templates"], [24, 4, 1, "", "id"], [24, 3, 1, "", "load"], [24, 3, 1, "", "load_from_libraries_yml"], [24, 4, 1, "", "name"]], "buildingmotif.dataclasses.model": [[25, 2, 1, "", "Model"]], "buildingmotif.dataclasses.model.Model": [[25, 3, 1, "", "add_graph"], [25, 3, 1, "", "add_triples"], [25, 3, 1, "", "compile"], [25, 3, 1, "", "create"], [25, 4, 1, "", "description"], [25, 3, 1, "", "get_manifest"], [25, 6, 1, "", "graph"], [25, 4, 1, "", "id"], [25, 3, 1, "", "load"], [25, 4, 1, "", "name"], [25, 3, 1, "", "test_model_against_shapes"], [25, 3, 1, "", "update_manifest"], [25, 3, 1, "", "validate"]], "buildingmotif.dataclasses.shape_collection": [[26, 2, 1, "", "ShapeCollection"]], "buildingmotif.dataclasses.shape_collection.ShapeCollection": [[26, 3, 1, "", "add_graph"], [26, 3, 1, "", "add_triples"], [26, 3, 1, "", "create"], [26, 3, 1, "", "get_shapes_about_class"], [26, 3, 1, "", "get_shapes_of_definition_type"], [26, 3, 1, "", "get_shapes_of_domain"], [26, 6, 1, "", "graph"], [26, 4, 1, "", "graph_name"], [26, 4, 1, "", "id"], [26, 3, 1, "", "load"], [26, 3, 1, "", "resolve_imports"], [26, 3, 1, "", "shape_to_query"]], "buildingmotif.dataclasses.template": [[27, 2, 1, "", "Dependency"], [27, 2, 1, "", "Template"]], "buildingmotif.dataclasses.template.Dependency": [[27, 6, 1, "", "args"], [27, 4, 1, "", "template"], [27, 4, 1, "", "template_id"]], "buildingmotif.dataclasses.template.Template": [[27, 3, 1, "", "add_dependency"], [27, 4, 1, "", "all_parameters"], [27, 6, 1, "", "body"], [27, 3, 1, "", "check_dependencies"], [27, 4, 1, "", "defining_library"], [27, 3, 1, "", "dependency_for_parameter"], [27, 4, 1, "", "dependency_parameters"], [27, 3, 1, "", "evaluate"], [27, 3, 1, "", "fill"], [27, 3, 1, "", "find_subgraphs"], [27, 3, 1, "", "generate_csv"], [27, 3, 1, "", "generate_spreadsheet"], [27, 3, 1, "", "get_dependencies"], [27, 4, 1, "", "id"], [27, 3, 1, "", "in_memory_copy"], [27, 3, 1, "", "inline_dependencies"], [27, 3, 1, "", "library_dependencies"], [27, 3, 1, "", "load"], [27, 4, 1, "", "name"], [27, 6, 1, "", "optional_args"], [27, 4, 1, "", "parameter_counts"], [27, 4, 1, "", "parameters"], [27, 3, 1, "", "remove_dependency"], [27, 3, 1, "", "to_inline"]], "buildingmotif.dataclasses.validation": [[28, 2, 1, "", "GraphClassCardinality"], [28, 2, 1, "", "GraphDiff"], [28, 2, 1, "", "PathClassCount"], [28, 2, 1, "", "PathShapeCount"], [28, 2, 1, "", "RequiredClass"], [28, 2, 1, "", "RequiredPath"], [28, 2, 1, "", "ValidationContext"], [28, 1, 1, "", "diffset_to_templates"]], "buildingmotif.dataclasses.validation.GraphClassCardinality": [[28, 6, 1, "", "classname"], [28, 6, 1, "", "expectedCount"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.GraphDiff": [[28, 4, 1, "", "failed_component"], [28, 4, 1, "", "failed_shape"], [28, 6, 1, "", "focus"], [28, 6, 1, "", "graph"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"], [28, 6, 1, "", "validation_result"]], "buildingmotif.dataclasses.validation.PathClassCount": [[28, 6, 1, "", "classname"], [28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.PathShapeCount": [[28, 6, 1, "", "extra_body"], [28, 6, 1, "", "extra_deps"], [28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"], [28, 6, 1, "", "shapename"]], "buildingmotif.dataclasses.validation.RequiredClass": [[28, 6, 1, "", "classname"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.RequiredPath": [[28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.ValidationContext": [[28, 3, 1, "", "as_templates"], [28, 4, 1, "", "diffset"], [28, 3, 1, "", "get_reasons_with_severity"], [28, 6, 1, "", "model"], [28, 6, 1, "", "report"], [28, 6, 1, "", "report_string"], [28, 6, 1, "", "shape_collections"], [28, 6, 1, "", "valid"]], "buildingmotif.ingresses": [[30, 0, 0, "-", "bacnet"], [31, 0, 0, "-", "base"], [32, 0, 0, "-", "brick"], [33, 0, 0, "-", "csv"], [34, 0, 0, "-", "template"], [35, 0, 0, "-", "xlsx"]], "buildingmotif.ingresses.bacnet": [[30, 2, 1, "", "BACnetNetwork"]], "buildingmotif.ingresses.bacnet.BACnetNetwork": [[30, 4, 1, "", "records"]], "buildingmotif.ingresses.base": [[31, 2, 1, "", "GraphIngressHandler"], [31, 2, 1, "", "IngressHandler"], [31, 2, 1, "", "Record"], [31, 2, 1, "", "RecordIngressHandler"]], "buildingmotif.ingresses.base.GraphIngressHandler": [[31, 3, 1, "", "graph"]], "buildingmotif.ingresses.base.Record": [[31, 6, 1, "", "fields"], [31, 6, 1, "", "rtype"]], "buildingmotif.ingresses.base.RecordIngressHandler": [[31, 3, 1, "", "dump"], [31, 3, 1, "", "dumps"], [31, 3, 1, "", "load"], [31, 3, 1, "", "loads"], [31, 4, 1, "", "records"]], "buildingmotif.ingresses.brick": [[32, 2, 1, "", "BACnetToBrickIngress"]], "buildingmotif.ingresses.brick.BACnetToBrickIngress": [[32, 6, 1, "", "BNS"], [32, 3, 1, "", "graph"]], "buildingmotif.ingresses.csv": [[33, 2, 1, "", "CSVIngress"]], "buildingmotif.ingresses.csv.CSVIngress": [[33, 4, 1, "", "records"]], "buildingmotif.ingresses.template": [[34, 2, 1, "", "TemplateIngress"], [34, 2, 1, "", "TemplateIngressWithChooser"]], "buildingmotif.ingresses.template.TemplateIngress": [[34, 3, 1, "", "graph"]], "buildingmotif.ingresses.template.TemplateIngressWithChooser": [[34, 3, 1, "", "graph"]], "buildingmotif.ingresses.xlsx": [[35, 2, 1, "", "XLSXIngress"]], "buildingmotif.ingresses.xlsx.XLSXIngress": [[35, 4, 1, "", "records"]], "buildingmotif.namespaces": [[37, 1, 1, "", "bind_prefixes"]], "buildingmotif.schemas": [[38, 1, 1, "", "validate_libraries_yaml"]], "buildingmotif.shape_builder": [[40, 0, 0, "-", "shape"]], "buildingmotif.shape_builder.shape": [[40, 1, 1, "", "AND"], [40, 1, 1, "", "NOT"], [40, 2, 1, "", "NodeShape"], [40, 1, 1, "", "OR"], [40, 2, 1, "", "PropertyShape"], [40, 2, 1, "", "Shape"], [40, 1, 1, "", "XONE"]], "buildingmotif.shape_builder.shape.NodeShape": [[40, 3, 1, "", "always_run"], [40, 3, 1, "", "count"], [40, 3, 1, "", "has_property"], [40, 3, 1, "", "of_class"]], "buildingmotif.shape_builder.shape.PropertyShape": [[40, 3, 1, "", "has_path"], [40, 3, 1, "", "matches"], [40, 3, 1, "", "matches_class"], [40, 3, 1, "", "matches_shape"]], "buildingmotif.shape_builder.shape.Shape": [[40, 3, 1, "", "AND"], [40, 3, 1, "", "NOT"], [40, 3, 1, "", "OR"], [40, 3, 1, "", "XONE"], [40, 3, 1, "", "add"], [40, 3, 1, "", "add_list_property"], [40, 3, 1, "", "add_property"]], "buildingmotif.template_compilation": [[41, 7, 1, "", "RULES"], [41, 1, 1, "", "bacnet"], [41, 1, 1, "", "body"], [41, 1, 1, "", "compile_template_spec"], [41, 1, 1, "", "feeds"], [41, 1, 1, "", "hasType"], [41, 1, 1, "", "isFedBy"], [41, 1, 1, "", "parts"], [41, 1, 1, "", "points"], [41, 1, 1, "", "rule"]], "buildingmotif.template_matcher": [[42, 2, 1, "", "TemplateMatcher"], [42, 1, 1, "", "digraph_to_rdflib"], [42, 1, 1, "", "generate_all_subgraphs"], [42, 1, 1, "", "get_semantic_feasibility"]], "buildingmotif.template_matcher.TemplateMatcher": [[42, 3, 1, "", "add_mapping"], [42, 6, 1, "", "building"], [42, 3, 1, "", "building_mapping_subgraphs_iter"], [42, 3, 1, "", "building_subgraph_from_mapping"], [42, 4, 1, "", "largest_mapping_size"], [42, 6, 1, "", "mappings"], [42, 3, 1, "", "mappings_iter"], [42, 3, 1, "", "remaining_template"], [42, 3, 1, "", "remaining_template_graph"], [42, 6, 1, "", "template"], [42, 6, 1, "", "template_bindings"], [42, 6, 1, "", "template_graph"], [42, 3, 1, "", "template_subgraph_from_mapping"]], "buildingmotif.utils": [[43, 1, 1, "", "combine_graphs"], [43, 1, 1, "", "copy_graph"], [43, 1, 1, "", "get_ontology_files"], [43, 1, 1, "", "get_parameters"], [43, 1, 1, "", "get_template_parts_from_shape"], [43, 1, 1, "", "graph_size"], [43, 1, 1, "", "inline_sh_nodes"], [43, 1, 1, "", "new_temporary_graph"], [43, 1, 1, "", "remove_triples_with_node"], [43, 1, 1, "", "replace_nodes"], [43, 1, 1, "", "rewrite_shape_graph"], [43, 1, 1, "", "shacl_inference"], [43, 1, 1, "", "shacl_validate"], [43, 1, 1, "", "skip_uri"], [43, 1, 1, "", "template_to_shape"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:attribute", "7": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "exception", "Python exception"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "data", "Python data"]}, "titleterms": {"buildingmotif": [0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "document": [0, 44, 46], "refer": 0, "tutori": 0, "guid": 0, "explan": 0, "appendix": 0, "bibliographi": 1, "ingress": [2, 29, 30, 31, 32, 33, 34, 35], "type": [2, 7], "record": 2, "handler": 2, "graph": [2, 48], "us": [2, 46, 49], "built": 2, "bacnet": [2, 7, 30, 45], "network": [2, 7], "csv": [2, 5, 33], "file": 2, "xlsx": [2, 35], "spreadsheet": 2, "templat": [2, 4, 14, 27, 34, 47, 48, 50], "instanti": 2, "exampl": [2, 4], "brick": [2, 7, 32], "import": [2, 5, 48], "shacl": [3, 6], "sparql": [3, 6], "convers": 3, "shape": [3, 4, 6, 40, 49], "queri": [3, 6], "algorithm": 3, "select": 3, "claus": 3, "gener": [3, 6], "where": 3, "convert": 4, "support": 6, "featur": 6, "setup": [6, 7, 47, 49], "find": [6, 49], "from": 6, "extern": 7, "pull": 7, "metadata": 7, "an": 7, "initi": 7, "model": [7, 13, 25, 47, 48, 49], "augment": 7, "our": 7, "strategi": 7, "point": 7, "infer": 7, "api": [9, 10, 11, 12, 13, 14, 45], "app": [10, 46], "view": [11, 12, 13, 14], "librari": [12, 24, 36, 45, 48], "building_motif": [15, 16, 17], "singleton": 17, "databas": [18, 19, 20, 21, 22, 46], "graph_connect": 19, "table_connect": 20, "tabl": 21, "util": [22, 43], "dataclass": [23, 24, 25, 26, 27, 28], "shape_collect": 26, "valid": [28, 47, 49], "base": 31, "namespac": 37, "schema": 38, "shape_build": [39, 40], "template_compil": 41, "template_match": 42, "code": 44, "command": 45, "line": 45, "interfac": 45, "load": [45, 48], "cli": 45, "usag": 45, "bulk": 45, "directori": 45, "ontolog": [45, 49], "git": 45, "repositori": 45, "individu": [45, 48], "scan": 45, "server": 45, "develop": 46, "instal": 46, "postgr": 46, "continu": 46, "integr": 46, "local": 46, "remot": 46, "build": 46, "publish": 46, "web": 46, "run": 46, "docker": 46, "correct": 47, "creation": 48, "creat": 48, "ad": [48, 49, 50], "manual": 48, "rdf": 48, "tripl": 48, "Into": 48, "explor": 48, "evalu": 48, "manifest": 49, "write": [49, 50], "tip": 49, "suppli": 49, "extra": 49, "collect": 49, "fix": 49, "case": 49, "part": 50, "bodi": 50, "option": 50, "depend": 50, "save": 50, "organ": 50}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "bibliography", "explanations/ingresses", "explanations/shacl_to_sparql", "explanations/shapes-and-templates", "guides/csv-import", "guides/generating-queries", "guides/ingress-bacnet-to-brick", "reference/apidoc/_autosummary/buildingmotif", "reference/apidoc/_autosummary/buildingmotif.api", "reference/apidoc/_autosummary/buildingmotif.api.app", "reference/apidoc/_autosummary/buildingmotif.api.views", "reference/apidoc/_autosummary/buildingmotif.api.views.library", "reference/apidoc/_autosummary/buildingmotif.api.views.model", "reference/apidoc/_autosummary/buildingmotif.api.views.template", "reference/apidoc/_autosummary/buildingmotif.building_motif", "reference/apidoc/_autosummary/buildingmotif.building_motif.building_motif", "reference/apidoc/_autosummary/buildingmotif.building_motif.singleton", "reference/apidoc/_autosummary/buildingmotif.database", "reference/apidoc/_autosummary/buildingmotif.database.graph_connection", "reference/apidoc/_autosummary/buildingmotif.database.table_connection", "reference/apidoc/_autosummary/buildingmotif.database.tables", "reference/apidoc/_autosummary/buildingmotif.database.utils", "reference/apidoc/_autosummary/buildingmotif.dataclasses", "reference/apidoc/_autosummary/buildingmotif.dataclasses.library", "reference/apidoc/_autosummary/buildingmotif.dataclasses.model", "reference/apidoc/_autosummary/buildingmotif.dataclasses.shape_collection", "reference/apidoc/_autosummary/buildingmotif.dataclasses.template", "reference/apidoc/_autosummary/buildingmotif.dataclasses.validation", "reference/apidoc/_autosummary/buildingmotif.ingresses", "reference/apidoc/_autosummary/buildingmotif.ingresses.bacnet", "reference/apidoc/_autosummary/buildingmotif.ingresses.base", "reference/apidoc/_autosummary/buildingmotif.ingresses.brick", "reference/apidoc/_autosummary/buildingmotif.ingresses.csv", "reference/apidoc/_autosummary/buildingmotif.ingresses.template", "reference/apidoc/_autosummary/buildingmotif.ingresses.xlsx", "reference/apidoc/_autosummary/buildingmotif.libraries", "reference/apidoc/_autosummary/buildingmotif.namespaces", "reference/apidoc/_autosummary/buildingmotif.schemas", "reference/apidoc/_autosummary/buildingmotif.shape_builder", "reference/apidoc/_autosummary/buildingmotif.shape_builder.shape", "reference/apidoc/_autosummary/buildingmotif.template_compilation", "reference/apidoc/_autosummary/buildingmotif.template_matcher", "reference/apidoc/_autosummary/buildingmotif.utils", "reference/apidoc/index", "reference/cli_tool", "reference/developer_documentation", "tutorials/model_correction", "tutorials/model_creation", "tutorials/model_validation", "tutorials/template_writing"], "filenames": ["README.md", "bibliography.md", "explanations/ingresses.md", "explanations/shacl_to_sparql.md", "explanations/shapes-and-templates.md", "guides/csv-import.md", "guides/generating-queries.md", "guides/ingress-bacnet-to-brick.md", "reference/apidoc/_autosummary/buildingmotif.rst", "reference/apidoc/_autosummary/buildingmotif.api.rst", "reference/apidoc/_autosummary/buildingmotif.api.app.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.library.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.model.rst", "reference/apidoc/_autosummary/buildingmotif.api.views.template.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.building_motif.rst", "reference/apidoc/_autosummary/buildingmotif.building_motif.singleton.rst", "reference/apidoc/_autosummary/buildingmotif.database.rst", "reference/apidoc/_autosummary/buildingmotif.database.graph_connection.rst", "reference/apidoc/_autosummary/buildingmotif.database.table_connection.rst", "reference/apidoc/_autosummary/buildingmotif.database.tables.rst", "reference/apidoc/_autosummary/buildingmotif.database.utils.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.library.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.model.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.shape_collection.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.template.rst", "reference/apidoc/_autosummary/buildingmotif.dataclasses.validation.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.bacnet.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.base.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.brick.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.csv.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.template.rst", "reference/apidoc/_autosummary/buildingmotif.ingresses.xlsx.rst", "reference/apidoc/_autosummary/buildingmotif.libraries.rst", "reference/apidoc/_autosummary/buildingmotif.namespaces.rst", "reference/apidoc/_autosummary/buildingmotif.schemas.rst", "reference/apidoc/_autosummary/buildingmotif.shape_builder.rst", "reference/apidoc/_autosummary/buildingmotif.shape_builder.shape.rst", "reference/apidoc/_autosummary/buildingmotif.template_compilation.rst", "reference/apidoc/_autosummary/buildingmotif.template_matcher.rst", "reference/apidoc/_autosummary/buildingmotif.utils.rst", "reference/apidoc/index.rst", "reference/cli_tool.md", "reference/developer_documentation.md", "tutorials/model_correction.md", "tutorials/model_creation.md", "tutorials/model_validation.md", "tutorials/template_writing.ipynb"], "titles": ["BuildingMOTIF", "Bibliography", "Ingresses", "SHACL to SPARQL Conversion", "Shapes and Templates", "CSV Import", "Generating SPARQL Queries", "BACnet to Brick", "buildingmotif", "buildingmotif.api", "buildingmotif.api.app", "buildingmotif.api.views", "buildingmotif.api.views.library", "buildingmotif.api.views.model", "buildingmotif.api.views.template", "buildingmotif.building_motif", "buildingmotif.building_motif.building_motif", "buildingmotif.building_motif.singleton", "buildingmotif.database", "buildingmotif.database.graph_connection", "buildingmotif.database.table_connection", "buildingmotif.database.tables", "buildingmotif.database.utils", "buildingmotif.dataclasses", "buildingmotif.dataclasses.library", "buildingmotif.dataclasses.model", "buildingmotif.dataclasses.shape_collection", "buildingmotif.dataclasses.template", "buildingmotif.dataclasses.validation", "buildingmotif.ingresses", "buildingmotif.ingresses.bacnet", "buildingmotif.ingresses.base", "buildingmotif.ingresses.brick", "buildingmotif.ingresses.csv", "buildingmotif.ingresses.template", "buildingmotif.ingresses.xlsx", "buildingmotif.libraries", "buildingmotif.namespaces", "buildingmotif.schemas", "buildingmotif.shape_builder", "buildingmotif.shape_builder.shape", "buildingmotif.template_compilation", "buildingmotif.template_matcher", "buildingmotif.utils", "Code Documentation", "Command Line Interface", "Developer Documentation", "Model Correction", "Model Creation", "Model Validation", "Template Writing"], "terms": {"enabl": [0, 16, 49], "technolog": 0, "semant": [0, 1, 42, 48, 49], "interoper": 0, "build": [0, 1, 7, 21, 42, 47, 48, 49], "through": [0, 3, 47, 48, 50], "standard": [0, 41, 49], "metadata": [0, 1, 2, 3, 4, 6, 21, 31, 45, 48, 49], "crucial": 0, "unlock": 0, "valu": [0, 2, 3, 6, 7, 14, 20, 22, 26, 28, 30, 35, 38, 41, 45, 47, 48, 50], "abund": 0, "divers": 0, "network": [0, 30, 32, 45, 47], "data": [0, 2, 4, 5, 6, 7, 16, 31, 33, 43, 48], "avoid": [0, 27], "subsequ": 0, "incompat": 0, "issu": [0, 6, 16, 20, 27], "pave": 0, "wai": [0, 4, 7, 22, 45, 48], "advanc": 0, "like": [0, 2, 5, 6, 7, 28, 47, 48, 49, 50], "fault": 0, "detect": [0, 43], "diagnost": 0, "fdd": 0, "real": [0, 7, 47, 48], "time": [0, 22], "energi": [0, 1], "optim": 0, "other": [0, 2, 4, 6, 7, 20, 22, 41, 42, 48, 49, 50], "manag": [0, 7, 16, 19, 47], "inform": [0, 3, 4, 6, 7, 26, 28, 42, 45, 46, 47, 49], "system": [0, 1, 7, 47, 48, 49, 50], "emi": 0, "improv": 0, "hvac": [0, 49], "control": [0, 20, 49], "grid": 0, "integr": 0, "effici": [0, 1], "geb": 0, "all": [0, 2, 4, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 31, 32, 34, 35, 42, 43, 45, 48, 49, 50], "which": [0, 2, 4, 5, 6, 7, 21, 22, 25, 26, 27, 34, 40, 45, 46, 47, 48, 49, 50], "ar": [0, 2, 3, 4, 6, 7, 16, 20, 21, 22, 25, 26, 27, 28, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50], "need": [0, 6, 7, 20, 22, 24, 25, 26, 46, 47, 48, 49], "fulli": [0, 42], "de": 0, "carbon": 0, "util": [0, 4, 7, 45], "capabl": 0, "web": 0, "possibl": [0, 46, 48], "structur": [0, 2, 7, 22, 26, 41, 43, 48, 49, 50], "express": [0, 7, 22, 30], "machin": [0, 7, 25], "readabl": [0, 28], "same": [0, 2, 6, 7, 22, 42, 43, 45, 46, 47, 50], "veri": [0, 7, 49], "import": [0, 4, 6, 7, 20, 26, 43, 46, 47, 49, 50], "make": [0, 4, 6, 7, 17, 43, 45, 46, 47, 48, 49], "easier": [0, 6, 7, 46, 47, 48, 49], "implement": [0, 4, 7, 22], "field": [0, 2, 7, 30, 31, 35, 41], "practition": 0, "without": [0, 17, 19, 22, 27, 46, 48], "knowledg": [0, 7], "comput": [0, 1, 2, 42], "scienc": 0, "ontolog": [0, 4, 6, 7, 24, 25, 26, 27, 42, 43, 47, 48, 50], "framework": [0, 48], "bridg": 0, "gap": 0, "between": [0, 2, 7, 20, 21, 28, 42, 47], "theori": 0, "practic": [0, 48], "offer": 0, "toolset": 0, "creation": [0, 1, 7], "storag": 0, "visual": 0, "valid": [0, 3, 4, 6, 20, 21, 25, 27, 38, 43, 45, 48], "It": [0, 7, 22, 27, 47, 48, 49], "form": [0, 20], "sdk": 0, "easi": [0, 7, 48], "us": [0, 3, 4, 5, 6, 7, 16, 20, 21, 22, 25, 26, 27, 34, 41, 42, 43, 45, 47, 48, 50], "api": [0, 2, 46], "abstract": [0, 2, 28, 31], "underli": [0, 2, 16, 31, 33, 48], "complex": [0, 48], "rdf": [0, 2, 3, 4, 6, 7, 24, 26, 27, 31, 32, 34, 42, 43, 45, 49, 50], "graph": [0, 3, 4, 5, 6, 7, 13, 16, 19, 20, 24, 25, 26, 27, 28, 31, 32, 34, 37, 41, 42, 43, 45, 47, 49, 50], "databas": [0, 7, 10, 16, 24, 25, 26, 27, 45, 48], "shacl": [0, 4, 26, 28, 43, 49], "differ": [0, 2, 3, 7, 22, 28, 46, 49, 50], "schema": [0, 4, 5, 6, 7, 47, 48, 49, 50], "also": [0, 2, 3, 6, 7, 22, 47, 48, 49, 50], "support": [0, 3, 7, 20, 24, 47, 48], "connector": 0, "exist": [0, 3, 7, 20, 24, 26, 27, 47, 50], "sourc": [0, 2, 10, 12, 13, 14, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 46, 47, 48], "e": [0, 2, 3, 4, 6, 7, 25, 26, 46, 47, 48], "g": [0, 2, 3, 4, 6, 7, 42, 43, 46, 48], "autom": [0, 47, 48], "design": 0, "model": [0, 1, 3, 5, 6, 20, 21, 27, 28, 32, 45, 50], "etc": [0, 2, 7, 48, 49, 50], "avail": [0, 43, 45, 47, 48, 49], "phase": 0, "life": 0, "cycl": 0, "The": [0, 2, 3, 4, 5, 6, 7, 20, 22, 27, 28, 30, 33, 35, 42, 43, 45, 46, 47, 48, 49, 50], "object": [0, 2, 6, 7, 20, 22, 24, 25, 27, 28, 30, 40, 43, 48, 49, 50], "1": [0, 2, 4, 5, 6, 7, 22, 26, 42, 45, 46, 47, 48, 49, 50], "lower": 0, "cost": 0, "reduc": 0, "instal": [0, 7, 25, 45, 47, 48, 49], "deliv": 0, "qualiti": 0, "servic": [0, 7], "owner": 0, "occup": [0, 47, 49, 50], "2": [0, 6, 7, 42, 45, 47, 48, 49, 50], "simpler": 0, "more": [0, 3, 7, 40, 41, 43, 46, 49, 50], "easili": [0, 2], "verifi": [0, 20, 27], "procur": 0, "process": [0, 7, 20, 28, 42, 43, 45, 46, 47, 48, 49], "product": [0, 46], "3": [0, 5, 6, 7, 45, 46, 47, 48, 49, 50], "open": [0, 4, 7, 49], "new": [0, 1, 2, 7, 13, 20, 22, 24, 25, 26, 27, 31, 41, 43, 46, 47, 48, 49], "busi": 0, "opportun": 0, "provid": [0, 2, 3, 4, 7, 22, 25, 27, 42, 45, 48, 49, 50], "remov": [0, 7, 27, 43, 50], "barrier": 0, "parti": 0, "current": [0, 3, 4, 6, 7, 45, 47, 48, 49], "plan": 0, "brick": [0, 3, 4, 5, 6, 45, 47, 48, 49, 50], "project": [0, 46], "haystack": 0, "upcom": 0, "ashra": [0, 4, 7, 45, 47, 49, 50], "223p": [0, 45, 50], "both": [0, 4, 6, 22, 42, 49], "ui": 0, "level": [0, 3, 16, 26, 47, 49, 50], "expertis": 0, "user": [0, 7, 22, 41, 46, 48], "maximum": 0, "adopt": 0, "diataxi": 0, "its": [0, 4, 6, 20, 22, 27, 49, 50], "organ": [0, 42, 49], "follow": [0, 3, 4, 5, 6, 7, 26, 42, 43, 46, 48, 49, 50], "section": [0, 7, 49, 50], "develop": 0, "command": [0, 7, 46, 50], "line": [0, 5, 6, 22, 49], "interfac": [0, 7], "code": [0, 4, 6, 7, 47, 48, 49], "correct": [0, 46, 48, 49], "templat": [0, 5, 7, 20, 21, 24, 28, 41, 42, 43, 45, 49], "write": [0, 4, 6, 7, 27, 31, 47, 48], "csv": [0, 27], "from": [0, 2, 3, 4, 5, 7, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 38, 41, 43, 45, 46, 47, 48, 49, 50], "bacnet": [0, 4, 32, 41, 47], "ingress": [0, 5, 7, 27, 45, 48], "bibiographi": 0, "http": [0, 1, 4, 5, 6, 7, 45, 46, 47, 48, 49, 50], "fr": [0, 7], "gabe": 1, "fierro": 1, "avijit": 1, "saha": 1, "tobia": 1, "shapinski": 1, "matthew": 1, "steen": 1, "hannah": 1, "esling": 1, "applic": [1, 2, 3, 6, 7, 49, 50], "driven": 1, "suffici": [1, 6, 49], "In": [1, 4, 6, 7, 45, 46, 47, 49], "proceed": 1, "9th": 1, "acm": 1, "intern": [1, 7, 49], "confer": 1, "citi": 1, "transport": 1, "buildsi": 1, "22": [1, 6, 7], "228": 1, "237": [1, 7], "york": 1, "ny": 1, "usa": 1, "2022": 1, "associ": [1, 3, 7, 30, 37, 41, 47, 49, 50], "machineri": 1, "url": [1, 24, 45, 48], "doi": 1, "org": [1, 4, 5, 6, 7, 47, 48, 49, 50], "10": [1, 2, 7, 22, 48], "1145": 1, "3563357": 1, "3564083": 1, "buildingmotif": [2, 3, 4, 5, 6, 46, 47, 48, 49, 50], "s": [2, 6, 7, 20, 22, 24, 25, 27, 31, 43, 47, 48, 49, 50], "mechan": [2, 7, 45], "extern": [2, 24, 47], "deliber": 2, "gener": [2, 4, 5, 7, 21, 22, 25, 27, 28, 31, 32, 33, 34, 41, 42, 45, 46, 47, 48, 49, 50], "so": [2, 5, 7, 43, 46, 47, 49], "thei": [2, 22, 24, 25, 26, 34, 41, 42, 45, 47, 50], "can": [2, 4, 5, 6, 7, 20, 22, 26, 27, 28, 40, 41, 45, 46, 47, 48, 49, 50], "extend": [2, 7], "ingresshandl": [2, 31], "ha": [2, 3, 4, 7, 16, 19, 20, 25, 28, 40, 47, 48, 49, 50], "two": [2, 20, 22, 42, 45, 50], "subclass": [2, 42], "recordingresshandl": [2, 31, 32, 34], "produc": [2, 7, 22, 27, 28, 34, 42, 50], "graphingresshandl": [2, 7, 31], "everi": [2, 22], "concret": 2, "should": [2, 22, 25, 28, 34, 40, 43, 45, 46, 48, 49, 50], "inherit": 2, "one": [2, 3, 24, 26, 27, 40, 42, 43, 49, 50], "class": [2, 3, 4, 5, 6, 7, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 40, 42, 43, 45, 47, 48, 49], "defin": [2, 3, 4, 7, 20, 27, 41, 48, 49, 50], "method": [2, 3, 4, 7, 20, 22, 24, 25, 26, 43, 48, 49], "list": [2, 7, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 35, 40, 41, 42, 43, 45, 47, 49, 50], "A": [2, 21, 35, 48, 49, 50], "simpl": [2, 6, 7, 47, 48, 49, 50], "python": [2, 7, 22, 41, 46, 47, 48, 49], "dataclass": [2, 4, 5, 6, 7, 20, 47, 48, 49, 50], "hint": 2, "identifi": [2, 6, 7, 19, 20, 27, 40, 43, 47, 48, 50], "an": [2, 3, 4, 5, 6, 16, 20, 22, 24, 25, 26, 27, 28, 31, 33, 34, 40, 42, 45, 47, 48, 49, 50], "categori": 2, "rtype": [2, 7, 30, 31, 35], "str": [2, 7, 10, 14, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 33, 34, 40, 41, 42, 43], "kei": [2, 7, 20, 22, 30, 35, 45, 48, 50], "pair": [2, 7, 35], "dict": [2, 14, 20, 21, 22, 25, 27, 28, 31, 41, 42, 43], "choic": [2, 22], "up": [2, 7, 22, 26, 46, 50], "each": [2, 3, 4, 7, 20, 25, 27, 28, 30, 34, 35, 41, 43, 45, 47], "instanc": [2, 4, 6, 7, 16, 28, 31, 40, 42, 45, 47, 48, 49], "bacnetingresshandl": 2, "differenti": [2, 7], "devic": [2, 7, 30, 48], "contain": [2, 3, 5, 6, 7, 20, 22, 24, 25, 27, 30, 32, 35, 41, 43, 45, 46, 48, 49, 50], "properti": [2, 3, 4, 6, 16, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 40, 42, 43, 48, 50], "name": [2, 3, 4, 5, 6, 7, 14, 17, 20, 21, 22, 24, 25, 26, 27, 33, 35, 41, 43, 45, 47, 48, 49, 50], "unit": [2, 45, 46, 47, 48, 49, 50], "csvingresshandl": [2, 5], "denot": [2, 50], "filenam": [2, 24, 33, 35, 43, 45], "store": [2, 22, 35, 48], "column": [2, 5, 6, 27, 35], "cell": [2, 5, 6, 7, 35, 49], "row": [2, 6, 33, 35, 47], "ns": [2, 4, 6, 7, 27, 31, 32, 34, 49], "rdflib": [2, 5, 6, 7, 13, 16, 24, 25, 26, 27, 37, 41, 42, 47, 48, 49, 50], "namespac": [2, 5, 6, 7, 27, 31, 32, 34, 43, 47, 48, 49, 50], "return": [2, 7, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 35, 41, 42, 43, 47, 48], "thi": [2, 3, 4, 6, 7, 16, 20, 22, 24, 25, 26, 27, 28, 31, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50], "infer": [2, 32, 43, 45], "translat": [2, 6], "some": [2, 7, 22, 27, 31, 47, 48, 49, 50], "either": [2, 26, 27, 30], "upstream": [2, 7, 32, 34, 41], "ani": [2, 3, 4, 7, 20, 22, 24, 25, 26, 27, 38, 48, 49, 50], "entiti": [2, 7, 27, 28, 31, 32, 34, 40, 47, 48, 49], "uri": [2, 3, 4, 6, 7, 10, 25, 26, 27, 28, 43, 45, 47, 48, 49], "creat": [2, 4, 5, 6, 7, 10, 13, 16, 19, 20, 24, 25, 26, 31, 43, 45, 46, 47, 49], "place": [2, 31, 32, 34, 43, 49, 50], "typic": [2, 48, 50], "end": [2, 22, 47, 48], "pipelin": 2, "sever": [2, 28, 45, 47, 48, 50], "full": [2, 4, 43, 50], "found": [2, 7, 20, 27, 38, 42, 45], "here": [2, 7, 22, 24, 46, 47, 49], "take": [2, 3, 7, 13, 26, 31, 40, 45, 47, 48, 49], "ip": [2, 7, 30, 45], "subnet": [2, 7, 45], "argument": [2, 6, 20, 22, 26, 27, 41, 45, 46, 48], "0": [2, 6, 7, 26, 45, 46, 47], "24": [2, 7, 45], "set": [2, 3, 4, 7, 22, 25, 27, 28, 35, 42, 43, 45, 46, 47, 49], "correspond": [2, 4, 7, 22, 42, 45, 50], "repres": [2, 3, 7, 26, 28, 31, 35, 48, 49, 50], "els": [2, 7, 27], "base": [2, 3, 7, 17, 40, 46], "address": [2, 7, 27, 45, 50], "device_id": [2, 7], "own": [2, 6, 49], "mydata": 2, "given": [2, 3, 4, 6, 14, 20, 22, 25, 26, 27, 28, 31, 32, 34, 35, 38, 42, 43, 45], "call": [2, 5, 6, 22, 27, 45, 47, 48, 49], "generate_csv": [2, 5, 27], "empti": [2, 5, 25], "header": [2, 5, 49], "csvingress": [2, 5, 33], "made": [2, 22, 46, 50], "pass": [2, 3, 7, 27, 41, 45, 47, 49], "templateingress": [2, 5, 34], "xlsxingresshandl": 2, "path": [2, 3, 4, 6, 24, 26, 27, 28, 31, 33, 35, 40, 43, 45, 47], "sheet": [2, 35], "requir": [2, 3, 7, 16, 22, 25, 27, 28, 42, 45, 46, 47, 48, 49, 50], "probabl": [2, 47], "librari": [2, 4, 5, 7, 20, 21, 27, 28, 38, 41, 46, 47, 49, 50], "option": [2, 7, 19, 20, 24, 25, 26, 27, 28, 30, 33, 34, 40, 42, 43, 45], "mapper": [2, 5, 34], "function": [2, 3, 4, 6, 7, 10, 12, 13, 14, 16, 27, 28, 34, 37, 38, 40, 41, 42, 43, 45, 48, 49, 50], "map": [2, 20, 21, 27, 42, 43], "paramet": [2, 4, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 31, 32, 37, 38, 40, 41, 42, 43, 47, 48, 50], "If": [2, 3, 4, 6, 16, 20, 22, 25, 27, 28, 34, 40, 42, 43, 46, 47, 48, 50], "left": [2, 27], "none": [2, 5, 7, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 40, 42, 43], "There": [2, 7, 45, 50], "templateingresswithchoos": [2, 34], "act": [2, 50], "essenti": [2, 7, 50], "addit": [2, 7, 25, 41, 42, 43, 46, 48, 49, 50], "dynam": [2, 46], "choos": [2, 7, 47], "see": [2, 3, 7, 45, 46, 47, 48, 49], "guid": [2, 7], "ensur": [3, 6, 20, 41, 46, 49], "onli": [3, 4, 26, 28, 46, 47, 49, 50], "yield": [3, 27, 42], "whether": [3, 27], "node": [3, 4, 14, 25, 26, 27, 28, 40, 42, 43, 46, 49], "fail": [3, 22, 28, 40, 46, 47, 49], "To": [3, 6, 22, 45, 46, 48, 49, 50], "aid": 3, "execut": [3, 41, 49], "depend": [3, 4, 5, 7, 20, 21, 22, 25, 26, 27, 41, 46], "extract": [3, 22], "edg": 3, "were": [3, 4, 27, 47, 48], "how": [3, 4, 6, 7, 26, 42, 47, 48, 49], "shape_to_queri": [3, 6, 26], "page": 3, "give": [3, 5, 14, 35, 41, 49], "overview": 3, "main": [3, 7, 45], "satisfi": [3, 26, 47, 49], "constraint": [3, 4, 28, 40, 47, 49], "At": 3, "high": [3, 47, 49], "work": [3, 7, 20, 22, 48, 49], "first": [3, 41, 42, 47, 48, 49, 50], "transform": 3, "assembl": 3, "complet": [3, 7, 42, 46], "input": [3, 28, 42, 43, 45, 47, 48], "definit": [3, 7, 26, 41, 48, 50], "result": [3, 4, 5, 6, 7, 22, 25, 27, 28, 41, 43, 47, 48], "least": [3, 6], "target": [3, 6, 26, 40, 47], "variabl": [3, 6, 22, 45, 47, 49, 50], "add": [3, 7, 19, 25, 26, 27, 40, 41, 42, 46, 47, 48, 49, 50], "sh": [3, 4, 6, 26, 28, 40, 43, 49], "pull": [3, 45, 47], "annot": [3, 48], "otherwis": [3, 16, 22, 26, 27, 43, 48], "assign": [3, 22, 47], "union": [3, 4, 24, 26, 27, 28, 33, 40], "within": [3, 4, 7, 24, 27, 49], "independ": 3, "branch": [3, 45], "few": [3, 48, 50], "directli": [3, 6, 24, 45, 48, 49], "nodeshap": [3, 4, 6, 40, 43, 49], "convert": [3, 22, 43], "pattern": [3, 6, 50], "targetclass": [3, 4, 6, 26, 49], "c": [3, 7, 22], "type": [3, 6, 10, 12, 13, 14, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 40, 41, 42, 43, 46, 48, 49], "subclassof": [3, 6, 26], "targetsubjectsof": 3, "p": [3, 5, 7, 45, 47, 48, 50], "ignor": [3, 27, 46], "targetobjectsof": 3, "targetnod": [3, 49], "n": [3, 26], "bind": [3, 6, 14, 20, 27, 43, 45, 47, 48, 50], "AS": 3, "addition": 3, "except": [3, 7, 16, 17, 20, 24, 25, 27, 38, 43, 48], "than": [3, 28, 41, 43], "vav": [3, 4, 7, 47, 49, 50], "rvav": 3, "combin": [3, 27, 28, 43], "interpret": [3, 7, 28, 49], "compon": [3, 4, 20, 28, 48, 49, 50], "stage": [3, 46], "hasvalu": [3, 6, 26], "interact": [4, 7, 20, 45, 46, 48], "interest": [4, 49], "document": [4, 7, 38, 45, 50], "we": [4, 5, 6, 7, 16, 22, 24, 42, 46, 47, 48, 49, 50], "explain": 4, "recal": [4, 6, 45, 50], "condit": 4, "over": [4, 40, 42, 46], "automat": [4, 25, 45, 46, 50], "evalu": [4, 14, 27, 40, 47, 49, 50], "against": [4, 25, 38, 43, 46, 49], "when": [4, 17, 22, 24, 27, 28, 34, 43, 46, 48, 49, 50], "load": [4, 5, 6, 7, 24, 25, 26, 27, 31, 47, 49, 50], "attempt": [4, 7, 34, 46], "find": [4, 42, 43, 46, 47], "happen": 4, "directori": [4, 5, 7, 24, 43, 46, 47, 48, 49, 50], "git": [4, 7], "repositori": [4, 7, 46, 47, 48, 49], "search": [4, 27, 42, 43, 49], "file": [4, 5, 6, 7, 16, 22, 24, 27, 31, 33, 35, 38, 41, 43, 45, 46, 48, 49, 50], "recurs": [4, 20, 26, 27, 43], "them": [4, 31, 33, 35], "collect": [4, 7, 20, 21, 24, 25, 47, 48], "graphc": 4, "owl": [4, 6, 7, 26, 45, 47, 48, 49], "assumpt": 4, "ifi": 4, "could": [4, 47, 49, 50], "instanti": [4, 16, 34], "decompil": 4, "construct": [4, 40], "get_template_parts_from_shap": [4, 43], "recogn": 4, "qualifiedvalueshap": [4, 6], "datatyp": [4, 22], "mincount": [4, 43], "qualifiedmincount": [4, 6, 43], "maxcount": 4, "qualifiedmaxcount": 4, "i": [4, 6, 7, 25, 26, 46, 47], "invent": [4, 27], "unless": [4, 27], "attribut": [4, 7, 22, 41, 43, 48, 49], "consid": [4, 7, 20, 27], "been": [4, 7, 16, 25, 27, 42, 47, 48, 49], "part": [4, 7, 20, 21, 22, 41, 42, 43, 46, 48, 49], "myshap": 4, "ttl": [4, 6, 7, 13, 45, 47, 48, 49], "prefix": [4, 5, 6, 7, 37, 47, 48, 49, 50], "brickschema": [4, 5, 6, 7, 45, 47, 48, 49, 50], "www": [4, 6, 7, 47, 48, 49], "w3": [4, 6, 7, 47, 48, 49], "2002": [4, 6, 7, 47, 48, 49], "07": [4, 6, 7, 47, 48, 49], "urn": [4, 5, 6, 7, 32, 43, 47, 48, 49, 50], "terminal_unit": 4, "haspart": [4, 6, 41, 47, 48, 49, 50], "heat": [4, 49], "coil": [4, 48, 49, 50], "hc": 4, "haspoint": [4, 5, 6, 7, 41, 47, 50], "supply_air_flow_sensor": [4, 47, 49, 50], "supply_air_temperature_sensor": [4, 7, 47, 49, 50], "sat": [4, 7], "heating_coil": [4, 47, 48, 49, 50], "position_command": [4, 50], "damper_po": 4, "you": [4, 6, 7, 20, 24, 45, 46, 47, 48, 49, 50], "w": [4, 7, 43, 49], "f": [4, 6, 7, 47, 48, 49], "wa": [4, 48, 49], "would": [4, 22, 26, 43, 47, 48, 50], "memori": [4, 5, 6, 7, 43, 47, 48, 49], "bm": [4, 5, 6, 7, 20, 31, 32, 47, 48, 49], "sqlite": [4, 5, 6, 7, 46, 47, 48, 49], "ontology_graph": [4, 7, 24, 47, 48, 49], "github": [4, 7, 45, 46], "com": [4, 7, 45], "releas": [4, 7, 45], "download": [4, 7, 45, 46, 47, 48, 49], "nightli": [4, 7, 45], "lib": [4, 5, 7, 28, 47, 49, 50], "2024": [4, 7, 47, 49], "03": [4, 7, 47, 49], "14": [4, 7, 22, 47, 49], "00": [4, 7, 47, 49], "39": [4, 7], "25": [4, 7], "959": 4, "root": [4, 7, 47, 49, 50], "warn": [4, 7, 22, 27, 28, 47, 49], "depende": [4, 20, 47, 49], "n1fdfee77c2dc46c1ab1e1149450e0477b7484": 4, "960": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7478": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7480": 4, "961": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7476": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7482": 4, "964": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7418": 4, "965": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7420": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7414": 4, "966": [4, 7], "n1fdfee77c2dc46c1ab1e1149450e0477b7412": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7416": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7410": 4, "967": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7461": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7463": 4, "968": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7469": 4, "969": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7467": 4, "970": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7459": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7465": 4, "971": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7560": 4, "972": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7556": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7552": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7554": 4, "973": 4, "n1fdfee77c2dc46c1ab1e1149450e0477b7558": 4, "975": 4, "2020": [4, 7], "bacnetdevic": [4, 7], "30": [4, 7], "484": 4, "486": 4, "onc": [4, 27], "have": [4, 5, 7, 20, 22, 27, 41, 42, 47, 48, 49, 50], "turn": [4, 7, 32, 42, 43, 48], "explicitli": [4, 47, 49], "read": [4, 7, 33, 34, 35, 46], "out": [4, 5, 7, 27, 42, 47, 48], "get_template_by_nam": [4, 5, 24, 48, 49, 50], "dump": [4, 31], "bodi": [4, 5, 13, 24, 27, 41, 47, 48], "print": [4, 5, 6, 7, 27, 46, 47, 48, 49], "serial": [4, 5, 7, 22, 24, 47, 48, 49, 50], "___param___": [4, 5, 43, 47, 48, 50], "hc0": 4, "p13": 4, "sat0": 4, "As": [4, 49], "often": 4, "want": [4, 42, 47, 48, 49, 50], "inlin": [4, 27, 34, 43], "get": [4, 5, 7, 12, 13, 14, 19, 20, 22, 24, 25, 26, 27, 41, 47, 48, 49], "sens": 4, "what": [4, 6, 7, 22, 28, 40, 45, 47, 48, 49, 50], "ad": [4, 7, 19, 22, 25, 41, 47], "inline_depend": [4, 5, 27, 47], "damper_pos0": 4, "observ": 4, "paramt": [4, 27, 50], "assum": [5, 7, 22, 47, 48, 49], "tutori": [5, 7, 47, 48, 49, 50], "my": [5, 47, 50], "thermostat": 5, "hasloc": 5, "room": 5, "arg": [5, 7, 16, 20, 21, 22, 27, 41, 50], "tstat": 5, "point": [5, 41, 45, 47, 48, 49, 50], "temp": [5, 47, 49, 50], "sp": 5, "co2": [5, 47, 49, 50], "temperature_sensor": [5, 47, 48, 49], "temperature_setpoint": 5, "co2_sensor": 5, "our": [5, 22, 49], "tstat_templ": 5, "approiat": 5, "fill": [5, 27, 42, 47], "tstat2": 5, "room345": 5, "345": 5, "tstat3": 5, "room567": 5, "cow": 5, "567": [5, 7], "handler": [5, 7, 16, 31], "built": [5, 46], "record": [5, 7, 30, 31, 33, 34, 35], "bldg": [5, 6, 7, 47, 48, 49], "my_sit": 5, "abov": [5, 6, 7, 22, 46, 47, 49, 50], "final": [5, 48], "suit": 6, "allow": [6, 22, 48, 50], "retriev": [6, 38, 49], "configur": [6, 7, 22, 46, 50], "oper": [6, 7, 47, 49], "figur": 6, "illustr": 6, "well": [6, 20, 48], "retreiv": 6, "deriv": 6, "propertyshap": [6, 40], "includ": [6, 22, 25, 27, 28, 40, 43, 45, 46, 47, 48, 49], "equival": [6, 22], "Not": 6, "pleas": 6, "befor": [6, 16, 20, 46, 47, 48], "shapecollect": [6, 21, 24, 25, 26, 28, 49], "uriref": [6, 7, 25, 26, 28, 40, 43], "sc": 6, "pars": [6, 7, 47, 48, 49], "1999": 6, "02": [6, 7], "syntax": [6, 48, 50], "2000": 6, "01": [6, 7], "bmotif": [6, 49], "nrel": [6, 45, 47, 48, 49], "gov": [6, 48, 49], "simpleapp": 6, "app1": 6, "fan_coil_unit": 6, "occupied_cooling_temperature_setpoint": 6, "coolsp": 6, "occupied_heating_temperature_setpoint": 6, "heatsp": 6, "feed": [6, 41, 50], "air_temperature_sensor": 6, "roomtemp": 6, "bb47aa04": 6, "f756": 6, "4c49": 6, "a9e4": 6, "29b979ab979": 6, "ask": [6, 47, 48, 49], "certain": [6, 40, 49], "shape_nam": [6, 43], "get_shapes_about_class": [6, 26], "shape_queri": 6, "select": [6, 7, 22, 25, 26, 47], "where": [6, 7, 20, 22, 45, 47, 48], "refer": [6, 20, 22, 27, 40, 41, 48, 49], "app1_shap": 6, "string": [6, 22, 27, 31, 43, 45, 48], "app_queri": 6, "below": [6, 7, 22, 45, 46, 47, 48, 49], "panda": 6, "datafram": 6, "pd": [6, 47, 49], "save": [6, 45, 47, 48, 49], "building1": 6, "content": [6, 21, 25, 31, 45, 48, 49, 50], "query_generation_exampl": 6, "re": [6, 49], "df": 6, "iloc": 6, "modulenotfounderror": 6, "traceback": [6, 22, 49], "most": [6, 22, 24, 42, 49], "recent": [6, 22, 49], "last": [6, 22, 49], "5": [6, 7, 47, 49], "6": [6, 7], "No": [6, 7], "modul": [6, 7, 8, 9, 11, 15, 18, 22, 23, 24, 29, 39, 41], "alreadi": [7, 47, 48, 49], "local": [7, 45, 47, 48, 49], "environ": [7, 46, 47, 48, 49], "access": [7, 17, 41, 45, 48], "descript": [7, 20, 21, 25, 45, 46, 47, 48, 49, 50], "purpos": [7, 47, 48, 49], "demonstr": [7, 47], "accomplish": [7, 48], "basic": [7, 48, 49], "sure": [7, 20, 45, 46, 48], "awar": 7, "reach": [7, 46], "For": [7, 22, 43, 48, 49, 50], "docker": 7, "compos": [7, 46, 50], "run": [7, 20, 25, 45, 49], "virtual": [7, 46], "scan": 7, "sub": 7, "anoth": [7, 27, 46, 47, 48, 50], "try": [7, 48, 49, 50], "simul": 7, "digit": 7, "twin": 7, "rest": [7, 47], "expect": [7, 20, 28, 42, 43], "do": [7, 47], "connect": [7, 16, 19, 48, 49], "subprocess": 7, "shlex": 7, "virtual_bacnet": 7, "py": [7, 20, 27, 45, 46, 47, 49], "random": [7, 47], "sy": 7, "bacpyp": 7, "app": 7, "bipsimpleappl": 7, "consolelog": 7, "configargumentpars": 7, "core": [7, 48], "debug": [7, 16, 46], "modulelogg": 7, "bacpypes_debug": 7, "localdeviceobject": 7, "analoginputobject": 7, "devicecommunicationcontrolservic": 7, "readwritepropertymultipleservic": 7, "_debug": 7, "_log": 7, "global": [7, 27], "virtualbacnetapp": 7, "virtualdevic": 7, "def": [7, 22, 41, 49], "__init__": [7, 22, 47, 49], "self": [7, 22, 40, 49], "host": [7, 45], "parser": 7, "__doc__": 7, "parse_arg": 7, "ini": 7, "supplytempsensor": 7, "objectnam": 7, "objectidentifi": 7, "analoginput": 7, "presentvalu": 7, "randint": 7, "100": 7, "heatingsetpoint": 7, "hsp": 7, "coolingsetpoint": 7, "csp": 7, "zonetempsensor": 7, "zone": [7, 47, 48, 49, 50], "add_object": 7, "__name__": 7, "__main__": [7, 22], "argv": 7, "len": [7, 47], "dockerfil": 7, "ubuntu": 7, "latest": 7, "workdir": 7, "opt": [7, 47, 49], "apt": 7, "updat": [7, 13, 20, 25, 49], "y": 7, "python3": [7, 46, 47, 49], "pip": [7, 46], "rm": 7, "rf": 7, "var": 7, "pip3": 7, "copi": [7, 24, 25, 27, 43, 45, 49], "virtualbacnet": 7, "172": [7, 45], "17": 7, "599": 7, "maxapdulengthaccept": 7, "1024": 7, "segmentationsupport": 7, "segmentedboth": 7, "vendoridentifi": 7, "15": 7, "yml": [7, 24, 38, 45, 46, 48, 50], "version": [7, 22, 45], "4": [7, 22, 46, 47, 48, 49, 50], "ipv4_address": 7, "ipam": 7, "driver": 7, "default": [7, 19, 22, 24, 25, 26, 27, 42, 43, 45, 49], "config": [7, 45, 46], "16": 7, "gatewai": 7, "docker_compose_start": 7, "split": 7, "d": [7, 45], "transfer": 7, "276b": 7, "done": [7, 46, 47, 49], "0s": 7, "dockerignor": 7, "context": [7, 19, 26, 40], "2b": 7, "auth": 7, "token": 7, "registri": 7, "io": [7, 27, 48], "4s": 7, "sha256": 7, "77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17": 7, "30kb": 7, "7": 7, "8": [7, 46, 47, 49], "885": 7, "doe": [7, 22, 24, 46, 48], "stabl": 7, "cli": 7, "caution": 7, "script": 7, "589": 7, "secur": 7, "jammi": 7, "inreleas": 7, "110": 7, "kb": 7, "691": 7, "archiv": 7, "270": 7, "085": 7, "univers": [7, 40], "amd64": 7, "packag": [7, 46, 47, 48, 49], "1079": 7, "213": 7, "119": 7, "231": 7, "1569": 7, "253": 7, "multivers": 7, "44": 7, "restrict": 7, "1960": 7, "269": 7, "backport": 7, "109": 7, "379": [7, 47], "9": 7, "mb": 7, "124": 7, "266": 7, "126": 7, "11": [7, 47, 49], "164": 7, "127": 7, "12": 7, "1792": 7, "209": 7, "13": 7, "50": 7, "1352": 7, "222": 7, "1997": 7, "295": 7, "1848": 7, "523": 7, "80": 7, "850": 7, "18": 7, "33": 7, "938": 7, "fetch": [7, 48], "2s": 7, "569": 7, "tree": [7, 50], "680": 7, "state": [7, 22, 49, 50], "692": 7, "upgrad": [7, 46], "697": 7, "725": 7, "332": 7, "438": 7, "549": 7, "binutil": 7, "common": [7, 37, 43, 49], "x86": 7, "64": 7, "linux": 7, "gnu": 7, "bzip2": 7, "ca": 7, "certif": 7, "cpp": 7, "dirmngr": 7, "dpkg": 7, "dev": [7, 46], "fakeroot": 7, "fontconfig": 7, "font": 7, "dejavu": 7, "gcc": 7, "gnupg": 7, "l10n": 7, "gpg": 7, "agent": 7, "wk": 7, "client": 7, "server": 7, "gpgconf": 7, "gpgsm": 7, "550": 7, "javascript": 7, "libalgorithm": 7, "diff": [7, 28, 47, 49], "perl": 7, "xs": 7, "merg": 7, "libasan6": 7, "libassuan0": 7, "libatomic1": 7, "libbinutil": 7, "libbrotli1": 7, "libbsd0": 7, "libc": 7, "bin": [7, 46], "devtool": 7, "libc6": 7, "libcc1": 7, "libcrypt": 7, "libctf": 7, "nobfd0": 7, "libctf0": 7, "libdeflate0": 7, "libdpkg": 7, "libexpat1": 7, "libfakeroot": 7, "libfil": 7, "fcntllock": 7, "libfontconfig1": 7, "libfreetype6": 7, "libgcc": 7, "libgd3": 7, "libgdbm": 7, "compat4": 7, "libgdbm6": 7, "libgomp1": 7, "libisl23": 7, "libitm1": 7, "libjbig0": 7, "libjpeg": 7, "turbo8": 7, "libjpeg8": 7, "libj": 7, "jqueri": 7, "sphinxdoc": 7, "underscor": 7, "libksba8": 7, "libldap": 7, "liblocal": 7, "gettext": 7, "liblsan0": 7, "libmd0": 7, "libmpc3": 7, "libmpdec3": 7, "libmpfr6": 7, "libnpth0": 7, "libnsl": 7, "libperl5": 7, "34": 7, "libpng16": 7, "libpython3": 7, "stdlib": 7, "minim": 7, "libquadmath0": 7, "libreadline8": 7, "libsasl2": 7, "db": [7, 27, 45, 46], "libsqlite3": 7, "libstdc": 7, "libtiff5": 7, "libtirpc": 7, "libtsan0": 7, "libubsan1": 7, "libwebp7": 7, "libx11": 7, "libxau6": 7, "libxcb1": 7, "libxdmcp6": 7, "libxpm4": 7, "lto": 7, "disabl": [7, 22], "manpag": 7, "media": 7, "netbas": 7, "openssl": 7, "patch": 7, "pinentri": 7, "curs": 7, "distutil": 7, "lib2to3": 7, "pkg": 7, "resourc": [7, 48, 49], "setuptool": 7, "wheel": 7, "readlin": 7, "rpcsvc": 7, "proto": 7, "ucf": 7, "xz": 7, "zlib1g": 7, "551": 7, "suggest": 7, "doc": [7, 38, 46], "dbu": 7, "session": [7, 16, 48], "libpam": 7, "systemd": 7, "gnome3": 7, "tor": 7, "debian": 7, "keyr": 7, "multilib": 7, "autoconf": 7, "automak": 7, "libtool": 7, "flex": 7, "bison": 7, "gdb": 7, "parcimoni": 7, "xloadimag": 7, "scdaemon": 7, "apache2": 7, "lighttpd": 7, "httpd": 7, "glibc": 7, "bzr": 7, "libgd": 7, "tool": [7, 24, 45], "gdbm": 7, "gssapi": 7, "mit": 7, "heimdal": 7, "ldap": 7, "otp": 7, "sql": [7, 22], "man": 7, "browser": 7, "ed": 7, "diffutil": 7, "libterm": 7, "libtap": 7, "har": 7, "tk": 7, "venv": [7, 46], "binfmt": 7, "738": 7, "739": 7, "792": 7, "131": 7, "newli": 7, "101": 7, "after": [7, 27, 46, 48], "356": [7, 47], "disk": [7, 48], "space": 7, "4build3": 7, "825": 7, "04": 7, "812": 7, "908": 7, "1ubuntu0": 7, "91": 7, "911": 7, "2242": 7, "941": 7, "942": 7, "2build2": 7, "86": 7, "943": 7, "53": 7, "944": 7, "153": 7, "945": 7, "37": 7, "2ubuntu0": 7, "641": 7, "950": 7, "963": 7, "508": 7, "6910": 7, "b": [7, 22, 45, 46], "974": 7, "3ubuntu1": 7, "2976": 7, "995": 7, "23": 7, "996": 7, "6606": 7, "4820": 7, "031": [7, 49], "19": 7, "232": 7, "033": [7, 49], "20": [7, 22], "0ubuntu1": 7, "1186": 7, "040": [7, 49], "21": 7, "20230311ubuntu0": 7, "155": 7, "041": [7, 49], "1build1": 7, "042": [7, 49], "043": 7, "59": 7, "132": 7, "044": 7, "26": 7, "0043": 7, "56": 7, "045": [7, 49], "27": 7, "3build5": 7, "191": 7, "050": 7, "28": [7, 22], "1build5": 7, "7634": 7, "066": 7, "29": 7, "0ubuntu5": 7, "067": 7, "3ubuntu3": 7, "49": 7, "31": 7, "120": 7, "068": 7, "32": [7, 45], "667": 7, "073": 7, "1ubuntu1": 7, "1375": 7, "082": 7, "2ubuntu1": 7, "84": 7, "35": 7, "38": 7, "4ubuntu2": 7, "084": 7, "36": [7, 47, 49, 50], "662": 7, "088": 7, "108": 7, "089": 7, "103": 7, "099": 7, "2326": 7, "114": 7, "40": 7, "3200": 7, "41": [7, 47, 49], "0ubuntu3": 7, "42": 7, "1348": 7, "43": 7, "112": 7, "125": 7, "0ubuntu6": 7, "68": 7, "45": 7, "192": 7, "46": [7, 47, 49], "71": 7, "128": 7, "47": 7, "2100": 7, "141": 7, "48": 7, "143": 7, "2build1": 7, "727": 7, "147": 7, "3build3": 7, "1425": 7, "156": 7, "51": 7, "157": 7, "52": 7, "221": 7, "54": 7, "55": 7, "223": 7, "57": 7, "224": 7, "58": 7, "2282": 7, "238": 7, "1069": 7, "245": 7, "60": 7, "2260": 7, "259": 7, "61": 7, "976": 7, "265": 7, "62": 7, "154": 7, "267": 7, "63": 7, "2517": 7, "283": 7, "409": 7, "65": 7, "5112": 7, "66": 7, "2101": 7, "423": 7, "67": 7, "497": 7, "1412": 7, "69": 7, "180": 7, "499": 7, "70": 7, "1ubuntu2": 7, "501": 7, "5build1": 7, "72": 7, "7build2": 7, "502": 7, "73": 7, "74": 7, "922": 7, "75": 7, "9ubuntu3": 7, "4744": 7, "76": 7, "515": 7, "77": 7, "3ubuntu2": 7, "94": 7, "516": 7, "78": 7, "531": 7, "79": [7, 47, 49], "dfsg2": 7, "532": 7, "81": 7, "dfsg": 7, "0ubuntu0": 7, "183": 7, "534": 7, "82": 7, "3build2": 7, "8664": 7, "83": 7, "293": 7, "537": 7, "85": 7, "538": 7, "1041": 7, "547": 7, "87": 7, "2ubuntu5": 7, "548": 7, "88": 7, "563": 7, "89": 7, "308": [7, 49], "565": 7, "90": 7, "519": 7, "1build2": 7, "570": 7, "92": 7, "571": 7, "93": 7, "572": 7, "573": 7, "95": 7, "197": 7, "574": 7, "96": 7, "315": 7, "579": 7, "97": 7, "nmu1": 7, "5936": 7, "98": 7, "201": 7, "594": 7, "99": 7, "6build3": 7, "595": 7, "08": 7, "2build6": 7, "719": 7, "102": 7, "389": [7, 47], "821": 7, "822": 7, "104": 7, "134": 7, "826": 7, "105": 7, "8c": 7, "2ubuntu10": 7, "2264": 7, "106": 7, "828": 7, "107": 7, "829": 7, "206": 7, "841": 7, "6ubuntu0": 7, "185": 7, "847": 7, "848": 7, "111": 7, "2ubuntu2": 7, "129": 7, "851": 7, "853": 7, "113": 7, "854": 7, "3build7": 7, "855": 7, "115": 7, "321": 7, "860": 7, "116": 7, "118": 7, "861": 7, "117": 7, "139": 7, "869": 7, "1948": 7, "884": 7, "2ubuntu9": 7, "121": 7, "4762": 7, "914": 7, "122": 7, "7166": 7, "123": 7, "915": 7, "2309": 7, "929": 7, "507": 7, "932": 7, "933": 7, "934": 7, "339": 7, "936": 7, "130": 7, "937": 7, "1305": 7, "757": 7, "debconf": 7, "delai": 7, "sinc": [7, 22], "797": 7, "1s": 7, "previous": [7, 22, 47, 49], "unselect": 7, "4393": 7, "380": [7, 47], "prepar": 7, "unpack": 7, "perl_1": 7, "4build3_amd64": 7, "deb": 7, "381": [7, 47], "397": 7, "398": 7, "minimal_3": 7, "3_amd64": 7, "399": 7, "474": 7, "475": 7, "libexpat1_2": 7, "2_amd64": 7, "477": 7, "498": 7, "522": 7, "561": 7, "260": 7, "4711": 7, "264": 7, "04_amd64": 7, "280": 7, "281": 7, "types_7": 7, "0_all": 7, "282": 7, "297": 7, "298": 7, "libmpdec3_2": 7, "2build2_amd64": 7, "299": 7, "313": [7, 49], "314": [7, 49], "common_8": 7, "1_all": 7, "329": 7, "330": 7, "libreadline8_8": 7, "1_amd64": 7, "331": 7, "346": 7, "347": 7, "0_3": 7, "348": 7, "370": [7, 47], "stdlib_3": 7, "371": [7, 47], "458": 7, "459": 7, "10_3": 7, "460": 7, "476": 7, "493": 7, "642": 7, "5141": 7, "646": 7, "000": 7, "python3_3": 7, "694": 7, "711": 7, "712": 7, "001": 7, "34_5": 7, "3_all": 7, "713": 7, "998": 7, "999": 7, "002": 7, "libgdbm6_1": 7, "003": 7, "compat4_1": 7, "004": 7, "005": 7, "perl_5": 7, "006": 7, "openssl_3": 7, "15_amd64": 7, "007": 7, "certificates_20230311ubuntu0": 7, "008": 7, "libmd0_1": 7, "1build1_amd64": 7, "009": 7, "libbsd0_0": 7, "010": 7, "netbase_6": 7, "011": [7, 49], "resources_59": 7, "012": [7, 49], "ucf_3": 7, "0043_all": 7, "move": 7, "old": [7, 43], "013": [7, 49], "16_1": 7, "3build5_amd64": 7, "014": [7, 49], "libxau6_1": 7, "3a1": 7, "1build5_amd64": 7, "015": [7, 49], "libxdmcp6_1": 7, "0ubuntu5_amd64": 7, "016": [7, 49], "libxcb1_1": 7, "3ubuntu3_amd64": 7, "017": 7, "data_2": 7, "018": 7, "6_2": 7, "019": 7, "manpages_5": 7, "1ubuntu1_al": 7, "020": [7, 49], "utils_5": 7, "2ubuntu1_amd64": 7, "021": [7, 49], "common_2": 7, "6_amd64": 7, "022": [7, 49], "libbinutils_2": 7, "023": [7, 49], "nobfd0_2": 7, "024": [7, 49], "libctf0_2": 7, "025": [7, 49], "gnu_2": 7, "026": [7, 49], "binutils_2": 7, "027": [7, 49], "bin_2": 7, "028": 7, "dev_5": 7, "110_amd64": 7, "09": 7, "029": [7, 49], "dev_1": 7, "3a4": 7, "030": [7, 49], "proto_1": 7, "0ubuntu6_amd64": 7, "032": [7, 49], "dev_2": 7, "034": [7, 49], "base_11": 7, "035": [7, 49], "libisl23_0": 7, "2build1_amd64": 7, "036": [7, 49], "libmpfr6_4": 7, "3build3_amd64": 7, "037": [7, 49], "libmpc3_1": 7, "038": [7, 49], "11_11": 7, "039": [7, 49], "cpp_4": 7, "3a11": 7, "1ubuntu1_amd64": 7, "0_12": 7, "libgomp1_12": 7, "libitm1_12": 7, "libatomic1_12": 7, "libasan6_11": 7, "liblsan0_12": 7, "046": [7, 49], "libtsan0_11": 7, "047": [7, 49], "libubsan1_12": 7, "048": [7, 49], "libquadmath0_12": 7, "049": [7, 49], "dev_11": 7, "051": 7, "gcc_4": 7, "052": 7, "053": 7, "054": 7, "_4": 7, "055": 7, "make_4": 7, "056": 7, "057": 7, "bzip2_1": 7, "5build1_amd64": 7, "058": 7, "patch_2": 7, "7build2_amd64": 7, "059": 7, "list_24_al": 7, "060": 7, "061": 7, "essential_12": 7, "9ubuntu3_amd64": 7, "062": 7, "libassuan0_2": 7, "063": 7, "gpgconf_2": 7, "064": 7, "libksba8_1": 7, "065": 7, "db_2": 7, "2_2": 7, "0_2": 7, "libnpth0_1": 7, "3build2_amd64": 7, "069": 7, "dirmngr_2": 7, "070": 7, "libfakeroot_1": 7, "071": 7, "fakeroot_1": 7, "072": 7, "core_2": 7, "2build1_al": 7, "config_2": 7, "2ubuntu5_al": 7, "074": 7, "l10n_2": 7, "075": 7, "utils_2": 7, "076": 7, "gpg_2": 7, "077": 7, "curses_1": 7, "1build2_amd64": 7, "078": 7, "agent_2": 7, "079": 7, "client_2": 7, "080": 7, "server_2": 7, "06": [7, 47], "081": 7, "gpgsm_2": 7, "gnupg_2": 7, "083": 7, "common_11": 7, "nmu1_al": 7, "perl_0": 7, "6build3_amd64": 7, "086": 7, "087": 7, "libbrotli1_1": 7, "2build6_amd64": 7, "libfreetype6_2": 7, "libfontconfig1_2": 7, "2ubuntu5_amd64": 7, "090": 7, "turbo8_2": 7, "0ubuntu1_amd64": 7, "091": 7, "libjpeg8_8c": 7, "2ubuntu10_amd64": 7, "092": 7, "libdeflate0_1": 7, "093": 7, "libjbig0_2": 7, "094": 7, "libwebp7_1": 7, "095": 7, "libtiff5_4": 7, "8_amd64": 7, "096": 7, "libxpm4_1": 7, "3a3": 7, "097": 7, "libgd3_2": 7, "2ubuntu2_amd64": 7, "098": 7, "devtools_2": 7, "3build7_amd64": 7, "jquery_3": 7, "underscore_1": 7, "2_all": 7, "sphinxdoc_4": 7, "dev_3": 7, "modules_2": 7, "lib2to3_3": 7, "04_all": 7, "distutils_3": 7, "setuptools_59": 7, "wheel_0": 7, "pip_22": 7, "4_all": 7, "altern": 7, "usr": 7, "sysv": 7, "auto": 7, "mode": 7, "skip": [7, 43, 47], "share": [7, 20], "man1": 7, "gz": 7, "becaus": [7, 20, 22, 42, 43, 47, 48, 49], "link": 7, "group": [7, 14, 50], "doesn": [7, 47, 49], "t": [7, 16, 20, 22, 41, 42, 45, 47, 49, 50], "fake": 7, "es": 7, "sv": 7, "lzma": 7, "unlzma": 7, "unxz": 7, "lzcat": 7, "xzcat": 7, "lzmore": 7, "xzmore": 7, "lzless": 7, "xzless": 7, "lzdiff": 7, "xzdiff": 7, "lzcmp": 7, "xzcmp": 7, "lzgrep": 7, "xzgrep": 7, "lzegrep": 7, "xzegrep": 7, "lzfgrep": 7, "xzfgrep": 7, "unabl": 7, "frontend": 7, "dialog": 7, "term": [7, 27], "usabl": [7, 22], "fall": 7, "back": [7, 48], "ssl": 7, "cert": 7, "137": 7, "rtupdat": 7, "hook": [7, 22], "post": 7, "trigger": 7, "6s": 7, "618": 7, "py3": 7, "whl": 7, "eta": 7, "696": 7, "831": 7, "successfulli": 7, "broken": 7, "permiss": 7, "conflict": 7, "behaviour": 7, "recommend": [7, 24, 27, 46, 47], "instead": [7, 48, 49], "pypa": 7, "9s": 7, "export": 7, "imag": 7, "layer": 7, "5s": 7, "f7b4d62a1ef142a8d644fa594ec829755800c0742c201bb97c0d68f411539e83": 7, "guides_bacnet": 7, "start": [7, 48, 49, 50], "completedprocess": 7, "returncod": 7, "previou": [7, 47, 49], "ll": [7, 47, 48, 49], "log": [7, 16], "log_level": [7, 16], "error": [7, 25, 26, 27, 38, 46], "test": [7, 25, 46, 47, 48, 49], "later": [7, 45], "bacnetnetwork": [7, 30, 32, 45], "scrape": 7, "individu": [7, 46], "discov": [7, 30], "don": [7, 20, 41, 45, 49, 50], "chang": [7, 26, 46, 49], "rec": 7, "296": 7, "info": [7, 28], "bac0": 7, "lite": 7, "adjust": [7, 27], "verbos": 7, "ex": [7, 48], "silenc": 7, "taskmanag": 7, "regist": [7, 41], "316": 7, "cov": 7, "task": 7, "319": 7, "those": [7, 20, 31, 47, 48, 49, 50], "320": 7, "whoi": 7, "limit": [7, 26, 48], "4194303": 7, "322": 7, "devicedisconnect": 7, "rpmdeviceconnect": 7, "337": 7, "readi": 7, "stop": 7, "351": 7, "358": [7, 47], "ok": 7, "359": [7, 47], "units_st": 7, "fals": [7, 22, 26, 27, 34, 40, 43, 47], "overridden": 7, "priority_arrai": 7, "history_s": 7, "bacnet_properti": 7, "kind": [7, 48, 50], "cotnain": 7, "arbitrari": [7, 47], "again": [7, 46, 47], "bacnettobrickingress": [7, 32], "usual": [7, 40, 41], "just": [7, 43, 47, 48, 49], "brick2bacnet": 7, "bacnet_network_graph": 7, "add_graph": [7, 25, 26, 47, 48, 49], "now": [7, 46, 47, 48, 49, 50], "look": [7, 47, 48, 49, 50], "ns1": 7, "ns2": 7, "ref": [7, 40], "xsd": [7, 43], "2001": 7, "xmlschema": 7, "hasexternalrefer": 7, "bacnetrefer": 7, "objectof": 7, "hasaddress": 7, "howev": [7, 22, 49], "next": [7, 48, 49, 50], "step": 7, "incorpor": [7, 27, 43], "about": [7, 28, 48, 49], "techniqu": 7, "label": 7, "show": [7, 45], "Then": [7, 48], "bigger": 7, "squint": 7, "might": [7, 27, 49], "divid": [7, 50], "equip": [7, 47, 48, 49, 50], "let": [7, 47, 48, 49, 50], "parse_label": 7, "output": [7, 31, 45, 49], "put": [7, 47, 48, 49], "tripl": [7, 19, 25, 26, 40, 43, 45, 47, 49], "equip_nam": 7, "point_typ": 7, "brick_class": 7, "elif": 7, "zone_air_heating_temperature_setpoint": 7, "zone_air_cooling_temperature_setpoint": 7, "zone_air_temperature_sensor": [7, 47, 49, 50], "rais": [7, 16, 17, 20, 24, 25, 26, 27, 38, 41, 43, 48], "unknown": [7, 41], "yet": [7, 49], "wrap": [7, 16], "reus": 7, "littl": 7, "bit": [7, 49], "around": [7, 48], "mypointpars": 7, "indic": [7, 22, 27, 45], "overrid": [7, 22], "output_graph": 7, "bacnet_graph": 7, "point_label": 7, "queri": [7, 26, 47], "invok": [7, 45], "point_ingress": 7, "augmented_graph": 7, "displai": 7, "relationship": [7, 21, 48, 50], "note": [7, 22, 41, 46], "particular": 7, "dvelop": 7, "specif": [7, 28, 41, 49], "idiosyncrat": 7, "futur": [7, 47, 49], "sophist": 7, "exampl": [7, 22, 43, 45, 46, 48, 50], "teardown": 7, "docker_compose_stop": 7, "down": 7, "create_app": 10, "db_uri": [10, 45], "flask": [10, 12, 13, 14], "get_all_librari": 12, "respons": [12, 13, 14], "get_all_shap": 12, "shape": [12, 20, 21, 24, 25, 26, 28, 43, 45, 47, 48], "get_librari": 12, "library_id": [12, 20, 21], "int": [12, 13, 14, 16, 20, 21, 24, 25, 26, 27, 28, 40, 42, 43], "id": [12, 13, 14, 20, 21, 24, 25, 26, 27], "request": [12, 13, 14, 26], "get_all_model": 13, "get_model": 13, "models_id": 13, "get_model_graph": 13, "get_target_nod": 13, "create_model": 13, "update_model_graph": 13, "xml": 13, "format": [13, 24, 46, 47, 49, 50], "validate_model": 13, "validate_shap": 13, "get_all_templ": 14, "get_templ": [14, 24, 47, 48], "templates_id": 14, "evaluate_ingress": 14, "template_id": [14, 20, 27], "evaluate_bind": 14, "get_bind": 14, "binding_dict": 14, "liter": 14, "untyp": 14, "kwarg": [16, 21, 22, 41], "setup_t": 16, "tabl": [16, 24, 25, 26, 27, 46], "setup_log": 16, "stdout": 16, "specifi": [16, 24, 40, 45, 49], "detail": [16, 49], "close": 16, "engin": [16, 19, 20, 25, 43], "clean": 16, "get_building_motif": 16, "singleton": 16, "singletonnotinstantiatedexcept": [16, 17], "hasn": 16, "buildingmotifengin": [16, 19], "sqlalchemi": [16, 22], "transact": 16, "experienc": 16, "weird": 16, "mai": [16, 22, 46, 48, 49], "caus": [16, 40, 47], "begin": [16, 43], "cls_dict": 17, "metaclass": 17, "singelton": 17, "being": [17, 22, 31, 34], "initi": [17, 46], "graphconnect": 19, "db_identifi": 19, "buildingmotif_stor": 19, "create_graph": 19, "get_all_graph_identifi": 19, "get_graph": 19, "delete_graph": 19, "delet": [19, 20, 48], "tableconnect": 20, "create_db_model": 20, "dbmodel": [20, 21, 25], "get_all_db_model": 20, "get_db_model": 20, "get_db_model_by_nam": 20, "update_db_model_nam": 20, "update_db_model_descript": 20, "delete_db_model": 20, "create_db_shape_collect": 20, "dbshapecollect": [20, 21, 26], "get_all_db_shape_collect": 20, "get_db_shape_collect": 20, "delete_db_shape_collect": 20, "create_db_librari": 20, "dblibrari": [20, 21, 24], "get_all_db_librari": 20, "get_db_librari": 20, "get_db_library_by_nam": 20, "update_db_library_nam": 20, "delete_db_librari": 20, "create_db_templ": 20, "dbtemplat": [20, 21, 27], "get_all_db_templ": 20, "get_db_templ": 20, "get_db_template_by_nam": 20, "get_library_defining_db_templ": 20, "get_db_template_depend": 20, "tupl": [20, 22, 25, 26, 27, 28, 40, 42, 43], "depsassoci": [20, 21], "get_depend": [20, 27], "dependant_id": [20, 21], "update_db_template_nam": 20, "update_db_template_optional_arg": 20, "optional_arg": [20, 21, 24, 27], "add_template_dependency_preliminari": 20, "dependency_id": 20, "preliminari": 20, "serv": [20, 45], "popul": [20, 27, 28, 42], "direct": [20, 42], "acycl": 20, "check": [20, 42, 46, 49], "upshot": 20, "necessari": [20, 28, 48], "mani": [20, 21, 26, 49, 50], "nest": [20, 43], "s223": 20, "mapsto": 20, "Be": 20, "check_all_template_depend": 20, "your": [20, 48, 49], "param": [20, 27, 41, 43, 48, 49], "valueerror": [20, 24, 41], "required_param": 20, "check_template_dependency_relationship": 20, "dep": 20, "involv": 20, "seri": [20, 22], "perform": [20, 47, 49], "dure": [20, 27, 41, 43, 46], "template_connect": 20, "appear": [20, 47], "delete_template_depend": 20, "update_db_template_librari": 20, "delete_db_templ": 20, "graph_id": 21, "manifest_id": 21, "manifest": [21, 25, 47], "distribut": [21, 41, 45], "shape_collection_id": 21, "shape_collect": [21, 25, 28, 47, 49], "dependee_id": 21, "body_id": 21, "jsontyp": 22, "custom": [22, 49], "json": [22, 31, 45], "jsonb": 22, "postgr": 22, "dialect": 22, "enforc": 22, "uniqu": [22, 24, 27, 43, 48], "encod": [22, 45], "dictionari": [22, 25, 27, 28, 41, 48], "impl": 22, "alia": 22, "hashabl": 22, "flag": [22, 40, 45], "mean": [22, 42], "aren": [22, 49], "orm": 22, "cache_ok": 22, "true": [22, 24, 25, 26, 27, 34, 42, 43, 46, 47, 49], "statement": 22, "externaltyp": 22, "safe": 22, "cach": [22, 31, 33, 42], "emit": 22, "element": 22, "typedecor": 22, "mytyp": 22, "internal_onli": 22, "_static_cache_kei": 22, "scheme": 22, "becom": 22, "cacheabl": 22, "render": 22, "accommod": 22, "unhash": 22, "whose": [22, 27], "accept": 22, "lookup": [22, 42], "publish": 22, "sort": 22, "un": 22, "lookuptyp": 22, "userdefinedtyp": 22, "non": [22, 46], "get_col_spec": 22, "kw": 22, "varchar": 22, "255": 22, "bind_processor": 22, "abl": [22, 27], "type_": 22, "stdin": 22, "sawarn": 22, "symbol": 22, "no_cach": 22, "did": [22, 47], "wouldn": 22, "insid": [22, 24, 25, 49, 50], "cannot": [22, 24], "itself": [22, 28, 48], "some_cach": 22, "typeerror": 22, "privat": 22, "public": 22, "themselv": 22, "_lookup": 22, "mixin": 22, "sql_cach": 22, "load_dialect_impl": 22, "typeengin": 22, "type_engin": 22, "help": [22, 26, 45, 49], "determin": [22, 26, 34, 48, 50], "ultim": 22, "By": [22, 26, 49, 50], "_id": [24, 25, 26, 27], "_name": [24, 25, 27], "_bm": [24, 25, 26, 27], "mirror": [24, 25, 26, 27], "classmethod": [24, 25, 26, 27, 31], "overwrit": 24, "bool": [24, 25, 26, 27, 28, 34, 40, 42, 43], "db_id": 24, "priorit": 24, "resolv": [24, 26, 28, 47], "remot": [24, 45], "replac": [24, 43, 48], "load_from_libraries_yml": 24, "multipl": [24, 45], "properli": 24, "order": [24, 41, 42], "case": [24, 47], "commandlin": 24, "yaml": [24, 41, 45, 46, 50], "create_templ": 24, "get_shape_collect": [24, 47, 49], "_descript": 25, "_manifest_id": 25, "neither": 25, "nor": 25, "add_tripl": [25, 26], "sequenc": [25, 26, 47, 49], "error_on_missing_import": [25, 26], "pyshacl": [25, 43, 47, 49], "validationcontext": [25, 28], "singl": [25, 47, 48, 49], "miss": [25, 26, 28, 46, 47, 49], "topquadr": [25, 43], "java": 25, "featur": [25, 43, 46, 47, 48, 49], "deal": 25, "compil": [25, 41], "test_model_against_shap": 25, "shapes_to_test": 25, "target_class": 25, "report": [25, 28, 43, 49], "upon": [25, 45, 46, 50], "relat": [25, 48], "get_manifest": [25, 49], "update_manifest": [25, 49], "graph_nam": 26, "subject": [26, 41, 47, 48], "resolve_import": 26, "recursive_limit": 26, "suppress": 26, "handl": [26, 48], "get_shapes_of_definition_typ": [26, 49], "definition_typ": 26, "include_label": 26, "present": 26, "desir": [26, 46, 49], "get_shapes_of_domain": 26, "domain": 26, "rdf_type": 26, "superclass": [26, 31], "appli": [26, 41, 49, 50], "concern": 26, "sparql": 26, "rule": [26, 41, 48, 49], "in_memory_copi": 27, "add_depend": 27, "check_depend": 27, "remove_depend": 27, "all_paramet": 27, "exclud": [27, 47, 48, 49], "dependency_paramet": 27, "parameter_count": 27, "counter": 27, "histogram": 27, "count": [27, 40, 43, 49], "transit": 27, "dependency_for_paramet": 27, "to_inlin": 27, "preserve_arg": 27, "suffix": 27, "collis": 27, "preserv": 27, "renam": 27, "confus": 27, "require_optional_arg": 27, "warn_unus": 27, "unbound": 27, "bound": [27, 50], "even": 27, "substitut": 27, "include_opt": 27, "autogener": [27, 46, 47], "defining_librari": 27, "library_depend": 27, "find_subgraph": 27, "iter": [27, 42], "subgraph": [27, 42], "partial": [27, 48], "entir": 27, "cover": [27, 48, 49], "pathlik": [27, 31], "stringio": [27, 33], "bytesio": 27, "written": [27, 50], "sent": 27, "program": 27, "buffer": 27, "generate_spreadsheet": 27, "spreadsheet": 27, "byte": 27, "_template_id": 27, "graphdiff": 28, "focu": 28, "validation_result": [28, 47, 49], "actual": [28, 47], "rather": [28, 41], "hold": [28, 47, 48], "reconcil": 28, "reason": [28, 46, 47, 49], "human": 28, "explan": 28, "failed_shap": 28, "failed_compon": 28, "pathclasscount": 28, "minc": 28, "maxc": 28, "classnam": 28, "pathshapecount": 28, "shapenam": 28, "extra_bodi": 28, "extra_dep": 28, "match": [28, 40, 42, 49], "requiredpath": 28, "requiredclass": 28, "graphclasscardin": 28, "expectedcount": 28, "number": [28, 40, 43, 47, 49], "shapes_graph": 28, "report_str": [28, 49], "diffset": [28, 47, 49], "unord": 28, "as_templ": 28, "get_reasons_with_sever": 28, "validationresult": 28, "permit": 28, "violat": 28, "filter": [28, 47, 49], "diffset_to_templ": 28, "grouped_diffset": 28, "wrong": 28, "respect": [28, 47, 48, 49], "_report_to_diffset": 28, "piec": 31, "bn": 32, "brick_bacnet_scan": 32, "expos": [33, 35], "callabl": [34, 41, 42], "chooser": 34, "xlsxingress": 35, "sheetnam": 35, "bind_prefix": 37, "validate_libraries_yaml": 38, "jsonschema": 38, "validationerror": 38, "deseri": 38, "messag": [40, 45, 49], "programat": 40, "add_properti": 40, "add_list_properti": 40, "OR": 40, "AND": 40, "NOT": 40, "xone": 40, "of_class": 40, "class_": 40, "activ": [40, 46], "much": [40, 46], "always_run": 40, "blank": [40, 43], "insur": 40, "alwai": [40, 49], "exactli": [40, 49], "exact": 40, "has_properti": 40, "has_path": 40, "zero_or_on": 40, "zero_or_mor": 40, "one_or_mor": 40, "mutual": 40, "exclus": 40, "zero": 40, "min": [40, 43], "max": 40, "qualifi": 40, "precid": 40, "Is": 40, "matches_class": 40, "matches_shap": 40, "downstream": 41, "hastyp": 41, "isfedbi": 41, "mayb": 41, "author": 41, "introduc": [41, 50], "macro": 41, "signatur": 41, "foo": 41, "hardcod": 41, "decor": 41, "_summary_": 41, "_description_": 41, "compile_template_spec": 41, "spec": [41, 45], "decod": 41, "vf2": 42, "algorithm": 42, "isomorph": 42, "get_semantic_feas": 42, "g1": 42, "g2": 42, "_cach": 42, "_ontology_lookup_cach": 42, "feasibl": 42, "must": [42, 46, 49], "generate_all_subgraph": 42, "induc": 42, "decreas": 42, "size": 42, "largest": 42, "monomorph": 42, "digraph_to_rdflib": 42, "digraph": 42, "nx": 42, "rdflib_to_networkx_digraph": 42, "templatematch": 42, "graph_target": 42, "template_bind": 42, "template_graph": 42, "add_map": 42, "largest_mapping_s": 42, "building_subgraph_from_map": 42, "template_subgraph_from_map": 42, "remaining_template_graph": 42, "remain": [42, 43], "remaining_templ": 42, "mappings_it": 42, "descend": 42, "building_mapping_subgraphs_it": 42, "copy_graph": 43, "preserve_blank_nod": 43, "boolean": 43, "keep": 43, "inline_sh_nod": 43, "edit": 43, "combine_graph": 43, "graph_siz": 43, "measur": 43, "remove_triples_with_nod": 43, "replace_nod": 43, "get_ontology_fil": 43, "travers": 43, "shape_graph": 43, "template_to_shap": 43, "new_temporary_graph": 43, "more_namespac": 43, "get_paramet": 43, "abc": [43, 48], "rewrite_shape_graph": 43, "rewrit": 43, "origin": [43, 50], "rewritten": 43, "skip_uri": 43, "axiomat": 43, "shacl_valid": 43, "data_graph": 43, "fastest": 43, "shacl_infer": 43, "forget": [45, 49], "suppli": [45, 47], "right": 45, "programmat": 45, "h": 45, "dir": 45, "o": [45, 46], "ont": 45, "l": 45, "library_manifest_fil": 45, "exit": 45, "describ": [45, 50], "three": 45, "get_default_libraries_yml": 45, "immedi": 45, "enclos": 45, "zonepac": 45, "temporarili": 45, "clone": [45, 46, 47, 48, 49], "repo": 45, "chiller": 45, "plant": 45, "invidu": 45, "diretori": 45, "output_fil": 45, "scanner": 45, "subcommand": 45, "port": 45, "listen": 45, "prerequisit": 46, "poetri": 46, "m": 46, "pre": 46, "commit": [46, 48], "env": 46, "migrat": 46, "window": [46, 47, 49], "unix": 46, "shell": 46, "bash": 46, "allexport": 46, "alemb": 46, "head": 46, "revis": 46, "localhost": 46, "5000": 46, "while": 46, "backend": 46, "psycopg2": 46, "binari": 46, "deploy": 46, "ci": 46, "reproduc": 46, "slight": 46, "comit": 46, "static": 46, "fix": [46, 47], "inspect": 46, "success": [46, 47, 49], "isort": 46, "black": 46, "mypi": 46, "pyproject": 46, "toml": 46, "flake8": 46, "manual": 46, "log_cli": 46, "pytest": 46, "action": 46, "workflow": 46, "html": 46, "jupyt": 46, "book": 46, "sphinx": 46, "_build": 46, "dry": 46, "js": [46, 47, 49], "angular": 46, "readm": 46, "md": 46, "4200": 46, "learn": [47, 48, 49, 50], "fork": [47, 48, 49], "133": [47, 48, 49], "tutorial2_model": [47, 49], "tutorial2_manifest": [47, 49], "subset": [47, 48, 49], "g36": [47, 49, 50], "guideline36": [47, 49], "353": 47, "354": 47, "supply_air_temperature_setpoint": [47, 49], "355": 47, "frequency_command": [47, 49], "start_stop_command": [47, 49], "fan_statu": [47, 49], "357": 47, "mixed_air_temperature_sensor": [47, 49], "dual": [47, 49], "duct": [47, 49], "termin": [47, 49, 50], "discharg": [47, 49], "hot": [47, 49], "deck": [47, 49], "cold": [47, 49], "discharge_air_flow_sensor": [47, 49], "cool": [47, 48, 49], "temperatur": [47, 49], "360": 47, "sensor": [47, 49, 50], "364": 47, "sz": [47, 49], "ahu": [47, 48, 49], "oa": [47, 49], "365": 47, "ma": [47, 49], "ra": [47, 49], "366": 47, "sa": [47, 49, 50], "box": [47, 49], "damper": [47, 48, 49, 50], "posit": [47, 49, 50], "367": 47, "368": 47, "switch": [47, 49], "airflow": [47, 49], "369": 47, "damper_position_command": [47, 49, 50], "co2_level_sensor": [47, 49, 50], "374": 47, "discharge_air_temperature_sensor": [47, 49], "375": 47, "inlet": [47, 49], "376": 47, "377": 47, "valve_position_command": [47, 49], "378": 47, "occupancy_sensor": [47, 49, 50], "fan": [47, 48, 49], "382": 47, "clg": [47, 48, 49], "signal": [47, 49], "383": 47, "htg": [47, 48, 49, 50], "384": 47, "return_air_temperature_sensor": [47, 49], "385": 47, "outside_air_temperature_sensor": [47, 49], "386": 47, "387": 47, "operating_mode_statu": [47, 49], "388": 47, "failur": [47, 49], "gather": [47, 49], "eas": [47, 49], "item": 47, "hostedtoolcach": [47, 49], "x64": [47, 49], "site": [47, 49], "extra": 47, "pyduktape2": [47, 49], "extra_nam": [47, 49], "req": [47, 49], "supply_fan": [47, 48, 49], "core_zn": [47, 48, 49], "psc_ac": [47, 48, 49], "minimum": [47, 49], "ve": [47, 49], "prompt": [47, 49], "closer": 47, "generated_templ": 47, "templ": [47, 50], "resolveff62d493": 47, "resolveccbd2b4": 47, "p47": 47, "p46": 47, "p45": 47, "default5": 47, "fairli": 47, "loop": 47, "challeng": 47, "fact": 47, "advantag": [47, 48], "wtih": 47, "postfix": 47, "signific": 47, "highli": 47, "continu": 47, "ahu_nam": [47, 48, 49], "sensibl": 47, "supply_fan_nam": 47, "know": [47, 48, 49, 50], "explor": 47, "guidelin": [47, 49, 50], "destin": [47, 48, 49], "tutorial3_model": 47, "clg_coil": [47, 48], "htg_coil": [47, 48, 49], "cooling_coil": [47, 48, 49], "fanp45": 47, "fanp46": 47, "fanp47": 47, "3194a536": 47, "ba66": 47, "482d": 47, "bb78": 47, "0a06835c35e5": 47, "similar": 48, "small": [48, 49], "offic": [48, 49], "commerci": [48, 49], "prototyp": [48, 49], "reader": 48, "familiar": 48, "turtl": [48, 50], "persist": 48, "simplic": 48, "tell": 48, "syntact": 48, "reveal": 48, "coupl": [48, 49], "predic": 48, "soon": 48, "simpli": 48, "ten": 48, "outside_air_humidity_sensor": 48, "reactive_power_sensor": 48, "motor_direction_statu": 48, "no2_level_sensor": 48, "hot_water_return_flow_sensor": 48, "differential_pressure_load_shed_statu": 48, "average_supply_air_flow_sensor": 48, "hot_water_return_temperature_sensor": 48, "return_condenser_water_flow_sensor": 48, "occupied_cooling_temperature_deadband_setpoint": 48, "wrapper": 48, "manipul": 48, "whole": 48, "via": 48, "f489c447": 48, "22b8": 48, "4147": 48, "83bd": 48, "e454b319c577": 48, "These": [48, 49], "belong": 48, "my_graph": 48, "my_external_fil": 48, "raw": 48, "a1": 48, "air_handler_unit": 48, "touch": 48, "chill": 48, "water": 48, "air": [48, 49, 50], "ahu_templ": 48, "mandatori": 48, "understand": [48, 49], "psz_ac": 48, "condition": 48, "schedul": 48, "ahu_binding_dict": 48, "ahu_graph": 48, "oa_ra_damper_templ": 48, "fan_templ": 48, "clg_coil_templ": 48, "fan_nam": 48, "fan_binding_dict": 48, "fan_graph": 48, "outdoor": 48, "oa_ra_damper_nam": 48, "oa_ra_damper_binding_dict": 48, "oa_ra_damper_graph": 48, "clg_coil_nam": 48, "clg_coil_binding_dict": 48, "clg_coil_graph": 48, "confirm": [48, 49], "htg_coil_templ": [48, 49], "htg_coil_nam": [48, 49], "htg_coil_bind": [48, 49], "htg_coil_graph": [48, 49], "tutorial1_model": [48, 49], "energycod": 48, "tr": [48, 49], "readthedoc": 48, "feedback": 49, "thing": [49, 50], "correctli": 49, "languag": 49, "special": 49, "accord": 49, "suffic": 49, "my_site_constraint": 49, "exactcount": 49, "past": 49, "exercis": 49, "block": 49, "treat": [49, 50], "attributeerror": 49, "307": 49, "309": 49, "310": 49, "311": 49, "312": 49, "complain": 49, "why": 49, "care": 49, "top": [49, 50], "forgot": 49, "longer": 49, "system_specif": 49, "volum": [49, 50], "append": 49, "shown": 49, "offici": 49, "text": 49, "separ": 49, "invalid": 49, "technic": 49, "indivdu": 50, "reheat": 50, "variable_air_volume_box_with_reheat": 50, "flow": 50, "za": 50, "occ": 50, "hvac_zon": 50, "short": 50, "co": 50, "topolog": 50, "further": 50, "zoom": 50, "second": 50, "problem": 50, "dependeci": 50, "dmppo": 50, "sugar": 50, "togeth": 50, "cmd": 50, "among": 50, "principl": 50, "manufactur": 50, "profil": 50, "organiz": 50, "subsystem": 50}, "objects": {"": [[8, 0, 0, "-", "buildingmotif"]], "buildingmotif": [[9, 0, 0, "-", "api"], [15, 0, 0, "-", "building_motif"], [18, 0, 0, "-", "database"], [23, 0, 0, "-", "dataclasses"], [29, 0, 0, "-", "ingresses"], [36, 0, 0, "-", "libraries"], [37, 0, 0, "-", "namespaces"], [38, 0, 0, "-", "schemas"], [39, 0, 0, "-", "shape_builder"], [41, 0, 0, "-", "template_compilation"], [42, 0, 0, "-", "template_matcher"], [43, 0, 0, "-", "utils"]], "buildingmotif.api": [[10, 0, 0, "-", "app"], [11, 0, 0, "-", "views"]], "buildingmotif.api.app": [[10, 1, 1, "", "create_app"]], "buildingmotif.api.views": [[12, 0, 0, "-", "library"], [13, 0, 0, "-", "model"], [14, 0, 0, "-", "template"]], "buildingmotif.api.views.library": [[12, 1, 1, "", "get_all_libraries"], [12, 1, 1, "", "get_all_shapes"], [12, 1, 1, "", "get_library"]], "buildingmotif.api.views.model": [[13, 1, 1, "", "create_model"], [13, 1, 1, "", "get_all_models"], [13, 1, 1, "", "get_model"], [13, 1, 1, "", "get_model_graph"], [13, 1, 1, "", "get_target_nodes"], [13, 1, 1, "", "update_model_graph"], [13, 1, 1, "", "validate_model"], [13, 1, 1, "", "validate_shape"]], "buildingmotif.api.views.template": [[14, 1, 1, "", "evaluate_bindings"], [14, 1, 1, "", "evaluate_ingress"], [14, 1, 1, "", "get_all_templates"], [14, 1, 1, "", "get_bindings"], [14, 1, 1, "", "get_template"]], "buildingmotif.building_motif": [[16, 0, 0, "-", "building_motif"], [17, 0, 0, "-", "singleton"]], "buildingmotif.building_motif.building_motif": [[16, 2, 1, "", "BuildingMOTIF"], [16, 2, 1, "", "BuildingMotifEngine"], [16, 1, 1, "", "get_building_motif"]], "buildingmotif.building_motif.building_motif.BuildingMOTIF": [[16, 3, 1, "", "clean"], [16, 3, 1, "", "close"], [16, 4, 1, "", "session"], [16, 3, 1, "", "setup_logging"], [16, 3, 1, "", "setup_tables"]], "buildingmotif.building_motif.building_motif.BuildingMotifEngine": [[16, 3, 1, "", "begin"], [16, 3, 1, "", "connect"]], "buildingmotif.building_motif.singleton": [[17, 2, 1, "", "Singleton"], [17, 5, 1, "", "SingletonNotInstantiatedException"]], "buildingmotif.database": [[19, 0, 0, "-", "graph_connection"], [20, 0, 0, "-", "table_connection"], [21, 0, 0, "-", "tables"], [22, 0, 0, "-", "utils"]], "buildingmotif.database.graph_connection": [[19, 2, 1, "", "GraphConnection"]], "buildingmotif.database.graph_connection.GraphConnection": [[19, 3, 1, "", "create_graph"], [19, 3, 1, "", "delete_graph"], [19, 3, 1, "", "get_all_graph_identifiers"], [19, 3, 1, "", "get_graph"]], "buildingmotif.database.table_connection": [[20, 2, 1, "", "TableConnection"]], "buildingmotif.database.table_connection.TableConnection": [[20, 3, 1, "", "add_template_dependency_preliminary"], [20, 3, 1, "", "check_all_template_dependencies"], [20, 3, 1, "", "check_template_dependency_relationship"], [20, 3, 1, "", "create_db_library"], [20, 3, 1, "", "create_db_model"], [20, 3, 1, "", "create_db_shape_collection"], [20, 3, 1, "", "create_db_template"], [20, 3, 1, "", "delete_db_library"], [20, 3, 1, "", "delete_db_model"], [20, 3, 1, "", "delete_db_shape_collection"], [20, 3, 1, "", "delete_db_template"], [20, 3, 1, "", "delete_template_dependency"], [20, 3, 1, "", "get_all_db_libraries"], [20, 3, 1, "", "get_all_db_models"], [20, 3, 1, "", "get_all_db_shape_collections"], [20, 3, 1, "", "get_all_db_templates"], [20, 3, 1, "", "get_db_library"], [20, 3, 1, "", "get_db_library_by_name"], [20, 3, 1, "", "get_db_model"], [20, 3, 1, "", "get_db_model_by_name"], [20, 3, 1, "", "get_db_shape_collection"], [20, 3, 1, "", "get_db_template"], [20, 3, 1, "", "get_db_template_by_name"], [20, 3, 1, "", "get_db_template_dependencies"], [20, 3, 1, "", "get_library_defining_db_template"], [20, 3, 1, "", "update_db_library_name"], [20, 3, 1, "", "update_db_model_description"], [20, 3, 1, "", "update_db_model_name"], [20, 3, 1, "", "update_db_template_library"], [20, 3, 1, "", "update_db_template_name"], [20, 3, 1, "", "update_db_template_optional_args"]], "buildingmotif.database.tables": [[21, 2, 1, "", "DBLibrary"], [21, 2, 1, "", "DBModel"], [21, 2, 1, "", "DBShapeCollection"], [21, 2, 1, "", "DBTemplate"], [21, 2, 1, "", "DepsAssociation"]], "buildingmotif.database.tables.DBLibrary": [[21, 6, 1, "", "id"], [21, 6, 1, "", "name"], [21, 6, 1, "", "shape_collection"], [21, 6, 1, "", "shape_collection_id"], [21, 6, 1, "", "templates"]], "buildingmotif.database.tables.DBModel": [[21, 6, 1, "", "description"], [21, 6, 1, "", "graph_id"], [21, 6, 1, "", "id"], [21, 6, 1, "", "manifest"], [21, 6, 1, "", "manifest_id"], [21, 6, 1, "", "name"]], "buildingmotif.database.tables.DBShapeCollection": [[21, 6, 1, "", "graph_id"], [21, 6, 1, "", "id"]], "buildingmotif.database.tables.DBTemplate": [[21, 6, 1, "", "body_id"], [21, 6, 1, "", "dependants"], [21, 6, 1, "", "dependencies"], [21, 6, 1, "", "id"], [21, 6, 1, "", "library"], [21, 6, 1, "", "library_id"], [21, 6, 1, "", "name"], [21, 6, 1, "", "optional_args"]], "buildingmotif.database.tables.DepsAssociation": [[21, 6, 1, "", "args"], [21, 6, 1, "", "dependant_id"], [21, 6, 1, "", "dependee_id"], [21, 6, 1, "", "id"]], "buildingmotif.database.utils": [[22, 2, 1, "", "JSONType"]], "buildingmotif.database.utils.JSONType": [[22, 6, 1, "", "cache_ok"], [22, 6, 1, "", "hashable"], [22, 6, 1, "", "impl"], [22, 3, 1, "", "load_dialect_impl"]], "buildingmotif.dataclasses": [[24, 0, 0, "-", "library"], [25, 0, 0, "-", "model"], [26, 0, 0, "-", "shape_collection"], [27, 0, 0, "-", "template"], [28, 0, 0, "-", "validation"]], "buildingmotif.dataclasses.library": [[24, 2, 1, "", "Library"]], "buildingmotif.dataclasses.library.Library": [[24, 3, 1, "", "create"], [24, 3, 1, "", "create_template"], [24, 3, 1, "", "get_shape_collection"], [24, 3, 1, "", "get_template_by_name"], [24, 3, 1, "", "get_templates"], [24, 4, 1, "", "id"], [24, 3, 1, "", "load"], [24, 3, 1, "", "load_from_libraries_yml"], [24, 4, 1, "", "name"]], "buildingmotif.dataclasses.model": [[25, 2, 1, "", "Model"]], "buildingmotif.dataclasses.model.Model": [[25, 3, 1, "", "add_graph"], [25, 3, 1, "", "add_triples"], [25, 3, 1, "", "compile"], [25, 3, 1, "", "create"], [25, 4, 1, "", "description"], [25, 3, 1, "", "get_manifest"], [25, 6, 1, "", "graph"], [25, 4, 1, "", "id"], [25, 3, 1, "", "load"], [25, 4, 1, "", "name"], [25, 3, 1, "", "test_model_against_shapes"], [25, 3, 1, "", "update_manifest"], [25, 3, 1, "", "validate"]], "buildingmotif.dataclasses.shape_collection": [[26, 2, 1, "", "ShapeCollection"]], "buildingmotif.dataclasses.shape_collection.ShapeCollection": [[26, 3, 1, "", "add_graph"], [26, 3, 1, "", "add_triples"], [26, 3, 1, "", "create"], [26, 3, 1, "", "get_shapes_about_class"], [26, 3, 1, "", "get_shapes_of_definition_type"], [26, 3, 1, "", "get_shapes_of_domain"], [26, 6, 1, "", "graph"], [26, 4, 1, "", "graph_name"], [26, 4, 1, "", "id"], [26, 3, 1, "", "load"], [26, 3, 1, "", "resolve_imports"], [26, 3, 1, "", "shape_to_query"]], "buildingmotif.dataclasses.template": [[27, 2, 1, "", "Dependency"], [27, 2, 1, "", "Template"]], "buildingmotif.dataclasses.template.Dependency": [[27, 6, 1, "", "args"], [27, 4, 1, "", "template"], [27, 4, 1, "", "template_id"]], "buildingmotif.dataclasses.template.Template": [[27, 3, 1, "", "add_dependency"], [27, 4, 1, "", "all_parameters"], [27, 6, 1, "", "body"], [27, 3, 1, "", "check_dependencies"], [27, 4, 1, "", "defining_library"], [27, 3, 1, "", "dependency_for_parameter"], [27, 4, 1, "", "dependency_parameters"], [27, 3, 1, "", "evaluate"], [27, 3, 1, "", "fill"], [27, 3, 1, "", "find_subgraphs"], [27, 3, 1, "", "generate_csv"], [27, 3, 1, "", "generate_spreadsheet"], [27, 3, 1, "", "get_dependencies"], [27, 4, 1, "", "id"], [27, 3, 1, "", "in_memory_copy"], [27, 3, 1, "", "inline_dependencies"], [27, 3, 1, "", "library_dependencies"], [27, 3, 1, "", "load"], [27, 4, 1, "", "name"], [27, 6, 1, "", "optional_args"], [27, 4, 1, "", "parameter_counts"], [27, 4, 1, "", "parameters"], [27, 3, 1, "", "remove_dependency"], [27, 3, 1, "", "to_inline"]], "buildingmotif.dataclasses.validation": [[28, 2, 1, "", "GraphClassCardinality"], [28, 2, 1, "", "GraphDiff"], [28, 2, 1, "", "PathClassCount"], [28, 2, 1, "", "PathShapeCount"], [28, 2, 1, "", "RequiredClass"], [28, 2, 1, "", "RequiredPath"], [28, 2, 1, "", "ValidationContext"], [28, 1, 1, "", "diffset_to_templates"]], "buildingmotif.dataclasses.validation.GraphClassCardinality": [[28, 6, 1, "", "classname"], [28, 6, 1, "", "expectedCount"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.GraphDiff": [[28, 4, 1, "", "failed_component"], [28, 4, 1, "", "failed_shape"], [28, 6, 1, "", "focus"], [28, 6, 1, "", "graph"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"], [28, 6, 1, "", "validation_result"]], "buildingmotif.dataclasses.validation.PathClassCount": [[28, 6, 1, "", "classname"], [28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.PathShapeCount": [[28, 6, 1, "", "extra_body"], [28, 6, 1, "", "extra_deps"], [28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"], [28, 6, 1, "", "shapename"]], "buildingmotif.dataclasses.validation.RequiredClass": [[28, 6, 1, "", "classname"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.RequiredPath": [[28, 6, 1, "", "maxc"], [28, 6, 1, "", "minc"], [28, 6, 1, "", "path"], [28, 3, 1, "", "reason"], [28, 3, 1, "", "resolve"]], "buildingmotif.dataclasses.validation.ValidationContext": [[28, 3, 1, "", "as_templates"], [28, 4, 1, "", "diffset"], [28, 3, 1, "", "get_reasons_with_severity"], [28, 6, 1, "", "model"], [28, 6, 1, "", "report"], [28, 6, 1, "", "report_string"], [28, 6, 1, "", "shape_collections"], [28, 6, 1, "", "shapes_graph"], [28, 6, 1, "", "valid"]], "buildingmotif.ingresses": [[30, 0, 0, "-", "bacnet"], [31, 0, 0, "-", "base"], [32, 0, 0, "-", "brick"], [33, 0, 0, "-", "csv"], [34, 0, 0, "-", "template"], [35, 0, 0, "-", "xlsx"]], "buildingmotif.ingresses.bacnet": [[30, 2, 1, "", "BACnetNetwork"]], "buildingmotif.ingresses.bacnet.BACnetNetwork": [[30, 4, 1, "", "records"]], "buildingmotif.ingresses.base": [[31, 2, 1, "", "GraphIngressHandler"], [31, 2, 1, "", "IngressHandler"], [31, 2, 1, "", "Record"], [31, 2, 1, "", "RecordIngressHandler"]], "buildingmotif.ingresses.base.GraphIngressHandler": [[31, 3, 1, "", "graph"]], "buildingmotif.ingresses.base.Record": [[31, 6, 1, "", "fields"], [31, 6, 1, "", "rtype"]], "buildingmotif.ingresses.base.RecordIngressHandler": [[31, 3, 1, "", "dump"], [31, 3, 1, "", "dumps"], [31, 3, 1, "", "load"], [31, 3, 1, "", "loads"], [31, 4, 1, "", "records"]], "buildingmotif.ingresses.brick": [[32, 2, 1, "", "BACnetToBrickIngress"]], "buildingmotif.ingresses.brick.BACnetToBrickIngress": [[32, 6, 1, "", "BNS"], [32, 3, 1, "", "graph"]], "buildingmotif.ingresses.csv": [[33, 2, 1, "", "CSVIngress"]], "buildingmotif.ingresses.csv.CSVIngress": [[33, 4, 1, "", "records"]], "buildingmotif.ingresses.template": [[34, 2, 1, "", "TemplateIngress"], [34, 2, 1, "", "TemplateIngressWithChooser"]], "buildingmotif.ingresses.template.TemplateIngress": [[34, 3, 1, "", "graph"]], "buildingmotif.ingresses.template.TemplateIngressWithChooser": [[34, 3, 1, "", "graph"]], "buildingmotif.ingresses.xlsx": [[35, 2, 1, "", "XLSXIngress"]], "buildingmotif.ingresses.xlsx.XLSXIngress": [[35, 4, 1, "", "records"]], "buildingmotif.namespaces": [[37, 1, 1, "", "bind_prefixes"]], "buildingmotif.schemas": [[38, 1, 1, "", "validate_libraries_yaml"]], "buildingmotif.shape_builder": [[40, 0, 0, "-", "shape"]], "buildingmotif.shape_builder.shape": [[40, 1, 1, "", "AND"], [40, 1, 1, "", "NOT"], [40, 2, 1, "", "NodeShape"], [40, 1, 1, "", "OR"], [40, 2, 1, "", "PropertyShape"], [40, 2, 1, "", "Shape"], [40, 1, 1, "", "XONE"]], "buildingmotif.shape_builder.shape.NodeShape": [[40, 3, 1, "", "always_run"], [40, 3, 1, "", "count"], [40, 3, 1, "", "has_property"], [40, 3, 1, "", "of_class"]], "buildingmotif.shape_builder.shape.PropertyShape": [[40, 3, 1, "", "has_path"], [40, 3, 1, "", "matches"], [40, 3, 1, "", "matches_class"], [40, 3, 1, "", "matches_shape"]], "buildingmotif.shape_builder.shape.Shape": [[40, 3, 1, "", "AND"], [40, 3, 1, "", "NOT"], [40, 3, 1, "", "OR"], [40, 3, 1, "", "XONE"], [40, 3, 1, "", "add"], [40, 3, 1, "", "add_list_property"], [40, 3, 1, "", "add_property"]], "buildingmotif.template_compilation": [[41, 7, 1, "", "RULES"], [41, 1, 1, "", "bacnet"], [41, 1, 1, "", "body"], [41, 1, 1, "", "compile_template_spec"], [41, 1, 1, "", "feeds"], [41, 1, 1, "", "hasType"], [41, 1, 1, "", "isFedBy"], [41, 1, 1, "", "parts"], [41, 1, 1, "", "points"], [41, 1, 1, "", "rule"]], "buildingmotif.template_matcher": [[42, 2, 1, "", "TemplateMatcher"], [42, 1, 1, "", "digraph_to_rdflib"], [42, 1, 1, "", "generate_all_subgraphs"], [42, 1, 1, "", "get_semantic_feasibility"]], "buildingmotif.template_matcher.TemplateMatcher": [[42, 3, 1, "", "add_mapping"], [42, 6, 1, "", "building"], [42, 3, 1, "", "building_mapping_subgraphs_iter"], [42, 3, 1, "", "building_subgraph_from_mapping"], [42, 4, 1, "", "largest_mapping_size"], [42, 6, 1, "", "mappings"], [42, 3, 1, "", "mappings_iter"], [42, 3, 1, "", "remaining_template"], [42, 3, 1, "", "remaining_template_graph"], [42, 6, 1, "", "template"], [42, 6, 1, "", "template_bindings"], [42, 6, 1, "", "template_graph"], [42, 3, 1, "", "template_subgraph_from_mapping"]], "buildingmotif.utils": [[43, 1, 1, "", "combine_graphs"], [43, 1, 1, "", "copy_graph"], [43, 1, 1, "", "get_ontology_files"], [43, 1, 1, "", "get_parameters"], [43, 1, 1, "", "get_template_parts_from_shape"], [43, 1, 1, "", "graph_size"], [43, 1, 1, "", "inline_sh_nodes"], [43, 1, 1, "", "new_temporary_graph"], [43, 1, 1, "", "remove_triples_with_node"], [43, 1, 1, "", "replace_nodes"], [43, 1, 1, "", "rewrite_shape_graph"], [43, 1, 1, "", "shacl_inference"], [43, 1, 1, "", "shacl_validate"], [43, 1, 1, "", "skip_uri"], [43, 1, 1, "", "template_to_shape"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:attribute", "7": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "exception", "Python exception"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "data", "Python data"]}, "titleterms": {"buildingmotif": [0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "document": [0, 44, 46], "refer": 0, "tutori": 0, "guid": 0, "explan": 0, "appendix": 0, "bibliographi": 1, "ingress": [2, 29, 30, 31, 32, 33, 34, 35], "type": [2, 7], "record": 2, "handler": 2, "graph": [2, 48], "us": [2, 46, 49], "built": 2, "bacnet": [2, 7, 30, 45], "network": [2, 7], "csv": [2, 5, 33], "file": 2, "xlsx": [2, 35], "spreadsheet": 2, "templat": [2, 4, 14, 27, 34, 47, 48, 50], "instanti": 2, "exampl": [2, 4], "brick": [2, 7, 32], "import": [2, 5, 48], "shacl": [3, 6], "sparql": [3, 6], "convers": 3, "shape": [3, 4, 6, 40, 49], "queri": [3, 6], "algorithm": 3, "select": 3, "claus": 3, "gener": [3, 6], "where": 3, "convert": 4, "support": 6, "featur": 6, "setup": [6, 7, 47, 49], "find": [6, 49], "from": 6, "extern": 7, "pull": 7, "metadata": 7, "an": 7, "initi": 7, "model": [7, 13, 25, 47, 48, 49], "augment": 7, "our": 7, "strategi": 7, "point": 7, "infer": 7, "api": [9, 10, 11, 12, 13, 14, 45], "app": [10, 46], "view": [11, 12, 13, 14], "librari": [12, 24, 36, 45, 48], "building_motif": [15, 16, 17], "singleton": 17, "databas": [18, 19, 20, 21, 22, 46], "graph_connect": 19, "table_connect": 20, "tabl": 21, "util": [22, 43], "dataclass": [23, 24, 25, 26, 27, 28], "shape_collect": 26, "valid": [28, 47, 49], "base": 31, "namespac": 37, "schema": 38, "shape_build": [39, 40], "template_compil": 41, "template_match": 42, "code": 44, "command": 45, "line": 45, "interfac": 45, "load": [45, 48], "cli": 45, "usag": 45, "bulk": 45, "directori": 45, "ontolog": [45, 49], "git": 45, "repositori": 45, "individu": [45, 48], "scan": 45, "server": 45, "develop": 46, "instal": 46, "postgr": 46, "continu": 46, "integr": 46, "local": 46, "remot": 46, "build": 46, "publish": 46, "web": 46, "run": 46, "docker": 46, "correct": 47, "creation": 48, "creat": 48, "ad": [48, 49, 50], "manual": 48, "rdf": 48, "tripl": 48, "Into": 48, "explor": 48, "evalu": 48, "manifest": 49, "write": [49, 50], "tip": 49, "suppli": 49, "extra": 49, "collect": 49, "fix": 49, "case": 49, "part": 50, "bodi": 50, "option": 50, "depend": 50, "save": 50, "organ": 50}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file diff --git a/tutorials/model_correction.html b/tutorials/model_correction.html index 7b721875e..50bb80138 100644 --- a/tutorials/model_correction.html +++ b/tutorials/model_correction.html @@ -513,205 +513,205 @@

    Setup#

    -
    2024-03-12 21:32:49,712 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,353 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,713 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,354 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Setpoint
     
    -
    2024-03-12 21:32:49,713 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-fan
    +
    2024-03-14 00:41:06,355 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
     
    -
    2024-03-12 21:32:49,714 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
    +
    2024-03-14 00:41:06,355 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
     
    -
    2024-03-12 21:32:49,714 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-ra-damper
    +
    2024-03-14 00:41:06,356 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
     
    -
    2024-03-12 21:32:49,715 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
    +
    2024-03-14 00:41:06,357 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,716 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
    +
    2024-03-14 00:41:06,357 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,716 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
    +
    2024-03-14 00:41:06,357 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/hot-deck
     
    -
    2024-03-12 21:32:49,717 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
    +
    2024-03-14 00:41:06,358 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/cold-deck
     
    -
    2024-03-12 21:32:49,717 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/clg-signal
    +
    2024-03-14 00:41:06,358 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Flow_Sensor
     
    -
    2024-03-12 21:32:49,717 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/htg-signal
    +
    2024-03-14 00:41:06,359 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:32:49,718 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-temperature
    +
    2024-03-14 00:41:06,360 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:32:49,718 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/occupancy-sensor
    +
    2024-03-14 00:41:06,360 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:32:49,720 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-co2-level
    +
    2024-03-14 00:41:06,364 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
     
    -
    2024-03-12 21:32:49,720 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:06,365 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
     
    -
    2024-03-12 21:32:49,720 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
    +
    2024-03-14 00:41:06,365 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
     
    -
    2024-03-12 21:32:49,721 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
    +
    2024-03-14 00:41:06,366 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
     
    -
    2024-03-12 21:32:49,722 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
    +
    2024-03-14 00:41:06,366 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
     
    -
    2024-03-12 21:32:49,722 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
    +
    2024-03-14 00:41:06,366 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/box-damper-position
     
    -
    2024-03-12 21:32:49,722 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
    +
    2024-03-14 00:41:06,367 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:32:49,723 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
    +
    2024-03-14 00:41:06,367 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:32:49,726 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
    +
    2024-03-14 00:41:06,368 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:32:49,727 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,368 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/window-switch
     
    -
    2024-03-12 21:32:49,727 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:06,368 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/discharge-airflow
     
    -
    2024-03-12 21:32:49,731 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
    +
    2024-03-14 00:41:06,369 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:32:49,731 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
    +
    2024-03-14 00:41:06,370 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Zone_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,732 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
    +
    2024-03-14 00:41:06,370 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
     
    -
    2024-03-12 21:32:49,732 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
    +
    2024-03-14 00:41:06,371 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
     
    -
    2024-03-12 21:32:49,733 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
    +
    2024-03-14 00:41:06,374 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
     
    -
    2024-03-12 21:32:49,733 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/hot-deck
    +
    2024-03-14 00:41:06,374 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,733 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/cold-deck
    +
    2024-03-14 00:41:06,375 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:32:49,734 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Flow_Sensor
    +
    2024-03-14 00:41:06,375 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/hot-deck
     
    -
    2024-03-12 21:32:49,734 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:06,375 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/cold-deck
     
    -
    2024-03-12 21:32:49,735 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:06,376 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:32:49,735 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:06,376 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:32:49,735 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Temperature_Sensor
    +
    2024-03-14 00:41:06,377 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:32:49,736 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Operating_Mode_Status
    +
    2024-03-14 00:41:06,377 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
     
    -
    2024-03-12 21:32:49,736 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/hot-deck
    +
    2024-03-14 00:41:06,377 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
     
    -
    2024-03-12 21:32:49,737 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/cold-deck
    +
    2024-03-14 00:41:06,378 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
     
    -
    2024-03-12 21:32:49,738 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:06,378 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Temperature_Sensor
     
    -
    2024-03-12 21:32:49,738 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:06,379 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:32:49,739 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:06,379 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,739 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
    +
    2024-03-14 00:41:06,379 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,740 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:06,380 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-fan
     
    -
    2024-03-12 21:32:49,740 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
    +
    2024-03-14 00:41:06,380 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
     
    -
    2024-03-12 21:32:49,740 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
    +
    2024-03-14 00:41:06,380 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-ra-damper
     
    -
    2024-03-12 21:32:49,741 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
    +
    2024-03-14 00:41:06,381 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
     
    -
    2024-03-12 21:32:49,741 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Zone_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,381 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
     
    -
    2024-03-12 21:32:49,742 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
    +
    2024-03-14 00:41:06,382 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
     
    -
    2024-03-12 21:32:49,743 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
    +
    2024-03-14 00:41:06,382 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
     
    -
    2024-03-12 21:32:49,743 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,382 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/clg-signal
     
    -
    2024-03-12 21:32:49,743 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Setpoint
    +
    2024-03-14 00:41:06,383 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/htg-signal
     
    -
    2024-03-12 21:32:49,744 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,383 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-temperature
     
    -
    2024-03-12 21:32:49,744 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,384 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/occupancy-sensor
     
    -
    2024-03-12 21:32:49,745 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,384 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-co2-level
     
    -
    2024-03-12 21:32:49,745 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/box-damper-position
    +
    2024-03-14 00:41:06,384 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,746 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:06,385 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,746 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:06,385 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
     
    -
    2024-03-12 21:32:49,747 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:06,386 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
     
    -
    2024-03-12 21:32:49,747 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/window-switch
    +
    2024-03-14 00:41:06,386 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
     
    -
    2024-03-12 21:32:49,748 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/discharge-airflow
    +
    2024-03-14 00:41:06,386 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
     
    -
    2024-03-12 21:32:49,748 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:06,387 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Operating_Mode_Status
     
    -
    2024-03-12 21:32:49,748 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,387 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:32:49,749 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,387 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,749 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:06,388 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,750 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,388 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:32:49,750 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
    +
    2024-03-14 00:41:06,389 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    @@ -747,9 +747,7 @@

    Model Validation
    Model is valid? False
    -
    -

    -
     - Graph did not have 1 instances of https://brickschema.org/schema/Brick#Supply_Fan
    + - Graph did not have 1 instances of https://brickschema.org/schema/Brick#Supply_Fan
      - urn:bldg/Core_ZN-PSC_AC needs between 1 and 1 instances of urn:ashrae/g36/4.8/sz-vav-ahu/sa-fan on path https://brickschema.org/schema/Brick#hasPart
     
    @@ -779,7 +777,7 @@

    Model Correction with Templates -
    Name (autogenerated): resolvecf9c9d18
    +
    Name (autogenerated): resolveff62d493
     Parameters (autogenerated): {'name'}
     Template body (autogenerated):
     @prefix brick: <https://brickschema.org/schema/Brick#> .
    @@ -788,25 +786,25 @@ 

    Model Correction with Templates
    @prefix brick: <https://brickschema.org/schema/Brick#> .
    -@prefix default6: <urn:ashrae/g36/4.8/sz-vav-ahu/> .
    +@prefix default5: <urn:ashrae/g36/4.8/sz-vav-ahu/> .
     @prefix owl: <http://www.w3.org/2002/07/owl#> .
     
     <urn:bldg/> a owl:Ontology .
    @@ -904,21 +902,21 @@ 

    Model Correction with Templates
    <Graph identifier=748c763e-f370-4058-b8c2-ad418f9c0e2a (<class 'rdflib.graph.Graph'>)>
    +
    <Graph identifier=3194a536-ba66-482d-bb78-0a06835c35e5 (<class 'rdflib.graph.Graph'>)>
     
    diff --git a/tutorials/model_creation.html b/tutorials/model_creation.html index e762accc6..20d484e4e 100644 --- a/tutorials/model_creation.html +++ b/tutorials/model_creation.html @@ -574,16 +574,18 @@

    Loading Libraries
    The Brick library contains the following templates:
    -  - https://brickschema.org/schema/Brick#Warmest_Zone_Air_Temperature_Sensor
    -  - https://brickschema.org/schema/Brick#Liquid_Detection_Alarm
    -  - https://brickschema.org/schema/Brick#Intake_Air_Temperature_Sensor
    -  - https://brickschema.org/schema/Brick#Heating_Start_Stop_Status
    -  - https://brickschema.org/schema/Brick#Min_Speed_Setpoint_Limit
    -  - https://brickschema.org/schema/Brick#PM2.5_Level_Sensor
    -  - https://brickschema.org/schema/Brick#Bypass_Water_Flow_Setpoint
    -  - https://brickschema.org/schema/Brick#Min_Temperature_Setpoint_Limit
    -  - https://brickschema.org/schema/Brick#Supply_Water_Temperature_Proportional_Band_Parameter
    -  - https://brickschema.org/schema/Brick#Outside_Air_Flow_Setpoint
    +
    +
    +
      - https://brickschema.org/schema/Brick#Outside_Air_Humidity_Sensor
    +  - https://brickschema.org/schema/Brick#Reactive_Power_Sensor
    +  - https://brickschema.org/schema/Brick#Motor_Direction_Status
    +  - https://brickschema.org/schema/Brick#NO2_Level_Sensor
    +  - https://brickschema.org/schema/Brick#Hot_Water_Return_Flow_Sensor
    +  - https://brickschema.org/schema/Brick#Differential_Pressure_Load_Shed_Status
    +  - https://brickschema.org/schema/Brick#Average_Supply_Air_Flow_Sensor
    +  - https://brickschema.org/schema/Brick#Hot_Water_Return_Temperature_Sensor
    +  - https://brickschema.org/schema/Brick#Return_Condenser_Water_Flow_Sensor
    +  - https://brickschema.org/schema/Brick#Occupied_Cooling_Temperature_Deadband_Setpoint
     

    @@ -607,7 +609,7 @@

    Adding Individual RDF Triples to a Model -
    <Graph identifier=48976477-aaf8-4d94-a1cf-b44d05b00e93 (<class 'rdflib.graph.Graph'>)>
    +
    <Graph identifier=f489c447-22b8-4147-83bd-e454b319c577 (<class 'rdflib.graph.Graph'>)>
     
    @@ -653,7 +655,7 @@

    Importing RDF Graphs Into a Model -
    -
    2024-03-12 21:33:25,374 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
    +
    2024-03-14 00:41:36,011 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:33:25,375 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
    +
    2024-03-14 00:41:36,012 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
     
    -
    2024-03-12 21:33:25,376 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
    +
    2024-03-14 00:41:36,013 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
     
    -
    2024-03-12 21:33:25,376 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
    +
    2024-03-14 00:41:36,013 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,377 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
    +
    2024-03-14 00:41:36,014 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,377 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
    +
    2024-03-14 00:41:36,014 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Operating_Mode_Status
     
    -
    2024-03-12 21:33:25,378 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:36,015 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
     
    -
    2024-03-12 21:33:25,378 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Operating_Mode_Status
    +
    2024-03-14 00:41:36,015 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:33:25,380 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,015 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:33:25,380 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,016 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
     
    -
    2024-03-12 21:33:25,380 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Temperature_Sensor
    +
    2024-03-14 00:41:36,020 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
     
    -
    2024-03-12 21:33:25,381 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,020 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
     
    -
    2024-03-12 21:33:25,381 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,021 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
     
    -
    2024-03-12 21:33:25,382 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,022 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
     
    -
    2024-03-12 21:33:25,383 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
    +
    2024-03-14 00:41:36,022 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
     
    -
    2024-03-12 21:33:25,383 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,022 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/box-damper-position
     
    -
    2024-03-12 21:33:25,384 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,023 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:33:25,384 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
    +
    2024-03-14 00:41:36,023 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:33:25,384 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-fan
    +
    2024-03-14 00:41:36,024 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:33:25,385 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
    +
    2024-03-14 00:41:36,024 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/window-switch
     
    -
    2024-03-12 21:33:25,386 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-ra-damper
    +
    2024-03-14 00:41:36,024 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/discharge-airflow
     
    -
    2024-03-12 21:33:25,387 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
    +
    2024-03-14 00:41:36,025 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/hot-deck
     
    -
    2024-03-12 21:33:25,387 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
    +
    2024-03-14 00:41:36,025 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/cold-deck
     
    -
    2024-03-12 21:33:25,387 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
    +
    2024-03-14 00:41:36,026 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:33:25,388 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
    +
    2024-03-14 00:41:36,026 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:33:25,389 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/clg-signal
    +
    2024-03-14 00:41:36,027 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:33:25,389 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/htg-signal
    +
    2024-03-14 00:41:36,027 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
     
    -
    2024-03-12 21:33:25,390 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-temperature
    +
    2024-03-14 00:41:36,029 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
     
    -
    2024-03-12 21:33:25,390 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/occupancy-sensor
    +
    2024-03-14 00:41:36,030 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
     
    -
    2024-03-12 21:33:25,390 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-co2-level
    +
    2024-03-14 00:41:36,030 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
     
    -
    2024-03-12 21:33:25,391 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/hot-deck
    +
    2024-03-14 00:41:36,030 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/hot-deck
     
    -
    2024-03-12 21:33:25,391 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/cold-deck
    +
    2024-03-14 00:41:36,031 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.5/dual-duct-terminal-unit-with-discharge/cold-deck
     
    -
    2024-03-12 21:33:25,392 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Flow_Sensor
    +
    2024-03-14 00:41:36,031 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Flow_Sensor
     
    -
    2024-03-12 21:33:25,392 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:36,032 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:33:25,393 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:36,032 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
     
    -
    2024-03-12 21:33:25,393 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:36,033 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
     
    -
    2024-03-12 21:33:25,395 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/box-damper-position
    +
    2024-03-14 00:41:36,034 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Zone_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,395 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:36,034 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Temperature_Sensor
     
    -
    2024-03-12 21:33:25,396 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:36,035 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,396 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:36,035 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,397 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/window-switch
    +
    2024-03-14 00:41:36,036 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Frequency_Command
     
    -
    2024-03-12 21:33:25,397 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/discharge-airflow
    +
    2024-03-14 00:41:36,036 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Start_Stop_Command
     
    -
    2024-03-12 21:33:25,397 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,037 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Fan_Status
     
    -
    2024-03-12 21:33:25,399 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,037 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-fan
     
    -
    2024-03-12 21:33:25,399 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
    +
    2024-03-14 00:41:36,038 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
     
    -
    2024-03-12 21:33:25,400 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Valve_Position_Command
    +
    2024-03-14 00:41:36,039 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-ra-damper
     
    -
    2024-03-12 21:33:25,400 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,039 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
     
    -
    2024-03-12 21:33:25,400 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Setpoint
    +
    2024-03-14 00:41:36,039 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
     
    -
    2024-03-12 21:33:25,401 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
    +
    2024-03-14 00:41:36,040 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
     
    -
    2024-03-12 21:33:25,401 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:36,040 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
     
    -
    2024-03-12 21:33:25,402 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/hot-deck
    +
    2024-03-14 00:41:36,041 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/clg-signal
     
    -
    2024-03-12 21:33:25,402 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.4/dual-duct-terminal-unit-with-inlet-sensors/cold-deck
    +
    2024-03-14 00:41:36,041 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/htg-signal
     
    -
    2024-03-12 21:33:25,403 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:36,042 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-temperature
     
    -
    2024-03-12 21:33:25,403 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-co2-level
    +
    2024-03-14 00:41:36,042 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/occupancy-sensor
     
    -
    2024-03-12 21:33:25,404 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/occupancy-sensor
    +
    2024-03-14 00:41:36,042 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/zone-co2-level
     
    -
    2024-03-12 21:33:25,404 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Zone_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,045 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
     
    -
    2024-03-12 21:33:25,405 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:36,045 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,405 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
    +
    2024-03-14 00:41:36,046 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
     
    -
    2024-03-12 21:33:25,410 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/oa-temp
    +
    2024-03-14 00:41:36,046 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,411 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ma-temp
    +
    2024-03-14 00:41:36,046 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Temperature_Setpoint
     
    -
    2024-03-12 21:33:25,411 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/ra-temp
    +
    2024-03-14 00:41:36,047 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Occupancy_Sensor
     
    -
    2024-03-12 21:33:25,412 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/filter-pd
    +
    2024-03-14 00:41:36,047 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#CO2_Level_Sensor
     
    -
    2024-03-12 21:33:25,412 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.8/sz-vav-ahu/sa-temp
    +
    2024-03-14 00:41:36,048 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,413 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Damper_Position_Command
    +
    2024-03-14 00:41:36,048 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,416 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor
    +
    2024-03-14 00:41:36,049 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,416 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Sensor
    +
    2024-03-14 00:41:36,049 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor
     
    -
    2024-03-12 21:33:25,416 | root |  WARNING: Warning: could not find dependee urn:ashrae/g36/4.1/vav-cooling-only/zone-temperature
    +
    2024-03-14 00:41:36,049 | root |  WARNING: Warning: could not find dependee https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor
     
    @@ -931,15 +931,15 @@

    Adding the Manifest to the Model 3 # set it as the manifest for the model ----> 4 model.update_manifest(manifest) -File ~/work/BuildingMOTIF/BuildingMOTIF/buildingmotif/dataclasses/model.py:333, in Model.update_manifest(self, manifest) - 326 def update_manifest(self, manifest: ShapeCollection): - 327 """Updates the manifest for this model by adding in the contents - 328 of the shape graph inside the provided SHapeCollection - 329 - 330 :param manifest: the ShapeCollection containing additional shapes against which to validate this model - 331 :type manifest: ShapeCollection - 332 """ ---> 333 self.get_manifest().graph += manifest.graph +File ~/work/BuildingMOTIF/BuildingMOTIF/buildingmotif/dataclasses/model.py:314, in Model.update_manifest(self, manifest) + 307 def update_manifest(self, manifest: ShapeCollection): + 308 """Updates the manifest for this model by adding in the contents + 309 of the shape graph inside the provided SHapeCollection + 310 + 311 :param manifest: the ShapeCollection containing additional shapes against which to validate this model + 312 :type manifest: ShapeCollection + 313 """ +--> 314 self.get_manifest().graph += manifest.graph AttributeError: 'Library' object has no attribute 'graph'