From 8676f72925753e22731e52ad14d02129a0bdb9c7 Mon Sep 17 00:00:00 2001 From: igcit Date: Wed, 5 Jul 2023 16:21:05 +0200 Subject: [PATCH] IGCIT Helper 2.0.0 --- CHANGELOG.md | 6 + IGCIT Helper/7z/7za.dll | Bin 385024 -> 0 bytes IGCIT Helper/7z/7za.exe | Bin 1230336 -> 0 bytes IGCIT Helper/7z/7zxa.dll | Bin 215040 -> 0 bytes IGCIT Helper/7z/License.txt | 31 - IGCIT Helper/App.config | 8 - IGCIT Helper/CMakeLists.txt | 56 ++ IGCIT Helper/CommonData.cs | 6 - IGCIT Helper/Events/DialogCancelEvent.cs | 11 - IGCIT Helper/Events/DialogCancelEventArgs.cs | 11 - IGCIT Helper/Events/DialogType.cs | 5 - IGCIT Helper/ExtractDumpsCompressThread.h | 75 ++ IGCIT Helper/Form1.Designer.cs | 497 ----------- IGCIT Helper/Form1.cs | 661 --------------- IGCIT Helper/Form1.resx | 388 --------- IGCIT Helper/Form2.Designer.cs | 83 -- IGCIT Helper/Form2.cs | 30 - IGCIT Helper/Form2.resx | 120 --- IGCIT Helper/IGCIT Helper.csproj | 192 ----- IGCIT Helper/IGCIT Helper.sln | 37 - IGCIT Helper/IGCITHelper.rc | Bin 0 -> 82 bytes IGCIT Helper/IGCITHttpClient.cs | 27 - IGCIT Helper/Program.cs | 16 - IGCIT Helper/Properties/AssemblyInfo.cs | 36 - IGCIT Helper/Properties/Resources.Designer.cs | 63 -- IGCIT Helper/Properties/Resources.resx | 121 --- IGCIT Helper/Properties/Settings.Designer.cs | 26 - IGCIT Helper/Properties/Settings.settings | 5 - IGCIT Helper/Utils.cs | 141 ---- IGCIT Helper/bit7z/BUILD.txt | 1 + IGCIT Helper/bit7z/LICENSE | 373 ++++++++ IGCIT Helper/bit7z/README.md | 308 +++++++ IGCIT Helper/bit7z/include/bit7z/bit7z.hpp | 23 + .../bit7z/include/bit7z/bit7zlibrary.hpp | 109 +++ .../bit7z/bitabstractarchivecreator.hpp | 292 +++++++ .../bit7z/bitabstractarchivehandler.hpp | 242 ++++++ .../bit7z/bitabstractarchiveopener.hpp | 59 ++ .../bit7z/include/bit7z/bitarchiveeditor.hpp | 171 ++++ .../bit7z/include/bit7z/bitarchiveitem.hpp | 103 +++ .../include/bit7z/bitarchiveiteminfo.hpp | 54 ++ .../include/bit7z/bitarchiveitemoffset.hpp | 53 ++ .../bit7z/include/bit7z/bitarchivereader.hpp | 152 ++++ .../bit7z/include/bit7z/bitarchivewriter.hpp | 72 ++ .../include/bit7z/bitcompressionlevel.hpp | 30 + .../include/bit7z/bitcompressionmethod.hpp | 30 + .../bit7z/include/bit7z/bitcompressor.hpp | 115 +++ .../bit7z/include/bit7z/bitdefines.hpp | 106 +++ IGCIT Helper/bit7z/include/bit7z/biterror.hpp | 56 ++ .../bit7z/include/bit7z/bitexception.hpp | 94 +++ .../bit7z/include/bit7z/bitextractor.hpp | 305 +++++++ .../bit7z/include/bit7z/bitfilecompressor.hpp | 139 +++ .../bit7z/include/bit7z/bitfileextractor.hpp | 23 + .../bit7z/include/bit7z/bitformat.hpp | 241 ++++++ IGCIT Helper/bit7z/include/bit7z/bitfs.hpp | 41 + .../bit7z/include/bit7z/bitgenericitem.hpp | 61 ++ .../bit7z/include/bit7z/bitinputarchive.hpp | 344 ++++++++ .../bit7z/include/bit7z/bititemsvector.hpp | 165 ++++ .../bit7z/include/bit7z/bitmemcompressor.hpp | 27 + .../bit7z/include/bit7z/bitmemextractor.hpp | 24 + .../bit7z/include/bit7z/bitoutputarchive.hpp | 313 +++++++ .../bit7z/include/bit7z/bitpropvariant.hpp | 455 ++++++++++ .../include/bit7z/bitstreamcompressor.hpp | 28 + .../include/bit7z/bitstreamextractor.hpp | 24 + IGCIT Helper/bit7z/include/bit7z/bittypes.hpp | 91 ++ .../bit7z/include/bit7z/bitwindows.hpp | 142 ++++ IGCIT Helper/{IGCIT-logo.ico => icon1.ico} | Bin IGCIT Helper/igcithelper-resource.qrc | 5 + IGCIT Helper/main.cpp | 11 + IGCIT Helper/mainwindow.cpp | 793 ++++++++++++++++++ IGCIT Helper/mainwindow.h | 77 ++ IGCIT Helper/mainwindow.ui | 778 +++++++++++++++++ IGCIT Helper/packages.config | 5 - IGCIT Helper/resources/IGCIT-logo.ico | Bin 0 -> 15600 bytes IGCIT Helper/tdrdelay.Designer.cs | 200 ----- IGCIT Helper/tdrdelay.cs | 87 -- IGCIT Helper/tdrdelay.resx | 388 --------- 76 files changed, 6667 insertions(+), 3195 deletions(-) delete mode 100755 IGCIT Helper/7z/7za.dll delete mode 100755 IGCIT Helper/7z/7za.exe delete mode 100755 IGCIT Helper/7z/7zxa.dll delete mode 100755 IGCIT Helper/7z/License.txt delete mode 100755 IGCIT Helper/App.config create mode 100755 IGCIT Helper/CMakeLists.txt delete mode 100755 IGCIT Helper/CommonData.cs delete mode 100755 IGCIT Helper/Events/DialogCancelEvent.cs delete mode 100755 IGCIT Helper/Events/DialogCancelEventArgs.cs delete mode 100755 IGCIT Helper/Events/DialogType.cs create mode 100755 IGCIT Helper/ExtractDumpsCompressThread.h delete mode 100755 IGCIT Helper/Form1.Designer.cs delete mode 100755 IGCIT Helper/Form1.cs delete mode 100755 IGCIT Helper/Form1.resx delete mode 100755 IGCIT Helper/Form2.Designer.cs delete mode 100755 IGCIT Helper/Form2.cs delete mode 100755 IGCIT Helper/Form2.resx delete mode 100755 IGCIT Helper/IGCIT Helper.csproj delete mode 100755 IGCIT Helper/IGCIT Helper.sln create mode 100755 IGCIT Helper/IGCITHelper.rc delete mode 100755 IGCIT Helper/IGCITHttpClient.cs delete mode 100755 IGCIT Helper/Program.cs delete mode 100755 IGCIT Helper/Properties/AssemblyInfo.cs delete mode 100755 IGCIT Helper/Properties/Resources.Designer.cs delete mode 100755 IGCIT Helper/Properties/Resources.resx delete mode 100755 IGCIT Helper/Properties/Settings.Designer.cs delete mode 100755 IGCIT Helper/Properties/Settings.settings delete mode 100755 IGCIT Helper/Utils.cs create mode 100755 IGCIT Helper/bit7z/BUILD.txt create mode 100755 IGCIT Helper/bit7z/LICENSE create mode 100755 IGCIT Helper/bit7z/README.md create mode 100755 IGCIT Helper/bit7z/include/bit7z/bit7z.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bit7zlibrary.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitabstractarchivecreator.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitabstractarchivehandler.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitabstractarchiveopener.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchiveeditor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchiveitem.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchiveiteminfo.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchiveitemoffset.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchivereader.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitarchivewriter.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitcompressionlevel.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitcompressionmethod.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitcompressor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitdefines.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/biterror.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitexception.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitextractor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitfilecompressor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitfileextractor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitformat.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitfs.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitgenericitem.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitinputarchive.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bititemsvector.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitmemcompressor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitmemextractor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitoutputarchive.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitpropvariant.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitstreamcompressor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitstreamextractor.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bittypes.hpp create mode 100755 IGCIT Helper/bit7z/include/bit7z/bitwindows.hpp rename IGCIT Helper/{IGCIT-logo.ico => icon1.ico} (100%) create mode 100755 IGCIT Helper/igcithelper-resource.qrc create mode 100755 IGCIT Helper/main.cpp create mode 100755 IGCIT Helper/mainwindow.cpp create mode 100755 IGCIT Helper/mainwindow.h create mode 100755 IGCIT Helper/mainwindow.ui delete mode 100755 IGCIT Helper/packages.config create mode 100755 IGCIT Helper/resources/IGCIT-logo.ico delete mode 100755 IGCIT Helper/tdrdelay.Designer.cs delete mode 100755 IGCIT Helper/tdrdelay.cs delete mode 100755 IGCIT Helper/tdrdelay.resx diff --git a/CHANGELOG.md b/CHANGELOG.md index 79e0176..85e2997 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +#### IGCIT Helper v2.0.0 +* Fix crash dumps enable option when some keys are missing +* Improve SSU anonimyze option, also apply Pokechu22 suggestions +* List all available/enabled Intel GPUs in the system in Device info +* Rewrite from scratch with QT and C++ + #### IGCIT Helper v1.5.1 * Remove leftover used to test compression diff --git a/IGCIT Helper/7z/7za.dll b/IGCIT Helper/7z/7za.dll deleted file mode 100755 index e33e77f7db541c2facf86a6f0d296dd88126bc3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385024 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�fsYfUEFeza! zrC*|NVDu2<^{IgvRto_BB?7$n;TpuaVw7Xx{s2c(*e=23giEn%7UrQ)?AzhdkyvG# zEJ%MO*o`^K_00V~Q{+VTUtfcyF?mhY@j0AW$A=oe&CSiriJpbLs!6`%Yx>;RB>L8+Dv46?B%vW@fiMf?cb=! zt*O)3_qe_}coe+3d?KLAY^XTLI^un5BhD*(#RH0>Oq#yGLA$VFNSDDi`V9;oU+ilv z6suf~oU=e2>{6`Mxfj4PLfFp7y4FyJpirVPw|YctsJ()77_?r;?+7Kv@2Ivalse)< z@Q^KbXQYmea;r-xuq3#MM_gTL2`2^}9%$+$Bd~(GXC8yI1}yA-z_UYZZ&h$WN2q6A zbSFiad7Fa`U-6O@H$7#Mll;3^yJ2TW3VyT(vIV;{oC`S|uSYC6s|5}6UAY?9%6IE^ zCyXjRVP31piWKY4!(-%rtB>Exv%ij>A1rThb8MU!wi}Az2zy&1Bhh9CCaS=C4f{H1 z4_dVxAl3)5XyU{Xnf4#}KSTLOLT|xRskTq6392( zMQu;yjV!(l8DxyO)gmAoVw1|V-s2f&5-dgR8@KD8=itx?TVIVOp-G_&h6mb$ z@bG`IoSDaftqHb%P=MaZ4G!oAFBEk21iQeudu>r*=j7$Yy8CKbsQnX} zMT2TEgid%2KHz$0AQ;1+x*8t_c9xgl`>w~o=WYA5EgvTecLzqS(`?

H{}<_``|tF&vDYFuKQ#!E5T{( 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 k3U$mt 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%0AC}{SXv&$hQyLaw}%XU1C znsQ8@LEmP24@braaUgeg|o^G4YG z8z`?_(L?9qofo+~FDifnRV-a_H1RFmDwPiTF+C+<$BNr)F0X37D{S_F;f)Vsh6-Y) znq^+S2^DOOVn)?b@Jkw`yfqrUHH{gh{PgpKj3FJJ=-d$7|5 z%8n21VaJOpIv+WljSW>_ei<4W2x`lFL&oI|7=$PmIKbQYFz_y)7BVoDAp2rVmLmm2 ztzJxpZKL75$sm8d4x{$A)hLWoFXYw6NLx1tJJl;q)896(oFC}CGKMQ=V83L}L>m< zQ<%E>taa7fC=w?D+$yOX=TfkQnpXY2Cfvu&Q!2Qp6}2>4KZi3uqXym0lPlk=*WEP@ zW=#_`0H2cLtTtSP(2ipOR{};D6i(}{iMjU;7&Y_NA_Jl=8bNHM2%2=!JPhDo6VPto zf{pbT1*rAEv}fqb=__WKrL?UMaa4iD^*)9-YaJ$P_sG2FNfbo-z8%D zVRaxCRWOWScN+@D9SRZ8U`LLghO>yS2E{FeHpqFNS!@o-fHDiC5mYtIGU7dI9xc=X;7Yk(V z#ds<_bCONYgXfx5Ip^ID$zE(8`Ga%jEvJe=ZWa0%_F}fN8TN%?N0pO#FO9XFlXgRV z$%QYj?8V+&)8%~(#xL$Olh;Xq|GW@n_a zS*49AIUHCu0#Rb6#>0VC*>-jn1ZZpq$^+KSU?8I&g8l^d4*B+CrTO+^ut)0yN3f|D z>B~~T&b22?c~f`fy;r1`41dqdUzz%D-gms`eXmN@=6?UbR=?`r`~QW0byR!X1~Gpl z(`^!yIZR^H-;?zLn4GYPD@?bXN%*;p#tmJhZX~a$8n1O2h%*+Jbk@4fXQSplEAblj z-9t7Q_1x1bAImyx3yg)u(B~&aK|17)e_qE~l*zd3-5lUtNYnIpQEGK^6MI>IZJC*P zR|3bIlEbL=rg(L8VrWvlrFFv!6z__U>#cRW2NxI*6GY?TUHIFZSjJB*e5U0T-nxN0 zT377�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

D6U}k`5@W47@E@fA^UwgH=5|h$ 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 DWv#5{ diff --git a/IGCIT Helper/7z/7za.exe b/IGCIT Helper/7z/7za.exe deleted file mode 100755 index d2bfb178863807ab273ce4cab87756c80b345e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1230336 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≥(Sx4 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

bx-+4f|aqcKOO;88(SzY&*qX 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%0AAqsRMi)lPkN*j+ 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

QQYsf3GP4qm|^ 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%0AC&LdnGctY#inWBf-% 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 z zUXJ>TG4IwKw)q`twXs_YEk4ro_Vdji{ zohrdhLT|^#hc?gr3+X`{s4JXw8MDRXmLA10P;bmx3&+8}pHUXrUtthV`~q$Nr{`$< zQa+TuuA-vr0|vn0ouOb*v}gCrZq#AKwRYT=-#NIafFt=!PiEfz+;v= zADm5TfIC4?rV^8v=+v7N6WTeugqTks5n^^zEr4tbZ~Hhp*Nr=A%upp$MYA@>ii}Uy z?1rW~u$cR~Rh5P5?9|-gH})|1!dq`N%wg-s-MrsH98Slq;f^TD)pqc-`++^&y&&AT z)m%Kx#f9O%Z*XxUSO95?R*j4j3S@PkU0ar}eW?jwRTFG?Vqr1lr6YNYmZ0y>+{8 z6MygV1LL?MGv9=Tv1Ez#ER9M{@GYKCSR_l9M}Lh10bsA5`xZ###D_z3%7Sy|ly%IV zQ}!so`@(a|zCL44*_O&VWj~uW$E>AEzsWXC%goMRQ&Ev9Q!zn6^wE1p-yLh>1 zl$BNCV_n5v4)fF>?xIXrFu+!g?=OWsUhgRuc!>w$h?xA=!q5;)*Eh246jqTiGK;Yb>CUKSb4#Vc~<$9XJ%@_yg7TddM_YQ5| zLClO2Rhrxs^bTviL%WE%bITeI&MktZbIT9C>Z`rCL^Ua}$ghKgbIWo#vSH4Z+Ch6Gp#7mcC6OoUG#g zAoDbL1yNs-^R+zWkxd5NzM^-JSL8M`JZOPhB}R|(w7`4JUH7)U0p~qt>|R&Ke`to% z>)N=^NPj>jt#OuYTkSGu)sPkqEy~JW$D-D~X1sG>RQG&+mHyo7_a{Z#oUEs^(w|#R zV`%}s*f`OPl!Gt3-oABGFQg5s7d-TOajP22)udibDx-&qhOHV-%BV9W63pFri0i_% z>q%AQ_|HBe)9~d)*?+HwLTs(uJ&%KyVOrhaBpS9AutTI*C!B4a$d9)B)c3(Ejg{;* z6aBlbUE<|RTIcugQ8Qj^^p4lRO)639!ZtmiPE~IA3<;N##YZzY%jQBqS)P}sj_mf8 z0*HtqP?bpA8wbJ?vN(k7o*mw+k7U@wy9wR%$0_G3-bKwdSx)JkZ@1B);h5q(5{cOG z&qj5Y>xt7@Rf>pI(z{l7O_lq+()cKa&!sQv8;uPtXBD*eOksYD8lBDs)=;d5fkO9u zFH<+saQEC!QaYuayXTJ4Y#qz|>kvm){^p+TA7lQp-anq@AL}^ky&C_xh@i zU+1=Ym*4U)+r3Nq+3D#TF2jA_)-XDo=N{lnRUP7}PZ#{_G5>hPKWe;H?pyxxkbkV2 z@7*7Ji+3!0t5?rjzrM8p{&xSE_m9K=@mn1A-4}S@eBVDF@#_mw-%ziCm|&7U=Yb-ek4Wj(GK^qKA<2hfB~<$5qN4qh4uDAiSH39?pCy(eUZ&k#BP~ z)VM$uj=aPl-3<5sMt6IcYJy9iqJRz~f`F}2bQ`M@_=2VXo+l6sZmxn*c`bKuGT_7E zGQ4bWaR4~(v4gwqh81mHaFkEiBpR-~7ERXO)U6jIoAzqL(>nFK>twzfH`9@;t{7ISIP*72~IOQEgJ%8z3ZS){sCD^_bI z2!6rz=sUGHo8#TJ{W{8r$|JP?-;z8KGjf=5kFqZvVA zm2_ImGF7SQuFQ1cs(X&`rgqn~XvFBMq0u(r-=XQXho9?IJVRk3O!tzGL2MxGT>`GN&;t8t$MW z7WYY84krd2))4_#_D(KkANdl;hRd!^lj|+p&AA=%HU^I#fpZ+uj3i1AI*2?RWy$te zN%u#oaPuLE4pVlx)!hl*37A)s?AP}0*5GfFkr&cu(w{p3nc`aZ7oNXZ#KA3OPB!(8 z{>S%uROZ~JHu$(xmbQgUnPmy*+ZqV@2pQ`8o!V|n`Se&+0oiwrFlW6eMnBKQISpm* z*(qe%fu|h7%H9Y=0Ee<)pq)BPG<;`aOk>FW6ecP&x#>-FR=bBG+3@84bO3Km0JlxX<2P&e}l)iW6k41{Dq4noy?ksl?;Z4I9wdrLx zCQ#5n^DvNIt4sNaG?Hs{=8%CrtpWRGHTH*S_FrkG4xQK=E7q&STk@sxN#zh~J!y5y zP?FUg4i@u9s{#A4Ok8(RwLe^Tz%>IAJSMVh&b<-yM$dL!Z)~n&dB-1{^hyJ_ES01h zzCA{d)9r%&8Xad(o0r1f|Uf#1ZMRLh3dA0T&Dzg6CE z1^cZELQmK|+Og^!>nz8r-!W#yc zJ8z}qlPWY-udD~T>>=}1^&0U@M1u2@^UV82b5x0Aicxo-r)r<-uA}Z@t_gUaXslOv zomaP>>R+kuJm=}JnO7b2sywF+>C2f(EZqA>;y0|sg(&}-0?o;Fe`^6}3E8b0PBeIXAqR)i;Tq?q`h)m2rEOTC& z!i~UF1_oujJd)Xoe~d_&_b~h2JJgO0W?j>bl>6;G*W*OdpKx@PNvz0JDgp-n=k35P z!Uw?UWWUBqx`K&Z>D+aPZn_(AMUZXjs7!k^P=Q_8mb1j^`XDy7x+c5ZDm=n9oBaq<;<7dK|7+c{ji8c7dAMLuXC^6ySMI4 zc9T_Wyoe1v4n9U9^X??1Fc^TVa_czwJzO(8F^(vImC5cra-O&wq)u=%VRr251_>dZ zaOo~LW^#iGj&~MV0rrW<8$PbDinF70T`Ttfz1nW>i2bU8;_#Y<7~M7UzS`v(w@e(& z?dG!@zo}ZoxWbUfBP(TBkRO_97tT{%q}c4j zfvO7!sxD@HIW{sV7xQzOC>eK_VO+Cf97WMUg=IA<=Wo|=&aCnnL&~{yZOXZ~naxjOrO;w@Guy?kSlkz#PrP~2d?EEU_%=1I73 z13kv#(NA$@&eyh}1~z^9^)>dTdBNM=QZJ<{!O*Df3ns|=wyMj2N$7^=Q1A$%f z@<76^MB=g(YKmJ+Q*3lLid1Gg3(rb7Ni4%+3wb2-7L}l2rZUlcek{Gn?5sKZPPsN$ z;Ph8*;4^ws_V`J71V)F`(|5&#qz3u1wh_n#ot2C1$S~5E+LLK_HwnV*UaQut^99)riz+iJMPDbEIz^@8i*Pg~Q-gV%tu#korI07Nyuul) z+@v`Wo)>Oq6_xs@z%1o%GQ;k}_9nqL<*?@fbisC)1Gttq0-QS+aLBX50~@LSCqwOY zqJmkr;%# zYTSb7Fzc_soUfb=xl~0>;SOGQ-x9?4ICXYS;q$tBhn+jWA~>d@G&i@UP<7c!epijn zV#}a-hp84VQJ;yuG!$fy$n;wwF%`y*y{I50On!QjdER`fw#I#8piu5UMbByqKlzYa zh3}%1SWuH|X51bjJtR9E6zA2-E>)ve!>UAd5pJT!hFiylarh4>_TXjSvr_;x91DI0 z=9u7V6EWgDQMymk{@R)(F&*%)&ZIjcAud+S3&T7&y#?tWArVvaoJ==D1okl;~+@gkajwA}M zQWj<=Paji#wdu3ujNtN6VGU(dfew6+E5)>FnUrs&5#ManZan-kGuk_h>2dTYC6QnF zV^Y3*>raz6Tta$3M6&AR!W#LJ+V{1(hYH_)fF29p#+$2{-^Cz6|1caBVjuK}0?!&V z3`aBwWce|c1e;B#+(!X8w1>nKBhP}8o@LSfIK3*RTgC?vTI&)kH&poDS)u|Y6n%W6 zI_j{aLlQJFlnncIZBbqBbs;;KuC3Mk!B>U${7!d&$KNxK{*-V8_ormJAex#ry22K! z){rhXll!Q4j;{Sn*i0>$_hI7B3guiZCL!rihf*EDiwd9Nm0W9;^chSSKc-1ySM>h_ z7w~7vh3YK$Wtx^Cx=i`mS&LpP?CYn2CuEq`Fs;!9=r)a4`t>Xh-KBx?k6vgxB8ydx zVJ(z&Ib2pnggVC!HH4>+Vf!+Rg!r2hk;<$mq7MOx(g)IEJ7U%NK18~K-&J}QbrHgl zPrpNQagC8v)y^6o60AYgWWu>}(I|Q1&#lqC4W3I-#3O}QZ2@dWo#%U0NPl05ulEDZ zHMUcU!>Lm(f>r-I^kXs!5^oqz;>9nkLEf6SEaH86Je46`adlNN(tL&OUg4oczAEKInKNGvUQ z0ey`4p2vzSYq(2k-( z_T+dwJiAQqVL*~=S|kpoe4jRVU`J&zl&&!$Y)OYPBeA*hb_G+`X`1LR#X*?j$~q}q zHhZAksfPEl4=s~8ghJK(cgUO*lZA%A!4xqQYSKJek{_}<)vzIJJ+HI5%eCgv)6G4d z*+V^=eCAY920gu85w+l07dh4%$NI#`4B{Ndfm||X120WvX%Zs*_{>||+qqGAu@R%> zwY6)@uAk{GhS8_BT3Eb8#Z6hvVBg|`6>T%`3x&sCE4mk7>u&4juDhbm+8*P?iXLdp zbq-kJ6$koWx<1_Z6Dz#@r|$2=_pn9dXteJq*Dr8)eeoz?!YF$nGYz`u{)~67tFcI6 za9ZE)>#OwqWu6XaX7d!=z4tOgI1RenvyVAnGq#76`*lIVS<&W>qLi+yOlDsx;`!n< zGZ>E*nrNXF{poc}bUXcC;?vhIA657T@S1th^Fd_8U*4YdVbT*3s9-GV6xo6 zGatnNK+Q)htIJ-~rm^;h+^A>an@9#!=9&?gM%S}b?~|uYO8PB&jrk5@jaNau*^s3u zyyED+{^&mLkM3I&6QgU45@vKYs)f^kKmfkX-%vfcH32wId_CuvJMn9YDqEXDMOz(9 zHLR|?YGyL~axtxIvPq~6iCKVVvJq-!Os}N1E*PU&A)(u)o{wX*;`I_!@&U+m7)f#LjRG{3=&=-_k>@;_ z`z)&F`n*JnryHgdZNM6h9Zrl9frmsu5D7LQd5mS=BfG-^RqbxB-OI7?3qeb2T4l-3 z_8ntqL;C(vVTc*0!TD$1>O;M|ySAN|a-D(jKlavk3s6|A{-(5~=Kgf3*Ps>;XuS7L zmxW6bQ+SJRnYWM=w1R4cfUgbr_tr`x7(Fd}{p_;ze78B|SAdkqvYC0PJaPj+pJosB zE)Z(HQ%~+*p!W*}n%CdEzz7w&X&2(0yW}TWctpK`HBF(d68}(juf=xr|FQQj@KIIQ z;(x--U?hPPlxVD=v4l!HKETl$9Bk(#GcY3)jq;ExDpxI~t(9EJAQY6xK;?KCr7g9# z($@BR`?$5eZKY_ft(m-egQx|0h%cNFAgCw-f%$#c-e)EWuhQP$|L^npe|~((>~r?s zXFt|nYwfl7UTbY;u8ER1Uc}ZhWC2~OQ};M3)_)|kX^)-EQg#R$sj_js1XPfgPn3|B z2{NlO7WD+42^JBgcK%V$lb$Jkf+D0|H9m6GD)mE2PpS9-yGnb7*9aSo7{LZ$CmtB8 zd6inE^qR{#mr?^G10_QyuvPUZFwNs~g4EkIPR2xBv19bA3RzkzXux?9TUM83T8_+# zZHZ~`PE||$U@+2V`DEC#(ixIpS-6jv84TboP-U>zERr$hzO)f}ZM|g^QEG3)M3hCq zg3{;tZsA_!jEE89W;mAn3-?wUA#8udFovOGT?OQ%ISR&=$dMAq01OrsFX6kF5lvFV z@k}IA4qIumN9B4^e?z{BZ5|aToh%X9P_49FM6edhwcEpNi;4Hf`{XflAOK@rGlo70=0WKqkZ7tDOdCwC zVzxCzg{;+7_;hJNT0?qRh09B;RJg2kqJ;ArCKJ?0hiMEkt@CPrr40_B?qpC(7)8X4 zy08a^{iRDf)8r|muQ9|C)kH|5KZqNwNPe*4Q{36dk}}7)*V*rO6!lm|v1ZaLmtvvE z%4mJ;ZAZLP)_%Wj;af-O5_!v!5_NqNp$>>dD*SdW6$rhfWcd!OF{+lM0a=hmt)EMx zumBoJvxtz{?xg@fJZmxF=W5DJ{CFpkVQoK%-1n-|RUC-urECQec6EvO2>(xsP;_?c zudDFCVcnCW2a}}-$>6Y`2L?zfv`}eNhIva}dcBaFuAFoEjeQzpzLaPtx7=dBWonniaV*C`yLSfK%=c_KcES96hS*Ru$7*)dv2U zIjVLhZU{_T!b6HbpvOLM0Q;9(I=V8Jvc9kSnRr-wqi979F!>9~4$G=4ByWJcJgVXd zrKJ7*b;OA2%!jFQ*!sTouX&^r9C(|{STw7xJ>k5~4=?6jKgkrJxN-BtPdJa(_w`(G zQ=#06fP4L0tF2pW)TpOci>Io@O@*m)(ezjA0_$202yyYDWclWYpUM<^{Gudd|H%@2 zOKJ|2c+|d7t#|dU9g*}s;&ra`pOZiFr9$(0X{pTpcl&iHy86&|J(HY6-hC+3Ll4n7>{Y0ZbciyRq%!sCfQa zpo&4pIH;hLcXj+SA$|L zmnLv0A%{Klq#^F$3Uu4kMGQOgl8$dUyz*r4q8Qi{#G9(p=t!P$x?Bte+_4wjQ1+u|nce>!ley zbJR3h2i1~dy|hFH4=*CX$Q+dDz_rFEnj;It1*_!2dRQ77@rSB0V3g94Kp5h1;+Z@d z*Dx2c&%Z?ChyAy(D4Zm)SpKRodP_yn-q{?4Ng>w5RZ^d=SUm-g=PkAG^NMd=Akw!0 zm+_I6fF_H1yM-)XbUb=xkm?y_vaNQmRf7<|REY4U!e>g$ROle&yau6=dM#J|9_wd; z>Mvkd$kO;WSMs@_e5K7&5J61!TCb+${VCoh6!OWqZ8Pm{U?LIbu*3oa<0tiE{JD@v z@rEiSkcjrEiuzZH&$hWlPwVwOh?~=T1@mTj*ki(kB8guK3&DkoUxUskpu2*GMeU10 z`iPCoRz#CpKqdK&1>y~@)0Lk3h+{Fu(B>tjESRfe+&E1XuxVsns`!4y2)ddmbw_V>dSqy&ai+aT z?Mg>ndn!@Qx=ZE^X%s}R0BEnTFh;)PbK1$6|p;p|<2Wt`2|G2b3`|3t$ykZZ zv7sr?608zii=3wGwnZe#nmf|m@Qm&*#h7Fvcx1t zwaAscvRUs-^R_N=YY$#Fi*_u3DgO2cID7bv{9Kyq-5)-h7>UI^CoITzf=gZauMu1? z)8`B}hb|BvF1zulZeEMxsm!DBI2=LB=|tvP`>STotuz1BSD-2c7k7wr9*MYWBmUZ{=W^`>S=jUEb>q|>$PrwL zP%BFYL>Sqyz`}peWE_urvNn3~hEPV!z*3=TuIT3E zdYzD`2c}f+cYg+zSV^GE%%3;r%D%~5K$3d(X~j?$3?)@`{r} z03|2NHN^Mu$Om)sY+rr+ojxVqq_OqPVc`nZR6(xr4qcwLa2u@m3X+Ojv#Vg@NfiLPh8uo6g zOpMG+ou`^#b2lKgVcgL7W|AaR>J!=pqK!m4gZ0Gc^?e+3%VkrV*8a_x`=<95o~M?G9=nf-F2sUQu6g+XZa5J)S_P)#9X!B z2T3_?;#373j@oZdcU-NFmt$bIW@QDez39pk*pnF9qpi&R6X*pWX_EVQ?X{^rUlPnl zs~QKRt5r1PuqO4YFqRa9LOJXM$oZJ;9&|3h)w&UA4*{s1))*Q3S|m8EOa^C^MC>v- z9PfH^TPa2Ft`yI%ZyF2#2Is=ZSb;Hrt$J!_Ghi)Mr-rDu#ri@_is3N4Yg2z#k;cL= zD9mD6rK)1tMd8v-)+W%Ep!?8SOw-wIYf7}*Tq~j;uliIR^yE@ z?xm^s`SFU{ISFGQOSZ+RHt1CQ-xTHgPevA`@Nj{Mi+t(J zO4>IMn~mI@=}#)A)b;=fU@ZK-v|CgRB-7LK63=${i@M_O9bTm)hpDa^3l&AGZY`X| z*S?RruBUW}Fs7jy!~6IlgIh@pN~c$6a>GYgfW~4KkjhA>kZHr+Q+DGz`{{bH73W(zcAfI+Qp2FC-sQ=_mNR6HuyA{MxMo zO=DpU9Iv$3DR_!A%hV;{m?TUfLEig{e-nh@nqPPK6}gO~eUyI=P5o}TImxbdS~ebC zhn(W`o#M}v1X>st2TiGKZsWj6&nOIHnMzO-3k;?z^?mfs;o{{of~57nb=irt3LeU` zvq~>DfUVDp#&f2)lGH|)P||)Z;Bg{?Jf&bU$sATtY6P2F7ZR<%`z}wJ9TN6Gl>Rb@ zuV$g}02zN+1A?<9yWCPP({SPbQgYKQHXd7D>^Gx_+#3WZUVD8L-$R6$Jss{ zO$H#3b4@5byW!Pbk;mAupRe?HIku63W2}!O;qYi#d~RWvM=qM-PNDcG+!6QkY<5m6 z3M&(%jzu=MGT{v7PKukj1!zgwRkbtf0*Pw_5%$IQSNbn(XB$+vJ|7wwT3Nw^EK zQgrT}5njeNL=A^Nw(4AoZz~tPB4FMvm)J()^@ZK&v(g^jp>8&*L>#*`f|;}3Bbq44 zjrvzk?Hj?=E?x)!URmj{oBD3sSs(~#z#zFVK*XH-X?QXvmf*o4>_0a3Sy6a_kMXYR zKiLJr*@@B_Fp(FO{qy(^I2ee^+rnVIn^$t3Afdu^rYsJxbX1`jo;WQi9trRN61 z8Vg}7UG2;LD8JnlMyx_BB%G+pV~dONe~pRKlU3j`7OdkV@s^0zs;u2X685viOOV}? zs=ZWNsSro0@ysF>NTWC)a+m0rQdZbQd37OBKw-?9-~677XuLuU&uY;9gBm+ex;fY>2qr6lQMGMdjDI_wvO-pg0mT6 zRM6TA70lbt7WwaaQ3{q}ohZVrHd+f1YCVMQ!niqJBwg&P7Rhxy>I!Iu0!EaIi%B*10|o<|mC8cHvg3 z{6O0+XmGk?Q8WHY&*>wi21Fvh=UYmXdOjse`df(sJAd^7*kzD{R-RCgw4En>t1Z1CXKx?bPGhhZd^gbE7rX8j@wukrL%s#^ zKwIA&{Z%pXi;E>cFiw(Y2R`hZBbimC%KRRg)2o8k$Rn|Y!>0ANVprKodZGCZ_J=q3 z3U{u06DLenQ2Hd>uh{4lT$o(kGSMJXI%LTh`e?-?D5!iPx>NYkha@*N~MG zLiXaWkdoo>E$#xT#hDT?Z{b<`W!DCMl?S9DG=dL+i{N4RhL9bIWQGiHS*pJ>Y&H;N za06V$oPmK1WjMKyp#^k&157$dZ|40u1uJ_qHw~#&HB@y$7Vcw@NE3qgD%FZJM4D6K zOhn^g25*GYC_IBSD)9`^=AXqHjmn*96FCuWMxF|77H&pRRgx5-fOm&P!JwYj7m6EB zSey)x@QgCy0S+fgz9nQKOkkMA=7aDJ0?iZRWfUZv`k2&w1{}~Al37U8w8r9uPD)qh zNOhgLcdFdNxlSyX9yfI6lydE6-`IYg#ky(HY0FhSj~e~Q+zg3=4*B>?iKN8Hk%augq3`nzri;aqj1*0l#gzrF#pV|)9!&C zM>%GHZj5P=tnKmw%Pi=e5@bF=+;NuBA`Q!`SS^{iaQjTnZR*^<3qLqZ>r2)Tb=f1? z?btN5!p*+x(26{JWWmsig4FFwAiFSVU2MxmWzD!eTxX3uz#*SCvcs+@5ElP}YOK=% zC4pz9Z0Gz)Her-x8K!XvmOEkLo1sK0LYY-+8Ep>Dr@6sm9WEmbAqO;<$|m6RwcG1;0YXi7}bx8PgS7M|-z_!c}aZC7z* zgFE&&f3kjZ8<*H5|DZ;Mrf-GV6As_~%R4kwr zhzl&i7iyzeX0t3fX$a2>oXM^T1D|eVV3u}=h0J?hVIfk6Y7S7#z=DAzPQhZggET-K zkZCwHGhh5j0YT!(mPHyhUkI0~f?#L=L}bj@?M=v`h{YjUmZ=#7!T7}?frHW)VYG$G z_hiC=We%0dd<2qOf!qnvOzLD(Uy_!|SBP+?(5)W9d$B4)>dEF50h}Rdk|Is~Gj^$p z1SRC_G9^)G1)W4#6GBDaqgdUt6N+`#4vNaNvc1lWL@x-$5Kv*Je6A%XsH=FAA`tJS<tT#;~}ec{UZn-}_8KoH!tt^|E#Dd^j1*D;o6ezMDNt!XWI zMg&~g2G~g2n`*#UnfbNy9a&ZGmBIYF{5sQG{EUdI60JT&qz&aK<&}VDEWS*dD11eV zMesdoi)x+N9H*Ve3YsQy3HLeKC`@KH!RCCghkP6C)gj-OkW7p#P2Xm&+@wOM8};(Y zZ6%G;p5el>boX?;v{RZ*lFTc%6Zr6P5KHa$#x z6*w2Vs*c$iZooE0zj;BQoFWUlvUi)&Iebo($@__A0wBUB}+Zo9rFbx({xd z_hw1_`MtgtJGrqnzBBjW=0WN`X}73M|C<@+9Tu`Ot-uju{=Kqok?>qhJIz1U5-o(b z#I&o9&`h|h@@{OqAMw=@x1V>@n!AV1Sr!vqC#Ith=;-~&MR$<(0C8OlVfU5T4q{_Z zqGGXhw2b+HA2H@(%k!<@i@#UTV;dzHFqyZMkCWW6-Fr4sh{r~d zVPDH5$*>xb@WIWIf%Rcu@{txN)BkD?028qS9mYa+kx`;(D*Z5@p9>ub{-G7u!5;Du zxK|kT<1&&uT1M=KurfQ-KY9GHGMVlqL14Cco;$Q36YulU6!N<0}@IB7ZBOzp#708+OS6xe1u_n9TfmRTW)^G`oZ*8*HW2`aLVSB9d$Y>^bb(~Au*MXoFw-=B>rK1C z94IyMt;)P#GB=XhDO&RG!MusQcB46Pjmo-SWj!ES8&tW=`$)NDlkEFxC9;?*mW;Hb zg%Y_*%m^i3G$f-jzaIl1vbj$8h8E%@=K~ z3nesIDCgeepyH~dNkjOO>cf)1@gfH&_AxSgx^d>eme}KW*D`zrf|rLI*59L73x! zBAKjl{Zv1}tOoi&!$RPo^7>dW z$RKM_C@2WBTI2dF7=+UWr2+@ZYb@+QV#vC^;SeKF20CiFnP8WM?D1go4Cc}C@0h+a zc8!ZeU_2oZnb9v~hxbPk)%{H0Cje_>v)xFw`RmMqO(uKGjG1ZwEx#pM=W(q!U26qz zHr59d&-C5);)Rcy)_8Uu0{uZ{!3q>b^VgdLo5?(IZ9Z!TcWKZU$aAeWU28%<!~%IhQkFDFRE{ig}+h4*>ZKIPdEc=y?dnP=&ty9Q3f3aGc`tnjv5(X z?}m>JCeGO!lSz$_oalm$^`@)QAygoq_geDqRW_#2f{?%)82x+<+G?@Zjl}lk{ zqsp~L=gMLv1qvWlHbF6RfwUV{X&@Pl6BKhW(sVT`&?T0u?2uz7Kl>f)HrA>3DwH%` z&0Qd+a&sk&K#GIUrekpe0Wo3#h$8Gydim(S4Gmqo&~5fw^WniPMd;=|lMqMD9t}6lwcd zjtuhx+`{Nhrhe3$QWLiZu(K#Jr3xJ9GjW;Em+^>y#bG+1te?tK)nty!73+KuNus@; z{fM0a(^$;{n{BtdW*aTm$QkMLgZ5n|BB_^=6tphlI&u<5uqQcKLUtuDld!-ZIYh!j zwNIUKQ`S6E3k4&!P%u&p1tYakFj5HxdXutKOjr75EZ~r&D_yI&g^ojAY=BovtMJvr z*xWFjipsf5*?rDj>E1oHTqEVGOEB2RhZ~cgjgurf5$1V_neNLxsF%mIfNfdw0TiPpXk92iO~^0t z1w05W(36Na1RS-4Yy&d(DFb{gtWv)<)FP=gHI_qrR!exn^L*|G5oA11juTng z`t_Fh#m(mM3)b#DzPp?!dbW(Es!nWT4n2!mi<9(G-;|SdP1$m;ElgHK)wTkKU*z~K zIZV6YD%ep74wh`WAlZ^{tPJ{U%dKcX#K6X6OV1E0$MHItEprUJeF$;zy5^95H0Y}3 zJ6G_W4*S)hD`~F}x$2Xv&P%rR_HD>tE8q5D7UC=r2`f=rY&Q>VwBKO0Zbz>=V!BwH zHW(|BVyKmA0}pWaN6aNOAirH|?@xsT+f+By)Y6jxoEm;Ww7vX%s#p+)wd=bZlh~cuRSK`p5 zB_r%8`~Lil2R3%n-jZzXm0W#pvZb%=Wh9Y*?3Kxt=OkOs^0n}uOt~a%bZxQMm%AqP zE6HCgLC}G!bU{tYK(ySN&~M^#@YH>JVutQhz;>68u*dWp9CXzKRWs2q$8MyNh4!o2 z{t0~9V*#qb)KwdWSo3JEdxDEy^(_{c{~#&QURvGKH>mbsg3{Z!O%@!5oltM^t>U0ugt7+O-Y;OfR(5T0gJA!JOsm2A z=B`*jeY$S*a0lxfGY|&*2TNyrnD)N>c8&OL-B6$F^#-f+*QIK*cU{5lM#0?adAWBM z1at2%4CYSi7tDRAIGB59f14D0dY(;+O^Qv5O^SVIe^&TPzz{J({6~s5vvmc$WP2=^ zRrX>u4@IgdAzHK|2dnTIWziz$5M}Zi=>ZikFI5^tNF7z`9jkH)=QRi$REzBFY@_81 zXFqs|I%;&zA2|#_$L~V7t95F1KUMNCnS{P4}7;F#y0 z8<}-2&zc7_asu+hpLvmg$PYnDKBfHdIE82BhYM6m$H@;hQm!LEqz7FTL*yJ(HdB5- z$8RSB1`(Z{Z5ri9i*>#X!FU3QGt3?I; zwYFVtkbr#6kpt%r@-@5AVfxU`CscSW7z7exQ&9;HRSpi@A^yPc${{=snOAntv~TRJ zDQFIrP)Uv*DrxhiMgtZB#vS$g{%)tyut^G|smf79jcicQb}X6Dw2a)-ftb$prwT%k z8#~F@!>%ooeInh!slbdv=taHL2Q&RjTS~Hn{;Dfg(v`4u1=_e5A`s)0Z2RL6mgK~W zxLsrhj*)-?c5!y)#MCpgtkF$XK-O1{XG9^@TIIZitvxxk*9ZHRb}MJa3dDzeTdnae z)_A?6HED@|$AkDbU2mpejkwV2n@!W}=|E}QuG2MDP632ok8f{r)K1K$do&q!Ij6~o zgnjBJrw6$o5FGh?-aoGEAwXidAQV~oY^gDWw%NhnuQ=v=p;!P$)557c>3!hi zrd-VC5~Dg&_x$1m&L}Dvhb)OOrgPX~e9yB4_5{420!}!A5gPYkFm4ew*KL{Uyd3O+`1`0RqmSIhLP?MsEYRXOz z`k{K3a-@dzpxd0MY<&vBs-=T7Ce6Ek<-8BlmABR8F;3u7+wAZ?o&!W7H2huyS8`ri zRY*)Noea0*P@{O>p?t8a<|;y(lTG_#{P_jIuFnIR%vbof4tt`5DC2uF$`jiL#AnoW zCL5BR>P%Lb6Q+xvqQ!8JqnK_W1mZEub2#&8_nt+f?U^}~o5|4o?R~F$oupnELc) zioF^;i9Au4-9C*WDtegQZ5P-bDA!KRiJdJ8M@U$cE_#q)iOm_W;zNv(LV7)P>Q~V# zoQ27h?r*g7QVLt+4MXmzPY;?T#Sa>z_g2pS%EXg77*Cp9ol9&CA{V!gd`m+` zzdtZqO5_5AmB!C}E1wtMWBe@HdI6_ZDBO_exD}hqKSWtBq>G-bR z9RIUVn?F1L>iW@|ng7K2v;EX{`~@`}tT77NP?=;*Ndn|8d09jN+ABeZWb4@jlc&K5 zr~fN`wZ_jl$3?ZpfkMz;Eitt=hXAR(d2i;hwSp$Vp#5Nm5Q>pw&f6)G`5RFS;gFNX z@U_U{?fgZJBdk*P_$|FkOkym(<&Agg`UFMmQa1?Kb1eq z!dr0w(+U@`FKDs(j*}SE(pNA^Ie|jeJCbl!qe=>+O0g}r~HF|x^S5daPedslJCc_k)@ z-c|Ne^%<_Eq>wOm+I2?x0`+G1p{l{Cj20A^mlfp2Mx|>_TpfEmV@h<)1r9!SCY+@b zV*7&r)Up%pv>B%L#i)HuMM$&E zctg78bHnttUehj#GQX7}-jp!cm9}2MEUnR^r`)t`oz<4-+iO}^nAVl1eM6p^E-y|e zBk3NZWrXYrWR<#@NTK6JmYOJ%67r@VL(}3D{|yB(hHq7BHF_P{kzTU~a2JjqJMLC< zj5*dEXWq(e!-TtKl5w#}9x|(s>c_@)4>8JGo$6DHjksRLvc%_(25wh)2fV;wi&Mt_ z3Nb{JwTHM|uCqt=7rXk3V*f_2L>OX!eR$9qnTp!yGNN-SI|^`~AiN=Qb+cd?r@GVK ztgZz|Hm$cr(s5Nu4&EV<)NTe%@u`x^I13k}Q!3YQtBWO;< zwM7>fC@XcHcte?amwBgohdJS{JMZW^gJ$S8qUm*u`0s{Z7k;|SC`M0Cuc*QVdhml) z&YOAR{1!!)5}9i}x6vU@q)knlcSNP z!2#es!z;1x5=w@oYZWD0k)Nu24i{$iIZx<=T-+ zOa5VUzf6yCSAMOL;eVapZ$3kM|59;RdY`2?08UNs<8H;Ka4x{GXF~I`nvSPk)6PwO z=OP*CCiV#>@vb{>XNQ&BfbCI(WwQPyaWcnFj*1NzQ$WZ*%)s@mOx!6v;Kp1ZIsI=>&{w*~ZM7^)0uV$>sG0R-Bd~9taX%dpL zJt1$CnHY&jzn&aKa#o!e^f$*w*cHP$QGvbK>!WtQa1pzrzpxlkZisLdW|)dRwWv(J zhU>I0+!fXegKhmbh%A|zmK3*IAGB}B0&Wz`NX4wwe$@;SLWKJv1buyYWnz*WeSCzn zfa&G3r)cST)4vJk6%4YE^*ee5=aR>#cx2jop1{A>h`Xsu%`d)MZhs1Tj{*h+64Mx2 zuO*VIj6||ZOC<6=5{Z-;P4ssp5_vP}YqT_+;Y)e3k?C50bB&Tw1d;P%160KM-RHBs zSWk(LwFmvRh$B7C#7$}IM&yxN0VoCBoGnq<*A zV-jJcT7;1qa;=7%^Trklk5NJio+BJ|Rgy|4IxC@9$-5$j1k~N7OTcmDkHZeXdK3-T z)&w2EyjUo*CNO~Z>K`{3T7^i#iq4DVKe7J6_$G* zC?^Q_chT)D$V^?(t?OhyyC1}jrN_e2Ku9F-D%J*pyRu?;V00%v|GUiLY}&_`)(HSk^}EnA;B(M)N?yo*R}nXt7OU}76dtvQMG{k7P}o`g-J0tgGj9eDBYSYz zwUZT;^gZM)wJQ?^wr_*6BE$udtAh5+_Lzrf*dvj*-FC?POQCi#wfDWuB`>P*@IW!Y z_-;<28|v>HvX)2|^La`WZlL0W{#%6`+zK~%Yue>VWq4@9tAaG8EH~D_*(I#QWX~tf zIlB^&rCnuakDALuT-X)=ktBwE<_xt7ACxDWBS;xNOTQv9SW zgli75-A{92mf|PPL93!8$hDv&?UBRfdKY_SvABvb6dM`ou#u4&HZsy-BaeYj7-ywN zDk1GG|46K_@>=IW+xW^F;@fNA$`S{W5GHaH=Ri}2N4eOIBCBpp42LTSanxy^;jI^* zA*@5+3tO4^iikc>(N7qN!#GU;IwO8IrL$d>k*`JmF}?fLa^_#bJ@8`A&77ah5`XMs z6~XkV<@wG8;U7(!f1KO7oPmAR=TX8f*^JZ94O!P#CT3w5c5Rk@gsiKDeS~aZSN3rQ zmryDec^dw4R+fL9Eo+)9g%Q~|sWE_koaMi%z`98>jrFM#JUTf{1AVUyPdP37Q0wbL zIVdY0ruTglLw2TNBL!6`JcRa z;y=QtT-`a4PqU>n;ze!-?O(-ThdA^C6?0knFg@GwnrP!2WQo^)^ zOR-YZoC%3X_!M00I3D#89d+pC4EU3hXS7^_FvIqU$TO_V8?!7VR<4*(X=lU*D&pKp zOFEFrDMZxckn<)m?Tj zBDfxBpMvcQwk)O%57}SO69!f?DlxoQ$ez`|+`9T_VJM=Cdw>^+ND^YU_pS@cPUEAz z`q0)&R{9&5mz(XDh_@wz<%w&Jef1;ut2ZRvJu?_rh0pAn%D zvb*gRln5>kR!6z|{F&*1O+Uwn&3F^xyK|f1m9x75ymNb5??-3xvqTBq@mc*`)9}r^ zI&~4#O?rLnB7k9!E|#?w@;KTtqw+#t_VlI=HvNYof2^=Z{7tpjeGZa2H~MA!k8mDM zh>U(ikIKaD7=-T3V=IbLL>S$ucNExfaz7rl3LY0tS*zj*-si-DOROPmog1VRLABQ* z%`xc2LMFf49b98+D0Y>cO=kt}z-YEIW#-3##1Xg6_!0NCzNuR{J8)2rT{giwk+yO6 zW8=mgL@E<$oBnavgaYeOUMEHp)A2k9&d}nX{Ef><*(173*_UOd?4BnG*=Bbkdkp9; z!orJZDq-)QcA1)=)@cd5CldCB83{YoMZg}R1nf_n;MNq8t-IvEi>ZvBIhZsmQScc` z6m=l~`!(lo?5C34`5Oqv6&xizi*f!QU!w)Hoiv}R8$uxI6Y4E^rV4_w&_B>5N5d&b08(WVhQVs z`s$(sYb)%f56cWuVZEqA(|YkSS@hxEx566!eJ-7{#vOq@#l9W3@~v5U{#nje_Cp>B za<8%Q^A14<9MfV9hlDC+PdiJQ8Y(BJPY?9@2WFCghCWdZ{wL`ZtRJC-&`t_HP6$1L zR<-*}XH9$(3G^SM)z3hyM%iyab@ZCAMB*yW8Q-a_xUnSE|G1SXkx4oFcYK@FvLkD z1l*zsSZ(8=R!ba0-v$x-c*Lq=_sK;*2v8|NoSczX|HsU9y&~o2bnIJE znO$#ZcD>ypX7MbFB((6erz2*j*1@T3-%vhmuN2^vpv!nIeNN5aE|Dnn{D8Nx5kiq} zz{frmt=JS3-Z&U9!k#yYkbml3IKm|3{*B>8ISK{UFSF*zL9w8Yzg3frvM&a9%5Qjo zI1va;G7i__$8+b0#+<-YysY9O{5zeSoVA&6!W$%~vePbqC;Re_U7pImr0nuN*_SO@>cB&D%+53h_$m1s6PQBK(Tn?{o5$1Op>t;r%!v)0I};Ve0r8nNIkEHY zNLAQ1DiHSOhyAM_PG9bJzg2E2^VLunwn>gQKq6REV$oV4|Nf zy-(NuU$M>?yL@e-udVZC7*53>WN!vxd`senTzfZ?#za)#P1nW{*UD8)@Nck2jWH^4 z2ZQ)FK3FzuV9nV@;G6b|2Wi$hQs_v3I8hKLVgL_>w?}@Gy%=X3u_bM z9_FT$Ij?qZVQ!B9H6wlxSBouxgarrsw@Bhq|m$QnzdR*<6>9lPj-@n{%zNPj+o!dg~7qFJU@7 z+ZIELun}yrMpp}V;{MVIyWS7SckP#+pB*0d>c&7p1xmDKz&fHl8(K@XdEYOXyECllufQSo7oPbDlkUQ6I zQY4%VHrC1D&_(Ke$*;BDA z?&DmH!OYibsmoPDMc^giPdiqJEtfT`5W%*&0>w@kP(?{j>KtSQ*;!G15Ppb5B^JKp z6(=krYPY={@9XZaYhEFEv8V{yJ+^KL{R+ zB@7I^_B?Ex0cAJ`4T~3sJRRs}m?bCJgV;CIYm+XU(&Z(p%YCw4ZXLZzdFgishk%Ut zVLu{Q?L-Cx7J$=wMVCxb`{sbnirMZ<&ccZIdpAV!sSz0=tm(;eImp0Y$NiN>={APi%;HzM4cFfdF^l3E{^;a{|dG^g!(1+`0 z=AyoKWPBJV_joP3qxutvpE~|GLko7%~S%=ysITWYx`W&-gdz zoK-8Ip+m|^^+bqMRLx!w`ja;#hPR0d7rJKqgZ>YU_&3kk*EHD4i2qgC zCu(G!dSz>~8fE=gtDOX;Q8rjqOzLXR6S=Q5_8b+9KAFopiz9K=$*Qu6qE2?PQYT}} zi=(qP4AHeZ8JFLEC|eN4A^(TdaL*A`s_he1k6Q0yMD!&fT7k?#LuFuvl3!LuEK6N$ z){MIqKZ=u#Ijl|i6$i(78=n+3=AZ=4FBXmx;3iB0kXnL!abQb;Zl(n67ux?`nB3*z zWy&Q?my&hLWkcn6XnbE`>r=3#?0z0{b}#;JDdgw25`OL;!q3+N{7kLl=bIDdyYg!J zePk|>mxu2xaUOp76c6^XNv6@hR(@WUpY8JVuKetkpO56{=%kR*-Y7q7<>yuT*-r89 zVJr!Dw8#&Fe%X%A^0QNZQu4E3embbKY)7s7ZBf4))bD0!yD;_w#h1OYPW`^7es`$f zUFvtA`u$k_9;4E-H=5M%I`#XS`j!0cEL_^p;qSIWe(nYk?Oz+h&r|@>{!M{vd$~ZO z{RV+V`*-GQ0JQ%w1BssrBp5M(IY)pwM}Rp;fH_BiIY)pwM*(w=0_L0yFy~}|IY$9A zJg@F|loXDq@{RaiO1G#spHXWY4zzk`P&W!xP==PkJq#$6#P-UwS*ZHiB>icinNvPZ zox)KIDK2-~Ux}LYZ#yMHA=4C%Oj9&6P0`3SMI+M`jZ9NOCV0&Z>Q)Fj1%$lo&iXFr z-Ty*-<*tYGjQJxlNoky^5x3#)2XDJ$XrAwxSIJ&)FPp2yqA8o$@xi@#e+__-~>&)pOG`LDS^neY!!>F|YG35(k2@6_QV zNTl-qoe~}XFd*U4DQEdzPm3c-`#_D2(p&M{@PF%dt+Tg-8bHNt)cGAZ|rEOyW@>r4RvGR*w;{3 z`Nqc$b)h$oHI!ffMpHxiHRLP5oP6bj$al|xvQOtWBxCJs8uzx}QrP%z`)xxSx3}M2 z)%a@r*Qy)Ww*Ns8v9YoJ1;L)i>)YpVkno!JNA^p2dHZ)n9%&rZ{=*>>&YbeIDhZFx z>7`c2`~aF`a{$e;IT|#_=4j9yo1;PV&>Rh#hvsO|JTymx=Ak(XG~n$-N)-4TaqVBd z_PmYz(1xic`gT^_tzx!Ye*(TZyvmru>Ylr``!{q#!q zXF$?Ux_L+qWs+PEPndS>+dUX%^lNT99qK z6tZ0k*)D}_mqNBnA={;p?W&ONst|JWIa%eGyzTH~=!GBQ$L+$8+l3#u3qNjG{J355 z%J$|$0x6g&yySlM`@I5;7;`08p6|N+e`X2uS$9G#7kbBm8*{ z6%P)3CpWzD7*m1_sG1Vwil;8ZFKY&|T|tz$TUjZxtTPtK{(Jaf9ea*BHRl^EuEK+) zv0}6DLyXFN!9Q}ous*hv%d-lN`7#5BU5BGK_pY_)h2!saguQ?Bxv#UM*I~q$+25_X z4&TFDe9M0%_pul&w#ySc{mIrsqKy@6<(>T`siP*5!?y(zgNcW+VjJF%<%R7~N#+SX z3ZiY44GK9d!B1CRUhGFyscx^M`opp^J$b9!-cgnz{|o)?CjThM&eCvW#eqTW%3Shif^&%x-a_296X2XUMB&Gg2hKDoJw}?QI+h$>+59dv-u5@h_FQf6@ z?nwNtBbDA&6?Q>ie01X8#64+=yx?z~QQ=!Uz28_Nw^kH}eT!d}feZT1#^T&uQgx zYKe+{pT}9>zZ>t z3GE~tBw6*;+wk&lH`#xodV%S!HMBuQQq@dy4FW+@7iv+q4D*SJ_!QTxT>$ z_WfiRl=lohO-mWY>x@Rp-a&RD1kXADSld6mLILPZ+y08q-W8swYx^H{_LD;SByE3O zXFpT8Kk$#Wef&Sx_F*TsT@BGm+I`W9?N(VmMJKk91feg6Y)dDN$^GspCjp^1{-BW4 z(pzTV^HgCs+gz+)6XR>y$fyn5Z_6HWnLU28g(o+AGG|>+EMh*C{ZrI{mxyp94!cV1 zC!UZ;`*(8*?B6}bFNzEWQMPaoZZ^}kc3?)tTdOvl+lHyBWKwoAVgEUz_aoDFXbv=o zj_`F()Q@((5#P(SRLTD8f_Hep(m4`ua)&Wvj5ngt=xwh|4Bz5^ZR)xHW7GcZtEE+W z-ZzZ$CfDY+LjU2KU$QOBXA*61XWkT@JFbU(0A-&0N(V;{zFx_l7j8OsZ|M;F={~Mu zolOiMd?UhLivHIlM)`-_>WS-fq%!xlkwpJ3W$vNI0@1CVdVy(OX@A`vWh*x9J=9jz z`8}plwl|9FEAJt;`wQ^a>aHnv9rm|lsX+tn!``F**QR~R-o9{e?7NO#ubF{~vfYo^ z+r!??T*GILKjMJqW#m=1sM%PjSK_?1B#lAyY5g3V zz@6pc|p?=s@z8ait4 zin#WhR*cJ`4zepBLO5#7Ydu8!bR8Laf*W?D-uEh5S*2|kmgvg(t7nK?FhbTH>Z22Z z(An!c=~^0x0$_}QSK-TYg+qId_^){g`MCr7uTYUP9WoX^%cEcgUdLQC7;{knHW|xk zV)!Rv@F(i(h`8SGgpXid#6By6|1M7PL@OxjKUQf34}q;Y3?R)6xoK)1{VM=HX+h07 zR2u6I&5JyHMOseg)iw{R1j%eBdiPef@cvD5mfF_UX%+gz1+LQqbg>;=l!(n8y} zF}oq(-DbNhEq9~eM6h%&2UK&z_MR{oWLxN;hVz;O_tH#=H4x@VDT=ak#Pv$pstVY% z@BvkA&%(uJjXkT%nlZzkHO87TJBr?IrRxA*(I?{|s_cBHf764Gr;BsvJY)V5;R5lF zKF0j|-l(+q=0Z)S@5u<-N4aUn^@cfc3kUIhTb1a4dt_eyT)x=!cGR`igvt&l+dZzo zO|l-(0R>HN$S|H8h2iRRquoktU|K=)-8}P=D^ZDxq?_%IB-`Epo%D9tA9+(o1>VY^ zo7K~(_}fbt14*NNAJzwl|16^)-UQOA0J_(zW%}Mb>pKa`x>#jEeP{ zGVKqgR4MSV6nK~dhx;h7-)Rf%)<#uewvn9$W?QHV{C_Px-8i2C49{$UyN~O0{+DCBrG`QtY8T0oXNvFLX-jv;J zA5QM}cn?pqUR2*1&y6cN{kQQ#G-SKd%D57!D2LmI%y@0F`J#sofRE>%zLfc^q@Ued zU|N3s9u}G}!s*gyP=d%ACzdd;em{IixxJx`QS3R2KIgxjK1S8^}k`npJfwUdGo9`?QJZOYA~#v z!J2M1ME@D{c_y8lm)KFxK{*Exhd4=$cwghnNxlkW(pj-dS%pz_b;Ldvb$t+Y?e@No zY<+LUdj!#X8s<^>!eY%7_O2H#tcSOv#EYP3thktM@$kXdBk6VB=Rfw+YcA}*J}?*c zKhIdv|9p~SADUg~M-T0A=EuVnd}i}wd?)Hz8G&&ix6z!r#3&t=W#nWtG2?(4Pl?C2 zJ_4Fb?}4cI{b`=43)`KM*auy0z9>rrGx;W3_6I@(->)#9TkPvW)TqQ#6^4AfLavp6 zcW^^S#V#~@sUssysQH5-LGV198D#6a(7*$u68#27T(2R2-bUfBt^Zu{Cy0#J@T>k` z;rsso43^VP5uL0sgMS(ljxd{Hfy1vli7YF76O+3U>==XyhhQT-o*}_riDI(cGBrj> zuC?$3X9FQKzjTq$ECl2Ovh{FpX&D>|hE)wGip*=vL7~}<&vb;f-}7B~t|wcG;;(x(>H~Q@gfyT$zFZ zEk5l>#{3JICXZ_dB0b-=PUh#h_8#}T%#p-;))taABn%bBU{1gXbt+Ue~q+73DrQ>YRQE@_)=sk`t8=TEw`<^SO^@XP; z5!LB8b=n9?i`U{!!gHyl|1guD)ah60^ogXOFX`V@>8#tRzIVS97B=;v}Wn<%pQL36Z=`E4pA+pJ{l@}LvzoR2(stXr;uaGy(^PY~J zNaUiTXLVegjti@=f5HnsS3Uc5e;3vb5)TubjF=J?(Ct` zpnG|dBHz}LuUsi@?mbrL+@&L5x>*`@vyR)X<9?yyzM$ir_T0nAi;BED?gO1~7Wu+f zQGebR6@5niUZQ>_CR49f)Q`6&&j5a1i;9ZX%Q^h!HhCm>k4370CeL{iM{z|e$3>FV zHGDf5{(rM3~D)Qf)NT)p^UFI#i%uggpcrH^pD|wMJ z1pq{zt0IT-B4r8~n>?54w<533vgbx=%jLX)CxZzV6%FLK$#WIIjH#sP1iEplN*SV4 zqyR9GUs49Clq+<~XH`n6PSK@Ftqhvv&RtY=iB2jZX!1yIDw6C?o{RVuyc(e1Bs)ox z9fakVlnd31)VHWe3Rt9KNca>lO&+O^Po$hhMHlc(O0fz&>Mh~yM zJCTcua&$&17U(sqxV`U686MS}gy%QJQQ{6ADexfUQdQy>;-tjS>Bw2?>n5F107J%m zRNS*VP5?~YC|%;yI`SGF`G*nGoTqf$P#t%X`Z%HEr2l-}Q^kE##|a>b+ZR<${JM@5 zz!Ui@kxiaS#7Psc)RE5`O= z1dCM3R3N1_d8CyLyfkxBk(5lz7gdV1hHrEOr2>rgYrRI_~2eq*1TxxUo8Jhl;CHaYadjCeJE<>0P7Fr@Q|ro#Ad>zMxY6s8g1!m%plCDSlCr#PG?p>ZP-ICR&~F z2ZAQgpZR52q~JwGzt<_hBM@yu(Ys<=Kh);RNi8ctP)zjxs?t_#7~J~Ilf3Kn+&!ev z*6Cl$q%ZDF?&ELSb`dhwaYmekxJ>qZr@-bMeebbF={ZgY>(wx^JM~dbm zGd=aC?&_BscF4v7aoH4Bd(b!p_&iO}^@)Lb>HzXyyne9gUbc%M%R#4n0etYJ59~X? zmt_Ip@9OsbFHiG5_Y`oY_<4Xf)4wEcghaP5xwF`Aan&YUFBY@$=LRI*7>#el{4Tls z;)AcxdrQU8Z!%!g{y)uwbv8Ej}oj@JgP04cvB!DaT@Mu>^FfYZ8xTi&BA z9=n2+@%$|A*IJitigyg%LfzD3@bX5Jn6A)aFO5 z^&$|s3LLy97t8V`#)>}540_W}Y!5GpBo<$`;g!A^Kh_3}6@Rlgr(Q;s54+j|$C_DO zao^WDQ`gFZzr-1K3KM03GC_bL3IWtArSpgWAL@|)e~|6}&D7iabm#jI&_Zcl+WG$N zW4tfue4hz)TWdPs`8=ofo$srqMTXXo?uQnCm#1ibrQn>8+C9FH^qe4cn!>iMqT9pjG8n>+;^*!m4QQ7u1^PU3sqkqIzzX=jHnOL1dzE zdeDzKHCHtKJ^lV@=KYWQ{h`eJyZZfp_1+0R_3b6Jg|cqZc@=&L*ab1d_guf}O&312 zSPR!Ys8B`}Ed*`EoC^|S-S;bUgyZ}2aBCa3`}Yhl+*%Wi+7%^YhMSK)b+PZ|RNLd} zG+I4g>+5bT<59ifwp0tx;8@A?$4yY!u#z)1?|Qll3z$i`Fdh48m%+Dt2c#m+4y1uH z1UHkfYj+eMl;vD{(0rVK{eS=O=fCNzD(&}M9p*UU9w&aA6Sg?vbSHe&314u+Ov_V$ zbjn$w!$K$Q?}VRo!Y?@CElzm96W0Asf4A8wr_KqNJK@t#_=FQaZy-qmB2?I{}87J)Hgdabv%iraMYn*Vo6E1VY zxlTCQ3CBC(7o4!v2@9O?@E@FVo$zHRtaHK@PWWF=_!$R|pLfEj6W;BF)lN9q2_JXD zpE==jC*0tKJDl)<6XyM1x2K;Ie#Qx}bHW>)aDo%oIN@R^T;_z&IANU=zU+i4C+z9; z=Nu<2b;7HiFzkePI^hf_e8dT#aKa3JirobN{tt0)10L6PmWyslPNJr2qBKtGwr;!9 zsHsvcTXvj8aouKQNsg3A_SBMNHBpF0Gb7K$qnW8@WQ`rQ2r!^h13F+p1(%~z11=cQ z0dXq8fZ!UA0ThW z@qWcR#cIV3ZHIrSxT^RC#W~gcBb6^I&MRI}Jg0b8@kbSZP_d}^lH#CZpJGJuF~tQ9 z_sqLv0yGMURAuNxS_b^^P<{m=E zW)zExi;7nimlanP*A;In)_y_4Tm2isO#dSsRZ^eDRqEU3^@$F(KAM;_Fn#6^;iQ; z8?g#k70;==={Jgfi`t((jVTP6ZOX4JzoEEQ?Hd#sKZd>cAN}|~?{I-3=cTfLTL;O^T-wWBfr~mc;>bs|ZtN&8TM?<`UToJzz z->>|;;MbG54j*XqwgX*xZo27*$N0{FvogHy0MGPphHTV5<9j;9_XT+Bd;jM9&wJ3B z08jVP08jlbkQ;%nyrx5ZKV+jk^Jgu{uH)bOua@T_+%ukE&^gzOl}7f+bsG+Jyv zR!n(=$0C++?Puj*r9EMzkTqyekL|`^H(!cadGQg365=uFL<;Ret_3|5lM- z2Dn+n(Q%BoqVXd~gZS-w6pKQy6u-S1?kmM_i}Egh%_`3-y7(1C@oR@{5WeFt1$buV zS>?A6KnR$wY%w{Sjb%*7=xAp_kHoIj-y-wxRX`1ue& z8Q_`Ttu?;?tnU}WyZZ(C=@7pSGWoXAWUQF%M6$cn*<(k%V_wo5^|JWQc#n9y&@vME zD+5h2F1}X-{xLnXkPXoB^_%?okiQn}Yyn-GW2kM(%p<$DCo(n@_w2!EPWoCsg>rrkhQeut9E`_&h@XUP;D7Il zLNPgFp3P;(Mv|s0i^0W6teDPa2iUVoKGp)y-RY;J3Gyo3my~BZH^0{Bna)+{n*bjT z@mnDW`Kb`!AL1{C_~`)8@LKBp@L7Ma1b7?2*ZI6H2k1wjm+}ta*YgH&*L@Pd&afV` z{8t0+?0pNefxY7g?(+R*xHrIe2Kdzg&pt2%Iift{wfAn{J^jA{-nnNyy?UQ#{cMN6 z0q(AncsD8z3_Ll2F@sG2|AvY+(bS1TIv&fkkEV|&VZ(T{9&dfU@9#SyPa+(nJj0FL z>+`QC4}J1aC5!Fp!m<6M$z*Rn7EgARj=kQvf@?6CB@5%i;DA#bBeQyGm6uS zlZvf}dLG&J;=uzi9_c#38#QEmzdq1$xbIMFx7XELL3<^zJ-uDsF21eZ(au)bb@2xV z?s3oS_oC4@&vLNq>5BG}E44i4VF9SZxP0ln&(9Z@&t}L5$hK&3SIOdm0V9s1Nn$)d zRv^aWMLtJtrw%R}=ilj&fBov;FdYPp(_aqhpMz}sm)@v#aRmKWZoE)#7rXEG+pKLHrRH-*FO9nM4KOg-3j>1@JArE0a<595vPm|J?F(?SHQm&Z-jr~eIa^!;bNRsuZr8{Xveb{qhG1AA8wG6A0Ydm)o=xE{f;=PeG(__bN( zwKcJ?Q~A8|TU6ew{Ee@P-n8@R&;@OrV;qdEPzA}3TYqI!E(zUzZMR_~RN z>0vqCe6yckKIeBsHo$BD9>Fi3=l@agYL$d*)P6~^Q~Apw{*v;0mA@F`7nE;SelEmc zP`*L=b0NN2`B}v+sy7qTJEMG^@~4#__kPjdiI%_ugAuTl?Dk?z=Y< ziM*Bu7O#a>ZS8&hcVF$jAVI(OwGi%wRc$Su@NXD8pen4W1tXTk`|bnff|@ui_dyrm z%iATMbvp#Ng!nCLf6?iM`j`4g)P1vHUeTqy`Ju{mZ)m#jK#ZP#2;X6UE@h)uQTqdbhEDD>LnqVuU8cxC@k2YvHZ*@+ z)AG){y(-w%12+M$Aif3|{rxul`sM2S(JimrXYH9j*0=UXKYi>o2H=ltA2!q9CH^lz ze7E;@@EPcL0_naQI1Szz`WJz0faK}Eew(;o`;NPLc$hZ_-aX$^{}Om-*#4rB4K2o6 z`CA_MtUN7pM)PZ0^UsZYt}5TsE_%yp#uCqcI<9f!pUbM(xkvP@5`G#~&y9n+Rj=g2 zQ+?;}Y>T*`e2?Jje@fcv|t4;)G&eaZs^eF{;?E*rM31*r?c`xK(kpVx8h9#hN>6>)wEya?{hE z_qLDJq7Gv>1kCAriT6##HN_>xD_Soaj!Qn*J|kGseq1Ahe@9Q6qi8m!h(C(?lO~ow z2D>!wHn^|!?&w$C-Hb}#7t1Da%klOl5BAc&=hyqM<;^6N~I?t#)t9U_iaZ&hg zmHQPFip|P5s=Qktx% zV7Nb?*Y@XWeG2!-=at_`OZr{E8SanIs$TI~(PL0F;r@6+_2v(Y-nkvYpEoHlq51VWvByt8>#u=qh{)e6;JE+*8x) zu{3>Cd%yI14jmKypv2$FOXDI}dF}~78FlYDRO>S#_kAUCpE)@a!?c)3q^fJryWd@z z{u>(qvnR!!>o+$2pvdPY1nZP{{m#sX#eVa53tm?}R}UIhUicp2Ba?y`T03pb`!$`e zyw0fH{ajD$9%$@qd)iQOS<~mngKm9q<#B00>xxVt%WLaiKYbi;%p<)9NS^ZGd!>D} z06Er*LVr&AD&S?1sHk&CmEZYMizZrDxKepT`8M?}7%@^y{3tAF@hCql*gd5>U8WowBa zS3XmL__BUPAsgk{|IT*!>G=TUY4EIHT-gSAD0VLv^V474FZt6AWcq7?25A1P#KYD5 z22FqS7P&v(c!MBRt#R?2hkIujzf;aX)PMS)dP>5J0Ba#%0^bN^|8@V<5AE53ziFxj zysK}PdQHD*uBc4EXfCVFu|ADkPhi>8xOD`!JsP*Zz_4i+)jjV`Gz%&}Afh*?@_9wK zuSV%IxcvcTi&y!>t*5_=TA8l$>THrG`N9{>tj1@?#Y=J9XQkXuDLN12=?~*13{y)O z%JHH(kZZFuEA02!AN59C548cY-eJe3=m)*_WTqG+ha$JyO;UeY27R4Up4))T(*=|( z%X42Q7e975i>0Pxz3G!lk)uu$_bk&J>i!Cl2`mB)(AB58F26qUj?@C#@zs!1Py2j5 zVfvbTgs%m@3G#LDQRSH*wFiV>0Z;u&pi!Rw_JenZ`UbKgYWrFZ@Ya2Rr+((3 z@1AXDGi18&Pj%wg^IZSl__aJ-B;UHcK!TT)tmlv(Q8rO_4D=0U)B8Ero8Lt zHz}W=7xy+${B&Lt+4b|+v_99X-epA>uhb_+zi&aX^z(x5et%v2uf}s?zgy9T$NXc? z)Zug2RlwEv-R(UNJcImk_h**xhVn~5mhUNGGm!4-uBF${Ut6A#O@Pmb_(+I9AL2_P z{$_~365_l2D#PCj*@e&e&j)z+iG9k4=e68?PT$p5Xkq`uUn*uJR&Kf0Zt;fl?aI6R z;e|=z=ahH(v+ZzY{B8u|$NV}S;8{QSLN-9R9)v%wx%LH#Pe#%4|50@DYJRpdUh5jJ zC4ko`MQoQG_v2lrK!2YvU< z_ZG;GryPm-JnwJw;CcU~d-C%Ep84Dl*#!6-L%#dB!Tt((x*x_BAB}q_?2HfYi|>$e z!@T00;(0~JmF2=PnGdtN-!YZ%agFoAD%>NS{3skG6XF%z#0=KCM$*`#Xr1`+LU<$G zqL@i@<9Q~z{Z2auGjZ%$EF_C2i5=>RGub2k`dFZna9nKcU@_Fq0M-j5- z*cwsbNLNhRF3J6-x7Md7^qx&8#}5wg=hkCYhJ9Nso6TXXRX&+DBe8rQ1uP!xuj?NM zkNWZB{d@!QH9)h+bR0T#@DLDEW%%+Ef_swzb*4Dt^`a(WpDW%|D45vra5|gDcIc5< z;n=IY=X(uJ1=K25onXF%!(m-?hVie0a48Uf=JzCI0}T43HJ#HkWkdHYzbz?0{d9jt z-Mjpm4e-pL7RUw|^nWy&WrNkmzsGADZN>$qfN}mcr2X*d-vaz&eX#q9S%fIDQM(aS z3e&#z;hJv9Kc;^o;2-N0~7$Kd%P- zV}6`c|NQ=BJe^6zvG3OuPvny*;!$i>MR=k2Sm4wv;wDmLX9z?8+0_k@}*`$e$##7j0Y2vXg9GJM>7o9MOeahvr ze^>ClLNUQDkR!PSoT5;YBiKYPB79(zr6;+Op>#IMtZRy;T~^q_#Ct;JeuKqWOu;%3 zfVO+=eK0Zf-h@Ycl~q!FJG8 z$lGm%oCgTnmm3D`SxE{ug@aD)HeIIcpmgu4yw;8zT>VTKJMydi|W z(In%PWyJ->8O2G(lww4&QL$E0^Ixi!DV!J?%4O1V+|0Ab5L&r>l;>**!l^sn;4{hW zQB+3O7F4}FYM-0T^WEF~L^|t}>fYK1U8y}vCyAQnm|P~oPQdps#G~i2Y&pK#`y@*k zlyK}(j!|WLZI@-6Qfv%koIu56duD&IIpeoyj-St=eH);=Z@GT0KcGi<+aOy#_``9) zz=-b;_Zg&==eUGd9JPQWkK!wgVO)Ibv+`WC2LISUod>#b819tvgFx~I$o}8C_j2NX zS@{{Db6*9$KJd=4f3AmYfG(ZW0iO4RfdJ3&*8)7<&xH8)e5L;zA^uW;XMXoVcF!}s zpXEn=_k8ZV3VsF{-WTK6LFRY1g2jF7g?$#?e6i!VJuCJuf3_ARe{LWg=HEP!;Rouw ztu(P>aWp-I-p~5#=kJ`lp90c-JJ0~b>%C`mf6BnuB49Bt7?OB|>Swv)yZp}={q!^c zcSAP7=}jH@#eA{uW11Tl|5m>evG(m>6}+Ihq&)p)zMekr`@0+R8TdN~EWejzhko*o zXt0xTElcB#yvf)O!VWm$zCD&bnjFoIVbovYjQ0#P9xIsi(QFPI<)CVfyysT#eggMh z``TN;KkC?9PlY!wpPI-0^spXXLi!9a9^+Gzb|2+lf%g-6-*q&Z=VOa;Pe=ZJKg`(Z zmfO{NgjWTtNg&I;1?bux+rePTj}O;D7Qh>zi|=xPXStq(9OSp0@ZFPN3Go9V-avNl zIgi`?vhV&akQ2)1KP2^JLUH34MPB|n!G5(*C|*~-{}+UJ^BWQ6yA@Yd@9ZJbYgGH) zidU7t`J(XkYQI(Svhq_ZpHW=Pi+;lg1#8uQR`s{NPwdYs&Ycx`R@;AnR%GUTJ@TRD zgMPle9&-JJpKsNW8$RUoEXO728z9|teAoP4K7TLdz0i0470YQkz}x-{vVlF_lb@ON z-Se;Y0MGlz>i78kdmzt2zoI`%9^(`JQ1WOx%Q2;^()6G4tv{vri|@VLWBN7&`++X} zv*4X!{8}IzpmRU*ed4|kSO@$0F#r9^1MdQV4tmag736EMcgEIh$d0F6`T=nt1v0%G z0iOBqO$omYp6zM|Xn>3#`I7QcAo+SA`EPe$|J7gi>jUGv0Qb%?epBk7%dhB%B|eQn z#`j8qXZ|hzpzt$5&c~&oXMme=G5=Et(!ptbox<;eUZC#^09pcs7GVj)ZnLjivLmG#ZA@}T4XpoK8&%ATM_5q zzT=Az&|$yYGu-Wnyt9u6?0ey-#M9Z|2-r_xAYJ{jE#F7| zHML(+G-krkeqVR%Gab9|&;-MG*7xjE+({ezH{KJctr&T4e2=mi_wihcJ@SqnHAJ>Y zRagfix2XMY#hqSjM=$(s+t;?|5v%9R5|l4XQ0-j9-m@F;@Ab6rDLtyV6Z@;N=XpqhA-){{_T+E|(;biPrl&9}mwhbDmJRUggWYdbDhKEJvM7lBh}yeg zSK1^#ON#4}@c7q_zbAfepH*f5iemO^Py78Z%l_I&w7=hByoVt-Vc%NQ&ZoS_?x@ZL zTj%zEK=;vrd$!drkPUE~F%J?=kA`Pxp7i)SJ*>SkPLA*4-d8s#Q%qs1B~jP|HSn(# z|AAi@|6Yloza;$h9}1S9YiDp?-RDJK38bHGX6t|Q)BhpJ7ZLvw(B;o!fM@!qAsb-d zUy6U%6{*jztn_2Pe-A)z_)&jcO7{zAeE!Xl&qKcxNcYvi!5^3VSqqT zTx}q)DNp(OS)b=$8{nIjuL4ee%;y>ZKFE&eJ#yybKA)vb9uAp4hQIK$KF{!KArAu4 zzIQ%>7E0XJBKi-&e(jfh{hN?ipno0#_vP#>wO;FSJ6-Crwc?Bi@0s+z9R=uh3=b#c z#2tsdLzutibo(Lv-J4I^ho|;5-#Eg2eX^L!CD@KJ3uf1FWM;mtLIMwcyipw+J%L$7 zzNUov)*R;2Q!%?m8}T@b)&Tz`c+YN*-DLMa!t>6j_4O{ zpFrMDl^XtK)8rp!;hGri>C-!aeLUI1;5G0Mn8u#YlMmZSkZ)`o$!ALJ0z8A3zw;J~ z!*InhGLd?*VZ1|CEO-fIU;=*^({WsQs|qraI`(0n5yVH@=+@Qi&R_P+iRHX;LF!#3 zBKM{8^R7Q{N$;$CR1a@9;GXp=57{WsdSCY|zW=q5&j)zAj|O{!ayX>h}eBwu^~h_uVriFN5zy#9aOj&ig#WuY+uW z&i``(-sVq$XFs#;H+=WZp9=w=@x2k?*)I%0Hb57C;=lUt8UAL-5#>3wyYMNW=QzCx zei69Gp1dRe&|Uj)`g#vSUWL0(Aj7E#*8Psp4?@mBzfto6;9UvuOy_CH5g^^Of7|?f zzI%=dSHTYg+sCl^HO_?!w*bKTk3Hq|%?I2uo(aeM_QTH*>J^jBFaBtJ4?j67F_bbD{5#U*VGXb9Ey&JLt(mmtT{0F{!me)dn zXTC@N(C51#_d`E|h-tgj`D&d%PNaE4nmrH#)A-gf9Ig-b|FQ2+0`emKjiSPH9YI#M zvEFEW4{p)!%g@~O_-woM4>O8q6sHwWD^4kPNBg|CgFW7X!`)u%VVvJ^=m6vcHXoSJ zHv;ivJG=tf0L%IOCw~0N-wg1~=ZgWJ_t)K!4KTb<^g@Tk`<&ug#WRYh6{i#@6^n}f zPm24D$~zDS-f_BrJ1~B%Fg8LQjh6?~Lz&pI zxNDcl_ADoOQ8r9J>s{hc{q(b*+|cxy_ZX`iuFr1X^}^pqEI+UFu=LO7U%)@+-yCEE zL<)Et_S(A+^%DD9pYopTICPMI^Bxs_D(W>2mA9*x_k;aM_j}Pl8pem=m#+BfV>{Ub z*(hHHycXb@ALjx*-RD1D>AnuKfxS!bYJg|En-1{wZ}882_cnh6Jj37o=RQyUYtT19 z`cFO|;`c&!JoEcvfVb%l@pVhS|KzVIpZQE1B;0otyMIUIEuR(KSQfNO_+fn5-$p;H z^EW_Nx@P##@mwdyJ={vrM6<8ssjdSCMQVDxo;uLcZhAU;dt0CCfWGB{?}l#B(El1( z)PK&8FZ1g>!ZAR{Uk~v2!oCqQc|4^ZwG|A1(@>xJQ@kqi?FKUan}Cf0{xW1|$e)62 zfH(h#q~D#Jar3&!gI^Y0SKhrpx~_cP)^_Wi+qb%^dhY$vRn=?wL-qf2f=<6h?YF8s z_de;$*F-P!d3Elp zqmWxZkNX=ksyB|cc&?1qb%qSUu$;91C1aNmN8NS@=9xi#UZfIk7*`x4>{ zK3S3*EA?0owO{qaWxulc6+c}pm(u~B`CJd#0O_9j(DyapJ;!(F0zAv9?z+#@{VC|r z0-dS3qi*xoh6CP4o7|U9cMG0UoK&1pEGfG87K$pn_t@S0xOuhDD5ew>ii3)!*r<0L zYyYG95$x?7!Mf9sHwwGQPohmDt479f?~BD#IYc;#{R2!l^JOBCF6P@d$Oc%>*Z=9K zoBhjth);z0ddSW_^R4^ueE0W2KBfF&yZbHc<*@T03m4;F4C~QZyDRP}^ujz(;~Ryx zt96VY`>XoD_x)%6n?`sB=+ZYC;BERKJH85fR{}iqVawp#JDS_=SGapH%+lmxMRU zcfMcvjN%nVH(yn+`{mtwU#;>s5d1LxwG?jn>1TNj{9|SMP6c?TF9O*B=LaQxcfVTK zc-{QvePA)JR^HvOR+Z1F{V7FvpITOa(=UnpYri76_@ad4?n~{eH*i7tD~hf>*8=fn zeY~LYCC`4U^iO_znf~5moK#%F20~%oX{k@wSkG)xmU-~lQgLc{cI0xoHM&jXpB-9V!}^n+vELc9ehc7 zrgu^K86f@Z2O8z8fLs36&o8#0CGai4=RKaM){UzVSG)HDPDTqFS02THdzME8vH_B( ze~EAU{_}n|q5RTu$q)CwqAkY1|&Xfipz>iiX3y%EUNr~%JV9}UF8cZKdADo$_*+{sr(L= zODaF4a!TcQs@$(~qspBsKdf@I%I{LSUghsldEykMqgs(ew8uyoAqF#Dx;UMazy3VtNw14@vJ>b{cS35 z*7zG=w)|F=(HB{{R%PrBu<|CA-=MOmGWu4_-|UzC#afz`*HwOt#&1RC2bEt|xk2S6 zmEWQAWtAUNc~Rx={ulRkKZEgn|BG$>)+}&;*ZzZE>;4xHAL#0*-248X?ydvSp=pgq zJNi4?ti_SGF7L>}{a*Y29&dkFcgKs-?$)-B&V$|U9q`HX4&Znm==b;b;ZRwa_Kx<$ zQR4ny%hRr_tM|pW*0#)XX8sh z?S|I`-23tA)0e^|+q&U@wqQfj2~Q+%n7mXGNQQR^2SXQ= z?a9KiVlM9o=S4@88r5AG0&%qzQ60)8T~6)8(Eww46ZDGN2mhqj*-U~gdcIn86vtlq zBHm+S_3|y?e{QTo!+PsQQEN5HQno0qKy)k1xm=$Lo~B>R8vQ~p9?O&^C)>l>Z9rZ0 z6pfj}&d2cljQ2ebjvkF=wX7sIOegcr?gqx`&v+pPrNsleE6bmHtS50a**3g_g8GPp zM-8(TFrf+P<%EYCzx}kg(JDHcD{;e6Yc`iXF@k-=s^^lR!OFg5i3#!?U&K*8O+VJR zV;S}V&9HCA14?hx&L*lHKG1tO8a;T3&p-ABG}t9DfzNZTgNEbR+hCF3QeU>_e91W- zUvA&N-P#}Oz=0IK9c9;eFQBLEz`;W=s^|QA0q2#U9?RMVcm92(x0_&%8`ob6gu`*} z3}nWgJm(QE+SNwu#O|}Z2Hrqyc~R~+p5n%LitOgI97dlJ`^T|6j(zrFz6HhkKfbmx z!jA#zdri9Bh>h8Nx2tHe@^+e zo9&RWj-dPR!~5|2?`XCBjN%Q&%c}3O#bj;H^#0iOP)Lj1K5e?G)-d7JOQjZc7QdgcQ> zpC1im0}Q|4aCwNe81>)QX6UU;{?FHlJ=23RsJCML@G$1{*5ThGkUYj@USp%r{{iIs z2f!nt@_r-hHX3dw$2Xz<*O$=RIeqTlf9>7h&o}JG_!3gk-tEPPw>G?P;Oyg4ekI_C z5KjHW_1+Q^j*lGdAIoH-SmZyzmp$E^wvRVq1E5h~?OSp^t>TX~2_^x$P*jDu{H zkY?_1XB_;F1@0t#IAsKya(HnP=`Z^iLl4K{fxIzE$M#i3c;tH``GxhA;A@D?Mf5*> z3DsA2i3+|_X!U|6R3=TZW>__kHg?aE=1y4`^k@Mu2C89O4Zrxf96tTMINm$FC{BsQhGzAAGmCZvoQ%Mu2C0W?}CP`-?ne z19bjx-7D^IsQdX4e@6KXkp6E22Hn@aN8GO}e=fwIQhoqP_gjHM_nY4CI?46f>q@$831J|7os zSNo{qwDMbrh2N(3EsCd#xL3OvP^19;2adAJd@}gp&>TjMDK2;R7p5rGoA@T*)-=_Mt8vlO9OGia- zYD6%j`7@#My{7W1?-!os#PQ&CyI)Sck8fx>k>`E0bHCIB1LXd;%g}fA;5Nvar-W|@ za$a{9dImV1mT_WUv01VF9-!^KY!@2GgKL_f7+zhzwqYxi*a``M@~ zU9jlO(D@d8y6gi~T>V``e4Sz6brG@wlDGH!PM_yY`4-3vz>RP^{MaKL9o6!A0;#}D z&ED#dOMY)CZrUgH2Io-V*%B|lC)lyK9S#efzT5(b_uZXO%Cd{`ezeRE5nEI7uCPHQ{!+pb{qq%7#{s^$#=>;iKK{IIZwKDuq4MN1k>veh`uG!9L?loC+r}P z*<#}#PQMVrbg8P1S36G%>fjkLm5E_1y;Vwlee0a>yO{mRFr>dCGhWHPuP^R{%{;5~jk?tix2B-9N*z zX`GvEv15D;n?w`(;jjnnURusT+Q)eK){6n23ybLbqcdH8f5ZFf0AxcRH|L=f#Uy)$ zZLo;(Ga*?9C2tnfo_XZvH)N1n@C2ccIg_TcBOHN)!7XvcdD z1^spL_nxkd{}mU1^ruzO-5cU-Asg5`_oWcu9^w~5{G{?dI1`FTa=3!x`vrW}#?W&Z zJ_rS67v9!q{P^-dxTyZwLmb#1m^Ws4G&fSN3LM6GM{;ACggKEL!`tb{@Q9N`k>@k` z(40J41kZ`sLkBLr!9aK{-v-DA_+IMl#TivkO8a*Da{+zcXH%+Ap7*QG-G2PZUkdQ_ z{~~zi`xzkbXDvVj#EjuB>))0h-#_}ls`@Xub`#JtWGxL%S$c5MEY!QE@?WR&h$Pq?l5SDn=Ar6dM({D0+%3C5g{v#RbJ##WRXiiW7=?#X-fW zVnne~@svKFOe^LUjnh+^a}6}LYA=%f-V5L}D$UJti7)$-D!thLc`v7N?T5V6q2HXF zpji*N5Ay6IXk5D#N&LXtyyxD3d`?Qd*%8-T5&zq%|%k~wYLb<)sDZ@2kg=qt?}LgPSjF=0^WHYI3zBSz<{*3 zh&wSyM^@eIrbmlo z&~!=g`*X>mf->J?Z+&z5Sn!U-M(u4;(T;WPV~qU^<97Qt)z1S{7q;bzVBBAfGJ1?x7wX&N^SpVF4Vp@Nr*l)nr&xS8! z7x4klv)ExF8Nj@u?Jiub(==|LYO~H)O)9P_*0#w!*0#kCaiG6$+_vp~mE*ECjJphU z+;f_9Hwp6<6E^26snVLrg~elZc?Z-cxWvH|Wf z81aA0lZF4}qvL)197TPG$9qbo*AI`+eP`7_^1Q#)_W3-+n}a@k3J&SrvjfEP__;rz z&-848Y?R*w+;rIYkMpz{@OdELD`WWDpY1WP_CRFa-09wTwa-iLd5Wpl`&9-1ZBA9e zXMenZIuKu`KLXhV`0FA5Y=CF_2cGrQ%jemf0iNY~A;43=2)PC5>dW;IKM&a`e=o3Z z!1w<&Wr9sxnZD0wU+S~d1RgVzlSQt+y9GZiBcdn4I?YF9 z{IW7B=;mn`Ri08zDF)}aG&cUt7V-Vo^<9=CPR!=SL=5M7V>44ho`hXuw!>NATs-WD z;+fz)br11##-7oz$2@*AX7;Mad(HEE<<#3`;l0?u@`Bl`UcShOR? z9lXeG#tJN$@~hbLr2Q~FNWp`)SSCKklWuUjL?LC4WA{%|&ZA|T3eZYJ3wOnF%u}Kh zAF(^paE2{?uGqQ)hUyupbMS|@l>3(bNP7z1YyENBJV< ztP$nHgQHPq9^#GjexDzGzG}opvutD^UY0GpVyHdIiE>V~29J_<)dy!TzkIlFe^blEk*)(1_%Nvp+A37$8`A3S$Vyz2$6zP5XE+jeZsO503w8#*!Vrfp5&@zku+atyL`FtYp;C_@`4 z&Xj&0T{)W|)nveFcc!Sa)kz0bxQ|BWENxGXtv>0j zRm$Ww5#6!Tqw<)D4@+o6#tGPD*);HsnaZN+Wsuu`U&~U+m_~N054*%#Z?o*c3uve8 zy!C)-^k4$sNsPP=hE8;wqPtIz{2xQHp^_7{ERKOFQL%| z*JrF^4&DX6sDV`j+4p40e6Z7T9Via0N4Lxym92Pa-EyB27rfOaGiiQC19z%~p7Fvp zXWU#ybJ$QO>p#|UQkJeNvMN6eAI8vpcrQ3%K7dDQyNqIMq23$VbP91zA^KcY3_dg2 zGvwj2TweIwW>&sjYwYXfi2F8^9>(myP8-;Pu0n2X6zeQfiN{mS5~+E5M?$9oe_Xxhi}YNGv+6dOqAhzQ#8qzgx9Dz1 z^0Lmu0n-Q{>u|^mCMl3DNTQ!B;>XC#oyk%Uz8CR9CK{gk9cAVBBurx}S;E?EJUxQ? zD;=xt25}nu%Y0g-2gy>!&CZVK7*4UQfqeqjw(_>$G=^e%KL6kg&wl{dD6SH&6Sz*| zdLWw|ZKW#Sk6|=6dE6Ow_l1>#w+%oj}A8^ccGI z_oIJD6~|&LDlBFkaI^F7l!0$!>|wKO=l15uOk?S>-48P{m{=Q4A59faWBg&W^NA;( zz-Og*?KE9S(S1Z?$1}O((4tk-&YexWcFVBcOW*y52Y)~EgYU%nw~7zL6|xD*c<`&> z@t_%yH+hR8c{(KHL8C%{G9*Vr^5Y>H`|K;+KN^yEhh#k9SLj!!Zxa_rD)@&(a$`tF zE>-A16q4T&k{d$ugCY6tA-OWYH+lH*Q$=`NLNXpKD|kG=1?1bf;k`n}BVRzi-K%te zI}d5C;AcbfsgV4=A^Cekax5f&ASCBQ@?c1ghUCinaeJuzZucGt=~w3G?OtX2YdE!^E=)Dge<_Y!Oy5L!+X1zz_+b3w1j!)kzKcR63$oA z{{OCg!r}kFmH+>W|KN-JZP2A(lX_mOxTfglWsAQq{5eHuzws%tpPN@+arvUiGrz0$ zH4=_%f8KXi*5k`skL{FJ;K${Qo7Wr&xVsHxEo1|{)9Wao?6OC{(Qe0L>VeybQ8C>L z&h4it4}0~6D(+t}j>M!|h3qTa`3f2PibKW|-IC|M=%)|emUmX;>GJK>=DDMFl3&{t zTNK+BFa5maYpu$g6^&xQ^5(VT&lSaMiWh!b-0wasc;jP&H~+KX>dy);ofAy_g5b(8 z3ts=EVEz{c&$;k){&^~pe&$CzWCL{Ne>uRjADdC$)yKN0CElwC1h@7Io>6r9=O~v`=M84D|c;gwt3*CZSdIYa1o;@h?W{t

-)=j{(P*`Ujv!$7%s!vJmmAZ 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 Yh`>e!HX^VQfsF`kL|`KV|Gy*fU-;xu>;M1& diff --git a/IGCIT Helper/7z/7zxa.dll b/IGCIT Helper/7z/7zxa.dll deleted file mode 100755 index 523e22b949db08eee0d0054b2d94364c1b0c3cd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215040 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

_Xs)z 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

  • 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 diff --git a/IGCIT Helper/7z/License.txt b/IGCIT Helper/7z/License.txt deleted file mode 100755 index cd58fed..0000000 --- a/IGCIT Helper/7z/License.txt +++ /dev/null @@ -1,31 +0,0 @@ - 7-Zip Extra - ~~~~~~~~~~~ - License for use and distribution - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Copyright (C) 1999-2021 Igor Pavlov. - - 7-Zip Extra files are under the GNU LGPL license. - - - Notes: - You can use 7-Zip Extra on any computer, including a computer in a commercial - organization. You don't need to register or pay for 7-Zip. - - - GNU LGPL information - -------------------- - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You can receive a copy of the GNU Lesser General Public License from - http://www.gnu.org/ - diff --git a/IGCIT Helper/App.config b/IGCIT Helper/App.config deleted file mode 100755 index defe635..0000000 --- a/IGCIT Helper/App.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/IGCIT Helper/CMakeLists.txt b/IGCIT Helper/CMakeLists.txt new file mode 100755 index 0000000..8293ada --- /dev/null +++ b/IGCIT Helper/CMakeLists.txt @@ -0,0 +1,56 @@ +cmake_minimum_required(VERSION 3.5) + +project(IGCITHelper VERSION 0.1 LANGUAGES CXX) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +enable_language("RC") +set (WIN32_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/IGCITHelper.rc) + +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + +set(PROJECT_SOURCES + main.cpp + mainwindow.cpp + mainwindow.h + ExtractDumpsCompressThread.h + + mainwindow.ui + igcithelper-resource.qrc +) + +if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) + qt_add_executable(IGCITHelper + MANUAL_FINALIZATION + ${PROJECT_SOURCES} + ${WIN32_RESOURCES} + ) +else() + add_executable(IGCITHelper + ${PROJECT_SOURCES} + ${WIN32_RESOURCES} + ) +endif() + +target_include_directories(IGCITHelper PRIVATE bit7z/include) +target_link_libraries(IGCITHelper PRIVATE Qt${QT_VERSION_MAJOR}::Widgets ${CMAKE_SOURCE_DIR}/bit7z/lib/x64/${CMAKE_BUILD_TYPE}/bit7z.lib oleaut32) + +set_target_properties(IGCITHelper PROPERTIES + WIN32_EXECUTABLE TRUE +) + +install(TARGETS IGCITHelper + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(IGCITHelper) +endif() diff --git a/IGCIT Helper/CommonData.cs b/IGCIT Helper/CommonData.cs deleted file mode 100755 index a826fdd..0000000 --- a/IGCIT Helper/CommonData.cs +++ /dev/null @@ -1,6 +0,0 @@ - -namespace IGCIT_Helper { - public sealed class CommonData { - public const string FooterTx = "IGCIT Helper ver 1.5.1, Author: IGCIT"; - } -} diff --git a/IGCIT Helper/Events/DialogCancelEvent.cs b/IGCIT Helper/Events/DialogCancelEvent.cs deleted file mode 100755 index f6502af..0000000 --- a/IGCIT Helper/Events/DialogCancelEvent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace IGCIT_Helper.Events { - class DialogCancelEvent { - public static event Action OnDialogCancelClick; - - public static void DialogCancelClicked(DialogCancelEventArgs args) { - OnDialogCancelClick?.Invoke(args); - } - } -} diff --git a/IGCIT Helper/Events/DialogCancelEventArgs.cs b/IGCIT Helper/Events/DialogCancelEventArgs.cs deleted file mode 100755 index bdee787..0000000 --- a/IGCIT Helper/Events/DialogCancelEventArgs.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace IGCIT_Helper.Events { - class DialogCancelEventArgs { - public DialogType EventType { get; private set; } - public string Token { get; private set; } - - public DialogCancelEventArgs(DialogType t, string tok) { - EventType = t; - Token = tok; - } - } -} diff --git a/IGCIT Helper/Events/DialogType.cs b/IGCIT Helper/Events/DialogType.cs deleted file mode 100755 index eae6554..0000000 --- a/IGCIT Helper/Events/DialogType.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace IGCIT_Helper.Events { - public enum DialogType { - WaitForProcess = 0 - } -} diff --git a/IGCIT Helper/ExtractDumpsCompressThread.h b/IGCIT Helper/ExtractDumpsCompressThread.h new file mode 100755 index 0000000..1f3385c --- /dev/null +++ b/IGCIT Helper/ExtractDumpsCompressThread.h @@ -0,0 +1,75 @@ +#pragma once + +#include +#include +#include +#include +#include + +class ExtractDumpsCompressThread: public QThread { + Q_OBJECT + +private: + QString outPath; + bool cancelled = false; + +public: + explicit ExtractDumpsCompressThread(QObject *parent = nullptr): QThread(parent) {} + + [[nodiscard]] + bool isCancelled() const { return cancelled; } + + [[nodiscard]] + QString getOutputPath() const { return outPath; } + + void setOutputPath(const QString &path) { outPath = path; } + + void run() override { + try { + bit7z::Bit7zLibrary lib {"7z.dll"}; + bit7z::BitArchiveWriter bwriter {lib, bit7z::BitFormat::SevenZip}; + uint64_t totalSz = 1; + + bwriter.setTotalCallback([&totalSz](uint64_t total_size) { + totalSz = total_size; + } + ); + + bwriter.setProgressCallback([this, &totalSz](uint64_t processed_size) { + if (this->isInterruptionRequested()) { + cancelled = true; + return false; + } + + emit progressUpdated(static_cast((100.f * processed_size) / totalSz)); + return true; + } + ); + + if (QDir(R"(C:\AppCrashDumps)").exists()) + bwriter.addDirectory(R"(C:\AppCrashDumps)"); + + if (QDir(R"(C:\Windows\Minidump)").exists()) + bwriter.addDirectory(R"(C:\Windows\Minidump)"); + + if (QDir(R"(C:\Windows\LiveKernelReports\WATCHDOG)").exists()) + bwriter.addDirectory(R"(C:\Windows\LiveKernelReports\WATCHDOG)"); + + bwriter.setCompressionLevel(bit7z::BitCompressionLevel::Max); + bwriter.compressTo(outPath.toStdString()); + + emit resultReady(true, outPath); + return; + + } catch (const bit7z::BitException &e) { + emit logMessageWritten(e.what()); + } + + emit resultReady(false, outPath); + } + +signals: + void resultReady(bool res, const QString &path); + void logMessageWritten(const QString &msg); + void progressUpdated(int progress); +}; diff --git a/IGCIT Helper/Form1.Designer.cs b/IGCIT Helper/Form1.Designer.cs deleted file mode 100755 index 4db3f03..0000000 --- a/IGCIT Helper/Form1.Designer.cs +++ /dev/null @@ -1,497 +0,0 @@ - -namespace IGCIT_Helper { - partial class Form1 { - /// - /// Variabile di progettazione necessaria. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Pulire le risorse in uso. - /// - /// ha valore true se le risorse gestite devono essere eliminate, false in caso contrario. - protected override void Dispose(bool disposing) { - if (disposing && (components != null)) { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Codice generato da Progettazione Windows Form - - /// - /// Metodo necessario per il supporto della finestra di progettazione. Non modificare - /// il contenuto del metodo con l'editor di codice. - /// - private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.footerMain = new System.Windows.Forms.Label(); - this.winbuild = new System.Windows.Forms.TextBox(); - this.cpuname = new System.Windows.Forms.TextBox(); - this.gpudrvver = new System.Windows.Forms.TextBox(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.goToRepositoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.goToWikiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.windowsMiniDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.enableToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.extractDumpFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fixWATCHDOGDumpsGenerationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.clearWindowsDumpFoldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.restoreWindowsDefaultsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.editTDRDelayValuesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ramT = new System.Windows.Forms.TextBox(); - this.ramL = new System.Windows.Forms.Label(); - this.dmanufL = new System.Windows.Forms.Label(); - this.dmanufT = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); - this.dmodelT = new System.Windows.Forms.TextBox(); - this.label7 = new System.Windows.Forms.Label(); - this.cpmanuf = new System.Windows.Forms.Button(); - this.cpmodel = new System.Windows.Forms.Button(); - this.cpmem = new System.Windows.Forms.Button(); - this.cpgpud = new System.Windows.Forms.Button(); - this.cpproc = new System.Windows.Forms.Button(); - this.cpwinb = new System.Windows.Forms.Button(); - this.anonymizeSSUReportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip1.SuspendLayout(); - this.SuspendLayout(); - // - // label1 - // - this.label1.Dock = System.Windows.Forms.DockStyle.Top; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.ForeColor = System.Drawing.Color.RoyalBlue; - this.label1.Location = new System.Drawing.Point(0, 24); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(414, 28); - this.label1.TabIndex = 0; - this.label1.Text = "Intel GPU Community Issue Tracker (IGCIT) Helper"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(13, 93); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(80, 13); - this.label2.TabIndex = 1; - this.label2.Text = "Windows Build:"; - this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(13, 122); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(57, 13); - this.label4.TabIndex = 3; - this.label4.Text = "Processor:"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(13, 151); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(64, 13); - this.label6.TabIndex = 5; - this.label6.Text = "GPU Driver:"; - // - // footerMain - // - this.footerMain.Dock = System.Windows.Forms.DockStyle.Bottom; - this.footerMain.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.footerMain.Location = new System.Drawing.Point(0, 271); - this.footerMain.Name = "footerMain"; - this.footerMain.Size = new System.Drawing.Size(414, 21); - this.footerMain.TabIndex = 7; - this.footerMain.Text = "IGCIT Helper ver 1.4, Author: IGCIT"; - this.footerMain.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // winbuild - // - this.winbuild.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.winbuild.Location = new System.Drawing.Point(102, 93); - this.winbuild.Name = "winbuild"; - this.winbuild.ReadOnly = true; - this.winbuild.Size = new System.Drawing.Size(250, 13); - this.winbuild.TabIndex = 8; - this.winbuild.Text = "Unknown"; - // - // cpuname - // - this.cpuname.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.cpuname.Location = new System.Drawing.Point(102, 122); - this.cpuname.Name = "cpuname"; - this.cpuname.ReadOnly = true; - this.cpuname.Size = new System.Drawing.Size(250, 13); - this.cpuname.TabIndex = 9; - this.cpuname.Text = "Unknown"; - // - // gpudrvver - // - this.gpudrvver.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.gpudrvver.Location = new System.Drawing.Point(102, 151); - this.gpudrvver.Name = "gpudrvver"; - this.gpudrvver.ReadOnly = true; - this.gpudrvver.Size = new System.Drawing.Size(250, 13); - this.gpudrvver.TabIndex = 10; - this.gpudrvver.Text = "Unknown"; - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItem1, - this.toolsToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(414, 24); - this.menuStrip1.TabIndex = 11; - this.menuStrip1.Text = "menuStrip1"; - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.goToRepositoryToolStripMenuItem, - this.goToWikiToolStripMenuItem}); - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(47, 20); - this.toolStripMenuItem1.Text = "IGCIT"; - // - // goToRepositoryToolStripMenuItem - // - this.goToRepositoryToolStripMenuItem.Name = "goToRepositoryToolStripMenuItem"; - this.goToRepositoryToolStripMenuItem.Size = new System.Drawing.Size(159, 22); - this.goToRepositoryToolStripMenuItem.Text = "Go to repository"; - this.goToRepositoryToolStripMenuItem.Click += new System.EventHandler(this.goToRepositoryToolStripMenuItem_Click); - // - // goToWikiToolStripMenuItem - // - this.goToWikiToolStripMenuItem.Name = "goToWikiToolStripMenuItem"; - this.goToWikiToolStripMenuItem.Size = new System.Drawing.Size(159, 22); - this.goToWikiToolStripMenuItem.Text = "Go to wiki"; - this.goToWikiToolStripMenuItem.Click += new System.EventHandler(this.goToWikiToolStripMenuItem_Click); - // - // toolsToolStripMenuItem - // - this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.windowsMiniDToolStripMenuItem, - this.editTDRDelayValuesToolStripMenuItem, - this.anonymizeSSUReportToolStripMenuItem}); - this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - this.toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20); - this.toolsToolStripMenuItem.Text = "Tools"; - // - // windowsMiniDToolStripMenuItem - // - this.windowsMiniDToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.enableToolStripMenuItem, - this.extractDumpFilesToolStripMenuItem, - this.fixWATCHDOGDumpsGenerationToolStripMenuItem, - this.clearWindowsDumpFoldersToolStripMenuItem, - this.restoreWindowsDefaultsToolStripMenuItem}); - this.windowsMiniDToolStripMenuItem.Name = "windowsMiniDToolStripMenuItem"; - this.windowsMiniDToolStripMenuItem.Size = new System.Drawing.Size(192, 22); - this.windowsMiniDToolStripMenuItem.Text = "Crash Dumps"; - // - // enableToolStripMenuItem - // - this.enableToolStripMenuItem.Name = "enableToolStripMenuItem"; - this.enableToolStripMenuItem.Size = new System.Drawing.Size(245, 22); - this.enableToolStripMenuItem.Text = "Enable"; - this.enableToolStripMenuItem.Click += new System.EventHandler(this.enableToolStripMenuItem_Click); - // - // extractDumpFilesToolStripMenuItem - // - this.extractDumpFilesToolStripMenuItem.Name = "extractDumpFilesToolStripMenuItem"; - this.extractDumpFilesToolStripMenuItem.Size = new System.Drawing.Size(245, 22); - this.extractDumpFilesToolStripMenuItem.Text = "Extract dump files"; - this.extractDumpFilesToolStripMenuItem.Click += new System.EventHandler(this.extractDumpFilesToolStripMenuItem_Click); - // - // fixWATCHDOGDumpsGenerationToolStripMenuItem - // - this.fixWATCHDOGDumpsGenerationToolStripMenuItem.Name = "fixWATCHDOGDumpsGenerationToolStripMenuItem"; - this.fixWATCHDOGDumpsGenerationToolStripMenuItem.Size = new System.Drawing.Size(245, 22); - this.fixWATCHDOGDumpsGenerationToolStripMenuItem.Text = "Fix watchdog dumps generation"; - this.fixWATCHDOGDumpsGenerationToolStripMenuItem.Click += new System.EventHandler(this.fixWATCHDOGDumpsGenerationToolStripMenuItem_Click); - // - // clearWindowsDumpFoldersToolStripMenuItem - // - this.clearWindowsDumpFoldersToolStripMenuItem.Name = "clearWindowsDumpFoldersToolStripMenuItem"; - this.clearWindowsDumpFoldersToolStripMenuItem.Size = new System.Drawing.Size(245, 22); - this.clearWindowsDumpFoldersToolStripMenuItem.Text = "Clear Windows dump folders"; - this.clearWindowsDumpFoldersToolStripMenuItem.Click += new System.EventHandler(this.clearWindowsDumpFoldersToolStripMenuItem_Click); - // - // restoreWindowsDefaultsToolStripMenuItem - // - this.restoreWindowsDefaultsToolStripMenuItem.Name = "restoreWindowsDefaultsToolStripMenuItem"; - this.restoreWindowsDefaultsToolStripMenuItem.Size = new System.Drawing.Size(245, 22); - this.restoreWindowsDefaultsToolStripMenuItem.Text = "Restore Windows defaults"; - this.restoreWindowsDefaultsToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowsDefaultsToolStripMenuItem_Click); - // - // editTDRDelayValuesToolStripMenuItem - // - this.editTDRDelayValuesToolStripMenuItem.Name = "editTDRDelayValuesToolStripMenuItem"; - this.editTDRDelayValuesToolStripMenuItem.Size = new System.Drawing.Size(192, 22); - this.editTDRDelayValuesToolStripMenuItem.Text = "Edit TDR delay values"; - this.editTDRDelayValuesToolStripMenuItem.Click += new System.EventHandler(this.editTDRDelayValuesToolStripMenuItem_Click); - // - // ramT - // - this.ramT.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.ramT.Location = new System.Drawing.Point(102, 180); - this.ramT.Name = "ramT"; - this.ramT.ReadOnly = true; - this.ramT.Size = new System.Drawing.Size(250, 13); - this.ramT.TabIndex = 16; - this.ramT.Text = "Unknown"; - // - // ramL - // - this.ramL.AutoSize = true; - this.ramL.Location = new System.Drawing.Point(13, 180); - this.ramL.Name = "ramL"; - this.ramL.Size = new System.Drawing.Size(47, 13); - this.ramL.TabIndex = 15; - this.ramL.Text = "Memory:"; - // - // dmanufL - // - this.dmanufL.AutoSize = true; - this.dmanufL.Location = new System.Drawing.Point(13, 238); - this.dmanufL.Name = "dmanufL"; - this.dmanufL.Size = new System.Drawing.Size(73, 13); - this.dmanufL.TabIndex = 17; - this.dmanufL.Text = "Manufacturer:"; - // - // dmanufT - // - this.dmanufT.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.dmanufT.Location = new System.Drawing.Point(102, 238); - this.dmanufT.Name = "dmanufT"; - this.dmanufT.ReadOnly = true; - this.dmanufT.Size = new System.Drawing.Size(250, 13); - this.dmanufT.TabIndex = 18; - this.dmanufT.Text = "Unknown"; - // - // label5 - // - this.label5.Dock = System.Windows.Forms.DockStyle.Top; - this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label5.ForeColor = System.Drawing.Color.Firebrick; - this.label5.Location = new System.Drawing.Point(0, 52); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(414, 29); - this.label5.TabIndex = 19; - this.label5.Text = "Device Information"; - this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // dmodelT - // - this.dmodelT.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.dmodelT.Location = new System.Drawing.Point(102, 209); - this.dmodelT.Name = "dmodelT"; - this.dmodelT.ReadOnly = true; - this.dmodelT.Size = new System.Drawing.Size(250, 13); - this.dmodelT.TabIndex = 21; - this.dmodelT.Text = "Unknown"; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(13, 210); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(39, 13); - this.label7.TabIndex = 20; - this.label7.Text = "Model:"; - // - // cpmanuf - // - this.cpmanuf.BackColor = System.Drawing.Color.SteelBlue; - this.cpmanuf.FlatAppearance.BorderSize = 0; - this.cpmanuf.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpmanuf.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpmanuf.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpmanuf.Location = new System.Drawing.Point(358, 233); - this.cpmanuf.Name = "cpmanuf"; - this.cpmanuf.Size = new System.Drawing.Size(44, 23); - this.cpmanuf.TabIndex = 22; - this.cpmanuf.Text = "Copy"; - this.cpmanuf.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpmanuf.UseVisualStyleBackColor = false; - this.cpmanuf.Click += new System.EventHandler(this.cpmanuf_Click); - // - // cpmodel - // - this.cpmodel.BackColor = System.Drawing.Color.SteelBlue; - this.cpmodel.FlatAppearance.BorderSize = 0; - this.cpmodel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpmodel.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpmodel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpmodel.Location = new System.Drawing.Point(358, 204); - this.cpmodel.Name = "cpmodel"; - this.cpmodel.Size = new System.Drawing.Size(44, 23); - this.cpmodel.TabIndex = 23; - this.cpmodel.Text = "Copy"; - this.cpmodel.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpmodel.UseVisualStyleBackColor = false; - this.cpmodel.Click += new System.EventHandler(this.cpmodel_Click); - // - // cpmem - // - this.cpmem.BackColor = System.Drawing.Color.SteelBlue; - this.cpmem.FlatAppearance.BorderSize = 0; - this.cpmem.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpmem.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpmem.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpmem.Location = new System.Drawing.Point(358, 175); - this.cpmem.Name = "cpmem"; - this.cpmem.Size = new System.Drawing.Size(44, 23); - this.cpmem.TabIndex = 24; - this.cpmem.Text = "Copy"; - this.cpmem.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpmem.UseVisualStyleBackColor = false; - this.cpmem.Click += new System.EventHandler(this.cpmem_Click); - // - // cpgpud - // - this.cpgpud.BackColor = System.Drawing.Color.SteelBlue; - this.cpgpud.FlatAppearance.BorderSize = 0; - this.cpgpud.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpgpud.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpgpud.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpgpud.Location = new System.Drawing.Point(358, 146); - this.cpgpud.Name = "cpgpud"; - this.cpgpud.Size = new System.Drawing.Size(44, 23); - this.cpgpud.TabIndex = 25; - this.cpgpud.Text = "Copy"; - this.cpgpud.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpgpud.UseVisualStyleBackColor = false; - this.cpgpud.Click += new System.EventHandler(this.cpgpud_Click); - // - // cpproc - // - this.cpproc.BackColor = System.Drawing.Color.SteelBlue; - this.cpproc.FlatAppearance.BorderSize = 0; - this.cpproc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpproc.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpproc.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpproc.Location = new System.Drawing.Point(358, 117); - this.cpproc.Name = "cpproc"; - this.cpproc.Size = new System.Drawing.Size(44, 23); - this.cpproc.TabIndex = 26; - this.cpproc.Text = "Copy"; - this.cpproc.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpproc.UseVisualStyleBackColor = false; - this.cpproc.Click += new System.EventHandler(this.cpproc_Click); - // - // cpwinb - // - this.cpwinb.BackColor = System.Drawing.Color.SteelBlue; - this.cpwinb.FlatAppearance.BorderSize = 0; - this.cpwinb.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.cpwinb.ForeColor = System.Drawing.Color.WhiteSmoke; - this.cpwinb.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.cpwinb.Location = new System.Drawing.Point(358, 88); - this.cpwinb.Name = "cpwinb"; - this.cpwinb.Size = new System.Drawing.Size(44, 23); - this.cpwinb.TabIndex = 27; - this.cpwinb.Text = "Copy"; - this.cpwinb.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.cpwinb.UseVisualStyleBackColor = false; - this.cpwinb.Click += new System.EventHandler(this.cpwinb_Click); - // - // anonymizeSSUReportToolStripMenuItem - // - this.anonymizeSSUReportToolStripMenuItem.Name = "anonymizeSSUReportToolStripMenuItem"; - this.anonymizeSSUReportToolStripMenuItem.Size = new System.Drawing.Size(192, 22); - this.anonymizeSSUReportToolStripMenuItem.Text = "Anonymize SSU report"; - this.anonymizeSSUReportToolStripMenuItem.Click += new System.EventHandler(this.anonymizeSSUReportToolStripMenuItem_Click); - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(414, 292); - this.Controls.Add(this.cpwinb); - this.Controls.Add(this.cpproc); - this.Controls.Add(this.cpgpud); - this.Controls.Add(this.cpmem); - this.Controls.Add(this.cpmodel); - this.Controls.Add(this.cpmanuf); - this.Controls.Add(this.dmodelT); - this.Controls.Add(this.label7); - this.Controls.Add(this.label5); - this.Controls.Add(this.dmanufT); - this.Controls.Add(this.dmanufL); - this.Controls.Add(this.ramT); - this.Controls.Add(this.ramL); - this.Controls.Add(this.gpudrvver); - this.Controls.Add(this.cpuname); - this.Controls.Add(this.winbuild); - this.Controls.Add(this.footerMain); - this.Controls.Add(this.label6); - this.Controls.Add(this.label4); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.menuStrip1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.MaximizeBox = false; - this.Name = "Form1"; - this.Text = "IGCIT Helper"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); - this.Load += new System.EventHandler(this.Form1_Load); - this.Shown += new System.EventHandler(this.Form1_Shown); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label footerMain; - private System.Windows.Forms.TextBox winbuild; - private System.Windows.Forms.TextBox cpuname; - private System.Windows.Forms.TextBox gpudrvver; - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.TextBox ramT; - private System.Windows.Forms.Label ramL; - private System.Windows.Forms.Label dmanufL; - private System.Windows.Forms.TextBox dmanufT; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.TextBox dmodelT; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Button cpmanuf; - private System.Windows.Forms.Button cpmodel; - private System.Windows.Forms.Button cpmem; - private System.Windows.Forms.Button cpgpud; - private System.Windows.Forms.Button cpproc; - private System.Windows.Forms.Button cpwinb; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem goToRepositoryToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem goToWikiToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem windowsMiniDToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem editTDRDelayValuesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem enableToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem fixWATCHDOGDumpsGenerationToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem restoreWindowsDefaultsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem extractDumpFilesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem clearWindowsDumpFoldersToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem anonymizeSSUReportToolStripMenuItem; - } -} - diff --git a/IGCIT Helper/Form1.cs b/IGCIT Helper/Form1.cs deleted file mode 100755 index 332673e..0000000 --- a/IGCIT Helper/Form1.cs +++ /dev/null @@ -1,661 +0,0 @@ -using Microsoft.Win32; -using System; -using System.Diagnostics; -using System.Management; -using System.Windows.Forms; -using System.IO; -using System.Runtime.InteropServices; -using System.Net.Http; -using Newtonsoft.Json; -using System.Collections.Generic; -using System.Threading.Tasks; -using System.Threading; -using IGCIT_Helper.Events; -using System.Text.RegularExpressions; - -namespace IGCIT_Helper { - public partial class Form1 : Form { - private enum AdminCMD:int { - CrashDumpsSetup = 0, - TDRSettings, - FixWatchdogGen, - RestoreDumpDefaults, - ExtractDumps, - ClearDumpFolds - } - - private readonly Dictionary _cancTokSources; - private readonly RegistryKey _localMachine; - private readonly RegistryKey _localMachine64; - private readonly ToolTip _cpTooltip; - private readonly Utils _util; - private readonly bool _isAdmin; - private Process _activeProc; - - [DllImport("shell32.dll", SetLastError = true)] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool IsUserAnAdmin(); - - public Form1() { - InitializeComponent(); - - _localMachine = Registry.LocalMachine; - _localMachine64 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); - _cpTooltip = new ToolTip(); - _util = Utils.Instance; - _isAdmin = IsUserAnAdmin(); - - _cancTokSources = new Dictionary() { - {"comprdumps", null } - }; - - DialogCancelEvent.OnDialogCancelClick += OnDialogCancelClicked; - } - - private async void OnDialogCancelClicked(DialogCancelEventArgs args) { - switch (args.EventType) { - case DialogType.WaitForProcess: { - string tok = args.Token; - - if (tok != "" && _cancTokSources[tok] != null && !_cancTokSources[tok].IsCancellationRequested) - _cancTokSources[tok].Cancel(); - - if (_activeProc != null && !_activeProc.HasExited) { - await Task.Factory.StartNew(() => { - _activeProc.Kill(); - _activeProc.WaitForExit(); - }); - } - } - break; - } - } - - private void Form1_Load(object sender, EventArgs e) { - ManagementClass cs = new ManagementClass("Win32_ComputerSystem"); - ManagementClass os = new ManagementClass("Win32_OperatingSystem"); - - ActiveControl = label2; // unfocus the textbox! - winbuild.Text = GetWindowsBuildVersion(); - cpuname.Text = GetProcessorName(); - gpudrvver.Text = GetGPUDriverVersion(); - footerMain.Text = CommonData.FooterTx; - - foreach (ManagementObject mo in cs.GetInstances()) { - dmodelT.Text = mo["Model"].ToString(); - dmanufT.Text = mo["Manufacturer"].ToString(); - } - - foreach (ManagementObject mo in os.GetInstances()) - ramT.Text = String.Format("{0:0.#} GB", (ulong)mo["TotalVisibleMemorySize"] / 1024 / 1024f); - } - - private void Form1_Shown(object sender, EventArgs e) { - string[] args = Environment.GetCommandLineArgs(); - - if (args.Length <= 1) - return; - - bool isValidCmd = Enum.TryParse(args[1], out AdminCMD cmd); - if (!isValidCmd) { - MessageBox.Show(this, "Invalid command!", "ERROR", MessageBoxButtons.OK); - Application.Exit(); - } - - switch (cmd) { - case AdminCMD.TDRSettings: - ShowTdrDelayForm(); - break; - case AdminCMD.CrashDumpsSetup: - SetupCrashDumps(); - break; - case AdminCMD.FixWatchdogGen: - ResetWatchdogDump(); - break; - case AdminCMD.RestoreDumpDefaults: - RestoreCrashDumpsDefaults(); - break; - case AdminCMD.ExtractDumps: - ExtractDumpFiles(); - break; - case AdminCMD.ClearDumpFolds: - ClearDumpFolders(); - break; - default: - break; - } - } - - private string GetWindowsBuildVersion() { - object buildN = null; - object version = null; - - try { - RegistryKey registryWinBuildKey = _localMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); - - buildN = registryWinBuildKey.GetValue(@"CurrentBuildNumber"); - version = registryWinBuildKey.GetValue(@"DisplayVersion"); - - } catch (Exception e) { - MessageBox.Show(this, "Unable to get Windows build number.\n\n" + e.Message, "GetWindowsBuildVersion() Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - return (buildN ?? "Unknown") + " (" + (version ?? "Unknown") + ")"; - } - - private string GetProcessorName() { - object cpu = null; - - try { - cpu = _localMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0").GetValue("ProcessorNameString"); - - } catch (Exception e) { - MessageBox.Show(this, "Unable to get Processor name.\n\n" + e.Message, "GetProcessorName() Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - return cpu == null ? "Unknown" : cpu.ToString(); - } - - private string GetGPUDriverVersion() { - string ret = "Unknown"; - - try { - RegistryKey regGpus = _localMachine.OpenSubKey(@"HARDWARE\DEVICEMAP\VIDEO"); - - if (regGpus == null) - return ret; - - foreach (string k in regGpus.GetValueNames()) { - if (!k.Contains("Video")) - continue; - - object gpuPath = regGpus.GetValue(k); - object gpu, drvVer; - string regGPUPath; - - if (gpuPath == null) - continue; - - regGPUPath = _util.GetRegistryPath(gpuPath.ToString()).Replace("\\", "\\"); - - gpu = Registry.GetValue(regGPUPath, "DriverDesc", null); - if (gpu == null || gpu.ToString().IndexOf("intel", StringComparison.OrdinalIgnoreCase) < 0) - continue; - - drvVer = Registry.GetValue(regGPUPath, "DriverVersion", null); - if (drvVer == null) - break; - - ret = drvVer.ToString(); - break; - } - - } catch (Exception e) { - MessageBox.Show(this, "Unable to get GPU driver version.\n\n" + e.Message, "GetGPUDriverVersion() Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - return ret; - } - - private void SetupCrashDumps() { - try { - RegistryKey lmErrorReport = _localMachine.OpenSubKey(@"Software\Microsoft\Windows\Windows Error Reporting", true); - RegistryKey usErrorReport = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\Windows Error Reporting", true); - RegistryKey localDumps = _localMachine64.OpenSubKey(@"Software\Microsoft\Windows\Windows Error Reporting\LocalDumps", true); - RegistryKey liveKrnReports = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports", true); - RegistryKey crashControl = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\CrashControl", true); - RegistryKey memManagment = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", true); - object pageFile = memManagment.GetValue("PagingFiles"); - object dumpFold = localDumps.GetValue("DumpFolder"); - (RegistryKey, string, int)[] regKeys = { - (lmErrorReport, "Disabled", 1), - (usErrorReport, "Disabled", 1), - (localDumps, "DumpType", 2), - (liveKrnReports, "DeleteLiveMiniDumps", 0), - (crashControl, "CrashDumpEnabled", 1), - (crashControl, "FilterPages", 1) - }; - bool setPagefile = true; - bool reqReboot = false; - - if (pageFile != null) { - string[] pageFileAr = (string[])pageFile; - bool skip = false; - int min = 0; - int max = 0; - - if (pageFileAr.Length > 1) { - DialogResult ret = MessageBox.Show(this, "Advanced PageFile configuration detected!\n\n" + - "IGCIT Helper has no support for this!\n" + - "Intel recommends a pagefile size of 17400.\n\n" + - "Do you want to skip pagefile setting?\n\n" + - "Press Cancel to abort.\n" + - "Press No to let IGCIT Helper overwrite your pagefile settings.\n" + - "Press Yes to skip pagefile setting and continue.", - "Crash dumps setup", MessageBoxButtons.YesNoCancel); - - if (ret == DialogResult.Cancel) - return; - else if (ret == DialogResult.Yes) - skip = true; - - } else if (pageFileAr.Length == 1 && pageFileAr[0] != "") { - string[] pageFileData = pageFileAr[0].Split(' '); - - if (pageFileData.Length == 3) { - Int32.TryParse(pageFileData[1], out min); - Int32.TryParse(pageFileData[2], out max); - } - } - - setPagefile = !skip && (min < 17400 || max < 17400); - } - - if (setPagefile) { - memManagment.SetValue("PagingFiles", new string[] { @"C:\pagefile.sys 17400 17400" }, RegistryValueKind.MultiString); - reqReboot = true; - } - - foreach ((RegistryKey regK, string key, int expected) in regKeys) { - object val = regK.GetValue(key); - - if (val != null && (int)val == expected) - continue; - - regK.SetValue(key, expected, RegistryValueKind.DWord); - reqReboot = true; - } - - if (dumpFold == null || (string)dumpFold != @"C:\AppCrashDumps") { - localDumps.SetValue("DumpFolder", @"C:\AppCrashDumps", RegistryValueKind.ExpandString); - reqReboot = true; - } - - if (!reqReboot) - MessageBox.Show(this, "Everything is already set!", "Crash dumps setup", MessageBoxButtons.OK); - else - _util.AskReboot(this, "Crash dumps setup"); - - } catch (Exception ex) { - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void ResetWatchdogDump() { - try { - RegistryKey liveKrnReports = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports", true); - RegistryKey watchod = liveKrnReports?.OpenSubKey("WATCHDOG"); - - if (watchod != null) - liveKrnReports.DeleteSubKeyTree("WATCHDOG"); - - MessageBox.Show(this, "Done!", "Reset watchdog dumps", MessageBoxButtons.OK); - - } catch (Exception ex) { - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void RestoreCrashDumpsDefaults() { - try { - RegistryKey lmErrorReport = _localMachine.OpenSubKey(@"Software\Microsoft\Windows\Windows Error Reporting", true); - RegistryKey usErrorReport = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\Windows Error Reporting", true); - RegistryKey localDumps = _localMachine64.OpenSubKey(@"SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps", true); - RegistryKey liveKrnReports = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports", true); - RegistryKey crashControl = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\CrashControl", true); - RegistryKey memManagment = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", true); - object pageFile = memManagment.GetValue("PagingFiles"); - - lmErrorReport.DeleteValue("Disabled"); - usErrorReport.DeleteValue("Disabled"); - localDumps.DeleteValue("DumpFolder"); - localDumps.DeleteValue("DumpType"); - liveKrnReports.DeleteValue("DeleteLiveMiniDumps"); - crashControl.DeleteValue("FilterPages"); - crashControl.SetValue("CrashDumpEnabled", 3, RegistryValueKind.DWord); - - if (pageFile != null) { - string[] pageFileAr = (string[])pageFile; - - if (pageFileAr.Length == 1) { - DialogResult ret = MessageBox.Show(this, "Do you want to restore pagefile to Windows default?", - "Restore crash dumps settings", MessageBoxButtons.YesNo); - - if (ret == DialogResult.Yes) - memManagment.SetValue("PagingFiles", new string[] { @"?:\pagefile.sys" }, RegistryValueKind.MultiString); - } - } - - _util.AskReboot(this, "Restore crash dumps settings"); - - } catch (Exception ex) { - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private async Task CompressAndEncryptDumps() { - if (_cancTokSources["comprdumps"] == null || _cancTokSources["comprdumps"].Token.IsCancellationRequested) - _cancTokSources["comprdumps"] = new CancellationTokenSource(); - - CancellationToken ctok = _cancTokSources["comprdumps"].Token; - string outDir = "dumps"; - string outputZipName = ""; - - try { - string sysRoot = Environment.ExpandEnvironmentVariables("%systemroot%"); - DirectoryInfo[] dumpDirs = { - new DirectoryInfo(@"C:\AppCrashDumps"), - new DirectoryInfo($@"{sysRoot}\Minidump"), - new DirectoryInfo($@"{sysRoot}\LiveKernelReports\WATCHDOG") - }; - DirectoryInfo outDInfo; - string ret; - - if (Directory.Exists(outDir)) - Directory.Delete(outDir, true); - - foreach (DirectoryInfo dinfo in dumpDirs) { - if (dinfo.Exists && dinfo.GetFiles().Length > 0) - _util.DirectoryCopy(dinfo.FullName, $@"{outDir}\{dinfo.Name}", false); - } - - outDInfo = new DirectoryInfo(outDir); - if (outDInfo.GetFiles().Length == 0 && outDInfo.GetDirectories().Length == 0) - return "No crash dumps have been found on this system."; - - if (ctok.IsCancellationRequested) - ctok.ThrowIfCancellationRequested(); - - string dumpDataJson = await IGCITHttpClient.Instance.GetStringAsync("api/getid"); - Dictionary dumpData = JsonConvert.DeserializeObject>(dumpDataJson); - outputZipName = $"igcit-dumps_{dumpData["dumpID"]}.7z"; - - if (ctok.IsCancellationRequested) - ctok.ThrowIfCancellationRequested(); - - _activeProc = _util.CreateProcess(new ProcessStartInfo() { - UseShellExecute = false, - CreateNoWindow = true, - RedirectStandardOutput = true, - FileName = @"7z\7za.exe", - Arguments = $@"-mhc=on -mhe=on -p{dumpData["dumpKey"]} a {outputZipName} {outDir}" - }); - - ret = await _util.StartProcessAndGetOutput(_activeProc); - - outDInfo.Delete(true); - - if (ctok.IsCancellationRequested) - ctok.ThrowIfCancellationRequested(); - - if (!File.Exists(outputZipName)) - throw new Exception("Unknown compression error!"); - - File.WriteAllText($"{outputZipName}-decKey.txt", dumpData["dumpKey"]); - - return ret == "" ? - "7z error!\n\nUnable to create dumps archive." : - $"{ret}\n\nOutput file: {outputZipName}\n\n" + - "Do NOT upload your key to IGCIT and do NOT share it with anyone!"; - - } catch (OperationCanceledException oex) { - if (outputZipName != "" && File.Exists(outputZipName)) - File.Delete(outputZipName); - - if (Directory.Exists(outDir)) - Directory.Delete(outDir, true); - - return "Canceled"; - - } catch (HttpRequestException hex) { - if (Directory.Exists(outDir)) - Directory.Delete(outDir, true); - - return $"{hex.Message}\n\nUnable to contact the server, please check your internet connection."; - - } catch (Exception ex) { - if (Directory.Exists(outDir)) - Directory.Delete(outDir, true); - - return ex.Message; - } - } - - private async void ExtractDumpFiles() { - try { - ModalBox modal = new ModalBox() { Owner = this }; - string compressRetStr; - - menuStrip1.Enabled = false; - modal.SetText("Please wait.."); - modal.SetTokenName("comprdumps"); - _util.CenterFormToParent(modal, this); - modal.Show(); - - compressRetStr = await CompressAndEncryptDumps(); - - modal.Close(); - menuStrip1.Enabled = true; - - MessageBox.Show(this, compressRetStr, "Extract crash dumps", MessageBoxButtons.OK); - - } catch (Exception ex) { - menuStrip1.Enabled = true; - - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void ClearDumpFolders() { - try { - string sysRoot = Environment.ExpandEnvironmentVariables("%systemroot%"); - DirectoryInfo[] dumpDirs = { - new DirectoryInfo(@"C:\AppCrashDumps"), - new DirectoryInfo($@"{sysRoot}\Minidump"), - new DirectoryInfo($@"{sysRoot}\LiveKernelReports\WATCHDOG") - }; - - foreach (DirectoryInfo dinfo in dumpDirs) { - FileInfo[] finfoAr = dinfo.GetFiles(); - DirectoryInfo[] dinfoAr = dinfo.GetDirectories(); - - foreach (FileInfo finfo in finfoAr) - finfo.Delete(); - - foreach (DirectoryInfo ddinfo in dinfoAr) - ddinfo.Delete(true); - } - } catch (Exception ex) { - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void AnonymizeSSU() { - OpenFileDialog odiag = new OpenFileDialog() { - Filter = "txt files (*.txt)|*.txt", - CheckFileExists = true, - CheckPathExists = true, - AddExtension = true, - DefaultExt = "txt", - Multiselect = false, - Title = "Open SSU report" - }; - string outF = "igcit_ssu.txt"; - - try { - if (odiag.ShowDialog() != DialogResult.OK) - return; - - FileInfo ssuFinfo = new FileInfo(odiag.FileName); - StreamReader ssur = new StreamReader(odiag.OpenFile()); - StreamWriter nssu = new StreamWriter($@"{ssuFinfo.DirectoryName}\{outF}"); - string line = ssur.ReadLine(); - Regex rex = new Regex(@"[A-Za-z]:[\\\/]Users[\\\/](?[^\\\/]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase); - - while (line != null) { - MatchCollection match = rex.Matches(line); - string wstr = line; - - if (line.Contains("IP Address:") || line.Contains("MAC Address:") || line.Contains("Default IP Gateway:") || - line.Contains("Machine name:") || line.Contains("Machine Id:")) - wstr = ""; - else if (match.Count > 0) - wstr = wstr.Replace(match[0].Groups["usrname"].Value, "usrname"); - - if (wstr != "") - nssu.WriteLine(wstr); - - line = ssur.ReadLine(); - } - - nssu.Close(); - ssur.Close(); - - MessageBox.Show(this, $"Done!\n\nOutput file: {outF}", "Anonymize SSU report", MessageBoxButtons.OK); - - } catch (Exception ex) { - MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void ShowTdrDelayForm() { - Form tdrDl = new tdrdelayForm() { - StartPosition = FormStartPosition.CenterParent - }; - - tdrDl.ShowDialog(this); - } - - private void showCopyTooltip() { - _cpTooltip.Show("Copied", this, Cursor.Position.X - this.Location.X - 20, Cursor.Position.Y - this.Location.Y - 20, 800); - } - - private void cpmodel_Click(object sender, EventArgs e) { - Clipboard.SetText(dmodelT.Text); - showCopyTooltip(); - } - - private void cpmanuf_Click(object sender, EventArgs e) { - Clipboard.SetText(dmanufT.Text); - showCopyTooltip(); - } - - private void cpmem_Click(object sender, EventArgs e) { - Clipboard.SetText(ramT.Text); - showCopyTooltip(); - } - - private void cpgpud_Click(object sender, EventArgs e) { - Clipboard.SetText(gpudrvver.Text); - showCopyTooltip(); - } - - private void cpproc_Click(object sender, EventArgs e) { - Clipboard.SetText(cpuname.Text); - showCopyTooltip(); - } - - private void cpwinb_Click(object sender, EventArgs e) { - Clipboard.SetText(winbuild.Text); - showCopyTooltip(); - } - - private void goToRepositoryToolStripMenuItem_Click(object sender, EventArgs e) { - Process.Start("https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT"); - } - - private void goToWikiToolStripMenuItem_Click(object sender, EventArgs e) { - Process.Start("https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki"); - } - - private void editTDRDelayValuesToolStripMenuItem_Click(object sender, EventArgs e) { - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.TDRSettings.ToString()); - else - ShowTdrDelayForm(); - } - - private void enableToolStripMenuItem_Click(object sender, EventArgs e) { - DialogResult ret = MessageBox.Show(this, "IGCIT Helper will now apply Intel recommended crash dumps settings.\n\n" + - "Press Yes to continue, press No to cancel", - "Enable crash dumps", MessageBoxButtons.YesNo); - - if (ret == DialogResult.No) - return; - - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.CrashDumpsSetup.ToString()); - else - SetupCrashDumps(); - } - - private void fixWATCHDOGDumpsGenerationToolStripMenuItem_Click(object sender, EventArgs e) { - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.FixWatchdogGen.ToString()); - else - ResetWatchdogDump(); - } - - private void restoreWindowsDefaultsToolStripMenuItem_Click(object sender, EventArgs e) { - DialogResult ret = MessageBox.Show(this, - "IGCIT Helper will now restore default Windows settings for dumps\n\n" + - "Press Yes to continue, press No to cancel", - "Restore default dump settings", - MessageBoxButtons.YesNo); - - if (ret == DialogResult.No) - return; - - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.RestoreDumpDefaults.ToString()); - else - RestoreCrashDumpsDefaults(); - } - - private void extractDumpFilesToolStripMenuItem_Click(object sender, EventArgs e) { - DialogResult ret = MessageBox.Show(this, - "An internet connection is required!\n\n" + - "This will extract all the dumps in your system, except memory dump.\n" + - "The result is an encrypted compressed 7z archive.\n\n" + - "Press Yes to continue, press No to cancel", - "Extract crash dumps", - MessageBoxButtons.YesNo); - - if (ret == DialogResult.No) - return; - - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.ExtractDumps.ToString()); - else - ExtractDumpFiles(); - } - - private void clearWindowsDumpFoldersToolStripMenuItem_Click(object sender, EventArgs e) { - DialogResult ret = MessageBox.Show(this, "Do you want to delete all dump files?", "Clear Windows dump folders", MessageBoxButtons.YesNo); - - if (ret == DialogResult.No) - return; - - if (!_isAdmin) - _util.RunAsAdmin(AdminCMD.ClearDumpFolds.ToString()); - else - ClearDumpFolders(); - } - - private void Form1_FormClosing(object sender, FormClosingEventArgs e) { - foreach (KeyValuePair kvp in _cancTokSources) { - if (kvp.Value != null) - kvp.Value.Cancel(); - } - - if (_activeProc != null && !_activeProc.HasExited) { - _activeProc.Kill(); - _activeProc.WaitForExit(); - } - } - - private void anonymizeSSUReportToolStripMenuItem_Click(object sender, EventArgs e) { - AnonymizeSSU(); - } - } -} diff --git a/IGCIT Helper/Form1.resx b/IGCIT Helper/Form1.resx deleted file mode 100755 index b445968..0000000 --- a/IGCIT Helper/Form1.resx +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - - - 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 - - - \ No newline at end of file diff --git a/IGCIT Helper/Form2.Designer.cs b/IGCIT Helper/Form2.Designer.cs deleted file mode 100755 index 8e26a29..0000000 --- a/IGCIT Helper/Form2.Designer.cs +++ /dev/null @@ -1,83 +0,0 @@ - -namespace IGCIT_Helper { - partial class ModalBox { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) { - if (disposing && (components != null)) { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() { - this.ModalText = new System.Windows.Forms.Label(); - this.button1 = new System.Windows.Forms.Button(); - this.SuspendLayout(); - // - // ModalText - // - this.ModalText.BackColor = System.Drawing.SystemColors.Window; - this.ModalText.Dock = System.Windows.Forms.DockStyle.Top; - this.ModalText.Location = new System.Drawing.Point(0, 0); - this.ModalText.Name = "ModalText"; - this.ModalText.Size = new System.Drawing.Size(203, 52); - this.ModalText.TabIndex = 0; - this.ModalText.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // button1 - // - this.button1.BackColor = System.Drawing.SystemColors.Control; - this.button1.Dock = System.Windows.Forms.DockStyle.Fill; - this.button1.FlatAppearance.BorderSize = 0; - this.button1.Location = new System.Drawing.Point(0, 52); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(203, 29); - this.button1.TabIndex = 1; - this.button1.Text = "Cancel"; - this.button1.UseVisualStyleBackColor = false; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // ModalBox - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.SystemColors.Window; - this.ClientSize = new System.Drawing.Size(203, 81); - this.ControlBox = false; - this.Controls.Add(this.button1); - this.Controls.Add(this.ModalText); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(219, 120); - this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(219, 120); - this.Name = "ModalBox"; - this.ShowIcon = false; - this.ShowInTaskbar = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Dialog"; - this.Shown += new System.EventHandler(this.ModalBox_Shown); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Label ModalText; - private System.Windows.Forms.Button button1; - } -} \ No newline at end of file diff --git a/IGCIT Helper/Form2.cs b/IGCIT Helper/Form2.cs deleted file mode 100755 index a2fb64b..0000000 --- a/IGCIT Helper/Form2.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Windows.Forms; -using IGCIT_Helper.Events; - -namespace IGCIT_Helper { - public partial class ModalBox : Form { - private string _token = ""; - - public ModalBox() { - InitializeComponent(); - } - - public void SetText(string text) { - ModalText.Text = text; - } - - public void SetTokenName(string tok) { - _token = tok; - } - - private void button1_Click(object sender, System.EventArgs e) { - ModalText.Text = "Stopping process.."; - button1.Enabled = false; - DialogCancelEvent.DialogCancelClicked(new DialogCancelEventArgs(DialogType.WaitForProcess, _token)); - } - - private void ModalBox_Shown(object sender, System.EventArgs e) { - button1.Enabled = true; - } - } -} diff --git a/IGCIT Helper/Form2.resx b/IGCIT Helper/Form2.resx deleted file mode 100755 index 29dcb1b..0000000 --- a/IGCIT Helper/Form2.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/IGCIT Helper/IGCIT Helper.csproj b/IGCIT Helper/IGCIT Helper.csproj deleted file mode 100755 index 14176b7..0000000 --- a/IGCIT Helper/IGCIT Helper.csproj +++ /dev/null @@ -1,192 +0,0 @@ - - - - - Debug - AnyCPU - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5} - WinExe - IGCIT_Helper - IGCIT Helper - v4.8 - 512 - true - true - false - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - IGCIT Helper - IGCIT - false - 0 - 1.0.0.%2a - false - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - true - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - IGCIT-logo.ico - - - - - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt - true - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt - true - - - - packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - - - - - - - - - - - - - - - - - - - - - Form - - - Form1.cs - - - Form - - - Form2.cs - - - - - - - Form - - - tdrdelay.cs - - - Form1.cs - - - Form2.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - tdrdelay.cs - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - - - False - Microsoft .NET Framework 4.7.2 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - - Always - - - Always - - - Always - - - Always - - - - - - - - \ No newline at end of file diff --git a/IGCIT Helper/IGCIT Helper.sln b/IGCIT Helper/IGCIT Helper.sln deleted file mode 100755 index 7233881..0000000 --- a/IGCIT Helper/IGCIT Helper.sln +++ /dev/null @@ -1,37 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30804.86 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IGCIT Helper", "IGCIT Helper.csproj", "{737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1E3BDE4B-9768-4810-93A8-1B8D170B89B2}" - ProjectSection(SolutionItems) = preProject - .editorconfig = .editorconfig - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Description = IGCIT utility to easily extract Windows build, processor name and GPU driver version - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Debug|x64.ActiveCfg = Debug|x64 - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Debug|x64.Build.0 = Debug|x64 - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Release|Any CPU.Build.0 = Release|Any CPU - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Release|x64.ActiveCfg = Release|x64 - {737D3590-FC26-44A6-ADD9-1CE2D6C20DB5}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {2A3F084B-1FAF-47DF-B48C-8C90E663F94D} - EndGlobalSection -EndGlobal diff --git a/IGCIT Helper/IGCITHelper.rc b/IGCIT Helper/IGCITHelper.rc new file mode 100755 index 0000000000000000000000000000000000000000..cebf19e1486dda0890db03b9000132bbf71d04b2 GIT binary patch literal 82 zcmezW&y&H0!IL2#h@Bby8T=Rw85H1b1+ZK&P{xrV2*`G1aANRba0RMRV#s7jX2@sA P1FF}9vXvNk8Mqh#Vzdmx literal 0 HcmV?d00001 diff --git a/IGCIT Helper/IGCITHttpClient.cs b/IGCIT Helper/IGCITHttpClient.cs deleted file mode 100755 index c57505e..0000000 --- a/IGCIT Helper/IGCITHttpClient.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Net; -using System.Net.Http; -using System.Net.Http.Headers; - -namespace IGCIT_Helper { - class IGCITHttpClient: HttpClient { - private static IGCITHttpClient _instance = null; - public static IGCITHttpClient Instance { - get { - _instance = _instance ?? new IGCITHttpClient(); - - return _instance; - } - - private set {} - } - - private IGCITHttpClient(): base() { - ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12; - - BaseAddress = new Uri("https://www.musicianwall.altervista.org"); - DefaultRequestHeaders.Accept.Clear(); - DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - } - } -} diff --git a/IGCIT Helper/Program.cs b/IGCIT Helper/Program.cs deleted file mode 100755 index 6d87cd4..0000000 --- a/IGCIT Helper/Program.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Windows.Forms; - -namespace IGCIT_Helper { - static class Program { - /// - /// Punto di ingresso principale dell'applicazione. - /// - [STAThread] - static void Main() { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - } -} diff --git a/IGCIT Helper/Properties/AssemblyInfo.cs b/IGCIT Helper/Properties/AssemblyInfo.cs deleted file mode 100755 index 694d6a5..0000000 --- a/IGCIT Helper/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// Le informazioni generali relative a un assembly sono controllate dal seguente -// set di attributi. Modificare i valori di questi attributi per modificare le informazioni -// associate a un assembly. -[assembly: AssemblyTitle("IGCIT Helper")] -[assembly: AssemblyDescription("IGCIT helper application to extract required information to submit a new issue")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("IGCIT Helper")] -[assembly: AssemblyCopyright("Copyright © 2021 IGCIT")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili -// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da -// COM, impostare su true l'attributo ComVisible per tale tipo. -[assembly: ComVisible(false)] - -// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi -[assembly: Guid("737d3590-fc26-44a6-add9-1ce2d6c20db5")] - -// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: -// -// Versione principale -// Versione secondaria -// Numero di build -// Revisione -// -// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build -// usando l'asterisco '*' come illustrato di seguito: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.1.0")] -[assembly: AssemblyFileVersion("1.5.1.0")] diff --git a/IGCIT Helper/Properties/Resources.Designer.cs b/IGCIT Helper/Properties/Resources.Designer.cs deleted file mode 100755 index efadb97..0000000 --- a/IGCIT Helper/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// Il codice è stato generato da uno strumento. -// Versione runtime:4.0.30319.42000 -// -// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se -// il codice viene rigenerato. -// -//------------------------------------------------------------------------------ - -namespace IGCIT_Helper.Properties { - using System; - - - /// - /// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. - /// - // Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder. - // tramite uno strumento quale ResGen o Visual Studio. - // Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen - // con l'opzione /str oppure ricompilare il progetto VS. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IGCIT_Helper.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le - /// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/IGCIT Helper/Properties/Resources.resx b/IGCIT Helper/Properties/Resources.resx deleted file mode 100755 index 7c0911e..0000000 --- a/IGCIT Helper/Properties/Resources.resx +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - \ No newline at end of file diff --git a/IGCIT Helper/Properties/Settings.Designer.cs b/IGCIT Helper/Properties/Settings.Designer.cs deleted file mode 100755 index 4033577..0000000 --- a/IGCIT Helper/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// Il codice è stato generato da uno strumento. -// Versione runtime:4.0.30319.42000 -// -// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se -// il codice viene rigenerato. -// -//------------------------------------------------------------------------------ - -namespace IGCIT_Helper.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/IGCIT Helper/Properties/Settings.settings b/IGCIT Helper/Properties/Settings.settings deleted file mode 100755 index 2bd17f0..0000000 --- a/IGCIT Helper/Properties/Settings.settings +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/IGCIT Helper/Utils.cs b/IGCIT Helper/Utils.cs deleted file mode 100755 index 9ee0a81..0000000 --- a/IGCIT Helper/Utils.cs +++ /dev/null @@ -1,141 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Management; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace IGCIT_Helper { - public class Utils { - private static Utils _instance = null; - public static Utils Instance { - get { - if (_instance == null) - _instance = new Utils(); - - return _instance; - } - private set { } - } - private TaskCompletionSource _startProcessTask; - - private Utils() { } - - public void CenterFormToParent(Form child, Form parent) { - int px = parent.Location.X + (parent.Size.Width / 2) - (child.Size.Width / 2); - int py = parent.Location.Y + (parent.Size.Height / 2) - (child.Size.Height / 2); - - child.StartPosition = FormStartPosition.Manual; - child.Location = new System.Drawing.Point(px, py); - } - - public void RunAsAdmin(string args) { - ProcessStartInfo proc = new ProcessStartInfo { - UseShellExecute = true, - WorkingDirectory = Environment.CurrentDirectory, - FileName = Application.ExecutablePath, - Arguments = args, - Verb = "runas" - }; - - try { - Process.Start(proc); - - } catch { - return; - } - - Application.Exit(); - } - - public void RebootDevice() { - ManagementClass w32os = new ManagementClass("Win32_OperatingSystem"); - - w32os.Scope.Options.EnablePrivileges = true; - w32os.GetInstances().OfType().First().InvokeMethod("Win32Shutdown", new object[] { 0x2, 0 }); // 2 = reboot - Application.Exit(); - } - - public void AskReboot(IWin32Window owner, string messageBoxTitle = "Success") { - DialogResult dret = MessageBox.Show(owner, "Success!\n\nA reboot is required to apply the changes,\nDo you want to reboot now?", messageBoxTitle, MessageBoxButtons.YesNo); - - if (dret == DialogResult.Yes) - RebootDevice(); - } - - public string GetRegistryPath(in string path) { - string[] pathAr = path.Split('\\'); - string ret = ""; - - for (int i = 0, l = pathAr.Length; i < l; ++i) { - if (pathAr[i] == "" || String.Equals(pathAr[i], "registry", StringComparison.OrdinalIgnoreCase)) - continue; - else if (String.Equals(pathAr[i], "machine", StringComparison.OrdinalIgnoreCase)) - ret += "HKEY_LOCAL_MACHINE"; - else if (String.Equals(pathAr[i], "system", StringComparison.OrdinalIgnoreCase)) - ret += "\\SYSTEM"; - else - ret += "\\" + pathAr[i]; // wrong? - } - - return ret; - } - - public void DirectoryCopy(string src, string dst, bool copySubDirs) { - DirectoryInfo dir = new DirectoryInfo(src); - - if (!dir.Exists) - throw new DirectoryNotFoundException($"Source directory does not exist or could not be found: {src}"); - - DirectoryInfo[] dirs = dir.GetDirectories(); - FileInfo[] files = dir.GetFiles(); - - Directory.CreateDirectory(dst); - - foreach (FileInfo file in files) - file.CopyTo(Path.Combine(dst, file.Name), false); - - if (copySubDirs) { - foreach (DirectoryInfo subdir in dirs) { - string tempPath = Path.Combine(dst, subdir.Name); - - DirectoryCopy(subdir.FullName, tempPath, copySubDirs); - } - } - } - - public Process CreateProcess(ProcessStartInfo pinfo) { - return new Process { - StartInfo = pinfo - }; - } - - public async Task StartProcessAndGetOutput(Process proc) { - try { - string outp = ""; - - _startProcessTask = new TaskCompletionSource(); - - proc.EnableRaisingEvents = true; - proc.Exited += OnProcessExited; - - proc.Start(); - await _startProcessTask.Task; - - outp = proc.StandardOutput.ReadToEnd(); - - return _startProcessTask.Task.Result ? outp : ""; - - } catch (Exception ex) { - return ex.Message; - } - } - - private void OnProcessExited(object sender, EventArgs args) { - Process p = sender as Process; - - _startProcessTask.TrySetResult(p.ExitCode == 0); - } - } -} diff --git a/IGCIT Helper/bit7z/BUILD.txt b/IGCIT Helper/bit7z/BUILD.txt new file mode 100755 index 0000000..ab5e833 --- /dev/null +++ b/IGCIT Helper/bit7z/BUILD.txt @@ -0,0 +1 @@ +v4.0.0-rc msvc2022_x64 diff --git a/IGCIT Helper/bit7z/LICENSE b/IGCIT Helper/bit7z/LICENSE new file mode 100755 index 0000000..ee6256c --- /dev/null +++ b/IGCIT Helper/bit7z/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/IGCIT Helper/bit7z/README.md b/IGCIT Helper/bit7z/README.md new file mode 100755 index 0000000..f910ab5 --- /dev/null +++ b/IGCIT Helper/bit7z/README.md @@ -0,0 +1,308 @@ +

    bit7z

    + +

    A C++ static library offering a clean and simple interface to the 7-zip shared libraries

    + + +
    + + +
    + GitHub releaseC++14/17WindowsLinuxmacOSx86, x64donatedocsBuild status +
    + MSVC 2015+MinGW 6.4+GCC 4.9+Clang 3.5+CodeFactor GradeLicense +
    + +## ⚡️ Introduction + +**bit7z** is a _cross-platform_ C++ static library that allows the _compression/extraction of archive files_ through a _clean_ and _simple_ wrapper interface to the dynamic libraries from the [7-zip](https://www.7-zip.org/ "7-zip Project Homepage") project.
    +It supports compression and extraction to and from the filesystem or the memory, reading archives metadata, updating existing ones, creating multi-volume archives, operation progress callbacks, and many other functionalities. + +## 🎯 Supported Features + ++ **Compression** using the following archive formats: **7z**, XZ, **BZIP2**, **GZIP**, TAR, **ZIP**, and WIM. ++ **Extraction** of many archive formats: **7z**, AR, ARJ, **BZIP2**, CAB, CHM, CPIO, CramFS, DEB, DMG, EXT, FAT, GPT, **GZIP**, HFS, HXS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, **RAR**, **RAR5**, RPM, SquashFS, TAR, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, XZ, Z, and **ZIP**. ++ **Reading metadata** of archives and their content. ++ **Testing** archives for errors. ++ **Updating** existing file archives with new files. ++ **Renaming**, **updating**, or **deleting** old items in existing file archives. ++ **Compression and extraction _to and from_ memory** and **C++ standard streams**. ++ Compression using **custom path aliases** for the items in the output archives. ++ **Selective extraction** of only specified files/folders **using wildcards** and **regular expressions**. ++ Creation of **encrypted archives** (strong AES-256 encryption — only for 7z and ZIP formats). ++ **Archive header encryption** (only for 7z format). ++ Possibility to choose the **compression level** (if supported by the archive format), the **compression method** ([supported methods](https://github.com/rikyoz/bit7z/wiki/Advanced-Usage#compression-methods "Wiki page on bit7z's supported compression methods")), the **dictionary size**, and the **word size**. ++ **Automatic input archive format detection**. ++ **Solid archives** (only for 7z). ++ **Multi-volume archives**. ++ **Operation callbacks** for obtaining real-time information about ongoing operations. ++ **Canceling** or **pausing** the current operation. + +### Notes + +The presence or not of some of the above features depends on the particular shared library used along with bit7z.
    +For example, 7z.dll should support all these features, 7za.dll should work only with the 7z file format, and 7zxa.dll can only extract 7z files. For more information about the 7-zip DLLs, please check this [wiki page](https://github.com/rikyoz/bit7z/wiki/7z-DLLs). + +In the end, some other features (e.g., _automatic format detection_ and _selective extraction using regular expressions_) are disabled by default, and macro definitions must be used during compilation to have them available ([wiki](https://github.com/rikyoz/bit7z/wiki/Building-the-library)). + +## 🔥 Getting Started (Library Usage) + +Below are a few examples that show how to use some of the main features of bit7z. + +### 📂 Extracting files from an archive + +```cpp +#include + +try { // bit7z classes can throw BitException objects + using namespace bit7z; + + Bit7zLibrary lib{ "7za.dll" }; + BitFileExtractor extractor{ lib, BitFormat::SevenZip }; + + // Extracting a simple archive + extractor.extract( "path/to/archive.7z", "out/dir/" ); + + // Extracting a specific file + extractor.extractMatching( "path/to/archive.7z", "file.pdf", "out/dir/" ); + + // Extracting the first file of an archive to a buffer + std::vector< byte_t > buffer; + extractor.extract( "path/to/archive.7z", buffer ); + + // Extracting an encrypted archive + extractor.setPassword( "password" ); + extractor.extract( "path/to/another/archive.7z", "out/dir/" ); +} catch ( const bit7z::BitException& ex ) { /* Do something with ex.what()...*/ } +``` + +Alternatively, if you only need to work on a single archive: + +```cpp +#include + +try { // bit7z classes can throw BitException objects + using namespace bit7z; + + Bit7zLibrary lib{ "7z.dll" }; + + // Opening the archive + BitArchiveReader reader{lib, "path/to/archive.gz", BitFormat::GZip }; + + // Testing the archive + reader.test(); + + // Extracting the archive + reader.extract( "out/dir/" ); +} catch ( const bit7z::BitException& ex ) { /* Do something with ex.what()...*/ } +``` + +### 💼 Compressing files into an archive + +```cpp +#include + +try { // bit7z classes can throw BitException objects + using namespace bit7z; + + Bit7zLibrary lib{ "7z.dll" }; + BitFileCompressor compressor{ lib, BitFormat::Zip }; + + std::vector< std::string > files = { "path/to/file1.jpg", "path/to/file2.pdf" }; + + // Creating a simple zip archive + compressor.compress( files, "output_archive.zip" ); + + // Creating a zip archive with a custom directory structure + std::map< std::string, std::string > files_map = { + { "path/to/file1.jpg", "alias/path/file1.jpg" }, + { "path/to/file2.pdf", "alias/path/file2.pdf" } + }; + compressor.compress( files_map, "output_archive2.zip" ); + + // Compressing a directory + compressor.compressDirectory( "dir/path/", "dir_archive.zip" ); + + // Creating an encrypted zip archive of two files + compressor.setPassword( "password" ); + compressor.compressFiles( files, "protected_archive.zip" ); + + // Updating an existing zip archive + compressor.setUpdateMode( UpdateMode::Append ); + compressor.compressFiles( files, "existing_archive.zip" ); + + // Compressing a single file into a buffer + std::vector< bit7z::byte_t > buffer; + BitFileCompressor compressor2{ lib, BitFormat::BZip2 }; + compressor2.compressFile( files[0], buffer ); +} catch ( const bit7z::BitException& ex ) { /* Do something with ex.what()...*/ } +``` + +Alternatively, if you only need to work on a single archive: + +```cpp +#include + +try { // bit7z classes can throw BitException objects + using namespace bit7z; + + Bit7zLibrary lib{ "7z.dll" }; + BitArchiveWriter writer{lib, BitFormat::SevenZip }; + + // Adding the items to be compressed (no compression is performed here) + writer.addFile( "path/to/file.txt" ); + writer.addDirectory( "path/to/dir/" ); + + // Compressing the added items to the output archive + writer.compressTo( "output.7z" ); +} catch ( const bit7z::BitException& ex ) { /* Do something with ex.what()...*/ } +``` + +### 📑 Reading archive metadata + +```cpp +#include + +try { // bit7z classes can throw BitException objects + using namespace bit7z; + + Bit7zLibrary lib{ "7za.dll" }; + BitArchiveReader arc{ lib, "archive.7z", BitFormat::SevenZip }; + + // Printing archive metadata + std::cout << "Archive properties" << std::endl; + std::cout << " Items count: " << arc.itemsCount() << std::endl; + std::cout << " Folders count: " << arc.foldersCount() << std::endl; + std::cout << " Files count: " << arc.filesCount() << std::endl; + std::cout << " Size: " << arc.size() << std::endl; + std::cout << " Packed size: " << arc.packSize() << std::endl; + std::cout << std::endl; + + // Printing the metadata of the archived items + std::cout << "Archived items"; + auto arc_items = arc.items(); + for ( auto& item : arc_items ) { + std::cout << std::endl; + std::cout << " Item index: " << item.index() << std::endl; + std::cout << " Name: " << item.name() << std::endl; + std::cout << " Extension: " << item.extension() << std::endl; + std::cout << " Path: " << item.path() << std::endl; + std::cout << " IsDir: " << item.isDir() << std::endl; + std::cout << " Size: " << item.size() << std::endl; + std::cout << " Packed size: " << item.packSize() << std::endl; + std::cout << " CRC: " << item.crc() << std::endl; + } +} catch ( const bit7z::BitException& ex ) { /* Do something with ex.what()...*/ } +``` + +A complete _**API reference**_ is available in the [wiki](https://github.com/rikyoz/bit7z/wiki/) section. + +## 🚀 Upgrading from bit7z v3 to v4 + +
    + Expand for more details! + +The newest bit7z v4 introduced some significant breaking changes to the API. In particular: + ++ By default, the project now follows the [UTF-8 Everywhere Manifesto](http://utf8everywhere.org/): + + The default string type is `std::string` (instead of `std::wstring`), so users can use the library in cross-platform projects more easily (v4 introduced Linux/macOS support too). + + Input `std::string`s will be considered as UTF-8 encoded. + + You can still achieve the old behavior on Windows using the `-DBIT7Z_USE_NATIVE_STRING` CMake option. ++ The old `BitExtractor` class is now called `BitFileExtractor`. + + Now `BitExtractor` is just the name of a template class for all the extraction classes. ++ The `ProgressCallback` now must return a `bool` value indicating whether the current operation can continue (`true`) or not (`false`). + +
    + +## 💾 Download + +
    + +GitHub Latest Release +   + +GitHub Stable Release +
    + +GitHub All Releases +
    + +Each released package contains: + ++ A _pre-compiled version_ of bit7z (both in _debug_ and _release_ mode); ++ The _public API headers_ needed to use the library in your program; + +Packages are available for both _x86_ and _x64_ architectures. + +You can also clone/download this repository and build the library by yourself (please, read the [wiki](https://github.com/rikyoz/bit7z/wiki/Building-the-library)). + +## 🧰 Requirements + ++ **Operating System:** Windows, Linux, macOS[^1]. ++ **Architecture:** x86, x86_64. ++ **Compiler:** MSVC 2015 or later[^2], MinGW v6.4 or later, GCC v4.9 or later, Clang 3.5 or later. ++ **Shared Library:** a 7-zip `.dll` library on Windows, a 7-zip/p7zip `.so` library on Unix[^3]. + +[^1]: On Windows, you should link your program _also_ with _oleaut32_ (e.g., `-lbit7z -loleaut32`).
    On Linux and macOS, you should link your program _also_ with _dl_ (e.g., `-lbit7z -ldl`).
    If you are using the library via CMake, these dependencies will be linked automatically to your project. + +[^2]: MSVC 2010 was supported until v2.x, MSVC 2012/2013 until v3.x. + +[^3]: bit7z doesn't ship with the 7-zip shared libraries. You can build them from the source code available at [7-zip.org](http://www.7-zip.org/). + +## ⚙️ Building and using bit7z + +For building the library: + +```bash +cd +mkdir build && cd build +cmake ../ -DCMAKE_BUILD_TYPE=Release +cmake --build . -j --config Release +``` + +A more detailed guide on how to build this library is available [here](https://github.com/rikyoz/bit7z/wiki/Building-the-library). + +You can directly integrate the library into your project via CMake: + ++ Download bit7z and copy it into a sub-directory of your project (e.g., `third_party`), or add it as a git submodule of your repository. ++ You can then use the command `add_subdirectory()` in your `CMakeLists.txt` to include bit7z. ++ Finally, add the `bit7z64` target (just `bit7z` on x86) using the `target_link_libraries()` command. + +For example: + +```cmake +add_subdirectory( ${CMAKE_SOURCE_DIR}/third_party/bit7z ) +target_link_libraries( ${TARGET_NAME} PRIVATE bit7z64 ) # or bit7z on x86 +``` + +## ☕️ Donate + +If you have found this project helpful, please consider supporting me with a small donation so that I can keep improving it! +Thank you! :pray: + +
    +Sponsor me on GitHubBuy Me a Coffee at ko-fi.comDonations +
    + +## 📜 License + +This project is licensed under the terms of the [Mozilla Public License v2.0](https://www.mozilla.org/en-US/MPL/2.0/).
    +For more details, please check: + ++ The [LICENSE](./LICENSE) file. ++ [Mozilla's MPL-2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/) + +Older versions (v3.x and earlier) of bit7z were released under the [GNU General Public License v2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html). + +
    +
    +Copyright © 2014 - 2023 Riccardo Ostani (@rikyoz) +
    +
    diff --git a/IGCIT Helper/bit7z/include/bit7z/bit7z.hpp b/IGCIT Helper/bit7z/include/bit7z/bit7z.hpp new file mode 100755 index 0000000..1116868 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bit7z.hpp @@ -0,0 +1,23 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BIT7Z_HPP +#define BIT7Z_HPP + +#include "bitarchivereader.hpp" +#include "bitexception.hpp" +#include "bitfilecompressor.hpp" +#include "bitfileextractor.hpp" +#include "bitmemcompressor.hpp" +#include "bitmemextractor.hpp" +#include "bitstreamcompressor.hpp" +#include "bitstreamextractor.hpp" + +#endif // BIT7Z_HPP + diff --git a/IGCIT Helper/bit7z/include/bit7z/bit7zlibrary.hpp b/IGCIT Helper/bit7z/include/bit7z/bit7zlibrary.hpp new file mode 100755 index 0000000..953c9ff --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bit7zlibrary.hpp @@ -0,0 +1,109 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BIT7ZLIBRARY_HPP +#define BIT7ZLIBRARY_HPP + +#include + +#include "bittypes.hpp" +#include "bitwindows.hpp" + +struct IInArchive; +struct IOutArchive; + +#ifndef _WIN32 +struct GUID; +#endif + +//! @cond IGNORE_BLOCK_IN_DOXYGEN +template< typename T > +class CMyComPtr; +//! @endcond + +/** + * @brief The main namespace of the bit7z library. + */ +namespace bit7z { + +/** + * @brief The default file path for the 7-zip shared library to be used by bit7z + * in case the user doesn't pass a path to the constructor of the Bit7zLibrary class. + * + * @note On Windows, the default library is "7z.dll", and it is searched following the Win32 API rules + * (https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order). + * + * @note On Linux, the default library is the absolute path to the "7z.so" installed by p7zip. + * + * @note In all other cases, the value will be the relative path to a "7z.so" in the working directory of the program. + */ +#ifdef __DOXYGEN__ +constexpr auto default_library = ""; +#elif defined( _WIN32 ) +constexpr auto default_library = BIT7Z_STRING( "7z.dll" ); +#elif defined( __linux__ ) +constexpr auto default_library = "/usr/lib/p7zip/7z.so"; // Default installation path of the p7zip shared library. +#else +constexpr auto default_library = "./7z.so"; +#endif + +/** + * @brief The Bit7zLibrary class allows accessing the basic functionalities provided by the 7z DLLs. + */ +class Bit7zLibrary final { + public: + Bit7zLibrary( const Bit7zLibrary& ) = delete; + + Bit7zLibrary( Bit7zLibrary&& ) = delete; + + Bit7zLibrary& operator=( const Bit7zLibrary& ) = delete; + + Bit7zLibrary& operator=( Bit7zLibrary&& ) = delete; + + /** + * @brief Constructs a Bit7zLibrary object by loading the specified 7zip shared library. + * + * By default, it searches a 7z.dll in the same path of the application. + * + * @param library_path the path to the shared library file to be loaded. + */ + explicit Bit7zLibrary( const tstring& library_path = default_library ); + + /** + * @brief Destructs the Bit7zLibrary object, freeing the loaded shared library. + */ + ~Bit7zLibrary(); + + /** + * @brief Initiates the 7-zip object needed to create a new archive or use an old one. + * + * @note Usually, this method should not be called directly by users of the bit7z library. + * + * @param format_ID Pointer to the GUID of the archive format (see BitInFormat's guid() method). + * @param interface_ID Pointer to the GUID of the archive interface to be requested + * (IID_IInArchive or IID_IOutArchive). + * @param out_object Pointer to a CMyComPtr of an object implementing the requested interface. + */ + void createArchiveObject( const GUID* format_ID, const GUID* interface_ID, void** out_object ) const; + + /** + * @brief Set the 7-zip shared library to use large memory pages. + */ + void setLargePageMode(); + + private: + using CreateObjectFunc = HRESULT ( WINAPI* )( const GUID* clsID, const GUID* interfaceID, void** out ); + + HMODULE mLibrary; + CreateObjectFunc mCreateObjectFunc; +}; + +} // namespace bit7z + +#endif // BIT7ZLIBRARY_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivecreator.hpp b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivecreator.hpp new file mode 100755 index 0000000..22f889b --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivecreator.hpp @@ -0,0 +1,292 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITABSTRACTARCHIVECREATOR_HPP +#define BITABSTRACTARCHIVECREATOR_HPP + +#include +#include + +#include "bitabstractarchivehandler.hpp" +#include "bitcompressionlevel.hpp" +#include "bitcompressionmethod.hpp" +#include "bitformat.hpp" +#include "bitinputarchive.hpp" + +struct IOutStream; +struct ISequentialOutStream; + +namespace bit7z { + +using std::ostream; + +class ArchiveProperties; + +/** + * @brief Enumeration representing how an archive creator should deal when the output archive already exists. + */ +enum struct UpdateMode { + None, ///< The creator will throw an exception (unless the OverwriteMode is not None). + Append, ///< The creator will append the new items to the existing archive. + Update, ///< New items whose path already exists in the archive will overwrite the old ones, other will be appended. + BIT7Z_DEPRECATED_ENUMERATOR( Overwrite, Update, "Since v4.0; please use the UpdateMode::Update enumerator." ) ///< @deprecated since v4.0; please use the UpdateMode::Update enumerator. +}; + +/** + * @brief Abstract class representing a generic archive creator. + */ +class BitAbstractArchiveCreator : public BitAbstractArchiveHandler { + public: + BitAbstractArchiveCreator( const BitAbstractArchiveCreator& ) = delete; + + BitAbstractArchiveCreator( BitAbstractArchiveCreator&& ) = delete; + + BitAbstractArchiveCreator& operator=( const BitAbstractArchiveCreator& ) = delete; + + BitAbstractArchiveCreator& operator=( BitAbstractArchiveCreator&& ) = delete; + + ~BitAbstractArchiveCreator() override = default; + + /** + * @return the format used for creating/updating an archive. + */ + BIT7Z_NODISCARD const BitInFormat& format() const noexcept override; + + /** + * @return the format used for creating/updating an archive. + */ + BIT7Z_NODISCARD const BitInOutFormat& compressionFormat() const noexcept; + + /** + * @return whether the creator crypts also the headers of archives or not. + */ + BIT7Z_NODISCARD bool cryptHeaders() const noexcept; + + /** + * @return the compression level used for creating/updating an archive. + */ + BIT7Z_NODISCARD BitCompressionLevel compressionLevel() const noexcept; + + /** + * @return the compression method used for creating/updating an archive. + */ + BIT7Z_NODISCARD BitCompressionMethod compressionMethod() const noexcept; + + /** + * @return the dictionary size used for creating/updating an archive. + */ + BIT7Z_NODISCARD uint32_t dictionarySize() const noexcept; + + /** + * @return the word size used for creating/updating an archive. + */ + BIT7Z_NODISCARD uint32_t wordSize() const noexcept; + + /** + * @return whether the archive creator uses solid compression or not. + */ + BIT7Z_NODISCARD bool solidMode() const noexcept; + + /** + * @return the update mode used when updating existing archives. + */ + BIT7Z_NODISCARD UpdateMode updateMode() const noexcept; + + /** + * @return the volume size (in bytes) used when creating multi-volume archives + * (a 0 value means that all files are going in a single archive). + */ + BIT7Z_NODISCARD uint64_t volumeSize() const noexcept; + + /** + * @return the number of threads used when creating/updating an archive + * (a 0 value means that it will use the 7-zip default value). + */ + BIT7Z_NODISCARD uint32_t threadsCount() const noexcept; + + /** + * @brief Sets up a password for the output archives. + * + * When setting a password, the produced archives will be encrypted using the default + * cryptographic method of the output format. The option "crypt headers" remains unchanged, + * in contrast with what happens when calling the setPassword(tstring, bool) method. + * + * @note Calling setPassword when the output format doesn't support archive encryption + * (e.g., GZip, BZip2, etc...) does not have any effects (in other words, it doesn't + * throw exceptions, and it has no effects on compression operations). + * + * @note After a password has been set, it will be used for every subsequent operation. + * To disable the use of the password, you need to call the clearPassword method + * (inherited from BitAbstractArchiveHandler), which is equivalent to setPassword(L""). + * + * @param password the password to be used when creating/updating archives. + */ + void setPassword( const tstring& password ) override; + + /** + * @brief Sets up a password for the output archive. + * + * When setting a password, the produced archive will be encrypted using the default + * cryptographic method of the output format. If the format is 7z, and the option + * "crypt_headers" is set to true, the headers of the archive will be encrypted, + * resulting in a password request every time the output file will be opened. + * + * @note Calling setPassword when the output format doesn't support archive encryption + * (e.g., GZip, BZip2, etc...) does not have any effects (in other words, it doesn't + * throw exceptions, and it has no effects on compression operations). + * + * @note Calling setPassword with "crypt_headers" set to true does not have effects on + * formats different from 7z. + * + * @note After a password has been set, it will be used for every subsequent operation. + * To disable the use of the password, you need to call the clearPassword method + * (inherited from BitAbstractArchiveHandler), which is equivalent to setPassword(L""). + * + * @param password the password to be used when creating/updating archives. + * @param crypt_headers if true, the headers of the output archives will be encrypted + * (valid only when using the 7z format). + */ + void setPassword( const tstring& password, bool crypt_headers ); + + /** + * @brief Sets the compression level to be used when creating/updating an archive. + * + * @param level the compression level desired. + */ + void setCompressionLevel( BitCompressionLevel level ) noexcept; + + /** + * @brief Sets the compression method to be used when creating/updating an archive. + * + * @param method the compression method desired. + */ + void setCompressionMethod( BitCompressionMethod method ); + + /** + * @brief Sets the dictionary size to be used when creating/updating an archive. + * + * @param dictionary_size the dictionary size desired. + */ + void setDictionarySize( uint32_t dictionary_size ); + + /** + * @brief Sets the word size to be used when creating/updating an archive. + * + * @param word_size the word size desired. + */ + void setWordSize( uint32_t word_size ); + + /** + * @brief Sets whether to use solid compression or not. + * + * @note Setting the solid compression mode to true has effect only when using the 7z format with multiple + * input files. + * + * @param solid_mode if true, it will be used the "solid compression" method. + */ + void setSolidMode( bool solid_mode ) noexcept; + + /** + * @brief Sets whether and how the creator can update existing archives or not. + * + * @note If set to UpdateMode::None, a subsequent compression operation may throw an exception + * if it targets an existing archive. + * + * @param mode the desired update mode. + */ + virtual void setUpdateMode( UpdateMode mode ); + + /** + * @brief Sets whether the creator can update existing archives or not. + * + * @deprecated since v4.0; it is provided just for an easier transition from the old v3 API. + * + * @note If set to false, a subsequent compression operation may throw an exception + * if it targets an existing archive. + * + * @param can_update if true, compressing operations will update existing archives. + */ + BIT7Z_DEPRECATED_MSG( "Since v4.0; please use the overloaded function that takes an UpdateMode enumerator." ) + void setUpdateMode( bool can_update ); + + /** + * @brief Sets the volume_size (in bytes) of the output archive volumes. + * + * @note This setting has effects only when the destination archive is on the filesystem. + * + * @param volume_size The dimension of a volume. + */ + void setVolumeSize( uint64_t volume_size ) noexcept; + + /** + * @brief Sets the number of threads to be used when creating/updating an archive. + * + * @param threads_count the number of threads desired. + */ + void setThreadsCount( uint32_t threads_count ) noexcept; + + /** + * @brief Sets a property for the output archive format as described by the 7-zip documentation + * (e.g. https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm). + * + * @tparam T An integral type (i.e., a bool or an integer type). + * + * @param name The string name of the property to be set. + * @param value The value to be used for the property. + */ + template< std::size_t N, typename T, typename = typename std::enable_if< std::is_integral< T >::value >::type > + void setFormatProperty( const wchar_t (&name)[N], T value ) noexcept { // NOLINT(*-avoid-c-arrays) + mExtraProperties[ name ] = value; + } + + /** + * @brief Sets a property for the output archive format as described by the 7-zip documentation + * (e.g. https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm). + * + * For example, passing the string L"tm" with a false value while creating a .7z archive + * will disable storing the last modified timestamps of the compressed files. + * + * @tparam T A non-integral type (i.e., a string). + * + * @param name The string name of the property to be set. + * @param value The value to be used for the property. + */ + template< std::size_t N, typename T, typename = typename std::enable_if< !std::is_integral< T >::value >::type > + void setFormatProperty( const wchar_t (&name)[N], const T& value ) noexcept { // NOLINT(*-avoid-c-arrays) + mExtraProperties[ name ] = value; + } + + protected: + BitAbstractArchiveCreator( const Bit7zLibrary& lib, + const BitInOutFormat& format, + tstring password = {}, + UpdateMode update_mode = UpdateMode::None ); + + BIT7Z_NODISCARD ArchiveProperties archiveProperties() const; + + friend class BitOutputArchive; + + private: + const BitInOutFormat& mFormat; + + UpdateMode mUpdateMode; + BitCompressionLevel mCompressionLevel; + BitCompressionMethod mCompressionMethod; + uint32_t mDictionarySize; + uint32_t mWordSize; + bool mCryptHeaders; + bool mSolidMode; + uint64_t mVolumeSize; + uint32_t mThreadsCount; + std::map< std::wstring, BitPropVariant > mExtraProperties; +}; + +} // namespace bit7z + +#endif // BITABSTRACTARCHIVECREATOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivehandler.hpp b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivehandler.hpp new file mode 100755 index 0000000..4a5349a --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchivehandler.hpp @@ -0,0 +1,242 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITABSTRACTARCHIVEHANDLER_HPP +#define BITABSTRACTARCHIVEHANDLER_HPP + +#include +#include + +#include "bit7zlibrary.hpp" +#include "bitdefines.hpp" + +namespace bit7z { + +using std::function; + +class BitInFormat; + +/** + * @brief A std::function whose argument is the total size of the ongoing operation. + */ +using TotalCallback = function< void( uint64_t ) >; + +/** + * @brief A std::function whose argument is the currently processed size of the ongoing operation and returns + * true or false whether the operation must continue or not. + */ +using ProgressCallback = function< bool( uint64_t ) >; + +/** + * @brief A std::function whose arguments are the current processed input size, and the current output size of the + * ongoing operation. + */ +using RatioCallback = function< void( uint64_t, uint64_t ) >; + +/** + * @brief A std::function whose argument is the path, in the archive, of the file currently being processed + * by the ongoing operation. + */ +using FileCallback = function< void( tstring ) >; + +/** + * @brief A std::function returning the password to be used to handle an archive. + */ +using PasswordCallback = function< tstring() >; + +/** + * @brief Enumeration representing how a handler should deal when an output file already exists. + */ +enum struct OverwriteMode { + None = 0, ///< The handler will throw an exception if the output file or buffer already exists. + Overwrite, ///< The handler will overwrite the old file or buffer with the new one. + Skip, ///< The handler will skip writing to the output file or buffer. +//TODO: RenameOutput, +//TODO: RenameExisting +}; + +/** + * @brief Abstract class representing a generic archive handler. + */ +class BitAbstractArchiveHandler { + public: + BitAbstractArchiveHandler( const BitAbstractArchiveHandler& ) = delete; + + BitAbstractArchiveHandler( BitAbstractArchiveHandler&& ) = delete; + + BitAbstractArchiveHandler& operator=( const BitAbstractArchiveHandler& ) = delete; + + BitAbstractArchiveHandler& operator=( BitAbstractArchiveHandler&& ) = delete; + + virtual ~BitAbstractArchiveHandler() = default; + + /** + * @return the Bit7zLibrary object used by the handler. + */ + BIT7Z_NODISCARD const Bit7zLibrary& library() const noexcept; + + /** + * @return the format used by the handler for extracting or compressing. + */ + BIT7Z_NODISCARD virtual const BitInFormat& format() const = 0; + + /** + * @return the password used to open, extract, or encrypt the archive. + */ + BIT7Z_NODISCARD tstring password() const; + + /** + * @return a boolean value indicating whether the directory structure must be preserved while extracting + * or compressing the archive. + */ + BIT7Z_NODISCARD bool retainDirectories() const noexcept; + + /** + * @return a boolean value indicating whether a password is defined or not. + */ + BIT7Z_NODISCARD bool isPasswordDefined() const noexcept; + + /** + * @return the current total callback. + */ + BIT7Z_NODISCARD TotalCallback totalCallback() const; + + /** + * @return the current progress callback. + */ + BIT7Z_NODISCARD ProgressCallback progressCallback() const; + + /** + * @return the current ratio callback. + */ + BIT7Z_NODISCARD RatioCallback ratioCallback() const; + + /** + * @return the current file callback. + */ + BIT7Z_NODISCARD FileCallback fileCallback() const; + + /** + * @return the current password callback. + */ + BIT7Z_NODISCARD PasswordCallback passwordCallback() const; + + /** + * @return the current OverwriteMode. + */ + BIT7Z_NODISCARD OverwriteMode overwriteMode() const; + + /** + * @brief Sets up a password to be used by the archive handler. + * + * The password will be used to encrypt/decrypt archives by using the default + * cryptographic method of the archive format. + * + * @note Calling setPassword when the input archive is not encrypted does not have any effect on + * the extraction process. + * + * @note Calling setPassword when the output format doesn't support archive encryption + * (e.g., GZip, BZip2, etc...) does not have any effects (in other words, it doesn't + * throw exceptions, and it has no effects on compression operations). + * + * @note After a password has been set, it will be used for every subsequent operation. + * To disable the use of the password, you need to call the clearPassword method, which is equivalent + * to calling setPassword(L""). + * + * @param password the password to be used. + */ + virtual void setPassword( const tstring& password ); + + /** + * @brief Clear the current password used by the handler. + * + * Calling clearPassword() will disable the encryption/decryption of archives. + * + * @note This is equivalent to calling setPassword(L""). + */ + void clearPassword() noexcept; + + /** + * @brief Sets whether the operations' output will preserve the input's directory structure or not. + * + * @param retain the setting for preserving or not the input directory structure + */ + void setRetainDirectories( bool retain ) noexcept; + + /** + * @brief Sets the function to be called when the total size of an operation is available. + * + * @param callback the total callback to be used. + */ + void setTotalCallback( const TotalCallback& callback ); + + /** + * @brief Sets the function to be called when the processed size of the ongoing operation is updated. + * + * @note The completion percentage of the current operation can be obtained by calculating + * `static_cast( ( 100.0 * processed_size ) / total_size )`. + * + * @param callback the progress callback to be used. + */ + void setProgressCallback( const ProgressCallback& callback ); + + /** + * @brief Sets the function to be called when the input processed size and current output size of the + * ongoing operation are known. + * + * @note The ratio percentage of a compression operation can be obtained by calculating + * `static_cast( ( 100.0 * output_size ) / input_size )`. + * + * @param callback the ratio callback to be used. + */ + void setRatioCallback( const RatioCallback& callback ); + + /** + * @brief Sets the function to be called when the current file being processed changes. + * + * @param callback the file callback to be used. + */ + void setFileCallback( const FileCallback& callback ); + + /** + * @brief Sets the function to be called when a password is needed to complete the ongoing operation. + * + * @param callback the password callback to be used. + */ + void setPasswordCallback( const PasswordCallback& callback ); + + /** + * @brief Sets how the handler should behave when it tries to output to an existing file or buffer. + * + * @param mode the OverwriteMode to be used by the handler. + */ + void setOverwriteMode( OverwriteMode mode ); + + protected: + explicit BitAbstractArchiveHandler( const Bit7zLibrary& lib, + tstring password = {}, + OverwriteMode overwrite_mode = OverwriteMode::None ); + + private: + const Bit7zLibrary& mLibrary; + tstring mPassword; + bool mRetainDirectories; + OverwriteMode mOverwriteMode; + + //CALLBACKS + TotalCallback mTotalCallback; + ProgressCallback mProgressCallback; + RatioCallback mRatioCallback; + FileCallback mFileCallback; + PasswordCallback mPasswordCallback; +}; + +} // namespace bit7z + +#endif // BITABSTRACTARCHIVEHANDLER_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitabstractarchiveopener.hpp b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchiveopener.hpp new file mode 100755 index 0000000..cbca4b2 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitabstractarchiveopener.hpp @@ -0,0 +1,59 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITABSTRACTARCHIVEOPENER_HPP +#define BITABSTRACTARCHIVEOPENER_HPP + +#include +#include + +#include "bitabstractarchivehandler.hpp" +#include "bitformat.hpp" + +namespace bit7z { + +using std::ostream; + +/** + * @brief The BitAbstractArchiveOpener abstract class represents a generic archive opener. + */ +class BitAbstractArchiveOpener : public BitAbstractArchiveHandler { + public: + BitAbstractArchiveOpener( const BitAbstractArchiveOpener& ) = delete; + + BitAbstractArchiveOpener( BitAbstractArchiveOpener&& ) = delete; + + BitAbstractArchiveOpener& operator=( const BitAbstractArchiveOpener& ) = delete; + + BitAbstractArchiveOpener& operator=( BitAbstractArchiveOpener&& ) = delete; + + ~BitAbstractArchiveOpener() override = default; + + /** + * @return the archive format used by the archive opener. + */ + BIT7Z_NODISCARD const BitInFormat& format() const noexcept override; + + /** + * @return the archive format used by the archive opener. + */ + BIT7Z_NODISCARD const BitInFormat& extractionFormat() const noexcept; + + protected: + BitAbstractArchiveOpener( const Bit7zLibrary& lib, + const BitInFormat& format, + const tstring& password = {} ); + + private: + const BitInFormat& mFormat; +}; + +} // namespace bit7z + +#endif // BITABSTRACTARCHIVEOPENER_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchiveeditor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchiveeditor.hpp new file mode 100755 index 0000000..76cf9f4 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchiveeditor.hpp @@ -0,0 +1,171 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEEDITOR_HPP +#define BITARCHIVEEDITOR_HPP + +#include + +#include "bitarchivewriter.hpp" + +namespace bit7z { + +using std::vector; + +using EditedItems = std::unordered_map< uint32_t, BitItemsVector::value_type >; + +/** + * @brief The BitArchiveEditor class allows creating new file archives or updating old ones. + * Update operations supported are the addition of new items, + * as well as renaming/updating/deleting old items; + * + * @note Changes are applied to the archive only after calling the applyChanges() method. + */ +class BIT7Z_MAYBE_UNUSED BitArchiveEditor final : public BitArchiveWriter { + public: + /** + * @brief Constructs a BitArchiveEditor object, reading the given archive file path. + * + * @param lib the 7z library to use. + * @param in_file the path to an input archive file. + * @param format the input/output archive format. + * @param password (optional) the password needed to read the input archive. + */ + BitArchiveEditor( const Bit7zLibrary& lib, + const tstring& in_file, + const BitInOutFormat& format, + const tstring& password = {} ); + + BitArchiveEditor( const BitArchiveEditor& ) = delete; + + BitArchiveEditor( BitArchiveEditor&& ) = delete; + + BitArchiveEditor& operator=( const BitArchiveEditor& ) = delete; + + BitArchiveEditor& operator=( BitArchiveEditor&& ) = delete; + + ~BitArchiveEditor() override; + + /** + * @brief Sets how the editor performs the update of the items in the archive. + * + * @note BitArchiveEditor doesn't support UpdateMode::None. + * + * @param mode the desired update mode (either UpdateMode::Append or UpdateMode::Overwrite). + */ + void setUpdateMode( UpdateMode mode ) override; + + /** + * @brief Requests to change the path of the item at the specified index with the given one. + * + * @param index the index of the item to be renamed. + * @param new_path the new path (in the archive) desired for the item. + */ + void renameItem( uint32_t index, const tstring& new_path ); + + /** + * @brief Requests to change the path of the item from old_path to the new_path. + * + * @param old_path the old path (in the archive) of the item to be renamed. + * @param new_path the new path (in the archive) desired for the item. + */ + void renameItem( const tstring& old_path, const tstring& new_path ); + + /** + * @brief Requests to update the content of the item at the specified index + * with the data from the given file. + * + * @param index the index of the item to be updated. + * @param in_file the path to the file containing the new data for the item. + */ + void updateItem( uint32_t index, const tstring& in_file ); + + /** + * @brief Requests to update the content of the item at the specified index + * with the data from the given buffer. + * + * @param index the index of the item to be updated. + * @param in_buffer the buffer containing the new data for the item. + */ + void updateItem( uint32_t index, const std::vector< byte_t >& in_buffer ); + + /** + * @brief Requests to update the content of the item at the specified index + * with the data from the given stream. + * + * @param index the index of the item to be updated. + * @param in_stream the stream of new data for the item. + */ + void updateItem( uint32_t index, std::istream& in_stream ); + + /** + * @brief Requests to update the content of the item at the specified path + * with the data from the given file. + * + * @param item_path the path (in the archive) of the item to be updated. + * @param in_file the path to the file containing the new data for the item. + */ + void updateItem( const tstring& item_path, const tstring& in_file ); + + /** + * @brief Requests to update the content of the item at the specified path + * with the data from the given buffer. + * + * @param item_path the path (in the archive) of the item to be updated. + * @param in_buffer the buffer containing the new data for the item. + */ + void updateItem( const tstring& item_path, const std::vector< byte_t >& in_buffer ); + + /** + * @brief Requests to update the content of the item at the specified path + * with the data from the given stream. + * + * @param item_path the path (in the archive) of the item to be updated. + * @param in_stream the stream of new data for the item. + */ + void updateItem( const tstring& item_path, istream& in_stream ); + + /** + * @brief Marks the item at the given index as deleted. + * + * @param index the index of the item to be deleted. + */ + void deleteItem( uint32_t index ); + + /** + * @brief Marks the item at the given path (in the archive) as deleted. + * + * @param item_path the path (in the archive) of the item to be deleted. + */ + void deleteItem( const tstring& item_path ); + + /** + * @brief Applies the requested changes (i.e., rename/update/delete operations) to the input archive. + */ + void applyChanges(); + + private: + EditedItems mEditedItems; + + uint32_t findItem( const tstring& item_path ); + + void checkIndex( uint32_t index ); + + BitPropVariant itemProperty( input_index index, BitProperty propID ) const override; + + HRESULT itemStream( input_index index, ISequentialInStream** inStream ) const override; + + bool hasNewData( uint32_t index ) const noexcept override; + + bool hasNewProperties( uint32_t index ) const noexcept override; +}; + +} // namespace bit7z + +#endif //BITARCHIVEEDITOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchiveitem.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchiveitem.hpp new file mode 100755 index 0000000..b575b4a --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchiveitem.hpp @@ -0,0 +1,103 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEITEM_HPP +#define BITARCHIVEITEM_HPP + +#include "bitgenericitem.hpp" + +namespace bit7z { + +/** + * The BitArchiveItem class represents a generic item inside an archive. + */ +class BitArchiveItem : public BitGenericItem { + public: + /** + * @brief BitArchiveItem destructor. + */ + ~BitArchiveItem() override = default; + + /** + * @return the index of the item in the archive. + */ + BIT7Z_NODISCARD uint32_t index() const noexcept; + + /** + * @return true if and only if the item is a directory (i.e., it has the property BitProperty::IsDir). + */ + BIT7Z_NODISCARD bool isDir() const override; + + /** + * @return the item's name; if not available, it tries to get it from the element's path or, + * if not possible, it returns an empty string. + */ + BIT7Z_NODISCARD tstring name() const override; + + /** + * @return the extension of the item, if available or if it can be inferred from the name; + * otherwise it returns an empty string (e.g., when the item is a folder). + */ + BIT7Z_NODISCARD tstring extension() const; + + /** + * @return the path of the item in the archive, if available or inferable from the name, or an empty string + * otherwise. + */ + BIT7Z_NODISCARD tstring path() const override; + + /** + * @return the uncompressed size of the item. + */ + BIT7Z_NODISCARD uint64_t size() const override; + + /** + * @return the item creation time. + */ + BIT7Z_NODISCARD time_type creationTime() const; + + /** + * @return the item last access time. + */ + BIT7Z_NODISCARD time_type lastAccessTime() const; + + /** + * @return the item last write time. + */ + BIT7Z_NODISCARD time_type lastWriteTime() const; + + /** + * @return the item attributes. + */ + BIT7Z_NODISCARD uint32_t attributes() const override; + + /** + * @return the compressed size of the item. + */ + BIT7Z_NODISCARD uint64_t packSize() const; + + /** + * @return the CRC value of the item. + */ + BIT7Z_NODISCARD uint32_t crc() const; + + /** + * @return true if and only if the item is encrypted. + */ + BIT7Z_NODISCARD bool isEncrypted() const; + + protected: + uint32_t mItemIndex; //Note: it is not const since the subclass BitArchiveItemOffset can increment it! + + explicit BitArchiveItem( uint32_t item_index ) noexcept; +}; + +} // namespace bit7z + +#endif // BITARCHIVEITEM_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchiveiteminfo.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchiveiteminfo.hpp new file mode 100755 index 0000000..836b6d3 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchiveiteminfo.hpp @@ -0,0 +1,54 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEITEMINFO_HPP +#define BITARCHIVEITEMINFO_HPP + +#include + +#include "bitarchiveitem.hpp" + +namespace bit7z { + +using std::wstring; +using std::map; + +/** + * @brief The BitArchiveItemInfo class represents an archived item and that stores all its properties for later use. + */ +class BitArchiveItemInfo final : public BitArchiveItem { + public: + /** + * @brief Gets the specified item property. + * + * @param property the property to be retrieved. + * + * @return the value of the item property, if available, or an empty BitPropVariant. + */ + BIT7Z_NODISCARD BitPropVariant itemProperty( BitProperty property ) const override; + + /** + * @return a map of all the available (i.e., non-empty) item properties and their respective values. + */ + BIT7Z_NODISCARD map< BitProperty, BitPropVariant > itemProperties() const; + + private: + map< BitProperty, BitPropVariant > mItemProperties; + + /* BitArchiveItem objects can be created and updated only by BitArchiveReader */ + explicit BitArchiveItemInfo( uint32_t item_index ); + + void setProperty( BitProperty property, const BitPropVariant& value ); + + friend class BitArchiveReader; +}; + +} // namespace bit7z + +#endif // BITARCHIVEITEMINFO_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchiveitemoffset.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchiveitemoffset.hpp new file mode 100755 index 0000000..68a9a20 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchiveitemoffset.hpp @@ -0,0 +1,53 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEITEMOFFSET_HPP +#define BITARCHIVEITEMOFFSET_HPP + +#include "bitarchiveitem.hpp" + +namespace bit7z { + +class BitInputArchive; + +/** + * @brief The BitArchiveItemOffset class represents an archived item but doesn't store its properties. + */ +class BitArchiveItemOffset final : public BitArchiveItem { + public: + BitArchiveItemOffset& operator++() noexcept; + + BitArchiveItemOffset operator++( int ) noexcept; // NOLINT(cert-dcl21-cpp) + + bool operator==( const BitArchiveItemOffset& other ) const noexcept; + + bool operator!=( const BitArchiveItemOffset& other ) const noexcept; + + /** + * @brief Gets the specified item property. + * + * @param property the property to be retrieved. + * + * @return the value of the item property, if available, or an empty BitPropVariant. + */ + BIT7Z_NODISCARD BitPropVariant itemProperty( BitProperty property ) const override; + + private: + /* Note: a pointer, instead of a reference, allows this class, and hence BitInputArchive::const_iterator, + * to be CopyConstructible so that stl algorithms can be used with const_iterator! */ + const BitInputArchive* mArc; + + BitArchiveItemOffset( uint32_t item_index, const BitInputArchive& item_arc ) noexcept; + + friend class BitInputArchive; +}; + +} // namespace bit7z + +#endif // BITARCHIVEITEMOFFSET_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchivereader.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchivereader.hpp new file mode 100755 index 0000000..dcfb738 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchivereader.hpp @@ -0,0 +1,152 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEREADER_HPP +#define BITARCHIVEREADER_HPP + +#include "bitabstractarchiveopener.hpp" +#include "bitarchiveiteminfo.hpp" +#include "bitinputarchive.hpp" + +struct IInArchive; +struct IOutArchive; +struct IArchiveExtractCallback; + +namespace bit7z { + +/** + * @brief The BitArchiveReader class allows reading metadata of archives, as well as extracting them. + */ +class BitArchiveReader final : public BitAbstractArchiveOpener, public BitInputArchive { + public: + /** + * @brief Constructs a BitArchiveReader object, opening the input file archive. + * + * @note When bit7z is compiled using the `BIT7Z_AUTO_FORMAT` option, the format + * argument has default value BitFormat::Auto (automatic format detection of the input archive). + * On the contrary, when `BIT7Z_AUTO_FORMAT` is not defined (i.e., no auto format detection available), + * the format argument must be specified. + * + * @param lib the 7z library used. + * @param in_archive the path to the archive to be read. + * @param format the format of the input archive. + * @param password the password needed for opening the input archive. + */ + BitArchiveReader( const Bit7zLibrary& lib, + const tstring& in_archive, + const BitInFormat& format BIT7Z_DEFAULT_FORMAT, + const tstring& password = {} ); + + /** + * @brief Constructs a BitArchiveReader object, opening the archive in the input buffer. + * + * @note When bit7z is compiled using the `BIT7Z_AUTO_FORMAT` option, the format + * argument has default value BitFormat::Auto (automatic format detection of the input archive). + * On the contrary, when `BIT7Z_AUTO_FORMAT` is not defined (i.e., no auto format detection available), + * the format argument must be specified. + * + * @param lib the 7z library used. + * @param in_archive the input buffer containing the archive to be read. + * @param format the format of the input archive. + * @param password the password needed for opening the input archive. + */ + BitArchiveReader( const Bit7zLibrary& lib, + const std::vector< byte_t >& in_archive, + const BitInFormat& format BIT7Z_DEFAULT_FORMAT, + const tstring& password = {} ); + + /** + * @brief Constructs a BitArchiveReader object, opening the archive from the standard input stream. + * + * @note When bit7z is compiled using the `BIT7Z_AUTO_FORMAT` option, the format + * argument has default value BitFormat::Auto (automatic format detection of the input archive). + * On the contrary, when `BIT7Z_AUTO_FORMAT` is not defined (i.e., no auto format detection available), + * the format argument must be specified. + * + * @param lib the 7z library used. + * @param in_archive the standard input stream of the archive to be read. + * @param format the format of the input archive. + * @param password the password needed for opening the input archive. + */ + BitArchiveReader( const Bit7zLibrary& lib, + std::istream& in_archive, + const BitInFormat& format BIT7Z_DEFAULT_FORMAT, + const tstring& password = {} ); + + BitArchiveReader( const BitArchiveReader& ) = delete; + + BitArchiveReader( BitArchiveReader&& ) = delete; + + BitArchiveReader& operator=( const BitArchiveReader& ) = delete; + + BitArchiveReader& operator=( BitArchiveReader&& ) = delete; + + /** + * @brief BitArchiveReader destructor. + * + * @note It releases the input archive file. + */ + ~BitArchiveReader() override = default; + + /** + * @return a map of all the available (i.e., non-empty) archive properties and their respective values. + */ + BIT7Z_NODISCARD map< BitProperty, BitPropVariant > archiveProperties() const; + + /** + * @return a vector of all the archive items as BitArchiveItem objects. + */ + BIT7Z_NODISCARD vector< BitArchiveItemInfo > items() const; + + /** + * @return the number of folders contained in the archive. + */ + BIT7Z_NODISCARD uint32_t foldersCount() const; + + /** + * @return the number of files contained in the archive. + */ + BIT7Z_NODISCARD uint32_t filesCount() const; + + /** + * @return the total uncompressed size of the archive content. + */ + BIT7Z_NODISCARD uint64_t size() const; + + /** + * @return the total compressed size of the archive content. + */ + BIT7Z_NODISCARD uint64_t packSize() const; + + /** + * @return true if and only if the archive has at least one encrypted item. + */ + BIT7Z_NODISCARD bool hasEncryptedItems() const; + + /** + * @return the number of volumes composing the archive. + */ + BIT7Z_NODISCARD uint32_t volumesCount() const; + + /** + * @return true if and only if the archive is composed by multiple volumes. + */ + BIT7Z_NODISCARD bool isMultiVolume() const; + + /** + * @return true if and only if the archive was created using solid compression. + */ + BIT7Z_NODISCARD bool isSolid() const; +}; + +using BitArchiveInfo BIT7Z_MAYBE_UNUSED BIT7Z_DEPRECATED_MSG("Since v4.0; please use BitArchiveReader.") = BitArchiveReader; + +} // namespace bit7z + +#endif // BITARCHIVEREADER_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitarchivewriter.hpp b/IGCIT Helper/bit7z/include/bit7z/bitarchivewriter.hpp new file mode 100755 index 0000000..39dedb7 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitarchivewriter.hpp @@ -0,0 +1,72 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITARCHIVEWRITER_HPP +#define BITARCHIVEWRITER_HPP + +#include "bitoutputarchive.hpp" + +namespace bit7z { + +/** + * @brief The BitArchiveWriter class allows creating new archives or updating old ones with new items. + */ +class BitArchiveWriter : public BitAbstractArchiveCreator, public BitOutputArchive { + public: + /** + * @brief Constructs an empty BitArchiveWriter object that can write archives of the specified format. + * + * @param lib the 7z library to use. + * @param format the output archive format. + */ + BitArchiveWriter( const Bit7zLibrary& lib, const BitInOutFormat& format ); + + /** + * @brief Constructs a BitArchiveWriter object, reading the given archive file path. + * + * @param lib the 7z library to use. + * @param in_archive the path to an input archive file. + * @param format the input/output archive format. + * @param password (optional) the password needed to read the input archive. + */ + BitArchiveWriter( const Bit7zLibrary& lib, + const tstring& in_archive, + const BitInOutFormat& format, + const tstring& password = {} ); + + /** + * @brief Constructs a BitArchiveWriter object, reading the archive in the given buffer. + * + * @param lib the 7z library to use. + * @param in_archive the buffer containing the input archive. + * @param format the input/output archive format. + * @param password (optional) the password needed to read the input archive. + */ + BitArchiveWriter( const Bit7zLibrary& lib, + const std::vector< byte_t >& in_archive, + const BitInOutFormat& format, + const tstring& password = {} ); + + /** + * @brief Constructs a BitArchiveWriter object, reading the archive from the given standard input stream. + * + * @param lib the 7z library to use. + * @param in_archive the standard stream of the input archive. + * @param format the input/output archive format. + * @param password (optional) the password needed to read the input archive. + */ + BitArchiveWriter( const Bit7zLibrary& lib, + std::istream& in_archive, + const BitInOutFormat& format, + const tstring& password = {} ); +}; + +} // namespace bit7z + +#endif //BITARCHIVEWRITER_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitcompressionlevel.hpp b/IGCIT Helper/bit7z/include/bit7z/bitcompressionlevel.hpp new file mode 100755 index 0000000..7b5cd01 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitcompressionlevel.hpp @@ -0,0 +1,30 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITCOMPRESSIONLEVEL_HPP +#define BITCOMPRESSIONLEVEL_HPP + +namespace bit7z { + +/** + * @brief The BitCompressionLevel enum represents the compression level used by 7z when creating archives. + * @note It uses the same values as used by [7-zip](https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#ZipX). + */ +enum struct BitCompressionLevel { + None = 0, ///< Copy mode (no compression) + Fastest = 1, ///< Fastest compressing + Fast = 3, ///< Fast compressing + Normal = 5, ///< Normal compressing + Max = 7, ///< Maximum compressing + Ultra = 9 ///< Ultra compressing +}; + +} // namespace bit7z + +#endif // BITCOMPRESSIONLEVEL_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitcompressionmethod.hpp b/IGCIT Helper/bit7z/include/bit7z/bitcompressionmethod.hpp new file mode 100755 index 0000000..4456ffa --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitcompressionmethod.hpp @@ -0,0 +1,30 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITCOMPRESSIONMETHOD_HPP +#define BITCOMPRESSIONMETHOD_HPP + +namespace bit7z { + +/** + * @brief The BitCompressionMethod enum represents the compression methods used by 7z when creating archives. + */ +enum struct BitCompressionMethod { + Copy, + Deflate, + Deflate64, + BZip2, + Lzma, + Lzma2, + Ppmd +}; + +} // namespace bit7z + +#endif // BITCOMPRESSIONMETHOD_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitcompressor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitcompressor.hpp new file mode 100755 index 0000000..df20572 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitcompressor.hpp @@ -0,0 +1,115 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com + +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITCOMPRESSOR_HPP +#define BITCOMPRESSOR_HPP + +#include + +#include "bitoutputarchive.hpp" + +namespace bit7z { + +using std::vector; + +namespace filesystem { // NOLINT(modernize-concat-nested-namespaces) +namespace fsutil { +tstring basename( const tstring& path ); +} // namespace fsutil +} // namespace filesystem + +using namespace filesystem; + +/** + * @brief The BitCompressor template class allows compressing files into archives. + * + * It let decide various properties of the produced archive file, such as the password + * protection and the compression level desired. + */ +template< typename Input > +class BitCompressor : public BitAbstractArchiveCreator { + public: + /** + * @brief Constructs a BitCompressor object. + * + * The Bit7zLibrary parameter is needed to have access to the functionalities + * of the 7z DLLs. On the contrary, the BitInOutFormat is required to know the + * format of the output archive. + * + * @param lib the 7z library to use. + * @param format the output archive format. + */ + BitCompressor( Bit7zLibrary const& lib, BitInOutFormat const& format ) + : BitAbstractArchiveCreator( lib, format ) {} + + /** + * @brief Compresses a single file. + * + * @param in_file the file to be compressed. + * @param out_file the path (relative or absolute) to the output archive file. + * @param input_name (optional) the name to give to the compressed file inside the output archive. + */ + void compressFile( Input in_file, + const tstring& out_file, + const tstring& input_name = {} ) const { + /* Note: if in_file is a filesystem path (i.e., its type is const tstring&), we can deduce the archived + * item filename using the original filename. Otherwise, if the user didn't specify the input file name, + * we use the filename (without extension) of the output file path. */ + tstring name; +#ifdef __cpp_if_constexpr + if constexpr ( !std::is_same_v< Input, const tstring& > ) { +#else + //There's probably some compile-time SFINAE alternative for C++14, but life is too short ;) + if ( !std::is_same< Input, const tstring& >::value ) { +#endif + name = input_name.empty() ? fsutil::basename( out_file ) : input_name; + } + + BitOutputArchive output_archive{ *this, out_file }; + output_archive.addFile( in_file, name ); + output_archive.compressTo( out_file ); + } + + /** + * @brief Compresses the input file to the output buffer. + * + * @param in_file the file to be compressed. + * @param out_buffer the buffer going to contain the output archive. + * @param input_name (optional) the name to give to the compressed file inside the output archive. + */ + void compressFile( Input in_file, + vector< byte_t >& out_buffer, + const tstring& input_name = {} ) const { + BitOutputArchive output_archive{ *this, out_buffer }; + output_archive.addFile( in_file, input_name ); + output_archive.compressTo( out_buffer ); + } + + /** + * @brief Compresses the input file to the output stream. + * + * @param in_file the file to be compressed. + * @param out_stream the output stream. + * @param input_name (optional) the name to give to the compressed file inside the output archive. + */ + void compressFile( Input in_file, + ostream& out_stream, + const tstring& input_name = {} ) const { + BitOutputArchive output_archive{ *this }; + output_archive.addFile( in_file, input_name ); + output_archive.compressTo( out_stream ); + } +}; + +} // namespace bit7z + +#endif //BITCOMPRESSOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitdefines.hpp b/IGCIT Helper/bit7z/include/bit7z/bitdefines.hpp new file mode 100755 index 0000000..ef4979b --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitdefines.hpp @@ -0,0 +1,106 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITDEFINES_HPP +#define BITDEFINES_HPP + +/* Uncomment the following macros if you don't want to define them yourself in your project files */ +//#define BIT7Z_AUTO_FORMAT +//#define BIT7Z_REGEX_MATCHING +//#define BIT7Z_USE_STD_BYTE +//#define BIT7Z_USE_NATIVE_STRING + +#if ( defined( _MSVC_LANG ) && _MSVC_LANG >= 201703L ) || ( defined( __cplusplus ) && __cplusplus >= 201703L ) +# define BIT7Z_CPP_STANDARD 17 +#elif ( defined( _MSVC_LANG ) && _MSVC_LANG >= 201402L ) || ( defined( __cplusplus ) && __cplusplus >= 201402L ) +# define BIT7Z_CPP_STANDARD 14 +#else +# define BIT7Z_CPP_STANDARD 11 +#endif + +#if defined( __cpp_lib_filesystem ) +# define BIT7Z_USE_STANDARD_FILESYSTEM +#elif BIT7Z_CPP_STANDARD >= 17 && defined( __has_include ) +# if __has_include( ) +# define BIT7Z_USE_STANDARD_FILESYSTEM +# endif +#endif + +/* Macro defines for [[nodiscard]] and [[maybe_unused]] attributes. */ +#if defined( __has_cpp_attribute ) +# if __has_cpp_attribute( nodiscard ) +# define BIT7Z_NODISCARD [[nodiscard]] +# endif +# if __has_cpp_attribute( maybe_unused ) +# define BIT7Z_MAYBE_UNUSED [[maybe_unused]] +# endif +# if __has_cpp_attribute( deprecated ) +# define BIT7Z_DEPRECATED [[deprecated]] +# define BIT7Z_DEPRECATED_MSG( msg ) [[deprecated( msg )]] +# endif +#endif + +/* The compiler doesn't support __has_cpp_attribute, but it is using the C++17 standard. */ +#if !defined( BIT7Z_NODISCARD ) && BIT7Z_CPP_STANDARD >= 17 +# define BIT7Z_NODISCARD [[nodiscard]] +#endif + +#if !defined( BIT7Z_MAYBE_UNUSED ) && BIT7Z_CPP_STANDARD >= 17 +# define BIT7Z_MAYBE_UNUSED [[maybe_unused]] +#endif + +#if !defined( BIT7Z_DEPRECATED ) && BIT7Z_CPP_STANDARD >= 14 +# define BIT7Z_DEPRECATED [[deprecated]] +# define BIT7Z_DEPRECATED_MSG( msg ) [[deprecated( msg )]] +#endif + +/* Compiler is using at most the C++14 standard, so we use the compiler-specific attributes/defines were possible. */ +#ifndef BIT7Z_NODISCARD +# if defined( __GNUC__ ) || defined(__clang__) +# define BIT7Z_NODISCARD __attribute__(( warn_unused_result )) +# elif defined( _Check_return_ ) // Old MSVC versions +# define BIT7Z_NODISCARD _Check_return_ +# else +# define BIT7Z_NODISCARD +# endif +#endif +#ifndef BIT7Z_MAYBE_UNUSED +# if defined( __GNUC__ ) || defined(__clang__) +# define BIT7Z_MAYBE_UNUSED __attribute__(( unused )) +# else +# define BIT7Z_MAYBE_UNUSED +# endif +#endif + +/* Compiler is using the C++11 standard, so we use the compiler-specific attributes were possible. + * Note: these macros are used in the public API, so we cannot assume that we are always using a C++14 compiler.*/ +#ifndef BIT7Z_DEPRECATED +# if defined( __GNUC__ ) || defined( __clang__ ) +# define BIT7Z_DEPRECATED __attribute__(( __deprecated__ )) +# define BIT7Z_DEPRECATED_MSG( msg ) __attribute__(( __deprecated__( msg ) )) +# elif defined( _MSC_VER ) +# define BIT7Z_DEPRECATED __declspec( deprecated ) +# define BIT7Z_DEPRECATED_MSG( msg ) __declspec( deprecated( msg ) ) +# else +# define BIT7Z_DEPRECATED +# define BIT7Z_DEPRECATED_MSG( msg ) +# endif +#endif + +#ifndef BIT7Z_DEPRECATED_ENUMERATOR +// Before v6.0, GCC didn't support deprecating single enumerators. +# if defined( __GNUC__ ) && !defined( __clang__ ) && __GNUC__ < 6 +# define BIT7Z_DEPRECATED_ENUMERATOR( deprecated_value, new_value, msg ) deprecated_value = new_value +# else +# define BIT7Z_DEPRECATED_ENUMERATOR( deprecated_value, new_value, msg ) \ + deprecated_value BIT7Z_DEPRECATED_MSG( msg ) = new_value +# endif +#endif + +#endif //BITDEFINES_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/biterror.hpp b/IGCIT Helper/bit7z/include/bit7z/biterror.hpp new file mode 100755 index 0000000..850f06f --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/biterror.hpp @@ -0,0 +1,56 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITERROR_HPP +#define BITERROR_HPP + +#include + +#include "bitdefines.hpp" + +namespace bit7z { + +/** + * @brief The BitError enum struct values represent bit7z specific errors. + */ +enum struct BitError { + Fail = 1, + FilterNotSpecified, + FormatFeatureNotSupported, + IndicesNotSpecified, + InvalidArchivePath, + InvalidOutputBufferSize, + InvalidCompressionMethod, + InvalidDictionarySize, + InvalidIndex, + InvalidWordSize, + ItemIsAFolder, + ItemMarkedAsDeleted, + NoMatchingExtension, + NoMatchingItems, + NoMatchingSignature, + NonEmptyOutputBuffer, + RequestedWrongVariantType, + UnsupportedOperation, + WrongUpdateMode +}; + +std::error_code make_error_code( const BitError& e ); + +} // namespace bit7z + +namespace std { + +template<> +struct BIT7Z_MAYBE_UNUSED is_error_code_enum< bit7z::BitError > : public true_type {}; + +} // namespace std + + +#endif //BITERROR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitexception.hpp b/IGCIT Helper/bit7z/include/bit7z/bitexception.hpp new file mode 100755 index 0000000..8d4c9f8 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitexception.hpp @@ -0,0 +1,94 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITEXCEPTION_HPP +#define BITEXCEPTION_HPP + +#include +#include + +#include "bitdefines.hpp" +#include "bittypes.hpp" +#include "bitwindows.hpp" + +namespace bit7z { + +using std::system_error; +using FailedFiles = std::vector< std::pair< tstring, std::error_code > >; + +std::error_code make_hresult_code( HRESULT res ) noexcept; + +std::error_code last_error_code() noexcept; + +/** + * @brief The BitException class represents a generic exception thrown from the bit7z classes. + */ +class BitException final : public system_error { + public: +#ifdef _WIN32 + using native_code_type = HRESULT; +#else + using native_code_type = int; +#endif + + /** + * @brief Constructs a BitException object with the given message, and the specific files that failed. + * + * @param message the message associated with the exception object. + * @param files the vector of files that failed, with the corresponding error codes. + * @param code the HRESULT code associated with the exception object. + */ + explicit BitException( const char* message, std::error_code code, FailedFiles&& files = {} ); + + /** + * @brief Constructs a BitException object with the given message, and the specific file that failed. + * + * @param message the message associated with the exception object. + * @param file the file that failed during the operation. + * @param code the HRESULT code associated with the exception object. + */ + BitException( const char* message, std::error_code code, const tstring& file ); + + /** + * @brief Constructs a BitException object with the given message. + * + * @param message the message associated with the exception object. + * @param code the HRESULT code associated with the exception object. + */ + explicit BitException( const std::string& message, std::error_code code ); + + /** + * @return the native error code (e.g., HRESULT on Windows, int elsewhere) + * corresponding to the exception's std::error_code. + */ + BIT7Z_NODISCARD native_code_type nativeCode() const noexcept; + + /** + * @return the HRESULT error code corresponding to the exception's std::error_code. + */ + BIT7Z_NODISCARD HRESULT hresultCode() const noexcept; + + /** + * @return the POSIX error code corresponding to the exception's std::error_code. + */ + BIT7Z_NODISCARD int posixCode() const noexcept; + + /** + * @return the vector of files that caused the exception to be thrown, along with the corresponding + * error codes. + */ + BIT7Z_NODISCARD const FailedFiles& failedFiles() const noexcept; + + private: + FailedFiles mFailedFiles; +}; + +} // namespace bit7z + +#endif // BITEXCEPTION_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitextractor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitextractor.hpp new file mode 100755 index 0000000..96ffe00 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitextractor.hpp @@ -0,0 +1,305 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITEXTRACTOR_HPP +#define BITEXTRACTOR_HPP + +#include + +#include "bitabstractarchiveopener.hpp" +#include "biterror.hpp" +#include "bitexception.hpp" +#include "bitinputarchive.hpp" + +namespace bit7z { + +namespace filesystem { // NOLINT(modernize-concat-nested-namespaces) +namespace fsutil { +bool wildcardMatch( const tstring& pattern, const tstring& str ); +} // namespace fsutil +} // namespace filesystem + +/** + * @brief Enumeration representing the policy according to which the extractor should handle + * the items that match the pattern given by the user. + */ +enum struct FilterPolicy { + Include, ///< Extract the items that match the pattern. + Exclude ///< Do not extract the items that match the pattern. +}; + +/** + * @brief The BitExtractor template class allows extracting the content of archives from supported input types. + * + * @tparam Input the type of input archives that the generated extractor class supports. + */ +template< typename Input > +class BitExtractor final : public BitAbstractArchiveOpener { + public: + /** + * @brief Constructs a BitExtractor object. + * + * The Bit7zLibrary parameter is needed to have access to the functionalities + * of the 7z DLLs. On the contrary, the BitInFormat is required to know the + * format of the in_file archives. + * + * @note When bit7z is compiled using the BIT7Z_AUTO_FORMAT macro define, the format + * argument has default value BitFormat::Auto (automatic format detection of the in_file archive). + * Otherwise, when BIT7Z_AUTO_FORMAT is not defined (i.e., no auto format detection available), + * the format argument must be specified. + * + * @param lib the 7z library to use. + * @param format the in_file archive format. + */ + explicit BitExtractor( const Bit7zLibrary& lib, const BitInFormat& format BIT7Z_DEFAULT_FORMAT ) + : BitAbstractArchiveOpener( lib, format ) {} + + /** + * @brief Extracts the given archive to the chosen directory. + * + * @param in_archive the input archive to be extracted. + * @param out_dir the output directory where extracted files will be put. + */ + void extract( Input in_archive, const tstring& out_dir = {} ) const { + BitInputArchive input_archive( *this, in_archive ); + input_archive.extract( out_dir ); + } + + /** + * @brief Extracts a file from the given archive to the output buffer. + * + * @param in_archive the input archive to extract from. + * @param out_buffer the output buffer where the content of the extracted file will be put. + * @param index the index of the file to be extracted from the archive. + */ + void extract( Input in_archive, vector< byte_t >& out_buffer, uint32_t index = 0 ) const { + BitInputArchive input_archive( *this, in_archive ); + input_archive.extract( out_buffer, index ); + } + + /** + * @brief Extracts a file from the given archive to the output stream. + * + * @param in_archive the input archive to extract from. + * @param out_stream the (binary) stream where the content of the extracted file will be put. + * @param index the index of the file to be extracted from the archive. + */ + void extract( Input in_archive, std::ostream& out_stream, uint32_t index = 0 ) const { + BitInputArchive input_archive( *this, in_archive ); + input_archive.extract( out_stream, index ); + } + + /** + * @brief Extracts the content of the given archive into a map of memory buffers, where the keys are + * the paths of the files (inside the archive), and the values are their decompressed contents. + * + * @param in_archive the input archive to be extracted. + * @param out_map the output map. + */ + void extract( Input in_archive, std::map< tstring, vector< byte_t > >& out_map ) const { + BitInputArchive input_archive( *this, in_archive ); + input_archive.extract( out_map ); + } + + /** + * @brief Extracts the files in the archive that match the given wildcard pattern to the chosen directory. + * + * @param in_archive the input archive to extract from. + * @param item_filter the wildcard pattern used for matching the paths of files inside the archive. + * @param out_dir the output directory where extracted files will be put. + * @param policy the filtering policy to be applied to the matched items. + */ + void extractMatching( Input in_archive, + const tstring& item_filter, + const tstring& out_dir = {}, + FilterPolicy policy = FilterPolicy::Include ) const { + using namespace filesystem; + + if ( item_filter.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::FilterNotSpecified ) ); + } + + extractMatchingFilter( in_archive, out_dir, policy, [ &item_filter ]( const tstring& item_path ) -> bool { + return fsutil::wildcardMatch( item_filter, item_path ); + } ); + } + + /** + * @brief Extracts to the output buffer the first file in the archive matching the given wildcard pattern. + * + * @param in_archive the input archive to extract from. + * @param item_filter the wildcard pattern used for matching the paths of files inside the archive. + * @param out_buffer the output buffer where to extract the file. + * @param policy the filtering policy to be applied to the matched items. + */ + void extractMatching( Input in_archive, + const tstring& item_filter, + vector< byte_t >& out_buffer, + FilterPolicy policy = FilterPolicy::Include ) const { + using namespace filesystem; + + if ( item_filter.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::FilterNotSpecified ) ); + } + + extractMatchingFilter( in_archive, out_buffer, policy, + [ &item_filter ]( const tstring& item_path ) -> bool { + return fsutil::wildcardMatch( item_filter, item_path ); + } ); + } + + /** + * @brief Extracts the specified items from the given archive to the chosen directory. + * + * @param in_archive the input archive to extract from. + * @param indices the indices of the files in the archive that should be extracted. + * @param out_dir the output directory where the extracted files will be placed. + */ + void extractItems( Input in_archive, + const std::vector< uint32_t >& indices, + const tstring& out_dir = {} ) const { + if ( indices.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::IndicesNotSpecified ) ); + } + + BitInputArchive input_archive( *this, in_archive ); + uint32_t n_items = input_archive.itemsCount(); + // Find if any index passed by the user is not in the valid range [0, itemsCount() - 1] + const auto find_res = std::find_if( indices.cbegin(), + indices.cend(), + [ &n_items ]( uint32_t index ) -> bool { + return index >= n_items; + } ); + if ( find_res != indices.cend() ) { + throw BitException( "Cannot extract item at the index " + std::to_string( *find_res ), + make_error_code( BitError::InvalidIndex ) ); + } + + input_archive.extract( out_dir, indices ); + } + +#ifdef BIT7Z_REGEX_MATCHING + + /** + * @brief Extracts the files in the archive that match the given regex pattern to the chosen directory. + * + * @note Available only when compiling bit7z using the BIT7Z_REGEX_MATCHING preprocessor define. + * + * @param in_archive the input archive to extract from. + * @param regex the regex used for matching the paths of files inside the archive. + * @param out_dir the output directory where extracted files will be put. + * @param policy the filtering policy to be applied to the matched items. + */ + void extractMatchingRegex( Input in_archive, + const tstring& regex, + const tstring& out_dir = {}, + FilterPolicy policy = FilterPolicy::Include ) const { + if ( regex.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::FilterNotSpecified ) ); + } + + const tregex regex_filter( regex, tregex::ECMAScript | tregex::optimize ); + extractMatchingFilter( in_archive, out_dir, policy, [ ®ex_filter ]( const tstring& item_path ) -> bool { + return std::regex_match( item_path, regex_filter ); + } ); + } + + /** + * @brief Extracts the first file in the archive that matches the given regex pattern to the output buffer. + * + * @note Available only when compiling bit7z using the BIT7Z_REGEX_MATCHING preprocessor define. + * + * @param in_archive the input archive to extract from. + * @param regex the regex used for matching the paths of files inside the archive. + * @param out_buffer the output buffer where the extracted file will be put. + * @param policy the filtering policy to be applied to the matched items. + */ + void extractMatchingRegex( Input in_archive, + const tstring& regex, + vector< byte_t >& out_buffer, + FilterPolicy policy = FilterPolicy::Include ) const { + if ( regex.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::FilterNotSpecified ) ); + } + + const tregex regex_filter( regex, tregex::ECMAScript | tregex::optimize ); + return extractMatchingFilter( in_archive, out_buffer, policy, + [ ®ex_filter ]( const tstring& item_path ) -> bool { + return std::regex_match( item_path, regex_filter ); + } ); + } + +#endif + + /** + * @brief Tests the given archive without extracting its content. + * + * If the archive is not valid, a BitException is thrown! + * + * @param in_archive the input archive to be tested. + */ + void test( Input in_archive ) const { + BitInputArchive input_archive( *this, in_archive ); + input_archive.test(); + } + + private: + void extractMatchingFilter( Input in_archive, + const tstring& out_dir, + FilterPolicy policy, + const function< bool( const tstring& ) >& filter ) const { + BitInputArchive input_archive( *this, in_archive ); + + vector< uint32_t > matched_indices; + const bool should_extract_matched_items = policy == FilterPolicy::Include; + // Searching for files inside the archive that match the given filter + for ( const auto& item : input_archive ) { + const bool item_matches = filter( item.path() ); + if ( item_matches == should_extract_matched_items ) { + /* The if-condition is equivalent to an exclusive NOR (negated XOR) between + * item_matches and should_extract_matched_items. + * In other words, it is true only if the current item either: + * - matches the filter, and we must include any matching item; or + * - doesn't match the filter, and we must exclude those that match. */ + matched_indices.push_back( item.index() ); + } + } + + if ( matched_indices.empty() ) { + throw BitException( "Cannot extract items", make_error_code( BitError::NoMatchingItems ) ); + } + + input_archive.extract( out_dir, matched_indices ); + } + + void extractMatchingFilter( Input in_archive, + vector< byte_t >& out_buffer, + FilterPolicy policy, + const function< bool( const tstring& ) >& filter ) const { + BitInputArchive input_archive( *this, in_archive ); + + const bool should_extract_matched_item = policy == FilterPolicy::Include; + // Searching for files inside the archive that match the given filter + for ( const auto& item : input_archive ) { + const bool item_matches = filter( item.path() ); + if ( item_matches == should_extract_matched_item ) { + /* The if-condition is equivalent to an exclusive NOR (negated XOR) between + * item_matches and should_extract_matched_item. */ + input_archive.extract( out_buffer, item.index() ); + return; + } + } + + throw BitException( "Failed to extract items", make_error_code( BitError::NoMatchingItems ) ); + } +}; + +} // namespace bit7z + +#endif //BITEXTRACTOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitfilecompressor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitfilecompressor.hpp new file mode 100755 index 0000000..31e0373 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitfilecompressor.hpp @@ -0,0 +1,139 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITFILECOMPRESSOR_HPP +#define BITFILECOMPRESSOR_HPP + +#include +#include +#include + +#include "bitcompressor.hpp" + +namespace bit7z { + +using std::vector; +using std::map; +using std::ostream; + +namespace filesystem { +class FSItem; +} // namespace filesystem + +using namespace filesystem; + +/** + * @brief The BitFileCompressor class allows compressing files and directories. + * The compressed archives can be saved to the filesystem, standard streams, or memory buffers. + * + * It let decide various properties of the produced archive, such as the password + * protection and the compression level desired. + */ +class BitFileCompressor final : public BitCompressor< const tstring& > { + public: + /** + * @brief Constructs a BitFileCompressor object. + * + * The Bit7zLibrary parameter is needed to have access to the functionalities + * of the 7z DLLs. On the contrary, the BitInOutFormat is required to know the + * format of the output archive. + * + * @param lib the 7z library used. + * @param format the output archive format. + */ + BitFileCompressor( const Bit7zLibrary& lib, const BitInOutFormat& format ); + + /* Compression from the file system to the file system. */ + + /** + * @brief Compresses the given files or directories. + * + * The items in the first argument must be the relative or absolute paths to files or + * directories existing on the filesystem. + * + * @param in_paths a vector of paths. + * @param out_file the path (relative or absolute) to the output archive file. + */ + void compress( const std::vector< tstring >& in_paths, const tstring& out_file ) const; + + /** + * @brief Compresses the given files or directories using the specified aliases. + * + * The items in the first argument must be the relative or absolute paths to files or + * directories existing on the filesystem. + * Each pair in the map must follow the following format: + * {"path to file in the filesystem", "alias path in the archive"}. + * + * @param in_paths a map of paths and corresponding aliases. + * @param out_file the path (relative or absolute) to the output archive file. + */ + void compress( const std::map< tstring, tstring >& in_paths, const tstring& out_file ) const; + + /** + * @brief Compresses a group of files. + * + * @note Any path to a directory or to a not-existing file will be ignored! + * + * @param in_files the path (relative or absolute) to the input files. + * @param out_file the path (relative or absolute) to the output archive file. + */ + void compressFiles( const std::vector< tstring >& in_files, const tstring& out_file ) const; + + /** + * @brief Compresses the files contained in a directory. + * + * @param in_dir the path (relative or absolute) to the input directory. + * @param out_file the path (relative or absolute) to the output archive file. + * @param recursive (optional) if true, it searches files inside the sub-folders of in_dir. + * @param filter (optional) the filter to use when searching files inside in_dir. + */ + void compressFiles( const tstring& in_dir, + const tstring& out_file, + bool recursive = true, + const tstring& filter = BIT7Z_STRING( "*" ) ) const; + + /** + * @brief Compresses an entire directory. + * + * @note This method is equivalent to compressFiles with filter set to L"". + * + * @param in_dir the path (relative or absolute) to the input directory. + * @param out_file the path (relative or absolute) to the output archive file. + */ + void compressDirectory( const tstring& in_dir, const tstring& out_file ) const; + + /* Compression from the file system to standard streams. */ + + /** + * @brief Compresses the given files or directories. + * + * The items in the first argument must be the relative or absolute paths to files or + * directories existing on the filesystem. + * + * @param in_paths a vector of paths. + * @param out_stream the standard ostream where the archive will be output. + */ + void compress( const std::vector< tstring >& in_paths, std::ostream& out_stream ) const; + + /** + * @brief Compresses the given files or directories using the specified aliases. + * + * The items in the first argument must be the relative or absolute paths to files or + * directories existing on the filesystem. + * Each pair in the map must follow the following format: + * {"path to file in the filesystem", "alias path in the archive"}. + * + * @param in_paths a map of paths and corresponding aliases. + * @param out_stream the standard ostream where to output the archive file. + */ + void compress( const std::map< tstring, tstring >& in_paths, std::ostream& out_stream ) const; +}; + +} // namespace bit7z +#endif // BITFILECOMPRESSOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitfileextractor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitfileextractor.hpp new file mode 100755 index 0000000..8bc442c --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitfileextractor.hpp @@ -0,0 +1,23 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITFILEEXTRACTOR_HPP +#define BITFILEEXTRACTOR_HPP + +#include "bitextractor.hpp" + +namespace bit7z { + +/** + * @brief The BitFileExtractor alias allows extracting archives on the filesystem. + */ +using BitFileExtractor BIT7Z_MAYBE_UNUSED = BitExtractor< const tstring& >; + +} // namespace bit7z +#endif // BITFILEEXTRACTOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitformat.hpp b/IGCIT Helper/bit7z/include/bit7z/bitformat.hpp new file mode 100755 index 0000000..1bacce8 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitformat.hpp @@ -0,0 +1,241 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITFORMAT_HPP +#define BITFORMAT_HPP + +#include + +#include + +#include "bitcompressionmethod.hpp" +#include "bitdefines.hpp" +#include "bittypes.hpp" + +namespace bit7z { + +/** + * @brief The FormatFeatures enum specifies the features supported by an archive file format. + */ +enum struct FormatFeatures : unsigned { + MultipleFiles = 1 << 0, ///< The format can compress/extract multiple files (2^0 = 0000001) + SolidArchive = 1 << 1, ///< The format supports solid archives (2^1 = 0000010) + CompressionLevel = 1 << 2, ///< The format is able to use different compression levels (2^2 = 0000100) + Encryption = 1 << 3, ///< The format supports archive encryption (2^3 = 0001000) + HeaderEncryption = 1 << 4, ///< The format can encrypt the file names (2^4 = 0010000) + MultipleMethods = 1 << 5 ///< The format can use different compression methods (2^6 = 0100000) +}; + +template< typename E > +using underlying_type_t = typename std::underlying_type< E >::type; + +template< typename E > +inline constexpr auto to_underlying( E e ) noexcept -> underlying_type_t< E > { + return static_cast< underlying_type_t< E > >( e ); +} + +inline constexpr FormatFeatures operator|( FormatFeatures lhs, FormatFeatures rhs ) noexcept { + return static_cast< FormatFeatures >( to_underlying( lhs ) | to_underlying( rhs ) ); +} + +using FormatFeaturesType = underlying_type_t< FormatFeatures >; + +inline constexpr auto operator&( FormatFeatures lhs, FormatFeatures rhs ) noexcept -> FormatFeaturesType { + return to_underlying( lhs ) & to_underlying( rhs ); +} + +/** + * @brief The BitInFormat class specifies an extractable archive format. + * + * @note Usually, the user of the library should not create new formats and, instead, + * use the ones provided by the BitFormat namespace. + */ +class BitInFormat { + public: + //non-copyable + BitInFormat( const BitInFormat& other ) = delete; + + BitInFormat& operator=( const BitInFormat& other ) = delete; + + //non-movable + BitInFormat( BitInFormat&& other ) = delete; + + BitInFormat& operator=( BitInFormat&& other ) = delete; + + ~BitInFormat() = default; + + /** + * @brief Constructs a BitInFormat object with the ID value used by the 7z SDK. + * @param value the value of the format in the 7z SDK. + */ + constexpr explicit BitInFormat( unsigned char value ) noexcept: mValue( value ) {} + + /** + * @return the value of the format in the 7z SDK. + */ + BIT7Z_NODISCARD unsigned char value() const noexcept; + + /** + * @param other the target object to compare to. + * @return a boolean value indicating whether this format is equal to the "other" or not. + */ + bool operator==( BitInFormat const& other ) const noexcept; + + /** + * @param other the target object to compare to. + * @return a boolean value indicating whether this format is different from the "other" or not. + */ + bool operator!=( BitInFormat const& other ) const noexcept; + + private: + unsigned char mValue; +}; + +/** + * @brief The BitInOutFormat class specifies a format available for creating new archives and extract old ones. + * + * @note Usually, the user of the library should not create new formats and, instead, + * use the ones provided by the BitFormat namespace. + */ +class BitInOutFormat final : public BitInFormat { + public: + /** + * @brief Constructs a BitInOutFormat object with an ID value, an extension and a set of supported features. + * + * @param value the value of the format in the 7z SDK. + * @param ext the default file extension of the archive format. + * @param defaultMethod the default method used for compressing the archive format. + * @param features the set of features supported by the archive format + */ + constexpr BitInOutFormat( unsigned char value, + const tchar* ext, + BitCompressionMethod defaultMethod, + FormatFeatures features ) noexcept + : BitInFormat( value ), mExtension( ext ), mDefaultMethod( defaultMethod ), mFeatures( features ) {} + + //non-copyable + BitInOutFormat( const BitInOutFormat& other ) = delete; + + BitInOutFormat& operator=( const BitInOutFormat& other ) = delete; + + //non-movable + BitInOutFormat( BitInOutFormat&& other ) = delete; + + BitInOutFormat& operator=( BitInOutFormat&& other ) = delete; + + ~BitInOutFormat() = default; + + /** + * @return the default file extension of the archive format. + */ + BIT7Z_NODISCARD const tchar* extension() const noexcept; + + /** + * @return the bitset of the features supported by the format. + */ + BIT7Z_NODISCARD FormatFeatures features() const noexcept; + + /** + * @brief Checks if the format has a specific feature (see FormatFeatures enum). + * + * @param feature feature to be checked. + * + * @return a boolean value indicating whether the format has the given feature. + */ + BIT7Z_NODISCARD bool hasFeature( FormatFeatures feature ) const noexcept; + + /** + * @return the default method used for compressing the archive format. + */ + BIT7Z_NODISCARD BitCompressionMethod defaultMethod() const noexcept; + + private: + const tchar* mExtension; + BitCompressionMethod mDefaultMethod; + FormatFeatures mFeatures; +}; + +/** + * @brief The namespace that contains a set of archive formats usable with bit7z classes. + */ +namespace BitFormat { +#ifdef BIT7Z_AUTO_FORMAT +/** + * @brief Automatic Format Detection (available only when compiling bit7z using the `BIT7Z_AUTO_FORMAT` option). + */ +extern const BitInFormat Auto; +#endif +extern const BitInFormat Rar, ///< RAR Archive Format + Arj, ///< ARJ Archive Format + Z, ///< Z Archive Format + Lzh, ///< LZH Archive Format + Cab, ///< CAB Archive Format + Nsis, ///< NSIS Archive Format + Lzma, ///< LZMA Archive Format + Lzma86, ///< LZMA86 Archive Format + Ppmd, ///< PPMD Archive Format + Vhdx, ///< VHDX Archive Format + COFF, ///< COFF Archive Format + Ext, ///< EXT Archive Format + VMDK, ///< VMDK Archive Format + VDI, ///< VDI Archive Format + QCow, ///< QCOW Archive Format + GPT, ///< GPT Archive Format + Rar5, ///< RAR5 Archive Format + IHex, ///< IHEX Archive Format + Hxs, ///< HXS Archive Format + TE, ///< TE Archive Format + UEFIc, ///< UEFIc Archive Format + UEFIs, ///< UEFIs Archive Format + SquashFS, ///< SquashFS Archive Format + CramFS, ///< CramFS Archive Format + APM, ///< APM Archive Format + Mslz, ///< MSLZ Archive Format + Flv, ///< FLV Archive Format + Swf, ///< SWF Archive Format + Swfc, ///< SWFC Archive Format + Ntfs, ///< NTFS Archive Format + Fat, ///< FAT Archive Format + Mbr, ///< MBR Archive Format + Vhd, ///< VHD Archive Format + Pe, ///< PE Archive Format + Elf, ///< ELF Archive Format + Macho, ///< MACHO Archive Format + Udf, ///< UDF Archive Format + Xar, ///< XAR Archive Format + Mub, ///< MUB Archive Format + Hfs, ///< HFS Archive Format + Dmg, ///< DMG Archive Format + Compound, ///< COMPOUND Archive Format + Iso, ///< ISO Archive Format + Chm, ///< CHM Archive Format + Split, ///< SPLIT Archive Format + Rpm, ///< RPM Archive Format + Deb, ///< DEB Archive Format + Cpio; ///< CPIO Archive Format + +extern const BitInOutFormat Zip, ///< ZIP Archive Format + BZip2, ///< BZIP2 Archive Format + SevenZip, ///< 7Z Archive Format + Xz, ///< XZ Archive Format + Wim, ///< WIM Archive Format + Tar, ///< TAR Archive Format + GZip; ///< GZIP Archive Format +} // namespace BitFormat + + +#ifdef BIT7Z_AUTO_FORMAT +#define BIT7Z_DEFAULT_FORMAT = BitFormat::Auto +#else +#define BIT7Z_DEFAULT_FORMAT +#endif + +} // namespace bit7z + +#endif // BITFORMAT_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitfs.hpp b/IGCIT Helper/bit7z/include/bit7z/bitfs.hpp new file mode 100755 index 0000000..7c0148a --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitfs.hpp @@ -0,0 +1,41 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com + +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITFS_HPP +#define BITFS_HPP + +/* Header for forward declaring fs namespace. */ + +#include "bitdefines.hpp" /* For BIT7Z_USE_STANDARD_FILESYSTEM */ + +#ifdef BIT7Z_USE_STANDARD_FILESYSTEM +#include +#else +/* Notes: we use this forward declaration to avoid including private headers (e.g. fs.hpp). + * Since some public API headers include bitgenericitem.hpp (e.g. "bitoutputarchive.hpp"), + * including private headers here would result in the "leaking" out of these latter in the public API.*/ +namespace ghc { + namespace filesystem { + class path; + } +} +#endif + +namespace fs { +#ifdef BIT7Z_USE_STANDARD_FILESYSTEM +using namespace std::filesystem; +#else +using namespace ghc::filesystem; +#endif +} // namespace fs + +#endif //BITFS_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitgenericitem.hpp b/IGCIT Helper/bit7z/include/bit7z/bitgenericitem.hpp new file mode 100755 index 0000000..ace090c --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitgenericitem.hpp @@ -0,0 +1,61 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITGENERICITEM_HPP +#define BITGENERICITEM_HPP + +#include "bitpropvariant.hpp" + +namespace bit7z { + +/** + * @brief The BitGenericItem interface class represents a generic item (either inside or outside an archive). + */ +class BitGenericItem { + public: + /** + * @return true if and only if the item is a directory (i.e., it has the property BitProperty::IsDir). + */ + BIT7Z_NODISCARD virtual bool isDir() const = 0; + + /** + * @return the uncompressed size of the item. + */ + BIT7Z_NODISCARD virtual uint64_t size() const = 0; + + /** + * @return the name of the item, if available or inferable from the path, or an empty string otherwise. + */ + BIT7Z_NODISCARD virtual tstring name() const = 0; + + /** + * @return the path of the item. + */ + BIT7Z_NODISCARD virtual tstring path() const = 0; + + /** + * @return the item attributes. + */ + BIT7Z_NODISCARD virtual uint32_t attributes() const = 0; + + /** + * @brief Gets the specified item property. + * + * @param property the property to be retrieved. + * + * @return the value of the item property, if available, or an empty BitPropVariant. + */ + BIT7Z_NODISCARD virtual BitPropVariant itemProperty( BitProperty property ) const = 0; + + virtual ~BitGenericItem() = default; +}; + +} // namespace bit7z + +#endif //BITGENERICITEM_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitinputarchive.hpp b/IGCIT Helper/bit7z/include/bit7z/bitinputarchive.hpp new file mode 100755 index 0000000..793e2e6 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitinputarchive.hpp @@ -0,0 +1,344 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ +#ifndef BITINPUTARCHIVE_HPP +#define BITINPUTARCHIVE_HPP + +#include +#include + +#include "bitabstractarchivehandler.hpp" +#include "bitarchiveitemoffset.hpp" +#include "bitformat.hpp" +#include "bitfs.hpp" + +struct IInStream; +struct IInArchive; +struct IOutArchive; + +namespace bit7z { + +using std::vector; + +/** + * @brief The BitInputArchive class, given a handler object, allows reading/extracting the content of archives. + */ +class BitInputArchive { + public: + /** + * @brief Constructs a BitInputArchive object, opening the input file archive. + * + * @param handler the reference to the BitAbstractArchiveHandler object containing all the settings to + * be used for reading the input archive + * @param in_file the path to the input archive file + */ + BitInputArchive( const BitAbstractArchiveHandler& handler, const tstring& in_file ); + + /** + * @brief Constructs a BitInputArchive object, opening the input file archive. + * + * @param handler the reference to the BitAbstractArchiveHandler object containing all the settings to + * be used for reading the input archive + * @param arc_path the path to the input archive file + */ +#if defined( _WIN32 ) && defined( BIT7Z_AUTO_PREFIX_LONG_PATHS ) + BitInputArchive( const BitAbstractArchiveHandler& handler, fs::path arc_path ); +#else + BitInputArchive( const BitAbstractArchiveHandler& handler, const fs::path& arc_path ); +#endif + + /** + * @brief Constructs a BitInputArchive object, opening the archive given in the input buffer. + * + * @param handler the reference to the BitAbstractArchiveHandler object containing all the settings to + * be used for reading the input archive + * @param in_buffer the buffer containing the input archive + */ + BitInputArchive( const BitAbstractArchiveHandler& handler, const std::vector< byte_t >& in_buffer ); + + /** + * @brief Constructs a BitInputArchive object, opening the archive by reading the given input stream. + * + * @param handler the reference to the BitAbstractArchiveHandler object containing all the settings to + * be used for reading the input archive + * @param in_stream the standard input stream of the input archive + */ + BitInputArchive( const BitAbstractArchiveHandler& handler, std::istream& in_stream ); + + BitInputArchive( const BitInputArchive& ) = delete; + + BitInputArchive( BitInputArchive&& ) = delete; + + BitInputArchive& operator=( const BitInputArchive& ) = delete; + + BitInputArchive& operator=( BitInputArchive&& ) = delete; + + virtual ~BitInputArchive(); + + /** + * @return the detected format of the file. + */ + BIT7Z_NODISCARD const BitInFormat& detectedFormat() const noexcept; + + /** + * @brief Gets the specified archive property. + * + * @param property the property to be retrieved. + * + * @return the current value of the archive property or an empty BitPropVariant if no value is specified. + */ + BIT7Z_NODISCARD BitPropVariant archiveProperty( BitProperty property ) const; + + /** + * @brief Gets the specified property of an item in the archive. + * + * @param index the index (in the archive) of the item. + * @param property the property to be retrieved. + * + * @return the current value of the item property or an empty BitPropVariant if the item has no value for + * the property. + */ + BIT7Z_NODISCARD BitPropVariant itemProperty( uint32_t index, BitProperty property ) const; + + /** + * @return the number of items contained in the archive. + */ + BIT7Z_NODISCARD uint32_t itemsCount() const; + + /** + * @param index the index of an item in the archive. + * + * @return true if and only if the item at the given index is a folder. + */ + BIT7Z_NODISCARD bool isItemFolder( uint32_t index ) const; + + /** + * @param index the index of an item in the archive. + * + * @return true if and only if the item at the given index is encrypted. + */ + BIT7Z_NODISCARD bool isItemEncrypted( uint32_t index ) const; + + /** + * @return the path to the archive (the empty string for buffer/stream archives). + */ + BIT7Z_NODISCARD const tstring& archivePath() const noexcept; + + /** + * @return the BitAbstractArchiveHandler object containing the settings for reading the archive. + */ + BIT7Z_NODISCARD const BitAbstractArchiveHandler& handler() const noexcept; + + /** + * @brief Extracts the specified items to the chosen directory. + * + * @param out_dir the output directory where the extracted files will be put. + * @param indices the array of indices of the files in the archive that must be extracted. + */ + void extract( const tstring& out_dir, const std::vector< uint32_t >& indices = {} ) const; + + /** + * @brief Extracts a file to the output buffer. + * + * @param out_buffer the output buffer where the content of the archive will be put. + * @param index the index of the file to be extracted. + */ + void extract( std::vector< byte_t >& out_buffer, uint32_t index = 0 ) const; + + /** + * @brief Extracts a file to the pre-allocated output buffer. + * + * @tparam N the size of the output buffer (it must be equal to the unpacked size + * of the item to be extracted). + * @param buffer the pre-allocated output buffer. + * @param index the index of the file to be extracted. + */ + template< std::size_t N > + void extract( std::array< byte_t, N >& buffer, uint32_t index = 0 ) const { + extract( buffer.data(), buffer.size(), index ); + } + + /** + * @brief Extracts a file to the pre-allocated output buffer. + * + * @tparam N the size of the output buffer (it must be equal to the unpacked size + * of the item to be extracted). + * @param buffer the pre-allocated output buffer. + * @param index the index of the file to be extracted. + */ + template< std::size_t N > + void extract( byte_t (& buffer)[N], uint32_t index = 0 ) const { // NOLINT(*-avoid-c-arrays) + extract( buffer, N, index ); + } + + /** + * @brief Extracts a file to the pre-allocated output buffer. + * + * @param buffer the pre-allocated output buffer. + * @param size the size of the output buffer (it must be equal to the unpacked size + * of the item to be extracted). + * @param index the index of the file to be extracted. + */ + void extract( byte_t* buffer, std::size_t size, uint32_t index = 0 ) const; + + /** + * @brief Extracts a file to the output stream. + * + * @param out_stream the (binary) stream where the content of the archive will be put. + * @param index the index of the file to be extracted. + */ + void extract( std::ostream& out_stream, uint32_t index = 0 ) const; + + /** + * @brief Extracts the content of the archive to a map of memory buffers, where the keys are the paths + * of the files (inside the archive), and the values are their decompressed contents. + * + * @param out_map the output map. + */ + void extract( std::map< tstring, std::vector< byte_t > >& out_map ) const; + + /** + * @brief Tests the archive without extracting its content. + * + * If the archive is not valid, a BitException is thrown! + */ + void test() const; + + protected: + IInArchive* openArchiveStream( const fs::path& name, IInStream* in_stream ); + + HRESULT initUpdatableArchive( IOutArchive** newArc ) const; + + BIT7Z_NODISCARD HRESULT close() const noexcept; + + friend class BitAbstractArchiveOpener; + + friend class BitAbstractArchiveCreator; + + friend class BitOutputArchive; + + private: + IInArchive* mInArchive; + const BitInFormat* mDetectedFormat; + const BitAbstractArchiveHandler& mArchiveHandler; + tstring mArchivePath; + + public: + /** + * @brief An iterator for the elements contained in an archive. + */ + class const_iterator { + public: + // iterator traits + using iterator_category BIT7Z_MAYBE_UNUSED = std::input_iterator_tag; + using value_type BIT7Z_MAYBE_UNUSED = BitArchiveItemOffset; + using reference = const BitArchiveItemOffset&; + using pointer = const BitArchiveItemOffset*; + using difference_type BIT7Z_MAYBE_UNUSED = uint32_t; //so that count_if returns an uint32_t + + /** + * @brief Advances the iterator to the next element in the archive. + * + * @return the iterator pointing to the next element in the archive. + */ + const_iterator& operator++() noexcept; + + /** + * @brief Advances the iterator to the next element in the archive. + * + * @return the iterator before the advancement. + */ + const_iterator operator++( int ) noexcept; // NOLINT(cert-dcl21-cpp) + + /** + * @brief Compares the iterator with another iterator. + * + * @param other Another iterator. + * + * @return whether the two iterators point to the same element in the archive or not. + */ + bool operator==( const const_iterator& other ) const noexcept; + + /** + * @brief Compares the iterator with another iterator. + * + * @param other Another iterator. + * + * @return whether the two iterators point to the different elements in the archive or not. + */ + bool operator!=( const const_iterator& other ) const noexcept; + + /** + * @brief Accesses the pointed-to element in the archive. + * + * @return a reference to the pointed-to element in the archive. + */ + reference operator*() noexcept; + + /** + * @brief Accesses the pointed-to element in the archive. + * + * @return a pointer to the pointed-to element in the archive. + */ + pointer operator->() noexcept; + + private: + BitArchiveItemOffset mItemOffset; + + const_iterator( uint32_t item_index, const BitInputArchive& item_archive ) noexcept; + + friend class BitInputArchive; + }; + + /** + * @return an iterator to the first element of the archive. If the archive is empty, + * the returned iterator will be equal to the end() iterator. + */ + BIT7Z_NODISCARD BitInputArchive::const_iterator begin() const noexcept; + + /** + * @return an iterator to the element following the last element of the archive. + * This element acts as a placeholder; attempting to access it results in undefined behavior. + */ + BIT7Z_NODISCARD BitInputArchive::const_iterator end() const noexcept; + + /** + * @return an iterator to the first element of the archive. If the archive is empty, + * the returned iterator will be equal to the end() iterator. + */ + BIT7Z_NODISCARD BitInputArchive::const_iterator cbegin() const noexcept; + + /** + * @return an iterator to the element following the last element of the archive. + * This element acts as a placeholder; attempting to access it results in undefined behavior. + */ + BIT7Z_NODISCARD BitInputArchive::const_iterator cend() const noexcept; + + /** + * @brief Find an item in the archive that has the given path. + * + * @param path the path to be searched in the archive. + * + * @return an iterator to the item with the given path, or an iterator equal to the end() iterator + * if no item is found. + */ + BIT7Z_NODISCARD BitInputArchive::const_iterator find( const tstring& path ) const noexcept; + + /** + * @brief Find if there is an item in the archive that has the given path. + * + * @param path the path to be searched in the archive. + * + * @return true if and only if an item with the given path exists in the archive. + */ + BIT7Z_NODISCARD bool contains( const tstring& path ) const noexcept; +}; + +} // namespace bit7z + +#endif //BITINPUTARCHIVE_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bititemsvector.hpp b/IGCIT Helper/bit7z/include/bit7z/bititemsvector.hpp new file mode 100755 index 0000000..d154fc7 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bititemsvector.hpp @@ -0,0 +1,165 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITITEMSVECTOR_HPP +#define BITITEMSVECTOR_HPP + +#include +#include + +#include "bitfs.hpp" +#include "bittypes.hpp" + +namespace bit7z { + +using std::vector; +using std::map; +using std::unique_ptr; + +namespace filesystem { +class FSItem; +} // namespace filesystem + +using filesystem::FSItem; + +struct GenericInputItem; +using GenericInputItemPtr = std::unique_ptr< GenericInputItem >; +using GenericInputItemVector = std::vector< GenericInputItemPtr >; + +/** @cond **/ +struct IndexingOptions { + bool recursive = true; + bool retain_folder_structure = false; + bool only_files = false; +}; +/** @endcond **/ + +/** + * @brief The BitItemsVector class represents a vector of generic input items, i.e., items that can come + * from the filesystem, from memory buffers, or from standard streams. + */ +class BitItemsVector final { + public: + using value_type = GenericInputItemPtr; + + BitItemsVector() = default; + + BitItemsVector( const BitItemsVector& ) = default; + + BitItemsVector( BitItemsVector&& ) = default; + + BitItemsVector& operator=( const BitItemsVector& ) = default; + + BitItemsVector& operator=( BitItemsVector&& ) = default; + + /** + * @brief Indexes the given directory, adding to the vector all the files that match the wildcard filter. + * + * @param in_dir the directory to be indexed. + * @param filter (optional) the wildcard filter to be used for indexing; + * empty string means "index all files". + * @param options (optional) the settings to be used while indexing the given directory + * and all of its subdirectories. + */ + void indexDirectory( const fs::path& in_dir, const tstring& filter = {}, IndexingOptions options = {} ); + + /** + * @brief Indexes the given vector of filesystem paths, adding to the item vector all the files. + * + * @param in_paths the vector of filesystem paths. + * @param options (optional) the settings to be used while indexing the given directory + * and all of its subdirectories. + */ + void indexPaths( const std::vector< tstring >& in_paths, IndexingOptions options = {} ); + + /** + * @brief Indexes the given map of filesystem paths, adding to the vector all the files. + * + * @note Map keys represent the filesystem paths to be indexed; the corresponding mapped values are + * the user-defined (possibly different) paths wanted inside archives. + * + * @param in_paths map of filesystem paths with the corresponding user-defined path desired inside the + * output archive. + * @param options (optional) the settings to be used while indexing the given directory + * and all of its subdirectories. + */ + void indexPathsMap( const std::map< tstring, tstring >& in_paths, IndexingOptions options = {} ); + + /** + * @brief Indexes the given file path, with an optional user-defined path to be used in output archives. + * + * @note If a directory path is given, a BitException is thrown. + * + * @param in_file the path to the filesystem file to be indexed in the vector. + * @param name (optional) user-defined path to be used inside archives. + */ + void indexFile( const tstring& in_file, const tstring& name = {} ); + + /** + * @brief Indexes the given buffer, using the given name as a path when compressed in archives. + * + * @param in_buffer the buffer containing the file to be indexed in the vector. + * @param name user-defined path to be used inside archives. + */ + void indexBuffer( const std::vector< byte_t >& in_buffer, const tstring& name ); + + /** + * @brief Indexes the given standard input stream, using the given name as a path when compressed in archives. + * + * @param in_stream the standard input stream of the file to be indexed in the vector. + * @param name user-defined path to be used inside archives. + */ + void indexStream( std::istream& in_stream, const tstring& name ); + + /** + * @return the size of the items vector. + */ + BIT7Z_NODISCARD std::size_t size() const; + + /** + * @param index the index of the desired item in the vector. + * @return a constant reference to the GenericInputItem at the given index. + */ + const GenericInputItem& operator[]( GenericInputItemVector::size_type index ) const; + + /** + * @return an iterator to the first element of the vector. If the vector is empty, + * the returned iterator will be equal to the end() iterator. + */ + BIT7Z_NODISCARD GenericInputItemVector::const_iterator begin() const noexcept; + + /** + * @return an iterator to the element following the last element of the vector. + * This element acts as a placeholder; attempting to access it results in undefined behavior. + */ + BIT7Z_NODISCARD GenericInputItemVector::const_iterator end() const noexcept; + + /** + * @return an iterator to the first element of the vector. If the vector is empty, + * the returned iterator will be equal to the end() iterator. + */ + BIT7Z_NODISCARD GenericInputItemVector::const_iterator cbegin() const noexcept; + + /** + * @return an iterator to the element following the last element of the vector. + * This element acts as a placeholder; attempting to access it results in undefined behavior. + */ + BIT7Z_NODISCARD GenericInputItemVector::const_iterator cend() const noexcept; + + ~BitItemsVector(); + + private: + GenericInputItemVector mItems; + + void indexItem( const FSItem& item, IndexingOptions options ); +}; + +} // namespace bit7z + +#endif //BITITEMSVECTOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitmemcompressor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitmemcompressor.hpp new file mode 100755 index 0000000..cc9cf25 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitmemcompressor.hpp @@ -0,0 +1,27 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITMEMCOMPRESSOR_HPP +#define BITMEMCOMPRESSOR_HPP + +#include "bitcompressor.hpp" + +namespace bit7z { + +/** + * @brief The BitMemCompressor alias allows compressing memory buffers. + * The compressed archives can be saved to the filesystem, standard streams, or memory buffers. + * + * It let decide various properties of the produced archive, such as the password + * protection and the compression level desired. + */ +using BitMemCompressor BIT7Z_MAYBE_UNUSED = BitCompressor< const std::vector< byte_t >& >; + +} // namespace bit7z +#endif // BITMEMCOMPRESSOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitmemextractor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitmemextractor.hpp new file mode 100755 index 0000000..1c500f6 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitmemextractor.hpp @@ -0,0 +1,24 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITMEMEXTRACTOR_HPP +#define BITMEMEXTRACTOR_HPP + +#include "bitextractor.hpp" + +namespace bit7z { + +/** + * @brief The BitMemExtractor alias allows extracting the content of in-memory archives. + */ +using BitMemExtractor BIT7Z_MAYBE_UNUSED = BitExtractor< const std::vector< byte_t >& >; + +} // namespace bit7z + +#endif // BITMEMEXTRACTOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitoutputarchive.hpp b/IGCIT Helper/bit7z/include/bit7z/bitoutputarchive.hpp new file mode 100755 index 0000000..16080ec --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitoutputarchive.hpp @@ -0,0 +1,313 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITOUTPUTARCHIVE_HPP +#define BITOUTPUTARCHIVE_HPP + +#include +#include + +#include "bitabstractarchivecreator.hpp" +#include "bititemsvector.hpp" +#include "bitexception.hpp" //for FailedFiles +#include "bitpropvariant.hpp" + +struct ISequentialInStream; + +namespace bit7z { + +using std::istream; + +using DeletedItems = std::set< uint32_t >; + +/* General note: I tried my best to explain how indices work here, but it is a bit complex. */ + +/* We introduce a strong index type to differentiate between indices in the output + * archive (uint32_t, as used by the UpdateCallback), and the corresponding indexes + * in the input archive (input_index). In this way, we avoid implicit conversions + * between the two kinds of indices. + * + * UpdateCallback uses indices in the range [0, BitOutputArchive::itemsCount() - 1] + * + * Now, if the user doesn't delete any item in the input archive, itemsCount() + * is just equal to + . + * In this case, an input_index value is just equal to the index used by UpdateCallback. + * + * On the contrary, if the user wants to delete an item in the input archive, the value + * of an input_index may differ from the corresponding UpdateCallback's index. + * + * Note: given an input_index i: + * if i < mInputArchiveItemsCount, the item is old (old item in the input archive); + * if i >= mInputArchiveItemsCount, the item is new (added by the user); */ +enum class input_index : std::uint32_t {}; + +class UpdateCallback; + +/** + * @brief The BitOutputArchive class, given a creator object, allows creating new archives. + */ +class BitOutputArchive { + public: + /** + * @brief Constructs a BitOutputArchive object for a completely new archive. + * + * @param creator the reference to the BitAbstractArchiveCreator object containing all the settings to + * be used for creating the new archive. + */ + explicit BitOutputArchive( const BitAbstractArchiveCreator& creator ); + + /** + * @brief Constructs a BitOutputArchive object, opening an (optional) input file archive. + * + * If a non-empty input file path is passed, the corresponding archive will be opened and + * used as a base for the creation of the new archive. Otherwise, the class will behave + * as if it is creating a completely new archive. + * + * @param creator the reference to the BitAbstractArchiveCreator object containing all the settings to + * be used for creating the new archive and reading the (optional) input archive. + * @param in_file (optional) the path to an input archive file. + */ + explicit BitOutputArchive( const BitAbstractArchiveCreator& creator, const tstring& in_file ); + + /** + * @brief Constructs a BitOutputArchive object, opening an input file archive from the given buffer. + * + * If a non-empty input buffer is passed, the archive file it contains will be opened and + * used as a base for the creation of the new archive. Otherwise, the class will behave + * as if it is creating a completely new archive. + * + * @param creator the reference to the BitAbstractArchiveCreator object containing all the settings to + * be used for creating the new archive and reading the (optional) input archive. + * @param in_buffer the buffer containing an input archive file. + */ + BitOutputArchive( const BitAbstractArchiveCreator& creator, const std::vector< byte_t >& in_buffer ); + + /** + * @brief Constructs a BitOutputArchive object, reading an input file archive from the given std::istream. + * + * @param creator the reference to the BitAbstractArchiveCreator object containing all the settings to + * be used for creating the new archive and reading the (optional) input archive. + * @param in_stream the standard input stream of the input archive file. + */ + BitOutputArchive( const BitAbstractArchiveCreator& creator, std::istream& in_stream ); + + BitOutputArchive( const BitOutputArchive& ) = delete; + + BitOutputArchive( BitOutputArchive&& ) = delete; + + BitOutputArchive& operator=( const BitOutputArchive& ) = delete; + + BitOutputArchive& operator=( BitOutputArchive&& ) = delete; + + /** + * @brief Adds all the items that can be found by indexing the given vector of filesystem paths. + * + * @param in_paths the vector of filesystem paths. + */ + void addItems( const std::vector< tstring >& in_paths ); + + /** + * @brief Adds all the items that can be found by indexing the keys of the given map of filesystem paths; + * the corresponding mapped values are the user-defined paths wanted inside the output archive. + * + * @param in_paths map of filesystem paths with the corresponding user-defined path desired inside the + * output archive. + */ + void addItems( const std::map< tstring, tstring >& in_paths ); + + /** + * @brief Adds the given file path, with an optional user-defined path to be used in the output archive. + * + * @note If a directory path is given, a BitException is thrown. + * + * @param in_file the path to the filesystem file to be added to the output archive. + * @param name (optional) user-defined path to be used inside the output archive. + */ + void addFile( const tstring& in_file, const tstring& name = {} ); + + /** + * @brief Adds the given buffer file, using the given name as a path when compressed in the output archive. + * + * @param in_buffer the buffer containing the file to be added to the output archive. + * @param name user-defined path to be used inside the output archive. + */ + void addFile( const std::vector< byte_t >& in_buffer, const tstring& name ); + + /** + * @brief Adds the given standard input stream, using the given name as a path when compressed + * in the output archive. + * + * @param in_stream + * @param name + */ + void addFile( std::istream& in_stream, const tstring& name ); + + /** + * @brief Adds all the files in the given vector of filesystem paths. + * + * @note Paths to directories are ignored. + * + * @param in_files the vector of paths to files. + */ + void addFiles( const std::vector< tstring >& in_files ); + + /** + * @brief Adds all the files inside the given directory path that match the given wildcard filter. + * + * @param in_dir the directory where to search for files to be added to the output archive. + * @param filter (optional) the wildcard filter to be used for searching the files. + * @param recursive (optional) recursively search the files in the given directory + * and all of its subdirectories. + */ + void addFiles( const tstring& in_dir, + const tstring& filter = BIT7Z_STRING( "*.*" ), + bool recursive = true ); + + /** + * @brief Adds all the items inside the given directory path. + * + * @param in_dir the directory where to search for items to be added to the output archive. + */ + void addDirectory( const tstring& in_dir ); + + /** + * @brief Compresses all the items added to this object to the specified archive file path. + * + * @note If this object was created by passing an input archive file path, and this latter is the same as + * the out_file path parameter, the file will be updated. + * + * @param out_file the output archive file path. + */ + void compressTo( const tstring& out_file ); + + /** + * @brief Compresses all the items added to this object to the specified buffer. + * + * @param out_buffer the output buffer. + */ + void compressTo( std::vector< byte_t >& out_buffer ); + + /** + * @brief Compresses all the items added to this object to the specified buffer. + * + * @param out_stream the output standard stream. + */ + void compressTo( std::ostream& out_stream ); + + /** + * @return the total number of items added to the output archive object. + */ + uint32_t itemsCount() const; + + /** + * @return a constant reference to the BitAbstractArchiveHandler object containing the + * settings for writing the output archive. + */ + const BitAbstractArchiveHandler& handler() const noexcept; + + /** + * @brief Default destructor. + */ + virtual ~BitOutputArchive() = default; + + protected: + virtual BitPropVariant itemProperty( input_index index, BitProperty prop ) const; + + virtual HRESULT itemStream( input_index index, ISequentialInStream** inStream ) const; + + virtual bool hasNewData( uint32_t index ) const noexcept; + + virtual bool hasNewProperties( uint32_t index ) const noexcept; + + input_index itemInputIndex( uint32_t new_index ) const noexcept; + + BitPropVariant outputItemProperty( uint32_t index, BitProperty propID ) const; + + HRESULT outputItemStream( uint32_t index, ISequentialInStream** inStream ) const; + + uint32_t indexInArchive( uint32_t index ) const noexcept; + + inline BitInputArchive* inputArchive() const { + return mInputArchive.get(); + } + + inline void setInputArchive( std::unique_ptr< BitInputArchive >&& input_archive ) { + mInputArchive = std::move( input_archive ); + } + + inline uint32_t inputArchiveItemsCount() const { + return mInputArchiveItemsCount; + } + + inline void setDeletedIndex( uint32_t index ) { + mDeletedItems.insert( index ); + } + + inline bool isDeletedIndex( uint32_t index ) const { + return mDeletedItems.find( index ) != mDeletedItems.cend(); + } + + inline bool hasDeletedIndexes() const { + return !mDeletedItems.empty(); + } + + inline bool hasNewItems() const { + return mNewItemsVector.size() > 0; + } + + friend class UpdateCallback; + + private: + const BitAbstractArchiveCreator& mArchiveCreator; + + unique_ptr< BitInputArchive > mInputArchive; + uint32_t mInputArchiveItemsCount; + + BitItemsVector mNewItemsVector; + DeletedItems mDeletedItems; + + mutable FailedFiles mFailedFiles; + + /* mInputIndices: + * Position i = index in range [0, itemsCount() - 1] used by UpdateCallback. + * Value at pos. i = corresponding index in the input archive (type input_index). + * + * If there are some deleted items, then i != mInputIndices[i] + * (at least for values of i greater than the index of the first deleted item). + * + * Otherwise, if there are no deleted items, mInputIndices is empty, and itemInputIndex(i) + * will return input_index with value i. + * + * This vector is either empty, or it has size equal to itemsCount() (thanks to updateInputIndices()). */ + std::vector< input_index > mInputIndices; + + CMyComPtr< IOutArchive > initOutArchive() const; + + CMyComPtr< IOutStream > initOutFileStream( const fs::path& out_archive, bool updating_archive ) const; + +#if defined( _WIN32 ) && defined( BIT7Z_AUTO_PREFIX_LONG_PATHS ) + BitOutputArchive( const BitAbstractArchiveCreator& creator, fs::path in_arc ); +#else + BitOutputArchive( const BitAbstractArchiveCreator& creator, const fs::path& in_arc ); +#endif + + void compressToFile( const fs::path& out_file, UpdateCallback* update_callback ); + + void compressOut( IOutArchive* out_arc, + IOutStream* out_stream, + UpdateCallback* update_callback ); + + void setArchiveProperties( IOutArchive* out_archive ) const; + + void updateInputIndices(); +}; + +} // namespace bit7z + +#endif //BITOUTPUTARCHIVE_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitpropvariant.hpp b/IGCIT Helper/bit7z/include/bit7z/bitpropvariant.hpp new file mode 100755 index 0000000..2aabd35 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitpropvariant.hpp @@ -0,0 +1,455 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITPROPVARIANT_HPP +#define BITPROPVARIANT_HPP + +#include +#include + +#include "bitdefines.hpp" +#include "bittypes.hpp" +#include "bitwindows.hpp" + +namespace bit7z { + +/** + * @brief A type representing a time point measured using the system clock. + */ +using time_type = std::chrono::time_point< std::chrono::system_clock >; + +/** + * @brief The BitProperty enum represents the archive/item properties that 7-zip can read or write. + */ +enum struct BitProperty : PROPID { + NoProperty = 0, ///< + MainSubfile, ///< + HandlerItemIndex, ///< + Path, ///< + Name, ///< + Extension, ///< + IsDir, ///< + Size, ///< + PackSize, ///< + Attrib, ///< + CTime, ///< + ATime, ///< + MTime, ///< + Solid, ///< + Commented, ///< + Encrypted, ///< + SplitBefore, ///< + SplitAfter, ///< + DictionarySize, ///< + CRC, ///< + Type, ///< + IsAnti, ///< + Method, ///< + HostOS, ///< + FileSystem, ///< + User, ///< + Group, ///< + Block, ///< + Comment, ///< + Position, ///< + Prefix, ///< + NumSubDirs, ///< + NumSubFiles, ///< + UnpackVer, ///< + Volume, ///< + IsVolume, ///< + Offset, ///< + Links, ///< + NumBlocks, ///< + NumVolumes, ///< + TimeType, ///< + Bit64, ///< + BigEndian, ///< + Cpu, ///< + PhySize, ///< + HeadersSize, ///< + Checksum, ///< + Characts, ///< + Va, ///< + Id, ///< + ShortName, ///< + CreatorApp, ///< + SectorSize, ///< + PosixAttrib, ///< + SymLink, ///< + Error, ///< + TotalSize, ///< + FreeSpace, ///< + ClusterSize, ///< + VolumeName, ///< + LocalName, ///< + Provider, ///< + NtSecure, ///< + IsAltStream, ///< + IsAux, ///< + IsDeleted, ///< + IsTree, ///< + Sha1, ///< + Sha256, ///< + ErrorType, ///< + NumErrors, ///< + ErrorFlags, ///< + WarningFlags, ///< + Warning, ///< + NumStreams, ///< + NumAltStreams, ///< + AltStreamsSize, ///< + VirtualSize, ///< + UnpackSize, ///< + TotalPhySize, ///< + VolumeIndex, ///< + SubType, ///< + ShortComment, ///< + CodePage, ///< + IsNotArcType, ///< + PhySizeCantBeDetected, ///< + ZerosTailIsAllowed, ///< + TailSize, ///< + EmbeddedStubSize, ///< + NtReparse, ///< + HardLink, ///< + INode, ///< + StreamId, ///< + ReadOnly, ///< + OutName, ///< + CopyLink ///< +}; + +/** + * @brief The BitPropVariantType enum represents the possible types that a BitPropVariant can store. + */ +enum struct BitPropVariantType : uint32_t { + Empty, ///< Empty BitPropVariant type + Bool, ///< Boolean BitPropVariant type + String, ///< String BitPropVariant type + UInt8, ///< 8-bit unsigned int BitPropVariant type + UInt16, ///< 16-bit unsigned int BitPropVariant type + UInt32, ///< 32-bit unsigned int BitPropVariant type + UInt64, ///< 64-bit unsigned int BitPropVariant type + Int8, ///< 8-bit signed int BitPropVariant type + Int16, ///< 16-bit signed int BitPropVariant type + Int32, ///< 32-bit signed int BitPropVariant type + Int64, ///< 64-bit signed int BitPropVariant type + FileTime ///< FILETIME BitPropVariant type +}; + +/** + * @brief The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful getters. + */ +struct BitPropVariant final : public PROPVARIANT { + /** + * @brief Constructs an empty BitPropVariant object. + */ + BitPropVariant(); + + /** + * @brief Copy constructs this BitPropVariant from another one. + * + * @param other the variant to be copied. + */ + BitPropVariant( const BitPropVariant& other ); + + /** + * @brief Move constructs this BitPropVariant from another one. + * + * @param other the variant to be moved. + */ + BitPropVariant( BitPropVariant&& other ) noexcept; + + /** + * @brief Constructs a boolean BitPropVariant + * + * @param value the bool value of the BitPropVariant + */ + explicit BitPropVariant( bool value ) noexcept; + + /** + * @brief Constructs a string BitPropVariant from a null-terminated C wide string + * + * @param value the null-terminated C wide string value of the BitPropVariant + */ + explicit BitPropVariant( const wchar_t* value ); + + /** + * @brief Constructs a string BitPropVariant from a wstring + * + * @param value the wstring value of the BitPropVariant + */ + explicit BitPropVariant( const std::wstring& value ); + + /** + * @brief Constructs an 8-bit unsigned integer BitPropVariant + * + * @param value the uint8_t value of the BitPropVariant + */ + explicit BitPropVariant( uint8_t value ) noexcept; + + /** + * @brief Constructs a 16-bit unsigned integer BitPropVariant + * + * @param value the uint16_t value of the BitPropVariant + */ + explicit BitPropVariant( uint16_t value ) noexcept; + + /** + * @brief Constructs a 32-bit unsigned integer BitPropVariant + * + * @param value the uint32_t value of the BitPropVariant + */ + explicit BitPropVariant( uint32_t value ) noexcept; + + /** + * @brief Constructs a 64-bit unsigned integer BitPropVariant + * + * @param value the uint64_t value of the BitPropVariant + */ + explicit BitPropVariant( uint64_t value ) noexcept; + + /** + * @brief Constructs an 8-bit integer BitPropVariant + * + * @param value the int8_t value of the BitPropVariant + */ + explicit BitPropVariant( int8_t value ) noexcept; + + /** + * @brief Constructs a 16-bit integer BitPropVariant + * + * @param value the int16_t value of the BitPropVariant + */ + explicit BitPropVariant( int16_t value ) noexcept; + + /** + * @brief Constructs a 32-bit integer BitPropVariant + * + * @param value the int32_t value of the BitPropVariant + */ + explicit BitPropVariant( int32_t value ) noexcept; + + /** + * @brief Constructs a 64-bit integer BitPropVariant + * + * @param value the int64_t value of the BitPropVariant + */ + explicit BitPropVariant( int64_t value ) noexcept; + + /** + * @brief Constructs a FILETIME BitPropVariant + * + * @param value the FILETIME value of the BitPropVariant + */ + explicit BitPropVariant( const FILETIME& value ) noexcept; + + /** + * @brief BitPropVariant destructor. + * + * @note This is not virtual to maintain the same memory layout of the base struct! + */ + ~BitPropVariant(); + + /** + * @brief Copy assignment operator. + * + * @param other the variant to be copied. + * + * @return a reference to *this object (with the copied values from other). + */ + BitPropVariant& operator=( const BitPropVariant& other ); + + /** + * @brief Move assignment operator. + * + * @param other the variant to be moved. + * + * @return a reference to *this object (with the moved values from other). + */ + BitPropVariant& operator=( BitPropVariant&& other ) noexcept; + + /** + * @brief Assignment operator + * + * @note this will work only for T types for which a BitPropVariant constructor is defined! + * + * @param value the value to be assigned to the object + * + * @return a reference to *this object having the value as new variant value + */ + template< typename T > + BitPropVariant& operator=( const T& value ) noexcept( std::is_integral< T >::value ) { + *this = BitPropVariant( value ); + return *this; + } + + /** + * @return the boolean value of this variant + * (it throws an exception if the variant is not a boolean value). + */ + BIT7Z_NODISCARD bool getBool() const; + + /** + * @return the string value of this variant + * (it throws an exception if the variant is not a string). + */ + BIT7Z_NODISCARD tstring getString() const; + + /** + * @return the 8-bit unsigned integer value of this variant + * (it throws an exception if the variant is not an 8-bit unsigned integer). + */ + BIT7Z_NODISCARD uint8_t getUInt8() const; + + /** + * @return the 16-bit unsigned integer value of this variant + * (it throws an exception if the variant is not an 8 or 16-bit unsigned integer). + */ + BIT7Z_NODISCARD uint16_t getUInt16() const; + + /** + * @return the 32-bit unsigned integer value of this variant + * (it throws an exception if the variant is not an 8, 16 or 32-bit unsigned integer). + */ + BIT7Z_NODISCARD uint32_t getUInt32() const; + + /** + * @return the 64-bit unsigned integer value of this variant + * (it throws an exception if the variant is not an 8, 16, 32 or 64-bit unsigned integer). + */ + BIT7Z_NODISCARD uint64_t getUInt64() const; + + /** + * @return the 8-bit integer value of this variant + * (it throws an exception if the variant is not an 8-bit integer). + */ + BIT7Z_NODISCARD int8_t getInt8() const; + + /** + * @return the 16-bit integer value of this variant + * (it throws an exception if the variant is not an 8 or 16-bit integer). + */ + BIT7Z_NODISCARD int16_t getInt16() const; + + /** + * @return the 32-bit integer value of this variant + * (it throws an exception if the variant is not an 8, 16 or 32-bit integer). + */ + BIT7Z_NODISCARD int32_t getInt32() const; + + /** + * @return the 64-bit integer value of this variant + * (it throws an exception if the variant is not an 8, 16, 32 or 64-bit integer). + */ + BIT7Z_NODISCARD int64_t getInt64() const; + + /** + * @return the FILETIME value of this variant + * (it throws an exception if the variant is not a filetime). + */ + BIT7Z_NODISCARD FILETIME getFileTime() const; + + /** + * @return the FILETIME value of this variant converted to std::time_point + * (it throws an exception if the variant is not a filetime). + */ + BIT7Z_NODISCARD time_type getTimePoint() const; + + /** + * @return the value of this variant converted from any supported type to std::wstring. + */ + BIT7Z_NODISCARD tstring toString() const; + + /** + * @return a boolean value indicating whether the variant is empty. + */ + BIT7Z_NODISCARD bool isEmpty() const noexcept; + + /** + * @return a boolean value indicating whether the variant is a boolean value. + */ + BIT7Z_NODISCARD bool isBool() const noexcept; + + /** + * @return a boolean value indicating whether the variant is a string. + */ + BIT7Z_NODISCARD bool isString() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8-bit unsigned integer. + */ + BIT7Z_NODISCARD bool isUInt8() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8 or 16-bit unsigned integer. + */ + BIT7Z_NODISCARD bool isUInt16() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8, 16 or 32-bit unsigned integer. + */ + BIT7Z_NODISCARD bool isUInt32() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8, 16, 32 or 64-bit unsigned integer. + */ + BIT7Z_NODISCARD bool isUInt64() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8-bit integer. + */ + BIT7Z_NODISCARD bool isInt8() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8 or 16-bit integer. + */ + BIT7Z_NODISCARD bool isInt16() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8, 16 or 32-bit integer. + */ + BIT7Z_NODISCARD bool isInt32() const noexcept; + + /** + * @return a boolean value indicating whether the variant is an 8, 16, 32 or 64-bit integer. + */ + BIT7Z_NODISCARD bool isInt64() const noexcept; + + /** + * @return a boolean value indicating whether the variant is a FILETIME structure. + */ + BIT7Z_NODISCARD bool isFileTime() const noexcept; + + /** + * @return the BitPropVariantType of this variant. + */ + BIT7Z_NODISCARD BitPropVariantType type() const; + + /** + * @brief Clears the current value of the variant object + */ + void clear() noexcept; + + private: + void internalClear() noexcept; + + friend bool operator==( const BitPropVariant& lhs, const BitPropVariant& rhs ) noexcept; + + friend bool operator!=( const BitPropVariant& lhs, const BitPropVariant& rhs ) noexcept; +}; + +bool operator==( const BitPropVariant& lhs, const BitPropVariant& rhs ) noexcept; + +bool operator!=( const BitPropVariant& lhs, const BitPropVariant& rhs ) noexcept; + +} // namespace bit7z + +#endif // BITPROPVARIANT_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitstreamcompressor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitstreamcompressor.hpp new file mode 100755 index 0000000..9386caa --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitstreamcompressor.hpp @@ -0,0 +1,28 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITSTREAMCOMPRESSOR_HPP +#define BITSTREAMCOMPRESSOR_HPP + +#include "bitcompressor.hpp" + +namespace bit7z { + +/** + * @brief The BitStreamCompressor alias allows compressing data from standard input streams. + * The compressed archives can be saved to the filesystem, standard streams, or memory buffers. + * + * It let decide various properties of the produced archive, such as the password + * protection and the compression level desired. + */ +using BitStreamCompressor BIT7Z_MAYBE_UNUSED = BitCompressor< std::istream& >; + +} // namespace bit7z + +#endif // BITSTREAMCOMPRESSOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitstreamextractor.hpp b/IGCIT Helper/bit7z/include/bit7z/bitstreamextractor.hpp new file mode 100755 index 0000000..b2adace --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitstreamextractor.hpp @@ -0,0 +1,24 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITSTREAMEXTRACTOR_HPP +#define BITSTREAMEXTRACTOR_HPP + +#include "bitextractor.hpp" + +namespace bit7z { + +/** + * @brief The BitStreamExtractor alias allows extracting the content of in-memory archives. + */ +using BitStreamExtractor BIT7Z_MAYBE_UNUSED = BitExtractor< std::istream& >; + +} // namespace bit7z + +#endif // BITSTREAMEXTRACTOR_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bittypes.hpp b/IGCIT Helper/bit7z/include/bit7z/bittypes.hpp new file mode 100755 index 0000000..aae4ab3 --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bittypes.hpp @@ -0,0 +1,91 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITTYPES_HPP +#define BITTYPES_HPP + +#include +#include + +#ifdef BIT7Z_REGEX_MATCHING +#include +#endif + +namespace bit7z { + +/** + * @brief A type representing a byte. + */ +#ifdef BIT7Z_USE_STD_BYTE +#if __cpp_lib_byte +using byte_t = std::byte; +#else +enum class byte_t : unsigned char {}; //same as std::byte_t +#endif +#else +using byte_t = unsigned char; +#endif + +/** @cond */ +using buffer_t = std::vector< byte_t >; +using index_t = std::ptrdiff_t; //like gsl::index (https://github.com/microsoft/GSL) + +template< class Char > +struct string_traits; + +template<> +struct string_traits< char > { + template< class T > + static inline std::string convert_to_string( T&& t ) { + return std::to_string( std::forward< T >( t ) ); + } +}; + +template<> +struct string_traits< wchar_t > { + template< class T > + static inline std::wstring convert_to_string( T&& t ) { + return std::to_wstring( std::forward< T >( t ) ); + } +}; +/** @endcond */ + +/** + * @note On Windows, if the `BIT7Z_USE_NATIVE_STRING` option is enabled, `tchar` is an alias of `wchar_t`. + */ +#if defined( BIT7Z_USE_NATIVE_STRING ) && defined( _WIN32 ) // Windows with native strings +using tchar = wchar_t; +#define BIT7Z_STRING( str ) L##str +#else // Unix, and Windows with non-native strings +using tchar = char; +#define BIT7Z_STRING( str ) str +#endif + +/** + * @note On Windows, if the `BIT7Z_USE_NATIVE_STRING` option is enabled, `tstring` is equivalent to a std::wstring. + * Otherwise, it is equivalent to a std::string (default alias). + */ +using tstring = std::basic_string< tchar >; + +#ifdef BIT7Z_REGEX_MATCHING +/** + * @note On Windows, if the `BIT7Z_USE_NATIVE_STRING` option is enabled, `tregex` is equivalent to a std::wregex. + * Otherwise, it is equivalent to a std::regex (default alias). + */ +using tregex = std::basic_regex< tchar >; +#endif + +template< typename T > +inline std::basic_string< tchar > to_tstring( T&& arg ) { + return string_traits< tchar >::convert_to_string( std::forward< T >( arg ) ); +} + +} // namespace bit7z + +#endif // BITTYPES_HPP diff --git a/IGCIT Helper/bit7z/include/bit7z/bitwindows.hpp b/IGCIT Helper/bit7z/include/bit7z/bitwindows.hpp new file mode 100755 index 0000000..c00326b --- /dev/null +++ b/IGCIT Helper/bit7z/include/bit7z/bitwindows.hpp @@ -0,0 +1,142 @@ +/* + * bit7z - A C++ static library to interface with the 7-zip shared libraries. + * Copyright (c) 2014-2022 Riccardo Ostani - All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#ifndef BITWINDOWS_HPP +#define BITWINDOWS_HPP + +#ifdef _WIN32 +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif + +#ifndef NOMINMAX +#define NOMINMAX +#endif +#include +#include +#else +/* We don't have the "Windows.h" header on Unix systems, so in theory, we could use the "MyWindows.h" of p7zip/7-zip. + * However, some of bit7z's public API headers need some Win32 API structs like PROPVARIANT and GUID. + * Hence, it would result in the leak of p7zip/7-zip headers, making bit7z's clients dependent on them. + * Also, (publicly) forward declaring them and then (internally) using the "MyWindows.h" is impossible: + * the two different declarations would conflict, making the compilation fail. + * + * To avoid all these issues, we define the required Win32 API structs, constants, and type aliases, + * with the same definitions in the MyWindows.h header. + * We will use only this header and avoid including "MyWindows.h" or similar headers (e.g., StdAfx.h). */ +#include +#include + +// Avoiding accidentally including p7zip's MyWindows.h, so that its inclusion is not needed in client code! +#ifndef __MYWINDOWS_H +#define __MYWINDOWS_H +#endif + +// Avoiding accidentally including 7-zip's MyWindows.h, so that its inclusion is not needed in client code! +#ifndef __MY_WINDOWS_H +#define __MY_WINDOWS_H +#endif + +using std::size_t; + +#define WINAPI + +namespace bit7z { + +// Win32 type aliases +using HMODULE = void*; +using HRESULT = int; +using OLECHAR = wchar_t; +using BSTR = OLECHAR*; +using VARIANT_BOOL = short; +using VARTYPE = unsigned short; + +using WORD = unsigned short; +using DWORD = unsigned int; + +using ULONG = unsigned int; +using PROPID = ULONG; + +// Error codes constants can be useful for bit7z's clients on Unix (since they don't have the Windows.h header). + +#ifndef S_OK // Silencing cppcheck warning on E_NOTIMPL, probably a bug of cppcheck. +// Win32 HRESULT error codes. +constexpr auto S_OK = static_cast< HRESULT >( 0x00000000L ); +constexpr auto S_FALSE = static_cast< HRESULT >( 0x00000001L ); +constexpr auto E_NOTIMPL = static_cast< HRESULT >( 0x80004001L ); +constexpr auto E_NOINTERFACE = static_cast< HRESULT >( 0x80004002L ); +constexpr auto E_ABORT = static_cast< HRESULT >( 0x80004004L ); +constexpr auto E_FAIL = static_cast< HRESULT >( 0x80004005L ); +constexpr auto STG_E_INVALIDFUNCTION = static_cast< HRESULT >( 0x80030001L ); +constexpr auto E_OUTOFMEMORY = static_cast< HRESULT >( 0x8007000EL ); +constexpr auto E_INVALIDARG = static_cast< HRESULT >( 0x80070057L ); +#endif + +#ifndef ERROR_ALREADY_EXISTS +// Win32 error codes (defined by both p7zip and 7-zip as equivalent to POSIX error codes). +constexpr auto ERROR_ALREADY_EXISTS = EEXIST; +constexpr auto ERROR_DISK_FULL = ENOSPC; +constexpr auto ERROR_FILE_EXISTS = EEXIST; +constexpr auto ERROR_FILE_NOT_FOUND = ENOENT; +constexpr auto ERROR_INVALID_PARAMETER = EINVAL; +constexpr auto ERROR_INVALID_FUNCTION = EINVAL; +constexpr auto ERROR_INVALID_HANDLE = EBADF; +constexpr auto ERROR_OPEN_FAILED = EIO; +constexpr auto ERROR_PATH_NOT_FOUND = ENOENT; +constexpr auto ERROR_SEEK = EIO; +constexpr auto ERROR_READ_FAULT = EIO; +constexpr auto ERROR_WRITE_FAULT = EIO; + +// Win32 error codes (defined by p7zip with the same values as in Windows API). +constexpr auto ERROR_NO_MORE_FILES = 0x100018; +constexpr auto ERROR_DIRECTORY = 267; +#endif + +// Win32 structs. +struct FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +}; + +struct LARGE_INTEGER { + int64_t QuadPart; +}; + +struct ULARGE_INTEGER { + uint64_t QuadPart; +}; + +struct PROPVARIANT { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + union { + char cVal; + unsigned char bVal; + short iVal; + unsigned short uiVal; + int lVal; + unsigned int ulVal; + int intVal; + unsigned int uintVal; + LARGE_INTEGER hVal; + ULARGE_INTEGER uhVal; + VARIANT_BOOL boolVal; + int scode; + FILETIME filetime; + BSTR bstrVal; + }; +}; + +} // namespace bit7z + +#endif + +#endif //BITWINDOWS_HPP diff --git a/IGCIT Helper/IGCIT-logo.ico b/IGCIT Helper/icon1.ico similarity index 100% rename from IGCIT Helper/IGCIT-logo.ico rename to IGCIT Helper/icon1.ico diff --git a/IGCIT Helper/igcithelper-resource.qrc b/IGCIT Helper/igcithelper-resource.qrc new file mode 100755 index 0000000..8304cdb --- /dev/null +++ b/IGCIT Helper/igcithelper-resource.qrc @@ -0,0 +1,5 @@ + + + resources/IGCIT-logo.ico + + diff --git a/IGCIT Helper/main.cpp b/IGCIT Helper/main.cpp new file mode 100755 index 0000000..aff48df --- /dev/null +++ b/IGCIT Helper/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/IGCIT Helper/mainwindow.cpp b/IGCIT Helper/mainwindow.cpp new file mode 100755 index 0000000..daaecaa --- /dev/null +++ b/IGCIT Helper/mainwindow.cpp @@ -0,0 +1,793 @@ +#include "mainwindow.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define SECURITY_WIN32 +#include +#pragma comment(lib, "Secur32.lib") + +#include "./ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) { + ui->setupUi(this); + ui->tabWidget->setCurrentIndex(0); + + QObject::connect(ui->tabWidget, &QTabWidget::currentChanged, this, &MainWindow::onTabWidgetTabChange); + QObject::connect(ui->applyTdrBtn, &QPushButton::clicked, this, &MainWindow::onApplyTdrBtnClicked); + QObject::connect(ui->restoreTdrBtn, &QPushButton::clicked, this, &MainWindow::onRestoreTdrBtnClicked); + QObject::connect(ui->dumpsEnableBtn, &QPushButton::clicked, this, &MainWindow::onDumpsEnableBtnClicked); + QObject::connect(ui->dumpsFixWchdBtn, &QPushButton::clicked, this, &MainWindow::onDumpsFixWatchdogDumpsClicked); + QObject::connect(ui->dumpsRestoreBtn, &QPushButton::clicked, this, &MainWindow::onDumpsRestoreDefaultsClicked); + QObject::connect(ui->dumpsExtrBtn, &QPushButton::clicked, this, &MainWindow::onDumpsExtractDumpsClicked); + QObject::connect(ui->dumpsAbortCompressBtn, &QPushButton::clicked, this, &MainWindow::onDumpsCancelExtractBtnClicked); + QObject::connect(ui->dumpsClearBtn, &QPushButton::clicked, this, &MainWindow::onDumpsClearBtnClicked); + QObject::connect(ui->ssuAnonBtn, &QPushButton::clicked, this, &MainWindow::onSsuAnonBtnClicked); + + setWindowsBuildLbl(); + setProcessorLbl(); + setMemoryLbl(); + setInfoFromBios(); + setGpusInfo(); +} + +MainWindow::~MainWindow() { + delete ui; +} + +void MainWindow::setWindowsBuildLbl() const { + ui->winbuildLbl->setText(QString("%1 (build %2)").arg(QSysInfo::prettyProductName(), QSysInfo::kernelVersion())); +} + +void MainWindow::setProcessorLbl() const { + char procNameBuf[255] = {0}; + DWORD procNameBufLen = 255; + LSTATUS ret; + HKEY regKey; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(HARDWARE\DESCRIPTION\System\CentralProcessor\0)", 0, KEY_READ, ®Key); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open processor registry key: %1").arg(ret)); + return; + } + + ret = RegGetValueA(regKey, nullptr, "ProcessorNameString", RRF_RT_REG_SZ, nullptr, &procNameBuf, &procNameBufLen); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to get processor key value: %1").arg(ret)); + RegCloseKey(regKey); + return; + } + + ui->procNameLbl->setText(procNameBuf); + RegCloseKey(regKey); +} + +void MainWindow::setMemoryLbl() const { + MEMORYSTATUSEX memStat {}; + + memStat.dwLength = sizeof(memStat); + + if (GlobalMemoryStatusEx(&memStat) == 0) { + writeLog(QString("Failed to query memory status: %1").arg(GetLastError())); + return; + } + + ui->memoryLbl->setText(getFormattedMemorySize(memStat.ullTotalPhys)); +} + +void MainWindow::setInfoFromBios() const { + char sysManufBuf[255] = {0}; + char sysModelBuf[255] = {0}; + DWORD sysManufBufLen = 255; + DWORD sysModelBufLen = 255; + LSTATUS ret; + HKEY regKey; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(HARDWARE\DESCRIPTION\System\BIOS)", 0, KEY_READ, ®Key); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open bios registry key: %1").arg(ret)); + return; + } + + ret = RegGetValueA(regKey, nullptr, "SystemManufacturer", RRF_RT_REG_SZ, nullptr, &sysManufBuf, &sysManufBufLen); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to get manufacturer key value: %1").arg(ret)); + RegCloseKey(regKey); + return; + } + + ret = RegGetValueA(regKey, nullptr, "SystemProductName", RRF_RT_REG_SZ, nullptr, &sysModelBuf, &sysModelBufLen); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to get model key value: %1").arg(ret)); + RegCloseKey(regKey); + return; + } + + ui->modelLbl->setText(sysModelBuf); + ui->manufLbl->setText(sysManufBuf); + RegCloseKey(regKey); +} + +void MainWindow::setGpusInfo() const { + QList> gpusInfo; + QSet gpusSet; + DWORD maxValueNameinKeyLen; + DWORD maxValueDataInKeyLen; + LPBYTE valueDataBuf; + LPSTR valueNameBuf; + DWORD valuesCount; + LSTATUS ret; + int rowIdx; + HKEY rkey; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(HARDWARE\DEVICEMAP\VIDEO)", 0, KEY_READ, &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open devmap/video key: %1").arg(ret)); + return; + } + + ret = RegQueryInfoKeyA(rkey, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &valuesCount, &maxValueNameinKeyLen, &maxValueDataInKeyLen, nullptr, nullptr); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to query devmap/video: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + // add space for terminators + ++maxValueNameinKeyLen; + ++maxValueDataInKeyLen; + + valueDataBuf = new byte[maxValueDataInKeyLen]; + valueNameBuf = new char[maxValueNameinKeyLen]; + + for (DWORD i=0; i gpuInfo; + std::string valueStr; + HKEY videoKey; + + std::memset(valueNameBuf, 0, maxValueNameinKeyLen * sizeof(char)); + std::memset(valueDataBuf, 0, maxValueDataInKeyLen * sizeof(byte)); + + ret = RegEnumValueA(rkey, i, valueNameBuf, &valueNameWrittenLen, nullptr, nullptr, valueDataBuf, &valueDataWrittenLen); + if (ret != ERROR_SUCCESS || std::strstr(valueNameBuf, "Video") == nullptr) + continue; + + valueStr.assign(LPCSTR(valueDataBuf)); + valueStr.erase(0, strlen(R"(\Registry\Machine\)")); // should be the same for all, so no parse but remove + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, valueStr.c_str(), 0, KEY_READ, &videoKey); + if (ret != ERROR_SUCCESS) + continue; + + ret = RegGetValueA(videoKey, nullptr, "DriverDesc", RRF_RT_REG_SZ, nullptr, &tmpBuf, &tmpBufLen); + if (ret != ERROR_SUCCESS || std::strstr(tmpBuf, "Intel") == nullptr || gpusSet.contains(tmpBuf)) { + RegCloseKey(videoKey); + continue; + } + + gpuInfo.first = tmpBuf; + + gpusSet.insert(tmpBuf); + std::memset(tmpBuf, 0, sizeof(tmpBuf)); + tmpBufLen = 255; + + ret = RegGetValueA(videoKey, nullptr, "DriverVersion", RRF_RT_REG_SZ, nullptr, &tmpBuf, &tmpBufLen); + if (ret != ERROR_SUCCESS) { + RegCloseKey(videoKey); + continue; + } + + gpuInfo.second = tmpBuf; + + gpusInfo.append(gpuInfo); + RegCloseKey(videoKey); + } + + RegCloseKey(rkey); + delete[] valueDataBuf; + delete[] valueNameBuf; + + rowIdx = 0; + for (const QPair &info: gpusInfo) + addGpuInfoRow(rowIdx++, info.first, info.second); +} + +void MainWindow::updateToolsTab() const { + DWORD tdrDdiDelaySz = sizeof(DWORD); + DWORD tdrDelaySz = sizeof(DWORD); + DWORD tdrDelay, tdrDdiDelay; + LSTATUS ret; + HKEY rkey; + + // defaults if no key is present or errors + ui->tdrdVal->setValue(2); + ui->tdrddiVal->setValue(5); + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\GraphicsDrivers)", 0, KEY_READ, &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open graphicsdrivers key: %1").arg(ret)); + return; + } + + ret = RegGetValueA(rkey, nullptr, "TdrDelay", RRF_RT_DWORD, nullptr, &tdrDelay, &tdrDelaySz); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to get tdrDelay: %1").arg(ret)); + RegCloseKey(rkey); + return; + + } else if (ret == ERROR_SUCCESS) { + ui->tdrdVal->setValue(static_cast(tdrDelay)); + } + + ret = RegGetValueA(rkey, nullptr, "TdrDdiDelay", RRF_RT_DWORD, nullptr, &tdrDdiDelay, &tdrDdiDelaySz); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to get tdrDdiDelay: %1").arg(ret)); + RegCloseKey(rkey); + return; + + } else if (ret == ERROR_SUCCESS) { + ui->tdrddiVal->setValue(static_cast(tdrDdiDelay)); + } + + RegCloseKey(rkey); +} + +void MainWindow::writeLog(const QString &msg) const { + if (ui->tabWidget->currentIndex() != Tabs::Logs) + ui->tabWidget->setTabText(Tabs::Logs, "Logs*"); + + ui->logTxBox->appendPlainText(msg); +} + +QString MainWindow::getFormattedMemorySize(DWORDLONG bytes) const { + char sizeStr[][8] = {"bytes", "KB", "MB", "GB"}; + double sz = static_cast(bytes); + int sizeIdx = 0; + + while (static_cast(sz / 1024.f) > 0) { + sz /= 1024.f; + ++sizeIdx; + + if (sizeIdx >= 4) + return "Unknown"; + } + + return QString("%1 %2").arg(QString::number(sz, 'g', 3), sizeStr[sizeIdx]); +} + +void MainWindow::addGpuInfoRow(int gpuIdx, const QString &name, const QString &driver) const { + int layoutChildrenCount = ui->verticalLayout_4->count(); + QHBoxLayout *driverHlyt = new QHBoxLayout(); + QHBoxLayout *nameHlyt = new QHBoxLayout(); + QLabel *driverStrLbl = new QLabel(driver); + QLabel *nameStrLbl = new QLabel(name); + + nameStrLbl->setAlignment(Qt::AlignRight); + nameStrLbl->setTextInteractionFlags(Qt::TextSelectableByMouse); + + driverStrLbl->setAlignment(Qt::AlignRight); + driverStrLbl->setTextInteractionFlags(Qt::TextSelectableByMouse); + + nameHlyt->addWidget(new QLabel(QString("GPU%1:").arg(gpuIdx))); + nameHlyt->addWidget(nameStrLbl); + + driverHlyt->addWidget(new QLabel(QString("GPU%1 Driver:").arg(gpuIdx))); + driverHlyt->addWidget(driverStrLbl); + + ui->verticalLayout_4->insertLayout(layoutChildrenCount - 1, nameHlyt); + ui->verticalLayout_4->insertLayout(layoutChildrenCount, driverHlyt); +} + +void MainWindow::tryReboot() const { + QMessageBox::StandardButton ret = QMessageBox::question(ui->tabWidget, "Reboot required", "A reboot is required to apply the changes.\nDo you want to reboot now?"); + TOKEN_PRIVILEGES tkp; + HANDLE hToken; + DWORD dret; + BOOL res; + + if (ret == QMessageBox::No) + return; + + if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { + writeLog("Failed to get process token, unable to reboot"); + return; + } + + LookupPrivilegeValue(nullptr, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); + + tkp.PrivilegeCount = 1; + tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + + AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, nullptr, nullptr); + + dret = GetLastError(); + if (dret != ERROR_SUCCESS) { + writeLog(QString("Failed to set privileges, unable to reboot: %1").arg(dret)); + return; + } + + res = ExitWindowsEx(EWX_REBOOT | EWX_FORCEIFHUNG, SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG | SHTDN_REASON_FLAG_PLANNED); + if (res == FALSE) + writeLog(QString("Failed to start reboot: %1").arg(ret)); +} + +int MainWindow::isAdmin() const { + SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; + PSID AdministratorsGroup; + BOOL isAdm, ret; + + ret = AllocateAndInitializeSid(&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup); + if (ret == FALSE) { + writeLog("Failed to alloc and init sid"); + return -1; + } + + ret = CheckTokenMembership(nullptr, AdministratorsGroup, &isAdm); + if (ret == FALSE) { + writeLog("Failed to check token membership"); + FreeSid(AdministratorsGroup); + return -1; + } + + FreeSid(AdministratorsGroup); + return isAdm; +} + +bool MainWindow::canPerformAdminOP() const { + int ret = isAdmin(); + + if (ret < 0) { + writeLog("Failed to check Admin rights, cancelled"); + return false; + + } else if (ret == 0) { + tryRunAsAdmin(); + return false; + } + + return true; +} + +void MainWindow::tryRunAsAdmin() const { + QMessageBox::StandardButton bret {QMessageBox::question(this->window(), "Run as Admin", "This operation requires Admin rights, do you want to restart IGCIT Helper in Admin mode?")}; + SHELLEXECUTEINFO ShExecInfo {}; + WCHAR exePath[MAX_PATH] = {0}; + DWORD ret; + + if (bret == QMessageBox::No) + return; + + ret = GetModuleFileNameW(nullptr, exePath, sizeof(exePath)); + if (ret == 0) { + writeLog("Failed to get IGCIT Helper path"); + return; + } + + ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); + ShExecInfo.fMask = 0; + ShExecInfo.hwnd = nullptr; + ShExecInfo.lpVerb = L"runas"; + ShExecInfo.lpFile = exePath; + ShExecInfo.lpParameters = nullptr; + ShExecInfo.lpDirectory = nullptr; + ShExecInfo.nShow = SW_SHOWNORMAL; + ShExecInfo.hInstApp = nullptr; + + ShellExecuteEx(&ShExecInfo); + QApplication::quit(); +} + +void MainWindow::onTabWidgetTabChange(int idx) { + switch (idx) { + case Tabs::Tools: + updateToolsTab(); + break; + case Tabs::Logs: + ui->tabWidget->setTabText(Tabs::Logs, "Logs"); + break; + default: + break; + } +} + +void MainWindow::onApplyTdrBtnClicked() { + DWORD tdrV = ui->tdrdVal->value(); + DWORD tdrDdiV = ui->tdrddiVal->value(); + LSTATUS ret; + HKEY rkey; + + if (!canPerformAdminOP()) + return; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\GraphicsDrivers)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open graphicsdrivers key: %1").arg(ret)); + return; + } + + ret = RegSetValueExA(rkey, "TdrDelay", 0, REG_DWORD, reinterpret_cast(&tdrV), sizeof(DWORD)); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set tdr value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + ret = RegSetValueExA(rkey, "TdrDdiDelay", 0, REG_DWORD, reinterpret_cast(&tdrDdiV), sizeof(DWORD)); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set tdr ddi value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + tryReboot(); +} + +void MainWindow::onRestoreTdrBtnClicked() { + LSTATUS ret; + HKEY rkey; + + if (!canPerformAdminOP()) + return; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\GraphicsDrivers)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to open graphicsdrivers key: %1").arg(ret)); + return; + } + + if (ret != ERROR_FILE_NOT_FOUND) { + ret = RegDeleteValueA(rkey, "TdrDelay"); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) + writeLog(QString("Failed to restore tdr value: %1").arg(ret)); + + ret = RegDeleteValueA(rkey, "TdrDdiDelay"); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) + writeLog(QString("Failed to restore tdr ddi value: %1").arg(ret)); + + RegCloseKey(rkey); + } + + ui->tdrdVal->setValue(2); + ui->tdrddiVal->setValue(5); + tryReboot(); +} + +void MainWindow::onDumpsEnableBtnClicked() { + std::tuple createRegKeys[] { + std::make_tuple(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting)", "LocalDumps", KEY_CREATE_SUB_KEY | KEY_WOW64_64KEY, KEY_SET_VALUE | KEY_WOW64_64KEY, "local dumps"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl)", "LiveKernelReports", KEY_CREATE_SUB_KEY, KEY_SET_VALUE, "live kernel reports"), + }; + std::tuple regKeys[] { + std::make_tuple(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting)", "Disabled", KEY_SET_VALUE, 1, "lm windows error report"), + std::make_tuple(HKEY_CURRENT_USER, R"(Software\Microsoft\Windows\Windows Error Reporting)", "Disabled", KEY_SET_VALUE, 1, "user windows error report"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting\LocalDumps)", "DumpType", KEY_SET_VALUE | KEY_WOW64_64KEY, 2, "local dumps"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports)", "DeleteLiveMiniDumps", KEY_SET_VALUE, 0, "live kernel reports"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl)", "CrashDumpEnabled", KEY_SET_VALUE, 1, "crash control"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl)", "FilterPages", KEY_SET_VALUE, 1, "filter pages") + }; + const char dumpFolder[] {R"("C:\AppCrashDumps")"}; + LSTATUS ret; + HKEY rkey; + + if (!canPerformAdminOP()) + return; + + for (const auto ®Key: createRegKeys) { + HKEY ckey; + + ret = RegOpenKeyExA(std::get<0>(regKey), std::get<1>(regKey), 0, std::get<3>(regKey), &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open %1 key: %2").arg(std::get<5>(regKey)).arg(ret)); + return; + } + + ret = RegCreateKeyExA(rkey, std::get<2>(regKey), 0, nullptr, 0, std::get<4>(regKey), nullptr, &ckey, nullptr); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to create %1 key: %2").arg(std::get<4>(regKey)).arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(ckey); + } + + for (const auto ®Key: regKeys) { + DWORD val = std::get<4>(regKey); + + ret = RegOpenKeyExA(std::get<0>(regKey), std::get<1>(regKey), 0, std::get<3>(regKey), &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open %1 key: %2").arg(std::get<5>(regKey)).arg(ret)); + return; + } + + ret = RegSetValueExA(rkey, std::get<2>(regKey), 0, REG_DWORD, reinterpret_cast(&val), sizeof(DWORD)); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set %1 value: %2").arg(std::get<5>(regKey)).arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + } + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting\LocalDumps)", 0, KEY_SET_VALUE | KEY_WOW64_64KEY, &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open dump folder key: %1").arg(ret)); + return; + } + + ret = RegSetValueExA(rkey, "DumpFolder", 0, REG_EXPAND_SZ, reinterpret_cast(dumpFolder), static_cast(strlen(dumpFolder) + 1)); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set dump folder value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + + if (!ui->dumpsAdvPagefileChk->isChecked()) { + const char pagefileVal[] {"C:\\pagefile.sys 17400 17400\0"}; + DWORD valSz = static_cast(strlen(pagefileVal) + 2); + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to open mem management key: %1").arg(ret)); + return; + } + + ret = RegSetValueExA(rkey, "PagingFiles", 0, REG_MULTI_SZ, reinterpret_cast(pagefileVal), valSz); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set pagefile value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + } + + tryReboot(); +} + +void MainWindow::onDumpsFixWatchdogDumpsClicked() { + LSTATUS ret; + HKEY rkey; + + if (!canPerformAdminOP()) + return; + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to open live kernel reports key: %1").arg(ret)); + return; + } + + if (ret != ERROR_FILE_NOT_FOUND) { + ret = RegDeleteTreeA(rkey, "WATCHDOG"); + + if (ret != ERROR_SUCCESS) + writeLog(QString("Failed to reset watchdog dumps: %1").arg(ret)); + + RegCloseKey(rkey); + } + + QMessageBox::information(this, "Success", "Done!"); +} + +void MainWindow::onDumpsRestoreDefaultsClicked() { + std::tuple regKeys[] { + std::make_tuple(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting)", "Disabled", KEY_SET_VALUE, "lm windows error report"), + std::make_tuple(HKEY_CURRENT_USER, R"(Software\Microsoft\Windows\Windows Error Reporting)", "Disabled", KEY_SET_VALUE, "user windows error report"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(Software\Microsoft\Windows\Windows Error Reporting\LocalDumps)", "DumpType", KEY_SET_VALUE | KEY_WOW64_64KEY, "local dumps"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl\LiveKernelReports)", "DeleteLiveMiniDumps", KEY_SET_VALUE, "live kernel reports"), + std::make_tuple(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl)", "FilterPages", KEY_SET_VALUE, "filter pages") + }; + DWORD three = 3; + LSTATUS ret; + HKEY rkey; + + if (!canPerformAdminOP()) + return; + + for (const auto ®Key: regKeys) { + ret = RegOpenKeyExA(std::get<0>(regKey), std::get<1>(regKey), 0, std::get<3>(regKey), &rkey); + if (ret != ERROR_SUCCESS) { + if (ret != ERROR_FILE_NOT_FOUND) + writeLog(QString("Failed to open %1 key: %2").arg(std::get<4>(regKey)).arg(ret)); + + continue; + } + + ret = RegDeleteValueA(rkey, std::get<2>(regKey)); + if (ret != ERROR_SUCCESS) + writeLog(QString("Failed to set %1 value: %2").arg(std::get<4>(regKey)).arg(ret)); + + RegCloseKey(rkey); + } + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\CrashControl)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to open crash control key: %1").arg(ret)); + return; + } + + if (ret != ERROR_FILE_NOT_FOUND) { + ret = RegSetValueExA(rkey, "CrashDumpEnabled", 0, REG_DWORD, reinterpret_cast(&three), sizeof(DWORD)); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set crash control value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + } + + if (!ui->dumpsAdvPagefileChk->isChecked()) { + const char pagefileVal[] {"?:\\pagefile.sys\0"}; + DWORD valSz = static_cast(strlen(pagefileVal) + 2); + + ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE, R"(SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management)", 0, KEY_SET_VALUE, &rkey); + if (ret != ERROR_SUCCESS && ret != ERROR_FILE_NOT_FOUND) { + writeLog(QString("Failed to open mem management key: %1").arg(ret)); + return; + } + + if (ret != ERROR_FILE_NOT_FOUND) { + ret = RegSetValueExA(rkey, "PagingFiles", 0, REG_MULTI_SZ, reinterpret_cast(pagefileVal), valSz); + if (ret != ERROR_SUCCESS) { + writeLog(QString("Failed to set pagefile value: %1").arg(ret)); + RegCloseKey(rkey); + return; + } + + RegCloseKey(rkey); + } + } + + tryReboot(); +} + +void MainWindow::onDumpsExtractDumpsClicked() { + QString outD {QFileDialog::getExistingDirectory(this, "Select output folder", QStandardPaths::writableLocation(QStandardPaths::DesktopLocation))}; + QString outPath {QString("%1/compressed_dumps.7z").arg(outD)}; + QFile outf(outPath); + + if (outD.isEmpty()) + return; + + extractDumpsCompressThd = new ExtractDumpsCompressThread(this); + + QObject::connect(extractDumpsCompressThd, &ExtractDumpsCompressThread::progressUpdated, this, &MainWindow::onProgressUpdated); + QObject::connect(extractDumpsCompressThd, &ExtractDumpsCompressThread::logMessageWritten, this, &MainWindow::writeLog); + QObject::connect(extractDumpsCompressThd, &ExtractDumpsCompressThread::resultReady, this, &MainWindow::onExtractDumpsCompressedThdResultready); + QObject::connect(extractDumpsCompressThd, &ExtractDumpsCompressThread::finished, this, &MainWindow::onExtractDumpsCompressedFinished); + + if (outf.exists()) + outf.remove(); + + ui->dumpsExtrBtn->setEnabled(false); + ui->dumpsExtractProgbar->setValue(0); + extractDumpsCompressThd->setOutputPath(outPath); + extractDumpsCompressThd->start(); + ui->dumpsAbortCompressBtn->setEnabled(true); +} + +void MainWindow::onExtractDumpsCompressedFinished() { + if (extractDumpsCompressThd->isCancelled()) + QFile(extractDumpsCompressThd->getOutputPath()).remove(); + + extractDumpsCompressThd->deleteLater(); + ui->dumpsExtractProgbar->setValue(0); + ui->dumpsExtrBtn->setEnabled(true); +} + +void MainWindow::onProgressUpdated(int progress) { + ui->dumpsExtractProgbar->setValue(progress); +} + +void MainWindow::onExtractDumpsCompressedThdResultready(bool res, const QString &outPath) { + QFile outF(outPath); + + ui->dumpsAbortCompressBtn->setEnabled(false); + ui->dumpsExtractProgbar->setValue(0); + ui->dumpsExtrBtn->setEnabled(true); + + if (res && outF.exists()) + QMessageBox::information(this, "Success", QString("Dumps compressed to %1").arg(outPath)); + else if (res && !outF.exists()) + QMessageBox::information(this, "Success", "No dumps have been found"); + else + QMessageBox::warning(this, "Error", "Failed to extract and compress dumps"); +} + +void MainWindow::onDumpsCancelExtractBtnClicked() { + QObject::disconnect(extractDumpsCompressThd, &ExtractDumpsCompressThread::progressUpdated, this, &MainWindow::onProgressUpdated); + QObject::disconnect(extractDumpsCompressThd, &ExtractDumpsCompressThread::logMessageWritten, this, &MainWindow::writeLog); + QObject::disconnect(extractDumpsCompressThd, &ExtractDumpsCompressThread::resultReady, this, &MainWindow::onExtractDumpsCompressedThdResultready); + + extractDumpsCompressThd->quit(); + extractDumpsCompressThd->requestInterruption(); + ui->dumpsAbortCompressBtn->setEnabled(false); +} + +void MainWindow::onDumpsClearBtnClicked() { + if (!canPerformAdminOP()) + return; + + QDir appCrash {R"(C:\AppCrashDumps)"}; + QDir miniDump {R"(C:\Windows\Minidump)"}; + QDir watchdog {R"(C:\Windows\LiveKernelReports\WATCHDOG)"}; + + if (appCrash.exists() && !appCrash.removeRecursively()) + writeLog(R"(Failed to clean C:\AppCrashDumps)"); + + if (miniDump.exists() && !miniDump.removeRecursively()) + writeLog(R"(Failed to clean C:\Windows\Minidump)"); + + if (watchdog.exists() && !watchdog.removeRecursively()) + writeLog(R"(Failed to clean C:\Windows\LiveKernelReports\WATCHDOG)"); + + QDir().mkdir(R"(C:\AppCrashDumps)"); + QDir().mkdir(R"(C:\Windows\Minidump)"); + QDir().mkdir(R"(C:\Windows\LiveKernelReports\WATCHDOG)"); + + QMessageBox::information(this, "Success", "done!"); +} + +void MainWindow::onSsuAnonBtnClicked() { + QString ssu = QFileDialog::getOpenFileName(this, "Open SSU Report", QStandardPaths::writableLocation(QStandardPaths::DesktopLocation), "Text files (*.txt)"); + QFile ssuFile {ssu}; + QString outPath {QString("%1/igcit_ssu.txt").arg(QFileInfo(ssuFile).absolutePath())}; + QFile ssuOut {outPath}; + char username[UNLEN + 1] = {0}; + char samUname[UNLEN + 1] = {0}; + DWORD usernameLen = UNLEN + 1; + DWORD samUnameLen = UNLEN + 1; + QString ssuCont; + BOOL bret; + + if (ssu.isEmpty()) + return; + + if (!ssuFile.open(QIODevice::ReadOnly)) { + writeLog("Failed to read ssu report file"); + return; + + } else if (!ssuOut.open(QIODevice::WriteOnly)) { + writeLog(QString("Failed to create output file: %1").arg(outPath)); + ssuFile.close(); + return; + } + + ssuCont = ssuFile.readAll(); + + for (const QRegularExpression &rex: ssuRexList) + ssuCont.replace(rex, ""); + + bret = GetUserNameExA(EXTENDED_NAME_FORMAT::NameSamCompatible, samUname, &samUnameLen); + if (bret > 0) + ssuCont.replace(samUname, ""); + + bret = GetUserNameA(username, &usernameLen); + if (bret > 0) + ssuCont.replace(username, ""); + + if (ssuOut.write(ssuCont.toUtf8()) == -1) + writeLog(QString("Failed to write %1").arg(outPath)); + else + QMessageBox::information(this, "Anonimyze SSU", QString("output: %1").arg(outPath)); + + ssuOut.close(); + ssuFile.close(); +} diff --git a/IGCIT Helper/mainwindow.h b/IGCIT Helper/mainwindow.h new file mode 100755 index 0000000..89b1e85 --- /dev/null +++ b/IGCIT Helper/mainwindow.h @@ -0,0 +1,77 @@ +#pragma once + +#include +#include +#include +#include + +#include "ExtractDumpsCompressThread.h" + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow { + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private: + enum Tabs { + Device = 0, + Tools, + Logs, + About + }; + + QList ssuRexList { + QRegularExpression {R"((\s+MAC\sAddress:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+IP\s(Address|Subnet):\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Default\sIP\sGateway:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Access\sPoint:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Serial\sNumber:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Machine\sname:.*$))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Machine\sId:.*$))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Network\sName:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption}, + QRegularExpression {R"((\s+Profile:\".*\"))", QRegularExpression::CaseInsensitiveOption | QRegularExpression::MultilineOption} + }; + QPointer extractDumpsCompressThd; + Ui::MainWindow *ui; + + [[nodiscard]] + QString getFormattedMemorySize(DWORDLONG bytes) const; + + [[nodiscard]] + int isAdmin() const; + + [[nodiscard]] + bool canPerformAdminOP() const; + + void setWindowsBuildLbl() const; + void setProcessorLbl() const; + void setMemoryLbl() const; + void setInfoFromBios() const; + void setGpusInfo() const; + void writeLog(const QString &msg) const; + void addGpuInfoRow(int gpuIdx, const QString &label, const QString &value) const; + void updateToolsTab() const; + void tryReboot() const; + void tryRunAsAdmin() const; + +private slots: + void onTabWidgetTabChange(int idx); + void onApplyTdrBtnClicked(); + void onRestoreTdrBtnClicked(); + void onDumpsEnableBtnClicked(); + void onDumpsFixWatchdogDumpsClicked(); + void onDumpsRestoreDefaultsClicked(); + void onDumpsExtractDumpsClicked(); + void onProgressUpdated(int progress); + void onExtractDumpsCompressedThdResultready(bool res, const QString &outPath); + void onExtractDumpsCompressedFinished(); + void onDumpsCancelExtractBtnClicked(); + void onDumpsClearBtnClicked(); + void onSsuAnonBtnClicked(); +}; diff --git a/IGCIT Helper/mainwindow.ui b/IGCIT Helper/mainwindow.ui new file mode 100755 index 0000000..f689a40 --- /dev/null +++ b/IGCIT Helper/mainwindow.ui @@ -0,0 +1,778 @@ + + + MainWindow + + + + 0 + 0 + 500 + 400 + + + + + 0 + 0 + + + + + 500 + 400 + + + + + 500 + 400 + + + + IGCIT Helper + + + + + + + 1 + + + + Device + + + + + + #deviceScrollArea,#deviceScrollAreaWidgetContents {background-color:transparent;} + + + QFrame::NoFrame + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + true + + + + + 0 + 0 + 458 + 335 + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + OS version: + + + + + + + Unknown + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Qt::TextSelectableByMouse + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Processor: + + + + + + + Unknown + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Qt::TextSelectableByMouse + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Memory: + + + + + + + Unknown + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Qt::TextSelectableByMouse + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Model: + + + + + + + Unknown + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Qt::TextSelectableByMouse + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Manufacturer: + + + + + + + Unknown + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Qt::TextSelectableByMouse + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 40 + + + + + + + + + + + + + Tools + + + + + + #toolsScrollArea, #toolsScrollAreaWidgetContents{background-color:transparent;} + + + QFrame::NoFrame + + + QFrame::Plain + + + true + + + + + 0 + 0 + 441 + 493 + + + + + + + TDR delay + + + + + + <html><head/><body><p><a href="https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki/GPU-drivers-crash-with-long-computations"><span style=" text-decoration: underline; color:#0000ff;">Help</span></a></p></body></html> + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + Qt::TextBrowserInteraction + + + + + + + + + TdrDelay (seconds) + + + + + + + + + + + + + + TdrDdiDelay (seconds) + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + Restore defaults + + + + + + + Apply + + + + + + + + + + + + Crash dumps + + + + + + Enable + + + + + + + <html><head/><body><p>Reset watchdog dumps generation</p></body></html> + + + Fix watchdog dumps + + + + + + + Options + + + + + + <html><head/><body><p>Do not change Pagefile settings when enabling or restoring crash dumps settings.</p><p>Only useful for custom setups, Intel recommends a value of at least 17400 MB.</p></body></html> + + + Skip pagefile changes (Advanced users only) + + + + + + + + + + Restore defaults + + + + + + + Clear dump folders + + + + + + + Extract (compressed) + + + + + + + false + + + Cancel + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + 0 + + + + + + + <html><head/><body><p><a href="https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki/How-to-obtain-crash-dumps"><span style=" text-decoration: underline; color:#0000ff;">Help</span></a></p></body></html> + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + Qt::TextBrowserInteraction + + + + + + + + + + SSU report + + + + + + <html><head/><body><p><a href="https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki/How-to-generate-Intel-System-Support-Utility-report"><span style=" text-decoration: underline; color:#0000ff;">Help</span></a></p></body></html> + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + Qt::TextBrowserInteraction + + + + + + + + + Anonymize + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 0 + 0 + + + + This function may not remove all data, please check the output before posting online. + + + false + + + true + + + + + + + + + + + + + + + + + Logs + + + + + + false + + + QFrame::Plain + + + true + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Clear + + + + + + + + + + About + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 160 + 160 + + + + + + + :/icons/resources/IGCIT-logo.ico + + + true + + + + + + + <html><head/><body><p><span style=" font-size:26pt; font-weight:700; font-style:italic; color:#55aaff;">IGCIT Helper</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + 0 + + + + + <html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:700;">Version 2.0.0</span></p><p align="center"><span style=" font-size:12pt; font-weight:700;">Author: IGCIT</span></p><p align="center"><span style=" font-size:12pt; font-weight:700;">License: GPLv3</span></p><p align="center"><a href="https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki/IGCIT-Helper"><span style=" text-decoration: underline; color:#0000ff;font-size:12pt;">Wiki</span></a> - <a href="https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Sources</span></a></p></body></html> + + + true + + + Qt::TextBrowserInteraction + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + Sources + + + + + Help + + + + + About + + + + + + + + diff --git a/IGCIT Helper/packages.config b/IGCIT Helper/packages.config deleted file mode 100755 index ca1539d..0000000 --- a/IGCIT Helper/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/IGCIT Helper/resources/IGCIT-logo.ico b/IGCIT Helper/resources/IGCIT-logo.ico new file mode 100755 index 0000000000000000000000000000000000000000..917e75f62bed6a82afc7f5c53d70203a783c98f6 GIT binary patch literal 15600 zcmb7rby!r-_y65x=~}worMp8!V3!o6Q$S+r6i~XCP6<&u1qBHyQ9*b%5KmZ(=l?4D=Y&%|8`vEBtBN4Vqs;;K2 z|L^X<4*?$b%luin!@nyp{RfJmnePH&*b72WHB&DDAg22F0RcIA^Z+0mrmn1D=%2S8 z;^@iz=;K1e?PqhLM>99u6>C;EyA`Kf&tDjuy?G_&^k{c`!}$?Yycz@y2ZNyT5Oux& zd-!M|E-#K*4a}i{&ZbW1A)@XgfCiZRzS`bAoZq=4fj2KcAIZ>vwDhy02Ku(_()Uzu zQEu(0*Unkm5nNdN7ow|qW@Wtx&?mh~ri%(Q5opH`WyZTZfD&;SQ8~Npf}?NM zq$%<4_M@c19;HSC-99(u%R`9@!0q$BC*?3c_M@}!KhhIJ2Vh*UqE;;zf0R=`ec&Fy z=yBgsqX^OKLCYYyn1I-!haxPWc3et|Rd%`Z+7qukez$=Fi8s+OKjP6x7ZnKpwzw3P;#`c=b zoC-#JMyn`(g}%7VlvDbZavz^#J>dR{U+!R>`+i-Prgi+xW5g&GN}7ZGnv5r2k#>fQ(a2qD?oANmq|#oA=a1;hxV z_H34Hy4B^Mh7F>$Y8Yt|+^mNjVCKZ|Dg!@`DiNTc4&|YG4;lwssN7N>LPn( zBGC^~9g})#Q&$~(q4N;MsU)uUQ(uzaX~GCMGRUw7&% zL@lW+vZkFNyuIpt)5ju4{54*GFKna=mkrZ@D@6K}S^qr50#SWXJg(aEoLh&qiwd6o z@&KQ$@}#cwK^IHu*O#9i4^pQ5604ef-Y%xd1$&VZVot2KZMm!jiae6pfawP+cYLY7 z&0sX2L=P8FD&+z#16P44shi(9QZ=@G4JVHuUr#W5w6Tsp6lmg}99djQjwOPHZE2hy z%g>3{7MaSYV!V!2QmvH$k94_@367yLS{V13X4elb1YcNuPi&5GN-0A2n(YtF1WF&t zy=YCYAw^Vc6$OB(G%ptmEy|^ zfZM4!803^z=)O&dcs$SZqOWD{Rs$EVCcu;<5Eg?EqQ0zcq$jCF(=luJ95?$MydmqQ ziyJ`&h{zJa$I0U;OsBmkIi(64eYd(r{_ffUIY5SOHb76@v9BRicbKQ)w(S)!JQ&rA zP~~|eKWXk4|1DCe?)gR2NNM4v&}Zd2mfvSAYl@4zC>(7AazQj9N)*lTZmVA7!%yG% z!7oB1-Wm+S;gs+^{598>H+gO68ovW`1qLIGYd7=Q3^QR(ozbyEPfz$WrKPAZ99^Rp zE`>zTo@?Y?&T`7AVfbr!OWz;Y99G6K*8mL|fo2?zWcY4IMH%!gv~%6vuxGDzkCdFc!k1KJo$_AN9Tt-eIdd z;1_yor^_ng#Nc~LHnG@Hh#9UGn^TGm-zyaL=YC}PObJ$%1JzbCp7#sHz7;$RgY53N zkrw&dTBF&@MYXiN6e zVqZ{TSf2Kxs-lL$m40Gs+nIhiriJ1?O%ZI4uKZQBI1(TTZ~zmC6}gzPc-I=8l26}9 zBqJPcYfBKmyTzLYyN6_?{NkSxLj)YYPP%$uo)40OYfD(#2R|KZCPl&IBh~V+DO|3< z|7p0uz`4*UP_lF-4*7=Axc2?Eo-J7kw`)d0tJ$_#5Uio?t;HF;2-Ge0#U}Iw}%4Ef7HD&)}H`c(mk$One3w&iS>*9mKuo8^g#m1q$Y1 z2uyoo>x9oc(6p?u1iN@)^qLzv4DSQ;5h9hJYnfmxn_x~2ql?Hxq24(GK+EQ1H=`RKNkFylF01AzyY@icKNc5s)!tKaWbca+855B%CaYZM(_dOUf-msiF0a+&_Uef|0p3to;jzE}{y;CW*@M#Ab5-Q1t}t&$ z77#%QX~@FObE*iNdvg1AkpAxz`8>gCufzwUh9 z<;=WF$%u+64m-&-YDB!qJd+Kt(%f~J3QCv5Zi1pJm@LN?EC@<~Y>Aq_-y~M#fZxc= z+qpR^p|;J59U`;$zR8+6N!(F<)yS#p1kq4G3)cy@b8!HhaP%JUB>q6hp5AoY+Yihx z5+HS!WTjz)iHF}5;x=)gH4J_XRoQE7TbBLiBhshH?$qLZn+GpT#G8fm$IpZG#}vQ> z5=2waHQK>qq>t4|en2pLFeu;jn5T&Q@wZ$ueGqTQOc}m00aztDj)SB#6t@h-kf2)w zGEJDl$DjoC;3GmdK!*&wZaIuHl42dn66Lp+3(*8fy7d))UYUXZYk`O|#6TkS8q_@Q z*a@(`IPyRD{A(DkeoBgimAw@GcbBG3z{MVn5@BN@fbh97y?T|Q2V#iUK$y+3E@;-+ z{JX=D-I&r<=xf0d?m_3_IPpXA9T#>xF(_rq)QipSD#n_F?tfQ2B$F3dVV3j;u)A&) zy%fieo)$%8Zxt|i{@>GllRjGUR_~n~*srkksg?qLp)lIKe=}t8-88RJQUQ^5hIJJ? z_xDxJaQ|IUW0mnk4(2w&&>Yi&{}C?P1`S(~?T89 zKPqDWJ&Maw_<88RK1Hg)zrmE#%=R1go&a0`o-Hq+u0XN@`L{aDke83|2aj-`m=n0k zeS7`!(J#kJrhnsk;zhNdXXuACT_OSrGJDiUa!1ApbGOaLkR}pu`}0}EON%gtYv6CI6p=jX)IuE zDEax>U0Lw7zuCLvh0}?vzyr*A?2k33Z%dqF^f#}MUhJQBPm_&HW^A|pk_Ah9>(wPD z-AT@cv>GQ9A8Xh_@ZqP`AwqSV=6^3KUtX4&wytOFPs<idD5Vkpl9_aANP{3})^Y*q}dEqa=C`s?)lu^b~A>HLplX{LBMuYF-WBLVO z1mL*ls{pZh)r4($%&?8jChFR19X&1nnr7uL8kNfkQrF{4{c`oapxq&|100;glsUzz zdjUpIWAfPrcMobcmGCxGsN34){SUpp3LVSzg=KuXU+S0@5nreTAhC5FM`2A>` z0@*b&+-4%@`$BhoK{vyvdG{WZ?l)1YyDutcPf?TBKG`B?q=dXI4Z9Id!gx4ek3asx zbPW-cueE*&k4-S3TU=D`&s>B+*W(DRv5@jsj-`&BXzpY4$fBqUQKOL0G9scR_{+DD%Wwz zb6O0!e^C?Oba}MEBEx^Gxm>fPc*N6qf=_<9u% zdPk)YeQ;%NuC1WudBNjJV10NtJ}v(9R4Y@ncDh+D*-1V@-bl- z5oIvf9=UT!_#{C`RD5k1GW-0RVJvJxZnaW3PMiRkUZ|0dZ277j+&UjaCu4$MaT$)y z?8`j#@Kxs`K@mab zahQl-t(%FeC+G=o4%#BmpB@y3Pi&0Qy#F0%tqYX6B~y!qbWiDgaaR260V8y8TL(t&AS!xpofj`TS zHQ{T8D$7_o1xC>?|5D17-a(S0o~%Xr3zsca>|w4N~nwWc{PW z7?@l9u7R$Lb)VL|{g1Z5rLXs%{+UXhx>CHdv$waSLjNT8T(A|!obLrb)dU6=%MU;% z44b`A!nc1LCqEbrTLmyuOXLT+Ay069?|_yR;1e%L+%Xw*lQ3#3K#9EbI+o1}&LzlU z++~a+kogFdP}66?MPpLuz@mg_&TB1d*ZHx`XimS7d${>Zfc6i3?4k;w0mU?BJX;zn z#`+t$WVY#hl~u8$Q%2E+YcN*Sv@lnmuiE{Yg|=vN0c&6`WB`GfI{O;%?AmmFB@}T; z%f_@9+YpV+QwOyB2zwz*vZ#zkgE2T1qipX}Wq6Uj&iDri1}Ad?W%jrZU{5ZThp;af zoZ6sn^lsKC-}DHV-Y0=OTOXFRD~YkxXpYaDT*-hu!Dj1o(KU1*71pOVW%4xudnrlu zvq^wn3OGi*oG7ibOI3Z}Q4*S=^mt5^OMX6Zkmunr17zvLEE>CRAlY4>;pLh@7J|Hb z6J)o0yr&(00^;J$S%7t-X#~^}iXN-L5eG@*Oz(f*R=S`Trg|WLNA415@HyT)}vSsuhruOZOI==w(6x${J4jh6Gd?n z4VyyH__#FXL&{W01>E2}Wbg8_fDYImRkVzy-Qb!0%GV;23U=5B>83Z2$P+(_Rj?%j z5>6^Kxow6IHCM_$EO(S2iBloZR+tAqUMlKRkJBx+i6syyuZ!G&yWQrto}vl%1ZM$x zAn8TLZDFwv!cmC!rZHaaT9A0XNciotqYI{-kl4W15@(ZcK4WZdL&lif<$V^+#l0lfUde= zeq^3ckXTML8eb$y0qT(;e&DvHE|U;Vh+ZbGz5XqKDMG|X%u!3&`yj^?OE&rqaaG-A zt_$}3xcl=hJbzhQqz$G*i+gfu5~3Dy?PKA_Tsa=R6p1$ud}gNS&p(A=4IxcHgKj!< z@$Z9|79w?pQMW%Mo6bRdU)maprcO2c@&F12z;m1#rZ1(6TE`>DL+szJ$BRy6k0r$1 z!|Z&~hQZkX~(R5d;jDP{4U0Z z8|N4zMrrN1X`e1nM*5|b0%1#&%D}VJE4Xj$(C9@7NTt<$P(PD>*))&cq{!M)2|JN##OAh_DMBnG+Vp-J_BZ=RHy0L@Lo$1{JuX!GN~UCY8# z?Gf*R3z9FeH|_E>-jk1zsaT;*2E8vlVHHbAg&9?f9Z+U!2d>PFUqpbFz9n>np8%CO zM0b3A#CEadv+sV=@?7!1nSjTx zN^$1Z-RY~b+s09t z8@NNdLmL6%b!G~qeRebb?QXsfpqo;gNK8n5e}@mT?=qw&3-4bk{XW!fQ{w_0K^-(?ws`jd z*=Q?r4x+j*yaXn5_gKZjx8u?xy;!zdC3UzrHqQb5we=n=q?I(Xq;H||f1d*~yR&1@ z?j8;HrlMXF-Th9m#SBKzhE3W`8Zy&uaHL?L1u|}RHQ2^G$dSb1w63ba8!4)Jhbcte z3;J;eh-a_jptqbN%S0Dsi3C12SRmqgqj0tyrHmZ4$64NOxc9D@a`=Jk{b0g2F9N{6 zZL7s(74JV`m~peU(@2iD^!q_FV(2EEBqnA%mzRftQO~)38Ps@aQz^|a@(sU(laoH< zbSX|^bM3b^=Vnd5*Ui&4q}?0HeQN_89$QlMGL905iQK7TAuY*FaP^T-A*lgp`Gh_K+XKq3k0P@ww$-InrY-L>b0m?i=m5NcG>QZdQ41S~zQ zt*bCy;Ty4mc}HV)SwXTT3kHhBthZ^C<+1h{_YIlP9yt~Ikm5%v9J*t%Mq>pbie@_? z=lr%@E>On+dFgvl>>p(G#4a27Pgd(uI+%tRF-*^|W?)fH7d_~I>L{jod1sy2D~@8L%%;-pK#QX-X-Hi#+Yp+FSritLJkS(UI9h zhX0tHFZGpU?sE&jcE|w@+@8S&7ZqEHD2*~)vQ&)t$6Fa(F)`0?VPyBfb=!1`DIuWD ziO_b0H8(dJuM|HKaq{NOT3_7``v1*2{h10k2N4^AJ8<1{?z%9fdIMM zkNTo68bgt4mvMbjRLD@1#wz_MRiA0t)(7*?qKKli|G)%wPVb0@@V)2jdsuvDi^R5Q zgN%#x>nB)SiI7$KGj+HmJr|ir6X=Q)0Fo8XAPYlJ#?#SW1Q_*mK&0}l!WxrBz7^o{ zrFttOQd}r&YQL;kRm7Tezq$>A)?c1xJ=1#{>(5@@5x@wTFiboazVt_)G518vun+$c zPmp1734g|jI_&`Yc_On(^+Ahki0VAVOHs39>InOQ+PYIp^33 zYm+w2O5cz*hCZ5H`$`}P!5p5q3-x?qJ`%x455YqZ9zsRJ%hcPk5V-M$n_myx zGo0YmsjVw%plkwn7>7^rhfMnpvjoGH21rsOcUSl8j#^ms8t5@Bf;>D1N-u|y_FaDC zN8C};lpVBpFOGH=Jh+zVrhwcNk0J(P&ezmE9h^i0R2|OzLo&}=Pvt;^aP&dt2_93+ zUU6t$8qt@Cl=gWy-5I<-&*@+Toyg{$7)7#$_r##sy^ayrx2@kAQoe)D=rkcv@TfC; z3tcO#6V)>1DvlFp`|w?L%Wn&XoW@^tRe%0yT0Tnm4dcMtqAob9Vp}cv{aaAahDIOh zHYCJYY#+502?_qa+w(Lh1B7Ifl`ka-{oH?nq5B-Rv1uHLH}}rt%MkCivJlc^XuLkG z(oc02>-*j`pVoh(w#J(6Wk&ePc3EX$9+s3p4kI2AhT%n^0K-nJb*> znKciBC$-^0GcI6hB^`6)UZj_=VtU8nacpO;Fc6N!#*OZ!V^Ks+D@&i?P$y73CCMUM zko=WV!!oG9U)8z-+M+A?Jt7Ll7ge(7I^=N3;6(|bMv?sGU*D&$EAHU-g%9H~YXB(u z@~{xD93T&C9p#O;sNqEspKLCO@YHM@qN>~v6u^vWxW5ATd))750upH4;)V9Qs4RD^ z6X`p~El$4-UMClU2B&_b1GNk$9N-Uf19lJiC9e5v9E4 z;{O1p(o}}Ml2!eGpwK%|U-)7Tw;F_K686IH<FThc>HGZ;2Mb&9yna5n+lh=Dl6sIh=z3q;qE0kvii#YQo!uoHxSIeiukxISdgzNU~Y}=h0X~q}&rOZLBb-{}U6m4tq zoe3qv9M3kooofYZ5%N)#W~%b@eq0noKd9K*)|bT7YH!~$eUB|nJUXBVbXa+v`r(C- z9PM{x5Se!{D+OwHpN=hUF!R|_Q}Cb7z&}K9gTv;3)V*NFA;=?NvDUgga$8iAb+87n zVzD}GAhHt?vcTVfbL-@ukM%PuhshnZh8xs-Ma$=PqjiW-=jF`ffWyzKibpmypv6W( zPrO+?yibPfg!+4g*+yB*>$6dYlpm-G!oF*yX+{(%$1PqOc5a8VrFpMLU)}OiHrx2n zlF@_yUJxv+6>oNK`3qz`30JMy@V=Dc*?iKEDw zrLw{*{%n5HbR*G1c|?-x9ZY2$c6y&IvW^(ZZlZVc%Ada^fe^)t6G%EUG$Y}v=qaZD z*LW0VVfy~H4edJ#93_Hqi3S_zrU)zL4GW92!tg@*SmwLLa5x7WaKsCOAR}O3l_-v+H<+N+?7+5o9&w~kJ7h_8Q)Ahx z2yRUqOUSN{F{qv-XzJrMhMqHoz=qfg9ab9Wg#uDcCA*a=oH$qlg^2z(gIFg35UwIN zsyTp-YhYrgmPqoYI&gvCQ++_6p{IszlfH& zRB|2ukhE%>AVY2w&+fyZCaoC;V`D0WhM6b`Scu0MUelLfn~U-9Sw_4EK}XicvP_4?NkyBCX6Hj2*51V-F7$2A_x0*ploeV! z}s1#bNOrNAcVaX}U6eh(z{7 z+_=oQ9mHvR;;nEha&9};m*B_Xk9<^m{@KX5LDGP{? z+_Cwat%x(moUv&H?qvt7?I{A4IgW&YU0ua1wW0tsj!~Zxa&xATgmP@gNI^8ZIB{T zDU#AWq{|ysYpo{BPo^Lu1?(V(t8*$avwP}PTF_fILgwZ66s(Qw&)ve z7dTrvh>(8n5PkHhe6^|d!2{qyFct8DSvH8k(YP<^*}STX(@5DW-m9byLpCuu+8#c` zs4_ib70hiahrgp9Gz4cnlI!d#NV%UIC31ShVW3aK;B?;2&< zG$b=9f?S!3QVl-lq-!@?)a!24`iKX=J8AhsA__LxZcfSJ-#DiJ7@e*ixZ~IFLaV1t z06-8K5=s7}B1kd%;p`2d-?`-Q18-CbC~W0+W^$6lm3E*9kuY&;)|& z+`QZ>yL7pj-2bgA1lqXyJ@2yDJ^#A(M3#8mbs(Up_)bsMsTVd7bj1leZ4UbM%R7P> zm=nX{@O-ApVT|REc!JmP^3k1JZH|#!@i-n&bIZ#QhG}&_jepABHPaFowL7}=?(;hL zgEv&XO{;H$CLax6<|~sh2YVikz_m(UxyBkB%&1?q!}}lM7ymiq+sMhkMn??J3{80t z5T$RoSBxczxppfbN!d=wWjJ{Ezk~`M)gU?ZB`c6NZv_maDNg~m$Cme4qX&AsV^Wuc zy5tfZ7x_R=H#h?=W-I${M20X0+B8$ecu^20AV>Q;5>wI^o!_vQdio)CjlnMXqb)Xh zpqQi9k`qK?Mv`UDIL`0=WZE4^&a+eogk?OCQOE`bMKdibXOXYky zCYg@4a#vre<>=xKWc@99JU2YEZ-!2Guvrc*(pIWGkcAn`dKO5|&j!`10xB}qeFDs; z?0%_+loXyXL0Iw$>IWW4HrdRd9-mTcv$ivi^0h5T!9lE`d2|<}c%GAU>3b!rVe$++ zHnadXjimdcSLAE0vkM~calA`E@`Eby_zxuz1=9%3F-;qjs(fZ6;^I;kBoY|DCi-#Z zr;h`LgZIz`^mHriZ}gV%h1sg}#ovPJvO*P^jlV&4_=R7vw&Sz6Y2O>0zrnz|I|hqk zCD+V3I-uRbB*0TR8qdL8n&@jxV?Ncd$QFl50IUGsX-|=K(%)`yF#?w#X#=W?94o}L zFTHw2EOM4#A5|P_U*tl)&fciOBTV%qcYL|{B6f4cOEz$6b0ZEIdsIRXqe!gqpnB!o z;C`+FTucG(lR|JS&QchIJv-&W;l)#iHOrs(s<-YK*5HHsxemm1UH5XuE!0BXf^`vHO)C!P5N zWNN@j%ybd^-E~8rOL`leo>ALFyH`tT9Jckav+B8p&t5-{7aO$^z0CFp4BLfv5@WZ(kV0t` zk{NO#zztUgy(P9GK;2|f0KYgTUdM(QuR%dOUEWT$jQ2YPhI&P zB=z%dJV&^j{^ggVATPs1eq*l&U$qtNt#^hGl1U|d0vkm%m?*S-Z|e<`&- zsj+Nlr9$c>#@+nSN}wh0#X-<7DYceW5>5?mW$dKlb9JnlPHzu=<_lci7GiCpfzf1HDoz}O*M$z(8XSK!Nuyv$l?62}^iYsvKP5J(ai#@)B?4jG zEu9qs*ZXgkzco6G?j0vF2M3}FHt@MSPd$@~mS8s4iJS|?P zzi$%_8uTJ}P#*hDIO6ZDSXC1&WXux4rhi(Qtb*BC2!_Cl5m84k)@(FZG@gETH9T4v z0p~iXtz=Pf3k}4rT>sHVb}D31V6=05_}@1xuV`JUR|I_L{B0>>@W|3DUWv{^-}Ry; zR+AtkgM|sAYjUD_^s|6c>DwO&`n2flSR5zN;W6nW3WDSSlPC}5N)+>7-U%;U5Emxx zF#Yx6xl|VbIdTN3-=LhXPv;MSr=>eJ zm7%P@5)>eBen@S0f6_IbgPNzKnu()wm&&0%5?aCl+JbqiSN9sgpTeLfPU^2B)7i>2 zzXt(}c$&N+B06va)Y9@O9IYc&Xb&df0QG{#-a+VCBlZS|fjkNyj@s!j@MosDlFN?+$6{)}{f z`se0@QcE2RGeF{;9=a93Gz~Wzg){Y_4ErbTXSgF zU_561Dl)=@2nkts?ZrZhC(3}<-7=a8Q7DF5>`8wx!0mj}=7dUj9m1RXAua9a`gF9| zaYuLKxY-D>TQVg8F|&AMllqjoKyYEy&ymMl5E3HLFw#UzG20#q%$YqWC> zl>m$18gZ#Fxpde7=B(vVfv2wcVWR)|FW`k1WrPVUnm>hFuwvhMl>(_Z$8Sp03x{M8 zq7;TFE9;Es#W;;6wc?L1zTeZ9D({EhoNT7Q-n|LN=Dk>?BG;8P=V{0S)ywD|AV%|DUlcv>#+@^N^Yl3GKfN0EGy8kQX%(t_)+aE1 z+}jrlx5C2#_jmf^>ca`s0x{B5(1YUut{!O_I{|d25$W5betwEJ+g5;U$LKE3yW9k@ z79fI~rwL?BF8*ME-3b$J#OgaR>(xKE@r-ZHScsxt<9%Q608$6yWrP3!QLs=5YO|2WKryfP*Sf1$T z{bfquJRntCd41STO}fK765{%>;&(`t*D1}!#ke5nrY9|-oy&ZbT15`DkH1GnLO;3P zJyx~o{crX;;e#FP=S+QGL65Bx1bu`#e1{hwG^=tx473{2l;Qd@m>mD(aOHLFQ}dWh zwlY@A@D7F8aI)oi&PEt;F2MbT<-6L_*P7-(IZ7g`8#29bE_ag3nRBT3za-((DJW-8 z)YvUi=Vh8?o^nuS2^>eRu$^YrAwc^irleFKCD2z?L&{^4fqzaj@IdfG;fT=CukXir zZedjDud(m8r~JNG2$z3guiSpw>h1AT;bJWcM@QxAri{&faV)?zoXQVD%X@hzG0#>< zdH=hk4U07u;l@)+Z33r(=%?$wN*rcsGFhVcZ5=X#erc$xZ0%EU?iM`|A&-M!Pm9-m z{FQCKgLCk(AVKgL``VIi)Im-nTdqtLb7nqWisOvnUV*&0pXhQr^m8?nlaj?uSTL7Z z98kNC*D?E~*09WPIvkGTGc?bp;4RIke>*x`#c_z_J04OWTfcZ_Hez_EiTW@K5{5Vy zcm5P$qkBZdm6Sh^_N=1y)BKL&?W8kL@B|O1>g-;BvdY6IK0-m|-(@D>IXBmO32D*5 zOWQhB8MYRuqF~u!&qpJ;hl>W~A7T+4BDabVAwqy>n~ClLp5w}bXc6&vDfLYC*u#&- z&%}s(<)@y3n$wfn77-TWzn2V}CdutsLfHsG)4D1h#@FW5#k`V7^`TN!my=r8g{9mVo|Z3n#S+Pn9h8Ovb9=j~~nqC*xpPvoRa*8CFu5|b4L(aS z7%t%7SNEJ&BdsU)C5tay=!_<{n&6uF}2u?u|4AumEM=D>g{CJcYUPP4g*grKlY;KD(U!F!fVN^MHG+vca%E;tNBS80#)SLhOu!t1JFTzHeUeWzq%pwU3uNYjeNzq6Jh0}q1 z-F4Z>tBr+6`HnF1_|}|k11H6FZ~vf;FsI?G6>4D_n`uUBFv7T1e$_=Q?O75j0fyf= z$ShG`eBXJ4j}V+*3as`0r-~B<0QV!?JNDVS` z<%DOf1j{UQUrbYJB-N?Ca!>s^#;tn>Ss!%ews#TXz#FOGcG-t8f{+Fs4gw_!2>u^d z>fqyy6kxWGj4g6IAO9R!L93S!C=E(+Q#xF_3(CZ1Jr@e1s$HnrB$x~(DzaZfUcCP!KTh0Mz|**?K34Kf z(?vz!3%LUpBNp?~{&q|or|A%|q0d~$3#VzUG3zQ!`orsIY*V;KOl3DNOWDTbVo!w; z0%6`o8!iN>U8#%P)^DULU3fr-1g4M?v3WlFwQ5>^kvB0vl6`#by1zT+y&&TqFXR84 zmBAEmmo{ukr64|ncVI7n>3q+C{X(SLT``8$_FN?T1I{Yx%TDw|Bquv%??7gpecQ%U zQ))<$?Z?cbR%<-1vciCc7s=Bcpm&Ys&aG)0h_pC(L4k%FXR(`R=U*TquH=@xJfiTe zgY2LrMd)^54!bTTnGK_ES+R||P|4eo!^zP!(}4%ImU1vP=v3w`?bpXG8hOHVf6f&N z1qiwFKMP}{y?+IT;IafLr6KQLSXSB6x`9y%BXn!;Lkw?rIi;RAuZv`sghez{zX`(~ zjAl8_w^ZlqX6l~T^3|D-SjSv(K8-8E(ao|i( zZ|g@>BJ!l(Oh|viI2U9=xIOqKC1aTTViFV01Xi( zuC{`|@d@p}QdL}aZgr|;ETBn{Sp6_?Vi06}QCj9Oq_#^kP8shqB>Tz7yvm&+-7G`U z;H~3HFz%gQ5xD*Mnz@H+#x_y6ba$x>D;u_`1$ACGS4BrMMWwiM8(b5Rb zZ;=Q+Rxy(*=wSMp_gBupzj`^S&X(c)NfjOX zw~}hTu(-ASdrJhTd_j*Jb9AESM?$PA`0;FDt*omi;ftLDN#Ch$(UbMX;?~c-iajQJ z_p=eP?-Sd0z6u=VSWUBm)tToFpMuz>*ld1Vbv%&H{G^2&Wk12b|7}%lpS&)%3(?I&dnCQgC zTl;g@!&}w{U{(T5O0MSV92JF+XmJMwbnOPz94&O0sUZ8y`gWLk82z3bkfupp-s517@k7mpJQ4Yt@J@m67Kya;A>dlXQ^!&SU@d44e? zT=nhNeT-qBOD?vsN|x8MWNo#HE5-2y8{VHf3~nh7D)_k+tagk`+Kjv#{(haFuFy@a zAE3rcY7jZ!mISDq`Ko2<<-~I?N;OpqY*FBp*Lx1h>joA&WruCsdtNjzL~K7Q%Lnym z=)Niz%MC#kufG46^y+98+W668u)AO}_Tdv#rCJblQF!WuX{dHnsR~0renU&m*K2s1 zU;SpM$K8UAQWWJG)dB>q{f${oI`jcHZq0DeKA1&bxvP&5LCnu${lC?!TNP{mcOUJ4 zSy0+^)`X=lYBmJq`-^{l=t2uk{u?<(+E%FL5Ubw(_*-k|MlXR~Dz*k7>E&hWdj_99 zMrXD^%C5^bw|nU-oxN6H5)d#_ zzluukyMJsmcrW!Fuc9%(6|Gt1{8|UjGBm_0yIWO31FPPK!fJN84rI6+p`}v?Tt^~_ zMQ_{e8xVm-2u~shD&CF!2;Ke2BX`@oFQI}j%_3vK#t5^C1-KcIIC%>$9Yx2i( z_zwD6ggGeW*n~>l-ddQv!fr_7If`V+ToBwkk3?BL0Eg-H-WL3#I>RPu(&3Ruw#RuR z2aCc#QQoMX`6UWn$xxzofaG>qsE#RHaAZ3QLX+AM#&PA?(MFWL=k_pF(p?n#|kF8Gz)K#>V-z%ab{vWz - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(tdrdelayForm)); - this.tdrApplBtn = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.tdrInpt = new System.Windows.Forms.NumericUpDown(); - this.tdrDdiInpt = new System.Windows.Forms.NumericUpDown(); - this.tdrDefBtn = new System.Windows.Forms.Button(); - this.footerTdrSet = new System.Windows.Forms.Label(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.iGCITWikiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.tdrInpt)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.tdrDdiInpt)).BeginInit(); - this.menuStrip1.SuspendLayout(); - this.SuspendLayout(); - // - // tdrApplBtn - // - this.tdrApplBtn.Location = new System.Drawing.Point(227, 159); - this.tdrApplBtn.Name = "tdrApplBtn"; - this.tdrApplBtn.Size = new System.Drawing.Size(96, 23); - this.tdrApplBtn.TabIndex = 0; - this.tdrApplBtn.Text = "Apply changes"; - this.tdrApplBtn.UseVisualStyleBackColor = true; - this.tdrApplBtn.Click += new System.EventHandler(this.tdrApplBtn_Click); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(12, 48); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(65, 16); - this.label1.TabIndex = 1; - this.label1.Text = "TdrDelay"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(12, 94); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(86, 16); - this.label2.TabIndex = 2; - this.label2.Text = "TdrDdiDelay"; - // - // tdrInpt - // - this.tdrInpt.Location = new System.Drawing.Point(147, 48); - this.tdrInpt.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.tdrInpt.Minimum = new decimal(new int[] { - 2, - 0, - 0, - 0}); - this.tdrInpt.Name = "tdrInpt"; - this.tdrInpt.Size = new System.Drawing.Size(120, 20); - this.tdrInpt.TabIndex = 3; - this.tdrInpt.Value = new decimal(new int[] { - 2, - 0, - 0, - 0}); - // - // tdrDdiInpt - // - this.tdrDdiInpt.Location = new System.Drawing.Point(147, 94); - this.tdrDdiInpt.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.tdrDdiInpt.Minimum = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.tdrDdiInpt.Name = "tdrDdiInpt"; - this.tdrDdiInpt.Size = new System.Drawing.Size(120, 20); - this.tdrDdiInpt.TabIndex = 4; - this.tdrDdiInpt.Value = new decimal(new int[] { - 5, - 0, - 0, - 0}); - // - // tdrDefBtn - // - this.tdrDefBtn.Location = new System.Drawing.Point(120, 159); - this.tdrDefBtn.Name = "tdrDefBtn"; - this.tdrDefBtn.Size = new System.Drawing.Size(101, 23); - this.tdrDefBtn.TabIndex = 5; - this.tdrDefBtn.Text = "Reset to default"; - this.tdrDefBtn.UseVisualStyleBackColor = true; - this.tdrDefBtn.Click += new System.EventHandler(this.tdrDefBtn_Click); - // - // footerTdrSet - // - this.footerTdrSet.Dock = System.Windows.Forms.DockStyle.Bottom; - this.footerTdrSet.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.footerTdrSet.Location = new System.Drawing.Point(0, 201); - this.footerTdrSet.Name = "footerTdrSet"; - this.footerTdrSet.Size = new System.Drawing.Size(335, 21); - this.footerTdrSet.TabIndex = 8; - this.footerTdrSet.Text = "IGCIT Helper ver 1.4, Author: IGCIT"; - this.footerTdrSet.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.iGCITWikiToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(335, 24); - this.menuStrip1.TabIndex = 9; - this.menuStrip1.Text = "menuStrip1"; - // - // iGCITWikiToolStripMenuItem - // - this.iGCITWikiToolStripMenuItem.Name = "iGCITWikiToolStripMenuItem"; - this.iGCITWikiToolStripMenuItem.Size = new System.Drawing.Size(73, 20); - this.iGCITWikiToolStripMenuItem.Text = "IGCIT Wiki"; - this.iGCITWikiToolStripMenuItem.Click += new System.EventHandler(this.iGCITWikiToolStripMenuItem_Click); - // - // tdrdelayForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(335, 222); - this.Controls.Add(this.footerTdrSet); - this.Controls.Add(this.tdrDefBtn); - this.Controls.Add(this.tdrDdiInpt); - this.Controls.Add(this.tdrInpt); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.tdrApplBtn); - this.Controls.Add(this.menuStrip1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.MaximizeBox = false; - this.Name = "tdrdelayForm"; - this.Text = "IGCIT Helper - TDR delay"; - this.Load += new System.EventHandler(this.tdrdelayForm_Load); - ((System.ComponentModel.ISupportInitialize)(this.tdrInpt)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.tdrDdiInpt)).EndInit(); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Button tdrApplBtn; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.NumericUpDown tdrInpt; - private System.Windows.Forms.NumericUpDown tdrDdiInpt; - private System.Windows.Forms.Button tdrDefBtn; - private System.Windows.Forms.Label footerTdrSet; - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem iGCITWikiToolStripMenuItem; - } -} \ No newline at end of file diff --git a/IGCIT Helper/tdrdelay.cs b/IGCIT Helper/tdrdelay.cs deleted file mode 100755 index 59cadd8..0000000 --- a/IGCIT Helper/tdrdelay.cs +++ /dev/null @@ -1,87 +0,0 @@ -using Microsoft.Win32; -using System; -using System.Diagnostics; -using System.Windows.Forms; - -namespace IGCIT_Helper { - public partial class tdrdelayForm : Form { - private readonly RegistryKey _localMachine; - private readonly Utils _util; - - public tdrdelayForm() { - InitializeComponent(); - - _localMachine = Registry.LocalMachine; - _util = Utils.Instance; - } - - private void tdrdelayForm_Load(object sender, EventArgs e) { - RegistryKey gfxDriverReg = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\GraphicsDrivers"); - object tdrDelayV, tdrDdiDelayV; - - if (gfxDriverReg == null) { - MessageBox.Show(this, "Unable to open GraphicsDriver registry key", "Error", MessageBoxButtons.OK); - Close(); - } - - tdrInpt.Value = 2; - tdrDdiInpt.Value = 5; - tdrDelayV = gfxDriverReg.GetValue("TdrDelay"); - tdrDdiDelayV = gfxDriverReg.GetValue("TdrDdiDelay"); - - if (tdrDelayV != null && gfxDriverReg.GetValueKind("TdrDelay") == RegistryValueKind.DWord) - tdrInpt.Value = (int)tdrDelayV; - - if (tdrDdiDelayV != null && gfxDriverReg.GetValueKind("TdrDdiDelay") == RegistryValueKind.DWord) - tdrDdiInpt.Value = (int)tdrDdiDelayV; - - footerTdrSet.Text = CommonData.FooterTx; - } - - private void tdrDefBtn_Click(object sender, EventArgs e) { - try { - RegistryKey gfxDriverReg = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\GraphicsDrivers", true); - - if (gfxDriverReg == null) { - MessageBox.Show(this, "Unable to open GraphicsDriver registry key", "Error", MessageBoxButtons.OK); - return; - } - - gfxDriverReg.DeleteValue("TdrDelay"); - gfxDriverReg.DeleteValue("TdrDdiDelay"); - - tdrInpt.Value = 2; - tdrDdiInpt.Value = 5; - - _util.AskReboot(this); - Close(); - - } catch (Exception ex) { - MessageBox.Show(this, "Unable to get TDR values\n" + ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void tdrApplBtn_Click(object sender, EventArgs e) { - try { - RegistryKey gfxDriverReg = _localMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\GraphicsDrivers", true); - - if (gfxDriverReg == null) { - MessageBox.Show(this, "Unable to open GraphicsDriver registry key", "Error", MessageBoxButtons.OK); - return; - } - - gfxDriverReg.SetValue("TdrDelay", tdrInpt.Value, RegistryValueKind.DWord); - gfxDriverReg.SetValue("TdrDdiDelay", tdrDdiInpt.Value, RegistryValueKind.DWord); - _util.AskReboot(this); - Close(); - - } catch (Exception ex) { - MessageBox.Show(this, "Unable to set TDR values\n" + ex.Message, "Error", MessageBoxButtons.OK); - } - } - - private void iGCITWikiToolStripMenuItem_Click(object sender, EventArgs e) { - Process.Start("https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT/wiki/GPU-drivers-crash-with-long-computations"); - } - } -} diff --git a/IGCIT Helper/tdrdelay.resx b/IGCIT Helper/tdrdelay.resx deleted file mode 100755 index b445968..0000000 --- a/IGCIT Helper/tdrdelay.resx +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - - - 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 - - - \ No newline at end of file

    + Supported Features • + Getting Started • + Download • + Requirements • + Building & Using • + Donate • + License +