From fdc946989f2e5843bddec9a9575b78afc5cefb72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Wed, 3 Jun 2026 12:38:18 +0200 Subject: [PATCH] first commit --- app/__pycache__/__init__.cpython-314.pyc | Bin 142 -> 0 bytes app/__pycache__/main.cpython-314.pyc | Bin 31570 -> 0 bytes app/__pycache__/models.cpython-314.pyc | Bin 3780 -> 0 bytes app/__pycache__/simulator.cpython-314.pyc | Bin 8039 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/__pycache__/__init__.cpython-314.pyc delete mode 100644 app/__pycache__/main.cpython-314.pyc delete mode 100644 app/__pycache__/models.cpython-314.pyc delete mode 100644 app/__pycache__/simulator.cpython-314.pyc diff --git a/app/__pycache__/__init__.cpython-314.pyc b/app/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 585e762c5fb0911c5ceb9e63417f89a0e9ea1a02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmdPq_I|p@<2{{|u76rLCWlpPQ) diff --git a/app/__pycache__/main.cpython-314.pyc b/app/__pycache__/main.cpython-314.pyc deleted file mode 100644 index 238d9ecd4507a66c43e4becbff2afbb01b45b93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31570 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 Mq`Y6sl2<K(;n(ji#0itwk3Dj z*mZZO-Fc=`?kk9`Kv?Faxn!G7($V{F^KCl_s2(qBygPY1m zh=l~NY=$>frfx)7WLC;cbCMP+NLsiOtpryTv7y9bLa%~8a!DT-`Y7mQ6?G-(%}xky z9JC3aHYv18(58Ial+dO@JLc1-g*F4)tWP^8wBw-7`Lr1=KQEOg{(&zq$vkdYmdy-i z+Li;NQnp$Rc&Zyfnnqo0h|jdc8p`_G!CGc!>O=Wz>1BMyiw;j%n?_mbOYNkLbE( zG>ESAn65YMTC0wHLf3J+XG!b&j!7L>H!Wh>x=s;l8VADjx(@GQW>q&Bqvq2VBMwYR zfbAT95-%<7*$uMP*j;MalOswCV=4>5|cGf*L;9dAHf7QJ61C1Q-Xm__NeY zjCabt%$r|+NV5a;|KyhBNVjBu^*NzUqm6DU@9dB&Yi160yu~! z@wF)=X(VGvCXf`6WRT!d-Q$fTmmd&ZI{1!Mq4UdLZvM+h?nIn(={trw@*A-D;LWn& zf>crFq-|M~wZLis%rFq_3V?kRcwv>cXS9$OULC}`s;OX)pk0fyh!%sei1V0cF!GB% z!`dbLlaEZ|m`1f|*NT84Wv$}xDXFzt3t};_OL)9SoGLY&7_vNQT8xJpw#D}Li<({C zw@A@$Qo9PCw4WK4Ns2?sE(PfnyqE{-gua1HXs2!)OymHBl}_Olo`a(!9jwA4`X;V~ z*z+Y0gjNwvquf4;1|%3L&TSxHNoSdf!@1+q{gX_&Q+~1BRmx|RGe>i;0>^iMdouZ? z^Y9>lsyuNa!KIfV34sEJeEtPcA0!1oB&%Lt0w4i!c<=%cO&Qu$Ed;i(07C^ZA|OQv zGqo5%8y^B2h2j*}l45R(#RPC^9`^-qNfzFv({L=|q}MXw#po=^JZv=V7C@!gR+a28 zc-7^}EfjAp7HuqG)#Gt@cc$ktVG1wO1uGYwo(W*1?hW!|TUi_lCWm^ypu&Y^z z5&;n)uq(y?J9Kmo&xhYZ5e)hkl2O3TqX7wKl=BlH9&j(;a6y|s%S|4B^73Kl!HaTN zne8pV-+6GHc(1Fxe>OA!>i*ZCoXo5OlvAh5stYAJoT!S`297Y#l zh8s}PCN-_9*~Av*#vL{w5qvy^A>{0Or(5^Zo{9-2(DHD@pu5m(+!=*+9(@Wu&dq-; z_k7H}=uURcIgW{js{~uqPKat-=#nTJ)-@aL#^4 z*nO!36MQ>6UJc6qa3H?}hjat^UF4RKyoW?IE71pkgrcbVqAlD3kt_IOx`LJ;BN-L; zi)cWC?sEPD1j4>BeI&p9Q)lxgnyZZ*Q+1E4c%^tE}}F*G?D9-!7Jqm5JkPC9Hxs-uhjEqvP!L zuCji1^X+f$pWM8M^8BfC&rKsd+@&-Mf&zwoz75ouMkP!mO|HN#M1)olIMJG*Nhw-r zsBeQjmZBeKbDWk=plExt{6FmO7x<~LrqS?04G>?O0$ zw|cqBt}@vhzt&Z*^)eG(WulkPohmukt+;lyTdy>l<^R*I2*g#lqAoUcx~M(^oP^LN z!RaY*dYY?`TMbCswwvH#QSKer=P?HN*E)FAtnrk~58TW%uI%@7YGBkI<8xBu33o3~ z%3vYD3#C4o#?wQUJCmnj9fcd?;7-Ql4dagk!3B^09Godw*SF#Vb`Nz(mf`2D0Re;( z2+ml(tK>a&3e#O>+T*iA?`rY_wft09nF8!il?iue+;22$m?pktSpPxP;Gc~a1~02T z>#w*@6aEqquUPqFzQQApmjU8y;Hv6jlYlpFjr{aSV4+CX;pgDB6+S&Ri(NB$5rH^i ztCYnn|4xgwC|vm|<~COd{41dfvSFykm?L-#;*n;%Wih!W%)bl`roDechc1N(v5yNAkQ3B z4_EpUF#T9SUN{UMeu~lpN}tIGlPG*9_hX8D_n_35;L%S-Xn{vR Z7n2Jw%)SJV{!~EDA5Q)omgfb;{{bWbQ)K`E diff --git a/app/__pycache__/simulator.cpython-314.pyc b/app/__pycache__/simulator.cpython-314.pyc deleted file mode 100644 index 333ce8194d0d0ac4393590c073197ec65cf6fc0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8039 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