From 3c5b6ca76ba8373b1ae2a5f939262db4b2178079 Mon Sep 17 00:00:00 2001 From: Yingnan Wu Date: Fri, 10 May 2019 21:13:22 +0800 Subject: [PATCH 1/5] First commit Change build tools to vc141 Change DXUT to the lastest version. Fixed CUDA ill-formed codes in Source/SiftGPU/ProgramCU.cu --- .../PhongLighting.hlsl.PhongPS.p | Bin 0 -> 23408 bytes .../QuadDrawer.hlsl.QuadFloatPS.p | Bin 0 -> 17008 bytes .../QuadDrawer.hlsl.QuadRGBAPS.p | Bin 0 -> 17008 bytes .../CompiledShaders/QuadDrawer.hlsl.QuadVS.p | Bin 0 -> 16916 bytes .../RGBDRenderer.hlsl.EmptyVS.p | Bin 0 -> 20352 bytes .../RGBDRenderer.hlsl.RGBDRendererGS.p | Bin 0 -> 57616 bytes ...RGBDRenderer.hlsl.RGBDRendererRawDepthPS.p | Bin 0 -> 22876 bytes .../RayIntervalSplatting.hlsl.PS.p | Bin 0 -> 14360 bytes .../RayIntervalSplatting.hlsl.VS.p | Bin 0 -> 14416 bytes FriedLiver/FriedLiver.vcxproj | 54 +- FriedLiver/FriedLiver.vcxproj.filters | 45 +- FriedLiver/FriedLiver.vcxproj.user | 4 + .../Source/DXUT/Core/DDSTextureLoader.cpp | 1825 +++++++ .../Source/DXUT/Core/DDSTextureLoader.h | 129 + FriedLiver/Source/DXUT/Core/DXUT.cpp | 3635 ++++--------- FriedLiver/Source/DXUT/Core/DXUT.h | 301 +- FriedLiver/Source/DXUT/Core/DXUTDevice11.cpp | 764 +-- FriedLiver/Source/DXUT/Core/DXUTDevice11.h | 131 +- FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj | 330 ++ .../DXUT/Core/DXUT_2015.vcxproj.filters | 29 + .../Source/DXUT/Core/DXUT_2015_Win10.vcxproj | 331 ++ .../DXUT/Core/DXUT_2015_Win10.vcxproj.filters | 29 + .../Source/DXUT/Core/DXUT_2017_Win10.vcxproj | 343 ++ .../DXUT/Core/DXUT_2017_Win10.vcxproj.filters | 29 + .../Source/DXUT/Core/DXUT_2019_Win10.vcxproj | 343 ++ .../DXUT/Core/DXUT_2019_Win10.vcxproj.filters | 29 + .../DXUT/Core/DXUT_DirectXTK_2015.vcxproj | 330 ++ .../Core/DXUT_DirectXTK_2015.vcxproj.filters | 23 + .../Core/DXUT_DirectXTK_2015_Win10.vcxproj | 331 ++ .../DXUT_DirectXTK_2015_Win10.vcxproj.filters | 23 + .../Core/DXUT_DirectXTK_2017_Win10.vcxproj | 343 ++ .../DXUT_DirectXTK_2017_Win10.vcxproj.filters | 23 + .../Core/DXUT_DirectXTK_2019_Win10.vcxproj | 343 ++ .../DXUT_DirectXTK_2019_Win10.vcxproj.filters | 23 + FriedLiver/Source/DXUT/Core/DXUTmisc.cpp | 1321 ++--- FriedLiver/Source/DXUT/Core/DXUTmisc.h | 463 +- FriedLiver/Source/DXUT/Core/ScreenGrab.cpp | 1204 +++++ FriedLiver/Source/DXUT/Core/ScreenGrab.h | 39 + .../Source/DXUT/Core/WICTextureLoader.cpp | 932 ++++ .../Source/DXUT/Core/WICTextureLoader.h | 126 + FriedLiver/Source/DXUT/Core/dxerr.cpp | 3655 +++++++++++++ FriedLiver/Source/DXUT/Core/dxerr.h | 72 + FriedLiver/Source/DXUT/Media/UI/Font.dds | Bin 0 -> 76128 bytes .../Source/DXUT/Media/UI/dxutcontrols.dds | Bin 0 -> 262272 bytes .../Source/DXUT/Optional/DXUTLockFreePipe.h | 63 +- .../Source/DXUT/Optional/DXUTOpt_2015.vcxproj | 339 ++ .../Optional/DXUTOpt_2015.vcxproj.filters | 32 + .../DXUT/Optional/DXUTOpt_2015_Win10.vcxproj | 340 ++ .../DXUTOpt_2015_Win10.vcxproj.filters | 32 + .../DXUT/Optional/DXUTOpt_2017_Win10.vcxproj | 352 ++ .../DXUTOpt_2017_Win10.vcxproj.filters | 32 + .../DXUT/Optional/DXUTOpt_2019_Win10.vcxproj | 352 ++ .../DXUTOpt_2019_Win10.vcxproj.filters | 32 + .../Optional/DXUTOpt_DirectXTK_2015.vcxproj | 337 ++ .../DXUTOpt_DirectXTK_2015.vcxproj.filters | 30 + .../DXUTOpt_DirectXTK_2015_Win10.vcxproj | 338 ++ ...UTOpt_DirectXTK_2015_Win10.vcxproj.filters | 30 + .../DXUTOpt_DirectXTK_2017_Win10.vcxproj | 350 ++ ...UTOpt_DirectXTK_2017_Win10.vcxproj.filters | 30 + .../DXUTOpt_DirectXTK_2019_Win10.vcxproj | 350 ++ ...UTOpt_DirectXTK_2019_Win10.vcxproj.filters | 30 + .../Source/DXUT/Optional/DXUTcamera.cpp | 1021 ++-- FriedLiver/Source/DXUT/Optional/DXUTcamera.h | 620 +-- FriedLiver/Source/DXUT/Optional/DXUTgui.cpp | 4770 ++++++++--------- FriedLiver/Source/DXUT/Optional/DXUTgui.h | 1102 ++-- .../Source/DXUT/Optional/DXUTguiIME.cpp | 127 +- FriedLiver/Source/DXUT/Optional/DXUTguiIME.h | 96 +- FriedLiver/Source/DXUT/Optional/DXUTres.cpp | 64 +- FriedLiver/Source/DXUT/Optional/DXUTres.h | 15 +- .../Source/DXUT/Optional/DXUTsettingsdlg.cpp | 2593 +++------ .../Source/DXUT/Optional/DXUTsettingsdlg.h | 217 +- FriedLiver/Source/DXUT/Optional/ImeUi.cpp | 970 +--- FriedLiver/Source/DXUT/Optional/ImeUi.h | 74 +- FriedLiver/Source/DXUT/Optional/SDKmesh.cpp | 1629 ++---- FriedLiver/Source/DXUT/Optional/SDKmesh.h | 417 +- FriedLiver/Source/DXUT/Optional/SDKmisc.cpp | 1485 ++--- FriedLiver/Source/DXUT/Optional/SDKmisc.h | 348 +- FriedLiver/Source/DXUT/Optional/directx.ico | Bin 0 -> 25214 bytes .../Source/DepthSensing/DX11PhongLighting.cpp | 2 +- .../Source/DepthSensing/DX11PhongLighting.h | 30 +- .../Source/DepthSensing/DX11QuadDrawer.cpp | 22 +- .../Source/DepthSensing/DX11QuadDrawer.h | 22 +- .../Source/DepthSensing/DX11RGBDRenderer.h | 8 +- FriedLiver/Source/DepthSensing/DX11Utils.cpp | 6 +- .../Source/DepthSensing/DepthSensing.cpp | 35 +- FriedLiver/Source/SiftGPU/MatrixConversion.h | 6 +- FriedLiver/Source/SiftGPU/ProgramCU.cu | 38 +- FriedLiver/Source/SiftGPU/SiftPyramid.cpp | 2 +- FriedLiver/Source/SiftGPU/cudaUtil.h | 124 +- FriedLiver/Source/mLib.h | 3 +- FriedLiver/zParametersDefault.txt | 6 +- 91 files changed, 21639 insertions(+), 14884 deletions(-) create mode 100644 FriedLiver/CompiledShaders/PhongLighting.hlsl.PhongPS.p create mode 100644 FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadFloatPS.p create mode 100644 FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadRGBAPS.p create mode 100644 FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadVS.p create mode 100644 FriedLiver/CompiledShaders/RGBDRenderer.hlsl.EmptyVS.p create mode 100644 FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererGS.p create mode 100644 FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererRawDepthPS.p create mode 100644 FriedLiver/CompiledShaders/RayIntervalSplatting.hlsl.PS.p create mode 100644 FriedLiver/CompiledShaders/RayIntervalSplatting.hlsl.VS.p create mode 100644 FriedLiver/FriedLiver.vcxproj.user create mode 100644 FriedLiver/Source/DXUT/Core/DDSTextureLoader.cpp create mode 100644 FriedLiver/Source/DXUT/Core/DDSTextureLoader.h create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Core/ScreenGrab.cpp create mode 100644 FriedLiver/Source/DXUT/Core/ScreenGrab.h create mode 100644 FriedLiver/Source/DXUT/Core/WICTextureLoader.cpp create mode 100644 FriedLiver/Source/DXUT/Core/WICTextureLoader.h create mode 100644 FriedLiver/Source/DXUT/Core/dxerr.cpp create mode 100644 FriedLiver/Source/DXUT/Core/dxerr.h create mode 100644 FriedLiver/Source/DXUT/Media/UI/Font.dds create mode 100644 FriedLiver/Source/DXUT/Media/UI/dxutcontrols.dds create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj create mode 100644 FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj.filters create mode 100644 FriedLiver/Source/DXUT/Optional/directx.ico diff --git a/FriedLiver/CompiledShaders/PhongLighting.hlsl.PhongPS.p b/FriedLiver/CompiledShaders/PhongLighting.hlsl.PhongPS.p new file mode 100644 index 0000000000000000000000000000000000000000..0e153ba19bd6b235ed6a54280506a559b3258b40 GIT binary patch literal 23408 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 U5!m^gWv}I~MW7aeJ2(RW3&v;^PXGV_ literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadFloatPS.p b/FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadFloatPS.p new file mode 100644 index 0000000000000000000000000000000000000000..32833664f5aa1c2cd399b58009996a508aae0fa4 GIT binary patch literal 17008 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 literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadRGBAPS.p b/FriedLiver/CompiledShaders/QuadDrawer.hlsl.QuadRGBAPS.p new file mode 100644 index 0000000000000000000000000000000000000000..31298d26ddc6869c22e0bde946eee77cd00dd006 GIT binary patch literal 17008 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 literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.EmptyVS.p b/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.EmptyVS.p new file mode 100644 index 0000000000000000000000000000000000000000..2bf11c885b5a154905eb91f00145bdc5f4473fdf GIT binary patch literal 20352 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 e|3q;HbO%Mckdt%( literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererGS.p b/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererGS.p new file mode 100644 index 0000000000000000000000000000000000000000..c5b96dc594e0b38222df0f29abe9ee72469a8c5e GIT binary patch literal 57616 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 literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererRawDepthPS.p b/FriedLiver/CompiledShaders/RGBDRenderer.hlsl.RGBDRendererRawDepthPS.p new file mode 100644 index 0000000000000000000000000000000000000000..f307903c8e29be1ceb88f958f6b52b502fae58da GIT binary patch literal 22876 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 dO#%;pv}|53PXe9})c2GrP>p zwyCwy7f~oENS}m)LZO0B;+uk$B0dO3q4?%gAH)}FQ-AP5jOV*Ece4piC21*bG6&Aw zJLjHz&$(yrIrncj{d!mTpI2{WFCIJa+}2OKhSr;hKh}t7!)~G#oN_`}82@2Ra)HYj z4G|5ddwPpZYlOXcSw1zTg^7?KOs7&vH!upu7~>Yk)r^26=7?Q!DkWFM2HQnnzuqtO zu|mZO2$)^(GMTZGCzx@W=7})fSyey;r;vPbOO;8`C-}v%=7M6C?Tp*yts}a}ikJ+Ef5b*#aD6|6a=dU+R5d z&M{0d$~m1=*n<#U9$YWhObotP4+mF9D@P+;1 z&c0voeyi%BZ1%eI=T~>kCMotHeS$1dskzmf8!sAFcTDUP)rw=fX2pu1+0znfiG*## zt=X3FxR`Vv)I?%vyfAUvuw7$fq*Alo*v|G7AfK+7MR8b8d^QyM*2{SB2neC|ssDny#DD>SMM0dUk zQO_vR=IbH)=$9rcyvwfbZEc^RksPSH5DQ=odP9A$=K%Y|Glz4yQ`p9+>9~d+bCYlY zF9bNQT^pHpa

}kMoklFFmdg4;;&J3}}gPVc3&U4>H_z!;uZw^B9B|j5CD#}TA5bYOn~b;vLffCLpF025GOv8hFXJSD$HW5sX{d|#wnp&* zwFrMljYfJ@I(<8I|C>AFtE7Fc8oax=To`pIIk7vLBE07c_Nd`f)fwJ3oRpLv%eBu^ zR^BerHj1{w6j%I#hdV?7(&fAd*}|ztpGfX)w7)gPv@m5X@Z1m9QMOeh1hr*;8(zzb zzN~=`8z_2n108pTioUvmj(bf-k2cV;W$I)dmvQC-@y3-`&T{+AA+Tofjo|+P+6+lg znyGV$PhkRyh>8J}(srME<7n226eV@`W2C&~>!T3IBBYX>hZ$35UoepE%0pSmV z5wMOntv$#o_@d;^G4%W0$*p`X-m;eK!5K(RIy4E|LCGt(QM8$sua)zLt1xajlyK~k#F&Af@1HDJMoxKz690eUc#f)QBEQ4PBDn6;o?%hsE zeqXczolzfrShE5Y4Jpovl%z*>rKRrCWFJ&Vlwwe7YHGDq(#xadu>iz>!FY%98siz( zU7iPW{%dxe3!LKqri1M)I1h+13Vz4fc!m+DgzFhGZg5VBHdisi|KOK6FNaU^--V=K l@;KvjJkMX-IDMKC?O<%JWeniaSzxv=KRU^Qq{qPm{{fK=wuJxy literal 0 HcmV?d00001 diff --git a/FriedLiver/CompiledShaders/RayIntervalSplatting.hlsl.VS.p b/FriedLiver/CompiledShaders/RayIntervalSplatting.hlsl.VS.p new file mode 100644 index 0000000000000000000000000000000000000000..ef2970a2c624b22f7581b2d4b36cdf86cecc846d GIT binary patch literal 14416 zcmeHOU2IfE6h2#ub_<2JTKNk&A!@dO`y;5Nlv3Jl=_ZA)y-PK+q%PgN?Un7_&AoR^ zD

y6A}|&3ah91$996@C3$ zztF}qS=|!dh4G@1MyMOP4MUpiUBH zP*v99elW0%avkL3O!R>1Tprj!qzw(1#l?G)slMUo2L}7&r1kZ@;D9Fy&h1EFuA{&( zMBZp@#1qjdQSA-k=2@1GvSvJU{ux-u^2&OfT^^>rruaL-MAL_urs}kLayy`wmO7le z0FGK_^FZ}QJ##xtf$I88sawgbCF5P(!PznGj&$$dEskov;@NOC+EBkWu5kqn2#?7& zAoqn~tDE@0E5HI@&iJsJEdW3J?`rPexG2ND@eaG4J)+X8ngo>(hKHc8;#jE3w9{hUiyQ;jCVC#>7EUEZBx)6wL6M0}b^J^+8K_N|q^HE|AVKH4-^7o|&A`Ek~amDU?hn zw6FCflP3yBRvghn#e!iv$P6crC6A{d6p!|a*vUPj#05pm7*E7So8V0w@@R2FPsH~K z!$dWBG_PxprDw+5lb)Ck;aG-CYvsny@=s8e&Z-!R$O74tk)7mDx$W%|`_Kcg z*z33IFSv5~LdMw_8Xa~!)>X>obn65poD5G+y|PEd!qHr-6cDU3+I&^meo(Kha`JL!+VavGy7qYu^^TTdJhxW-R|B;Guc;l zITqkK=uY)^cL8(+=T7Hfo3Qjz!*+BlI1(zj?AuZ&s*|I>m6mY^#kC8(+qPYe2BtCe?VCFSyJ~(4EOk@I{Cq#4Qe?>h z^4$^3zPM@T+!b7aaQT>5hQx<^!~%Rb)kW=1jXXesdW=(mMtW2_dporFjUV5Y9c&8l z>h8^FMs12t?vKWZpHmrYRCj2?9)5Z_Dk(jtV@=VJyj`MQ)Y!zPxW?@RI_0mMuEic? zAD#nrQF4c=qlxz=K~j_1V_qP6gpy4GV#ikN$?24wie6hmXFDi*T?L)*FBN@#1)c9i z+n`S^^f^!MLmHxFxmAX{E9toXy9Kb!8tB$oA(OXUiawvt%s-#bOrK9@rdR7+gOlCA z(GK77vdJ3*tzTKu{mnmiKlbs}500kWt`gkk9&Oa)7J%(OgR=kz zo-2&J76g#t5!%+$iIn*o$$iJrUpKD9b2Q7P3|UX$D!rivGLWa)HG7?DowAdMJ93xK^*Q+E|2lA-vIEG#PK<-*oj{Id>VeF|puS`DzgcqaQTfY0{!B0?&;1*S z-r7Ki()eqJJkt|M`F|Yh{0~{2``~*K&QySk7nx5~?G&2z~; z0qp+;@EY(-;2G#H&jXSF3=3x(Dc|3G2s;bp8A3pTXPz4m1NoG26OiW(pA)jobwFN! wye`)Rc}?PPMsi(Zp5YwNU9ZhZ9|E!*o?CpL?8Du&K=oR_doBAd-3u1@4}Va|f&c&j literal 0 HcmV?d00001 diff --git a/FriedLiver/FriedLiver.vcxproj b/FriedLiver/FriedLiver.vcxproj index aaf1ed0c..4db5bef5 100644 --- a/FriedLiver/FriedLiver.vcxproj +++ b/FriedLiver/FriedLiver.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -15,24 +15,25 @@ Win32Proj DepthWithColor.D3D FriedLiver + 10.0.16299.0 Application true Unicode - v120 + v141 Application false true Unicode - v120 + v141 - + @@ -72,7 +73,7 @@ 4819 - d3d11.lib;d3dcompiler.lib;d3dx11d.lib;d3dx9d.lib;dxerr.lib;dxguid.lib;winmm.lib;comctl32.lib;Shlwapi.lib;cudart.lib;cublas.lib;FreeImage.lib;zlib64.lib;%(AdditionalDependencies) + d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;Shlwapi.lib;cudart.lib;cublas.lib;FreeImage.lib;zlib64.lib;usp10.lib;Imm32.lib;version.lib;%(AdditionalDependencies) Console true ../opencv/lib/;%(AdditionalLibraryDirectories) @@ -106,7 +107,7 @@ /Zm113 %(AdditionalOptions) - d3d11.lib;d3dcompiler.lib;d3dx11.lib;d3dx9.lib;dxerr.lib;dxguid.lib;winmm.lib;comctl32.lib;Shlwapi.lib;cudart.lib;cublas.lib;FreeImage.lib;zlib64.lib;%(AdditionalDependencies) + d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;Shlwapi.lib;cudart.lib;cublas.lib;FreeImage.lib;zlib64.lib;usp10.lib;Imm32.lib;version.lib;%(AdditionalDependencies) true true Console @@ -119,7 +120,7 @@ 64 Include\cutil\inc;$(SolutionDir) - compute_35,sm_35 + compute_30,sm_30 62 true O3 @@ -173,14 +174,20 @@ + + - + + + + + @@ -257,6 +264,14 @@ + + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing NotUsing @@ -265,11 +280,15 @@ NotUsing NotUsing - + NotUsing NotUsing - + + NotUsing + NotUsing + + NotUsing NotUsing @@ -281,6 +300,10 @@ NotUsing NotUsing + + NotUsing + NotUsing + NotUsing NotUsing @@ -289,6 +312,10 @@ NotUsing NotUsing + + NotUsing + NotUsing + NotUsing NotUsing @@ -343,7 +370,10 @@ - + + false + Document + 0 @@ -372,6 +402,6 @@ - + \ No newline at end of file diff --git a/FriedLiver/FriedLiver.vcxproj.filters b/FriedLiver/FriedLiver.vcxproj.filters index 92a2e11f..572395e3 100644 --- a/FriedLiver/FriedLiver.vcxproj.filters +++ b/FriedLiver/FriedLiver.vcxproj.filters @@ -6,9 +6,6 @@ DXUT - - DXUT - DXUT @@ -149,6 +146,24 @@ Sensors + + DXUT + + + DXUT + + + DXUT + + + DXUT + + + DXUT + + + DXUT + @@ -159,9 +174,6 @@ DXUT - - DXUT - DXUT @@ -399,6 +411,27 @@ Sensors + + DXUT + + + DXUT + + + DXUT + + + DXUT + + + DXUT + + + DXUT + + + DXUT + diff --git a/FriedLiver/FriedLiver.vcxproj.user b/FriedLiver/FriedLiver.vcxproj.user new file mode 100644 index 00000000..be250787 --- /dev/null +++ b/FriedLiver/FriedLiver.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DDSTextureLoader.cpp b/FriedLiver/Source/DXUT/Core/DDSTextureLoader.cpp new file mode 100644 index 00000000..fad01411 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DDSTextureLoader.cpp @@ -0,0 +1,1825 @@ +//-------------------------------------------------------------------------------------- +// File: DDSTextureLoader.cpp +// +// Functions for loading a DDS texture and creating a Direct3D runtime resource for it +// +// Note these functions are useful as a light-weight runtime loader for DDS files. For +// a full-featured DDS file reader, writer, and texture processing pipeline see +// the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#include "dxut.h" + +#include "DDSTextureLoader.h" + +#include +#include +#include + +#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) +#pragma comment(lib,"dxguid.lib") +#endif + +using namespace DirectX; + +//-------------------------------------------------------------------------------------- +// Macros +//-------------------------------------------------------------------------------------- +#ifndef MAKEFOURCC + #define MAKEFOURCC(ch0, ch1, ch2, ch3) \ + ((uint32_t)(uint8_t)(ch0) | ((uint32_t)(uint8_t)(ch1) << 8) | \ + ((uint32_t)(uint8_t)(ch2) << 16) | ((uint32_t)(uint8_t)(ch3) << 24 )) +#endif /* defined(MAKEFOURCC) */ + +//-------------------------------------------------------------------------------------- +// DDS file structure definitions +// +// See DDS.h in the 'Texconv' sample and the 'DirectXTex' library +//-------------------------------------------------------------------------------------- +#pragma pack(push,1) + +const uint32_t DDS_MAGIC = 0x20534444; // "DDS " + +struct DDS_PIXELFORMAT +{ + uint32_t size; + uint32_t flags; + uint32_t fourCC; + uint32_t RGBBitCount; + uint32_t RBitMask; + uint32_t GBitMask; + uint32_t BBitMask; + uint32_t ABitMask; +}; + +#define DDS_FOURCC 0x00000004 // DDPF_FOURCC +#define DDS_RGB 0x00000040 // DDPF_RGB +#define DDS_LUMINANCE 0x00020000 // DDPF_LUMINANCE +#define DDS_ALPHA 0x00000002 // DDPF_ALPHA +#define DDS_BUMPDUDV 0x00080000 // DDPF_BUMPDUDV + +#define DDS_HEADER_FLAGS_VOLUME 0x00800000 // DDSD_DEPTH + +#define DDS_HEIGHT 0x00000002 // DDSD_HEIGHT +#define DDS_WIDTH 0x00000004 // DDSD_WIDTH + +#define DDS_CUBEMAP_POSITIVEX 0x00000600 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEX +#define DDS_CUBEMAP_NEGATIVEX 0x00000a00 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEX +#define DDS_CUBEMAP_POSITIVEY 0x00001200 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEY +#define DDS_CUBEMAP_NEGATIVEY 0x00002200 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEY +#define DDS_CUBEMAP_POSITIVEZ 0x00004200 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEZ +#define DDS_CUBEMAP_NEGATIVEZ 0x00008200 // DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEZ + +#define DDS_CUBEMAP_ALLFACES ( DDS_CUBEMAP_POSITIVEX | DDS_CUBEMAP_NEGATIVEX |\ + DDS_CUBEMAP_POSITIVEY | DDS_CUBEMAP_NEGATIVEY |\ + DDS_CUBEMAP_POSITIVEZ | DDS_CUBEMAP_NEGATIVEZ ) + +#define DDS_CUBEMAP 0x00000200 // DDSCAPS2_CUBEMAP + +enum DDS_MISC_FLAGS2 +{ + DDS_MISC_FLAGS2_ALPHA_MODE_MASK = 0x7L, +}; + +struct DDS_HEADER +{ + uint32_t size; + uint32_t flags; + uint32_t height; + uint32_t width; + uint32_t pitchOrLinearSize; + uint32_t depth; // only if DDS_HEADER_FLAGS_VOLUME is set in flags + uint32_t mipMapCount; + uint32_t reserved1[11]; + DDS_PIXELFORMAT ddspf; + uint32_t caps; + uint32_t caps2; + uint32_t caps3; + uint32_t caps4; + uint32_t reserved2; +}; + +struct DDS_HEADER_DXT10 +{ + DXGI_FORMAT dxgiFormat; + uint32_t resourceDimension; + uint32_t miscFlag; // see D3D11_RESOURCE_MISC_FLAG + uint32_t arraySize; + uint32_t miscFlags2; +}; + +#pragma pack(pop) + +//-------------------------------------------------------------------------------------- +namespace +{ + struct handle_closer { void operator()(HANDLE h) { if (h) CloseHandle(h); } }; + + typedef std::unique_ptr ScopedHandle; + + inline HANDLE safe_handle( HANDLE h ) { return (h == INVALID_HANDLE_VALUE) ? nullptr : h; } + + template + inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_ const char (&name)[TNameLength]) + { + #if defined(_DEBUG) || defined(PROFILE) + resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name); + #else + UNREFERENCED_PARAMETER(resource); + UNREFERENCED_PARAMETER(name); + #endif + } + + //-------------------------------------------------------------------------------------- + HRESULT LoadTextureDataFromFile( + _In_z_ const wchar_t* fileName, + std::unique_ptr& ddsData, + const DDS_HEADER** header, + const uint8_t** bitData, + size_t* bitSize) + { + if (!header || !bitData || !bitSize) + { + return E_POINTER; + } + + // open the file +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) + ScopedHandle hFile(safe_handle(CreateFile2(fileName, + GENERIC_READ, + FILE_SHARE_READ, + OPEN_EXISTING, + nullptr))); +#else + ScopedHandle hFile(safe_handle(CreateFileW(fileName, + GENERIC_READ, + FILE_SHARE_READ, + nullptr, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + nullptr))); +#endif + + if (!hFile) + { + return HRESULT_FROM_WIN32(GetLastError()); + } + + // Get the file size + FILE_STANDARD_INFO fileInfo; + if (!GetFileInformationByHandleEx(hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo))) + { + return HRESULT_FROM_WIN32(GetLastError()); + } + + // File is too big for 32-bit allocation, so reject read + if (fileInfo.EndOfFile.HighPart > 0) + { + return E_FAIL; + } + + // Need at least enough data to fill the header and magic number to be a valid DDS + if (fileInfo.EndOfFile.LowPart < (sizeof(DDS_HEADER) + sizeof(uint32_t))) + { + return E_FAIL; + } + + // create enough space for the file data + ddsData.reset(new (std::nothrow) uint8_t[fileInfo.EndOfFile.LowPart]); + if (!ddsData) + { + return E_OUTOFMEMORY; + } + + // read the data in + DWORD BytesRead = 0; + if (!ReadFile(hFile.get(), + ddsData.get(), + fileInfo.EndOfFile.LowPart, + &BytesRead, + nullptr + )) + { + return HRESULT_FROM_WIN32(GetLastError()); + } + + if (BytesRead < fileInfo.EndOfFile.LowPart) + { + return E_FAIL; + } + + // DDS files always start with the same magic number ("DDS ") + uint32_t dwMagicNumber = *reinterpret_cast(ddsData.get()); + if (dwMagicNumber != DDS_MAGIC) + { + return E_FAIL; + } + + auto hdr = reinterpret_cast(ddsData.get() + sizeof(uint32_t)); + + // Verify header to validate DDS file + if (hdr->size != sizeof(DDS_HEADER) || + hdr->ddspf.size != sizeof(DDS_PIXELFORMAT)) + { + return E_FAIL; + } + + // Check for DX10 extension + bool bDXT10Header = false; + if ((hdr->ddspf.flags & DDS_FOURCC) && + (MAKEFOURCC('D', 'X', '1', '0') == hdr->ddspf.fourCC)) + { + // Must be long enough for both headers and magic value + if (fileInfo.EndOfFile.LowPart < (sizeof(DDS_HEADER) + sizeof(uint32_t) + sizeof(DDS_HEADER_DXT10))) + { + return E_FAIL; + } + + bDXT10Header = true; + } + + // setup the pointers in the process request + *header = hdr; + ptrdiff_t offset = sizeof(uint32_t) + sizeof(DDS_HEADER) + + (bDXT10Header ? sizeof(DDS_HEADER_DXT10) : 0); + *bitData = ddsData.get() + offset; + *bitSize = fileInfo.EndOfFile.LowPart - offset; + + return S_OK; + } + + + //-------------------------------------------------------------------------------------- + // Return the BPP for a particular format + //-------------------------------------------------------------------------------------- + size_t BitsPerPixel(_In_ DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R32G32B32A32_UINT: + case DXGI_FORMAT_R32G32B32A32_SINT: + return 128; + + case DXGI_FORMAT_R32G32B32_TYPELESS: + case DXGI_FORMAT_R32G32B32_FLOAT: + case DXGI_FORMAT_R32G32B32_UINT: + case DXGI_FORMAT_R32G32B32_SINT: + return 96; + + case DXGI_FORMAT_R16G16B16A16_TYPELESS: + case DXGI_FORMAT_R16G16B16A16_FLOAT: + case DXGI_FORMAT_R16G16B16A16_UNORM: + case DXGI_FORMAT_R16G16B16A16_UINT: + case DXGI_FORMAT_R16G16B16A16_SNORM: + case DXGI_FORMAT_R16G16B16A16_SINT: + case DXGI_FORMAT_R32G32_TYPELESS: + case DXGI_FORMAT_R32G32_FLOAT: + case DXGI_FORMAT_R32G32_UINT: + case DXGI_FORMAT_R32G32_SINT: + case DXGI_FORMAT_R32G8X24_TYPELESS: + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: + case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: + case DXGI_FORMAT_Y416: + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + return 64; + + case DXGI_FORMAT_R10G10B10A2_TYPELESS: + case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R10G10B10A2_UINT: + case DXGI_FORMAT_R11G11B10_FLOAT: + case DXGI_FORMAT_R8G8B8A8_TYPELESS: + case DXGI_FORMAT_R8G8B8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + case DXGI_FORMAT_R8G8B8A8_UINT: + case DXGI_FORMAT_R8G8B8A8_SNORM: + case DXGI_FORMAT_R8G8B8A8_SINT: + case DXGI_FORMAT_R16G16_TYPELESS: + case DXGI_FORMAT_R16G16_FLOAT: + case DXGI_FORMAT_R16G16_UNORM: + case DXGI_FORMAT_R16G16_UINT: + case DXGI_FORMAT_R16G16_SNORM: + case DXGI_FORMAT_R16G16_SINT: + case DXGI_FORMAT_R32_TYPELESS: + case DXGI_FORMAT_D32_FLOAT: + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R32_UINT: + case DXGI_FORMAT_R32_SINT: + case DXGI_FORMAT_R24G8_TYPELESS: + case DXGI_FORMAT_D24_UNORM_S8_UINT: + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X24_TYPELESS_G8_UINT: + case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: + case DXGI_FORMAT_AYUV: + case DXGI_FORMAT_Y410: + case DXGI_FORMAT_YUY2: + return 32; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + return 24; + + case DXGI_FORMAT_R8G8_TYPELESS: + case DXGI_FORMAT_R8G8_UNORM: + case DXGI_FORMAT_R8G8_UINT: + case DXGI_FORMAT_R8G8_SNORM: + case DXGI_FORMAT_R8G8_SINT: + case DXGI_FORMAT_R16_TYPELESS: + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_D16_UNORM: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + case DXGI_FORMAT_R16_SNORM: + case DXGI_FORMAT_R16_SINT: + case DXGI_FORMAT_B5G6R5_UNORM: + case DXGI_FORMAT_B5G5R5A1_UNORM: + case DXGI_FORMAT_A8P8: + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 16; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + case DXGI_FORMAT_NV11: + return 12; + + case DXGI_FORMAT_R8_TYPELESS: + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_R8_UINT: + case DXGI_FORMAT_R8_SNORM: + case DXGI_FORMAT_R8_SINT: + case DXGI_FORMAT_A8_UNORM: + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + return 8; + + case DXGI_FORMAT_R1_UNORM: + return 1; + + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + return 4; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return 8; + + default: + return 0; + } + } + + + //-------------------------------------------------------------------------------------- + // Get surface information for a particular format + //-------------------------------------------------------------------------------------- + void GetSurfaceInfo( + _In_ size_t width, + _In_ size_t height, + _In_ DXGI_FORMAT fmt, + size_t* outNumBytes, + _Out_opt_ size_t* outRowBytes, + _Out_opt_ size_t* outNumRows) + { + size_t numBytes = 0; + size_t rowBytes = 0; + size_t numRows = 0; + + bool bc = false; + bool packed = false; + bool planar = false; + size_t bpe = 0; + switch (fmt) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + bc = true; + bpe = 8; + break; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + bc = true; + bpe = 16; + break; + + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_YUY2: + packed = true; + bpe = 4; + break; + + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + packed = true; + bpe = 8; + break; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + planar = true; + bpe = 2; + break; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + planar = true; + bpe = 4; + break; + } + + if (bc) + { + size_t numBlocksWide = 0; + if (width > 0) + { + numBlocksWide = std::max(1, (width + 3) / 4); + } + size_t numBlocksHigh = 0; + if (height > 0) + { + numBlocksHigh = std::max(1, (height + 3) / 4); + } + rowBytes = numBlocksWide * bpe; + numRows = numBlocksHigh; + numBytes = rowBytes * numBlocksHigh; + } + else if (packed) + { + rowBytes = ((width + 1) >> 1) * bpe; + numRows = height; + numBytes = rowBytes * height; + } + else if (fmt == DXGI_FORMAT_NV11) + { + rowBytes = ((width + 3) >> 2) * 4; + numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data + numBytes = rowBytes * numRows; + } + else if (planar) + { + rowBytes = ((width + 1) >> 1) * bpe; + numBytes = (rowBytes * height) + ((rowBytes * height + 1) >> 1); + numRows = height + ((height + 1) >> 1); + } + else + { + size_t bpp = BitsPerPixel(fmt); + rowBytes = (width * bpp + 7) / 8; // round up to nearest byte + numRows = height; + numBytes = rowBytes * height; + } + + if (outNumBytes) + { + *outNumBytes = numBytes; + } + if (outRowBytes) + { + *outRowBytes = rowBytes; + } + if (outNumRows) + { + *outNumRows = numRows; + } + } + + + //-------------------------------------------------------------------------------------- + #define ISBITMASK( r,g,b,a ) ( ddpf.RBitMask == r && ddpf.GBitMask == g && ddpf.BBitMask == b && ddpf.ABitMask == a ) + + DXGI_FORMAT GetDXGIFormat(const DDS_PIXELFORMAT& ddpf) + { + if (ddpf.flags & DDS_RGB) + { + // Note that sRGB formats are written using the "DX10" extended header + + switch (ddpf.RGBBitCount) + { + case 32: + if (ISBITMASK(0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000)) + { + return DXGI_FORMAT_R8G8B8A8_UNORM; + } + + if (ISBITMASK(0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000)) + { + return DXGI_FORMAT_B8G8R8A8_UNORM; + } + + if (ISBITMASK(0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000)) + { + return DXGI_FORMAT_B8G8R8X8_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x000000ff,0x0000ff00,0x00ff0000,0x00000000) aka D3DFMT_X8B8G8R8 + + // Note that many common DDS reader/writers (including D3DX) swap the + // the RED/BLUE masks for 10:10:10:2 formats. We assume + // below that the 'backwards' header mask is being used since it is most + // likely written by D3DX. The more robust solution is to use the 'DX10' + // header extension and specify the DXGI_FORMAT_R10G10B10A2_UNORM format directly + + // For 'correct' writers, this should be 0x000003ff,0x000ffc00,0x3ff00000 for RGB data + if (ISBITMASK(0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000)) + { + return DXGI_FORMAT_R10G10B10A2_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x000003ff,0x000ffc00,0x3ff00000,0xc0000000) aka D3DFMT_A2R10G10B10 + + if (ISBITMASK(0x0000ffff, 0xffff0000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16G16_UNORM; + } + + if (ISBITMASK(0xffffffff, 0x00000000, 0x00000000, 0x00000000)) + { + // Only 32-bit color channel format in D3D9 was R32F + return DXGI_FORMAT_R32_FLOAT; // D3DX writes this out as a FourCC of 114 + } + break; + + case 24: + // No 24bpp DXGI formats aka D3DFMT_R8G8B8 + break; + + case 16: + if (ISBITMASK(0x7c00, 0x03e0, 0x001f, 0x8000)) + { + return DXGI_FORMAT_B5G5R5A1_UNORM; + } + if (ISBITMASK(0xf800, 0x07e0, 0x001f, 0x0000)) + { + return DXGI_FORMAT_B5G6R5_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x7c00,0x03e0,0x001f,0x0000) aka D3DFMT_X1R5G5B5 + + if (ISBITMASK(0x0f00, 0x00f0, 0x000f, 0xf000)) + { + return DXGI_FORMAT_B4G4R4A4_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x0f00,0x00f0,0x000f,0x0000) aka D3DFMT_X4R4G4B4 + + // No 3:3:2, 3:3:2:8, or paletted DXGI formats aka D3DFMT_A8R3G3B2, D3DFMT_R3G3B2, D3DFMT_P8, D3DFMT_A8P8, etc. + break; + } + } + else if (ddpf.flags & DDS_LUMINANCE) + { + if (8 == ddpf.RGBBitCount) + { + if (ISBITMASK(0x000000ff, 0x00000000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R8_UNORM; // D3DX10/11 writes this out as DX10 extension + } + + // No DXGI format maps to ISBITMASK(0x0f,0x00,0x00,0xf0) aka D3DFMT_A4L4 + + if (ISBITMASK(0x000000ff, 0x00000000, 0x00000000, 0x0000ff00)) + { + return DXGI_FORMAT_R8G8_UNORM; // Some DDS writers assume the bitcount should be 8 instead of 16 + } + } + + if (16 == ddpf.RGBBitCount) + { + if (ISBITMASK(0x0000ffff, 0x00000000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16_UNORM; // D3DX10/11 writes this out as DX10 extension + } + if (ISBITMASK(0x000000ff, 0x00000000, 0x00000000, 0x0000ff00)) + { + return DXGI_FORMAT_R8G8_UNORM; // D3DX10/11 writes this out as DX10 extension + } + } + } + else if (ddpf.flags & DDS_ALPHA) + { + if (8 == ddpf.RGBBitCount) + { + return DXGI_FORMAT_A8_UNORM; + } + } + else if (ddpf.flags & DDS_BUMPDUDV) + { + if (16 == ddpf.RGBBitCount) + { + if (ISBITMASK(0x00ff, 0xff00, 0x0000, 0x0000)) + { + return DXGI_FORMAT_R8G8_SNORM; // D3DX10/11 writes this out as DX10 extension + } + } + + if (32 == ddpf.RGBBitCount) + { + if (ISBITMASK(0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000)) + { + return DXGI_FORMAT_R8G8B8A8_SNORM; // D3DX10/11 writes this out as DX10 extension + } + if (ISBITMASK(0x0000ffff, 0xffff0000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16G16_SNORM; // D3DX10/11 writes this out as DX10 extension + } + + // No DXGI format maps to ISBITMASK(0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000) aka D3DFMT_A2W10V10U10 + } + } + else if (ddpf.flags & DDS_FOURCC) + { + if (MAKEFOURCC('D', 'X', 'T', '1') == ddpf.fourCC) + { + return DXGI_FORMAT_BC1_UNORM; + } + if (MAKEFOURCC('D', 'X', 'T', '3') == ddpf.fourCC) + { + return DXGI_FORMAT_BC2_UNORM; + } + if (MAKEFOURCC('D', 'X', 'T', '5') == ddpf.fourCC) + { + return DXGI_FORMAT_BC3_UNORM; + } + + // While pre-multiplied alpha isn't directly supported by the DXGI formats, + // they are basically the same as these BC formats so they can be mapped + if (MAKEFOURCC('D', 'X', 'T', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_BC2_UNORM; + } + if (MAKEFOURCC('D', 'X', 'T', '4') == ddpf.fourCC) + { + return DXGI_FORMAT_BC3_UNORM; + } + + if (MAKEFOURCC('A', 'T', 'I', '1') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_UNORM; + } + if (MAKEFOURCC('B', 'C', '4', 'U') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_UNORM; + } + if (MAKEFOURCC('B', 'C', '4', 'S') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_SNORM; + } + + if (MAKEFOURCC('A', 'T', 'I', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_UNORM; + } + if (MAKEFOURCC('B', 'C', '5', 'U') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_UNORM; + } + if (MAKEFOURCC('B', 'C', '5', 'S') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_SNORM; + } + + // BC6H and BC7 are written using the "DX10" extended header + + if (MAKEFOURCC('R', 'G', 'B', 'G') == ddpf.fourCC) + { + return DXGI_FORMAT_R8G8_B8G8_UNORM; + } + if (MAKEFOURCC('G', 'R', 'G', 'B') == ddpf.fourCC) + { + return DXGI_FORMAT_G8R8_G8B8_UNORM; + } + + if (MAKEFOURCC('Y', 'U', 'Y', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_YUY2; + } + + // Check for D3DFORMAT enums being set here + switch (ddpf.fourCC) + { + case 36: // D3DFMT_A16B16G16R16 + return DXGI_FORMAT_R16G16B16A16_UNORM; + + case 110: // D3DFMT_Q16W16V16U16 + return DXGI_FORMAT_R16G16B16A16_SNORM; + + case 111: // D3DFMT_R16F + return DXGI_FORMAT_R16_FLOAT; + + case 112: // D3DFMT_G16R16F + return DXGI_FORMAT_R16G16_FLOAT; + + case 113: // D3DFMT_A16B16G16R16F + return DXGI_FORMAT_R16G16B16A16_FLOAT; + + case 114: // D3DFMT_R32F + return DXGI_FORMAT_R32_FLOAT; + + case 115: // D3DFMT_G32R32F + return DXGI_FORMAT_R32G32_FLOAT; + + case 116: // D3DFMT_A32B32G32R32F + return DXGI_FORMAT_R32G32B32A32_FLOAT; + } + } + + return DXGI_FORMAT_UNKNOWN; + } + + + //-------------------------------------------------------------------------------------- + DXGI_FORMAT MakeSRGB(_In_ DXGI_FORMAT format) + { + switch (format) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: + return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + + case DXGI_FORMAT_BC1_UNORM: + return DXGI_FORMAT_BC1_UNORM_SRGB; + + case DXGI_FORMAT_BC2_UNORM: + return DXGI_FORMAT_BC2_UNORM_SRGB; + + case DXGI_FORMAT_BC3_UNORM: + return DXGI_FORMAT_BC3_UNORM_SRGB; + + case DXGI_FORMAT_B8G8R8A8_UNORM: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; + + case DXGI_FORMAT_B8G8R8X8_UNORM: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; + + case DXGI_FORMAT_BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM_SRGB; + + default: + return format; + } + } + + + //-------------------------------------------------------------------------------------- + HRESULT FillInitData( + _In_ size_t width, + _In_ size_t height, + _In_ size_t depth, + _In_ size_t mipCount, + _In_ size_t arraySize, + _In_ DXGI_FORMAT format, + _In_ size_t maxsize, + _In_ size_t bitSize, + _In_reads_bytes_(bitSize) const uint8_t* bitData, + _Out_ size_t& twidth, + _Out_ size_t& theight, + _Out_ size_t& tdepth, + _Out_ size_t& skipMip, + _Out_writes_(mipCount*arraySize) D3D11_SUBRESOURCE_DATA* initData) + { + if (!bitData || !initData) + { + return E_POINTER; + } + + skipMip = 0; + twidth = 0; + theight = 0; + tdepth = 0; + + size_t NumBytes = 0; + size_t RowBytes = 0; + const uint8_t* pSrcBits = bitData; + const uint8_t* pEndBits = bitData + bitSize; + + size_t index = 0; + for (size_t j = 0; j < arraySize; j++) + { + size_t w = width; + size_t h = height; + size_t d = depth; + for (size_t i = 0; i < mipCount; i++) + { + GetSurfaceInfo(w, + h, + format, + &NumBytes, + &RowBytes, + nullptr + ); + + if ((mipCount <= 1) || !maxsize || (w <= maxsize && h <= maxsize && d <= maxsize)) + { + if (!twidth) + { + twidth = w; + theight = h; + tdepth = d; + } + + assert(index < mipCount * arraySize); + _Analysis_assume_(index < mipCount * arraySize); + initData[index].pSysMem = (const void*)pSrcBits; + initData[index].SysMemPitch = static_cast(RowBytes); + initData[index].SysMemSlicePitch = static_cast(NumBytes); + ++index; + } + else if (!j) + { + // Count number of skipped mipmaps (first item only) + ++skipMip; + } + + if (pSrcBits + (NumBytes*d) > pEndBits) + { + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + + pSrcBits += NumBytes * d; + + w = w >> 1; + h = h >> 1; + d = d >> 1; + if (w == 0) + { + w = 1; + } + if (h == 0) + { + h = 1; + } + if (d == 0) + { + d = 1; + } + } + } + + return (index > 0) ? S_OK : E_FAIL; + } + + + //-------------------------------------------------------------------------------------- + HRESULT CreateD3DResources( + _In_ ID3D11Device* d3dDevice, + _In_ uint32_t resDim, + _In_ size_t width, + _In_ size_t height, + _In_ size_t depth, + _In_ size_t mipCount, + _In_ size_t arraySize, + _In_ DXGI_FORMAT format, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _In_ bool isCubeMap, + _In_reads_opt_(mipCount*arraySize) D3D11_SUBRESOURCE_DATA* initData, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) + { + if (!d3dDevice) + return E_POINTER; + + HRESULT hr = E_FAIL; + + if (forceSRGB) + { + format = MakeSRGB(format); + } + + switch (resDim) + { + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + { + D3D11_TEXTURE1D_DESC desc; + desc.Width = static_cast(width); + desc.MipLevels = static_cast(mipCount); + desc.ArraySize = static_cast(arraySize); + desc.Format = format; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + + ID3D11Texture1D* tex = nullptr; + hr = d3dDevice->CreateTexture1D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) + { + if (textureView != 0) + { + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; + + if (arraySize > 1) + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1DARRAY; + SRVDesc.Texture1DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + SRVDesc.Texture1DArray.ArraySize = static_cast(arraySize); + } + else + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; + SRVDesc.Texture1D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + } + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) + { + tex->Release(); + return hr; + } + } + + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); + } + } + } + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + { + D3D11_TEXTURE2D_DESC desc; + desc.Width = static_cast(width); + desc.Height = static_cast(height); + desc.MipLevels = static_cast(mipCount); + desc.ArraySize = static_cast(arraySize); + desc.Format = format; + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + if (isCubeMap) + { + desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_TEXTURECUBE; + } + else + { + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + } + + ID3D11Texture2D* tex = nullptr; + hr = d3dDevice->CreateTexture2D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) + { + if (textureView != 0) + { + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; + + if (isCubeMap) + { + if (arraySize > 6) + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBEARRAY; + SRVDesc.TextureCubeArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + + // Earlier we set arraySize to (NumCubes * 6) + SRVDesc.TextureCubeArray.NumCubes = static_cast(arraySize / 6); + } + else + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE; + SRVDesc.TextureCube.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + } + } + else if (arraySize > 1) + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; + SRVDesc.Texture2DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + SRVDesc.Texture2DArray.ArraySize = static_cast(arraySize); + } + else + { + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + SRVDesc.Texture2D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + } + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) + { + tex->Release(); + return hr; + } + } + + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); + } + } + } + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + { + D3D11_TEXTURE3D_DESC desc; + desc.Width = static_cast(width); + desc.Height = static_cast(height); + desc.Depth = static_cast(depth); + desc.MipLevels = static_cast(mipCount); + desc.Format = format; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + + ID3D11Texture3D* tex = nullptr; + hr = d3dDevice->CreateTexture3D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) + { + if (textureView != 0) + { + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; + + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; + SRVDesc.Texture3D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) + { + tex->Release(); + return hr; + } + } + + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); + } + } + } + break; + } + + return hr; + } + + + //-------------------------------------------------------------------------------------- + HRESULT CreateTextureFromDDS( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ const DDS_HEADER* header, + _In_reads_bytes_(bitSize) const uint8_t* bitData, + _In_ size_t bitSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) + { + HRESULT hr = S_OK; + + UINT width = header->width; + UINT height = header->height; + UINT depth = header->depth; + + uint32_t resDim = D3D11_RESOURCE_DIMENSION_UNKNOWN; + UINT arraySize = 1; + DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN; + bool isCubeMap = false; + + size_t mipCount = header->mipMapCount; + if (0 == mipCount) + { + mipCount = 1; + } + + if ((header->ddspf.flags & DDS_FOURCC) && + (MAKEFOURCC('D', 'X', '1', '0') == header->ddspf.fourCC)) + { + auto d3d10ext = reinterpret_cast((const char*)header + sizeof(DDS_HEADER)); + + arraySize = d3d10ext->arraySize; + if (arraySize == 0) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); + } + + switch (d3d10ext->dxgiFormat) + { + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + case DXGI_FORMAT_A8P8: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + + default: + if (BitsPerPixel(d3d10ext->dxgiFormat) == 0) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + } + + format = d3d10ext->dxgiFormat; + + switch (d3d10ext->resourceDimension) + { + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + // D3DX writes 1D textures with a fixed Height of 1 + if ((header->flags & DDS_HEIGHT) && height != 1) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); + } + height = depth = 1; + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + if (d3d10ext->miscFlag & D3D11_RESOURCE_MISC_TEXTURECUBE) + { + arraySize *= 6; + isCubeMap = true; + } + depth = 1; + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + if (!(header->flags & DDS_HEADER_FLAGS_VOLUME)) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); + } + + if (arraySize > 1) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; + + default: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + resDim = d3d10ext->resourceDimension; + } + else + { + format = GetDXGIFormat(header->ddspf); + + if (format == DXGI_FORMAT_UNKNOWN) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + if (header->flags & DDS_HEADER_FLAGS_VOLUME) + { + resDim = D3D11_RESOURCE_DIMENSION_TEXTURE3D; + } + else + { + if (header->caps2 & DDS_CUBEMAP) + { + // We require all six faces to be defined + if ((header->caps2 & DDS_CUBEMAP_ALLFACES) != DDS_CUBEMAP_ALLFACES) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + arraySize = 6; + isCubeMap = true; + } + + depth = 1; + resDim = D3D11_RESOURCE_DIMENSION_TEXTURE2D; + + // Note there's no way for a legacy Direct3D 9 DDS to express a '1D' texture + } + + assert(BitsPerPixel(format) != 0); + } + + // Bound sizes (for security purposes we don't trust DDS file metadata larger than the D3D 11.x hardware requirements) + if (mipCount > D3D11_REQ_MIP_LEVELS) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + switch (resDim) + { + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + if ((arraySize > D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURE1D_U_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + if (isCubeMap) + { + // This is the right bound because we set arraySize to (NumCubes*6) above + if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURECUBE_DIMENSION) || + (height > D3D11_REQ_TEXTURECUBE_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + } + else if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION) || + (height > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + if ((arraySize > 1) || + (width > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || + (height > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || + (depth > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; + + default: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + bool autogen = false; + if (mipCount == 1 && d3dContext != 0 && textureView != 0) // Must have context and shader-view to auto generate mipmaps + { + // See if format is supported for auto-gen mipmaps (varies by feature level) + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(format, &fmtSupport); + if (SUCCEEDED(hr) && (fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) + { + // 10level9 feature levels do not support auto-gen mipgen for volume textures + if ((resDim != D3D11_RESOURCE_DIMENSION_TEXTURE3D) + || (d3dDevice->GetFeatureLevel() >= D3D_FEATURE_LEVEL_10_0)) + { + autogen = true; + } + } + } + + if (autogen) + { + // Create texture with auto-generated mipmaps + ID3D11Resource* tex = nullptr; + hr = CreateD3DResources(d3dDevice, resDim, width, height, depth, 0, arraySize, + format, usage, + bindFlags | D3D11_BIND_RENDER_TARGET, + cpuAccessFlags, + miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS, forceSRGB, + isCubeMap, nullptr, &tex, textureView); + if (SUCCEEDED(hr)) + { + size_t numBytes = 0; + size_t rowBytes = 0; + GetSurfaceInfo(width, height, format, &numBytes, &rowBytes, nullptr); + + if (numBytes > bitSize) + { + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + (*textureView)->GetDesc(&desc); + + UINT mipLevels = 1; + + switch (desc.ViewDimension) + { + case D3D_SRV_DIMENSION_TEXTURE1D: mipLevels = desc.Texture1D.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE1DARRAY: mipLevels = desc.Texture1DArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE2D: mipLevels = desc.Texture2D.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE2DARRAY: mipLevels = desc.Texture2DArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURECUBE: mipLevels = desc.TextureCube.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURECUBEARRAY:mipLevels = desc.TextureCubeArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE3D: mipLevels = desc.Texture3D.MipLevels; break; + default: + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return E_UNEXPECTED; + } + + if (arraySize > 1) + { + const uint8_t* pSrcBits = bitData; + const uint8_t* pEndBits = bitData + bitSize; + for (UINT item = 0; item < arraySize; ++item) + { + if ((pSrcBits + numBytes) > pEndBits) + { + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + + UINT res = D3D11CalcSubresource(0, item, mipLevels); + d3dContext->UpdateSubresource(tex, res, nullptr, pSrcBits, static_cast(rowBytes), static_cast(numBytes)); + pSrcBits += numBytes; + } + } + else + { + d3dContext->UpdateSubresource(tex, 0, nullptr, bitData, static_cast(rowBytes), static_cast(numBytes)); + } + + d3dContext->GenerateMips(*textureView); + + if (texture) + { + *texture = tex; + } + else + { + tex->Release(); + } + } + } + else + { + // Create the texture + std::unique_ptr initData(new (std::nothrow) D3D11_SUBRESOURCE_DATA[mipCount * arraySize]); + if (!initData) + { + return E_OUTOFMEMORY; + } + + size_t skipMip = 0; + size_t twidth = 0; + size_t theight = 0; + size_t tdepth = 0; + hr = FillInitData(width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, + twidth, theight, tdepth, skipMip, initData.get()); + + if (SUCCEEDED(hr)) + { + hr = CreateD3DResources(d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, + format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + isCubeMap, initData.get(), texture, textureView); + + if (FAILED(hr) && !maxsize && (mipCount > 1)) + { + // Retry with a maxsize determined by feature level + switch (d3dDevice->GetFeatureLevel()) + { + case D3D_FEATURE_LEVEL_9_1: + case D3D_FEATURE_LEVEL_9_2: + if (isCubeMap) + { + maxsize = 512 /*D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION*/; + } + else + { + maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) + ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 2048 /*D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + } + break; + + case D3D_FEATURE_LEVEL_9_3: + maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) + ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 4096 /*D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + + default: // D3D_FEATURE_LEVEL_10_0 & D3D_FEATURE_LEVEL_10_1 + maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) + ? 2048 /*D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 8192 /*D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + } + + hr = FillInitData(width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, + twidth, theight, tdepth, skipMip, initData.get()); + if (SUCCEEDED(hr)) + { + hr = CreateD3DResources(d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, + format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + isCubeMap, initData.get(), texture, textureView); + } + } + } + } + + return hr; + } + + + //-------------------------------------------------------------------------------------- + DDS_ALPHA_MODE GetAlphaMode(_In_ const DDS_HEADER* header) + { + if (header->ddspf.flags & DDS_FOURCC) + { + if (MAKEFOURCC('D', 'X', '1', '0') == header->ddspf.fourCC) + { + auto d3d10ext = reinterpret_cast((const char*)header + sizeof(DDS_HEADER)); + auto mode = static_cast(d3d10ext->miscFlags2 & DDS_MISC_FLAGS2_ALPHA_MODE_MASK); + switch (mode) + { + case DDS_ALPHA_MODE_STRAIGHT: + case DDS_ALPHA_MODE_PREMULTIPLIED: + case DDS_ALPHA_MODE_OPAQUE: + case DDS_ALPHA_MODE_CUSTOM: + return mode; + } + } + else if ((MAKEFOURCC('D', 'X', 'T', '2') == header->ddspf.fourCC) + || (MAKEFOURCC('D', 'X', 'T', '4') == header->ddspf.fourCC)) + { + return DDS_ALPHA_MODE_PREMULTIPLIED; + } + } + + return DDS_ALPHA_MODE_UNKNOWN; + } +} // anonymous namespace + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromMemory(ID3D11Device* d3dDevice, + const uint8_t* ddsData, + size_t ddsDataSize, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromMemoryEx(d3dDevice, nullptr, ddsData, ddsDataSize, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromMemory(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const uint8_t* ddsData, + size_t ddsDataSize, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromMemoryEx(d3dDevice, d3dContext, ddsData, ddsDataSize, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromMemoryEx(ID3D11Device* d3dDevice, + const uint8_t* ddsData, + size_t ddsDataSize, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + bool forceSRGB, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromMemoryEx(d3dDevice, nullptr, ddsData, ddsDataSize, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromMemoryEx(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const uint8_t* ddsData, + size_t ddsDataSize, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + bool forceSRGB, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + DDS_ALPHA_MODE* alphaMode) +{ + if (texture) + { + *texture = nullptr; + } + if (textureView) + { + *textureView = nullptr; + } + if (alphaMode) + { + *alphaMode = DDS_ALPHA_MODE_UNKNOWN; + } + + if (!d3dDevice || !ddsData || (!texture && !textureView)) + { + return E_INVALIDARG; + } + + // Validate DDS file in memory + if (ddsDataSize < (sizeof(uint32_t) + sizeof(DDS_HEADER))) + { + return E_FAIL; + } + + uint32_t dwMagicNumber = *(const uint32_t*)(ddsData); + if (dwMagicNumber != DDS_MAGIC) + { + return E_FAIL; + } + + auto header = reinterpret_cast(ddsData + sizeof(uint32_t)); + + // Verify header to validate DDS file + if (header->size != sizeof(DDS_HEADER) || + header->ddspf.size != sizeof(DDS_PIXELFORMAT)) + { + return E_FAIL; + } + + // Check for DX10 extension + bool bDXT10Header = false; + if ((header->ddspf.flags & DDS_FOURCC) && + (MAKEFOURCC('D', 'X', '1', '0') == header->ddspf.fourCC)) + { + // Must be long enough for both headers and magic value + if (ddsDataSize < (sizeof(DDS_HEADER) + sizeof(uint32_t) + sizeof(DDS_HEADER_DXT10))) + { + return E_FAIL; + } + + bDXT10Header = true; + } + + ptrdiff_t offset = sizeof(uint32_t) + + sizeof(DDS_HEADER) + + (bDXT10Header ? sizeof(DDS_HEADER_DXT10) : 0); + + HRESULT hr = CreateTextureFromDDS(d3dDevice, d3dContext, header, + ddsData + offset, ddsDataSize - offset, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + texture, textureView); + if (SUCCEEDED(hr)) + { + if (texture != 0 && *texture != 0) + { + SetDebugObjectName(*texture, "DDSTextureLoader"); + } + + if (textureView != 0 && *textureView != 0) + { + SetDebugObjectName(*textureView, "DDSTextureLoader"); + } + + if (alphaMode) + *alphaMode = GetAlphaMode(header); + } + + return hr; +} + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromFile(ID3D11Device* d3dDevice, + const wchar_t* fileName, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromFileEx(d3dDevice, nullptr, fileName, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromFile(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const wchar_t* fileName, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromFileEx(d3dDevice, d3dContext, fileName, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromFileEx(ID3D11Device* d3dDevice, + const wchar_t* fileName, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + bool forceSRGB, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + DDS_ALPHA_MODE* alphaMode) +{ + return CreateDDSTextureFromFileEx(d3dDevice, nullptr, fileName, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + texture, textureView, alphaMode); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateDDSTextureFromFileEx(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const wchar_t* fileName, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + bool forceSRGB, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + DDS_ALPHA_MODE* alphaMode) +{ + if (texture) + { + *texture = nullptr; + } + if (textureView) + { + *textureView = nullptr; + } + if (alphaMode) + { + *alphaMode = DDS_ALPHA_MODE_UNKNOWN; + } + + if (!d3dDevice || !fileName || (!texture && !textureView)) + { + return E_INVALIDARG; + } + + const DDS_HEADER* header = nullptr; + const uint8_t* bitData = nullptr; + size_t bitSize = 0; + + std::unique_ptr ddsData; + HRESULT hr = LoadTextureDataFromFile(fileName, + ddsData, + &header, + &bitData, + &bitSize + ); + if (FAILED(hr)) + { + return hr; + } + + hr = CreateTextureFromDDS(d3dDevice, d3dContext, header, + bitData, bitSize, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + texture, textureView); + + if (SUCCEEDED(hr)) + { +#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) + if (texture != 0 || textureView != 0) + { + CHAR strFileA[MAX_PATH]; + int result = WideCharToMultiByte(CP_ACP, + WC_NO_BEST_FIT_CHARS, + fileName, + -1, + strFileA, + MAX_PATH, + nullptr, + FALSE + ); + if (result > 0) + { + const CHAR* pstrName = strrchr(strFileA, '\\'); + if (!pstrName) + { + pstrName = strFileA; + } + else + { + pstrName++; + } + + if (texture != 0 && *texture != 0) + { + (*texture)->SetPrivateData(WKPDID_D3DDebugObjectName, + static_cast(strnlen_s(pstrName, MAX_PATH)), + pstrName + ); + } + + if (textureView != 0 && *textureView != 0) + { + (*textureView)->SetPrivateData(WKPDID_D3DDebugObjectName, + static_cast(strnlen_s(pstrName, MAX_PATH)), + pstrName + ); + } + } + } +#endif + + if (alphaMode) + *alphaMode = GetAlphaMode(header); + } + + return hr; +} diff --git a/FriedLiver/Source/DXUT/Core/DDSTextureLoader.h b/FriedLiver/Source/DXUT/Core/DDSTextureLoader.h new file mode 100644 index 00000000..0b5cb19d --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DDSTextureLoader.h @@ -0,0 +1,129 @@ +//-------------------------------------------------------------------------------------- +// File: DDSTextureLoader.h +// +// Functions for loading a DDS texture and creating a Direct3D runtime resource for it +// +// Note these functions are useful as a light-weight runtime loader for DDS files. For +// a full-featured DDS file reader, writer, and texture processing pipeline see +// the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#pragma once + +#include +#include + + +namespace DirectX +{ + enum DDS_ALPHA_MODE + { + DDS_ALPHA_MODE_UNKNOWN = 0, + DDS_ALPHA_MODE_STRAIGHT = 1, + DDS_ALPHA_MODE_PREMULTIPLIED = 2, + DDS_ALPHA_MODE_OPAQUE = 3, + DDS_ALPHA_MODE_CUSTOM = 4, + }; + + // Standard version + HRESULT CreateDDSTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + HRESULT CreateDDSTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + // Standard version with optional auto-gen mipmap support + HRESULT CreateDDSTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + HRESULT CreateDDSTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + // Extended version + HRESULT CreateDDSTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + HRESULT CreateDDSTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + // Extended version with optional auto-gen mipmap support + HRESULT CreateDDSTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + + HRESULT CreateDDSTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); +} \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT.cpp b/FriedLiver/Source/DXUT/Core/DXUT.cpp index d57eef55..7daa85b5 100644 --- a/FriedLiver/Source/DXUT/Core/DXUT.cpp +++ b/FriedLiver/Source/DXUT/Core/DXUT.cpp @@ -2,22 +2,20 @@ // File: DXUT.cpp // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" + +#ifndef NDEBUG +#include +#endif + #define DXUT_MIN_WINDOW_SIZE_X 200 #define DXUT_MIN_WINDOW_SIZE_Y 200 #define DXUT_COUNTER_STAT_LENGTH 2048 -#undef min // use __min instead inside this source file -#undef max // use __max instead inside this source file -#ifndef ARRAYSIZE -extern "C++" // templates cannot be declared to have 'C' linkage -template -char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N]; - -#define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A))) -#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A) -#endif //-------------------------------------------------------------------------------------- // Thread safety @@ -32,8 +30,10 @@ bool g_bThreadSafe = true; class DXUTLock { public: - inline DXUTLock() { if( g_bThreadSafe ) EnterCriticalSection( &g_cs ); } - inline ~DXUTLock() { if( g_bThreadSafe ) LeaveCriticalSection( &g_cs ); } +#pragma prefast( suppress:26166, "g_bThreadSafe controls behavior" ) + inline _Acquires_lock_(g_cs) DXUTLock() noexcept { if( g_bThreadSafe ) EnterCriticalSection( &g_cs ); } +#pragma prefast( suppress:26165, "g_bThreadSafe controls behavior" ) + inline _Releases_lock_(g_cs) ~DXUTLock() { if( g_bThreadSafe ) LeaveCriticalSection( &g_cs ); } }; //-------------------------------------------------------------------------------------- @@ -47,6 +47,7 @@ class DXUTLock #define GETP_ACCESSOR( x, y ) inline x* Get##y() { DXUTLock l; return &m_state.m_##y; }; #define GETP_SETP_ACCESSOR( x, y ) SETP_ACCESSOR( x, y ) GETP_ACCESSOR( x, y ) + //-------------------------------------------------------------------------------------- // Stores timer callback info //-------------------------------------------------------------------------------------- @@ -60,6 +61,7 @@ struct DXUT_TIMER UINT nID; }; + //-------------------------------------------------------------------------------------- // Stores DXUT state and data access is done with thread safety (if g_bThreadSafe==true) //-------------------------------------------------------------------------------------- @@ -68,16 +70,9 @@ class DXUTState protected: struct STATE { - // D3D9 specific - IDirect3D9* m_D3D9; // the main D3D9 object - IDirect3DDevice9* m_D3D9Device; // the D3D9 rendering device DXUTDeviceSettings* m_CurrentDeviceSettings; // current device settings - D3DSURFACE_DESC m_BackBufferSurfaceDesc9; // D3D9 back buffer surface description - D3DCAPS9 m_Caps; // D3D caps for current device - - // D3D11 specific - IDXGIFactory1* m_DXGIFactory; // DXGI Factory object - IDXGIAdapter1* m_DXGIAdapter; // The DXGI adapter object for the D3D11 device + IDXGIFactory1* m_DXGIFactory; // DXGI Factory object + IDXGIAdapter1* m_DXGIAdapter; // The DXGI adapter object for the D3D11 device IDXGIOutput** m_DXGIOutputArray; // The array of output obj for the D3D11 adapter obj UINT m_DXGIOutputArraySize; // Number of elements in m_D3D11OutputArray IDXGISwapChain* m_DXGISwapChain; // the D3D11 swapchain @@ -86,15 +81,34 @@ class DXUTState bool m_DoNotStoreBufferSize; // Do not store the buffer size on WM_SIZE messages // D3D11 specific - bool m_D3D11Available; // if true, then D3D11 is available - ID3D11Device* m_D3D11Device; // the D3D11 rendering device + ID3D11Device* m_D3D11Device; // the D3D11 rendering device ID3D11DeviceContext* m_D3D11DeviceContext; // the D3D11 immediate device context - D3D_FEATURE_LEVEL m_D3D11FeatureLevel; // the D3D11 feature level that this device supports + D3D_FEATURE_LEVEL m_D3D11FeatureLevel; // the D3D11 feature level that this device supports ID3D11Texture2D* m_D3D11DepthStencil; // the D3D11 depth stencil texture (optional) ID3D11DepthStencilView* m_D3D11DepthStencilView; // the D3D11 depth stencil view (optional) ID3D11RenderTargetView* m_D3D11RenderTargetView; // the D3D11 render target view ID3D11RasterizerState* m_D3D11RasterizerState; // the D3D11 Rasterizer state + // D3D11.1 specific + ID3D11Device1* m_D3D11Device1; // the D3D11.1 rendering device + ID3D11DeviceContext1* m_D3D11DeviceContext1; // the D3D11.1 immediate device context + + // D3D11.2 specific + ID3D11Device2* m_D3D11Device2; // the D3D11.2 rendering device + ID3D11DeviceContext2* m_D3D11DeviceContext2; // the D3D11.2 immediate device context + +#ifdef USE_DIRECT3D11_3 + // D3D11.3 specific + ID3D11Device3* m_D3D11Device3; // the D3D11.3 rendering device + ID3D11DeviceContext3* m_D3D11DeviceContext3; // the D3D11.3 immediate device context +#endif + +#ifdef USE_DIRECT3D11_4 + // D3D11.4 specific + ID3D11Device4* m_D3D11Device4; // the D3D11.4 rendering device + ID3D11DeviceContext4* m_D3D11DeviceContext4; // the D3D11.4 immediate device context +#endif + // General HWND m_HWNDFocus; // the main app focus window HWND m_HWNDDeviceFullScreen; // the main app device window in fullscreen mode @@ -132,10 +146,6 @@ class DXUTState TOGGLEKEYS m_StartupToggleKeys; // ToggleKey settings upon startup so they can be restored later FILTERKEYS m_StartupFilterKeys; // FilterKey settings upon startup so they can be restored later - bool m_AppSupportsD3D9Override; // true if app sets via DXUTSetD3DVersionSupport() - bool m_AppSupportsD3D11Override; // true if app sets via DXUTSetD3DVersionSupport() - bool m_UseD3DVersionOverride; // true if the app ever calls DXUTSetD3DVersionSupport() - bool m_HandleEscape; // if true, then DXUT will handle escape to quit bool m_HandleAltEnter; // if true, then DXUT will handle alt-enter to toggle fullscreen bool m_HandlePause; // if true, then DXUT will handle pause to toggle time pausing @@ -152,11 +162,11 @@ class DXUTState bool m_DXUTInited; // if true, then DXUTInit() has succeeded bool m_WindowCreated; // if true, then DXUTCreateWindow() or DXUTSetWindow() has succeeded - bool m_DeviceCreated; // if true, then DXUTCreateDevice() or DXUTSetD3D*Device() has succeeded + bool m_DeviceCreated; // if true, then DXUTCreateDevice() has succeeded bool m_DXUTInitCalled; // if true, then DXUTInit() was called bool m_WindowCreateCalled; // if true, then DXUTCreateWindow() or DXUTSetWindow() was called - bool m_DeviceCreateCalled; // if true, then DXUTCreateDevice() or DXUTSetD3D*Device() was called + bool m_DeviceCreateCalled; // if true, then DXUTCreateDevice() was called bool m_DeviceObjectsCreated; // if true, then DeviceCreated callback has been called (if non-NULL) bool m_DeviceObjectsReset; // if true, then DeviceReset callback has been called (if non-NULL) @@ -179,7 +189,6 @@ class DXUTState bool m_SaveScreenShot; // command line save screen shot bool m_ExitAfterScreenShot; // command line exit after screen shot - int m_OverrideForceAPI; // if != -1, then override to use this Direct3D API version int m_OverrideAdapterOrdinal; // if != -1, then override to use this adapter ordinal bool m_OverrideWindowed; // if true, then force to start windowed int m_OverrideOutput; // if != -1, then override to use the particular output on the adapter @@ -190,14 +199,14 @@ class DXUTState int m_OverrideHeight; // if != 0, then override to this height bool m_OverrideForceHAL; // if true, then force to HAL device (failing if one doesn't exist) bool m_OverrideForceREF; // if true, then force to REF device (failing if one doesn't exist) + bool m_OverrideForceWARP; // if true, then force to WARP device (failing if one doesn't exist) bool m_OverrideConstantFrameTime; // if true, then force to constant frame time float m_OverrideConstantTimePerFrame; // the constant time per frame in seconds if m_OverrideConstantFrameTime==true int m_OverrideQuitAfterFrame; // if != 0, then it will force the app to quit after that frame int m_OverrideForceVsync; // if == 0, then it will force the app to use D3DPRESENT_INTERVAL_IMMEDIATE, if == 1 force use of D3DPRESENT_INTERVAL_DEFAULT - bool m_OverrideRelaunchMCE; // if true, then force relaunch of MCE at exit bool m_AppCalledWasKeyPressed; // true if the app ever calls DXUTWasKeyPressed(). Allows for optimzation - bool m_ReleasingSwapChain; // if true, the app is releasing its swapchain - bool m_IsInGammaCorrectMode; // Tell DXUTRes and DXUTMisc that we are in gamma correct mode + bool m_ReleasingSwapChain; // if true, the app is releasing its swapchain + bool m_IsInGammaCorrectMode; // Tell DXUTRes and DXUTMisc that we are in gamma correct mode LPDXUTCALLBACKMODIFYDEVICESETTINGS m_ModifyDeviceSettingsFunc; // modify Direct3D device settings callback LPDXUTCALLBACKDEVICEREMOVED m_DeviceRemovedFunc; // Direct3D device removed callback @@ -206,13 +215,6 @@ class DXUTState LPDXUTCALLBACKMOUSE m_MouseFunc; // mouse callback LPDXUTCALLBACKMSGPROC m_WindowMsgFunc; // window messages callback - LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE m_IsD3D9DeviceAcceptableFunc; // D3D9 is device acceptable callback - LPDXUTCALLBACKD3D9DEVICECREATED m_D3D9DeviceCreatedFunc; // D3D9 device created callback - LPDXUTCALLBACKD3D9DEVICERESET m_D3D9DeviceResetFunc; // D3D9 device reset callback - LPDXUTCALLBACKD3D9DEVICELOST m_D3D9DeviceLostFunc; // D3D9 device lost callback - LPDXUTCALLBACKD3D9DEVICEDESTROYED m_D3D9DeviceDestroyedFunc; // D3D9 device destroyed callback - LPDXUTCALLBACKD3D9FRAMERENDER m_D3D9FrameRenderFunc; // D3D9 frame render callback - LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE m_IsD3D11DeviceAcceptableFunc; // D3D11 is device acceptable callback LPDXUTCALLBACKD3D11DEVICECREATED m_D3D11DeviceCreatedFunc; // D3D11 device created callback LPDXUTCALLBACKD3D11SWAPCHAINRESIZED m_D3D11SwapChainResizedFunc; // D3D11 SwapChain reset callback @@ -220,7 +222,6 @@ class DXUTState LPDXUTCALLBACKD3D11DEVICEDESTROYED m_D3D11DeviceDestroyedFunc; // D3D11 device destroyed callback LPDXUTCALLBACKD3D11FRAMERENDER m_D3D11FrameRenderFunc; // D3D11 frame render callback - void* m_ModifyDeviceSettingsFuncUserContext; // user context for modify Direct3D device settings callback void* m_DeviceRemovedFuncUserContext; // user context for Direct3D device removed callback void* m_FrameMoveFuncUserContext; // user context for frame move callback @@ -228,13 +229,6 @@ class DXUTState void* m_MouseFuncUserContext; // user context for mouse callback void* m_WindowMsgFuncUserContext; // user context for window messages callback - void* m_IsD3D9DeviceAcceptableFuncUserContext; // user context for is D3D9 device acceptable callback - void* m_D3D9DeviceCreatedFuncUserContext; // user context for D3D9 device created callback - void* m_D3D9DeviceResetFuncUserContext; // user context for D3D9 device reset callback - void* m_D3D9DeviceLostFuncUserContext; // user context for D3D9 device lost callback - void* m_D3D9DeviceDestroyedFuncUserContext; // user context for D3D9 device destroyed callback - void* m_D3D9FrameRenderFuncUserContext; // user context for D3D9 frame render callback - void* m_IsD3D11DeviceAcceptableFuncUserContext; // user context for is D3D11 device acceptable callback void* m_D3D11DeviceCreatedFuncUserContext; // user context for D3D11 device created callback void* m_D3D11SwapChainResizedFuncUserContext; // user context for D3D11 SwapChain resized callback @@ -246,7 +240,7 @@ class DXUTState bool m_LastKeys[256]; // array of last key state bool m_MouseButtons[5]; // array of mouse states - CGrowableArray* m_TimerList; // list of DXUT_TIMER structs + std::vector* m_TimerList; // list of DXUT_TIMER structs WCHAR m_StaticFrameStats[256]; // static part of frames stats WCHAR m_FPSStats[64]; // fps stats WCHAR m_FrameStats[256]; // frame stats (fps, width, etc) @@ -257,13 +251,20 @@ class DXUTState STATE m_state; public: - DXUTState() { Create(); } - ~DXUTState() { Destroy(); } + DXUTState() noexcept : m_state{} + { + Create(); + } + + ~DXUTState() + { + Destroy(); + } - void Create() + void Create() { g_bThreadSafe = true; - InitializeCriticalSectionAndSpinCount( &g_cs, 1000 ); + (void)InitializeCriticalSectionAndSpinCount( &g_cs, 1000 ); ZeroMemory( &m_state, sizeof( STATE ) ); m_state.m_OverrideStartX = -1; @@ -272,7 +273,6 @@ class DXUTState m_state.m_ScreenShotName[0] = 0; m_state.m_SaveScreenShot = false; m_state.m_ExitAfterScreenShot = false; - m_state.m_OverrideForceAPI = -1; m_state.m_OverrideAdapterOrdinal = -1; m_state.m_OverrideOutput = -1; m_state.m_OverrideForceVsync = -1; @@ -285,7 +285,7 @@ class DXUTState m_state.m_HandleAltEnter = true; m_state.m_HandlePause = true; m_state.m_IsInGammaCorrectMode = true; - m_state.m_FPS = 1.0f; + m_state.m_FPS = 1.0f; m_state.m_MessageWhenD3D11NotAvailable = true; } @@ -299,12 +299,6 @@ class DXUTState // Macros to define access functions for thread safe access into m_state GET_SET_ACCESSOR( DXUTDeviceSettings*, CurrentDeviceSettings ); - // D3D9 specific - GET_SET_ACCESSOR( IDirect3D9*, D3D9 ); - GET_SET_ACCESSOR( IDirect3DDevice9*, D3D9Device ); - GETP_SETP_ACCESSOR( D3DSURFACE_DESC, BackBufferSurfaceDesc9 ); - GETP_SETP_ACCESSOR( D3DCAPS9, Caps ); - // D3D11 specific GET_SET_ACCESSOR( IDXGIFactory1*, DXGIFactory ); GET_SET_ACCESSOR( IDXGIAdapter1*, DXGIAdapter ); @@ -315,8 +309,6 @@ class DXUTState GET_SET_ACCESSOR( bool, RenderingOccluded ); GET_SET_ACCESSOR( bool, DoNotStoreBufferSize ); - // D3D11 specific - GET_SET_ACCESSOR( bool, D3D11Available ); GET_SET_ACCESSOR( ID3D11Device*, D3D11Device ); GET_SET_ACCESSOR( ID3D11DeviceContext*, D3D11DeviceContext ); GET_SET_ACCESSOR( D3D_FEATURE_LEVEL, D3D11FeatureLevel ); @@ -325,6 +317,21 @@ class DXUTState GET_SET_ACCESSOR( ID3D11RenderTargetView*, D3D11RenderTargetView ); GET_SET_ACCESSOR( ID3D11RasterizerState*, D3D11RasterizerState ); + GET_SET_ACCESSOR( ID3D11Device1*, D3D11Device1 ); + GET_SET_ACCESSOR( ID3D11DeviceContext1*, D3D11DeviceContext1 ); + + GET_SET_ACCESSOR(ID3D11Device2*, D3D11Device2); + GET_SET_ACCESSOR(ID3D11DeviceContext2*, D3D11DeviceContext2); + +#ifdef USE_DIRECT3D11_3 + GET_SET_ACCESSOR(ID3D11Device3*, D3D11Device3); + GET_SET_ACCESSOR(ID3D11DeviceContext3*, D3D11DeviceContext3); +#endif + +#ifdef USE_DIRECT3D11_4 + GET_SET_ACCESSOR(ID3D11Device4*, D3D11Device4); + GET_SET_ACCESSOR(ID3D11DeviceContext4*, D3D11DeviceContext4); +#endif GET_SET_ACCESSOR( HWND, HWNDFocus ); GET_SET_ACCESSOR( HWND, HWNDDeviceFullScreen ); @@ -332,7 +339,6 @@ class DXUTState GET_SET_ACCESSOR( HMONITOR, AdapterMonitor ); GET_SET_ACCESSOR( HMENU, Menu ); - GET_SET_ACCESSOR( UINT, FullScreenBackBufferWidthAtModeChange ); GET_SET_ACCESSOR( UINT, FullScreenBackBufferHeightAtModeChange ); GET_SET_ACCESSOR( UINT, WindowBackBufferWidthAtModeChange ); @@ -363,10 +369,6 @@ class DXUTState GET_SET_ACCESSOR( TOGGLEKEYS, StartupToggleKeys ); GET_SET_ACCESSOR( FILTERKEYS, StartupFilterKeys ); - GET_SET_ACCESSOR( bool, AppSupportsD3D9Override ); - GET_SET_ACCESSOR( bool, AppSupportsD3D11Override ); - GET_SET_ACCESSOR( bool, UseD3DVersionOverride ); - GET_SET_ACCESSOR( bool, HandleEscape ); GET_SET_ACCESSOR( bool, HandleAltEnter ); GET_SET_ACCESSOR( bool, HandlePause ); @@ -408,9 +410,7 @@ class DXUTState GET_ACCESSOR( WCHAR*, ScreenShotName ); GET_SET_ACCESSOR( bool, SaveScreenShot ); GET_SET_ACCESSOR( bool, ExitAfterScreenShot ); - - GET_SET_ACCESSOR( int, OverrideForceAPI ); GET_SET_ACCESSOR( int, OverrideAdapterOrdinal ); GET_SET_ACCESSOR( bool, OverrideWindowed ); GET_SET_ACCESSOR( int, OverrideOutput ); @@ -421,11 +421,11 @@ class DXUTState GET_SET_ACCESSOR( int, OverrideHeight ); GET_SET_ACCESSOR( bool, OverrideForceHAL ); GET_SET_ACCESSOR( bool, OverrideForceREF ); + GET_SET_ACCESSOR( bool, OverrideForceWARP ); GET_SET_ACCESSOR( bool, OverrideConstantFrameTime ); GET_SET_ACCESSOR( float, OverrideConstantTimePerFrame ); GET_SET_ACCESSOR( int, OverrideQuitAfterFrame ); GET_SET_ACCESSOR( int, OverrideForceVsync ); - GET_SET_ACCESSOR( bool, OverrideRelaunchMCE ); GET_SET_ACCESSOR( bool, ReleasingSwapChain ); GET_SET_ACCESSOR( bool, IsInGammaCorrectMode ); @@ -436,13 +436,6 @@ class DXUTState GET_SET_ACCESSOR( LPDXUTCALLBACKMOUSE, MouseFunc ); GET_SET_ACCESSOR( LPDXUTCALLBACKMSGPROC, WindowMsgFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE, IsD3D9DeviceAcceptableFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKD3D9DEVICECREATED, D3D9DeviceCreatedFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKD3D9DEVICERESET, D3D9DeviceResetFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKD3D9DEVICELOST, D3D9DeviceLostFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKD3D9DEVICEDESTROYED, D3D9DeviceDestroyedFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKD3D9FRAMERENDER, D3D9FrameRenderFunc ); - GET_SET_ACCESSOR( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE, IsD3D11DeviceAcceptableFunc ); GET_SET_ACCESSOR( LPDXUTCALLBACKD3D11DEVICECREATED, D3D11DeviceCreatedFunc ); GET_SET_ACCESSOR( LPDXUTCALLBACKD3D11SWAPCHAINRESIZED, D3D11SwapChainResizedFunc ); @@ -457,13 +450,6 @@ class DXUTState GET_SET_ACCESSOR( void*, MouseFuncUserContext ); GET_SET_ACCESSOR( void*, WindowMsgFuncUserContext ); - GET_SET_ACCESSOR( void*, IsD3D9DeviceAcceptableFuncUserContext ); - GET_SET_ACCESSOR( void*, D3D9DeviceCreatedFuncUserContext ); - GET_SET_ACCESSOR( void*, D3D9DeviceResetFuncUserContext ); - GET_SET_ACCESSOR( void*, D3D9DeviceLostFuncUserContext ); - GET_SET_ACCESSOR( void*, D3D9DeviceDestroyedFuncUserContext ); - GET_SET_ACCESSOR( void*, D3D9FrameRenderFuncUserContext ); - GET_SET_ACCESSOR( void*, IsD3D11DeviceAcceptableFuncUserContext ); GET_SET_ACCESSOR( void*, D3D11DeviceCreatedFuncUserContext ); GET_SET_ACCESSOR( void*, D3D11DeviceDestroyedFuncUserContext ); @@ -471,7 +457,7 @@ class DXUTState GET_SET_ACCESSOR( void*, D3D11SwapChainReleasingFuncUserContext ); GET_SET_ACCESSOR( void*, D3D11FrameRenderFuncUserContext ); - GET_SET_ACCESSOR( CGrowableArray*, TimerList ); + GET_SET_ACCESSOR( std::vector*, TimerList ); GET_ACCESSOR( bool*, Keys ); GET_ACCESSOR( bool*, LastKeys ); GET_ACCESSOR( bool*, MouseButtons ); @@ -486,14 +472,14 @@ class DXUTState //-------------------------------------------------------------------------------------- // Global state //-------------------------------------------------------------------------------------- -DXUTState* g_pDXUTState = NULL; +DXUTState* g_pDXUTState = nullptr; HRESULT WINAPI DXUTCreateState() { - if( g_pDXUTState == NULL ) + if( !g_pDXUTState ) { - g_pDXUTState = new DXUTState; - if( NULL == g_pDXUTState ) + g_pDXUTState = new (std::nothrow) DXUTState; + if( !g_pDXUTState ) return E_OUTOFMEMORY; } return S_OK; @@ -507,17 +493,17 @@ void WINAPI DXUTDestroyState() class DXUTMemoryHelper { public: - DXUTMemoryHelper() { DXUTCreateState(); } + DXUTMemoryHelper() noexcept { DXUTCreateState(); } ~DXUTMemoryHelper() { DXUTDestroyState(); } }; - DXUTState& GetDXUTState() { // This class will auto create the memory when its first accessed and delete it after the program exits WinMain. // However the application can also call DXUTCreateState() & DXUTDestroyState() independantly if its wants static DXUTMemoryHelper memory; - assert( g_pDXUTState != NULL ); + assert( g_pDXUTState ); + _Analysis_assume_( g_pDXUTState ); return *g_pDXUTState; } @@ -525,117 +511,81 @@ DXUTState& GetDXUTState() //-------------------------------------------------------------------------------------- // Internal functions forward declarations //-------------------------------------------------------------------------------------- -void DXUTParseCommandLine( __inout WCHAR* strCommandLine, - bool bIgnoreFirstCommand = true ); -bool DXUTIsNextArg( __inout WCHAR*& strCmdLine, __in const WCHAR* strArg ); -bool DXUTGetCmdParam( __inout WCHAR*& strCmdLine, __out WCHAR* strFlag ); -void DXUTAllowShortcutKeys( bool bAllowKeys ); +void DXUTParseCommandLine( _In_z_ WCHAR* strCommandLine, + _In_ bool bIgnoreFirstCommand = true ); +bool DXUTIsNextArg( _Inout_ WCHAR*& strCmdLine, _In_ const WCHAR* strArg ); +bool DXUTGetCmdParam( _Inout_ WCHAR*& strCmdLine, _Out_cap_(cchDest) WCHAR* strFlag, _In_ int cchDest ); +void DXUTAllowShortcutKeys( _In_ bool bAllowKeys ); void DXUTUpdateStaticFrameStats(); void DXUTUpdateFrameStats(); -LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); +LRESULT CALLBACK DXUTStaticWndProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); void DXUTHandleTimers(); -void DXUTDisplayErrorMessage( HRESULT hr ); -int DXUTMapButtonToArrayIndex( BYTE vButton ); +void DXUTDisplayErrorMessage( _In_ HRESULT hr ); +int DXUTMapButtonToArrayIndex( _In_ BYTE vButton ); -HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, - IDirect3DDevice9* pd3d9DeviceFromApp, - ID3D11Device* pd3d11DeviceFromApp, - bool bForceRecreate, - bool bClipWindowToSingleAdapter ); +HRESULT DXUTChangeDevice( _In_ DXUTDeviceSettings* pNewDeviceSettings, + _In_ bool bClipWindowToSingleAdapter ); -bool DXUTCanDeviceBeReset( DXUTDeviceSettings* pOldDeviceSettings, - DXUTDeviceSettings* pNewDeviceSettings, - IDirect3DDevice9* pd3d9DeviceFromApp, - ID3D11Device* pd3d11DeviceFromApp ); +bool DXUTCanDeviceBeReset( _In_ DXUTDeviceSettings* pOldDeviceSettings, + _In_ DXUTDeviceSettings* pNewDeviceSettings, + _In_ ID3D11Device* pd3d11DeviceFromApp ); HRESULT DXUTDelayLoadDXGI(); -HRESULT DXUTDelayLoadD3D9(); -HRESULT DXUTSnapDeviceSettingsToEnumDevice( DXUTDeviceSettings* pDeviceSettings, bool forceEnum, D3D_FEATURE_LEVEL forceFL = D3D_FEATURE_LEVEL(0) ); -void DXUTUpdateDeviceSettingsWithOverrides( DXUTDeviceSettings* pDeviceSettings ); +HRESULT DXUTSnapDeviceSettingsToEnumDevice( _In_ DXUTDeviceSettings* pDeviceSettings, _In_ bool forceEnum, _In_ D3D_FEATURE_LEVEL forceFL = D3D_FEATURE_LEVEL(0) ); +void DXUTUpdateDeviceSettingsWithOverrides( _Inout_ DXUTDeviceSettings* pDeviceSettings ); void DXUTCheckForDXGIFullScreenSwitch(); -void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullscreen ); +void DXUTResizeDXGIBuffers( _In_ UINT Width, _In_ UINT Height, _In_ BOOL bFullscreen ); void DXUTCheckForDXGIBufferChange(); void DXUTCheckForWindowSizeChange(); void DXUTCheckForWindowChangingMonitors(); -void DXUTCleanup3DEnvironment( bool bReleaseSettings ); -HMONITOR DXUTGetMonitorFromAdapter( DXUTDeviceSettings* pDeviceSettings ); -HRESULT DXUTGetAdapterOrdinalFromMonitor( HMONITOR hMonitor, UINT* pAdapterOrdinal ); -HRESULT DXUTGetOutputOrdinalFromMonitor( HMONITOR hMonitor, UINT* pOutputOrdinal ); +void DXUTCleanup3DEnvironment( _In_ bool bReleaseSettings ); +HMONITOR DXUTGetMonitorFromAdapter( _In_ DXUTDeviceSettings* pDeviceSettings ); +HRESULT DXUTGetAdapterOrdinalFromMonitor( _In_ HMONITOR hMonitor, _Out_ UINT* pAdapterOrdinal ); +HRESULT DXUTGetOutputOrdinalFromMonitor( _In_ HMONITOR hMonitor, _Out_ UINT* pOutputOrdinal ); HRESULT DXUTHandleDeviceRemoved(); void DXUTUpdateBackBufferDesc(); void DXUTSetupCursor(); -// Direct3D 9 -HRESULT DXUTCreate3DEnvironment9( IDirect3DDevice9* pd3dDeviceFromApp ); -HRESULT DXUTReset3DEnvironment9(); -void DXUTRender3DEnvironment9(); -void DXUTCleanup3DEnvironment9( bool bReleaseSettings = true ); -HRESULT DXUTSetD3D9DeviceCursor( IDirect3DDevice9* pd3dDevice, HCURSOR hCursor, bool bAddWatermark ); -void DXUTUpdateD3D9DeviceStats( D3DDEVTYPE DeviceType, DWORD BehaviorFlags, - D3DADAPTER_IDENTIFIER9* pAdapterIdentifier ); -HRESULT DXUTFindD3D9AdapterFormat( UINT AdapterOrdinal, D3DDEVTYPE DeviceType, D3DFORMAT BackBufferFormat, - BOOL Windowed, D3DFORMAT* pAdapterFormat ); - // Direct3D 11 -HRESULT DXUTCreateD3D11Views( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, DXUTDeviceSettings* pDeviceSettings ); -HRESULT DXUTCreate3DEnvironment11( ID3D11Device* pd3dDeviceFromApp ); +HRESULT DXUTCreateD3D11Views( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3dDeviceContext, _In_ DXUTDeviceSettings* pDeviceSettings ); +HRESULT DXUTCreate3DEnvironment11(); HRESULT DXUTReset3DEnvironment11(); -void DXUTRender3DEnvironment11(); -void DXUTCleanup3DEnvironment11( bool bReleaseSettings = true ); -void DXUTUpdateD3D11DeviceStats( D3D_DRIVER_TYPE DeviceType, DXGI_ADAPTER_DESC* pAdapterDesc ); +void DXUTUpdateD3D11DeviceStats( _In_ D3D_DRIVER_TYPE DeviceType, _In_ D3D_FEATURE_LEVEL featureLevel, _In_ DXGI_ADAPTER_DESC* pAdapterDesc ); //-------------------------------------------------------------------------------------- // Internal helper functions //-------------------------------------------------------------------------------------- -bool DXUTIsD3D9( DXUTDeviceSettings* pDeviceSettings ) { return (pDeviceSettings && pDeviceSettings->ver == DXUT_D3D9_DEVICE ); }; -bool DXUTIsCurrentDeviceD3D9() { DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); return DXUTIsD3D9(pDeviceSettings); }; -UINT DXUTGetBackBufferWidthFromDS( DXUTDeviceSettings* pNewDeviceSettings ) +UINT DXUTGetBackBufferWidthFromDS( _In_ DXUTDeviceSettings* pNewDeviceSettings ) { - if( DXUTIsD3D9( pNewDeviceSettings ) ) - return pNewDeviceSettings->d3d9.pp.BackBufferWidth; - else - return pNewDeviceSettings->d3d11.sd.BufferDesc.Width; + return pNewDeviceSettings->d3d11.sd.BufferDesc.Width; } -UINT DXUTGetBackBufferHeightFromDS( DXUTDeviceSettings* pNewDeviceSettings ) +UINT DXUTGetBackBufferHeightFromDS( _In_ DXUTDeviceSettings* pNewDeviceSettings ) { - if( DXUTIsD3D9(pNewDeviceSettings) ) - return pNewDeviceSettings->d3d9.pp.BackBufferHeight; - else - return pNewDeviceSettings->d3d11.sd.BufferDesc.Height; + return pNewDeviceSettings->d3d11.sd.BufferDesc.Height; } -bool DXUTGetIsWindowedFromDS( DXUTDeviceSettings* pNewDeviceSettings ) +bool DXUTGetIsWindowedFromDS( _In_ DXUTDeviceSettings* pNewDeviceSettings ) { if (!pNewDeviceSettings) return true; - if( DXUTIsD3D9(pNewDeviceSettings) ) - return pNewDeviceSettings->d3d9.pp.Windowed ? true : false; - else - return pNewDeviceSettings->d3d11.sd.Windowed ? true : false; + return pNewDeviceSettings->d3d11.sd.Windowed ? true : false; } //-------------------------------------------------------------------------------------- // External state access functions //-------------------------------------------------------------------------------------- -BOOL WINAPI DXUTGetMSAASwapChainCreated() { +bool WINAPI DXUTGetMSAASwapChainCreated() +{ DXUTDeviceSettings *psettings = GetDXUTState().GetCurrentDeviceSettings(); - if (psettings->ver == DXUT_D3D11_DEVICE) { - return psettings->d3d11.sd.SampleDesc.Count > 1; - }else if (psettings->ver == DXUT_D3D9_DEVICE) { - return (psettings->d3d9.pp.MultiSampleType >= D3DMULTISAMPLE_2_SAMPLES); - } - else return false; + if ( !psettings ) + return false; + return (psettings->d3d11.sd.SampleDesc.Count > 1); } -IDirect3DDevice9* WINAPI DXUTGetD3D9Device() { return GetDXUTState().GetD3D9Device(); } -const D3DSURFACE_DESC* WINAPI DXUTGetD3D9BackBufferSurfaceDesc() { return GetDXUTState().GetBackBufferSurfaceDesc9(); } -const D3DCAPS9* WINAPI DXUTGetD3D9DeviceCaps() { return GetDXUTState().GetCaps(); } -ID3D11Device* WINAPI DXUTGetD3D11Device() { return GetDXUTState().GetD3D11Device(); } -D3D_FEATURE_LEVEL WINAPI DXUTGetD3D11DeviceFeatureLevel() { return GetDXUTState().GetD3D11FeatureLevel(); } -ID3D11DeviceContext* WINAPI DXUTGetD3D11DeviceContext() { return GetDXUTState().GetD3D11DeviceContext(); } +D3D_FEATURE_LEVEL WINAPI DXUTGetD3D11DeviceFeatureLevel() { return GetDXUTState().GetD3D11FeatureLevel(); } IDXGISwapChain* WINAPI DXUTGetDXGISwapChain() { return GetDXUTState().GetDXGISwapChain(); } ID3D11RenderTargetView* WINAPI DXUTGetD3D11RenderTargetView() { return GetDXUTState().GetD3D11RenderTargetView(); } ID3D11DepthStencilView* WINAPI DXUTGetD3D11DepthStencilView() { return GetDXUTState().GetD3D11DepthStencilView(); } @@ -648,8 +598,8 @@ HWND WINAPI DXUTGetHWNDDeviceWindowed() { return GetDXUTState RECT WINAPI DXUTGetWindowClientRect() { RECT rc; GetClientRect( DXUTGetHWND(), &rc ); return rc; } LONG WINAPI DXUTGetWindowWidth() { RECT rc = DXUTGetWindowClientRect(); return ((LONG)rc.right - rc.left); } LONG WINAPI DXUTGetWindowHeight() { RECT rc = DXUTGetWindowClientRect(); return ((LONG)rc.bottom - rc.top); } -RECT WINAPI DXUTGetWindowClientRectAtModeChange() { RECT rc = { 0, 0, GetDXUTState().GetWindowBackBufferWidthAtModeChange(), GetDXUTState().GetWindowBackBufferHeightAtModeChange() }; return rc; } -RECT WINAPI DXUTGetFullsceenClientRectAtModeChange() { RECT rc = { 0, 0, GetDXUTState().GetFullScreenBackBufferWidthAtModeChange(), GetDXUTState().GetFullScreenBackBufferHeightAtModeChange() }; return rc; } +RECT WINAPI DXUTGetWindowClientRectAtModeChange() { RECT rc = { 0, 0, static_cast( GetDXUTState().GetWindowBackBufferWidthAtModeChange() ), static_cast( GetDXUTState().GetWindowBackBufferHeightAtModeChange() ) }; return rc; } +RECT WINAPI DXUTGetFullsceenClientRectAtModeChange() { RECT rc = { 0, 0, static_cast( GetDXUTState().GetFullScreenBackBufferWidthAtModeChange() ), static_cast( GetDXUTState().GetFullScreenBackBufferHeightAtModeChange() ) }; return rc; } double WINAPI DXUTGetTime() { return GetDXUTState().GetTime(); } float WINAPI DXUTGetElapsedTime() { return GetDXUTState().GetElapsedTime(); } float WINAPI DXUTGetFPS() { return GetDXUTState().GetFPS(); } @@ -663,41 +613,46 @@ bool WINAPI DXUTGetShowMsgBoxOnError() { return GetDXUTState bool WINAPI DXUTGetAutomation() { return GetDXUTState().GetAutomation(); } bool WINAPI DXUTIsWindowed() { return DXUTGetIsWindowedFromDS( GetDXUTState().GetCurrentDeviceSettings() ); } bool WINAPI DXUTIsInGammaCorrectMode() { return GetDXUTState().GetIsInGammaCorrectMode(); } -IDirect3D9* WINAPI DXUTGetD3D9Object() { DXUTDelayLoadD3D9(); return GetDXUTState().GetD3D9(); } -IDXGIFactory1* WINAPI DXUTGetDXGIFactory() { DXUTDelayLoadDXGI(); return GetDXUTState().GetDXGIFactory(); } -bool WINAPI DXUTIsD3D11Available() { DXUTDelayLoadDXGI(); return GetDXUTState().GetD3D11Available(); } -bool WINAPI DXUTIsAppRenderingWithD3D9() { return (GetDXUTState().GetD3D9Device() != NULL); } -bool WINAPI DXUTIsAppRenderingWithD3D11() { return (GetDXUTState().GetD3D11Device() != NULL); } +IDXGIFactory1* WINAPI DXUTGetDXGIFactory() { DXUTDelayLoadDXGI(); return GetDXUTState().GetDXGIFactory(); } + +ID3D11Device* WINAPI DXUTGetD3D11Device() { return GetDXUTState().GetD3D11Device(); } +ID3D11DeviceContext* WINAPI DXUTGetD3D11DeviceContext() { return GetDXUTState().GetD3D11DeviceContext(); } +ID3D11Device1* WINAPI DXUTGetD3D11Device1() { return GetDXUTState().GetD3D11Device1(); } +ID3D11DeviceContext1* WINAPI DXUTGetD3D11DeviceContext1() { return GetDXUTState().GetD3D11DeviceContext1(); } + +ID3D11Device2* WINAPI DXUTGetD3D11Device2() { return GetDXUTState().GetD3D11Device2(); } +ID3D11DeviceContext2* WINAPI DXUTGetD3D11DeviceContext2() { return GetDXUTState().GetD3D11DeviceContext2(); } + +#ifdef USE_DIRECT3D11_3 +ID3D11Device3* WINAPI DXUTGetD3D11Device3() { return GetDXUTState().GetD3D11Device3(); } +ID3D11DeviceContext3* WINAPI DXUTGetD3D11DeviceContext3() { return GetDXUTState().GetD3D11DeviceContext3(); } +#endif + +#ifdef USE_DIRECT3D11_4 +ID3D11Device4* WINAPI DXUTGetD3D11Device4() { return GetDXUTState().GetD3D11Device4(); } +ID3D11DeviceContext4* WINAPI DXUTGetD3D11DeviceContext4() { return GetDXUTState().GetD3D11DeviceContext4(); } +#endif //-------------------------------------------------------------------------------------- // External callback setup functions //-------------------------------------------------------------------------------------- // General callbacks -void WINAPI DXUTSetCallbackDeviceChanging( LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallback, void* pUserContext ) { GetDXUTState().SetModifyDeviceSettingsFunc( pCallback ); GetDXUTState().SetModifyDeviceSettingsFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackDeviceRemoved( LPDXUTCALLBACKDEVICEREMOVED pCallback, void* pUserContext ) { GetDXUTState().SetDeviceRemovedFunc( pCallback ); GetDXUTState().SetDeviceRemovedFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackFrameMove( LPDXUTCALLBACKFRAMEMOVE pCallback, void* pUserContext ) { GetDXUTState().SetFrameMoveFunc( pCallback ); GetDXUTState().SetFrameMoveFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackKeyboard( LPDXUTCALLBACKKEYBOARD pCallback, void* pUserContext ) { GetDXUTState().SetKeyboardFunc( pCallback ); GetDXUTState().SetKeyboardFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackMouse( LPDXUTCALLBACKMOUSE pCallback, bool bIncludeMouseMove, void* pUserContext ) { GetDXUTState().SetMouseFunc( pCallback ); GetDXUTState().SetNotifyOnMouseMove( bIncludeMouseMove ); GetDXUTState().SetMouseFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackMsgProc( LPDXUTCALLBACKMSGPROC pCallback, void* pUserContext ) { GetDXUTState().SetWindowMsgFunc( pCallback ); GetDXUTState().SetWindowMsgFuncUserContext( pUserContext ); } - -// Direct3D 9 callbacks -void WINAPI DXUTSetCallbackD3D9DeviceAcceptable( LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE pCallback, void* pUserContext ) { GetDXUTState().SetIsD3D9DeviceAcceptableFunc( pCallback ); GetDXUTState().SetIsD3D9DeviceAcceptableFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D9DeviceCreated( LPDXUTCALLBACKD3D9DEVICECREATED pCallback, void* pUserContext ) { GetDXUTState().SetD3D9DeviceCreatedFunc( pCallback ); GetDXUTState().SetD3D9DeviceCreatedFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D9DeviceReset( LPDXUTCALLBACKD3D9DEVICERESET pCallback, void* pUserContext ) { GetDXUTState().SetD3D9DeviceResetFunc( pCallback ); GetDXUTState().SetD3D9DeviceResetFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D9DeviceLost( LPDXUTCALLBACKD3D9DEVICELOST pCallback, void* pUserContext ) { GetDXUTState().SetD3D9DeviceLostFunc( pCallback ); GetDXUTState().SetD3D9DeviceLostFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D9DeviceDestroyed( LPDXUTCALLBACKD3D9DEVICEDESTROYED pCallback, void* pUserContext ) { GetDXUTState().SetD3D9DeviceDestroyedFunc( pCallback ); GetDXUTState().SetD3D9DeviceDestroyedFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D9FrameRender( LPDXUTCALLBACKD3D9FRAMERENDER pCallback, void* pUserContext ) { GetDXUTState().SetD3D9FrameRenderFunc( pCallback ); GetDXUTState().SetD3D9FrameRenderFuncUserContext( pUserContext ); } -void DXUTGetCallbackD3D9DeviceAcceptable( LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE* ppCallback, void** ppUserContext ) { *ppCallback = GetDXUTState().GetIsD3D9DeviceAcceptableFunc(); *ppUserContext = GetDXUTState().GetIsD3D9DeviceAcceptableFuncUserContext(); } +void WINAPI DXUTSetCallbackDeviceChanging( _In_ LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetModifyDeviceSettingsFunc( pCallback ); GetDXUTState().SetModifyDeviceSettingsFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackDeviceRemoved( _In_ LPDXUTCALLBACKDEVICEREMOVED pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetDeviceRemovedFunc( pCallback ); GetDXUTState().SetDeviceRemovedFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackFrameMove( _In_ LPDXUTCALLBACKFRAMEMOVE pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetFrameMoveFunc( pCallback ); GetDXUTState().SetFrameMoveFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackKeyboard( _In_ LPDXUTCALLBACKKEYBOARD pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetKeyboardFunc( pCallback ); GetDXUTState().SetKeyboardFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackMouse( _In_ LPDXUTCALLBACKMOUSE pCallback, bool bIncludeMouseMove, _In_opt_ void* pUserContext ) { GetDXUTState().SetMouseFunc( pCallback ); GetDXUTState().SetNotifyOnMouseMove( bIncludeMouseMove ); GetDXUTState().SetMouseFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackMsgProc( _In_ LPDXUTCALLBACKMSGPROC pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetWindowMsgFunc( pCallback ); GetDXUTState().SetWindowMsgFuncUserContext( pUserContext ); } // Direct3D 11 callbacks -void WINAPI DXUTSetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE pCallback, void* pUserContext ) { GetDXUTState().SetIsD3D11DeviceAcceptableFunc( pCallback ); GetDXUTState().SetIsD3D11DeviceAcceptableFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D11DeviceCreated( LPDXUTCALLBACKD3D11DEVICECREATED pCallback, void* pUserContext ) { GetDXUTState().SetD3D11DeviceCreatedFunc( pCallback ); GetDXUTState().SetD3D11DeviceCreatedFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D11SwapChainResized( LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallback, void* pUserContext ) { GetDXUTState().SetD3D11SwapChainResizedFunc( pCallback ); GetDXUTState().SetD3D11SwapChainResizedFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D11FrameRender( LPDXUTCALLBACKD3D11FRAMERENDER pCallback, void* pUserContext ) { GetDXUTState().SetD3D11FrameRenderFunc( pCallback ); GetDXUTState().SetD3D11FrameRenderFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D11SwapChainReleasing( LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallback, void* pUserContext ) { GetDXUTState().SetD3D11SwapChainReleasingFunc( pCallback ); GetDXUTState().SetD3D11SwapChainReleasingFuncUserContext( pUserContext ); } -void WINAPI DXUTSetCallbackD3D11DeviceDestroyed( LPDXUTCALLBACKD3D11DEVICEDESTROYED pCallback, void* pUserContext ) { GetDXUTState().SetD3D11DeviceDestroyedFunc( pCallback ); GetDXUTState().SetD3D11DeviceDestroyedFuncUserContext( pUserContext ); } -void DXUTGetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE* ppCallback, void** ppUserContext ) { *ppCallback = GetDXUTState().GetIsD3D11DeviceAcceptableFunc(); *ppUserContext = GetDXUTState().GetIsD3D11DeviceAcceptableFuncUserContext(); } +void WINAPI DXUTSetCallbackD3D11DeviceAcceptable( _In_ LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetIsD3D11DeviceAcceptableFunc( pCallback ); GetDXUTState().SetIsD3D11DeviceAcceptableFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackD3D11DeviceCreated( _In_ LPDXUTCALLBACKD3D11DEVICECREATED pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetD3D11DeviceCreatedFunc( pCallback ); GetDXUTState().SetD3D11DeviceCreatedFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackD3D11SwapChainResized( _In_ LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetD3D11SwapChainResizedFunc( pCallback ); GetDXUTState().SetD3D11SwapChainResizedFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackD3D11FrameRender( _In_ LPDXUTCALLBACKD3D11FRAMERENDER pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetD3D11FrameRenderFunc( pCallback ); GetDXUTState().SetD3D11FrameRenderFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackD3D11SwapChainReleasing( _In_ LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetD3D11SwapChainReleasingFunc( pCallback ); GetDXUTState().SetD3D11SwapChainReleasingFuncUserContext( pUserContext ); } +void WINAPI DXUTSetCallbackD3D11DeviceDestroyed( _In_ LPDXUTCALLBACKD3D11DEVICEDESTROYED pCallback, _In_opt_ void* pUserContext ) { GetDXUTState().SetD3D11DeviceDestroyedFunc( pCallback ); GetDXUTState().SetD3D11DeviceDestroyedFuncUserContext( pUserContext ); } +void DXUTGetCallbackD3D11DeviceAcceptable( _In_ LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE* ppCallback, _Outptr_ void** ppUserContext ) { *ppCallback = GetDXUTState().GetIsD3D11DeviceAcceptableFunc(); *ppUserContext = GetDXUTState().GetIsD3D11DeviceAcceptableFuncUserContext(); } //-------------------------------------------------------------------------------------- @@ -706,16 +661,13 @@ void DXUTGetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE // Possible command line parameters are: // -forcefeaturelevel:fl forces app to use a specified direct3D11 feature level // -screenshotexit:filename save a screenshot to the filename.bmp and exit. -// -forceapi:# forces app to use specified Direct3D API version (fails if the application doesn't support this API or if no device is found) // -adapter:# forces app to use this adapter # (fails if the adapter doesn't exist) -// -output:# [D3D11 only] forces app to use a particular output on the adapter (fails if the output doesn't exist) +// -output:# forces app to use a particular output on the adapter (fails if the output doesn't exist) // -windowed forces app to start windowed // -fullscreen forces app to start full screen // -forcehal forces app to use HAL (fails if HAL doesn't exist) // -forceref forces app to use REF (fails if REF doesn't exist) -// -forcepurehwvp [D3D9 only] forces app to use pure HWVP (fails if device doesn't support it) -// -forcehwvp [D3D9 only] forces app to use HWVP (fails if device doesn't support it) -// -forceswvp [D3D9 only] forces app to use SWVP +// -forcewarp forces app to use WARP (fails if WARP doesn't exist) // -forcevsync:# if # is 0, then vsync is disabled // -width:# forces app to use # for width. for full screen, it will pick the closest possible supported mode // -height:# forces app to use # for height. for full screen, it will pick the closest possible supported mode @@ -725,16 +677,20 @@ void DXUTGetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE // -quitafterframe:x forces app to quit after # frames // -noerrormsgboxes prevents the display of message boxes generated by the framework so the application can be run without user interaction // -nostats prevents the display of the stats -// -relaunchmce re-launches the MCE UI after the app exits // -automation a hint to other components that automation is active //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT WINAPI DXUTInit( bool bParseCommandLine, bool bShowMsgBoxOnError, - __in_opt WCHAR* strExtraCommandLineParams, + WCHAR* strExtraCommandLineParams, bool bThreadSafeDXUT ) { g_bThreadSafe = bThreadSafeDXUT; + HRESULT hr = CoInitializeEx( nullptr, COINIT_MULTITHREADED ); + if ( FAILED(hr) ) + return hr; + GetDXUTState().SetDXUTInitCalled( true ); // Not always needed, but lets the app create GDI dialogs @@ -742,15 +698,18 @@ HRESULT WINAPI DXUTInit( bool bParseCommandLine, // Save the current sticky/toggle/filter key settings so DXUT can restore them later STICKYKEYS sk = {sizeof(STICKYKEYS), 0}; - SystemParametersInfo(SPI_GETSTICKYKEYS, sizeof(STICKYKEYS), &sk, 0); + if ( !SystemParametersInfo(SPI_GETSTICKYKEYS, sizeof(STICKYKEYS), &sk, 0) ) + memset( &sk, 0, sizeof(sk) ); GetDXUTState().SetStartupStickyKeys( sk ); TOGGLEKEYS tk = {sizeof(TOGGLEKEYS), 0}; - SystemParametersInfo(SPI_GETTOGGLEKEYS, sizeof(TOGGLEKEYS), &tk, 0); + if ( !SystemParametersInfo(SPI_GETTOGGLEKEYS, sizeof(TOGGLEKEYS), &tk, 0) ) + memset( &tk, 0, sizeof(tk) ); GetDXUTState().SetStartupToggleKeys( tk ); FILTERKEYS fk = {sizeof(FILTERKEYS), 0}; - SystemParametersInfo(SPI_GETFILTERKEYS, sizeof(FILTERKEYS), &fk, 0); + if ( !SystemParametersInfo(SPI_GETFILTERKEYS, sizeof(FILTERKEYS), &fk, 0) ) + memset( &fk, 0, sizeof(fk) ); GetDXUTState().SetStartupFilterKeys( fk ); GetDXUTState().SetShowMsgBoxOnError( bShowMsgBoxOnError ); @@ -772,16 +731,17 @@ HRESULT WINAPI DXUTInit( bool bParseCommandLine, //-------------------------------------------------------------------------------------- // Parses the command line for parameters. See DXUTInit() for list //-------------------------------------------------------------------------------------- -void DXUTParseCommandLine(__inout WCHAR* strCommandLine, +_Use_decl_annotations_ +void DXUTParseCommandLine(WCHAR* strCommandLine, bool bIgnoreFirstCommand ) { WCHAR* strCmdLine; WCHAR strFlag[MAX_PATH]; int nNumArgs; - LPWSTR* pstrArgList = CommandLineToArgvW( strCommandLine, &nNumArgs ); - int iArgStart = 0; - if( bIgnoreFirstCommand ) + auto pstrArgList = CommandLineToArgvW( strCommandLine, &nNumArgs ); + int iArgStart = 0; + if( bIgnoreFirstCommand ) iArgStart = 1; for( int iArg = iArgStart; iArg < nNumArgs; iArg++ ) { @@ -794,9 +754,20 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"forcefeaturelevel" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { - if (_wcsnicmp( strFlag, L"D3D_FEATURE_LEVEL_11_0", MAX_PATH) == 0 ) { +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + if (_wcsnicmp(strFlag, L"D3D_FEATURE_LEVEL_12_1", MAX_PATH) == 0) { + GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_12_1); + } + else if (_wcsnicmp(strFlag, L"D3D_FEATURE_LEVEL_12_0", MAX_PATH) == 0) { + GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_12_0); + } + else +#endif + if (_wcsnicmp( strFlag, L"D3D_FEATURE_LEVEL_11_1", MAX_PATH) == 0 ) { + GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_11_1); + }else if (_wcsnicmp( strFlag, L"D3D_FEATURE_LEVEL_11_0", MAX_PATH) == 0 ) { GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_11_0); }else if (_wcsnicmp( strFlag, L"D3D_FEATURE_LEVEL_10_1", MAX_PATH) == 0 ) { GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_10_1); @@ -809,25 +780,13 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, }else if (_wcsnicmp( strFlag, L"D3D_FEATURE_LEVEL_9_1", MAX_PATH) == 0 ) { GetDXUTState().SetOverrideForceFeatureLevel(D3D_FEATURE_LEVEL_9_1); } - - continue; } } - if( DXUTIsNextArg( strCmdLine, L"forceapi" ) ) - { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) - { - int nAPIVersion = _wtoi( strFlag ); - GetDXUTState().SetOverrideForceAPI( nAPIVersion ); - continue; - } - } - if( DXUTIsNextArg( strCmdLine, L"adapter" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nAdapter = _wtoi( strFlag ); GetDXUTState().SetOverrideAdapterOrdinal( nAdapter ); @@ -843,7 +802,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"output" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int Output = _wtoi( strFlag ); GetDXUTState().SetOverrideOutput( Output ); @@ -863,11 +822,11 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, continue; } if( DXUTIsNextArg( strCmdLine, L"screenshotexit" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { GetDXUTState().SetExitAfterScreenShot( true ); GetDXUTState().SetSaveScreenShot( true ); - swprintf_s( GetDXUTState().GetScreenShotName(), 256, L"%s.bmp", strFlag ); + swprintf_s( GetDXUTState().GetScreenShotName(), 256, L"%ls.bmp", strFlag ); continue; } } @@ -876,10 +835,15 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, GetDXUTState().SetOverrideForceREF( true ); continue; } + if( DXUTIsNextArg( strCmdLine, L"forcewarp" ) ) + { + GetDXUTState().SetOverrideForceWARP( true ); + continue; + } if( DXUTIsNextArg( strCmdLine, L"forcevsync" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nOn = _wtoi( strFlag ); GetDXUTState().SetOverrideForceVsync( nOn ); @@ -889,7 +853,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"width" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nWidth = _wtoi( strFlag ); GetDXUTState().SetOverrideWidth( nWidth ); @@ -899,7 +863,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"height" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nHeight = _wtoi( strFlag ); GetDXUTState().SetOverrideHeight( nHeight ); @@ -909,7 +873,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"startx" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nX = _wtoi( strFlag ); GetDXUTState().SetOverrideStartX( nX ); @@ -919,7 +883,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"starty" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nY = _wtoi( strFlag ); GetDXUTState().SetOverrideStartY( nY ); @@ -930,8 +894,8 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"constantframetime" ) ) { float fTimePerFrame; - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) - fTimePerFrame = ( float )wcstod( strFlag, NULL ); + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) + fTimePerFrame = ( float )wcstod( strFlag, nullptr ); else fTimePerFrame = 0.0333f; GetDXUTState().SetOverrideConstantFrameTime( true ); @@ -942,7 +906,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, if( DXUTIsNextArg( strCmdLine, L"quitafterframe" ) ) { - if( DXUTGetCmdParam( strCmdLine, strFlag ) ) + if( DXUTGetCmdParam( strCmdLine, strFlag, MAX_PATH ) ) { int nFrame = _wtoi( strFlag ); GetDXUTState().SetOverrideQuitAfterFrame( nFrame ); @@ -962,12 +926,6 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, continue; } - if( DXUTIsNextArg( strCmdLine, L"relaunchmce" ) ) - { - GetDXUTState().SetOverrideRelaunchMCE( true ); - continue; - } - if( DXUTIsNextArg( strCmdLine, L"automation" ) ) { GetDXUTState().SetAutomation( true ); @@ -982,7 +940,7 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, strSpace++; *strSpace = 0; - DXUTOutputDebugString( L"Unrecognized flag: %s", strFlag ); + DXUTOutputDebugString( L"Unrecognized flag: %ls", strFlag ); strCmdLine += wcslen( strFlag ); } @@ -993,10 +951,11 @@ void DXUTParseCommandLine(__inout WCHAR* strCommandLine, //-------------------------------------------------------------------------------------- // Helper function for DXUTParseCommandLine //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool DXUTIsNextArg( WCHAR*& strCmdLine, const WCHAR* strArg ) { - int nArgLen = ( int )wcslen( strArg ); - int nCmdLen = ( int )wcslen( strCmdLine ); + size_t nArgLen = wcslen( strArg ); + size_t nCmdLen = wcslen( strCmdLine ); if( nCmdLen >= nArgLen && _wcsnicmp( strCmdLine, strArg, nArgLen ) == 0 && @@ -1015,17 +974,23 @@ bool DXUTIsNextArg( WCHAR*& strCmdLine, const WCHAR* strArg ) // Example: if strCmdLine=="-width:1024 -forceref" // then after: strCmdLine==" -forceref" and strFlag=="1024" //-------------------------------------------------------------------------------------- -bool DXUTGetCmdParam( WCHAR*& strCmdLine, WCHAR* strFlag ) +_Use_decl_annotations_ +bool DXUTGetCmdParam( WCHAR*& strCmdLine, WCHAR* strFlag, int cchDest ) { if( *strCmdLine == L':' ) { strCmdLine++; // Skip ':' - // Place NULL terminator in strFlag after current token - wcscpy_s( strFlag, MAX_PATH, strCmdLine ); + // Place nul terminator in strFlag after current token + wcscpy_s( strFlag, cchDest, strCmdLine ); + WCHAR* strSpace = strFlag; - while( *strSpace && ( *strSpace > L' ' ) ) - strSpace++; + int count = 0; + while( *strSpace && ( *strSpace > L' ' ) && (count < cchDest) ) + { + ++strSpace; + ++count; + } *strSpace = 0; // Update strCmdLine @@ -1046,7 +1011,9 @@ bool DXUTGetCmdParam( WCHAR*& strCmdLine, WCHAR* strFlag ) // call it with the default parameters. Instead of calling this, you can // call DXUTSetWindow() to use an existing window. //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int defaultHeight = 480, const WCHAR* strWindowTitle /*= L"Direct3D Window"*/, bool allowWindowResize /*= true*/, HINSTANCE hInstance /*= NULL*/, HICON hIcon /*= NULL*/, HMENU hMenu /*= NULL*/, int x /*= CW_USEDEFAULT*/, int y /*= CW_USEDEFAULT*/ ) +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateWindow( const WCHAR* strWindowTitle, HINSTANCE hInstance, + HICON hIcon, HMENU hMenu, int x, int y ) { HRESULT hr; @@ -1070,15 +1037,15 @@ HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int d return hr; } - if( DXUTGetHWNDFocus() == NULL ) + if( !DXUTGetHWNDFocus() ) { - if( hInstance == NULL ) - hInstance = ( HINSTANCE )GetModuleHandle( NULL ); + if( !hInstance ) + hInstance = ( HINSTANCE )GetModuleHandle( nullptr ); GetDXUTState().SetHInstance( hInstance ); WCHAR szExePath[MAX_PATH]; - GetModuleFileName( NULL, szExePath, MAX_PATH ); - if( hIcon == NULL ) // If the icon is NULL, then use the first one found in the exe + GetModuleFileName( nullptr, szExePath, MAX_PATH ); + if( !hIcon ) // If the icon is NULL, then use the first one found in the exe hIcon = ExtractIcon( hInstance, szExePath, 0 ); // Register the windows class @@ -1089,9 +1056,9 @@ HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int d wndClass.cbWndExtra = 0; wndClass.hInstance = hInstance; wndClass.hIcon = hIcon; - wndClass.hCursor = LoadCursor( NULL, IDC_ARROW ); + wndClass.hCursor = LoadCursor( nullptr, IDC_ARROW ); wndClass.hbrBackground = ( HBRUSH )GetStockObject( BLACK_BRUSH ); - wndClass.lpszMenuName = NULL; + wndClass.lpszMenuName = nullptr; wndClass.lpszClassName = L"Direct3DWindowClass"; if( !RegisterClass( &wndClass ) ) @@ -1112,8 +1079,8 @@ HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int d GetDXUTState().SetWindowCreatedWithDefaultPositions( true ); // Find the window's initial size, but it might be changed later - int nDefaultWidth = defaultWidth; - int nDefaultHeight = defaultHeight; + int nDefaultWidth = 800; + int nDefaultHeight = 600; if( GetDXUTState().GetOverrideWidth() != 0 ) nDefaultWidth = GetDXUTState().GetOverrideWidth(); if( GetDXUTState().GetOverrideHeight() != 0 ) @@ -1121,18 +1088,16 @@ HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int d RECT rc; SetRect( &rc, 0, 0, nDefaultWidth, nDefaultHeight ); - AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, ( hMenu != NULL ) ? true : false ); + AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, ( hMenu ) ? true : false ); WCHAR* strCachedWindowTitle = GetDXUTState().GetWindowTitle(); wcscpy_s( strCachedWindowTitle, 256, strWindowTitle ); // Create the render window - DWORD dwStyle = WS_OVERLAPPEDWINDOW; - if (!allowWindowResize) dwStyle = WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX; - HWND hWnd = CreateWindow( L"Direct3DWindowClass", strWindowTitle, dwStyle, + HWND hWnd = CreateWindow( L"Direct3DWindowClass", strWindowTitle, WS_OVERLAPPEDWINDOW, x, y, ( rc.right - rc.left ), ( rc.bottom - rc.top ), 0, hMenu, hInstance, 0 ); - if( hWnd == NULL ) + if( !hWnd ) { DWORD dwError = GetLastError(); return DXUT_ERR_MSGBOX( L"CreateWindow", HRESULT_FROM_WIN32(dwError) ); @@ -1153,6 +1118,7 @@ HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth = 640, unsigned int d // has not already been called, it will call it with the default parameters. // Instead of calling this, you can call DXUTCreateWindow() to create a new window. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT WINAPI DXUTSetWindow( HWND hWndFocus, HWND hWndDeviceFullScreen, HWND hWndDeviceWindowed, bool bHandleMessages ) { HRESULT hr; @@ -1163,10 +1129,10 @@ HRESULT WINAPI DXUTSetWindow( HWND hWndFocus, HWND hWndDeviceFullScreen, HWND hW GetDXUTState().SetWindowCreateCalled( true ); - // To avoid confusion, we do not allow any HWND to be NULL here. The + // To avoid confusion, we do not allow any HWND to be nullptr here. The // caller must pass in valid HWND for all three parameters. The same // HWND may be used for more than one parameter. - if( hWndFocus == NULL || hWndDeviceFullScreen == NULL || hWndDeviceWindowed == NULL ) + if( !hWndFocus || !hWndDeviceFullScreen || !hWndDeviceWindowed ) return DXUT_ERR_MSGBOX( L"DXUTSetWindow", E_INVALIDARG ); // If subclassing the window, set the pointer to the local window procedure @@ -1213,6 +1179,7 @@ HRESULT WINAPI DXUTSetWindow( HWND hWndFocus, HWND hWndDeviceFullScreen, HWND hW //-------------------------------------------------------------------------------------- // Handles window messages //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { @@ -1287,6 +1254,8 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM xPos, yPos, GetDXUTState().GetMouseFuncUserContext() ); } + // TODO - WM_POINTER for touch when on Windows 8.0 + // Pass all messages to the app's MsgProc callback, and don't // process further messages if the apps says not to. LPDXUTCALLBACKMSGPROC pCallbackMsgProc = GetDXUTState().GetWindowMsgFunc(); @@ -1302,8 +1271,7 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM switch( uMsg ) { case WM_PAINT: - { - + { // Handle paint messages when the app is paused if( DXUTIsRenderingPaused() && GetDXUTState().GetDeviceObjectsCreated() && GetDXUTState().GetDeviceObjectsReset() ) @@ -1312,49 +1280,13 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM double fTime = DXUTGetTime(); float fElapsedTime = DXUTGetElapsedTime(); - if( DXUTIsCurrentDeviceD3D9() ) - { - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( pd3dDevice ) - { - LPDXUTCALLBACKD3D9FRAMERENDER pCallbackFrameRender = GetDXUTState().GetD3D9FrameRenderFunc(); - if( pCallbackFrameRender != NULL ) - pCallbackFrameRender( pd3dDevice, fTime, fElapsedTime, - GetDXUTState().GetD3D9FrameRenderFuncUserContext() ); - - hr = pd3dDevice->Present( NULL, NULL, NULL, NULL ); - if( D3DERR_DEVICELOST == hr ) - { - GetDXUTState().SetDeviceLost( true ); - } - else if( D3DERR_DRIVERINTERNALERROR == hr ) - { - // When D3DERR_DRIVERINTERNALERROR is returned from Present(), - // the application can do one of the following: - // - // - End, with the pop-up window saying that the application cannot continue - // because of problems in the display adapter and that the user should - // contact the adapter manufacturer. - // - // - Attempt to restart by calling IDirect3DDevice9::Reset, which is essentially the same - // path as recovering from a lost device. If IDirect3DDevice9::Reset fails with - // D3DERR_DRIVERINTERNALERROR, the application should end immediately with the message - // that the user should contact the adapter manufacturer. - // - // The framework attempts the path of resetting the device - // - GetDXUTState().SetDeviceLost( true ); - } - } - } - else { - ID3D11Device* pd3dDevice = DXUTGetD3D11Device(); - ID3D11DeviceContext *pDeferred = DXUTGetD3D11DeviceContext(); + auto pd3dDevice = DXUTGetD3D11Device(); + auto pDeferred = DXUTGetD3D11DeviceContext(); if( pd3dDevice ) { LPDXUTCALLBACKD3D11FRAMERENDER pCallbackFrameRender = GetDXUTState().GetD3D11FrameRenderFunc(); - if( pCallbackFrameRender != NULL && + if( pCallbackFrameRender && !GetDXUTState().GetRenderingOccluded() ) { pCallbackFrameRender( pd3dDevice,pDeferred, fTime, fElapsedTime, @@ -1367,8 +1299,8 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM else dwFlags = GetDXUTState().GetCurrentDeviceSettings()->d3d11.PresentFlags; - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); - hr = pSwapChain->Present( 0, GetDXUTState().GetCurrentDeviceSettings()->d3d11.PresentFlags ); + auto pSwapChain = DXUTGetDXGISwapChain(); + hr = pSwapChain->Present( 0, dwFlags ); if( DXGI_STATUS_OCCLUDED == hr ) { // There is a window covering our entire rendering area. @@ -1451,10 +1383,8 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM } } } - break; - case WM_GETMINMAXINFO: ( ( MINMAXINFO* )lParam )->ptMinTrackSize.x = DXUT_MIN_WINDOW_SIZE_X; ( ( MINMAXINFO* )lParam )->ptMinTrackSize.y = DXUT_MIN_WINDOW_SIZE_Y; @@ -1473,41 +1403,11 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM GetDXUTState().SetInSizeMove( false ); break; - case WM_MOUSEMOVE: - if( DXUTIsActive() && !DXUTIsWindowed() ) - { - if( DXUTIsCurrentDeviceD3D9() ) - { - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( pd3dDevice ) - { - POINT ptCursor; - GetCursorPos( &ptCursor ); - pd3dDevice->SetCursorPosition( ptCursor.x, ptCursor.y, 0 ); - } - } - else - { - // For D3D11, no processing is necessary. D3D11 cursor - // is handled in the traditional Windows manner. - } - } - break; - case WM_SETCURSOR: if( DXUTIsActive() && !DXUTIsWindowed() ) { - if( DXUTIsCurrentDeviceD3D9() ) - { - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( pd3dDevice && GetDXUTState().GetShowCursorWhenFullScreen() ) - pd3dDevice->ShowCursor( true ); - } - else - { - if( !GetDXUTState().GetShowCursorWhenFullScreen() ) - SetCursor( NULL ); - } + if( !GetDXUTState().GetShowCursorWhenFullScreen() ) + SetCursor( nullptr ); return true; // prevent Windows from setting cursor to window class cursor } @@ -1526,14 +1426,9 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM // is minimized and thus making the pause count wrong if( GetDXUTState().GetMinimizedWhileFullscreen() ) { - if( DXUTIsD3D9( GetDXUTState().GetCurrentDeviceSettings() ) ) - DXUTPause( false, false ); // Unpause since we're no longer minimized GetDXUTState().SetMinimizedWhileFullscreen( false ); - if( DXUTIsAppRenderingWithD3D11() ) - { - DXUTToggleFullScreen(); - } + DXUTToggleFullScreen(); } // Upon returning to this app, potentially disable shortcut keys @@ -1552,9 +1447,7 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM if( !DXUTIsWindowed() ) { // Going from full screen to a minimized state - ClipCursor( NULL ); // don't limit the cursor anymore - if( DXUTIsD3D9( GetDXUTState().GetCurrentDeviceSettings() ) ) - DXUTPause( true, true ); // Pause while we're minimized (take care not to pause twice by handling this message twice) + ClipCursor( nullptr ); // don't limit the cursor anymore GetDXUTState().SetMinimizedWhileFullscreen( true ); } @@ -1592,9 +1485,6 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM case WM_POWERBROADCAST: switch( wParam ) { -#ifndef PBT_APMQUERYSUSPEND -#define PBT_APMQUERYSUSPEND 0x0000 -#endif case PBT_APMQUERYSUSPEND: // At this point, the app should save any data for open // network connections, files, etc., and prepare to go into @@ -1602,9 +1492,6 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM // to handle this if desired. return true; -#ifndef PBT_APMRESUMESUSPEND -#define PBT_APMRESUMESUSPEND 0x0007 -#endif case PBT_APMRESUMESUSPEND: // At this point, the app should recover any data, network // connections, files, etc., and resume running from when @@ -1633,31 +1520,6 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM } break; - case WM_SYSKEYDOWN: - { - switch( wParam ) - { - case VK_RETURN: - { - if( GetDXUTState().GetHandleAltEnter() && DXUTIsAppRenderingWithD3D9() ) - { - // Toggle full screen upon alt-enter - DWORD dwMask = ( 1 << 29 ); - if( ( lParam & dwMask ) != 0 ) // Alt is down also - { - // Toggle the full screen/window mode - DXUTPause( true, true ); - DXUTToggleFullScreen(); - DXUTPause( false, false ); - return 0; - } - } - - } - } - break; - } - case WM_KEYDOWN: { switch( wParam ) @@ -1690,13 +1552,13 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM { HMENU hMenu; hMenu = GetMenu( hWnd ); - if( hMenu != NULL ) + if( hMenu ) DestroyMenu( hMenu ); DestroyWindow( hWnd ); - UnregisterClass( L"Direct3DWindowClass", NULL ); - GetDXUTState().SetHWNDFocus( NULL ); - GetDXUTState().SetHWNDDeviceFullScreen( NULL ); - GetDXUTState().SetHWNDDeviceWindowed( NULL ); + UnregisterClass( L"Direct3DWindowClass", nullptr ); + GetDXUTState().SetHWNDFocus( nullptr ); + GetDXUTState().SetHWNDDeviceFullScreen( nullptr ); + GetDXUTState().SetHWNDDeviceWindowed( nullptr ); return 0; } @@ -1708,7 +1570,7 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM // Don't allow the F10 key to act as a shortcut to the menu bar // by not passing these messages to the DefWindowProc only when // there's no menu present - if( !GetDXUTState().GetCallDefWindowProc() || GetDXUTState().GetMenu() == NULL && + if( !GetDXUTState().GetCallDefWindowProc() || !GetDXUTState().GetMenu() && ( uMsg == WM_SYSKEYDOWN || uMsg == WM_SYSKEYUP ) && wParam == VK_F10 ) return 0; else @@ -1717,10 +1579,10 @@ LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM //-------------------------------------------------------------------------------------- -// Handles app's message loop and rendering when idle. If DXUTCreateDevice() or DXUTSetD3D*Device() +// Handles app's message loop and rendering when idle. If DXUTCreateDevice() // has not already been called, it will call DXUTCreateWindow() with the default parameters. //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) +HRESULT WINAPI DXUTMainLoop( _In_opt_ HACCEL hAccel ) { HRESULT hr; @@ -1734,7 +1596,7 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) GetDXUTState().SetInsideMainloop( true ); - // If DXUTCreateDevice() or DXUTSetD3D*Device() has not already been called, + // If DXUTCreateDevice() has not already been called, // then call DXUTCreateDevice() with the default parameters. if( !GetDXUTState().GetDeviceCreated() ) { @@ -1745,7 +1607,7 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) return E_FAIL; // DXUTCreateDevice() must first succeed for this function to succeed } - hr = DXUTCreateDevice(D3D_FEATURE_LEVEL_10_0, true, 640, 480); + hr = DXUTCreateDevice(D3D_FEATURE_LEVEL_10_0, true, 800, 600); if( FAILED( hr ) ) { if( ( GetDXUTState().GetExitCode() == 0 ) || ( GetDXUTState().GetExitCode() == 10 ) ) @@ -1758,7 +1620,7 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) // DXUTInit() must have been called and succeeded for this function to proceed // DXUTCreateWindow() or DXUTSetWindow() must have been called and succeeded for this function to proceed - // DXUTCreateDevice() or DXUTCreateDeviceFromSettings() or DXUTSetD3D*Device() must have been called and succeeded for this function to proceed + // DXUTCreateDevice() or DXUTCreateDeviceFromSettings() must have been called and succeeded for this function to proceed if( !GetDXUTState().GetDXUTInited() || !GetDXUTState().GetWindowCreated() || !GetDXUTState().GetDeviceCreated() ) { if( ( GetDXUTState().GetExitCode() == 0 ) || ( GetDXUTState().GetExitCode() == 10 ) ) @@ -1770,17 +1632,17 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) bool bGotMsg; MSG msg; msg.message = WM_NULL; - PeekMessage( &msg, NULL, 0U, 0U, PM_NOREMOVE ); + PeekMessage( &msg, nullptr, 0U, 0U, PM_NOREMOVE ); while( WM_QUIT != msg.message ) { // Use PeekMessage() so we can use idle time to render the scene. - bGotMsg = ( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) != 0 ); + bGotMsg = ( PeekMessage( &msg, nullptr, 0U, 0U, PM_REMOVE ) != 0 ); if( bGotMsg ) { // Translate and dispatch the message - if( hAccel == NULL || hWnd == NULL || + if( !hAccel || !hWnd || 0 == TranslateAccelerator( hWnd, hAccel, &msg ) ) { TranslateMessage( &msg ); @@ -1795,7 +1657,7 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) } // Cleanup the accelerator table - if( hAccel != NULL ) + if( hAccel ) DestroyAcceleratorTable( hAccel ); GetDXUTState().SetInsideMainloop( false ); @@ -1809,13 +1671,14 @@ HRESULT WINAPI DXUTMainLoop( HACCEL hAccel ) // Direct3D section //====================================================================================== //====================================================================================== -HRESULT WINAPI DXUTCreateDevice(D3D_FEATURE_LEVEL reqFL, bool bWindowed, int nSuggestedWidth, int nSuggestedHeight) { - HRESULT hr = S_OK; - +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateDevice(D3D_FEATURE_LEVEL reqFL, bool bWindowed, int nSuggestedWidth, int nSuggestedHeight) +{ + HRESULT hr = S_OK; // Not allowed to call this from inside the device callbacks if( GetDXUTState().GetInsideDeviceCallback() ) - return DXUT_ERR_MSGBOX( L"DXUTCreateWindow", E_FAIL ); + return DXUT_ERR_MSGBOX( L"DXUTCreateDevice", E_FAIL ); GetDXUTState().SetDeviceCreateCalled( true ); @@ -1835,91 +1698,77 @@ HRESULT WINAPI DXUTCreateDevice(D3D_FEATURE_LEVEL reqFL, bool bWindowed, int nS return hr; } - DXUTDeviceSettings deviceSettings ; + DXUTDeviceSettings deviceSettings; DXUTApplyDefaultDeviceSettings(&deviceSettings); deviceSettings.MinimumFeatureLevel = reqFL; deviceSettings.d3d11.sd.BufferDesc.Width = nSuggestedWidth; deviceSettings.d3d11.sd.BufferDesc.Height = nSuggestedHeight; deviceSettings.d3d11.sd.Windowed = bWindowed; - deviceSettings.d3d9.pp.Windowed = bWindowed; - deviceSettings.d3d9.pp.BackBufferWidth= nSuggestedWidth; - deviceSettings.d3d9.pp.BackBufferHeight = nSuggestedHeight; - - bool bAppSupportsD3D9 = DXUTDoesAppSupportD3D9(); - bool bAppSupportsD3D11 = DXUTDoesAppSupportD3D11(); - - if (bAppSupportsD3D11) { - deviceSettings.ver = DXUT_D3D11_DEVICE; - } - else if (bAppSupportsD3D9) { - deviceSettings.ver = DXUT_D3D9_DEVICE; - } - DXUTUpdateDeviceSettingsWithOverrides(&deviceSettings); + GetDXUTState().SetWindowBackBufferWidthAtModeChange(deviceSettings.d3d11.sd.BufferDesc.Width); + GetDXUTState().SetWindowBackBufferHeightAtModeChange(deviceSettings.d3d11.sd.BufferDesc.Height); + GetDXUTState().SetFullScreenBackBufferWidthAtModeChange(deviceSettings.d3d11.sd.BufferDesc.Width); + GetDXUTState().SetFullScreenBackBufferHeightAtModeChange(deviceSettings.d3d11.sd.BufferDesc.Height); + // Change to a Direct3D device created from the new device settings. // If there is an existing device, then either reset or recreated the scene - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, true ); + hr = DXUTChangeDevice( &deviceSettings, true ); - if ( hr == DXUTERR_NODIRECT3D11 && GetDXUTState().GetMessageWhenD3D11NotAvailable() ) { - + if ( hr == DXUTERR_NODIRECT3D && GetDXUTState().GetMessageWhenD3D11NotAvailable() ) + { OSVERSIONINFOEX osv; memset( &osv, 0, sizeof(osv) ); osv.dwOSVersionInfoSize = sizeof(osv); +#pragma warning( suppress : 4996 28159 ) GetVersionEx( (LPOSVERSIONINFO)&osv ); - if ( ( osv.dwMajorVersion > 6 ) || ( osv.dwMajorVersion == 6 && osv.dwMinorVersion >= 1 ) || ( osv.dwMajorVersion == 6 && osv.dwMinorVersion == 0 && osv.dwBuildNumber > 6002 ) ) { - MessageBox( 0, L"Direct3D 11 components were not found.", L"Error", MB_ICONEXCLAMATION ); // This should not happen, but is here for completeness as the system could be // corrupted or some future OS version could pull D3D11.DLL for some reason } else if ( osv.dwMajorVersion == 6 && osv.dwMinorVersion == 0 && osv.dwBuildNumber == 6002 ) { - MessageBox( 0, L"Direct3D 11 components were not found, but are available for"\ L" this version of Windows.\n"\ L"For details see Microsoft Knowledge Base Article #971644\n"\ L"http://go.microsoft.com/fwlink/?LinkId=160189", L"Error", MB_ICONEXCLAMATION ); - } else if ( osv.dwMajorVersion == 6 && osv.dwMinorVersion == 0 ) { MessageBox( 0, L"Direct3D 11 components were not found. Please install the latest Service Pack.\n"\ L"For details see Microsoft Knowledge Base Article #935791\n"\ L"http://support.microsoft.com/kb/935791/", L"Error", MB_ICONEXCLAMATION ); - } else { MessageBox( 0, L"Direct3D 11 is not supported on this OS.", L"Error", MB_ICONEXCLAMATION ); } - - - } - if( FAILED( hr ) ) return hr; return hr; } + //-------------------------------------------------------------------------------------- // Tells the framework to change to a device created from the passed in device settings // If DXUTCreateWindow() has not already been called, it will call it with the // default parameters. Instead of calling this, you can call DXUTCreateDevice() -// or DXUTSetD3D*Device() //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings, bool bPreserveInput, - bool bClipWindowToSingleAdapter ) +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings, bool bClipWindowToSingleAdapter ) { + if ( !pDeviceSettings ) + return E_INVALIDARG; + HRESULT hr; GetDXUTState().SetDeviceCreateCalled( true ); @@ -1939,12 +1788,17 @@ HRESULT WINAPI DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings if( FAILED( hr ) ) return hr; } + DXUTUpdateDeviceSettingsWithOverrides(pDeviceSettings); - + GetDXUTState().SetWindowBackBufferWidthAtModeChange(pDeviceSettings->d3d11.sd.BufferDesc.Width); + GetDXUTState().SetWindowBackBufferHeightAtModeChange(pDeviceSettings->d3d11.sd.BufferDesc.Height); + GetDXUTState().SetFullScreenBackBufferWidthAtModeChange(pDeviceSettings->d3d11.sd.BufferDesc.Width); + GetDXUTState().SetFullScreenBackBufferHeightAtModeChange(pDeviceSettings->d3d11.sd.BufferDesc.Height); + // Change to a Direct3D device created from the new device settings. // If there is an existing device, then either reset or recreate the scene - hr = DXUTChangeDevice( pDeviceSettings, NULL, NULL, false, bClipWindowToSingleAdapter ); + hr = DXUTChangeDevice( pDeviceSettings, bClipWindowToSingleAdapter ); if( FAILED( hr ) ) return hr; @@ -1958,46 +1812,33 @@ HRESULT WINAPI DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings // also remembers and restores the window state if toggling between windowed and fullscreen // as well as sets the proper window and system state for switching to the new device. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, - IDirect3DDevice9* pd3d9DeviceFromApp, - ID3D11Device* pd3d11DeviceFromApp, - bool bForceRecreate, bool bClipWindowToSingleAdapter ) + bool bClipWindowToSingleAdapter ) { + if ( GetDXUTState().GetReleasingSwapChain() ) + return S_FALSE; + HRESULT hr = S_OK; DXUTDeviceSettings* pOldDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); if( !pNewDeviceSettings ) return S_FALSE; - - - if ( pNewDeviceSettings->ver == DXUT_D3D11_DEVICE ) { - hr = DXUTDelayLoadDXGI(); - } - - - if ( pNewDeviceSettings->ver == DXUT_D3D9_DEVICE || - ( FAILED( hr ) && DXUTDoesAppSupportD3D9() ) ) { - hr = DXUTDelayLoadD3D9(); - pNewDeviceSettings->ver = DXUT_D3D9_DEVICE; - if ( !FAILED( hr ) ) { - pNewDeviceSettings->ver = DXUT_D3D9_DEVICE; - } - } + hr = DXUTDelayLoadDXGI(); if( FAILED( hr ) ) return hr; // Make a copy of the pNewDeviceSettings on the heap - DXUTDeviceSettings* pNewDeviceSettingsOnHeap = new DXUTDeviceSettings; - if( pNewDeviceSettingsOnHeap == NULL ) + DXUTDeviceSettings* pNewDeviceSettingsOnHeap = new (std::nothrow) DXUTDeviceSettings; + if( !pNewDeviceSettingsOnHeap ) return E_OUTOFMEMORY; memcpy( pNewDeviceSettingsOnHeap, pNewDeviceSettings, sizeof( DXUTDeviceSettings ) ); pNewDeviceSettings = pNewDeviceSettingsOnHeap; - GetDXUTState().SetCurrentDeviceSettings(pNewDeviceSettingsOnHeap); - DXUTSnapDeviceSettingsToEnumDevice(pNewDeviceSettingsOnHeap, false); + hr = DXUTSnapDeviceSettingsToEnumDevice(pNewDeviceSettingsOnHeap, false); if( FAILED( hr ) ) // the call will fail if no valid devices were found { @@ -2008,19 +1849,19 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, // If the ModifyDeviceSettings callback is non-NULL, then call it to let the app // change the settings or reject the device change by returning false. LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallbackModifyDeviceSettings = GetDXUTState().GetModifyDeviceSettingsFunc(); - if( pCallbackModifyDeviceSettings && pd3d9DeviceFromApp == NULL ) + if( pCallbackModifyDeviceSettings ) { bool bContinue = pCallbackModifyDeviceSettings( pNewDeviceSettings, GetDXUTState().GetModifyDeviceSettingsFuncUserContext() ); if( !bContinue ) { // The app rejected the device change by returning false, so just use the current device if there is one. - if( pOldDeviceSettings == NULL ) + if( !pOldDeviceSettings ) DXUTDisplayErrorMessage( DXUTERR_NOCOMPATIBLEDEVICES ); SAFE_DELETE( pNewDeviceSettings ); return E_ABORT; } - if( GetDXUTState().GetD3D9() == NULL && GetDXUTState().GetDXGIFactory() == NULL ) // if DXUTShutdown() was called in the modify callback, just return + if( !GetDXUTState().GetDXGIFactory() ) // if DXUTShutdown() was called in the modify callback, just return { SAFE_DELETE( pNewDeviceSettings ); return S_FALSE; @@ -2039,13 +1880,6 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, DXUTPause( true, true ); - // When a WM_SIZE message is received, it calls DXUTCheckForWindowSizeChange(). - // A WM_SIZE message might be sent when adjusting the window, so tell - // DXUTCheckForWindowSizeChange() to ignore size changes temporarily - if( DXUTIsCurrentDeviceD3D9() ) - GetDXUTState().SetIgnoreSizeChange( true ); - - // Take note if the backbuffer width & height are 0 now as they will change after pd3dDevice->Reset() bool bKeepCurrentWindowSize = false; if( DXUTGetBackBufferWidthFromDS( pNewDeviceSettings ) == 0 && @@ -2056,125 +1890,30 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, // Before reset ///////////////////////// - // If we are using D3D9, adjust window style when switching from windowed to fullscreen and - // vice versa. Note that this is not necessary in D3D11 because DXGI handles this. If both - // DXUT and DXGI handle this, incorrect behavior would result. - if( DXUTIsCurrentDeviceD3D9() ) + if( DXUTGetIsWindowedFromDS( pNewDeviceSettings ) ) { - if( DXUTGetIsWindowedFromDS( pNewDeviceSettings ) ) - { - // Going to windowed mode - - if( pOldDeviceSettings && !DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) - { - // Going from fullscreen -> windowed - GetDXUTState().SetFullScreenBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( - pOldDeviceSettings ) ); - GetDXUTState().SetFullScreenBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( - pOldDeviceSettings ) ); - - // Restore windowed mode style - SetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE, GetDXUTState().GetWindowedStyleAtModeChange() ); - } - - // If different device windows are used for windowed mode and fullscreen mode, - // hide the fullscreen window so that it doesn't obscure the screen. - if( DXUTGetHWNDDeviceFullScreen() != DXUTGetHWNDDeviceWindowed() ) - ShowWindow( DXUTGetHWNDDeviceFullScreen(), SW_HIDE ); - - // If using the same window for windowed and fullscreen mode, reattach menu if one exists - if( DXUTGetHWNDDeviceFullScreen() == DXUTGetHWNDDeviceWindowed() ) - { - if( GetDXUTState().GetMenu() != NULL ) - SetMenu( DXUTGetHWNDDeviceWindowed(), GetDXUTState().GetMenu() ); - } - } - else + // Going to windowed mode + if( pOldDeviceSettings && !DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) { - // Going to fullscreen mode - - if( pOldDeviceSettings == NULL || ( pOldDeviceSettings && DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) ) - { - // Transistioning to full screen mode from a standard window so - // save current window position/size/style now in case the user toggles to windowed mode later - WINDOWPLACEMENT* pwp = GetDXUTState().GetWindowedPlacement(); - ZeroMemory( pwp, sizeof( WINDOWPLACEMENT ) ); - pwp->length = sizeof( WINDOWPLACEMENT ); - GetWindowPlacement( DXUTGetHWNDDeviceWindowed(), pwp ); - bool bIsTopmost = ( ( GetWindowLong( DXUTGetHWNDDeviceWindowed(), - GWL_EXSTYLE ) & WS_EX_TOPMOST ) != 0 ); - GetDXUTState().SetTopmostWhileWindowed( bIsTopmost ); - DWORD dwStyle = GetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE ); - dwStyle &= ~WS_MAXIMIZE & ~WS_MINIMIZE; // remove minimize/maximize style - GetDXUTState().SetWindowedStyleAtModeChange( dwStyle ); - if( pOldDeviceSettings ) - { - GetDXUTState().SetWindowBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( - pOldDeviceSettings ) ); - GetDXUTState().SetWindowBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( - pOldDeviceSettings ) ); - } - } - - // Hide the window to avoid animation of blank windows - ShowWindow( DXUTGetHWNDDeviceFullScreen(), SW_HIDE ); - - // Set FS window style - SetWindowLong( DXUTGetHWNDDeviceFullScreen(), GWL_STYLE, WS_POPUP | WS_SYSMENU ); - - // If using the same window for windowed and fullscreen mode, save and remove menu - if( DXUTGetHWNDDeviceFullScreen() == DXUTGetHWNDDeviceWindowed() ) - { - HMENU hMenu = GetMenu( DXUTGetHWNDDeviceFullScreen() ); - GetDXUTState().SetMenu( hMenu ); - SetMenu( DXUTGetHWNDDeviceFullScreen(), NULL ); - } - - WINDOWPLACEMENT wpFullscreen; - ZeroMemory( &wpFullscreen, sizeof( WINDOWPLACEMENT ) ); - wpFullscreen.length = sizeof( WINDOWPLACEMENT ); - GetWindowPlacement( DXUTGetHWNDDeviceFullScreen(), &wpFullscreen ); - if( ( wpFullscreen.flags & WPF_RESTORETOMAXIMIZED ) != 0 ) - { - // Restore the window to normal if the window was maximized then minimized. This causes the - // WPF_RESTORETOMAXIMIZED flag to be set which will cause SW_RESTORE to restore the - // window from minimized to maxmized which isn't what we want - wpFullscreen.flags &= ~WPF_RESTORETOMAXIMIZED; - wpFullscreen.showCmd = SW_RESTORE; - SetWindowPlacement( DXUTGetHWNDDeviceFullScreen(), &wpFullscreen ); - } + // Going from fullscreen -> windowed + GetDXUTState().SetFullScreenBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( + pOldDeviceSettings ) ); + GetDXUTState().SetFullScreenBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( + pOldDeviceSettings ) ); } } else { - if( DXUTGetIsWindowedFromDS( pNewDeviceSettings ) ) - { - // Going to windowed mode - if( pOldDeviceSettings && !DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) - { - // Going from fullscreen -> windowed - GetDXUTState().SetFullScreenBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( - pOldDeviceSettings ) ); - GetDXUTState().SetFullScreenBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( - pOldDeviceSettings ) ); - //DXGI should handle this, but in the case where switching from d3d9 full screen to windowed d3d11 it does not. - SetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE, GetDXUTState().GetWindowedStyleAtModeChange() ); - - } - } - else + // Going to fullscreen mode + if( !pOldDeviceSettings || ( pOldDeviceSettings && DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) ) { - // Going to fullscreen mode - if( pOldDeviceSettings == NULL || ( pOldDeviceSettings && DXUTGetIsWindowedFromDS( pOldDeviceSettings ) ) ) + // Transistioning to full screen mode from a standard window so + if( pOldDeviceSettings ) { - // Transistioning to full screen mode from a standard window so - if( pOldDeviceSettings ) - { - GetDXUTState().SetWindowBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( - pOldDeviceSettings ) ); - GetDXUTState().SetWindowBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( - pOldDeviceSettings ) ); - } + GetDXUTState().SetWindowBackBufferWidthAtModeChange( DXUTGetBackBufferWidthFromDS( + pOldDeviceSettings ) ); + GetDXUTState().SetWindowBackBufferHeightAtModeChange( DXUTGetBackBufferHeightFromDS( + pOldDeviceSettings ) ); } } } @@ -2183,12 +1922,7 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, DXUTCleanup3DEnvironment( false ); // Create the D3D device and call the app's device callbacks - if( DXUTIsD3D9( pNewDeviceSettings ) ) { - hr = DXUTCreate3DEnvironment9( pd3d9DeviceFromApp ); - } - else { - hr = DXUTCreate3DEnvironment11( pd3d11DeviceFromApp ); - } + hr = DXUTCreate3DEnvironment11(); if( FAILED( hr ) ) { SAFE_DELETE( pOldDeviceSettings ); @@ -2220,7 +1954,7 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, // It is important to adjust the window size // after resetting the device rather than beforehand to ensure // that the monitor resolution is correct and does not limit the size of the new window. - WINDOWPLACEMENT* pwp = GetDXUTState().GetWindowedPlacement(); + auto pwp = GetDXUTState().GetWindowedPlacement(); SetWindowPlacement( DXUTGetHWNDDeviceWindowed(), pwp ); // Also restore the z-order of window to previous state @@ -2243,8 +1977,7 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, // Window is currently minimized. To tell if it needs to resize, // get the client rect of window when its restored the // hard way using GetWindowPlacement() - WINDOWPLACEMENT wp; - ZeroMemory( &wp, sizeof( WINDOWPLACEMENT ) ); + WINDOWPLACEMENT wp = {}; wp.length = sizeof( WINDOWPLACEMENT ); GetWindowPlacement( DXUTGetHWNDDeviceWindowed(), &wp ); @@ -2265,8 +1998,8 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, { // Use wp.rcNormalPosition to get the client rect, but wp.rcNormalPosition // includes the window frame so subtract it - RECT rcFrame = {0}; - AdjustWindowRect( &rcFrame, GetDXUTState().GetWindowedStyleAtModeChange(), GetDXUTState().GetMenu() != NULL ); + RECT rcFrame = {}; + AdjustWindowRect( &rcFrame, GetDXUTState().GetWindowedStyleAtModeChange(), GetDXUTState().GetMenu() != 0 ); LONG nFrameWidth = rcFrame.right - rcFrame.left; LONG nFrameHeight = rcFrame.bottom - rcFrame.top; nClientWidth = ( UINT )( wp.rcNormalPosition.right - wp.rcNormalPosition.left - nFrameWidth ); @@ -2364,7 +2097,7 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, rcResizedWindow.top = 0; rcResizedWindow.bottom = nClientHeight; AdjustWindowRect( &rcResizedWindow, GetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE ), - GetDXUTState().GetMenu() != NULL ); + GetDXUTState().GetMenu() != 0 ); int nWindowWidth = rcResizedWindow.right - rcResizedWindow.left; int nWindowHeight = rcResizedWindow.bottom - rcResizedWindow.top; @@ -2397,10 +2130,10 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, else { // Make a window rect with a client rect that is the same size as the backbuffer - RECT rcWindow = {0}; + RECT rcWindow = {}; rcWindow.right = (long)( DXUTGetBackBufferWidthFromDS(pNewDeviceSettings) ); rcWindow.bottom = (long)( DXUTGetBackBufferHeightFromDS(pNewDeviceSettings) ); - AdjustWindowRect( &rcWindow, GetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE ), GetDXUTState().GetMenu() != NULL ); + AdjustWindowRect( &rcWindow, GetWindowLong( DXUTGetHWNDDeviceWindowed(), GWL_STYLE ), GetDXUTState().GetMenu() != 0 ); // Resize the window. It is important to adjust the window size // after resetting the device rather than beforehand to ensure @@ -2423,11 +2156,11 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, { // If its different, then resize the backbuffer again. This time create a backbuffer that matches the // client rect of the current window w/o resizing the window. - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - if( DXUTIsD3D9( &deviceSettings ) ) deviceSettings.d3d9.pp.BackBufferWidth = 0; else deviceSettings.d3d11.sd.BufferDesc.Width = 0; - if( DXUTIsD3D9( &deviceSettings ) ) deviceSettings.d3d9.pp.BackBufferHeight = 0; else deviceSettings.d3d11.sd.BufferDesc.Height = 0; + auto deviceSettings = DXUTGetDeviceSettings(); + deviceSettings.d3d11.sd.BufferDesc.Width = 0; + deviceSettings.d3d11.sd.BufferDesc.Height = 0; - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, bClipWindowToSingleAdapter ); + hr = DXUTChangeDevice( &deviceSettings, bClipWindowToSingleAdapter ); if( FAILED( hr ) ) { SAFE_DELETE( pOldDeviceSettings ); @@ -2440,8 +2173,8 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, } //if (DXUTGetIsWindowedFromDS( pNewDeviceSettings )) { - // RECT rcFrame = {0}; - // AdjustWindowRect( &rcFrame, GetDXUTState().GetWindowedStyleAtModeChange(), GetDXUTState().GetMenu() != NULL ); + // RECT rcFrame = {}; + // AdjustWindowRect( &rcFrame, GetDXUTState().GetWindowedStyleAtModeChange(), GetDXUTState().GetMenu() ); // } // Make the window visible @@ -2468,959 +2201,136 @@ HRESULT DXUTChangeDevice( DXUTDeviceSettings* pNewDeviceSettings, //-------------------------------------------------------------------------------------- HRESULT DXUTDelayLoadDXGI() { - IDXGIFactory1* pDXGIFactory = GetDXUTState().GetDXGIFactory(); - if( pDXGIFactory == NULL ) + auto pDXGIFactory = GetDXUTState().GetDXGIFactory(); + if( !pDXGIFactory ) { - DXUT_Dynamic_CreateDXGIFactory1( __uuidof( IDXGIFactory1 ), ( LPVOID* )&pDXGIFactory ); - GetDXUTState().SetDXGIFactory( pDXGIFactory ); - if( pDXGIFactory == NULL ) - { - // If still NULL, then DXGI is not availible - GetDXUTState().SetD3D11Available( false ); - return DXUTERR_NODIRECT3D11; - } - - // DXGI 1.1 implies Direct3D 11 - - GetDXUTState().SetD3D11Available( true ); - } - - return S_OK; -} - + HRESULT hr = DXUT_Dynamic_CreateDXGIFactory1( IID_PPV_ARGS(&pDXGIFactory) ); + if ( FAILED(hr) ) + return hr; -//-------------------------------------------------------------------------------------- -// Creates a Direct3D object if one has not already been created -//-------------------------------------------------------------------------------------- -HRESULT DXUTDelayLoadD3D9() -{ - IDirect3D9* pD3D = GetDXUTState().GetD3D9(); - if( pD3D == NULL ) - { - // This may fail if Direct3D 9 isn't installed - // This may also fail if the Direct3D headers are somehow out of sync with the installed Direct3D DLLs - pD3D = DXUT_Dynamic_Direct3DCreate9( D3D_SDK_VERSION ); - if( pD3D == NULL ) + GetDXUTState().SetDXGIFactory( pDXGIFactory ); + if( !pDXGIFactory ) { - // If still NULL, then D3D9 is not availible return DXUTERR_NODIRECT3D; } - GetDXUTState().SetD3D9( pD3D ); + // DXGI 1.1 implies Direct3D 11 } return S_OK; } - //-------------------------------------------------------------------------------------- // Updates the device settings with default values.. //-------------------------------------------------------------------------------------- -void DXUTUpdateDeviceSettingsWithOverrides( DXUTDeviceSettings* pDeviceSettings ) +void DXUTUpdateDeviceSettingsWithOverrides( _Inout_ DXUTDeviceSettings* pDeviceSettings ) { // Override with settings from the command line if( GetDXUTState().GetOverrideWidth() != 0 ) { - pDeviceSettings->d3d9.pp.BackBufferWidth = GetDXUTState().GetOverrideWidth(); pDeviceSettings->d3d11.sd.BufferDesc.Width = GetDXUTState().GetOverrideWidth(); } if( GetDXUTState().GetOverrideHeight() != 0 ) { - pDeviceSettings->d3d9.pp.BackBufferHeight = GetDXUTState().GetOverrideHeight(); pDeviceSettings->d3d11.sd.BufferDesc.Height = GetDXUTState().GetOverrideHeight(); } if( GetDXUTState().GetOverrideAdapterOrdinal() != -1 ) { - pDeviceSettings->d3d9.AdapterOrdinal = GetDXUTState().GetOverrideAdapterOrdinal(); pDeviceSettings->d3d11.AdapterOrdinal = GetDXUTState().GetOverrideAdapterOrdinal(); } if( GetDXUTState().GetOverrideFullScreen() ) { - pDeviceSettings->d3d9.pp.Windowed = FALSE; pDeviceSettings->d3d11.sd.Windowed = FALSE; } - if( GetDXUTState().GetOverrideWindowed() ) { - pDeviceSettings->d3d9.pp.Windowed = TRUE; + if( GetDXUTState().GetOverrideWindowed() ) + { pDeviceSettings->d3d11.sd.Windowed = TRUE; } if( GetDXUTState().GetOverrideForceHAL() ) { - pDeviceSettings->d3d9.DeviceType = D3DDEVTYPE_HAL; pDeviceSettings->d3d11.DriverType = D3D_DRIVER_TYPE_HARDWARE; } if( GetDXUTState().GetOverrideForceREF() ) { - pDeviceSettings->d3d9.DeviceType = D3DDEVTYPE_REF; pDeviceSettings->d3d11.DriverType = D3D_DRIVER_TYPE_REFERENCE; } + if( GetDXUTState().GetOverrideForceWARP() ) + { + pDeviceSettings->d3d11.DriverType = D3D_DRIVER_TYPE_WARP; + pDeviceSettings->d3d11.sd.Windowed = TRUE; + } + if( GetDXUTState().GetOverrideForceVsync() == 0 ) { - pDeviceSettings->d3d9.pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; pDeviceSettings->d3d11.SyncInterval = 0; } else if( GetDXUTState().GetOverrideForceVsync() == 1 ) { - pDeviceSettings->d3d9.pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; pDeviceSettings->d3d11.SyncInterval = 1; } - - if( GetDXUTState().GetOverrideForceAPI() != -1 ) + + if (GetDXUTState().GetOverrideForceFeatureLevel() != 0) { - if( GetDXUTState().GetOverrideForceAPI() == 9 ) - { - pDeviceSettings->ver = DXUT_D3D9_DEVICE; - } - else if( GetDXUTState().GetOverrideForceAPI() == 11 ) - { - pDeviceSettings->ver = DXUT_D3D11_DEVICE; - } - } - - if (GetDXUTState().GetOverrideForceFeatureLevel() != 0) { - pDeviceSettings->d3d11.DeviceFeatureLevel = (D3D_FEATURE_LEVEL)GetDXUTState().GetOverrideForceFeatureLevel(); + pDeviceSettings->d3d11.DeviceFeatureLevel = GetDXUTState().GetOverrideForceFeatureLevel(); } } //-------------------------------------------------------------------------------------- -// Allows the app to explictly state if it supports D3D9 or D3D11. Typically -// calling this is not needed as DXUT will auto-detect this based on the callbacks set. +// Sets the viewport, render target view, and depth stencil view. //-------------------------------------------------------------------------------------- -void WINAPI DXUTSetD3DVersionSupport( bool bAppCanUseD3D9, bool bAppCanUseD3D11 ) +HRESULT WINAPI DXUTSetupD3D11Views( _In_ ID3D11DeviceContext* pd3dDeviceContext ) { - GetDXUTState().SetUseD3DVersionOverride( true ); - GetDXUTState().SetAppSupportsD3D9Override( bAppCanUseD3D9 ); - GetDXUTState().SetAppSupportsD3D11Override( bAppCanUseD3D11 ); -} + HRESULT hr = S_OK; + + // Setup the viewport to match the backbuffer + D3D11_VIEWPORT vp; + vp.Width = (FLOAT)DXUTGetDXGIBackBufferSurfaceDesc()->Width; + vp.Height = (FLOAT)DXUTGetDXGIBackBufferSurfaceDesc()->Height; + vp.MinDepth = 0; + vp.MaxDepth = 1; + vp.TopLeftX = 0; + vp.TopLeftY = 0; + pd3dDeviceContext->RSSetViewports( 1, &vp ); + // Set the render targets + auto pRTV = GetDXUTState().GetD3D11RenderTargetView(); + auto pDSV = GetDXUTState().GetD3D11DepthStencilView(); + pd3dDeviceContext->OMSetRenderTargets( 1, &pRTV, pDSV ); -//-------------------------------------------------------------------------------------- -// Returns true if app has registered any D3D9 callbacks or -// used the DXUTSetD3DVersionSupport API and passed true for bAppCanUseD3D9 -//-------------------------------------------------------------------------------------- -bool WINAPI DXUTDoesAppSupportD3D9() -{ - if( GetDXUTState().GetUseD3DVersionOverride() ) - return GetDXUTState().GetAppSupportsD3D9Override(); - else - return GetDXUTState().GetIsD3D9DeviceAcceptableFunc() || - GetDXUTState().GetD3D9DeviceCreatedFunc() || - GetDXUTState().GetD3D9DeviceResetFunc() || - GetDXUTState().GetD3D9DeviceLostFunc() || - GetDXUTState().GetD3D9DeviceDestroyedFunc() || - GetDXUTState().GetD3D9FrameRenderFunc(); + return hr; } //-------------------------------------------------------------------------------------- -// Returns true if app has registered any D3D11 callbacks or -// used the DXUTSetD3DVersionSupport API and passed true for bAppCanUseD3D11 -//-------------------------------------------------------------------------------------- -bool WINAPI DXUTDoesAppSupportD3D11() -{ - if( GetDXUTState().GetUseD3DVersionOverride() ) - return GetDXUTState().GetAppSupportsD3D11Override(); - else - return GetDXUTState().GetIsD3D11DeviceAcceptableFunc() || - GetDXUTState().GetD3D11DeviceCreatedFunc() || - GetDXUTState().GetD3D11SwapChainResizedFunc() || - GetDXUTState().GetD3D11FrameRenderFunc() || - GetDXUTState().GetD3D11SwapChainReleasingFunc() || - GetDXUTState().GetD3D11DeviceDestroyedFunc(); -} - - -//====================================================================================== -//====================================================================================== -// Direct3D 9 section -//====================================================================================== -//====================================================================================== - - -//-------------------------------------------------------------------------------------- -// Passes a previously created Direct3D9 device for use by the framework. -// If DXUTCreateWindow() has not already been called, it will call it with the -// default parameters. Instead of calling this, you can call DXUTCreateDevice() or -// DXUTCreateDeviceFromSettings() -//-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTSetD3D9Device( IDirect3DDevice9* pd3dDevice ) -{ - HRESULT hr; - - if( pd3dDevice == NULL ) - return DXUT_ERR_MSGBOX( L"DXUTSetD3D9Device", E_INVALIDARG ); - - // Not allowed to call this from inside the device callbacks - if( GetDXUTState().GetInsideDeviceCallback() ) - return DXUT_ERR_MSGBOX( L"DXUTSetD3D9Device", E_FAIL ); - - GetDXUTState().SetDeviceCreateCalled( true ); - - // If DXUTCreateWindow() or DXUTSetWindow() has not already been called, - // then call DXUTCreateWindow() with the default parameters. - if( !GetDXUTState().GetWindowCreated() ) - { - // If DXUTCreateWindow() or DXUTSetWindow() was already called and failed, then fail. - // DXUTCreateWindow() or DXUTSetWindow() must first succeed for this function to succeed - if( GetDXUTState().GetWindowCreateCalled() ) - return E_FAIL; - - // If DXUTCreateWindow() or DXUTSetWindow() hasn't been called, then - // automatically call DXUTCreateWindow() with default params - hr = DXUTCreateWindow(); - if( FAILED( hr ) ) - return hr; - } - - DXUTDeviceSettings DeviceSettings; - ZeroMemory( &DeviceSettings, sizeof( DXUTDeviceSettings ) ); - DeviceSettings.ver = DXUT_D3D9_DEVICE; - - // Get the present params from the swap chain - IDirect3DSurface9* pBackBuffer = NULL; - hr = pd3dDevice->GetBackBuffer( 0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer ); - if( SUCCEEDED( hr ) ) - { - IDirect3DSwapChain9* pSwapChain = NULL; - hr = pBackBuffer->GetContainer( IID_IDirect3DSwapChain9, ( void** )&pSwapChain ); - if( SUCCEEDED( hr ) ) - { - pSwapChain->GetPresentParameters( &DeviceSettings.d3d9.pp ); - SAFE_RELEASE( pSwapChain ); - } - - SAFE_RELEASE( pBackBuffer ); - } - - D3DDEVICE_CREATION_PARAMETERS d3dCreationParams; - pd3dDevice->GetCreationParameters( &d3dCreationParams ); - - // Fill out the rest of the device settings struct - DeviceSettings.d3d9.AdapterOrdinal = d3dCreationParams.AdapterOrdinal; - DeviceSettings.d3d9.DeviceType = d3dCreationParams.DeviceType; - DXUTFindD3D9AdapterFormat( DeviceSettings.d3d9.AdapterOrdinal, DeviceSettings.d3d9.DeviceType, - DeviceSettings.d3d9.pp.BackBufferFormat, DeviceSettings.d3d9.pp.Windowed, - &DeviceSettings.d3d9.AdapterFormat ); - DeviceSettings.d3d9.BehaviorFlags = d3dCreationParams.BehaviorFlags; - - // Change to the Direct3D device passed in - hr = DXUTChangeDevice( &DeviceSettings, pd3dDevice, NULL, false, false ); - if( FAILED( hr ) ) - return hr; - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -// Creates the 3D environment -//-------------------------------------------------------------------------------------- -HRESULT DXUTCreate3DEnvironment9( IDirect3DDevice9* pd3dDeviceFromApp ) -{ - HRESULT hr = S_OK; - - IDirect3DDevice9* pd3dDevice = NULL; - DXUTDeviceSettings* pNewDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - assert( pNewDeviceSettings != NULL ); - - // Only create a Direct3D device if one hasn't been supplied by the app - if( pd3dDeviceFromApp == NULL ) - { - // Try to create the device with the chosen settings - IDirect3D9* pD3D = DXUTGetD3D9Object(); - assert( pD3D != NULL ); - hr = pD3D->CreateDevice( pNewDeviceSettings->d3d9.AdapterOrdinal, pNewDeviceSettings->d3d9.DeviceType, - DXUTGetHWNDFocus(), pNewDeviceSettings->d3d9.BehaviorFlags, - &pNewDeviceSettings->d3d9.pp, &pd3dDevice ); - if( hr == D3DERR_DEVICELOST ) - { - GetDXUTState().SetDeviceLost( true ); - return S_OK; - } - else if( FAILED( hr ) ) - { - DXUT_ERR( L"CreateDevice", hr ); - return DXUTERR_CREATINGDEVICE; - } - } - else - { - pd3dDeviceFromApp->AddRef(); - pd3dDevice = pd3dDeviceFromApp; - } - - GetDXUTState().SetD3D9Device( pd3dDevice ); - - // If switching to REF, set the exit code to 10. If switching to HAL and exit code was 10, then set it back to 0. - if( pNewDeviceSettings->d3d9.DeviceType == D3DDEVTYPE_REF && GetDXUTState().GetExitCode() == 0 ) - GetDXUTState().SetExitCode( 10 ); - else if( pNewDeviceSettings->d3d9.DeviceType == D3DDEVTYPE_HAL && GetDXUTState().GetExitCode() == 10 ) - GetDXUTState().SetExitCode( 0 ); - - // Update back buffer desc before calling app's device callbacks - DXUTUpdateBackBufferDesc(); - - // Setup cursor based on current settings (window/fullscreen mode, show cursor state, clip cursor state) - DXUTSetupCursor(); - - // Update GetDXUTState()'s copy of D3D caps - D3DCAPS9* pd3dCaps = GetDXUTState().GetCaps(); - pd3dDevice->GetDeviceCaps( pd3dCaps ); - - // Update the device stats text - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration(); - assert( pd3dEnum != NULL ); - CD3D9EnumAdapterInfo* pAdapterInfo = pd3dEnum->GetAdapterInfo( pNewDeviceSettings->d3d9.AdapterOrdinal ); - DXUTUpdateD3D9DeviceStats( pNewDeviceSettings->d3d9.DeviceType, - pNewDeviceSettings->d3d9.BehaviorFlags, - &pAdapterInfo->AdapterIdentifier ); - - // Call the app's device created callback if non-NULL - const D3DSURFACE_DESC* pBackBufferSurfaceDesc = DXUTGetD3D9BackBufferSurfaceDesc(); - GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D9DEVICECREATED pCallbackDeviceCreated = GetDXUTState().GetD3D9DeviceCreatedFunc(); - hr = S_OK; - if( pCallbackDeviceCreated != NULL ) - hr = pCallbackDeviceCreated( DXUTGetD3D9Device(), pBackBufferSurfaceDesc, - GetDXUTState().GetD3D9DeviceCreatedFuncUserContext() ); - GetDXUTState().SetInsideDeviceCallback( false ); - if( DXUTGetD3D9Device() == NULL ) // Handle DXUTShutdown from inside callback - return E_FAIL; - if( FAILED( hr ) ) - { - DXUT_ERR( L"DeviceCreated callback", hr ); - return ( hr == DXUTERR_MEDIANOTFOUND ) ? DXUTERR_MEDIANOTFOUND : DXUTERR_CREATINGDEVICEOBJECTS; - } - GetDXUTState().SetDeviceObjectsCreated( true ); - - // Call the app's device reset callback if non-NULL - GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D9DEVICERESET pCallbackDeviceReset = GetDXUTState().GetD3D9DeviceResetFunc(); - hr = S_OK; - if( pCallbackDeviceReset != NULL ) - hr = pCallbackDeviceReset( DXUTGetD3D9Device(), pBackBufferSurfaceDesc, - GetDXUTState().GetD3D9DeviceResetFuncUserContext() ); - GetDXUTState().SetInsideDeviceCallback( false ); - if( DXUTGetD3D9Device() == NULL ) // Handle DXUTShutdown from inside callback - return E_FAIL; - if( FAILED( hr ) ) - { - DXUT_ERR( L"DeviceReset callback", hr ); - return ( hr == DXUTERR_MEDIANOTFOUND ) ? DXUTERR_MEDIANOTFOUND : DXUTERR_RESETTINGDEVICEOBJECTS; - } - GetDXUTState().SetDeviceObjectsReset( true ); - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -// Resets the 3D environment by: -// - Calls the device lost callback -// - Resets the device -// - Stores the back buffer description -// - Sets up the full screen Direct3D cursor if requested -// - Calls the device reset callback -//-------------------------------------------------------------------------------------- -HRESULT DXUTReset3DEnvironment9() -{ - HRESULT hr; - - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - assert( pd3dDevice != NULL ); - - // Call the app's device lost callback - if( GetDXUTState().GetDeviceObjectsReset() == true ) - { - GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D9DEVICELOST pCallbackDeviceLost = GetDXUTState().GetD3D9DeviceLostFunc(); - if( pCallbackDeviceLost != NULL ) - pCallbackDeviceLost( GetDXUTState().GetD3D9DeviceLostFuncUserContext() ); - GetDXUTState().SetDeviceObjectsReset( false ); - GetDXUTState().SetInsideDeviceCallback( false ); - } - - // Reset the device - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - hr = pd3dDevice->Reset( &pDeviceSettings->d3d9.pp ); - if( FAILED( hr ) ) - { - if( hr == D3DERR_DEVICELOST ) - return D3DERR_DEVICELOST; // Reset could legitimately fail if the device is lost - else - return DXUT_ERR( L"Reset", DXUTERR_RESETTINGDEVICE ); - } - - // Update back buffer desc before calling app's device callbacks - DXUTUpdateBackBufferDesc(); - - // Setup cursor based on current settings (window/fullscreen mode, show cursor state, clip cursor state) - DXUTSetupCursor(); - - // Call the app's OnDeviceReset callback - GetDXUTState().SetInsideDeviceCallback( true ); - const D3DSURFACE_DESC* pBackBufferSurfaceDesc = DXUTGetD3D9BackBufferSurfaceDesc(); - LPDXUTCALLBACKD3D9DEVICERESET pCallbackDeviceReset = GetDXUTState().GetD3D9DeviceResetFunc(); - hr = S_OK; - if( pCallbackDeviceReset != NULL ) - hr = pCallbackDeviceReset( pd3dDevice, pBackBufferSurfaceDesc, - GetDXUTState().GetD3D9DeviceResetFuncUserContext() ); - GetDXUTState().SetInsideDeviceCallback( false ); - if( FAILED( hr ) ) - { - // If callback failed, cleanup - DXUT_ERR( L"DeviceResetCallback", hr ); - if( hr != DXUTERR_MEDIANOTFOUND ) - hr = DXUTERR_RESETTINGDEVICEOBJECTS; - - GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D9DEVICELOST pCallbackDeviceLost = GetDXUTState().GetD3D9DeviceLostFunc(); - if( pCallbackDeviceLost != NULL ) - pCallbackDeviceLost( GetDXUTState().GetD3D9DeviceLostFuncUserContext() ); - GetDXUTState().SetInsideDeviceCallback( false ); - return hr; - } - - // Success - GetDXUTState().SetDeviceObjectsReset( true ); - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -// Render the 3D environment by: -// - Checking if the device is lost and trying to reset it if it is -// - Get the elapsed time since the last frame -// - Calling the app's framemove and render callback -// - Calling Present() -//-------------------------------------------------------------------------------------- -void DXUTRender3DEnvironment9() -{ - HRESULT hr; - - if( GetDXUTState().GetDeviceLost() || DXUTIsRenderingPaused() || !DXUTIsActive() ) - { - // Window is minimized or paused so yield CPU time to other processes - Sleep( 50 ); - } - - // If no device created yet because device was lost (ie. another fullscreen exclusive device exists), - // then wait and try to create every so often. - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( NULL == pd3dDevice ) - { - if( GetDXUTState().GetDeviceLost() ) - { - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - DXUTChangeDevice( &deviceSettings, NULL, NULL, false, true ); - } - - return; - } - - if( GetDXUTState().GetDeviceLost() && !GetDXUTState().GetRenderingPaused() ) - { - // Test the cooperative level to see if it's okay to render. - if( FAILED( hr = pd3dDevice->TestCooperativeLevel() ) ) - { - if( D3DERR_DEVICELOST == hr ) - { - // The device has been lost but cannot be reset at this time. - // So wait until it can be reset. - return; - } - - // If we are windowed, read the desktop format and - // ensure that the Direct3D device is using the same format - // since the user could have changed the desktop bitdepth - if( DXUTIsWindowed() ) - { - D3DDISPLAYMODE adapterDesktopDisplayMode; - IDirect3D9* pD3D = DXUTGetD3D9Object(); - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - pD3D->GetAdapterDisplayMode( pDeviceSettings->d3d9.AdapterOrdinal, &adapterDesktopDisplayMode ); - if( pDeviceSettings->d3d9.AdapterFormat != adapterDesktopDisplayMode.Format ) - { - - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - deviceSettings.d3d9.AdapterFormat = adapterDesktopDisplayMode.Format; - - hr = DXUTSnapDeviceSettingsToEnumDevice(&deviceSettings, false); - if( FAILED( hr ) ) // the call will fail if no valid devices were found - { - DXUTDisplayErrorMessage( DXUTERR_NOCOMPATIBLEDEVICES ); - DXUTShutdown(); - } - - // Change to a Direct3D device created from the new device settings. - // If there is an existing device, then either reset or recreate the scene - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); - if( FAILED( hr ) ) - { - // If this fails, try to go fullscreen and if this fails also shutdown. - if( FAILED( DXUTToggleFullScreen() ) ) - DXUTShutdown(); - } - - return; - } - } - - // Try to reset the device - if( FAILED( hr = DXUTReset3DEnvironment9() ) ) - { - if( D3DERR_DEVICELOST == hr ) - { - // The device was lost again, so continue waiting until it can be reset. - return; - } - else if( DXUTERR_RESETTINGDEVICEOBJECTS == hr || - DXUTERR_MEDIANOTFOUND == hr ) - { - DXUTDisplayErrorMessage( hr ); - DXUTShutdown(); - return; - } - else - { - // Reset failed, but the device wasn't lost so something bad happened, - // so recreate the device to try to recover - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - if( FAILED( DXUTChangeDevice( pDeviceSettings, NULL, NULL, true, false ) ) ) - { - DXUTShutdown(); - return; - } - } - } - } - - GetDXUTState().SetDeviceLost( false ); - } - - // Get the app's time, in seconds. Skip rendering if no time elapsed - double fTime, fAbsTime; float fElapsedTime; - DXUTGetGlobalTimer()->GetTimeValues( &fTime, &fAbsTime, &fElapsedTime ); - - // Store the time for the app - if( GetDXUTState().GetConstantFrameTime() ) - { - fElapsedTime = GetDXUTState().GetTimePerFrame(); - fTime = DXUTGetTime() + fElapsedTime; - } - - GetDXUTState().SetTime( fTime ); - GetDXUTState().SetAbsoluteTime( fAbsTime ); - GetDXUTState().SetElapsedTime( fElapsedTime ); - - // Update the FPS stats - DXUTUpdateFrameStats(); - - DXUTHandleTimers(); - - // Animate the scene by calling the app's frame move callback - LPDXUTCALLBACKFRAMEMOVE pCallbackFrameMove = GetDXUTState().GetFrameMoveFunc(); - if( pCallbackFrameMove != NULL ) - { - pCallbackFrameMove( fTime, fElapsedTime, GetDXUTState().GetFrameMoveFuncUserContext() ); - pd3dDevice = DXUTGetD3D9Device(); - if( NULL == pd3dDevice ) // Handle DXUTShutdown from inside callback - return; - } - - if( !GetDXUTState().GetRenderingPaused() ) - { - // Render the scene by calling the app's render callback - LPDXUTCALLBACKD3D9FRAMERENDER pCallbackFrameRender = GetDXUTState().GetD3D9FrameRenderFunc(); - if( pCallbackFrameRender != NULL ) - { - pCallbackFrameRender( pd3dDevice, fTime, fElapsedTime, - GetDXUTState().GetD3D9FrameRenderFuncUserContext() ); - pd3dDevice = DXUTGetD3D9Device(); - if( NULL == pd3dDevice ) // Handle DXUTShutdown from inside callback - return; - } - -#if defined(DEBUG) || defined(_DEBUG) - // The back buffer should always match the client rect - // if the Direct3D backbuffer covers the entire window - RECT rcClient; - GetClientRect( DXUTGetHWND(), &rcClient ); - if( !IsIconic( DXUTGetHWND() ) ) - { - GetClientRect( DXUTGetHWND(), &rcClient ); - assert( DXUTGetD3D9BackBufferSurfaceDesc()->Width == (UINT)rcClient.right ); - assert( DXUTGetD3D9BackBufferSurfaceDesc()->Height == (UINT)rcClient.bottom ); - } -#endif - - // Show the frame on the primary surface. - hr = pd3dDevice->Present( NULL, NULL, NULL, NULL ); - if( FAILED( hr ) ) - { - if( D3DERR_DEVICELOST == hr ) - { - GetDXUTState().SetDeviceLost( true ); - } - else if( D3DERR_DRIVERINTERNALERROR == hr ) - { - // When D3DERR_DRIVERINTERNALERROR is returned from Present(), - // the application can do one of the following: - // - // - End, with the pop-up window saying that the application cannot continue - // because of problems in the display adapter and that the user should - // contact the adapter manufacturer. - // - // - Attempt to restart by calling IDirect3DDevice9::Reset, which is essentially the same - // path as recovering from a lost device. If IDirect3DDevice9::Reset fails with - // D3DERR_DRIVERINTERNALERROR, the application should end immediately with the message - // that the user should contact the adapter manufacturer. - // - // The framework attempts the path of resetting the device - // - GetDXUTState().SetDeviceLost( true ); - } - } - } - - // If the app called DXUTWasKeyPressed() then do the work - // to store the current state of the keys in bLastKeys - if( GetDXUTState().GetAppCalledWasKeyPressed() ) - { - bool* bLastKeys = GetDXUTState().GetLastKeys(); - bool* bKeys = GetDXUTState().GetKeys(); - memcpy( bLastKeys, bKeys, sizeof( bool ) * 256 ); - } - - // Update current frame # - int nFrame = GetDXUTState().GetCurrentFrameNumber(); - nFrame++; - GetDXUTState().SetCurrentFrameNumber( nFrame ); - - // Check to see if the app should shutdown due to cmdline - if( GetDXUTState().GetOverrideQuitAfterFrame() != 0 ) - { - if( nFrame > GetDXUTState().GetOverrideQuitAfterFrame() ) - DXUTShutdown(); - } - - return; -} - - -//-------------------------------------------------------------------------------------- -// Cleans up the 3D environment by: -// - Calls the device lost callback -// - Calls the device destroyed callback -// - Releases the D3D device -//-------------------------------------------------------------------------------------- -void DXUTCleanup3DEnvironment9( bool bReleaseSettings ) -{ - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( pd3dDevice != NULL ) - { - GetDXUTState().SetInsideDeviceCallback( true ); - - // Call the app's device lost callback - if( GetDXUTState().GetDeviceObjectsReset() == true ) - { - LPDXUTCALLBACKD3D9DEVICELOST pCallbackDeviceLost = GetDXUTState().GetD3D9DeviceLostFunc(); - if( pCallbackDeviceLost != NULL ) - pCallbackDeviceLost( GetDXUTState().GetD3D9DeviceLostFuncUserContext() ); - GetDXUTState().SetDeviceObjectsReset( false ); - } - - // Call the app's device destroyed callback - if( GetDXUTState().GetDeviceObjectsCreated() == true ) - { - LPDXUTCALLBACKD3D9DEVICEDESTROYED pCallbackDeviceDestroyed = GetDXUTState().GetD3D9DeviceDestroyedFunc(); - if( pCallbackDeviceDestroyed != NULL ) - pCallbackDeviceDestroyed( GetDXUTState().GetD3D9DeviceDestroyedFuncUserContext() ); - GetDXUTState().SetDeviceObjectsCreated( false ); - } - - GetDXUTState().SetInsideDeviceCallback( false ); - - // Release the D3D device and in debug configs, displays a message box if there - // are unrelease objects. - if( pd3dDevice ) - { - UINT references = pd3dDevice->Release(); - if( references > 0 ) - { - DXUTDisplayErrorMessage( DXUTERR_NONZEROREFCOUNT ); - DXUT_ERR( L"DXUTCleanup3DEnvironment", DXUTERR_NONZEROREFCOUNT ); - } - } - GetDXUTState().SetD3D9Device( NULL ); - - if( bReleaseSettings ) - { - DXUTDeviceSettings* pOldDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - SAFE_DELETE(pOldDeviceSettings); - GetDXUTState().SetCurrentDeviceSettings( NULL ); - } - - D3DSURFACE_DESC* pBackBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDesc9(); - ZeroMemory( pBackBufferSurfaceDesc, sizeof( D3DSURFACE_DESC ) ); - - D3DCAPS9* pd3dCaps = GetDXUTState().GetCaps(); - ZeroMemory( pd3dCaps, sizeof( D3DCAPS9 ) ); - - GetDXUTState().SetDeviceCreated( false ); - } -} - - -//-------------------------------------------------------------------------------------- -// Gives the D3D device a cursor with image and hotspot from hCursor. -//-------------------------------------------------------------------------------------- -HRESULT DXUTSetD3D9DeviceCursor( IDirect3DDevice9* pd3dDevice, HCURSOR hCursor, bool bAddWatermark ) -{ - HRESULT hr = E_FAIL; - ICONINFO iconinfo; - bool bBWCursor = false; - LPDIRECT3DSURFACE9 pCursorSurface = NULL; - HDC hdcColor = NULL; - HDC hdcMask = NULL; - HDC hdcScreen = NULL; - BITMAP bm; - DWORD dwWidth = 0; - DWORD dwHeightSrc = 0; - DWORD dwHeightDest = 0; - COLORREF crColor; - COLORREF crMask; - UINT x; - UINT y; - BITMAPINFO bmi; - COLORREF* pcrArrayColor = NULL; - COLORREF* pcrArrayMask = NULL; - DWORD* pBitmap; - HGDIOBJ hgdiobjOld; - - ZeroMemory( &iconinfo, sizeof( iconinfo ) ); - if( !GetIconInfo( hCursor, &iconinfo ) ) - goto End; - - if( 0 == GetObject( ( HGDIOBJ )iconinfo.hbmMask, sizeof( BITMAP ), ( LPVOID )&bm ) ) - goto End; - dwWidth = bm.bmWidth; - dwHeightSrc = bm.bmHeight; - - if( iconinfo.hbmColor == NULL ) - { - bBWCursor = TRUE; - dwHeightDest = dwHeightSrc / 2; - } - else - { - bBWCursor = FALSE; - dwHeightDest = dwHeightSrc; - } - - // Create a surface for the fullscreen cursor - if( FAILED( hr = pd3dDevice->CreateOffscreenPlainSurface( dwWidth, dwHeightDest, - D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &pCursorSurface, - NULL ) ) ) - { - goto End; - } - - pcrArrayMask = new DWORD[dwWidth * dwHeightSrc]; - - ZeroMemory( &bmi, sizeof( bmi ) ); - bmi.bmiHeader.biSize = sizeof( bmi.bmiHeader ); - bmi.bmiHeader.biWidth = dwWidth; - bmi.bmiHeader.biHeight = dwHeightSrc; - bmi.bmiHeader.biPlanes = 1; - bmi.bmiHeader.biBitCount = 32; - bmi.bmiHeader.biCompression = BI_RGB; - - hdcScreen = GetDC( NULL ); - hdcMask = CreateCompatibleDC( hdcScreen ); - if( hdcMask == NULL ) - { - hr = E_FAIL; - goto End; - } - hgdiobjOld = SelectObject( hdcMask, iconinfo.hbmMask ); - GetDIBits( hdcMask, iconinfo.hbmMask, 0, dwHeightSrc, - pcrArrayMask, &bmi, DIB_RGB_COLORS ); - SelectObject( hdcMask, hgdiobjOld ); - - if( !bBWCursor ) - { - pcrArrayColor = new DWORD[dwWidth * dwHeightDest]; - hdcColor = CreateCompatibleDC( hdcScreen ); - if( hdcColor == NULL ) - { - hr = E_FAIL; - goto End; - } - SelectObject( hdcColor, iconinfo.hbmColor ); - GetDIBits( hdcColor, iconinfo.hbmColor, 0, dwHeightDest, - pcrArrayColor, &bmi, DIB_RGB_COLORS ); - } - - // Transfer cursor image into the surface - D3DLOCKED_RECT lr; - pCursorSurface->LockRect( &lr, NULL, 0 ); - pBitmap = ( DWORD* )lr.pBits; - for( y = 0; y < dwHeightDest; y++ ) - { - for( x = 0; x < dwWidth; x++ ) - { - if( bBWCursor ) - { - crColor = pcrArrayMask[dwWidth * ( dwHeightDest - 1 - y ) + x]; - crMask = pcrArrayMask[dwWidth * ( dwHeightSrc - 1 - y ) + x]; - } - else - { - crColor = pcrArrayColor[dwWidth * ( dwHeightDest - 1 - y ) + x]; - crMask = pcrArrayMask[dwWidth * ( dwHeightDest - 1 - y ) + x]; - } - if( crMask == 0 ) - pBitmap[dwWidth * y + x] = 0xff000000 | crColor; - else - pBitmap[dwWidth * y + x] = 0x00000000; - - // It may be helpful to make the D3D cursor look slightly - // different from the Windows cursor so you can distinguish - // between the two when developing/testing code. When - // bAddWatermark is TRUE, the following code adds some - // small grey "D3D" characters to the upper-left corner of - // the D3D cursor image. - if( bAddWatermark && x < 12 && y < 5 ) - { - // 11.. 11.. 11.. .... CCC0 - // 1.1. ..1. 1.1. .... A2A0 - // 1.1. .1.. 1.1. .... A4A0 - // 1.1. ..1. 1.1. .... A2A0 - // 11.. 11.. 11.. .... CCC0 - - const WORD wMask[5] = { 0xccc0, 0xa2a0, 0xa4a0, 0xa2a0, 0xccc0 }; - if( wMask[y] & (1 << (15 - x)) ) - { - pBitmap[dwWidth*y + x] |= 0xff808080; - } - } - } - } - pCursorSurface->UnlockRect(); - - // Set the device cursor - if( FAILED( hr = pd3dDevice->SetCursorProperties( iconinfo.xHotspot, - iconinfo.yHotspot, pCursorSurface ) ) ) - { - goto End; - } - - hr = S_OK; - -End: - if( iconinfo.hbmMask != NULL ) - DeleteObject( iconinfo.hbmMask ); - if( iconinfo.hbmColor != NULL ) - DeleteObject( iconinfo.hbmColor ); - if( hdcScreen != NULL ) - ReleaseDC( NULL, hdcScreen ); - if( hdcColor != NULL ) - DeleteDC( hdcColor ); - if( hdcMask != NULL ) - DeleteDC( hdcMask ); - SAFE_DELETE_ARRAY( pcrArrayColor ); - SAFE_DELETE_ARRAY( pcrArrayMask ); - SAFE_RELEASE( pCursorSurface ); - return hr; -} - - -//-------------------------------------------------------------------------------------- -// Internal helper function to return the adapter format from the first device settings -// combo that matches the passed adapter ordinal, device type, backbuffer format, and windowed. -//-------------------------------------------------------------------------------------- -HRESULT DXUTFindD3D9AdapterFormat( UINT AdapterOrdinal, D3DDEVTYPE DeviceType, D3DFORMAT BackBufferFormat, - BOOL Windowed, D3DFORMAT* pAdapterFormat ) -{ - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration( false ); - assert( pd3dEnum != NULL ); - CD3D9EnumDeviceInfo* pDeviceInfo = pd3dEnum->GetDeviceInfo( AdapterOrdinal, DeviceType ); - if( pDeviceInfo ) - { - for( int iDeviceCombo = 0; iDeviceCombo < pDeviceInfo->deviceSettingsComboList.GetSize(); iDeviceCombo++ ) - { - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt( - iDeviceCombo ); - if( pDeviceSettingsCombo->BackBufferFormat == BackBufferFormat && - pDeviceSettingsCombo->Windowed == Windowed ) - { - // Return the adapter format from the first match - *pAdapterFormat = pDeviceSettingsCombo->AdapterFormat; - return S_OK; - } - } - } - - *pAdapterFormat = BackBufferFormat; - return E_FAIL; -} - -//-------------------------------------------------------------------------------------- -// Sets the viewport, render target view, and depth stencil view. -//-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTSetupD3D11Views( ID3D11DeviceContext* pd3dDeviceContext ) -{ - HRESULT hr = S_OK; - - // Setup the viewport to match the backbuffer - D3D11_VIEWPORT vp; - vp.Width = (FLOAT)DXUTGetDXGIBackBufferSurfaceDesc()->Width; - vp.Height = (FLOAT)DXUTGetDXGIBackBufferSurfaceDesc()->Height; - vp.MinDepth = 0; - vp.MaxDepth = 1; - vp.TopLeftX = 0; - vp.TopLeftY = 0; - pd3dDeviceContext->RSSetViewports( 1, &vp ); - - // Set the render targets - ID3D11RenderTargetView* pRTV = GetDXUTState().GetD3D11RenderTargetView(); - ID3D11DepthStencilView* pDSV = GetDXUTState().GetD3D11DepthStencilView(); - pd3dDeviceContext->OMSetRenderTargets( 1, &pRTV, pDSV ); - - return hr; -} - - -//-------------------------------------------------------------------------------------- -// Creates a render target view, and depth stencil texture and view. +// Creates a render target view, and depth stencil texture and view. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT DXUTCreateD3D11Views( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext, DXUTDeviceSettings* pDeviceSettings ) { HRESULT hr = S_OK; - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); - ID3D11DepthStencilView* pDSV = NULL; - ID3D11RenderTargetView* pRTV = NULL; + auto pSwapChain = DXUTGetDXGISwapChain(); + ID3D11DepthStencilView* pDSV = nullptr; + ID3D11RenderTargetView* pRTV = nullptr; // Get the back buffer and desc ID3D11Texture2D* pBackBuffer; - hr = pSwapChain->GetBuffer( 0, __uuidof( *pBackBuffer ), ( LPVOID* )&pBackBuffer ); + hr = pSwapChain->GetBuffer( 0, IID_PPV_ARGS(&pBackBuffer) ); if( FAILED( hr ) ) return hr; D3D11_TEXTURE2D_DESC backBufferSurfaceDesc; pBackBuffer->GetDesc( &backBufferSurfaceDesc ); // Create the render target view - hr = pd3dDevice->CreateRenderTargetView( pBackBuffer, NULL, &pRTV ); + hr = pd3dDevice->CreateRenderTargetView( pBackBuffer, nullptr, &pRTV ); SAFE_RELEASE( pBackBuffer ); if( FAILED( hr ) ) return hr; @@ -3430,7 +2340,7 @@ HRESULT DXUTCreateD3D11Views( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3 if( pDeviceSettings->d3d11.AutoCreateDepthStencil ) { // Create depth stencil texture - ID3D11Texture2D* pDepthStencil = NULL; + ID3D11Texture2D* pDepthStencil = nullptr; D3D11_TEXTURE2D_DESC descDepth; descDepth.Width = backBufferSurfaceDesc.Width; descDepth.Height = backBufferSurfaceDesc.Height; @@ -3443,7 +2353,7 @@ HRESULT DXUTCreateD3D11Views( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3 descDepth.BindFlags = D3D11_BIND_DEPTH_STENCIL; descDepth.CPUAccessFlags = 0; descDepth.MiscFlags = 0; - hr = pd3dDevice->CreateTexture2D( &descDepth, NULL, &pDepthStencil ); + hr = pd3dDevice->CreateTexture2D( &descDepth, nullptr, &pDepthStencil ); if( FAILED( hr ) ) return hr; DXUT_SetDebugName( pDepthStencil, "DXUT" ); @@ -3476,172 +2386,275 @@ HRESULT DXUTCreateD3D11Views( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3 //-------------------------------------------------------------------------------------- // Creates the 3D environment //-------------------------------------------------------------------------------------- -HRESULT DXUTCreate3DEnvironment11( ID3D11Device* pd3d11DeviceFromApp ) +HRESULT DXUTCreate3DEnvironment11() { HRESULT hr = S_OK; - ID3D11Device* pd3d11Device = NULL; - ID3D11DeviceContext* pd3dImmediateContext = NULL; - D3D_FEATURE_LEVEL FeatureLevel = D3D_FEATURE_LEVEL_11_0; + ID3D11Device* pd3d11Device = nullptr; + ID3D11DeviceContext* pd3dImmediateContext = nullptr; + D3D_FEATURE_LEVEL FeatureLevel = D3D_FEATURE_LEVEL_11_1; - IDXGISwapChain* pSwapChain = NULL; - DXUTDeviceSettings* pNewDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - assert( pNewDeviceSettings != NULL ); + IDXGISwapChain* pSwapChain = nullptr; + auto pNewDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + assert( pNewDeviceSettings ); + _Analysis_assume_( pNewDeviceSettings ); - IDXGIFactory1* pDXGIFactory = DXUTGetDXGIFactory(); - assert( pDXGIFactory != NULL ); + auto pDXGIFactory = DXUTGetDXGIFactory(); + assert( pDXGIFactory ); + _Analysis_assume_( pDXGIFactory ); hr = pDXGIFactory->MakeWindowAssociation( DXUTGetHWND(), 0 ); - // Only create a Direct3D device if one hasn't been supplied by the app - if( pd3d11DeviceFromApp == NULL ) + // Try to create the device with the chosen settings + IDXGIAdapter1* pAdapter = nullptr; + + hr = S_OK; + D3D_DRIVER_TYPE ddt = pNewDeviceSettings->d3d11.DriverType; + if( pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE ) + { + hr = pDXGIFactory->EnumAdapters1( pNewDeviceSettings->d3d11.AdapterOrdinal, &pAdapter ); + if ( FAILED( hr) ) + { + return E_FAIL; + } + ddt = D3D_DRIVER_TYPE_UNKNOWN; + } + else if (pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_WARP) { - // Try to create the device with the chosen settings - IDXGIAdapter1* pAdapter = NULL; + ddt = D3D_DRIVER_TYPE_WARP; + pAdapter = nullptr; + } + else if (pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE) + { + ddt = D3D_DRIVER_TYPE_REFERENCE; + pAdapter = nullptr; + } - hr = S_OK; - D3D_DRIVER_TYPE ddt = pNewDeviceSettings->d3d11.DriverType; - if( pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE ) + if( SUCCEEDED( hr ) ) + { + hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, + ddt, + ( HMODULE )0, + pNewDeviceSettings->d3d11.CreateFlags, + &pNewDeviceSettings->d3d11.DeviceFeatureLevel, + 1, + D3D11_SDK_VERSION, + &pd3d11Device, + &FeatureLevel, + &pd3dImmediateContext + ); + + if ( FAILED( hr ) ) { - hr = pDXGIFactory->EnumAdapters1( pNewDeviceSettings->d3d11.AdapterOrdinal, &pAdapter ); - if ( FAILED( hr) ) + pAdapter = nullptr; + // Remote desktop does not allow you to enumerate the adapter. In this case, we let D3D11 do the enumeration. + if ( ddt == D3D_DRIVER_TYPE_UNKNOWN ) + { + hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, + D3D_DRIVER_TYPE_HARDWARE, + ( HMODULE )0, + pNewDeviceSettings->d3d11.CreateFlags, + &pNewDeviceSettings->d3d11.DeviceFeatureLevel, + 1, + D3D11_SDK_VERSION, + &pd3d11Device, + &FeatureLevel, + &pd3dImmediateContext + ); + } + if ( FAILED ( hr ) ) { - return E_FAIL; + DXUT_ERR( L"D3D11CreateDevice", hr ); + return DXUTERR_CREATINGDEVICE; } - ddt = D3D_DRIVER_TYPE_UNKNOWN; } - else if (pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_WARP) + } + +#ifndef NDEBUG + if( SUCCEEDED( hr ) ) + { + ID3D11Debug * d3dDebug = nullptr; + if( SUCCEEDED( pd3d11Device->QueryInterface(IID_PPV_ARGS(&d3dDebug) ) ) ) { - ddt = D3D_DRIVER_TYPE_WARP; - pAdapter = NULL; + ID3D11InfoQueue* infoQueue = nullptr; + if( SUCCEEDED( d3dDebug->QueryInterface( IID_PPV_ARGS(&infoQueue) ) ) ) + { + // ignore some "expected" errors + D3D11_MESSAGE_ID denied [] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + + D3D11_INFO_QUEUE_FILTER filter; + memset( &filter, 0, sizeof(filter) ); + filter.DenyList.NumIDs = _countof(denied); + filter.DenyList.pIDList = denied; + infoQueue->AddStorageFilterEntries( &filter ); + infoQueue->Release(); + } + d3dDebug->Release(); } - else if (pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE) + } +#endif + + if( SUCCEEDED( hr ) ) + { + IDXGIDevice1* pDXGIDev = nullptr; + hr = pd3d11Device->QueryInterface( IID_PPV_ARGS(&pDXGIDev) ); + if( SUCCEEDED( hr ) && pDXGIDev ) { - ddt = D3D_DRIVER_TYPE_REFERENCE; - pAdapter = NULL; + if ( !pAdapter ) + { + IDXGIAdapter *pTempAdapter = nullptr; + V_RETURN( pDXGIDev->GetAdapter( &pTempAdapter ) ); + V_RETURN( pTempAdapter->QueryInterface( IID_PPV_ARGS(&pAdapter) ) ); + V_RETURN( pAdapter->GetParent( IID_PPV_ARGS(&pDXGIFactory) ) ); + SAFE_RELEASE ( pTempAdapter ); + if ( GetDXUTState().GetDXGIFactory() != pDXGIFactory ) + GetDXUTState().GetDXGIFactory()->Release(); + GetDXUTState().SetDXGIFactory( pDXGIFactory ); + } } + SAFE_RELEASE( pDXGIDev ); + GetDXUTState().SetDXGIAdapter( pAdapter ); + } - if( SUCCEEDED( hr ) ) + if( FAILED( hr ) ) + { + DXUT_ERR( L"D3D11CreateDevice", hr ); + return DXUTERR_CREATINGDEVICE; + } + + // set default render state to msaa enabled + D3D11_RASTERIZER_DESC drd = { + D3D11_FILL_SOLID, //D3D11_FILL_MODE FillMode; + D3D11_CULL_BACK,//D3D11_CULL_MODE CullMode; + FALSE, //BOOL FrontCounterClockwise; + 0, //INT DepthBias; + 0.0f,//FLOAT DepthBiasClamp; + 0.0f,//FLOAT SlopeScaledDepthBias; + TRUE,//BOOL DepthClipEnable; + FALSE,//BOOL ScissorEnable; + TRUE,//BOOL MultisampleEnable; + FALSE//BOOL AntialiasedLineEnable; + }; + ID3D11RasterizerState* pRS = nullptr; + hr = pd3d11Device->CreateRasterizerState(&drd, &pRS); + if ( FAILED( hr ) ) + { + DXUT_ERR( L"CreateRasterizerState", hr ); + return DXUTERR_CREATINGDEVICE; + } + DXUT_SetDebugName( pRS, "DXUT Default" ); + GetDXUTState().SetD3D11RasterizerState(pRS); + pd3dImmediateContext->RSSetState(pRS); + + // Enumerate its outputs. + UINT OutputCount, iOutput; + for( OutputCount = 0; ; ++OutputCount ) + { + IDXGIOutput* pOutput; + if( FAILED( pAdapter->EnumOutputs( OutputCount, &pOutput ) ) ) + break; + SAFE_RELEASE( pOutput ); + } + auto ppOutputArray = new (std::nothrow) IDXGIOutput*[OutputCount]; + if( !ppOutputArray ) + return E_OUTOFMEMORY; + for( iOutput = 0; iOutput < OutputCount; ++iOutput ) + pAdapter->EnumOutputs( iOutput, ppOutputArray + iOutput ); + GetDXUTState().SetDXGIOutputArray( ppOutputArray ); + GetDXUTState().SetDXGIOutputArraySize( OutputCount ); + + // Create the swapchain + hr = pDXGIFactory->CreateSwapChain( pd3d11Device, &pNewDeviceSettings->d3d11.sd, &pSwapChain ); + if( FAILED( hr ) ) + { + DXUT_ERR( L"CreateSwapChain", hr ); + return DXUTERR_CREATINGDEVICE; + } + + GetDXUTState().SetD3D11Device( pd3d11Device ); + GetDXUTState().SetD3D11DeviceContext( pd3dImmediateContext ); + GetDXUTState().SetD3D11FeatureLevel( FeatureLevel ); + GetDXUTState().SetDXGISwapChain( pSwapChain ); + + assert( pd3d11Device ); + _Analysis_assume_( pd3d11Device ); + + assert( pd3dImmediateContext ); + _Analysis_assume_( pd3dImmediateContext ); + + // Direct3D 11.1 + { + ID3D11Device1* pd3d11Device1 = nullptr; + hr = pd3d11Device->QueryInterface(IID_PPV_ARGS(&pd3d11Device1)); + if( SUCCEEDED( hr ) && pd3d11Device1 ) { + GetDXUTState().SetD3D11Device1( pd3d11Device1 ); - hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, - ddt, - ( HMODULE )0, - pNewDeviceSettings->d3d11.CreateFlags, - &pNewDeviceSettings->d3d11.DeviceFeatureLevel, - 1, - D3D11_SDK_VERSION, - &pd3d11Device, - &FeatureLevel, - &pd3dImmediateContext - ); - - if ( FAILED( hr ) ) { - pAdapter = NULL; - // Remote desktop does not allow you to enumerate the adapter. In this case, we let D3D11 do the enumeration. - if ( ddt == D3D_DRIVER_TYPE_UNKNOWN ) { - hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, - D3D_DRIVER_TYPE_HARDWARE, - ( HMODULE )0, - pNewDeviceSettings->d3d11.CreateFlags, - &pNewDeviceSettings->d3d11.DeviceFeatureLevel, - 1, - D3D11_SDK_VERSION, - &pd3d11Device, - &FeatureLevel, - &pd3dImmediateContext - ); - } - if ( FAILED ( hr ) ) { - DXUT_ERR( L"D3D11CreateDevice", hr ); - return DXUTERR_CREATINGDEVICE; - } + ID3D11DeviceContext1* pd3dImmediateContext1 = nullptr; + hr = pd3dImmediateContext->QueryInterface(IID_PPV_ARGS(&pd3dImmediateContext1)); + if( SUCCEEDED( hr ) && pd3dImmediateContext1 ) + { + GetDXUTState().SetD3D11DeviceContext1( pd3dImmediateContext1 ); } } + } - if( SUCCEEDED( hr ) ) + // Direct3D 11.2 + { + ID3D11Device2* pd3d11Device2 = nullptr; + hr = pd3d11Device->QueryInterface(IID_PPV_ARGS(&pd3d11Device2)); + if (SUCCEEDED(hr) && pd3d11Device2) { - IDXGIDevice1* pDXGIDev = NULL; - hr = pd3d11Device->QueryInterface( __uuidof( IDXGIDevice1 ), ( LPVOID* )&pDXGIDev ); - if( SUCCEEDED( hr ) && pDXGIDev ) + GetDXUTState().SetD3D11Device2(pd3d11Device2); + + ID3D11DeviceContext2* pd3dImmediateContext2 = nullptr; + hr = pd3dImmediateContext->QueryInterface(IID_PPV_ARGS(&pd3dImmediateContext2)); + if (SUCCEEDED(hr) && pd3dImmediateContext2) { - if ( pAdapter == NULL ) - { - IDXGIAdapter *pTempAdapter; - pDXGIDev->GetAdapter( &pTempAdapter ); - V_RETURN( pTempAdapter->QueryInterface( __uuidof( IDXGIAdapter1 ), (LPVOID*) &pAdapter ) ); - V_RETURN( pAdapter->GetParent( __uuidof( IDXGIFactory1 ), (LPVOID*) &pDXGIFactory ) ); - SAFE_RELEASE ( pTempAdapter ); - GetDXUTState().SetDXGIFactory( pDXGIFactory ); - } + GetDXUTState().SetD3D11DeviceContext2(pd3dImmediateContext2); } - SAFE_RELEASE( pDXGIDev ); - GetDXUTState().SetDXGIAdapter( pAdapter ); } + } - if( FAILED( hr ) ) - { - DXUT_ERR( L"D3D11CreateDevice", hr ); - return DXUTERR_CREATINGDEVICE; - } - // set default render state to msaa enabled - D3D11_RASTERIZER_DESC drd = { - D3D11_FILL_SOLID, //D3D11_FILL_MODE FillMode; - D3D11_CULL_BACK,//D3D11_CULL_MODE CullMode; - FALSE, //BOOL FrontCounterClockwise; - 0, //INT DepthBias; - 0.0f,//FLOAT DepthBiasClamp; - 0.0f,//FLOAT SlopeScaledDepthBias; - TRUE,//BOOL DepthClipEnable; - FALSE,//BOOL ScissorEnable; - TRUE,//BOOL MultisampleEnable; - FALSE//BOOL AntialiasedLineEnable; - }; - ID3D11RasterizerState* pRS = NULL; - hr = pd3d11Device->CreateRasterizerState(&drd, &pRS); - if ( FAILED( hr ) ) +#ifdef USE_DIRECT3D11_3 + // Direct3D 11.3 + { + ID3D11Device3* pd3d11Device3 = nullptr; + hr = pd3d11Device->QueryInterface( IID_PPV_ARGS(&pd3d11Device3) ); + if (SUCCEEDED(hr) && pd3d11Device3) { - DXUT_ERR( L"CreateRasterizerState", hr ); - return DXUTERR_CREATINGDEVICE; - } - DXUT_SetDebugName( pRS, "DXUT Default" ); - GetDXUTState().SetD3D11RasterizerState(pRS); - pd3dImmediateContext->RSSetState(pRS); + GetDXUTState().SetD3D11Device3(pd3d11Device3); - // Enumerate its outputs. - UINT OutputCount, iOutput; - for( OutputCount = 0; ; ++OutputCount ) - { - IDXGIOutput* pOutput; - if( FAILED( pAdapter->EnumOutputs( OutputCount, &pOutput ) ) ) - break; - SAFE_RELEASE( pOutput ); + ID3D11DeviceContext3* pd3dImmediateContext3 = nullptr; + hr = pd3dImmediateContext->QueryInterface(IID_PPV_ARGS(&pd3dImmediateContext3)); + if (SUCCEEDED(hr) && pd3dImmediateContext3) + { + GetDXUTState().SetD3D11DeviceContext3(pd3dImmediateContext3); + } } - IDXGIOutput** ppOutputArray = new IDXGIOutput*[OutputCount]; - if( !ppOutputArray ) - return E_OUTOFMEMORY; - for( iOutput = 0; iOutput < OutputCount; ++iOutput ) - pAdapter->EnumOutputs( iOutput, ppOutputArray + iOutput ); - GetDXUTState().SetDXGIOutputArray( ppOutputArray ); - GetDXUTState().SetDXGIOutputArraySize( OutputCount ); + } +#endif - // Create the swapchain - hr = pDXGIFactory->CreateSwapChain( pd3d11Device, &pNewDeviceSettings->d3d11.sd, &pSwapChain ); - if( FAILED( hr ) ) +#ifdef USE_DIRECT3D11_4 + // Direct3D 11.4 + { + ID3D11Device4* pd3d11Device4 = nullptr; + hr = pd3d11Device->QueryInterface(IID_PPV_ARGS(&pd3d11Device4)); + if (SUCCEEDED(hr) && pd3d11Device4) { - DXUT_ERR( L"CreateSwapChain", hr ); - return DXUTERR_CREATINGDEVICE; + GetDXUTState().SetD3D11Device4(pd3d11Device4); + + ID3D11DeviceContext4* pd3dImmediateContext4 = nullptr; + hr = pd3dImmediateContext->QueryInterface(IID_PPV_ARGS(&pd3dImmediateContext4)); + if (SUCCEEDED(hr) && pd3dImmediateContext4) + { + GetDXUTState().SetD3D11DeviceContext4(pd3dImmediateContext4); + } } } - else - { - pd3d11DeviceFromApp->AddRef(); - pd3d11Device = pd3d11DeviceFromApp; - } - - GetDXUTState().SetD3D11Device( pd3d11Device ); - GetDXUTState().SetD3D11DeviceContext( pd3dImmediateContext ); - GetDXUTState().SetD3D11FeatureLevel( FeatureLevel ); - GetDXUTState().SetDXGISwapChain( pSwapChain ); +#endif // If switching to REF, set the exit code to 11. If switching to HAL and exit code was 11, then set it back to 0. if( pNewDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE && GetDXUTState().GetExitCode() == 0 ) @@ -3656,21 +2669,22 @@ HRESULT DXUTCreate3DEnvironment11( ID3D11Device* pd3d11DeviceFromApp ) DXUTSetupCursor(); // Update the device stats text - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - assert( pd3dEnum != NULL ); - CD3D11EnumAdapterInfo* pAdapterInfo = pd3dEnum->GetAdapterInfo( pNewDeviceSettings->d3d11.AdapterOrdinal ); - DXUTUpdateD3D11DeviceStats( pNewDeviceSettings->d3d11.DriverType, &pAdapterInfo->AdapterDesc ); + auto pd3dEnum = DXUTGetD3D11Enumeration(); + assert( pd3dEnum ); + _Analysis_assume_( pd3dEnum ); + auto pAdapterInfo = pd3dEnum->GetAdapterInfo( pNewDeviceSettings->d3d11.AdapterOrdinal ); + DXUTUpdateD3D11DeviceStats( pNewDeviceSettings->d3d11.DriverType, pNewDeviceSettings->d3d11.DeviceFeatureLevel, &pAdapterInfo->AdapterDesc ); // Call the app's device created callback if non-NULL - const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc = DXUTGetDXGIBackBufferSurfaceDesc(); + auto pBackBufferSurfaceDesc = DXUTGetDXGIBackBufferSurfaceDesc(); GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D11DEVICECREATED pCallbackDeviceCreated = GetDXUTState().GetD3D11DeviceCreatedFunc(); + auto pCallbackDeviceCreated = GetDXUTState().GetD3D11DeviceCreatedFunc(); hr = S_OK; - if( pCallbackDeviceCreated != NULL ) + if( pCallbackDeviceCreated ) hr = pCallbackDeviceCreated( DXUTGetD3D11Device(), pBackBufferSurfaceDesc, GetDXUTState().GetD3D11DeviceCreatedFuncUserContext() ); GetDXUTState().SetInsideDeviceCallback( false ); - if( DXUTGetD3D11Device() == NULL ) // Handle DXUTShutdown from inside callback + if( !DXUTGetD3D11Device() ) // Handle DXUTShutdown from inside callback return E_FAIL; if( FAILED( hr ) ) { @@ -3687,18 +2701,15 @@ HRESULT DXUTCreate3DEnvironment11( ID3D11Device* pd3d11DeviceFromApp ) return DXUTERR_CREATINGDEVICEOBJECTS; } - // Create performance counters - //DXUTCreateD3D11Counters( pd3d11Device ); - // Call the app's swap chain reset callback if non-NULL GetDXUTState().SetInsideDeviceCallback( true ); LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallbackSwapChainResized = GetDXUTState().GetD3D11SwapChainResizedFunc(); hr = S_OK; - if( pCallbackSwapChainResized != NULL ) + if( pCallbackSwapChainResized ) hr = pCallbackSwapChainResized( DXUTGetD3D11Device(), pSwapChain, pBackBufferSurfaceDesc, GetDXUTState().GetD3D11SwapChainResizedFuncUserContext() ); GetDXUTState().SetInsideDeviceCallback( false ); - if( DXUTGetD3D11Device() == NULL ) // Handle DXUTShutdown from inside callback + if( !DXUTGetD3D11Device() ) // Handle DXUTShutdown from inside callback return E_FAIL; if( FAILED( hr ) ) { @@ -3727,12 +2738,14 @@ HRESULT DXUTReset3DEnvironment11() DXUTPause( true, true ); bool bDeferredDXGIAction = false; - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); - assert( pSwapChain != NULL ); - + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + auto pSwapChain = DXUTGetDXGISwapChain(); + assert( pSwapChain ); + _Analysis_assume_( pSwapChain ); + DXGI_SWAP_CHAIN_DESC SCDesc; - pSwapChain->GetDesc( &SCDesc ); + if ( FAILED( pSwapChain->GetDesc(&SCDesc)) ) + memset( &SCDesc, 0, sizeof(SCDesc) ); // Resize backbuffer and target of the swapchain in case they have changed. // For windowed mode, use the client rect as the desired size. Unlike D3D9, @@ -3755,7 +2768,7 @@ HRESULT DXUTReset3DEnvironment11() // Set the fullscreen state if( pDeviceSettings->d3d11.sd.Windowed ) { - V_RETURN( pSwapChain->SetFullscreenState( FALSE, NULL ) ); + V_RETURN( pSwapChain->SetFullscreenState( FALSE, nullptr ) ); bDeferredDXGIAction = true; } else @@ -3769,7 +2782,7 @@ HRESULT DXUTReset3DEnvironment11() // not to store the height and width so that we have the correct values when calling ResizeTarget. GetDXUTState().SetDoNotStoreBufferSize( true ); - V_RETURN( pSwapChain->SetFullscreenState( TRUE, NULL ) ); + V_RETURN( pSwapChain->SetFullscreenState( TRUE, nullptr ) ); GetDXUTState().SetDoNotStoreBufferSize( false ); V_RETURN( pSwapChain->ResizeTarget( &pDeviceSettings->d3d11.sd.BufferDesc ) ); @@ -3811,20 +2824,20 @@ HRESULT DXUTReset3DEnvironment11() // - Calling the app's framemove and render callback // - Calling Present() //-------------------------------------------------------------------------------------- -void DXUTRender3DEnvironment11() +void WINAPI DXUTRender3DEnvironment() { HRESULT hr; - ID3D11Device* pd3dDevice = DXUTGetD3D11Device(); - if( NULL == pd3dDevice ) + auto pd3dDevice = DXUTGetD3D11Device(); + if( !pd3dDevice ) return; - ID3D11DeviceContext* pd3dImmediateContext = DXUTGetD3D11DeviceContext(); - if( NULL == pd3dImmediateContext ) + auto pd3dImmediateContext = DXUTGetD3D11DeviceContext(); + if( !pd3dImmediateContext ) return; - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); - if( NULL == pSwapChain ) + auto pSwapChain = DXUTGetDXGISwapChain(); + if( !pSwapChain ) return; if( DXUTIsRenderingPaused() || !DXUTIsActive() || GetDXUTState().GetRenderingOccluded() ) @@ -3848,8 +2861,6 @@ void DXUTRender3DEnvironment11() GetDXUTState().SetAbsoluteTime( fAbsTime ); GetDXUTState().SetElapsedTime( fElapsedTime ); - // Start Performance Counters - // Update the FPS stats DXUTUpdateFrameStats(); @@ -3857,11 +2868,11 @@ void DXUTRender3DEnvironment11() // Animate the scene by calling the app's frame move callback LPDXUTCALLBACKFRAMEMOVE pCallbackFrameMove = GetDXUTState().GetFrameMoveFunc(); - if( pCallbackFrameMove != NULL ) + if( pCallbackFrameMove ) { pCallbackFrameMove( fTime, fElapsedTime, GetDXUTState().GetFrameMoveFuncUserContext() ); pd3dDevice = DXUTGetD3D11Device(); - if( NULL == pd3dDevice ) // Handle DXUTShutdown from inside callback + if( !pd3dDevice ) // Handle DXUTShutdown from inside callback return; } @@ -3869,13 +2880,13 @@ void DXUTRender3DEnvironment11() { // Render the scene by calling the app's render callback LPDXUTCALLBACKD3D11FRAMERENDER pCallbackFrameRender = GetDXUTState().GetD3D11FrameRenderFunc(); - if( pCallbackFrameRender != NULL && !GetDXUTState().GetRenderingOccluded() ) + if( pCallbackFrameRender && !GetDXUTState().GetRenderingOccluded() ) { pCallbackFrameRender( pd3dDevice, pd3dImmediateContext, fTime, fElapsedTime, GetDXUTState().GetD3D11FrameRenderFuncUserContext() ); pd3dDevice = DXUTGetD3D11Device(); - if( NULL == pd3dDevice ) // Handle DXUTShutdown from inside callback + if( !pd3dDevice ) // Handle DXUTShutdown from inside callback return; } @@ -3894,10 +2905,12 @@ void DXUTRender3DEnvironment11() #endif } - if ( GetDXUTState().GetSaveScreenShot() ) { - DXUTSnapD3D11Screenshot( GetDXUTState().GetScreenShotName(), D3DX11_IFF_BMP ); + if ( GetDXUTState().GetSaveScreenShot() ) + { + DXUTSnapD3D11Screenshot( GetDXUTState().GetScreenShotName(), false ); } - if ( GetDXUTState().GetExitAfterScreenShot() ) { + if ( GetDXUTState().GetExitAfterScreenShot() ) + { DXUTShutdown(); return; } @@ -3933,8 +2946,8 @@ void DXUTRender3DEnvironment11() { // Reset failed, but the device wasn't lost so something bad happened, // so recreate the device to try to recover - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - if( FAILED( DXUTChangeDevice( pDeviceSettings, NULL, NULL, true, false ) ) ) + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + if( FAILED( DXUTChangeDevice( pDeviceSettings, false ) ) ) { DXUTShutdown(); return; @@ -3971,10 +2984,6 @@ void DXUTRender3DEnvironment11() nFrame++; GetDXUTState().SetCurrentFrameNumber( nFrame ); - - // Update the D3D11 counter stats - //DXUTUpdateD3D11CounterStats(); - // Check to see if the app should shutdown due to cmdline if( GetDXUTState().GetOverrideQuitAfterFrame() != 0 ) { @@ -3985,60 +2994,6 @@ void DXUTRender3DEnvironment11() return; } -void ClearD3D11DeviceContext( ID3D11DeviceContext* pd3dDeviceContext ) -{ - // Unbind all objects from the immediate context - if (pd3dDeviceContext == NULL) return; - - ID3D11ShaderResourceView* pSRVs[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - ID3D11RenderTargetView* pRTVs[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - ID3D11DepthStencilView* pDSV = NULL; - ID3D11Buffer* pBuffers[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - ID3D11SamplerState* pSamplers[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - UINT StrideOffset[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - - // Shaders - pd3dDeviceContext->VSSetShader( NULL, NULL, 0 ); - pd3dDeviceContext->HSSetShader( NULL, NULL, 0 ); - pd3dDeviceContext->DSSetShader( NULL, NULL, 0 ); - pd3dDeviceContext->GSSetShader( NULL, NULL, 0 ); - pd3dDeviceContext->PSSetShader( NULL, NULL, 0 ); - - // IA clear - pd3dDeviceContext->IASetVertexBuffers( 0, 16, pBuffers, StrideOffset, StrideOffset ); - pd3dDeviceContext->IASetIndexBuffer( NULL, DXGI_FORMAT_R16_UINT, 0 ); - pd3dDeviceContext->IASetInputLayout( NULL ); - - // Constant buffers - pd3dDeviceContext->VSSetConstantBuffers( 0, 14, pBuffers ); - pd3dDeviceContext->HSSetConstantBuffers( 0, 14, pBuffers ); - pd3dDeviceContext->DSSetConstantBuffers( 0, 14, pBuffers ); - pd3dDeviceContext->GSSetConstantBuffers( 0, 14, pBuffers ); - pd3dDeviceContext->PSSetConstantBuffers( 0, 14, pBuffers ); - - // Resources - pd3dDeviceContext->VSSetShaderResources( 0, 16, pSRVs ); - pd3dDeviceContext->HSSetShaderResources( 0, 16, pSRVs ); - pd3dDeviceContext->DSSetShaderResources( 0, 16, pSRVs ); - pd3dDeviceContext->GSSetShaderResources( 0, 16, pSRVs ); - pd3dDeviceContext->PSSetShaderResources( 0, 16, pSRVs ); - - // Samplers - pd3dDeviceContext->VSSetSamplers( 0, 16, pSamplers ); - pd3dDeviceContext->HSSetSamplers( 0, 16, pSamplers ); - pd3dDeviceContext->DSSetSamplers( 0, 16, pSamplers ); - pd3dDeviceContext->GSSetSamplers( 0, 16, pSamplers ); - pd3dDeviceContext->PSSetSamplers( 0, 16, pSamplers ); - - // Render targets - pd3dDeviceContext->OMSetRenderTargets( 8, pRTVs, pDSV ); - - // States - FLOAT blendFactor[4] = { 0,0,0,0 }; - pd3dDeviceContext->OMSetBlendState( NULL, blendFactor, 0xFFFFFFFF ); - pd3dDeviceContext->OMSetDepthStencilState( NULL, 0 ); - pd3dDeviceContext->RSSetState( NULL ); -} //-------------------------------------------------------------------------------------- // Cleans up the 3D environment by: @@ -4046,52 +3001,44 @@ void ClearD3D11DeviceContext( ID3D11DeviceContext* pd3dDeviceContext ) // - Calls the device destroyed callback // - Releases the D3D device //-------------------------------------------------------------------------------------- -void DXUTCleanup3DEnvironment11( bool bReleaseSettings ) +void DXUTCleanup3DEnvironment( _In_ bool bReleaseSettings ) { - ID3D11Device* pd3dDevice = DXUTGetD3D11Device(); + auto pd3dDevice = DXUTGetD3D11Device(); - if( pd3dDevice != NULL ) + if( pd3dDevice ) { - if (GetDXUTState().GetD3D11RasterizerState()!= NULL ) + if (GetDXUTState().GetD3D11RasterizerState()) GetDXUTState().GetD3D11RasterizerState()->Release(); - // Call ClearState to avoid tons of messy debug spew telling us that we're deleting bound objects - ID3D11DeviceContext* pImmediateContext = DXUTGetD3D11DeviceContext(); - ClearD3D11DeviceContext( pImmediateContext ); - - // Clear state and flush - pImmediateContext->ClearState(); - pImmediateContext->Flush(); - // Call the app's SwapChain lost callback GetDXUTState().SetInsideDeviceCallback( true ); if( GetDXUTState().GetDeviceObjectsReset() ) { LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallbackSwapChainReleasing = GetDXUTState().GetD3D11SwapChainReleasingFunc(); - if( pCallbackSwapChainReleasing != NULL ) + if( pCallbackSwapChainReleasing ) pCallbackSwapChainReleasing( GetDXUTState().GetD3D11SwapChainReleasingFuncUserContext() ); GetDXUTState().SetDeviceObjectsReset( false ); } // Release our old depth stencil texture and view - ID3D11Texture2D* pDS = GetDXUTState().GetD3D11DepthStencil(); + auto pDS = GetDXUTState().GetD3D11DepthStencil(); SAFE_RELEASE( pDS ); - GetDXUTState().SetD3D11DepthStencil( NULL ); - ID3D11DepthStencilView* pDSV = GetDXUTState().GetD3D11DepthStencilView(); + GetDXUTState().SetD3D11DepthStencil( nullptr ); + auto pDSV = GetDXUTState().GetD3D11DepthStencilView(); SAFE_RELEASE( pDSV ); - GetDXUTState().SetD3D11DepthStencilView( NULL ); + GetDXUTState().SetD3D11DepthStencilView( nullptr ); // Cleanup the render target view - ID3D11RenderTargetView* pRTV = GetDXUTState().GetD3D11RenderTargetView(); + auto pRTV = GetDXUTState().GetD3D11RenderTargetView(); SAFE_RELEASE( pRTV ); - GetDXUTState().SetD3D11RenderTargetView( NULL ); + GetDXUTState().SetD3D11RenderTargetView( nullptr ); // Call the app's device destroyed callback if( GetDXUTState().GetDeviceObjectsCreated() ) { - LPDXUTCALLBACKD3D11DEVICEDESTROYED pCallbackDeviceDestroyed = GetDXUTState().GetD3D11DeviceDestroyedFunc(); - if( pCallbackDeviceDestroyed != NULL ) + auto pCallbackDeviceDestroyed = GetDXUTState().GetD3D11DeviceDestroyedFunc(); + if( pCallbackDeviceDestroyed ) pCallbackDeviceDestroyed( GetDXUTState().GetD3D11DeviceDestroyedFuncUserContext() ); GetDXUTState().SetDeviceObjectsCreated( false ); } @@ -4100,41 +3047,93 @@ void DXUTCleanup3DEnvironment11( bool bReleaseSettings ) // Release the swap chain GetDXUTState().SetReleasingSwapChain( true ); - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); + auto pSwapChain = DXUTGetDXGISwapChain(); if( pSwapChain ) { pSwapChain->SetFullscreenState( FALSE, 0 ); } SAFE_RELEASE( pSwapChain ); - GetDXUTState().SetDXGISwapChain( NULL ); + GetDXUTState().SetDXGISwapChain( nullptr ); GetDXUTState().SetReleasingSwapChain( false ); // Release the outputs. - IDXGIOutput** ppOutputArray = GetDXUTState().GetDXGIOutputArray(); + auto ppOutputArray = GetDXUTState().GetDXGIOutputArray(); UINT OutputCount = GetDXUTState().GetDXGIOutputArraySize(); for( UINT o = 0; o < OutputCount; ++o ) SAFE_RELEASE( ppOutputArray[o] ); delete[] ppOutputArray; - GetDXUTState().SetDXGIOutputArray( NULL ); + GetDXUTState().SetDXGIOutputArray( nullptr ); GetDXUTState().SetDXGIOutputArraySize( 0 ); // Release the D3D adapter. - IDXGIAdapter* pAdapter = GetDXUTState().GetDXGIAdapter(); + auto pAdapter = GetDXUTState().GetDXGIAdapter(); SAFE_RELEASE( pAdapter ); - GetDXUTState().SetDXGIAdapter( NULL ); + GetDXUTState().SetDXGIAdapter( nullptr ); - // Release the counters - //DXUTDestroyD3D11Counters(); + // Call ClearState to avoid tons of messy debug spew telling us that we're deleting bound objects + auto pImmediateContext = DXUTGetD3D11DeviceContext(); + assert( pImmediateContext ); + pImmediateContext->ClearState(); + pImmediateContext->Flush(); // Release the D3D11 immediate context (if it exists) because it has a extra ref count on it - ID3D11DeviceContext* pd3d11DeviceContext = GetDXUTState().GetD3D11DeviceContext(); - SAFE_RELEASE( pd3d11DeviceContext ); - GetDXUTState().SetD3D11DeviceContext( NULL ); + SAFE_RELEASE( pImmediateContext ); + GetDXUTState().SetD3D11DeviceContext( nullptr ); - // Release the D3D device and in debug configs, displays a message box if there - // are unrelease objects. - if( pd3dDevice ) + auto pImmediateContext1 = DXUTGetD3D11DeviceContext1(); + SAFE_RELEASE( pImmediateContext1 ); + GetDXUTState().SetD3D11DeviceContext1( nullptr ); + + auto pImmediateContext2 = DXUTGetD3D11DeviceContext2(); + SAFE_RELEASE(pImmediateContext2); + GetDXUTState().SetD3D11DeviceContext2(nullptr); + +#ifdef USE_DIRECT3D11_3 + auto pImmediateContext3 = DXUTGetD3D11DeviceContext3(); + SAFE_RELEASE(pImmediateContext3); + GetDXUTState().SetD3D11DeviceContext3(nullptr); +#endif + +#ifdef USE_DIRECT3D11_4 + auto pImmediateContext4 = DXUTGetD3D11DeviceContext4(); + SAFE_RELEASE(pImmediateContext4); + GetDXUTState().SetD3D11DeviceContext4(nullptr); +#endif + + // Report live objects + if ( pd3dDevice ) { +#ifndef NDEBUG + ID3D11Debug * d3dDebug = nullptr; + if( SUCCEEDED( pd3dDevice->QueryInterface( IID_PPV_ARGS(&d3dDebug) ) ) ) + { + d3dDebug->ReportLiveDeviceObjects( D3D11_RLDO_SUMMARY | D3D11_RLDO_DETAIL ); + d3dDebug->Release(); + } +#endif + + auto pd3dDevice1 = DXUTGetD3D11Device1(); + SAFE_RELEASE( pd3dDevice1 ); + GetDXUTState().SetD3D11Device1(nullptr); + + auto pd3dDevice2 = DXUTGetD3D11Device2(); + SAFE_RELEASE(pd3dDevice2); + GetDXUTState().SetD3D11Device2(nullptr); + +#ifdef USE_DIRECT3D11_3 + auto pd3dDevice3 = DXUTGetD3D11Device3(); + SAFE_RELEASE(pd3dDevice3); + GetDXUTState().SetD3D11Device3(nullptr); +#endif + +#ifdef USE_DIRECT3D11_4 + auto pd3dDevice4 = DXUTGetD3D11Device4(); + SAFE_RELEASE(pd3dDevice4); + GetDXUTState().SetD3D11Device4(nullptr); +#endif + + // Release the D3D device and in debug configs, displays a message box if there + // are unrelease objects. UINT references = pd3dDevice->Release(); if( references > 0 ) { @@ -4142,16 +3141,27 @@ void DXUTCleanup3DEnvironment11( bool bReleaseSettings ) DXUT_ERR( L"DXUTCleanup3DEnvironment", DXUTERR_NONZEROREFCOUNT ); } } - GetDXUTState().SetD3D11Device( NULL ); + GetDXUTState().SetD3D11Device( nullptr ); + +#ifndef NDEBUG + { + IDXGIDebug* dxgiDebug = nullptr; + if ( SUCCEEDED( DXUT_Dynamic_DXGIGetDebugInterface( IID_IDXGIDebug, reinterpret_cast( &dxgiDebug ) ) ) ) + { + dxgiDebug->ReportLiveObjects( DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_ALL ); + dxgiDebug->Release(); + } + } +#endif if( bReleaseSettings ) { - DXUTDeviceSettings* pOldDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + auto pOldDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); SAFE_DELETE(pOldDeviceSettings); - GetDXUTState().SetCurrentDeviceSettings( NULL ); + GetDXUTState().SetCurrentDeviceSettings( nullptr ); } - DXGI_SURFACE_DESC* pBackBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDescDXGI(); + auto pBackBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDescDXGI(); ZeroMemory( pBackBufferSurfaceDesc, sizeof( DXGI_SURFACE_DESC ) ); GetDXUTState().SetDeviceCreated( false ); @@ -4168,7 +3178,7 @@ LRESULT CALLBACK DXUTLowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lPar return CallNextHookEx( GetDXUTState().GetKeyboardHook(), nCode, wParam, lParam ); bool bEatKeystroke = false; - KBDLLHOOKSTRUCT* p = ( KBDLLHOOKSTRUCT* )lParam; + auto p = reinterpret_cast( lParam ); switch( wParam ) { case WM_KEYDOWN: @@ -4187,11 +3197,11 @@ LRESULT CALLBACK DXUTLowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lPar } - //-------------------------------------------------------------------------------------- // Controls how DXUT behaves when fullscreen and windowed mode with regard to // shortcut keys (Windows keys, StickyKeys shortcut, ToggleKeys shortcut, FilterKeys shortcut) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void WINAPI DXUTSetShortcutKeySettings( bool bAllowWhenFullscreen, bool bAllowWhenWindowed ) { GetDXUTState().SetAllowShortcutKeysWhenWindowed( bAllowWhenWindowed ); @@ -4212,7 +3222,7 @@ void WINAPI DXUTSetShortcutKeySettings( bool bAllowWhenFullscreen, bool bAllowWh // Enables/disables Windows keys, and disables or restores the StickyKeys/ToggleKeys/FilterKeys // shortcut to help prevent accidental task switching //-------------------------------------------------------------------------------------- -void DXUTAllowShortcutKeys( bool bAllowKeys ) +void DXUTAllowShortcutKeys( _In_ bool bAllowKeys ) { GetDXUTState().SetAllowShortcutKeys( bAllowKeys ); @@ -4231,24 +3241,18 @@ void DXUTAllowShortcutKeys( bool bAllowKeys ) if( GetDXUTState().GetKeyboardHook() ) { UnhookWindowsHookEx( GetDXUTState().GetKeyboardHook() ); - GetDXUTState().SetKeyboardHook( NULL ); + GetDXUTState().SetKeyboardHook( nullptr ); } } else { // Set low level keyboard hook if haven't already - if( GetDXUTState().GetKeyboardHook() == NULL ) + if( !GetDXUTState().GetKeyboardHook() ) { - // Set the low-level hook procedure. Only works on Windows 2000 and above - OSVERSIONINFO OSVersionInfo; - OSVersionInfo.dwOSVersionInfoSize = sizeof( OSVersionInfo ); - GetVersionEx( &OSVersionInfo ); - if( OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT && OSVersionInfo.dwMajorVersion > 4 ) - { - HHOOK hKeyboardHook = SetWindowsHookEx( WH_KEYBOARD_LL, DXUTLowLevelKeyboardProc, - GetModuleHandle( NULL ), 0 ); - GetDXUTState().SetKeyboardHook( hKeyboardHook ); - } + // Set the low-level hook procedure. + HHOOK hKeyboardHook = SetWindowsHookEx( WH_KEYBOARD_LL, DXUTLowLevelKeyboardProc, + GetModuleHandle( nullptr ), 0 ); + GetDXUTState().SetKeyboardHook( hKeyboardHook ); } // Disable StickyKeys/etc shortcuts but if the accessibility feature is on, @@ -4290,6 +3294,7 @@ void DXUTAllowShortcutKeys( bool bAllowKeys ) //-------------------------------------------------------------------------------------- // Pauses time or rendering. Keeps a ref count so pausing can be layered //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void WINAPI DXUTPause( bool bPauseTime, bool bPauseRendering ) { int nPauseTimeCount = GetDXUTState().GetPauseTimeCount(); @@ -4325,13 +3330,13 @@ void WINAPI DXUTPause( bool bPauseTime, bool bPauseRendering ) //-------------------------------------------------------------------------------------- // Starts a user defined timer callback //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT WINAPI DXUTSetTimer( LPDXUTCALLBACKTIMER pCallbackTimer, float fTimeoutInSecs, UINT* pnIDEvent, void* pCallbackUserContext ) { - if( pCallbackTimer == NULL ) + if( !pCallbackTimer ) return DXUT_ERR_MSGBOX( L"DXUTSetTimer", E_INVALIDARG ); - HRESULT hr; DXUT_TIMER DXUTTimer; DXUTTimer.pCallbackTimer = pCallbackTimer; DXUTTimer.pCallbackUserContext = pCallbackUserContext; @@ -4341,17 +3346,16 @@ HRESULT WINAPI DXUTSetTimer( LPDXUTCALLBACKTIMER pCallbackTimer, float fTimeoutI DXUTTimer.nID = GetDXUTState().GetTimerLastID() + 1; GetDXUTState().SetTimerLastID( DXUTTimer.nID ); - CGrowableArray * pTimerList = GetDXUTState().GetTimerList(); - if( pTimerList == NULL ) + auto pTimerList = GetDXUTState().GetTimerList(); + if( !pTimerList ) { - pTimerList = new CGrowableArray ; - if( pTimerList == NULL ) + pTimerList = new (std::nothrow) std::vector; + if( !pTimerList ) return E_OUTOFMEMORY; GetDXUTState().SetTimerList( pTimerList ); } - if( FAILED( hr = pTimerList->Add( DXUTTimer ) ) ) - return hr; + pTimerList->push_back( DXUTTimer ); if( pnIDEvent ) *pnIDEvent = DXUTTimer.nID; @@ -4363,21 +3367,21 @@ HRESULT WINAPI DXUTSetTimer( LPDXUTCALLBACKTIMER pCallbackTimer, float fTimeoutI //-------------------------------------------------------------------------------------- // Stops a user defined timer callback //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTKillTimer( UINT nIDEvent ) +HRESULT WINAPI DXUTKillTimer( _In_ UINT nIDEvent ) { - CGrowableArray * pTimerList = GetDXUTState().GetTimerList(); - if( pTimerList == NULL ) + auto pTimerList = GetDXUTState().GetTimerList(); + if( !pTimerList ) return S_FALSE; bool bFound = false; - for( int i = 0; i < pTimerList->GetSize(); i++ ) + for( auto it = pTimerList->begin(); it != pTimerList->end(); ++it ) { - DXUT_TIMER DXUTTimer = pTimerList->GetAt( i ); + DXUT_TIMER DXUTTimer = *it; if( DXUTTimer.nID == nIDEvent ) { DXUTTimer.bEnabled = false; - pTimerList->SetAt( i, DXUTTimer ); + *it = DXUTTimer; bFound = true; break; } @@ -4397,14 +3401,14 @@ void DXUTHandleTimers() { float fElapsedTime = DXUTGetElapsedTime(); - CGrowableArray * pTimerList = GetDXUTState().GetTimerList(); - if( pTimerList == NULL ) + auto pTimerList = GetDXUTState().GetTimerList(); + if( !pTimerList ) return; // Walk through the list of timer callbacks - for( int i = 0; i < pTimerList->GetSize(); i++ ) + for( auto it = pTimerList->begin(); it != pTimerList->end(); ++it ) { - DXUT_TIMER DXUTTimer = pTimerList->GetAt( i ); + DXUT_TIMER DXUTTimer = *it; if( DXUTTimer.bEnabled ) { DXUTTimer.fCountdown -= fElapsedTime; @@ -4414,10 +3418,10 @@ void DXUTHandleTimers() { DXUTTimer.pCallbackTimer( DXUTTimer.nID, DXUTTimer.pCallbackUserContext ); // The callback my have changed the timer. - DXUTTimer = pTimerList->GetAt( i ); + DXUTTimer = *it; DXUTTimer.fCountdown = DXUTTimer.fTimeoutInSecs; } - pTimerList->SetAt( i, DXUTTimer ); + *it = DXUTTimer; } } } @@ -4426,7 +3430,7 @@ void DXUTHandleTimers() //-------------------------------------------------------------------------------------- // Display an custom error msg box //-------------------------------------------------------------------------------------- -void DXUTDisplayErrorMessage( HRESULT hr ) +void DXUTDisplayErrorMessage( _In_ HRESULT hr ) { WCHAR strBuffer[512]; @@ -4437,15 +3441,12 @@ void DXUTDisplayErrorMessage( HRESULT hr ) case DXUTERR_NODIRECT3D: { nExitCode = 2; - if( DXUTDoesAppSupportD3D11() && !DXUTDoesAppSupportD3D9() ) - wcscpy_s( strBuffer, ARRAYSIZE(strBuffer), L"Could not initialize Direct3D 11. " ); - else - wcscpy_s( strBuffer, ARRAYSIZE(strBuffer), L"Could not initialize Direct3D 9. Check that the latest version of DirectX is correctly installed on your system. Also make sure that this program was compiled with header files that match the installed DirectX DLLs." ); + wcscpy_s( strBuffer, ARRAYSIZE(strBuffer), L"Could not initialize Direct3D 11. " ); break; } case DXUTERR_NOCOMPATIBLEDEVICES: nExitCode = 3; - if( GetSystemMetrics(0x1000) != 0 ) // SM_REMOTESESSION + if( GetSystemMetrics(SM_REMOTESESSION) != 0 ) wcscpy_s( strBuffer, ARRAYSIZE(strBuffer), L"Direct3D does not work over a remote session." ); else wcscpy_s( strBuffer, ARRAYSIZE(strBuffer), L"Could not find any compatible Direct3D devices." ); @@ -4478,7 +3479,7 @@ void DXUTDisplayErrorMessage( HRESULT hr ) //-------------------------------------------------------------------------------------- // Internal function to map MK_* to an array index //-------------------------------------------------------------------------------------- -int DXUTMapButtonToArrayIndex( BYTE vButton ) +int DXUTMapButtonToArrayIndex( _In_ BYTE vButton ) { switch( vButton ) { @@ -4501,57 +3502,52 @@ int DXUTMapButtonToArrayIndex( BYTE vButton ) } - //-------------------------------------------------------------------------------------- // Toggle between full screen and windowed //-------------------------------------------------------------------------------------- HRESULT WINAPI DXUTToggleFullScreen() { - HRESULT hr; - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - DXUTDeviceSettings orginalDeviceSettings = DXUTGetDeviceSettings(); + auto deviceSettings = DXUTGetDeviceSettings(); + if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + { + // WARP driver type doesn't support fullscreen + return S_FALSE; + } + + auto orginalDeviceSettings = DXUTGetDeviceSettings(); - if (deviceSettings.ver == DXUT_D3D11_DEVICE) { - deviceSettings.d3d11.sd.Windowed = !deviceSettings.d3d11.sd.Windowed; // datut - if (!deviceSettings.d3d11.sd.Windowed) { - DXGI_MODE_DESC adapterDesktopDisplayMode = + deviceSettings.d3d11.sd.Windowed = !deviceSettings.d3d11.sd.Windowed; + + HRESULT hr; + if (!deviceSettings.d3d11.sd.Windowed) + { + DXGI_MODE_DESC adapterDesktopDisplayMode; + hr = DXUTGetD3D11AdapterDisplayMode( deviceSettings.d3d11.AdapterOrdinal, 0, &adapterDesktopDisplayMode ); + if ( FAILED(hr) ) + { + static const DXGI_MODE_DESC s_adapterDesktopDisplayMode = { - 800, 600, { 60, 1 }, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB + 800, 600, { 0, 0 }, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB }; - DXUTGetD3D11AdapterDisplayMode( deviceSettings.d3d11.AdapterOrdinal, 0, &adapterDesktopDisplayMode ); - - - deviceSettings.d3d11.sd.BufferDesc = adapterDesktopDisplayMode; - }else { - RECT r = DXUTGetWindowClientRectAtModeChange(); - deviceSettings.d3d11.sd.BufferDesc.Height = r.bottom; - deviceSettings.d3d11.sd.BufferDesc.Width = r.right; - } - }else if (deviceSettings.ver == DXUT_D3D9_DEVICE){ - deviceSettings.d3d9.pp.Windowed = !deviceSettings.d3d9.pp.Windowed; - if (!deviceSettings.d3d9.pp.Windowed) { - D3DDISPLAYMODE adapterDesktopDisplayMode; - IDirect3D9* pD3D = DXUTGetD3D9Object(); - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - pD3D->GetAdapterDisplayMode( pDeviceSettings->d3d9.AdapterOrdinal, &adapterDesktopDisplayMode ); - deviceSettings.d3d9.pp.BackBufferWidth = adapterDesktopDisplayMode.Width; - deviceSettings.d3d9.pp.BackBufferHeight = adapterDesktopDisplayMode.Height; - deviceSettings.d3d9.pp.BackBufferFormat = adapterDesktopDisplayMode.Format; - } else { - RECT r = DXUTGetWindowClientRectAtModeChange(); - deviceSettings.d3d9.pp.BackBufferHeight= r.bottom; - deviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = 0; - deviceSettings.d3d9.pp.BackBufferWidth = r.right; + memcpy(&adapterDesktopDisplayMode, &s_adapterDesktopDisplayMode, sizeof(DXGI_MODE_DESC)); } + + deviceSettings.d3d11.sd.BufferDesc = adapterDesktopDisplayMode; + } + else + { + RECT r = DXUTGetWindowClientRectAtModeChange(); + deviceSettings.d3d11.sd.BufferDesc.Height = r.bottom; + deviceSettings.d3d11.sd.BufferDesc.Width = r.right; } - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); + hr = DXUTChangeDevice( &deviceSettings, false ); // If hr == E_ABORT, this means the app rejected the device settings in the ModifySettingsCallback so nothing changed if( FAILED( hr ) && ( hr != E_ABORT ) ) { // Failed creating device, try to switch back. - HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, NULL, NULL, false, false ); + HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, false ); if( FAILED( hr2 ) ) { // If this failed, then shutdown @@ -4564,51 +3560,41 @@ HRESULT WINAPI DXUTToggleFullScreen() //-------------------------------------------------------------------------------------- -// Toggle between HAL and WARP +// Toggle between HAL/REF and WARP //-------------------------------------------------------------------------------------- +HRESULT WINAPI DXUTToggleWARP () +{ + auto deviceSettings = DXUTGetDeviceSettings(); -HRESULT WINAPI DXUTToggleWARP () { - HRESULT hr; - - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - DXUTDeviceSettings orginalDeviceSettings = DXUTGetDeviceSettings(); - - // Toggle between REF & HAL - if( DXUTIsCurrentDeviceD3D9() ) - { - - } - else + if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE || deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) { - ID3D11SwitchToRef* pD3D11STR = NULL; - ID3D11Device* pDev = DXUTGetD3D11Device(); - assert( pDev != NULL ); - hr = pDev->QueryInterface( __uuidof( *pD3D11STR ), ( LPVOID* )&pD3D11STR ); - if( SUCCEEDED( hr ) ) + if ( !deviceSettings.d3d11.sd.Windowed ) { - pD3D11STR->SetUseRef( pD3D11STR->GetUseRef() ? FALSE : TRUE ); - SAFE_RELEASE( pD3D11STR ); - return S_OK; + // WARP driver type doesn't support fullscreen + return S_FALSE; } - if( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE || deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) - deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_WARP; - else if( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE || deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) - deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_HARDWARE; + deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_WARP; + } + else if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + { + deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_HARDWARE; } - hr = DXUTSnapDeviceSettingsToEnumDevice(&deviceSettings, false); + HRESULT hr = DXUTSnapDeviceSettingsToEnumDevice(&deviceSettings, false); if( SUCCEEDED( hr ) ) { + DXUTDeviceSettings orginalDeviceSettings = DXUTGetDeviceSettings(); + // Create a Direct3D device using the new device settings. // If there is an existing device, then it will either reset or recreate the scene. - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); + hr = DXUTChangeDevice( &deviceSettings, false ); // If hr == E_ABORT, this means the app rejected the device settings in the ModifySettingsCallback so nothing changed if( FAILED( hr ) && ( hr != E_ABORT ) ) { // Failed creating device, try to switch back. - HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, NULL, NULL, false, false ); + HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, false ); if( FAILED( hr2 ) ) { // If this failed, then shutdown @@ -4619,55 +3605,48 @@ HRESULT WINAPI DXUTToggleWARP () { return hr; } + + //-------------------------------------------------------------------------------------- -// Toggle between HAL and REF +// Toggle between HAL/WARP and REF //-------------------------------------------------------------------------------------- HRESULT WINAPI DXUTToggleREF() { - HRESULT hr; - - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - DXUTDeviceSettings orginalDeviceSettings = DXUTGetDeviceSettings(); + auto deviceSettings = DXUTGetDeviceSettings(); - // Toggle between REF & HAL - if( DXUTIsCurrentDeviceD3D9() ) + if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE ) { - if( deviceSettings.d3d9.DeviceType == D3DDEVTYPE_HAL ) - deviceSettings.d3d9.DeviceType = D3DDEVTYPE_REF; - else if( deviceSettings.d3d9.DeviceType == D3DDEVTYPE_REF ) - deviceSettings.d3d9.DeviceType = D3DDEVTYPE_HAL; + deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_REFERENCE; } - else + else if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) { - ID3D11SwitchToRef* pD3D11STR = NULL; - ID3D11Device* pDev = DXUTGetD3D11Device(); - assert( pDev != NULL ); - hr = pDev->QueryInterface( __uuidof( *pD3D11STR ), ( LPVOID* )&pD3D11STR ); - if( SUCCEEDED( hr ) ) + deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_HARDWARE; + } + else if ( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + { + if ( !deviceSettings.d3d11.sd.Windowed ) { - pD3D11STR->SetUseRef( pD3D11STR->GetUseRef() ? FALSE : TRUE ); - SAFE_RELEASE( pD3D11STR ); - return S_OK; + // WARP driver type doesn't support fullscreen + return S_FALSE; } - if( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_HARDWARE ) - deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_REFERENCE; - else if( deviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) - deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_HARDWARE; + deviceSettings.d3d11.DriverType = D3D_DRIVER_TYPE_REFERENCE; } - - hr = DXUTSnapDeviceSettingsToEnumDevice(&deviceSettings, false); + + HRESULT hr = DXUTSnapDeviceSettingsToEnumDevice(&deviceSettings, false); if( SUCCEEDED( hr ) ) { + auto orginalDeviceSettings = DXUTGetDeviceSettings(); + // Create a Direct3D device using the new device settings. // If there is an existing device, then it will either reset or recreate the scene. - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); + hr = DXUTChangeDevice( &deviceSettings, false ); // If hr == E_ABORT, this means the app rejected the device settings in the ModifySettingsCallback so nothing changed if( FAILED( hr ) && ( hr != E_ABORT ) ) { // Failed creating device, try to switch back. - HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, NULL, NULL, false, false ); + HRESULT hr2 = DXUTChangeDevice( &orginalDeviceSettings, false ); if( FAILED( hr2 ) ) { // If this failed, then shutdown @@ -4684,48 +3663,54 @@ HRESULT WINAPI DXUTToggleREF() //-------------------------------------------------------------------------------------- void DXUTCheckForDXGIFullScreenSwitch() { - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - if( !DXUTIsD3D9( pDeviceSettings ) ) - { - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); - assert( pSwapChain != NULL ); - DXGI_SWAP_CHAIN_DESC SCDesc; - pSwapChain->GetDesc( &SCDesc ); + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + auto pSwapChain = DXUTGetDXGISwapChain(); + assert( pSwapChain ); + _Analysis_assume_( pSwapChain ); + DXGI_SWAP_CHAIN_DESC SCDesc; + if ( FAILED(pSwapChain->GetDesc(&SCDesc)) ) + memset( &SCDesc, 0, sizeof(SCDesc) ); - BOOL bIsWindowed = ( BOOL )DXUTIsWindowed(); - if( bIsWindowed != SCDesc.Windowed ) - { - pDeviceSettings->d3d11.sd.Windowed = SCDesc.Windowed; + BOOL bIsWindowed = ( BOOL )DXUTIsWindowed(); + if( bIsWindowed != SCDesc.Windowed ) + { + pDeviceSettings->d3d11.sd.Windowed = SCDesc.Windowed; - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); + auto deviceSettings = DXUTGetDeviceSettings(); - if( bIsWindowed ) - { - GetDXUTState().SetWindowBackBufferWidthAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Width ); - GetDXUTState().SetWindowBackBufferHeightAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Height ); - } - else - { - GetDXUTState().SetFullScreenBackBufferWidthAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Width ); - GetDXUTState().SetFullScreenBackBufferHeightAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Height ); - } + if( bIsWindowed ) + { + GetDXUTState().SetWindowBackBufferWidthAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Width ); + GetDXUTState().SetWindowBackBufferHeightAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Height ); + } + else + { + GetDXUTState().SetFullScreenBackBufferWidthAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Width ); + GetDXUTState().SetFullScreenBackBufferHeightAtModeChange( deviceSettings.d3d11.sd.BufferDesc.Height ); } } } +_Use_decl_annotations_ void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullScreen ) { HRESULT hr = S_OK; RECT rcCurrentClient; GetClientRect( DXUTGetHWND(), &rcCurrentClient ); - DXUTDeviceSettings* pDevSettings = GetDXUTState().GetCurrentDeviceSettings(); - assert( pDevSettings != NULL ); + auto pDevSettings = GetDXUTState().GetCurrentDeviceSettings(); + assert( pDevSettings ); + _Analysis_assume_( pDevSettings ); + + auto pSwapChain = DXUTGetDXGISwapChain(); - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); + auto pd3dDevice = DXUTGetD3D11Device(); + assert( pd3dDevice ); + _Analysis_assume_( pd3dDevice ); - ID3D11Device* pd3dDevice = DXUTGetD3D11Device(); - ID3D11DeviceContext* pd3dImmediateContext = DXUTGetD3D11DeviceContext(); + auto pd3dImmediateContext = DXUTGetD3D11DeviceContext(); + assert( pd3dImmediateContext ); + _Analysis_assume_( pd3dImmediateContext ); // Determine if we're fullscreen pDevSettings->d3d11.sd.Windowed = !bFullScreen; @@ -4734,22 +3719,22 @@ void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullScreen ) GetDXUTState().SetInsideDeviceCallback( true ); LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallbackSwapChainReleasing = GetDXUTState().GetD3D11SwapChainReleasingFunc (); - if( pCallbackSwapChainReleasing != NULL ) + if( pCallbackSwapChainReleasing ) pCallbackSwapChainReleasing( GetDXUTState().GetD3D11SwapChainResizedFuncUserContext() ); GetDXUTState().SetInsideDeviceCallback( false ); // Release our old depth stencil texture and view - ID3D11Texture2D* pDS = GetDXUTState().GetD3D11DepthStencil(); + auto pDS = GetDXUTState().GetD3D11DepthStencil(); SAFE_RELEASE( pDS ); - GetDXUTState().SetD3D11DepthStencil( NULL ); - ID3D11DepthStencilView* pDSV = GetDXUTState().GetD3D11DepthStencilView(); + GetDXUTState().SetD3D11DepthStencil( nullptr ); + auto pDSV = GetDXUTState().GetD3D11DepthStencilView(); SAFE_RELEASE( pDSV ); - GetDXUTState().SetD3D11DepthStencilView( NULL ); + GetDXUTState().SetD3D11DepthStencilView( nullptr ); // Release our old render target view - ID3D11RenderTargetView* pRTV = GetDXUTState().GetD3D11RenderTargetView(); + auto pRTV = GetDXUTState().GetD3D11RenderTargetView(); SAFE_RELEASE( pRTV ); - GetDXUTState().SetD3D11RenderTargetView( NULL ); + GetDXUTState().SetD3D11RenderTargetView( nullptr ); // Alternate between 0 and DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH when resizing buffers. // When in windowed mode, we want 0 since this allows the app to change to the desktop @@ -4792,10 +3777,10 @@ void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullScreen ) // Call the app's SwapChain reset callback GetDXUTState().SetInsideDeviceCallback( true ); - const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc = DXUTGetDXGIBackBufferSurfaceDesc(); + auto pBackBufferSurfaceDesc = DXUTGetDXGIBackBufferSurfaceDesc(); LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallbackSwapChainResized = GetDXUTState().GetD3D11SwapChainResizedFunc(); hr = S_OK; - if( pCallbackSwapChainResized != NULL ) + if( pCallbackSwapChainResized ) hr = pCallbackSwapChainResized( pd3dDevice, pSwapChain, pBackBufferSurfaceDesc, GetDXUTState().GetD3D11SwapChainResizedFuncUserContext() ); GetDXUTState().SetInsideDeviceCallback( false ); @@ -4807,9 +3792,9 @@ void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullScreen ) hr = DXUTERR_RESETTINGDEVICEOBJECTS; GetDXUTState().SetInsideDeviceCallback( true ); - LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallbackSwapChainReleasing = + pCallbackSwapChainReleasing = GetDXUTState().GetD3D11SwapChainReleasingFunc(); - if( pCallbackSwapChainReleasing != NULL ) + if( pCallbackSwapChainReleasing ) pCallbackSwapChainReleasing( GetDXUTState().GetD3D11SwapChainResizedFuncUserContext() ); GetDXUTState().SetInsideDeviceCallback( false ); DXUTPause( false, false ); @@ -4827,14 +3812,21 @@ void DXUTResizeDXGIBuffers( UINT Width, UINT Height, BOOL bFullScreen ) //-------------------------------------------------------------------------------------- void DXUTCheckForDXGIBufferChange() { - if(DXUTGetDXGISwapChain() != NULL && !GetDXUTState().GetReleasingSwapChain() ) + if(DXUTGetDXGISwapChain() && !GetDXUTState().GetReleasingSwapChain() ) { //DXUTgetdxgi - IDXGISwapChain* pSwapChain = DXUTGetDXGISwapChain(); + auto pSwapChain = DXUTGetDXGISwapChain(); + assert(pSwapChain); + _Analysis_assume_(pSwapChain); +// workaround for SAL bug in DXGI header +#pragma warning(push) +#pragma warning( disable:4616 6309 6387 ) // Determine if we're fullscreen BOOL bFullScreen; - pSwapChain->GetFullscreenState( &bFullScreen, NULL ); + if ( FAILED(pSwapChain->GetFullscreenState(&bFullScreen, nullptr)) ) + bFullScreen = FALSE; +#pragma warning(pop) DXUTResizeDXGIBuffers( 0, 0, bFullScreen ); @@ -4849,31 +3841,10 @@ void DXUTCheckForWindowSizeChange() { // Skip the check for various reasons - if( GetDXUTState().GetIgnoreSizeChange() || !GetDXUTState().GetDeviceCreated() || - ( DXUTIsCurrentDeviceD3D9() && !DXUTIsWindowed() ) ) + if( GetDXUTState().GetIgnoreSizeChange() || !GetDXUTState().GetDeviceCreated() ) return; - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - if( DXUTIsD3D9( &deviceSettings ) ) - { - RECT rcCurrentClient; - GetClientRect( DXUTGetHWND(), &rcCurrentClient ); - - if( ( UINT )rcCurrentClient.right != DXUTGetBackBufferWidthFromDS( &deviceSettings ) || - ( UINT )rcCurrentClient.bottom != DXUTGetBackBufferHeightFromDS( &deviceSettings ) ) - { - // A new window size will require a new backbuffer size size - // Tell DXUTChangeDevice and D3D to size according to the HWND's client rect - if( DXUTIsD3D9( &deviceSettings ) ) deviceSettings.d3d9.pp.BackBufferWidth = 0; else deviceSettings.d3d11.sd.BufferDesc.Width = 0; - if( DXUTIsD3D9( &deviceSettings ) ) deviceSettings.d3d9.pp.BackBufferHeight = 0; else deviceSettings.d3d11.sd.BufferDesc.Height = 0; - - DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); - } - } - else - { - DXUTCheckForDXGIBufferChange(); - } + DXUTCheckForDXGIBufferChange(); } @@ -4897,25 +3868,18 @@ void DXUTCheckForWindowChangingMonitors() if( SUCCEEDED( DXUTGetAdapterOrdinalFromMonitor( hWindowMonitor, &newOrdinal ) ) ) { // Find the closest valid device settings with the new ordinal - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); - if( DXUTIsD3D9( &deviceSettings ) ) - { - deviceSettings.d3d9.AdapterOrdinal = newOrdinal; - } - else - { - deviceSettings.d3d11.AdapterOrdinal = newOrdinal; - UINT newOutput; - if( SUCCEEDED( DXUTGetOutputOrdinalFromMonitor( hWindowMonitor, &newOutput ) ) ) - deviceSettings.d3d11.Output = newOutput; - } + auto deviceSettings = DXUTGetDeviceSettings(); + deviceSettings.d3d11.AdapterOrdinal = newOrdinal; + UINT newOutput; + if( SUCCEEDED( DXUTGetOutputOrdinalFromMonitor( hWindowMonitor, &newOutput ) ) ) + deviceSettings.d3d11.Output = newOutput; hr = DXUTSnapDeviceSettingsToEnumDevice( &deviceSettings, false ); if( SUCCEEDED( hr ) ) { // Create a Direct3D device using the new device settings. // If there is an existing device, then it will either reset or recreate the scene. - hr = DXUTChangeDevice( &deviceSettings, NULL, NULL, false, false ); + hr = DXUTChangeDevice( &deviceSettings, false ); // If hr == E_ABORT, this means the app rejected the device settings in the ModifySettingsCallback if( hr == E_ABORT ) @@ -4935,113 +3899,61 @@ void DXUTCheckForWindowChangingMonitors() } -//-------------------------------------------------------------------------------------- -// Renders the scene using either D3D9 or D3D11 -//-------------------------------------------------------------------------------------- -void WINAPI DXUTRender3DEnvironment() -{ - if( DXUTIsCurrentDeviceD3D9() ) - DXUTRender3DEnvironment9(); - else - DXUTRender3DEnvironment11(); -} - - -//-------------------------------------------------------------------------------------- -// Cleans up both the D3D9 and D3D11 3D environment (but only one should be active at a time) -//-------------------------------------------------------------------------------------- -void DXUTCleanup3DEnvironment( bool bReleaseSettings ) -{ - if( DXUTGetD3D9Device() ) - DXUTCleanup3DEnvironment9( bReleaseSettings ); - if( DXUTGetD3D11Device() ) - DXUTCleanup3DEnvironment11( bReleaseSettings ); -} - - //-------------------------------------------------------------------------------------- // Returns the HMONITOR attached to an adapter/output //-------------------------------------------------------------------------------------- -HMONITOR DXUTGetMonitorFromAdapter( DXUTDeviceSettings* pDeviceSettings ) +HMONITOR DXUTGetMonitorFromAdapter( _In_ DXUTDeviceSettings* pDeviceSettings ) { - if( pDeviceSettings->ver == DXUT_D3D9_DEVICE ) - { - IDirect3D9* pD3D = DXUTGetD3D9Object(); - assert( pD3D != NULL ); - return pD3D->GetAdapterMonitor( pDeviceSettings->d3d9.AdapterOrdinal ); - } - else if( pDeviceSettings->ver == DXUT_D3D11_DEVICE ) - { - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - assert( pD3DEnum != NULL ); - CD3D11EnumOutputInfo* pOutputInfo = pD3DEnum->GetOutputInfo( pDeviceSettings->d3d11.AdapterOrdinal, - pDeviceSettings->d3d11.Output ); - if( !pOutputInfo ) - return 0; - return DXUTMonitorFromRect( &pOutputInfo->Desc.DesktopCoordinates, MONITOR_DEFAULTTONEAREST ); - } - - return 0; + auto pD3DEnum = DXUTGetD3D11Enumeration(); + assert( pD3DEnum ); + _Analysis_assume_( pD3DEnum ); + auto pOutputInfo = pD3DEnum->GetOutputInfo( pDeviceSettings->d3d11.AdapterOrdinal, + pDeviceSettings->d3d11.Output ); + if( !pOutputInfo ) + return 0; + return DXUTMonitorFromRect( &pOutputInfo->Desc.DesktopCoordinates, MONITOR_DEFAULTTONEAREST ); } //-------------------------------------------------------------------------------------- // Look for an adapter ordinal that is tied to a HMONITOR //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT DXUTGetAdapterOrdinalFromMonitor( HMONITOR hMonitor, UINT* pAdapterOrdinal ) { *pAdapterOrdinal = 0; - if( DXUTIsCurrentDeviceD3D9() ) - { - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration(); - IDirect3D9* pD3D = DXUTGetD3D9Object(); + // Get the monitor handle information + MONITORINFOEX mi; + mi.cbSize = sizeof( MONITORINFOEX ); + DXUTGetMonitorInfo( hMonitor, &mi ); - CGrowableArray * pAdapterList = pd3dEnum->GetAdapterInfoList(); - for( int iAdapter = 0; iAdapter < pAdapterList->GetSize(); iAdapter++ ) + // Search for this monitor in our enumeration hierarchy. + auto pd3dEnum = DXUTGetD3D11Enumeration(); + auto pAdapterList = pd3dEnum->GetAdapterInfoList(); + for( auto it = pAdapterList->cbegin(); it != pAdapterList->cend(); ++it ) + { + auto pAdapterInfo = *it; + for( auto jit = pAdapterInfo->outputInfoList.cbegin(); jit != pAdapterInfo->outputInfoList.cend(); ++jit ) { - CD3D9EnumAdapterInfo* pAdapterInfo = pAdapterList->GetAt( iAdapter ); - HMONITOR hAdapterMonitor = pD3D->GetAdapterMonitor( pAdapterInfo->AdapterOrdinal ); - if( hAdapterMonitor == hMonitor ) + auto pOutputInfo = *jit; + // Convert output device name from MBCS to Unicode + if( wcsncmp( pOutputInfo->Desc.DeviceName, mi.szDevice, sizeof( mi.szDevice ) / sizeof + ( mi.szDevice[0] ) ) == 0 ) { *pAdapterOrdinal = pAdapterInfo->AdapterOrdinal; return S_OK; } } } - else - { - // Get the monitor handle information - MONITORINFOEX mi; - mi.cbSize = sizeof( MONITORINFOEX ); - DXUTGetMonitorInfo( hMonitor, &mi ); - - // Search for this monitor in our enumeration hierarchy. - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - CGrowableArray * pAdapterList = pd3dEnum->GetAdapterInfoList(); - for( int iAdapter = 0; iAdapter < pAdapterList->GetSize(); ++iAdapter ) - { - CD3D11EnumAdapterInfo* pAdapterInfo = pAdapterList->GetAt( iAdapter ); - for( int o = 0; o < pAdapterInfo->outputInfoList.GetSize(); ++o ) - { - CD3D11EnumOutputInfo* pOutputInfo = pAdapterInfo->outputInfoList.GetAt( o ); - // Convert output device name from MBCS to Unicode - if( wcsncmp( pOutputInfo->Desc.DeviceName, mi.szDevice, sizeof( mi.szDevice ) / sizeof - ( mi.szDevice[0] ) ) == 0 ) - { - *pAdapterOrdinal = pAdapterInfo->AdapterOrdinal; - return S_OK; - } - } - } - } - return E_FAIL; } + //-------------------------------------------------------------------------------------- // Look for a monitor ordinal that is tied to a HMONITOR (D3D11-only) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT DXUTGetOutputOrdinalFromMonitor( HMONITOR hMonitor, UINT* pOutputOrdinal ) { // Get the monitor handle information @@ -5050,16 +3962,17 @@ HRESULT DXUTGetOutputOrdinalFromMonitor( HMONITOR hMonitor, UINT* pOutputOrdinal DXUTGetMonitorInfo( hMonitor, &mi ); // Search for this monitor in our enumeration hierarchy. - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - CGrowableArray * pAdapterList = pd3dEnum->GetAdapterInfoList(); - for( int iAdapter = 0; iAdapter < pAdapterList->GetSize(); ++iAdapter ) + auto pd3dEnum = DXUTGetD3D11Enumeration(); + auto pAdapterList = pd3dEnum->GetAdapterInfoList(); + for( auto it = pAdapterList->cbegin(); it != pAdapterList->cend(); ++it ) { - CD3D11EnumAdapterInfo* pAdapterInfo = pAdapterList->GetAt( iAdapter ); - for( int o = 0; o < pAdapterInfo->outputInfoList.GetSize(); ++o ) + auto pAdapterInfo = *it; + for( auto jit = pAdapterInfo->outputInfoList.cbegin(); jit != pAdapterInfo->outputInfoList.cend(); ++jit ) { - CD3D11EnumOutputInfo* pOutputInfo = pAdapterInfo->outputInfoList.GetAt( o ); + auto pOutputInfo = *jit; DXGI_OUTPUT_DESC Desc; - pOutputInfo->m_pOutput->GetDesc( &Desc ); + if ( FAILED(pOutputInfo->m_pOutput->GetDesc(&Desc)) ) + memset( &Desc, 0, sizeof(Desc) ); if( hMonitor == Desc.Monitor ) { @@ -5072,6 +3985,7 @@ HRESULT DXUTGetOutputOrdinalFromMonitor( HMONITOR hMonitor, UINT* pOutputOrdinal return E_FAIL; } + //-------------------------------------------------------------------------------------- // This method is called when D3DERR_DEVICEREMOVED is returned from an API. DXUT // calls the application's DeviceRemoved callback to inform it of the event. The @@ -5091,7 +4005,7 @@ HRESULT DXUTHandleDeviceRemoved() if( bLookForNewDevice ) { - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); hr = DXUTSnapDeviceSettingsToEnumDevice( pDeviceSettings, false); @@ -5099,7 +4013,7 @@ HRESULT DXUTHandleDeviceRemoved() { // Change to a Direct3D device created from the new device settings // that is compatible with the removed device. - hr = DXUTChangeDevice( pDeviceSettings, NULL, NULL, true, false ); + hr = DXUTChangeDevice( pDeviceSettings, false ); if( SUCCEEDED( hr ) ) return S_OK; } @@ -5115,38 +4029,23 @@ HRESULT DXUTHandleDeviceRemoved() //-------------------------------------------------------------------------------------- void DXUTUpdateBackBufferDesc() { - if( DXUTIsCurrentDeviceD3D9() ) - { - HRESULT hr; - IDirect3DSurface9* pBackBuffer; - hr = GetDXUTState().GetD3D9Device()->GetBackBuffer( 0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer ); - D3DSURFACE_DESC* pBBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDesc9(); - ZeroMemory( pBBufferSurfaceDesc, sizeof( D3DSURFACE_DESC ) ); - if( SUCCEEDED( hr ) ) - { - pBackBuffer->GetDesc( pBBufferSurfaceDesc ); - SAFE_RELEASE( pBackBuffer ); - } - } - else + HRESULT hr; + ID3D11Texture2D* pBackBuffer; + auto pSwapChain = GetDXUTState().GetDXGISwapChain(); + assert( pSwapChain ); + _Analysis_assume_( pSwapChain ); + hr = pSwapChain->GetBuffer( 0, IID_PPV_ARGS(&pBackBuffer) ); + auto pBBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDescDXGI(); + ZeroMemory( pBBufferSurfaceDesc, sizeof( DXGI_SURFACE_DESC ) ); + if( SUCCEEDED( hr ) ) { - HRESULT hr; - ID3D11Texture2D* pBackBuffer; - IDXGISwapChain* pSwapChain = GetDXUTState().GetDXGISwapChain(); - assert( pSwapChain != NULL ); - hr = pSwapChain->GetBuffer( 0, __uuidof( *pBackBuffer ), ( LPVOID* )&pBackBuffer ); - DXGI_SURFACE_DESC* pBBufferSurfaceDesc = GetDXUTState().GetBackBufferSurfaceDescDXGI(); - ZeroMemory( pBBufferSurfaceDesc, sizeof( DXGI_SURFACE_DESC ) ); - if( SUCCEEDED( hr ) ) - { - D3D11_TEXTURE2D_DESC TexDesc; - pBackBuffer->GetDesc( &TexDesc ); - pBBufferSurfaceDesc->Width = ( UINT )TexDesc.Width; - pBBufferSurfaceDesc->Height = ( UINT )TexDesc.Height; - pBBufferSurfaceDesc->Format = TexDesc.Format; - pBBufferSurfaceDesc->SampleDesc = TexDesc.SampleDesc; - SAFE_RELEASE( pBackBuffer ); - } + D3D11_TEXTURE2D_DESC TexDesc; + pBackBuffer->GetDesc( &TexDesc ); + pBBufferSurfaceDesc->Width = ( UINT )TexDesc.Width; + pBBufferSurfaceDesc->Height = ( UINT )TexDesc.Height; + pBBufferSurfaceDesc->Format = TexDesc.Format; + pBBufferSurfaceDesc->SampleDesc = TexDesc.SampleDesc; + SAFE_RELEASE( pBackBuffer ); } } @@ -5156,54 +4055,17 @@ void DXUTUpdateBackBufferDesc() //-------------------------------------------------------------------------------------- void DXUTSetupCursor() { - if( DXUTIsCurrentDeviceD3D9() ) + // Clip cursor if requested + if( !DXUTIsWindowed() && GetDXUTState().GetClipCursorWhenFullScreen() ) { - // Show the cursor again if returning to fullscreen - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - if( !DXUTIsWindowed() && pd3dDevice ) - { - if( GetDXUTState().GetShowCursorWhenFullScreen() ) - { - SetCursor( NULL ); // Turn off Windows cursor in full screen mode - HCURSOR hCursor = ( HCURSOR )( ULONG_PTR )GetClassLongPtr( DXUTGetHWNDDeviceFullScreen(), - GCLP_HCURSOR ); - DXUTSetD3D9DeviceCursor( pd3dDevice, hCursor, false ); - DXUTGetD3D9Device()->ShowCursor( true ); - } - else - { - SetCursor( NULL ); // Turn off Windows cursor in full screen mode - DXUTGetD3D9Device()->ShowCursor( false ); - } - } - - // Clip cursor if requested - if( !DXUTIsWindowed() && GetDXUTState().GetClipCursorWhenFullScreen() ) - { - // Confine cursor to full screen window - RECT rcWindow; - GetWindowRect( DXUTGetHWNDDeviceFullScreen(), &rcWindow ); - ClipCursor( &rcWindow ); - } - else - { - ClipCursor( NULL ); - } + // Confine cursor to full screen window + RECT rcWindow; + GetWindowRect( DXUTGetHWNDDeviceFullScreen(), &rcWindow ); + ClipCursor( &rcWindow ); } else { - // Clip cursor if requested - if( !DXUTIsWindowed() && GetDXUTState().GetClipCursorWhenFullScreen() ) - { - // Confine cursor to full screen window - RECT rcWindow; - GetWindowRect( DXUTGetHWNDDeviceFullScreen(), &rcWindow ); - ClipCursor( &rcWindow ); - } - else - { - ClipCursor( NULL ); - } + ClipCursor( nullptr ); } } @@ -5216,92 +4078,32 @@ void DXUTUpdateStaticFrameStats() if( GetDXUTState().GetNoStats() ) return; - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - if( NULL == pDeviceSettings ) + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + if( !pDeviceSettings ) return; - if( DXUTIsD3D9( pDeviceSettings ) ) - { - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration(); - if( NULL == pd3dEnum ) - return; - - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( - pDeviceSettings->d3d9.AdapterOrdinal, pDeviceSettings->d3d9.DeviceType, - pDeviceSettings->d3d9.AdapterFormat, pDeviceSettings->d3d9.pp.BackBufferFormat, - pDeviceSettings->d3d9.pp.Windowed ); - if( NULL == pDeviceSettingsCombo ) - return; - - WCHAR strFmt[100]; - D3DPRESENT_PARAMETERS* pPP = &pDeviceSettings->d3d9.pp; - - if( pDeviceSettingsCombo->AdapterFormat == pDeviceSettingsCombo->BackBufferFormat ) - { - wcscpy_s( strFmt, 100, DXUTD3DFormatToString( pDeviceSettingsCombo->AdapterFormat, false ) ); - } - else - { - swprintf_s( strFmt, 100, L"backbuf %s, adapter %s", - DXUTD3DFormatToString( pDeviceSettingsCombo->BackBufferFormat, false ), - DXUTD3DFormatToString( pDeviceSettingsCombo->AdapterFormat, false ) ); - } - - WCHAR strDepthFmt[100]; - if( pPP->EnableAutoDepthStencil ) - { - swprintf_s( strDepthFmt, 100, L" (%s)", DXUTD3DFormatToString( pPP->AutoDepthStencilFormat, false ) ); - } - else - { - // No depth buffer - strDepthFmt[0] = 0; - } - - WCHAR strMultiSample[100]; - switch( pPP->MultiSampleType ) - { - case D3DMULTISAMPLE_NONMASKABLE: - wcscpy_s( strMultiSample, 100, L" (Nonmaskable Multisample)" ); break; - case D3DMULTISAMPLE_NONE: - wcscpy_s( strMultiSample, 100, L"" ); break; - default: - swprintf_s( strMultiSample, 100, L" (%dx Multisample)", pPP->MultiSampleType ); break; - } - - WCHAR* pstrStaticFrameStats = GetDXUTState().GetStaticFrameStats(); - swprintf_s( pstrStaticFrameStats, 256, L"D3D9 %%sVsync %s (%dx%d), %s%s%s", - ( pPP->PresentationInterval == D3DPRESENT_INTERVAL_IMMEDIATE ) ? L"off" : L"on", - pPP->BackBufferWidth, pPP->BackBufferHeight, - strFmt, strDepthFmt, strMultiSample ); - } - else - { - // D3D11 - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - if( NULL == pd3dEnum ) - return; - - CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( - pDeviceSettings->d3d11.AdapterOrdinal, pDeviceSettings->d3d11.DriverType, pDeviceSettings->d3d11.Output, - pDeviceSettings->d3d11.sd.BufferDesc.Format, pDeviceSettings->d3d11.sd.Windowed ); - if( NULL == pDeviceSettingsCombo ) - return; - - WCHAR strFmt[100]; - - wcscpy_s( strFmt, 100, DXUTDXGIFormatToString( pDeviceSettingsCombo->BackBufferFormat, false ) ); + // D3D11 + auto pd3dEnum = DXUTGetD3D11Enumeration(); + if( !pd3dEnum ) + return; - WCHAR strMultiSample[100]; - swprintf_s( strMultiSample, 100, L" (MS%u, Q%u)", pDeviceSettings->d3d11.sd.SampleDesc.Count, - pDeviceSettings->d3d11.sd.SampleDesc.Quality ); + auto pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( + pDeviceSettings->d3d11.AdapterOrdinal, + pDeviceSettings->d3d11.sd.BufferDesc.Format, pDeviceSettings->d3d11.sd.Windowed ); + if( !pDeviceSettingsCombo ) + return; - WCHAR* pstrStaticFrameStats = GetDXUTState().GetStaticFrameStats(); - swprintf_s( pstrStaticFrameStats, 256, L"D3D11 %%sVsync %s (%dx%d), %s%s", - ( pDeviceSettings->d3d11.SyncInterval == 0 ) ? L"off" : L"on", - pDeviceSettings->d3d11.sd.BufferDesc.Width, pDeviceSettings->d3d11.sd.BufferDesc.Height, - strFmt, strMultiSample ); - } + WCHAR strFmt[100]; + wcscpy_s( strFmt, 100, DXUTDXGIFormatToString( pDeviceSettingsCombo->BackBufferFormat, false ) ); + + WCHAR strMultiSample[100]; + swprintf_s( strMultiSample, 100, L" (MS%u, Q%u)", pDeviceSettings->d3d11.sd.SampleDesc.Count, + pDeviceSettings->d3d11.sd.SampleDesc.Quality ); + auto pstrStaticFrameStats = GetDXUTState().GetStaticFrameStats(); + swprintf_s( pstrStaticFrameStats, 256, L"D3D11 %%ls Vsync %ls (%ux%u), %ls%ls", + ( pDeviceSettings->d3d11.SyncInterval == 0 ) ? L"off" : L"on", + pDeviceSettings->d3d11.sd.BufferDesc.Width, pDeviceSettings->d3d11.sd.BufferDesc.Height, + strFmt, strMultiSample ); } @@ -5328,21 +4130,23 @@ void DXUTUpdateFrameStats() GetDXUTState().SetLastStatsUpdateTime( fAbsTime ); GetDXUTState().SetLastStatsUpdateFrames( 0 ); - WCHAR* pstrFPS = GetDXUTState().GetFPSStats(); + auto pstrFPS = GetDXUTState().GetFPSStats(); swprintf_s( pstrFPS, 64, L"%0.2f fps ", fFPS ); } } + //-------------------------------------------------------------------------------------- // Returns a string describing the current device. If bShowFPS is true, then // the string contains the frames/sec. If "-nostats" was used in // the command line, the string will be blank //-------------------------------------------------------------------------------------- -LPCWSTR WINAPI DXUTGetFrameStats( bool bShowFPS ) +LPCWSTR WINAPI DXUTGetFrameStats( _In_ bool bShowFPS ) { - WCHAR* pstrFrameStats = GetDXUTState().GetFrameStats(); - WCHAR* pstrFPS = ( bShowFPS ) ? GetDXUTState().GetFPSStats() : L""; - swprintf_s( pstrFrameStats, 256, GetDXUTState().GetStaticFrameStats(), pstrFPS ); + auto pstrFrameStats = GetDXUTState().GetFrameStats(); + const WCHAR* pstrFPS = ( bShowFPS ) ? GetDXUTState().GetFPSStats() : L""; + WCHAR* pstrStats = GetDXUTState().GetStaticFrameStats(); + swprintf_s( pstrFrameStats, 256, pstrStats, pstrFPS ); return pstrFrameStats; } @@ -5350,63 +4154,15 @@ LPCWSTR WINAPI DXUTGetFrameStats( bool bShowFPS ) //-------------------------------------------------------------------------------------- // Updates the string which describes the device //-------------------------------------------------------------------------------------- -void DXUTUpdateD3D9DeviceStats( D3DDEVTYPE DeviceType, DWORD BehaviorFlags, - D3DADAPTER_IDENTIFIER9* pAdapterIdentifier ) -{ - if( GetDXUTState().GetNoStats() ) - return; - - // Store device description - WCHAR* pstrDeviceStats = GetDXUTState().GetDeviceStats(); - if( DeviceType == D3DDEVTYPE_REF ) - wcscpy_s( pstrDeviceStats, 256, L"REF" ); - else if( DeviceType == D3DDEVTYPE_HAL ) - wcscpy_s( pstrDeviceStats, 256, L"HAL" ); - else if( DeviceType == D3DDEVTYPE_SW ) - wcscpy_s( pstrDeviceStats, 256, L"SW" ); - - if( DeviceType == D3DDEVTYPE_HAL ) - { - // Be sure not to overflow m_strDeviceStats when appending the adapter - // description, since it can be long. - wcscat_s( pstrDeviceStats, 256, L": " ); - - // Try to get a unique description from the CD3D9EnumDeviceSettingsCombo - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); - if( !pDeviceSettings ) - return; - - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration(); - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( - pDeviceSettings->d3d9.AdapterOrdinal, pDeviceSettings->d3d9.DeviceType, - pDeviceSettings->d3d9.AdapterFormat, pDeviceSettings->d3d9.pp.BackBufferFormat, - pDeviceSettings->d3d9.pp.Windowed ); - if( pDeviceSettingsCombo ) - { - wcscat_s( pstrDeviceStats, 256, pDeviceSettingsCombo->pAdapterInfo->szUniqueDescription ); - } - else - { - const int cchDesc = sizeof( pAdapterIdentifier->Description ); - WCHAR szDescription[cchDesc]; - MultiByteToWideChar( CP_ACP, 0, pAdapterIdentifier->Description, -1, szDescription, cchDesc ); - szDescription[cchDesc - 1] = 0; - wcscat_s( pstrDeviceStats, 256, szDescription ); - } - } -} - - -//-------------------------------------------------------------------------------------- -// Updates the string which describes the device -//-------------------------------------------------------------------------------------- -void DXUTUpdateD3D11DeviceStats( D3D_DRIVER_TYPE DeviceType, DXGI_ADAPTER_DESC* pAdapterDesc ) +#pragma warning( suppress : 6101 ) +_Use_decl_annotations_ +void DXUTUpdateD3D11DeviceStats( D3D_DRIVER_TYPE DeviceType, D3D_FEATURE_LEVEL featureLevel, DXGI_ADAPTER_DESC* pAdapterDesc ) { - if( GetDXUTState().GetNoStats() ) + if( GetDXUTState().GetNoStats() ) return; // Store device description - WCHAR* pstrDeviceStats = GetDXUTState().GetDeviceStats(); + auto pstrDeviceStats = GetDXUTState().GetDeviceStats(); if( DeviceType == D3D_DRIVER_TYPE_REFERENCE ) wcscpy_s( pstrDeviceStats, 256, L"REFERENCE" ); else if( DeviceType == D3D_DRIVER_TYPE_HARDWARE ) @@ -5423,20 +4179,54 @@ void DXUTUpdateD3D11DeviceStats( D3D_DRIVER_TYPE DeviceType, DXGI_ADAPTER_DESC* wcscat_s( pstrDeviceStats, 256, L": " ); // Try to get a unique description from the CD3D11EnumDeviceSettingsCombo - DXUTDeviceSettings* pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); + auto pDeviceSettings = GetDXUTState().GetCurrentDeviceSettings(); if( !pDeviceSettings ) return; - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - assert( pd3dEnum != NULL ); - CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( - pDeviceSettings->d3d11.AdapterOrdinal, pDeviceSettings->d3d11.DriverType, pDeviceSettings->d3d11.Output, + auto pd3dEnum = DXUTGetD3D11Enumeration(); + assert( pd3dEnum ); + _Analysis_assume_( pd3dEnum ); + auto pDeviceSettingsCombo = pd3dEnum->GetDeviceSettingsCombo( + pDeviceSettings->d3d11.AdapterOrdinal, pDeviceSettings->d3d11.sd.BufferDesc.Format, pDeviceSettings->d3d11.sd.Windowed ); if( pDeviceSettingsCombo ) wcscat_s( pstrDeviceStats, 256, pDeviceSettingsCombo->pAdapterInfo->szUniqueDescription ); else wcscat_s( pstrDeviceStats, 256, pAdapterDesc->Description ); } + + switch( featureLevel ) + { + case D3D_FEATURE_LEVEL_9_1: + wcscat_s( pstrDeviceStats, 256, L" (FL 9.1)" ); + break; + case D3D_FEATURE_LEVEL_9_2: + wcscat_s( pstrDeviceStats, 256, L" (FL 9.2)" ); + break; + case D3D_FEATURE_LEVEL_9_3: + wcscat_s( pstrDeviceStats, 256, L" (FL 9.3)" ); + break; + case D3D_FEATURE_LEVEL_10_0: + wcscat_s( pstrDeviceStats, 256, L" (FL 10.0)" ); + break; + case D3D_FEATURE_LEVEL_10_1: + wcscat_s( pstrDeviceStats, 256, L" (FL 10.1)" ); + break; + case D3D_FEATURE_LEVEL_11_0: + wcscat_s( pstrDeviceStats, 256, L" (FL 11.0)" ); + break; + case D3D_FEATURE_LEVEL_11_1: + wcscat_s( pstrDeviceStats, 256, L" (FL 11.1)" ); + break; +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + case D3D_FEATURE_LEVEL_12_0: + wcscat_s(pstrDeviceStats, 256, L" (FL 12.0)"); + break; + case D3D_FEATURE_LEVEL_12_1: + wcscat_s(pstrDeviceStats, 256, L" (FL 12.1)"); + break; +#endif + } } @@ -5447,45 +4237,24 @@ DXUTDeviceSettings WINAPI DXUTGetDeviceSettings() { // Return a copy of device settings of the current device. If no device exists yet, then // return a blank device settings struct - DXUTDeviceSettings* pDS = GetDXUTState().GetCurrentDeviceSettings(); + auto pDS = GetDXUTState().GetCurrentDeviceSettings(); if( pDS ) { return *pDS; } else { - DXUTDeviceSettings ds; - ZeroMemory( &ds, sizeof( DXUTDeviceSettings ) ); + DXUTDeviceSettings ds = {}; return ds; } } -D3DPRESENT_PARAMETERS WINAPI DXUTGetD3D9PresentParameters() -{ - // Return a copy of the present params of the current device. If no device exists yet, then - // return blank present params - DXUTDeviceSettings* pDS = GetDXUTState().GetCurrentDeviceSettings(); - if( pDS ) - { - return pDS->d3d9.pp; - } - else - { - D3DPRESENT_PARAMETERS pp; - ZeroMemory( &pp, sizeof( D3DPRESENT_PARAMETERS ) ); - return pp; - } -} - bool WINAPI DXUTIsVsyncEnabled() { - DXUTDeviceSettings* pDS = GetDXUTState().GetCurrentDeviceSettings(); + auto pDS = GetDXUTState().GetCurrentDeviceSettings(); if( pDS ) { - if( DXUTIsD3D9( pDS ) ) - return ( pDS->d3d9.pp.PresentationInterval == D3DPRESENT_INTERVAL_IMMEDIATE ); - else - return ( pDS->d3d11.SyncInterval == 0 ); + return ( pDS->d3d11.SyncInterval == 0 ); } else { @@ -5493,15 +4262,7 @@ bool WINAPI DXUTIsVsyncEnabled() } }; -HRESULT WINAPI DXUTGetD3D9DeviceCaps( DXUTDeviceSettings* pDeviceSettings, D3DCAPS9* pCaps ) -{ - IDirect3D9* pD3D = DXUTGetD3D9Object(); - assert( pD3D != NULL ); - return pD3D->GetDeviceCaps( pDeviceSettings->d3d9.AdapterOrdinal, pDeviceSettings->d3d9.DeviceType, pCaps ); -} - - -bool WINAPI DXUTIsKeyDown( BYTE vKey ) +bool WINAPI DXUTIsKeyDown( _In_ BYTE vKey ) { bool* bKeys = GetDXUTState().GetKeys(); if( vKey >= 0xA0 && vKey <= 0xA5 ) // VK_LSHIFT, VK_RSHIFT, VK_LCONTROL, VK_RCONTROL, VK_LMENU, VK_RMENU @@ -5512,7 +4273,7 @@ bool WINAPI DXUTIsKeyDown( BYTE vKey ) return bKeys[vKey]; } -bool WINAPI DXUTWasKeyPressed( BYTE vKey ) +bool WINAPI DXUTWasKeyPressed( _In_ BYTE vKey ) { bool* bLastKeys = GetDXUTState().GetLastKeys(); bool* bKeys = GetDXUTState().GetKeys(); @@ -5520,18 +4281,19 @@ bool WINAPI DXUTWasKeyPressed( BYTE vKey ) return ( !bLastKeys[vKey] && bKeys[vKey] ); } -bool WINAPI DXUTIsMouseButtonDown( BYTE vButton ) +bool WINAPI DXUTIsMouseButtonDown( _In_ BYTE vButton ) { bool* bMouseButtons = GetDXUTState().GetMouseButtons(); int nIndex = DXUTMapButtonToArrayIndex( vButton ); return bMouseButtons[nIndex]; } -void WINAPI DXUTSetMultimonSettings( bool bAutoChangeAdapter ) +void WINAPI DXUTSetMultimonSettings( _In_ bool bAutoChangeAdapter ) { GetDXUTState().SetAutoChangeAdapter( bAutoChangeAdapter ); } +_Use_decl_annotations_ void WINAPI DXUTSetHotkeyHandling( bool bAltEnterToToggleFullscreen, bool bEscapeToQuit, bool bPauseToToggleTimePause ) { GetDXUTState().SetHandleEscape( bEscapeToQuit ); @@ -5539,6 +4301,7 @@ void WINAPI DXUTSetHotkeyHandling( bool bAltEnterToToggleFullscreen, bool bEscap GetDXUTState().SetHandlePause( bPauseToToggleTimePause ); } +_Use_decl_annotations_ void WINAPI DXUTSetCursorSettings( bool bShowCursorWhenFullScreen, bool bClipCursorWhenFullScreen ) { GetDXUTState().SetClipCursorWhenFullScreen( bClipCursorWhenFullScreen ); @@ -5546,11 +4309,12 @@ void WINAPI DXUTSetCursorSettings( bool bShowCursorWhenFullScreen, bool bClipCur DXUTSetupCursor(); } -void WINAPI DXUTSetWindowSettings( bool bCallDefWindowProc ) +void WINAPI DXUTSetWindowSettings( _In_ bool bCallDefWindowProc ) { GetDXUTState().SetCallDefWindowProc( bCallDefWindowProc ); } +_Use_decl_annotations_ void WINAPI DXUTSetConstantFrameTime( bool bEnabled, float fTimePerFrame ) { if( GetDXUTState().GetOverrideConstantFrameTime() ) @@ -5576,10 +4340,10 @@ void WINAPI DXUTResetFrameworkState() //-------------------------------------------------------------------------------------- // Closes down the window. When the window closes, it will cleanup everything //-------------------------------------------------------------------------------------- -void WINAPI DXUTShutdown( int nExitCode ) +void WINAPI DXUTShutdown( _In_ int nExitCode ) { HWND hWnd = DXUTGetHWND(); - if( hWnd != NULL ) + if( hWnd ) SendMessage( hWnd, WM_CLOSE, 0, 0 ); GetDXUTState().SetExitCode( nExitCode ); @@ -5596,40 +4360,32 @@ void WINAPI DXUTShutdown( int nExitCode ) // restored when the crashed app is run again. DXUTAllowShortcutKeys( true ); - // Shutdown D3D9 - IDirect3D9* pD3D = GetDXUTState().GetD3D9(); - SAFE_RELEASE( pD3D ); - GetDXUTState().SetD3D9( NULL ); - // Shutdown D3D11 - IDXGIFactory1* pDXGIFactory = GetDXUTState().GetDXGIFactory(); + auto pDXGIFactory = GetDXUTState().GetDXGIFactory(); SAFE_RELEASE( pDXGIFactory ); - GetDXUTState().SetDXGIFactory( NULL ); - - if( GetDXUTState().GetOverrideRelaunchMCE() ) - DXUTReLaunchMediaCenter(); + GetDXUTState().SetDXGIFactory( nullptr ); } + //-------------------------------------------------------------------------------------- // Tells DXUT whether to operate in gamma correct mode //-------------------------------------------------------------------------------------- -void WINAPI DXUTSetIsInGammaCorrectMode( bool bGammaCorrect ) +void WINAPI DXUTSetIsInGammaCorrectMode( _In_ bool bGammaCorrect ) { GetDXUTState().SetIsInGammaCorrectMode( bGammaCorrect ); } -void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings) { +//-------------------------------------------------------------------------------------- +void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings) +{ ZeroMemory( modifySettings, sizeof( DXUTDeviceSettings ) ); - - modifySettings->ver = DXUT_D3D11_DEVICE; modifySettings->d3d11.AdapterOrdinal = 0; modifySettings->d3d11.AutoCreateDepthStencil = true; modifySettings->d3d11.AutoDepthStencilFormat = DXGI_FORMAT_D24_UNORM_S8_UINT; #if defined(DEBUG) || defined(_DEBUG) - modifySettings->d3d11.CreateFlags |= D3D10_CREATE_DEVICE_DEBUG; - modifySettings->d3d11.CreateFlags = 0; //by simanies: this is a bug on my machine and does not allow to create D3D Devices with debug + modifySettings->d3d11.CreateFlags |= D3D11_CREATE_DEVICE_DEBUG; #else modifySettings->d3d11.CreateFlags = 0; #endif @@ -5638,224 +4394,123 @@ void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings) { modifySettings->d3d11.PresentFlags = 0; modifySettings->d3d11.sd.BufferCount = 2; modifySettings->d3d11.sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; - modifySettings->d3d11.sd.BufferDesc.Height = 480; - modifySettings->d3d11.sd.BufferDesc.RefreshRate.Numerator = 60; - modifySettings->d3d11.sd.BufferDesc.RefreshRate.Denominator = 1; + modifySettings->d3d11.sd.BufferDesc.Height = 600; + modifySettings->d3d11.sd.BufferDesc.RefreshRate.Numerator = 0; + modifySettings->d3d11.sd.BufferDesc.RefreshRate.Denominator = 0; modifySettings->d3d11.sd.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED; modifySettings->d3d11.sd.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED; - modifySettings->d3d11.sd.BufferDesc.Width = 640; + modifySettings->d3d11.sd.BufferDesc.Width = 800; modifySettings->d3d11.sd.BufferUsage = 32; modifySettings->d3d11.sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH ; modifySettings->d3d11.sd.OutputWindow = DXUTGetHWND(); modifySettings->d3d11.sd.SampleDesc.Count = 1; modifySettings->d3d11.sd.SampleDesc.Quality = 0; modifySettings->d3d11.sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; - modifySettings->d3d11.sd.Windowed = 1; + modifySettings->d3d11.sd.Windowed = TRUE; modifySettings->d3d11.SyncInterval = 0; - - modifySettings->d3d9.AdapterFormat = D3DFMT_X8R8G8B8; - modifySettings->d3d9.AdapterOrdinal = 0; - modifySettings->d3d9.BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING; - modifySettings->d3d9.DeviceType = D3DDEVTYPE_HAL; - modifySettings->d3d9.pp.AutoDepthStencilFormat = D3DFMT_D24X8; - modifySettings->d3d9.pp.BackBufferCount = 1; - modifySettings->d3d9.pp.BackBufferFormat = D3DFMT_X8R8G8B8; - modifySettings->d3d9.pp.BackBufferHeight = 480; - modifySettings->d3d9.pp.BackBufferWidth = 640; - modifySettings->d3d9.pp.EnableAutoDepthStencil = 1; - modifySettings->d3d9.pp.Flags = 2; - modifySettings->d3d9.pp.FullScreen_RefreshRateInHz = 0; - modifySettings->d3d9.pp.hDeviceWindow = DXUTGetHWND(); - modifySettings->d3d9.pp.MultiSampleQuality = 0; - modifySettings->d3d9.pp.MultiSampleType = D3DMULTISAMPLE_NONE; - modifySettings->d3d9.pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; - modifySettings->d3d9.pp.SwapEffect = D3DSWAPEFFECT_DISCARD; - modifySettings->d3d9.pp.Windowed = 1; } - //-------------------------------------------------------------------------------------- // Update settings based on what is enumeratabled //-------------------------------------------------------------------------------------- -HRESULT DXUTSnapDeviceSettingsToEnumDevice( DXUTDeviceSettings* pDeviceSettings, bool forceEnum, D3D_FEATURE_LEVEL forceFL ) { - bool bAppSupportsD3D9 = DXUTDoesAppSupportD3D9(); - bool bAppSupportsD3D11 = DXUTDoesAppSupportD3D11(); - - if( GetSystemMetrics(0x1000) != 0 ) {// SM_REMOTESESSION - pDeviceSettings->d3d11.sd.Windowed = 1; - pDeviceSettings->d3d9.pp.Windowed = 1; +_Use_decl_annotations_ +HRESULT DXUTSnapDeviceSettingsToEnumDevice( DXUTDeviceSettings* pDeviceSettings, bool forceEnum, D3D_FEATURE_LEVEL forceFL ) +{ + if( GetSystemMetrics(SM_REMOTESESSION) != 0 ) + { + pDeviceSettings->d3d11.sd.Windowed = TRUE; } int bestModeIndex=0; int bestMSAAIndex=0; - //DXUTSetDefaultDeviceSettings - if (bAppSupportsD3D11 && pDeviceSettings->ver == DXUT_D3D11_DEVICE ) { - CD3D11Enumeration *pEnum = NULL; - - - pEnum = DXUTGetD3D11Enumeration( forceEnum, false, forceFL); + CD3D11Enumeration *pEnum = DXUTGetD3D11Enumeration( forceEnum, true, forceFL); - CD3D11EnumAdapterInfo* pAdapterInfo = NULL; - CGrowableArray * pAdapterList = pEnum->GetAdapterInfoList(); - CD3D11EnumAdapterInfo* tempAdapterInfo = pAdapterList->GetAt( 0 ); - for( int iAdapter = 0; iAdapter < pAdapterList->GetSize(); iAdapter++ ) + CD3D11EnumAdapterInfo* pAdapterInfo = nullptr; + auto pAdapterList = pEnum->GetAdapterInfoList(); + for( auto it = pAdapterList->cbegin(); it != pAdapterList->cend(); ++it ) + { + auto tempAdapterInfo = *it; + if (tempAdapterInfo->AdapterOrdinal == pDeviceSettings->d3d11.AdapterOrdinal) pAdapterInfo = tempAdapterInfo; + } + if ( !pAdapterInfo ) + { + if ( pAdapterList->empty() || pDeviceSettings->d3d11.AdapterOrdinal > 0 ) { - tempAdapterInfo = pAdapterList->GetAt( iAdapter ); - if (tempAdapterInfo->AdapterOrdinal == pDeviceSettings->d3d11.AdapterOrdinal) pAdapterInfo = tempAdapterInfo; + return E_FAIL; // no adapters found. } - if (pAdapterInfo == NULL) return E_FAIL; // no adapters found. - CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = NULL; - float biggestScore = 0; + pAdapterInfo = *pAdapterList->cbegin(); + } + CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = nullptr; + float biggestScore = 0; - int combo = 0; - for( int iDeviceCombo = 0; iDeviceCombo < pAdapterInfo->deviceSettingsComboList.GetSize(); iDeviceCombo++ ) - { - CD3D11EnumDeviceSettingsCombo* tempDeviceSettingsCombo = pAdapterInfo->deviceSettingsComboList.GetAt( iDeviceCombo ); + for( size_t iDeviceCombo = 0; iDeviceCombo < pAdapterInfo->deviceSettingsComboList.size(); iDeviceCombo++ ) + { + CD3D11EnumDeviceSettingsCombo* tempDeviceSettingsCombo = pAdapterInfo->deviceSettingsComboList[ iDeviceCombo ]; - DXGI_MODE_DESC adapterDisplayMode; - DXUTGetD3D11AdapterDisplayMode( pAdapterInfo->AdapterOrdinal, 0, &adapterDisplayMode ); - - int bestMode; - int bestMSAA; - float score = DXUTRankD3D11DeviceCombo(tempDeviceSettingsCombo, &(pDeviceSettings->d3d11), &adapterDisplayMode, bestMode, bestMSAA ); - if (score > biggestScore) { - combo = iDeviceCombo; - biggestScore = score; - pDeviceSettingsCombo = tempDeviceSettingsCombo; - bestModeIndex = bestMode; - bestMSAAIndex = bestMSAA; - } - - } - if (NULL == pDeviceSettingsCombo ) { - return E_FAIL; // no settigns found. + int bestMode; + int bestMSAA; + float score = DXUTRankD3D11DeviceCombo(tempDeviceSettingsCombo, &(pDeviceSettings->d3d11), bestMode, bestMSAA ); + if (score > biggestScore) + { + biggestScore = score; + pDeviceSettingsCombo = tempDeviceSettingsCombo; + bestModeIndex = bestMode; + bestMSAAIndex = bestMSAA; } + } + if (!pDeviceSettingsCombo ) + { + return E_FAIL; // no settings found. + } - pDeviceSettings->d3d11.AdapterOrdinal = pDeviceSettingsCombo->AdapterOrdinal; - pDeviceSettings->d3d11.DriverType = pDeviceSettingsCombo->DeviceType; - pDeviceSettings->d3d11.Output = pDeviceSettingsCombo->Output; + pDeviceSettings->d3d11.AdapterOrdinal = pDeviceSettingsCombo->AdapterOrdinal; + pDeviceSettings->d3d11.DriverType = pDeviceSettingsCombo->DeviceType; + pDeviceSettings->d3d11.Output = pDeviceSettingsCombo->Output; - pDeviceSettings->d3d11.sd.Windowed = pDeviceSettingsCombo->Windowed; - if( GetSystemMetrics(0x1000) != 0 ) {// SM_REMOTESESSION - pDeviceSettings->d3d11.sd.Windowed = 1; - } - if (pDeviceSettingsCombo->pOutputInfo != NULL) { - DXGI_MODE_DESC bestDisplayMode; - bestDisplayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList.GetAt(bestModeIndex); - if (!pDeviceSettingsCombo->Windowed) { - - pDeviceSettings->d3d11.sd.BufferDesc.Height = bestDisplayMode.Height; - pDeviceSettings->d3d11.sd.BufferDesc.Width = bestDisplayMode.Width; - pDeviceSettings->d3d11.sd.BufferDesc.RefreshRate.Numerator = bestDisplayMode.RefreshRate.Numerator; - pDeviceSettings->d3d11.sd.BufferDesc.RefreshRate.Denominator = bestDisplayMode.RefreshRate.Denominator; - pDeviceSettings->d3d11.sd.BufferDesc.Scaling = bestDisplayMode.Scaling; - pDeviceSettings->d3d11.sd.BufferDesc.ScanlineOrdering = bestDisplayMode.ScanlineOrdering; - } + pDeviceSettings->d3d11.sd.Windowed = pDeviceSettingsCombo->Windowed; + if( GetSystemMetrics(SM_REMOTESESSION) != 0 ) + { + pDeviceSettings->d3d11.sd.Windowed = TRUE; + } + if (pDeviceSettingsCombo->pOutputInfo) + { + auto bestDisplayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList[ bestModeIndex ]; + if (!pDeviceSettingsCombo->Windowed) + { + pDeviceSettings->d3d11.sd.BufferDesc.Height = bestDisplayMode.Height; + pDeviceSettings->d3d11.sd.BufferDesc.Width = bestDisplayMode.Width; + pDeviceSettings->d3d11.sd.BufferDesc.RefreshRate.Numerator = bestDisplayMode.RefreshRate.Numerator; + pDeviceSettings->d3d11.sd.BufferDesc.RefreshRate.Denominator = bestDisplayMode.RefreshRate.Denominator; + pDeviceSettings->d3d11.sd.BufferDesc.Scaling = bestDisplayMode.Scaling; + pDeviceSettings->d3d11.sd.BufferDesc.ScanlineOrdering = bestDisplayMode.ScanlineOrdering; } - if (pDeviceSettings->d3d11.DeviceFeatureLevel == 0) - pDeviceSettings->d3d11.DeviceFeatureLevel = pDeviceSettingsCombo->pDeviceInfo->SelectedLevel; - - - - - pDeviceSettings->d3d11.sd.SampleDesc.Count = pDeviceSettingsCombo->multiSampleCountList.GetAt(bestMSAAIndex); - if (pDeviceSettings->d3d11.sd.SampleDesc.Quality > pDeviceSettingsCombo->multiSampleQualityList.GetAt(bestMSAAIndex) - 1) - pDeviceSettings->d3d11.sd.SampleDesc.Quality = pDeviceSettingsCombo->multiSampleQualityList.GetAt(bestMSAAIndex) - 1; - - pDeviceSettings->d3d11.sd.BufferDesc.Format = pDeviceSettingsCombo->BackBufferFormat; - - return S_OK; } - // didn't find a D3D11 adapter. - if (bAppSupportsD3D9) { - // Find the best combination of: - // Adapter Ordinal - // Device Type - // Adapter Format - // Back Buffer Format - // Windowed - // given what's available on the system and the match options combined with the device settings input. - // This combination of settings is encapsulated by the CD3D9EnumDeviceSettingsCombo class. - float fBestRanking = -1.0f; - CD3D9EnumDeviceSettingsCombo* pBestDeviceSettingsCombo = NULL; - D3DDISPLAYMODE adapterDesktopDisplayMode; - - IDirect3D9* pD3D = DXUTGetD3D9Object(); - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration( forceEnum ); - CGrowableArray * pAdapterList = pd3dEnum->GetAdapterInfoList(); - for( int iAdapter = 0; iAdapter < pAdapterList->GetSize(); iAdapter++ ) - { - CD3D9EnumAdapterInfo* pAdapterInfo = pAdapterList->GetAt( iAdapter ); - - // Get the desktop display mode of adapter - pD3D->GetAdapterDisplayMode( pAdapterInfo->AdapterOrdinal, &adapterDesktopDisplayMode ); - - // Enum all the device types supported by this adapter to find the best device settings - for( int iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.GetSize(); iDeviceInfo++ ) - { - CD3D9EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( iDeviceInfo ); + if (pDeviceSettings->d3d11.DeviceFeatureLevel == 0) + pDeviceSettings->d3d11.DeviceFeatureLevel = pDeviceSettingsCombo->pDeviceInfo->SelectedLevel; - // Enum all the device settings combinations. A device settings combination is - // a unique set of an adapter format, back buffer format, and IsWindowed. - for( int iDeviceCombo = 0; iDeviceCombo < pDeviceInfo->deviceSettingsComboList.GetSize(); iDeviceCombo++ ) - { - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt( - iDeviceCombo ); - - // If windowed mode the adapter format has to be the same as the desktop - // display mode format so skip any that don't match - if( pDeviceSettingsCombo->Windowed && - ( pDeviceSettingsCombo->AdapterFormat != adapterDesktopDisplayMode.Format ) ) - continue; + if ( pDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + { + D3D_FEATURE_LEVEL maxWarpFL = pEnum->GetWARPFeaturevel(); - // Skip any combo that doesn't meet the preserve match options - int bestMode; - int bestMSAA; + if ( pDeviceSettings->d3d11.DeviceFeatureLevel > maxWarpFL ) + pDeviceSettings->d3d11.DeviceFeatureLevel = maxWarpFL; + } - // Get a ranking number that describes how closely this device combo matches the optimal combo - float fCurRanking = DXUTRankD3D9DeviceCombo( pDeviceSettingsCombo, - &(pDeviceSettings->d3d9), &adapterDesktopDisplayMode, bestMode, bestMSAA ); + if ( pDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) + { + D3D_FEATURE_LEVEL maxRefFL = pEnum->GetREFFeaturevel(); - // If this combo better matches the input device settings then save it - if( fCurRanking > fBestRanking ) - { - pBestDeviceSettingsCombo = pDeviceSettingsCombo; - fBestRanking = fCurRanking; - bestModeIndex = bestMode; - bestMSAAIndex = bestMSAA; - } - } - } - } + if ( pDeviceSettings->d3d11.DeviceFeatureLevel > maxRefFL ) + pDeviceSettings->d3d11.DeviceFeatureLevel = maxRefFL; + } - // If no best device combination was found then fail - if( pBestDeviceSettingsCombo == NULL ) - return DXUTERR_NOCOMPATIBLEDEVICES; - - // Using the best device settings combo found, build valid device settings taking heed of - // the match options and the input device settings - pDeviceSettings->d3d9.AdapterFormat = pBestDeviceSettingsCombo->AdapterFormat;//D3DFMT_X8R8G8B8; - pDeviceSettings->d3d9.AdapterOrdinal = pBestDeviceSettingsCombo->AdapterOrdinal ;//0; - pDeviceSettings->d3d9.DeviceType = pBestDeviceSettingsCombo->DeviceType; - pDeviceSettings->d3d9.pp.BackBufferFormat = pBestDeviceSettingsCombo->BackBufferFormat;//D3DFMT_X8R8G8B8; - if( GetSystemMetrics(0x1000) != 0 ) {// SM_REMOTESESSION - pDeviceSettings->d3d9.pp.Windowed = 1; - } - if (!pBestDeviceSettingsCombo->Windowed) { - D3DDISPLAYMODE displayMode = pBestDeviceSettingsCombo->pAdapterInfo->displayModeList.GetAt( bestModeIndex ); - pDeviceSettings->d3d9.pp.BackBufferHeight = displayMode.Height; - pDeviceSettings->d3d9.pp.BackBufferWidth = displayMode.Width; - pDeviceSettings->d3d9.pp.FullScreen_RefreshRateInHz = displayMode.RefreshRate; - } - pDeviceSettings->d3d9.pp.hDeviceWindow = pBestDeviceSettingsCombo->Windowed ? DXUTGetHWNDDeviceWindowed() : DXUTGetHWNDDeviceFullScreen(); - if (pDeviceSettings->d3d9.pp.MultiSampleQuality > pBestDeviceSettingsCombo->multiSampleQualityList.GetAt(bestMSAAIndex) - 1) - pDeviceSettings->d3d9.pp.MultiSampleQuality = pBestDeviceSettingsCombo->multiSampleQualityList.GetAt( bestMSAAIndex )-1; + pDeviceSettings->d3d11.sd.SampleDesc.Count = pDeviceSettingsCombo->multiSampleCountList[ bestMSAAIndex ]; + if (pDeviceSettings->d3d11.sd.SampleDesc.Quality > pDeviceSettingsCombo->multiSampleQualityList[ bestMSAAIndex ] - 1) + pDeviceSettings->d3d11.sd.SampleDesc.Quality = pDeviceSettingsCombo->multiSampleQualityList[ bestMSAAIndex ] - 1; - pDeviceSettings->d3d9.pp.MultiSampleType = pBestDeviceSettingsCombo->multiSampleTypeList.GetAt( bestMSAAIndex );; - pDeviceSettings->d3d9.pp.Windowed = pBestDeviceSettingsCombo->Windowed; - return S_OK; - } - return E_FAIL; + pDeviceSettings->d3d11.sd.BufferDesc.Format = pDeviceSettingsCombo->BackBufferFormat; + + return S_OK; } diff --git a/FriedLiver/Source/DXUT/Core/DXUT.h b/FriedLiver/Source/DXUT/Core/DXUT.h index 7e915c38..c70fd47a 100644 --- a/FriedLiver/Source/DXUT/Core/DXUT.h +++ b/FriedLiver/Source/DXUT/Core/DXUT.h @@ -2,69 +2,58 @@ // File: DXUT.h // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_H -#define DXUT_H #ifndef UNICODE #error "DXUT requires a Unicode build." #endif -#include "dxsdkver.h" -#if ( _DXSDK_PRODUCT_MAJOR < 9 || _DXSDK_BUILD_MAJOR < 1949 ) -#error The installed DXSDK is out of date. -#endif - #ifndef STRICT #define STRICT #endif -// If app hasn't choosen, set to work with Windows XP and beyond +// If app hasn't choosen, set to work with Windows Vista and beyond #ifndef WINVER -#define WINVER 0x0501 +#define WINVER 0x0600 #endif #ifndef _WIN32_WINDOWS -#define _WIN32_WINDOWS 0x0501 +#define _WIN32_WINDOWS 0x0600 #endif #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0600 #endif +#if defined(USE_DIRECT3D11_4) && !defined(USE_DIRECT3D11_3) +#define USE_DIRECT3D11_3 +#endif + +#if (_WIN32_WINNT >= 0x0A00) && !defined(USE_DIRECT3D11_3) +#define USE_DIRECT3D11_3 +#endif + // #define DXUT_AUTOLIB to automatically include the libs needed for DXUT #ifdef DXUT_AUTOLIB -#pragma comment( lib, "dxerr.lib" ) +#pragma comment( lib, "comctl32.lib" ) #pragma comment( lib, "dxguid.lib" ) -#pragma comment( lib, "d3d9.lib" ) -#if defined(DEBUG) || defined(_DEBUG) -#pragma comment( lib, "d3dx9d.lib" ) -#pragma comment( lib, "d3dx11d.lib" ) -#else -#pragma comment( lib, "d3dx9.lib" ) -#pragma comment( lib, "d3dx11.lib" ) -#endif #pragma comment( lib, "d3dcompiler.lib" ) -#pragma comment( lib, "winmm.lib" ) -#pragma comment( lib, "comctl32.lib" ) +#pragma comment( lib, "ole32.lib" ) +#pragma comment( lib, "uuid.lib" ) #endif -#pragma warning( disable : 4100 ) // disable unreference formal parameter warnings for /W4 builds +#pragma warning( disable : 4481 ) -// Enable extra D3D debugging in debug builds if using the debug DirectX runtime. -// This makes D3D objects work well in the debugger watch window, but slows down -// performance slightly. -#if defined(DEBUG) || defined(_DEBUG) -#ifndef D3D_DEBUG_INFO -#define D3D_DEBUG_INFO -#endif +// Standard Windows includes +#if !defined(NOMINMAX) +#define NOMINMAX #endif -// Standard Windows includes #include #include #include -#include -#include #include // for InitCommonControls() #include // for ExtractIcon() #include // for placement new @@ -78,23 +67,38 @@ #include #endif -// Direct3D9 includes -#include -#include - // Direct3D11 includes #include #include -#include +#include +#include #include -#include + +#ifdef USE_DIRECT3D11_3 +#include +#endif + +#ifdef USE_DIRECT3D11_4 +#include +#endif + +// DirectXMath includes +#include +#include + +// WIC includes +#include // XInput includes #include // HRESULT translation for Direct3D and other APIs -#include +#include "dxerr.h" +// STL includes +#include +#include +#include #if defined(DEBUG) || defined(_DEBUG) #ifndef V @@ -113,29 +117,25 @@ #endif #ifndef SAFE_DELETE -#define SAFE_DELETE(p) { if (p) { delete (p); (p)=NULL; } } +#define SAFE_DELETE(p) { if (p) { delete (p); (p) = nullptr; } } #endif #ifndef SAFE_DELETE_ARRAY -#define SAFE_DELETE_ARRAY(p) { if (p) { delete[] (p); (p)=NULL; } } +#define SAFE_DELETE_ARRAY(p) { if (p) { delete[] (p); (p) = nullptr; } } #endif #ifndef SAFE_RELEASE -#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } } +#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p) = nullptr; } } #endif +#ifndef D3DCOLOR_ARGB +#define D3DCOLOR_ARGB(a,r,g,b) \ + ((DWORD)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff))) +#endif +#define DXUT_VERSION 1122 //-------------------------------------------------------------------------------------- // Structs //-------------------------------------------------------------------------------------- -struct DXUTD3D9DeviceSettings -{ - UINT AdapterOrdinal; - D3DDEVTYPE DeviceType; - D3DFORMAT AdapterFormat; - DWORD BehaviorFlags; - D3DPRESENT_PARAMETERS pp; -}; - struct DXUTD3D11DeviceSettings { UINT AdapterOrdinal; @@ -150,18 +150,10 @@ struct DXUTD3D11DeviceSettings D3D_FEATURE_LEVEL DeviceFeatureLevel; }; -enum DXUTDeviceVersion -{ - DXUT_D3D9_DEVICE, - DXUT_D3D11_DEVICE -}; - struct DXUTDeviceSettings { - DXUTDeviceVersion ver; D3D_FEATURE_LEVEL MinimumFeatureLevel; - DXUTD3D9DeviceSettings d3d9; // only valid if ver == DXUT_D3D9_DEVICE - DXUTD3D11DeviceSettings d3d11; // only valid if ver == DXUT_D3D11_DEVICE + DXUTD3D11DeviceSettings d3d11; }; @@ -177,86 +169,75 @@ struct DXUTDeviceSettings #define DXUTERR_CREATINGDEVICEOBJECTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0907) #define DXUTERR_RESETTINGDEVICEOBJECTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0908) #define DXUTERR_DEVICEREMOVED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x090A) -#define DXUTERR_NODIRECT3D11 MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x090) + //-------------------------------------------------------------------------------------- // Callback registration //-------------------------------------------------------------------------------------- // General callbacks -typedef void (CALLBACK *LPDXUTCALLBACKFRAMEMOVE)( double fTime, float fElapsedTime, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKKEYBOARD)( UINT nChar, bool bKeyDown, bool bAltDown, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKMOUSE)( bool bLeftButtonDown, bool bRightButtonDown, bool bMiddleButtonDown, bool bSideButton1Down, bool bSideButton2Down, int nMouseWheelDelta, int xPos, int yPos, void* pUserContext ); -typedef LRESULT (CALLBACK *LPDXUTCALLBACKMSGPROC)( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool* pbNoFurtherProcessing, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKTIMER)( UINT idEvent, void* pUserContext ); -typedef bool (CALLBACK *LPDXUTCALLBACKMODIFYDEVICESETTINGS)( DXUTDeviceSettings* pDeviceSettings, void* pUserContext ); -typedef bool (CALLBACK *LPDXUTCALLBACKDEVICEREMOVED)( void* pUserContext ); - -// Direct3D 9 callbacks -typedef bool (CALLBACK *LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE)( D3DCAPS9* pCaps, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, bool bWindowed, void* pUserContext ); -typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D9DEVICECREATED)( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); -typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D9DEVICERESET)( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D9FRAMERENDER)( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D9DEVICELOST)( void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D9DEVICEDESTROYED)( void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKFRAMEMOVE)( _In_ double fTime, _In_ float fElapsedTime, _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKKEYBOARD)( _In_ UINT nChar, _In_ bool bKeyDown, _In_ bool bAltDown, _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKMOUSE)( _In_ bool bLeftButtonDown, _In_ bool bRightButtonDown, _In_ bool bMiddleButtonDown, + _In_ bool bSideButton1Down, _In_ bool bSideButton2Down, _In_ int nMouseWheelDelta, + _In_ int xPos, _In_ int yPos, _In_opt_ void* pUserContext ); +typedef LRESULT (CALLBACK *LPDXUTCALLBACKMSGPROC)( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam, + _Out_ bool* pbNoFurtherProcessing, _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKTIMER)( _In_ UINT idEvent, _In_opt_ void* pUserContext ); +typedef bool (CALLBACK *LPDXUTCALLBACKMODIFYDEVICESETTINGS)( _In_ DXUTDeviceSettings* pDeviceSettings, _In_opt_ void* pUserContext ); +typedef bool (CALLBACK *LPDXUTCALLBACKDEVICEREMOVED)( _In_opt_ void* pUserContext ); class CD3D11EnumAdapterInfo; class CD3D11EnumDeviceInfo; + // Direct3D 11 callbacks -typedef bool (CALLBACK *LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE)( const CD3D11EnumAdapterInfo *AdapterInfo, UINT Output, const CD3D11EnumDeviceInfo *DeviceInfo, DXGI_FORMAT BackBufferFormat, bool bWindowed, void* pUserContext ); -typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D11DEVICECREATED)( ID3D11Device* pd3dDevice, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); -typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D11SWAPCHAINRESIZED)( ID3D11Device* pd3dDevice, IDXGISwapChain *pSwapChain, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D11FRAMERENDER)( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext, double fTime, float fElapsedTime, void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D11SWAPCHAINRELEASING)( void* pUserContext ); -typedef void (CALLBACK *LPDXUTCALLBACKD3D11DEVICEDESTROYED)( void* pUserContext ); +typedef bool (CALLBACK *LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE)( _In_ const CD3D11EnumAdapterInfo *AdapterInfo, _In_ UINT Output, _In_ const CD3D11EnumDeviceInfo *DeviceInfo, + _In_ DXGI_FORMAT BackBufferFormat, _In_ bool bWindowed, _In_opt_ void* pUserContext ); +typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D11DEVICECREATED)( _In_ ID3D11Device* pd3dDevice, _In_ const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, _In_opt_ void* pUserContext ); +typedef HRESULT (CALLBACK *LPDXUTCALLBACKD3D11SWAPCHAINRESIZED)( _In_ ID3D11Device* pd3dDevice, _In_ IDXGISwapChain *pSwapChain, _In_ const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKD3D11FRAMERENDER)( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3dImmediateContext, _In_ double fTime, _In_ float fElapsedTime, _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKD3D11SWAPCHAINRELEASING)( _In_opt_ void* pUserContext ); +typedef void (CALLBACK *LPDXUTCALLBACKD3D11DEVICEDESTROYED)( _In_opt_ void* pUserContext ); // General callbacks -void WINAPI DXUTSetCallbackFrameMove( LPDXUTCALLBACKFRAMEMOVE pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackKeyboard( LPDXUTCALLBACKKEYBOARD pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackMouse( LPDXUTCALLBACKMOUSE pCallback, bool bIncludeMouseMove = false, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackMsgProc( LPDXUTCALLBACKMSGPROC pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackDeviceChanging( LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackDeviceRemoved( LPDXUTCALLBACKDEVICEREMOVED pCallback, void* pUserContext = NULL ); - -// Direct3D 9 callbacks -void WINAPI DXUTSetCallbackD3D9DeviceAcceptable( LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D9DeviceCreated( LPDXUTCALLBACKD3D9DEVICECREATED pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D9DeviceReset( LPDXUTCALLBACKD3D9DEVICERESET pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D9FrameRender( LPDXUTCALLBACKD3D9FRAMERENDER pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D9DeviceLost( LPDXUTCALLBACKD3D9DEVICELOST pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D9DeviceDestroyed( LPDXUTCALLBACKD3D9DEVICEDESTROYED pCallback, void* pUserContext = NULL ); +void WINAPI DXUTSetCallbackFrameMove( _In_ LPDXUTCALLBACKFRAMEMOVE pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackKeyboard( _In_ LPDXUTCALLBACKKEYBOARD pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackMouse( _In_ LPDXUTCALLBACKMOUSE pCallback, bool bIncludeMouseMove = false, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackMsgProc( _In_ LPDXUTCALLBACKMSGPROC pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackDeviceChanging( _In_ LPDXUTCALLBACKMODIFYDEVICESETTINGS pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackDeviceRemoved( _In_ LPDXUTCALLBACKDEVICEREMOVED pCallback, _In_opt_ void* pUserContext = nullptr ); // Direct3D 11 callbacks -void WINAPI DXUTSetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D11DeviceCreated( LPDXUTCALLBACKD3D11DEVICECREATED pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D11SwapChainResized( LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D11FrameRender( LPDXUTCALLBACKD3D11FRAMERENDER pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D11SwapChainReleasing( LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallback, void* pUserContext = NULL ); -void WINAPI DXUTSetCallbackD3D11DeviceDestroyed( LPDXUTCALLBACKD3D11DEVICEDESTROYED pCallback, void* pUserContext = NULL ); +void WINAPI DXUTSetCallbackD3D11DeviceAcceptable( _In_ LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackD3D11DeviceCreated( _In_ LPDXUTCALLBACKD3D11DEVICECREATED pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackD3D11SwapChainResized( _In_ LPDXUTCALLBACKD3D11SWAPCHAINRESIZED pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackD3D11FrameRender( _In_ LPDXUTCALLBACKD3D11FRAMERENDER pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackD3D11SwapChainReleasing( _In_ LPDXUTCALLBACKD3D11SWAPCHAINRELEASING pCallback, _In_opt_ void* pUserContext = nullptr ); +void WINAPI DXUTSetCallbackD3D11DeviceDestroyed( _In_ LPDXUTCALLBACKD3D11DEVICEDESTROYED pCallback, _In_opt_ void* pUserContext = nullptr ); //-------------------------------------------------------------------------------------- // Initialization //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTInit( bool bParseCommandLine = true, - bool bShowMsgBoxOnError = true, - __in_opt WCHAR* strExtraCommandLineParams = NULL, - bool bThreadSafeDXUT = false ); +HRESULT WINAPI DXUTInit( _In_ bool bParseCommandLine = true, + _In_ bool bShowMsgBoxOnError = true, + _In_opt_ WCHAR* strExtraCommandLineParams = nullptr, + _In_ bool bThreadSafeDXUT = false ); // Choose either DXUTCreateWindow or DXUTSetWindow. If using DXUTSetWindow, consider using DXUTStaticWndProc -HRESULT WINAPI DXUTCreateWindow( unsigned int defaultWidth, unsigned int defaultHeight, const WCHAR* strWindowTitle = L"Direct3D Window", bool allowWindowResize = true, HINSTANCE hInstance = NULL, HICON hIcon = NULL, HMENU hMenu = NULL, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT); -HRESULT WINAPI DXUTSetWindow( HWND hWndFocus, HWND hWndDeviceFullScreen, HWND hWndDeviceWindowed, bool bHandleMessages = true ); -LRESULT CALLBACK DXUTStaticWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); +HRESULT WINAPI DXUTCreateWindow( _In_z_ const WCHAR* strWindowTitle = L"Direct3D Window", + _In_opt_ HINSTANCE hInstance = nullptr, _In_opt_ HICON hIcon = nullptr, _In_opt_ HMENU hMenu = nullptr, + _In_ int x = CW_USEDEFAULT, _In_ int y = CW_USEDEFAULT ); +HRESULT WINAPI DXUTSetWindow( _In_ HWND hWndFocus, _In_ HWND hWndDeviceFullScreen, _In_ HWND hWndDeviceWindowed, _In_ bool bHandleMessages = true ); +LRESULT CALLBACK DXUTStaticWndProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); -// Choose either DXUTCreateDevice or DXUTSetD3D*Device or DXUTCreateD3DDeviceFromSettings +// Choose either DXUTCreateDevice or DXUTCreateD3DDeviceFromSettings -HRESULT WINAPI DXUTCreateDevice(D3D_FEATURE_LEVEL reqFL, bool bWindowed= true, int nSuggestedWidth =0, int nSuggestedHeight =0 ); -HRESULT WINAPI DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings, bool bPreserveInput = false, bool bClipWindowToSingleAdapter = true ); -HRESULT WINAPI DXUTSetD3D9Device( IDirect3DDevice9* pd3dDevice ); -HRESULT WINAPI DXUTSetD3D11Device( ID3D11Device* pd3dDevice, IDXGISwapChain* pSwapChain ); +HRESULT WINAPI DXUTCreateDevice(_In_ D3D_FEATURE_LEVEL reqFL, _In_ bool bWindowed= true, _In_ int nSuggestedWidth =0,_In_ int nSuggestedHeight =0 ); +HRESULT WINAPI DXUTCreateDeviceFromSettings( _In_ DXUTDeviceSettings* pDeviceSettings, _In_ bool bClipWindowToSingleAdapter = true ); // Choose either DXUTMainLoop or implement your own main loop -HRESULT WINAPI DXUTMainLoop( HACCEL hAccel = NULL ); +HRESULT WINAPI DXUTMainLoop( _In_opt_ HACCEL hAccel = nullptr ); // If not using DXUTMainLoop consider using DXUTRender3DEnvironment void WINAPI DXUTRender3DEnvironment(); @@ -268,50 +249,52 @@ void WINAPI DXUTRender3DEnvironment(); HRESULT WINAPI DXUTToggleFullScreen(); HRESULT WINAPI DXUTToggleREF(); HRESULT WINAPI DXUTToggleWARP(); -void WINAPI DXUTPause( bool bPauseTime, bool bPauseRendering ); -void WINAPI DXUTSetConstantFrameTime( bool bConstantFrameTime, float fTimePerFrame = 0.0333f ); -void WINAPI DXUTSetCursorSettings( bool bShowCursorWhenFullScreen = false, bool bClipCursorWhenFullScreen = false ); -void WINAPI DXUTSetD3DVersionSupport( bool bAppCanUseD3D9 = true, bool bAppCanUseD3D11 = true ); -void WINAPI DXUTSetHotkeyHandling( bool bAltEnterToToggleFullscreen = true, bool bEscapeToQuit = true, bool bPauseToToggleTimePause = true ); -void WINAPI DXUTSetMultimonSettings( bool bAutoChangeAdapter = true ); -void WINAPI DXUTSetShortcutKeySettings( bool bAllowWhenFullscreen = false, bool bAllowWhenWindowed = true ); // Controls the Windows key, and accessibility shortcut keys -void WINAPI DXUTSetWindowSettings( bool bCallDefWindowProc = true ); -HRESULT WINAPI DXUTSetTimer( LPDXUTCALLBACKTIMER pCallbackTimer, float fTimeoutInSecs = 1.0f, UINT* pnIDEvent = NULL, void* pCallbackUserContext = NULL ); -HRESULT WINAPI DXUTKillTimer( UINT nIDEvent ); +void WINAPI DXUTPause( _In_ bool bPauseTime, _In_ bool bPauseRendering ); +void WINAPI DXUTSetConstantFrameTime( _In_ bool bConstantFrameTime, _In_ float fTimePerFrame = 0.0333f ); +void WINAPI DXUTSetCursorSettings( _In_ bool bShowCursorWhenFullScreen = false, _In_ bool bClipCursorWhenFullScreen = false ); +void WINAPI DXUTSetHotkeyHandling( _In_ bool bAltEnterToToggleFullscreen = true, _In_ bool bEscapeToQuit = true, _In_ bool bPauseToToggleTimePause = true ); +void WINAPI DXUTSetMultimonSettings( _In_ bool bAutoChangeAdapter = true ); +void WINAPI DXUTSetShortcutKeySettings( _In_ bool bAllowWhenFullscreen = false, _In_ bool bAllowWhenWindowed = true ); // Controls the Windows key, and accessibility shortcut keys +void WINAPI DXUTSetWindowSettings( _In_ bool bCallDefWindowProc = true ); +HRESULT WINAPI DXUTSetTimer( _In_ LPDXUTCALLBACKTIMER pCallbackTimer, _In_ float fTimeoutInSecs = 1.0f, _Out_opt_ UINT* pnIDEvent = nullptr, _In_opt_ void* pCallbackUserContext = nullptr ); +HRESULT WINAPI DXUTKillTimer( _In_ UINT nIDEvent ); void WINAPI DXUTResetFrameworkState(); -void WINAPI DXUTShutdown( int nExitCode = 0 ); -void WINAPI DXUTSetIsInGammaCorrectMode( bool bGammaCorrect ); -BOOL WINAPI DXUTGetMSAASwapChainCreated(); +void WINAPI DXUTShutdown( _In_ int nExitCode = 0 ); +void WINAPI DXUTSetIsInGammaCorrectMode( _In_ bool bGammaCorrect ); +bool WINAPI DXUTGetMSAASwapChainCreated(); + //-------------------------------------------------------------------------------------- // State Retrieval //-------------------------------------------------------------------------------------- -// Direct3D 9 -IDirect3D9* WINAPI DXUTGetD3D9Object(); // Does not addref unlike typical Get* APIs -IDirect3DDevice9* WINAPI DXUTGetD3D9Device(); // Does not addref unlike typical Get* APIs -D3DPRESENT_PARAMETERS WINAPI DXUTGetD3D9PresentParameters(); -const D3DSURFACE_DESC* WINAPI DXUTGetD3D9BackBufferSurfaceDesc(); -const D3DCAPS9* WINAPI DXUTGetD3D9DeviceCaps(); -HRESULT WINAPI DXUTGetD3D9DeviceCaps( DXUTDeviceSettings* pDeviceSettings, D3DCAPS9* pCaps ); -bool WINAPI DXUTDoesAppSupportD3D9(); -bool WINAPI DXUTIsAppRenderingWithD3D9(); +// Direct3D 11.x (These do not addref unlike typical Get* APIs) +IDXGIFactory1* WINAPI DXUTGetDXGIFactory(); +IDXGISwapChain* WINAPI DXUTGetDXGISwapChain(); +const DXGI_SURFACE_DESC* WINAPI DXUTGetDXGIBackBufferSurfaceDesc(); +HRESULT WINAPI DXUTSetupD3D11Views( _In_ ID3D11DeviceContext* pd3dDeviceContext ); // Supports immediate or deferred context +D3D_FEATURE_LEVEL WINAPI DXUTGetD3D11DeviceFeatureLevel(); // Returns the D3D11 devices current feature level +ID3D11RenderTargetView* WINAPI DXUTGetD3D11RenderTargetView(); +ID3D11DepthStencilView* WINAPI DXUTGetD3D11DepthStencilView(); +ID3D11Device* WINAPI DXUTGetD3D11Device(); +ID3D11DeviceContext* WINAPI DXUTGetD3D11DeviceContext(); -// Direct3D 11 -IDXGIFactory1* WINAPI DXUTGetDXGIFactory(); // Does not addref unlike typical Get* APIs -IDXGISwapChain* WINAPI DXUTGetDXGISwapChain(); // Does not addref unlike typical Get* APIs -const DXGI_SURFACE_DESC* WINAPI DXUTGetDXGIBackBufferSurfaceDesc(); -bool WINAPI DXUTIsD3D11Available(); // If D3D11 APIs are availible -ID3D11Device* WINAPI DXUTGetD3D11Device(); // Does not addref unlike typical Get* APIs -ID3D11DeviceContext* WINAPI DXUTGetD3D11DeviceContext(); // Does not addref unlike typical Get* APIs -HRESULT WINAPI DXUTSetupD3D11Views( ID3D11DeviceContext* pd3dDeviceContext ); // Supports immediate or deferred context -D3D_FEATURE_LEVEL WINAPI DXUTGetD3D11DeviceFeatureLevel(); // Returns the D3D11 devices current feature level -ID3D11RenderTargetView* WINAPI DXUTGetD3D11RenderTargetView(); // Does not addref unlike typical Get* APIs -ID3D11DepthStencilView* WINAPI DXUTGetD3D11DepthStencilView(); // Does not addref unlike typical Get* APIs -bool WINAPI DXUTDoesAppSupportD3D11(); -bool WINAPI DXUTIsAppRenderingWithD3D11(); +ID3D11Device1* WINAPI DXUTGetD3D11Device1(); +ID3D11DeviceContext1* WINAPI DXUTGetD3D11DeviceContext1(); + +ID3D11Device2* WINAPI DXUTGetD3D11Device2(); +ID3D11DeviceContext2* WINAPI DXUTGetD3D11DeviceContext2(); +#ifdef USE_DIRECT3D11_3 +ID3D11Device3* WINAPI DXUTGetD3D11Device3(); +ID3D11DeviceContext3* WINAPI DXUTGetD3D11DeviceContext3(); +#endif + +#ifdef USE_DIRECT3D11_4 +ID3D11Device4* WINAPI DXUTGetD3D11Device4(); +ID3D11DeviceContext4* WINAPI DXUTGetD3D11DeviceContext4(); +#endif // General DXUTDeviceSettings WINAPI DXUTGetDeviceSettings(); @@ -331,7 +314,7 @@ bool WINAPI DXUTIsWindowed(); bool WINAPI DXUTIsInGammaCorrectMode(); float WINAPI DXUTGetFPS(); LPCWSTR WINAPI DXUTGetWindowTitle(); -LPCWSTR WINAPI DXUTGetFrameStats( bool bIncludeFPS = false ); +LPCWSTR WINAPI DXUTGetFrameStats( _In_ bool bIncludeFPS = false ); LPCWSTR WINAPI DXUTGetDeviceStats(); bool WINAPI DXUTIsVsyncEnabled(); @@ -341,9 +324,9 @@ bool WINAPI DXUTIsActive(); int WINAPI DXUTGetExitCode(); bool WINAPI DXUTGetShowMsgBoxOnError(); bool WINAPI DXUTGetAutomation(); // Returns true if -automation parameter is used to launch the app -bool WINAPI DXUTIsKeyDown( BYTE vKey ); // Pass a virtual-key code, ex. VK_F1, 'A', VK_RETURN, VK_LSHIFT, etc -bool WINAPI DXUTWasKeyPressed( BYTE vKey ); // Like DXUTIsKeyDown() but return true only if the key was just pressed -bool WINAPI DXUTIsMouseButtonDown( BYTE vButton ); // Pass a virtual-key code: VK_LBUTTON, VK_RBUTTON, VK_MBUTTON, VK_XBUTTON1, VK_XBUTTON2 +bool WINAPI DXUTIsKeyDown( _In_ BYTE vKey ); // Pass a virtual-key code, ex. VK_F1, 'A', VK_RETURN, VK_LSHIFT, etc +bool WINAPI DXUTWasKeyPressed( _In_ BYTE vKey ); // Like DXUTIsKeyDown() but return true only if the key was just pressed +bool WINAPI DXUTIsMouseButtonDown( _In_ BYTE vButton ); // Pass a virtual-key code: VK_LBUTTON, VK_RBUTTON, VK_MBUTTON, VK_XBUTTON1, VK_XBUTTON2 HRESULT WINAPI DXUTCreateState(); // Optional method to create DXUT's memory. If its not called by the application it will be automatically called when needed void WINAPI DXUTDestroyState(); // Optional method to destroy DXUT's memory. If its not called by the application it will be automatically called after the application exits WinMain @@ -351,14 +334,4 @@ void WINAPI DXUTDestroyState(); // Optional method to destroy DXUT's memory // DXUT core layer includes //-------------------------------------------------------------------------------------- #include "DXUTmisc.h" -#include "DXUTDevice9.h" #include "DXUTDevice11.h" - - - - -#endif - - - - diff --git a/FriedLiver/Source/DXUT/Core/DXUTDevice11.cpp b/FriedLiver/Source/DXUT/Core/DXUTDevice11.cpp index 1b53afbc..63cbd456 100644 --- a/FriedLiver/Source/DXUT/Core/DXUTDevice11.cpp +++ b/FriedLiver/Source/DXUT/Core/DXUTDevice11.cpp @@ -4,10 +4,11 @@ // Enumerates D3D adapters, devices, modes, etc. // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" -#undef min // use __min instead -#undef max // use __max instead //-------------------------------------------------------------------------------------- // Forward declarations @@ -16,17 +17,14 @@ extern void DXUTGetCallbackD3D11DeviceAcceptable( LPDXUTCALLBACKISD3D11DEVICEACC static int __cdecl SortModesCallback( const void* arg1, const void* arg2 ); -CD3D11Enumeration* g_pDXUTD3D11Enumeration = NULL; - - - +CD3D11Enumeration* g_pDXUTD3D11Enumeration = nullptr; HRESULT WINAPI DXUTCreateD3D11Enumeration() { - if( g_pDXUTD3D11Enumeration == NULL ) + if( !g_pDXUTD3D11Enumeration ) { - g_pDXUTD3D11Enumeration = new CD3D11Enumeration(); - if( NULL == g_pDXUTD3D11Enumeration ) + g_pDXUTD3D11Enumeration = new (std::nothrow) CD3D11Enumeration(); + if( !g_pDXUTD3D11Enumeration ) return E_OUTOFMEMORY; } return S_OK; @@ -40,18 +38,13 @@ void WINAPI DXUTDestroyD3D11Enumeration() class DXUTMemoryHelperD3D11Enum { public: -DXUTMemoryHelperD3D11Enum() -{ - DXUTCreateD3D11Enumeration(); -} -~DXUTMemoryHelperD3D11Enum() -{ - DXUTDestroyD3D11Enumeration(); -} +DXUTMemoryHelperD3D11Enum() noexcept { DXUTCreateD3D11Enumeration(); } +~DXUTMemoryHelperD3D11Enum() { DXUTDestroyD3D11Enumeration(); } }; //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ CD3D11Enumeration* WINAPI DXUTGetD3D11Enumeration( bool bForceEnumerate, bool bEnumerateAllAdapterFormats, D3D_FEATURE_LEVEL forceFL ) { // Using an static class with accessor function to allow control of the construction order @@ -72,21 +65,15 @@ CD3D11Enumeration* WINAPI DXUTGetD3D11Enumeration( bool bForceEnumerate, bool bE //-------------------------------------------------------------------------------------- -CD3D11Enumeration::CD3D11Enumeration() +CD3D11Enumeration::CD3D11Enumeration() noexcept : + m_bHasEnumerated(false), + m_IsD3D11DeviceAcceptableFunc(nullptr), + m_pIsD3D11DeviceAcceptableFuncUserContext(nullptr), + m_bEnumerateAllAdapterFormats(false), + m_forceFL(D3D_FEATURE_LEVEL(0)), + m_warpFL(D3D_FEATURE_LEVEL_10_1), + m_refFL(D3D_FEATURE_LEVEL_11_0) { - m_bHasEnumerated = false; - m_IsD3D11DeviceAcceptableFunc = NULL; - m_pIsD3D11DeviceAcceptableFuncUserContext = NULL; - - m_nMinWidth = 640; - m_nMinHeight = 480; - m_nMaxWidth = UINT_MAX; - m_nMaxHeight = UINT_MAX; - m_bEnumerateAllAdapterFormats = false; - - m_nRefreshMin = 0; - m_nRefreshMax = UINT_MAX; - ResetPossibleDepthStencilFormats(); } @@ -110,13 +97,14 @@ CD3D11Enumeration::~CD3D11Enumeration() // if supported otherwise it will default to SWVP, however the app can change this // through the ConfirmDevice callback. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3D11DeviceAcceptableFunc, void* pIsD3D11DeviceAcceptableFuncUserContext ) { CDXUTPerfEventGenerator eventGenerator( DXUT_PERFEVENTCOLOR, L"DXUT D3D11 Enumeration" ); HRESULT hr; - IDXGIFactory1* pFactory = DXUTGetDXGIFactory(); - if( pFactory == NULL ) + auto pFactory = DXUTGetDXGIFactory(); + if( !pFactory ) return E_FAIL; m_bHasEnumerated = true; @@ -127,18 +115,33 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 for( int index = 0; ; ++index ) { - IDXGIAdapter* pAdapter = NULL; + IDXGIAdapter* pAdapter = nullptr; hr = pFactory->EnumAdapters( index, &pAdapter ); if( FAILED( hr ) ) // DXGIERR_NOT_FOUND is expected when the end of the list is hit break; - CD3D11EnumAdapterInfo* pAdapterInfo = new CD3D11EnumAdapterInfo; + IDXGIAdapter2* pAdapter2 = nullptr; + if ( SUCCEEDED( pAdapter->QueryInterface( __uuidof(IDXGIAdapter2), ( LPVOID* )&pAdapter2 ) ) ) + { + // Succeeds on DirectX 11.1 Runtime systems + DXGI_ADAPTER_DESC2 desc; + hr = pAdapter2->GetDesc2( &desc ); + pAdapter2->Release(); + + if ( SUCCEEDED(hr) && ( desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE ) ) + { + // Skip "always there" Microsoft Basics Display Driver + pAdapter->Release(); + continue; + } + } + + auto pAdapterInfo = new (std::nothrow) CD3D11EnumAdapterInfo; if( !pAdapterInfo ) { SAFE_RELEASE( pAdapter ); return E_OUTOFMEMORY; } - ZeroMemory( pAdapterInfo, sizeof( CD3D11EnumAdapterInfo ) ); pAdapterInfo->AdapterOrdinal = index; pAdapter->GetDesc( &pAdapterInfo->AdapterDesc ); pAdapterInfo->m_pAdapter = pAdapter; @@ -152,38 +155,30 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 } hr = EnumerateOutputs( pAdapterInfo ); - if( FAILED( hr ) || pAdapterInfo->outputInfoList.GetSize() <= 0 ) + if( FAILED( hr ) || pAdapterInfo->outputInfoList.empty() ) { delete pAdapterInfo; continue; } // Get info for each devicecombo on this device - if( FAILED( hr = EnumerateDeviceCombos( pFactory, pAdapterInfo ) ) ) + if( FAILED( hr = EnumerateDeviceCombos( pAdapterInfo ) ) ) { delete pAdapterInfo; continue; } - hr = m_AdapterInfoList.Add( pAdapterInfo ); - if( FAILED( hr ) ) - { - delete pAdapterInfo; - return hr; - } + m_AdapterInfoList.push_back( pAdapterInfo ); } - // If we did not get an adapter then we should still enumerate WARP and Ref. - if (m_AdapterInfoList.GetSize() == 0) { - - - CD3D11EnumAdapterInfo* pAdapterInfo = new CD3D11EnumAdapterInfo; + if (m_AdapterInfoList.size() == 0) + { + auto pAdapterInfo = new (std::nothrow) CD3D11EnumAdapterInfo; if( !pAdapterInfo ) { return E_OUTOFMEMORY; } - ZeroMemory( pAdapterInfo, sizeof( CD3D11EnumAdapterInfo ) ); pAdapterInfo->bAdapterUnavailable = true; hr = EnumerateDevices( pAdapterInfo ); @@ -194,7 +189,7 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 delete pAdapterInfo; } - if (!FAILED(hr)) hr = m_AdapterInfoList.Add( pAdapterInfo ); + if (SUCCEEDED(hr)) m_AdapterInfoList.push_back( pAdapterInfo ); } // @@ -203,14 +198,13 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 // them. // bool bUniqueDesc = true; - CD3D11EnumAdapterInfo* pAdapterInfo; - for( int i = 0; i < m_AdapterInfoList.GetSize(); i++ ) + for( size_t i = 0; i < m_AdapterInfoList.size(); i++ ) { - CD3D11EnumAdapterInfo* pAdapterInfo1 = m_AdapterInfoList.GetAt( i ); + auto pAdapterInfo1 = m_AdapterInfoList[ i ]; - for( int j = i + 1; j < m_AdapterInfoList.GetSize(); j++ ) + for( size_t j = i + 1; j < m_AdapterInfoList.size(); j++ ) { - CD3D11EnumAdapterInfo* pAdapterInfo2 = m_AdapterInfoList.GetAt( j ); + auto pAdapterInfo2 = m_AdapterInfoList[ j ]; if( wcsncmp( pAdapterInfo1->AdapterDesc.Description, pAdapterInfo2->AdapterDesc.Description, DXGI_MAX_DEVICE_IDENTIFIER_STRING ) == 0 ) { @@ -223,17 +217,77 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 break; } - for( int i = 0; i < m_AdapterInfoList.GetSize(); i++ ) + for( auto it = m_AdapterInfoList.begin(); it != m_AdapterInfoList.end(); ++it ) { - pAdapterInfo = m_AdapterInfoList.GetAt( i ); - - wcscpy_s( pAdapterInfo->szUniqueDescription, 100, pAdapterInfo->AdapterDesc.Description ); + wcscpy_s((*it)->szUniqueDescription, DXGI_MAX_DEVICE_IDENTIFIER_STRING, (*it)->AdapterDesc.Description); if( !bUniqueDesc ) { - WCHAR sz[100]; - swprintf_s( sz, 100, L" (#%d)", pAdapterInfo->AdapterOrdinal ); - wcscat_s( pAdapterInfo->szUniqueDescription, DXGI_MAX_DEVICE_IDENTIFIER_STRING, sz ); + WCHAR sz[32]; + swprintf_s( sz, 32, L" (#%u)", (*it)->AdapterOrdinal ); + wcscat_s( (*it)->szUniqueDescription, DXGI_MAX_DEVICE_IDENTIFIER_STRING, sz ); + } + } + + // Check WARP max feature level + { + static const D3D_FEATURE_LEVEL fLvlWarp[] = + { +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + D3D_FEATURE_LEVEL_12_1, D3D_FEATURE_LEVEL_12_0, +#endif + D3D_FEATURE_LEVEL_11_1, D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_1 + }; + + ID3D11Device* pDevice = nullptr; + hr = DXUT_Dynamic_D3D11CreateDevice( nullptr, D3D_DRIVER_TYPE_WARP, 0, 0, fLvlWarp, _countof(fLvlWarp), + D3D11_SDK_VERSION, &pDevice, &m_warpFL, nullptr ); + if ( hr == E_INVALIDARG ) + { +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + // DirectX 11.1 runtime will not recognize FL 12.x, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_WARP, 0, 0, &fLvlWarp[2], _countof(fLvlWarp) - 2, + D3D11_SDK_VERSION, &pDevice, &m_warpFL, nullptr); + if (hr == E_INVALIDARG) + { + // DirectX 11.0 runtime will not recognize FL 11.1+, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_WARP, 0, 0, &fLvlWarp[3], _countof(fLvlWarp) - 3, + D3D11_SDK_VERSION, &pDevice, &m_warpFL, nullptr); + } +#else + // DirectX 11.0 runtime will not recognize FL 11.1, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice( nullptr, D3D_DRIVER_TYPE_WARP, 0, 0, &fLvlWarp[1], _countof(fLvlWarp) - 1, + D3D11_SDK_VERSION, &pDevice, &m_warpFL, nullptr ); +#endif + } + + if ( SUCCEEDED(hr) ) + { + pDevice->Release(); + } + else + m_warpFL = D3D_FEATURE_LEVEL_10_1; + } + + // Check REF max feature level + { + static const D3D_FEATURE_LEVEL fLvlRef[] = { D3D_FEATURE_LEVEL_11_1, D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_1 }; + + ID3D11Device* pDevice = nullptr; + hr = DXUT_Dynamic_D3D11CreateDevice( nullptr, D3D_DRIVER_TYPE_REFERENCE, 0, 0, fLvlRef, _countof(fLvlRef), + D3D11_SDK_VERSION, &pDevice, &m_refFL, nullptr ); + if ( hr == E_INVALIDARG ) + { + // DirectX 11.0 runtime will not recognize FL 11.1, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice( nullptr, D3D_DRIVER_TYPE_REFERENCE, 0, 0, &fLvlRef[1], _countof(fLvlRef) - 1, + D3D11_SDK_VERSION, &pDevice, &m_refFL, nullptr ); } + + if ( SUCCEEDED(hr) ) + { + pDevice->Release(); + } + else + m_refFL = D3D_FEATURE_LEVEL_11_0; } return S_OK; @@ -241,14 +295,14 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3 //-------------------------------------------------------------------------------------- -HRESULT CD3D11Enumeration::EnumerateOutputs( CD3D11EnumAdapterInfo* pAdapterInfo ) +HRESULT CD3D11Enumeration::EnumerateOutputs( _In_ CD3D11EnumAdapterInfo* pAdapterInfo ) { HRESULT hr; IDXGIOutput* pOutput; for( int iOutput = 0; ; ++iOutput ) { - pOutput = NULL; + pOutput = nullptr; hr = pAdapterInfo->m_pAdapter->EnumOutputs( iOutput, &pOutput ); if( DXGI_ERROR_NOT_FOUND == hr ) { @@ -260,38 +314,32 @@ HRESULT CD3D11Enumeration::EnumerateOutputs( CD3D11EnumAdapterInfo* pAdapterInfo } else //Success! { - CD3D11EnumOutputInfo* pOutputInfo = new CD3D11EnumOutputInfo; + auto pOutputInfo = new (std::nothrow) CD3D11EnumOutputInfo; if( !pOutputInfo ) { SAFE_RELEASE( pOutput ); return E_OUTOFMEMORY; } - ZeroMemory( pOutputInfo, sizeof( CD3D11EnumOutputInfo ) ); - pOutput->GetDesc( &pOutputInfo->Desc ); pOutputInfo->Output = iOutput; pOutputInfo->m_pOutput = pOutput; + pOutput->GetDesc( &pOutputInfo->Desc ); EnumerateDisplayModes( pOutputInfo ); - if( pOutputInfo->displayModeList.GetSize() <= 0 ) + if( pOutputInfo->displayModeList.empty() ) { // If this output has no valid display mode, do not save it. delete pOutputInfo; continue; } - hr = pAdapterInfo->outputInfoList.Add( pOutputInfo ); - if( FAILED( hr ) ) - { - delete pOutputInfo; - return hr; - } + pAdapterInfo->outputInfoList.push_back( pOutputInfo ); } } } //-------------------------------------------------------------------------------------- -HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputInfo ) +HRESULT CD3D11Enumeration::EnumerateDisplayModes( _In_ CD3D11EnumOutputInfo* pOutputInfo ) { HRESULT hr = S_OK; DXGI_FORMAT allowedAdapterFormatArray[] = @@ -323,7 +371,7 @@ HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputI // This is to avoid calling GetDisplayModeList more times than necessary. // GetDisplayModeList is an expensive call. UINT NumModes = 512; - DXGI_MODE_DESC* pDesc = new DXGI_MODE_DESC[ NumModes ]; + auto pDesc = new (std::nothrow) DXGI_MODE_DESC[ NumModes ]; assert( pDesc ); if( !pDesc ) return E_OUTOFMEMORY; @@ -346,14 +394,14 @@ HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputI { DEVMODE DevMode; DevMode.dmSize = sizeof( DEVMODE ); - if( EnumDisplaySettings( NULL, ENUM_CURRENT_SETTINGS, &DevMode ) ) + if( EnumDisplaySettings( nullptr, ENUM_CURRENT_SETTINGS, &DevMode ) ) { NumModes = 1; pDesc[0].Width = DevMode.dmPelsWidth; pDesc[0].Height = DevMode.dmPelsHeight; pDesc[0].Format = DXGI_FORMAT_R8G8B8A8_UNORM; - pDesc[0].RefreshRate.Numerator = 60; - pDesc[0].RefreshRate.Denominator = 1; + pDesc[0].RefreshRate.Numerator = 0; + pDesc[0].RefreshRate.Denominator = 0; pDesc[0].ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE; pDesc[0].Scaling = DXGI_MODE_SCALING_CENTERED; hr = S_OK; @@ -367,14 +415,14 @@ HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputI hr = pOutputInfo->m_pOutput->GetDisplayModeList( allowedAdapterFormatArray[f], DXGI_ENUM_MODES_SCALING, &NumModes, - NULL ); + nullptr ); if( FAILED( hr ) ) { NumModes = 0; break; } - pDesc = new DXGI_MODE_DESC[ NumModes ]; + pDesc = new (std::nothrow) DXGI_MODE_DESC[ NumModes ]; assert( pDesc ); if( !pDesc ) return E_OUTOFMEMORY; @@ -406,7 +454,8 @@ HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputI { for( UINT m = 0; m < NumModes; m++ ) { - pOutputInfo->displayModeList.Add( pDesc[m] ); +#pragma warning ( suppress : 6385 ) + pOutputInfo->displayModeList.push_back( pDesc[m] ); } } @@ -418,10 +467,10 @@ HRESULT CD3D11Enumeration::EnumerateDisplayModes( CD3D11EnumOutputInfo* pOutputI //-------------------------------------------------------------------------------------- -HRESULT CD3D11Enumeration::EnumerateDevices( CD3D11EnumAdapterInfo* pAdapterInfo ) +HRESULT CD3D11Enumeration::EnumerateDevices( _In_ CD3D11EnumAdapterInfo* pAdapterInfo ) { HRESULT hr; - DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings(); + auto deviceSettings = DXUTGetDeviceSettings(); const D3D_DRIVER_TYPE devTypeArray[] = { D3D_DRIVER_TYPE_HARDWARE, @@ -433,33 +482,35 @@ HRESULT CD3D11Enumeration::EnumerateDevices( CD3D11EnumAdapterInfo* pAdapterInfo // Enumerate each Direct3D device type for( UINT iDeviceType = 0; iDeviceType < devTypeArrayCount; iDeviceType++ ) { - CD3D11EnumDeviceInfo* pDeviceInfo = new CD3D11EnumDeviceInfo; - if( pDeviceInfo == NULL ) + auto pDeviceInfo = new (std::nothrow) CD3D11EnumDeviceInfo; + if( !pDeviceInfo ) return E_OUTOFMEMORY; // Fill struct w/ AdapterOrdinal and D3D_DRIVER_TYPE pDeviceInfo->AdapterOrdinal = pAdapterInfo->AdapterOrdinal; pDeviceInfo->DeviceType = devTypeArray[iDeviceType]; - D3D_FEATURE_LEVEL FeatureLevels[] = + static const D3D_FEATURE_LEVEL FeatureLevels[] = { - D3D_FEATURE_LEVEL_11_0, - D3D_FEATURE_LEVEL_10_1, - D3D_FEATURE_LEVEL_10_0, - D3D_FEATURE_LEVEL_9_3, - D3D_FEATURE_LEVEL_9_2, - D3D_FEATURE_LEVEL_9_1 +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, +#endif + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1 }; UINT NumFeatureLevels = ARRAYSIZE( FeatureLevels ); // Call D3D11CreateDevice to ensure that this is a D3D11 device. - ID3D11Device* pd3dDevice = NULL; - ID3D11DeviceContext* pd3dDeviceContext = NULL; - IDXGIAdapter* pAdapter = NULL; - //if( devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE ) - // pAdapter = pAdapterInfo->m_pAdapter; - hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, - devTypeArray[iDeviceType], + ID3D11Device* pd3dDevice = nullptr; + ID3D11DeviceContext* pd3dDeviceContext = nullptr; + hr = DXUT_Dynamic_D3D11CreateDevice( (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? pAdapterInfo->m_pAdapter : nullptr, + (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? D3D_DRIVER_TYPE_UNKNOWN : devTypeArray[iDeviceType], ( HMODULE )0, 0, FeatureLevels, @@ -468,163 +519,195 @@ HRESULT CD3D11Enumeration::EnumerateDevices( CD3D11EnumAdapterInfo* pAdapterInfo &pd3dDevice, &pDeviceInfo->MaxLevel, &pd3dDeviceContext ); - if( FAILED( hr ) || pDeviceInfo->MaxLevel < deviceSettings.MinimumFeatureLevel) + + if ( hr == E_INVALIDARG ) + { +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + // DirectX 11.1 runtime will not recognize FL 12.x, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice((devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? pAdapterInfo->m_pAdapter : nullptr, + (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? D3D_DRIVER_TYPE_UNKNOWN : devTypeArray[iDeviceType], + (HMODULE)0, 0, + &FeatureLevels[2], NumFeatureLevels - 2, + D3D11_SDK_VERSION, &pd3dDevice, &pDeviceInfo->MaxLevel, + &pd3dDeviceContext); + + if (hr == E_INVALIDARG) + { + // DirectX 11.0 runtime will not recognize FL 11.1, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice((devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? pAdapterInfo->m_pAdapter : nullptr, + (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? D3D_DRIVER_TYPE_UNKNOWN : devTypeArray[iDeviceType], + (HMODULE)0, 0, + &FeatureLevels[3], NumFeatureLevels - 3, + D3D11_SDK_VERSION, &pd3dDevice, &pDeviceInfo->MaxLevel, + &pd3dDeviceContext); + } +#else + // DirectX 11.0 runtime will not recognize FL 11.1, so try without it + hr = DXUT_Dynamic_D3D11CreateDevice( (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? pAdapterInfo->m_pAdapter : nullptr, + (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? D3D_DRIVER_TYPE_UNKNOWN : devTypeArray[iDeviceType], + ( HMODULE )0, 0, + &FeatureLevels[1], NumFeatureLevels - 1, + D3D11_SDK_VERSION, &pd3dDevice, &pDeviceInfo->MaxLevel, + &pd3dDeviceContext ); +#endif + } + + if ( FAILED(hr) ) { delete pDeviceInfo; continue; } + else if ( pDeviceInfo->MaxLevel < deviceSettings.MinimumFeatureLevel ) + { + delete pDeviceInfo; + SAFE_RELEASE( pd3dDevice ); + SAFE_RELEASE( pd3dDeviceContext ); + continue; + } - if (g_forceFL == 0 || g_forceFL == pDeviceInfo->MaxLevel) { + if (m_forceFL == 0 || m_forceFL == pDeviceInfo->MaxLevel) + { pDeviceInfo->SelectedLevel = pDeviceInfo->MaxLevel; } - else if (g_forceFL > pDeviceInfo->MaxLevel) { + else if (m_forceFL > pDeviceInfo->MaxLevel) + { delete pDeviceInfo; SAFE_RELEASE( pd3dDevice ); SAFE_RELEASE( pd3dDeviceContext ); continue; - } else { + } + else + { // A device was created with a higher feature level that the user-specified feature level. SAFE_RELEASE( pd3dDevice ); SAFE_RELEASE( pd3dDeviceContext ); D3D_FEATURE_LEVEL rtFL; - hr = DXUT_Dynamic_D3D11CreateDevice( pAdapter, - devTypeArray[iDeviceType], - ( HMODULE )0, - 0, - &g_forceFL, - 1, - D3D11_SDK_VERSION, - &pd3dDevice, - &rtFL, - &pd3dDeviceContext ); - - if( !FAILED( hr ) && rtFL == g_forceFL ) { - - pDeviceInfo->SelectedLevel = g_forceFL; - }else { + hr = DXUT_Dynamic_D3D11CreateDevice( (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? pAdapterInfo->m_pAdapter : nullptr, + (devTypeArray[iDeviceType] == D3D_DRIVER_TYPE_HARDWARE) ? D3D_DRIVER_TYPE_UNKNOWN : devTypeArray[iDeviceType], + ( HMODULE )0, + 0, + &m_forceFL, + 1, + D3D11_SDK_VERSION, + &pd3dDevice, + &rtFL, + &pd3dDeviceContext ); + + if( SUCCEEDED( hr ) && rtFL == m_forceFL ) + { + pDeviceInfo->SelectedLevel = m_forceFL; + } + else + { delete pDeviceInfo; - SAFE_RELEASE( pd3dDevice ); - SAFE_RELEASE( pd3dDeviceContext ); + if ( SUCCEEDED(hr) ) + { + SAFE_RELEASE( pd3dDevice ); + SAFE_RELEASE( pd3dDeviceContext ); + } continue; } } - IDXGIDevice1* pDXGIDev = NULL; - hr = pd3dDevice->QueryInterface( __uuidof( IDXGIDevice1 ), ( LPVOID* )&pDXGIDev ); - if( SUCCEEDED( hr ) && pDXGIDev ) - { - SAFE_RELEASE( pAdapterInfo->m_pAdapter ); - pDXGIDev->GetAdapter( &pAdapterInfo->m_pAdapter ); - } - SAFE_RELEASE( pDXGIDev ); - - D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS ho; - pd3dDevice->CheckFeatureSupport(D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, &ho, sizeof(ho)); + hr = pd3dDevice->CheckFeatureSupport(D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, &ho, sizeof(ho)); + if ( FAILED(hr) ) + memset( &ho, 0, sizeof(ho) ); + pDeviceInfo->ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x = ho.ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; SAFE_RELEASE( pd3dDeviceContext ); SAFE_RELEASE( pd3dDevice ); - pAdapterInfo->deviceInfoList.Add( pDeviceInfo ); + pAdapterInfo->deviceInfoList.push_back( pDeviceInfo ); } return S_OK; } -HRESULT CD3D11Enumeration::EnumerateDeviceCombosNoAdapter( CD3D11EnumAdapterInfo* pAdapterInfo ) +HRESULT CD3D11Enumeration::EnumerateDeviceCombosNoAdapter( _In_ CD3D11EnumAdapterInfo* pAdapterInfo ) { // Iterate through each combination of device driver type, output, // adapter format, and backbuffer format to build the adapter's device combo list. // - for( int device = 0; device < pAdapterInfo->deviceInfoList.GetSize(); ++device ) + for( auto dit = pAdapterInfo->deviceInfoList.cbegin(); dit != pAdapterInfo->deviceInfoList.cend(); ++dit ) + { + DXGI_FORMAT BufferFormatArray[] = { - CD3D11EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( device ); + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, //This is DXUT's preferred mode - DXGI_FORMAT BufferFormatArray[] = - { - DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, //This is DXUT's preferred mode - - DXGI_FORMAT_R8G8B8A8_UNORM, - DXGI_FORMAT_R16G16B16A16_FLOAT, - DXGI_FORMAT_R10G10B10A2_UNORM - }; - const UINT BufferFormatArrayCount = sizeof( BufferFormatArray ) / sizeof - ( BufferFormatArray[0] ); - - // Swap perferred modes for apps running in linear space - if( !DXUTIsInGammaCorrectMode() ) - { - BufferFormatArray[0] = DXGI_FORMAT_R8G8B8A8_UNORM; - BufferFormatArray[1] = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; - } + DXGI_FORMAT_R8G8B8A8_UNORM, + DXGI_FORMAT_R16G16B16A16_FLOAT, + DXGI_FORMAT_R10G10B10A2_UNORM + }; - for( UINT iBufferFormat = 0; iBufferFormat < BufferFormatArrayCount; iBufferFormat++ ) - { - DXGI_FORMAT BufferFormat = BufferFormatArray[iBufferFormat]; + // Swap perferred modes for apps running in linear space + if( !DXUTIsInGammaCorrectMode() ) + { + BufferFormatArray[0] = DXGI_FORMAT_R8G8B8A8_UNORM; + BufferFormatArray[1] = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + } + for( UINT iBufferFormat = 0; iBufferFormat < _countof( BufferFormatArray ); iBufferFormat++ ) + { + DXGI_FORMAT BufferFormat = BufferFormatArray[iBufferFormat]; + // determine if there are any modes for this particular format - // determine if there are any modes for this particular format + // If an application callback function has been provided, make sure this device + // is acceptable to the app. + if( m_IsD3D11DeviceAcceptableFunc ) + { + if( !m_IsD3D11DeviceAcceptableFunc( pAdapterInfo, + 0, + *dit, + BufferFormat, + TRUE, + m_pIsD3D11DeviceAcceptableFuncUserContext ) ) + continue; + } + // At this point, we have an adapter/device/backbufferformat/iswindowed + // DeviceCombo that is supported by the system. We still + // need to find one or more suitable depth/stencil buffer format, + // multisample type, and present interval. + CD3D11EnumDeviceSettingsCombo* pDeviceCombo = new (std::nothrow) CD3D11EnumDeviceSettingsCombo; + if( !pDeviceCombo ) + return E_OUTOFMEMORY; - // If an application callback function has been provided, make sure this device - // is acceptable to the app. - if( m_IsD3D11DeviceAcceptableFunc != NULL ) - { - if( !m_IsD3D11DeviceAcceptableFunc( pAdapterInfo, - 0, - pDeviceInfo, - BufferFormat, - TRUE, - m_pIsD3D11DeviceAcceptableFuncUserContext ) ) - continue; - } + pDeviceCombo->AdapterOrdinal = (*dit)->AdapterOrdinal; + pDeviceCombo->DeviceType = (*dit)->DeviceType; + pDeviceCombo->BackBufferFormat = BufferFormat; + pDeviceCombo->Windowed = TRUE; + pDeviceCombo->Output = 0; + pDeviceCombo->pAdapterInfo = pAdapterInfo; + pDeviceCombo->pDeviceInfo = (*dit); + pDeviceCombo->pOutputInfo = nullptr; - // At this point, we have an adapter/device/backbufferformat/iswindowed - // DeviceCombo that is supported by the system. We still - // need to find one or more suitable depth/stencil buffer format, - // multisample type, and present interval. - CD3D11EnumDeviceSettingsCombo* pDeviceCombo = new CD3D11EnumDeviceSettingsCombo; - if( pDeviceCombo == NULL ) - return E_OUTOFMEMORY; + BuildMultiSampleQualityList( BufferFormat, pDeviceCombo ); - pDeviceCombo->AdapterOrdinal = pDeviceInfo->AdapterOrdinal; - pDeviceCombo->DeviceType = pDeviceInfo->DeviceType; - pDeviceCombo->BackBufferFormat = BufferFormat; - pDeviceCombo->Windowed = TRUE; - pDeviceCombo->Output = 0; - pDeviceCombo->pAdapterInfo = pAdapterInfo; - pDeviceCombo->pDeviceInfo = pDeviceInfo; - pDeviceCombo->pOutputInfo = NULL; - - BuildMultiSampleQualityList( BufferFormat, pDeviceCombo ); - - if( FAILED( pAdapterInfo->deviceSettingsComboList.Add( pDeviceCombo ) ) ) - delete pDeviceCombo; - } - + pAdapterInfo->deviceSettingsComboList.push_back( pDeviceCombo ); } - + } return S_OK; } //-------------------------------------------------------------------------------------- -HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D11EnumAdapterInfo* pAdapterInfo ) +_Use_decl_annotations_ +HRESULT CD3D11Enumeration::EnumerateDeviceCombos( CD3D11EnumAdapterInfo* pAdapterInfo ) { // Iterate through each combination of device driver type, output, // adapter format, and backbuffer format to build the adapter's device combo list. // - - for( int output = 0; output < pAdapterInfo->outputInfoList.GetSize(); ++output ) + for( size_t output = 0; output < pAdapterInfo->outputInfoList.size(); ++output ) { - CD3D11EnumOutputInfo* pOutputInfo = pAdapterInfo->outputInfoList.GetAt( output ); + auto pOutputInfo = pAdapterInfo->outputInfoList[ output ]; - for( int device = 0; device < pAdapterInfo->deviceInfoList.GetSize(); ++device ) + for( size_t device = 0; device < pAdapterInfo->deviceInfoList.size(); ++device ) { - CD3D11EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( device ); + auto pDeviceInfo = pAdapterInfo->deviceInfoList[ device ]; DXGI_FORMAT backBufferFormatArray[] = { @@ -634,8 +717,6 @@ HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D1 DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R10G10B10A2_UNORM }; - const UINT backBufferFormatArrayCount = sizeof( backBufferFormatArray ) / sizeof - ( backBufferFormatArray[0] ); // Swap perferred modes for apps running in linear space if( !DXUTIsInGammaCorrectMode() ) @@ -644,30 +725,30 @@ HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D1 backBufferFormatArray[1] = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; } - for( UINT iBackBufferFormat = 0; iBackBufferFormat < backBufferFormatArrayCount; iBackBufferFormat++ ) + for( UINT iBackBufferFormat = 0; iBackBufferFormat < _countof( backBufferFormatArray ); iBackBufferFormat++ ) { DXGI_FORMAT backBufferFormat = backBufferFormatArray[iBackBufferFormat]; for( int nWindowed = 0; nWindowed < 2; nWindowed++ ) { - if( !nWindowed && pOutputInfo->displayModeList.GetSize() == 0 ) + if( !nWindowed && pOutputInfo->displayModeList.size() == 0 ) continue; // determine if there are any modes for this particular format - UINT iModes = 0; - for( int i = 0; i < pOutputInfo->displayModeList.GetSize(); i++ ) + size_t iModes = 0; + for( size_t i = 0; i < pOutputInfo->displayModeList.size(); i++ ) { - if( backBufferFormat == pOutputInfo->displayModeList.GetAt( i ).Format ) - iModes ++; + if( backBufferFormat == pOutputInfo->displayModeList[ i ].Format ) + ++iModes; } - if( 0 == iModes ) + if( !iModes ) continue; // If an application callback function has been provided, make sure this device // is acceptable to the app. - if( m_IsD3D11DeviceAcceptableFunc != NULL ) + if( m_IsD3D11DeviceAcceptableFunc ) { - if( !m_IsD3D11DeviceAcceptableFunc( pAdapterInfo, output, + if( !m_IsD3D11DeviceAcceptableFunc( pAdapterInfo, static_cast( output ), pDeviceInfo, backBufferFormat, FALSE != nWindowed, m_pIsD3D11DeviceAcceptableFuncUserContext ) ) @@ -678,8 +759,8 @@ HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D1 // DeviceCombo that is supported by the system. We still // need to find one or more suitable depth/stencil buffer format, // multisample type, and present interval. - CD3D11EnumDeviceSettingsCombo* pDeviceCombo = new CD3D11EnumDeviceSettingsCombo; - if( pDeviceCombo == NULL ) + auto pDeviceCombo = new (std::nothrow) CD3D11EnumDeviceSettingsCombo; + if( !pDeviceCombo ) return E_OUTOFMEMORY; pDeviceCombo->AdapterOrdinal = pDeviceInfo->AdapterOrdinal; @@ -693,8 +774,7 @@ HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D1 BuildMultiSampleQualityList( backBufferFormat, pDeviceCombo ); - if( FAILED( pAdapterInfo->deviceSettingsComboList.Add( pDeviceCombo ) ) ) - delete pDeviceCombo; + pAdapterInfo->deviceSettingsComboList.push_back( pDeviceCombo ); } } } @@ -709,47 +789,41 @@ HRESULT CD3D11Enumeration::EnumerateDeviceCombos( IDXGIFactory1* pFactory, CD3D1 //-------------------------------------------------------------------------------------- void CD3D11Enumeration::ClearAdapterInfoList() { - CD3D11EnumAdapterInfo* pAdapterInfo; - for( int i = 0; i < m_AdapterInfoList.GetSize(); i++ ) + for( auto it = m_AdapterInfoList.begin(); it != m_AdapterInfoList.end(); ++it ) { - pAdapterInfo = m_AdapterInfoList.GetAt( i ); + auto pAdapterInfo = *it; delete pAdapterInfo; } - - m_AdapterInfoList.RemoveAll(); + m_AdapterInfoList.clear(); } //-------------------------------------------------------------------------------------- void CD3D11Enumeration::ResetPossibleDepthStencilFormats() { - m_DepthStencilPossibleList.RemoveAll(); - m_DepthStencilPossibleList.Add( DXGI_FORMAT_D32_FLOAT_S8X24_UINT ); - m_DepthStencilPossibleList.Add( DXGI_FORMAT_D32_FLOAT ); - m_DepthStencilPossibleList.Add( DXGI_FORMAT_D24_UNORM_S8_UINT ); - m_DepthStencilPossibleList.Add( DXGI_FORMAT_D16_UNORM ); + m_DepthStencilPossibleList.clear(); + m_DepthStencilPossibleList.push_back( DXGI_FORMAT_D32_FLOAT_S8X24_UINT ); + m_DepthStencilPossibleList.push_back( DXGI_FORMAT_D32_FLOAT ); + m_DepthStencilPossibleList.push_back( DXGI_FORMAT_D24_UNORM_S8_UINT ); + m_DepthStencilPossibleList.push_back( DXGI_FORMAT_D16_UNORM ); } + //-------------------------------------------------------------------------------------- -void CD3D11Enumeration::SetEnumerateAllAdapterFormats( bool bEnumerateAllAdapterFormats ) +void CD3D11Enumeration::SetEnumerateAllAdapterFormats( _In_ bool bEnumerateAllAdapterFormats ) { m_bEnumerateAllAdapterFormats = bEnumerateAllAdapterFormats; } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CD3D11Enumeration::BuildMultiSampleQualityList( DXGI_FORMAT fmt, CD3D11EnumDeviceSettingsCombo* pDeviceCombo ) { - ID3D11Device* pd3dDevice = NULL; - ID3D11DeviceContext* pd3dDeviceContext = NULL; - IDXGIAdapter* pAdapter = NULL; + ID3D11Device* pd3dDevice = nullptr; + ID3D11DeviceContext* pd3dDeviceContext = nullptr; + IDXGIAdapter* pAdapter = nullptr; - //if( pDeviceCombo->DeviceType == D3D_DRIVER_TYPE_HARDWARE ) - // DXUTGetDXGIFactory()->EnumAdapters( pDeviceCombo->pAdapterInfo->AdapterOrdinal, &pAdapter ); - - //DXGI_ADAPTER_DESC dad; - //pAdapter->GetDesc(&dad); - D3D_FEATURE_LEVEL *FeatureLevels = &(pDeviceCombo->pDeviceInfo->SelectedLevel); D3D_FEATURE_LEVEL returnedFeatureLevel; @@ -781,8 +855,8 @@ void CD3D11Enumeration::BuildMultiSampleQualityList( DXGI_FORMAT fmt, CD3D11Enum //the format and sample count combination is not supported for the installed adapter. if (Quality != 0) { - pDeviceCombo->multiSampleCountList.Add( i ); - pDeviceCombo->multiSampleQualityList.Add( Quality ); + pDeviceCombo->multiSampleCountList.push_back( i ); + pDeviceCombo->multiSampleQualityList.push_back( Quality ); } } } @@ -797,84 +871,83 @@ void CD3D11Enumeration::BuildMultiSampleQualityList( DXGI_FORMAT fmt, CD3D11Enum // Call GetAdapterInfoList() after Enumerate() to get a STL vector of // CD3D11EnumAdapterInfo* //-------------------------------------------------------------------------------------- -CGrowableArray * CD3D11Enumeration::GetAdapterInfoList() +std::vector * CD3D11Enumeration::GetAdapterInfoList() { return &m_AdapterInfoList; } //-------------------------------------------------------------------------------------- -CD3D11EnumAdapterInfo* CD3D11Enumeration::GetAdapterInfo( UINT AdapterOrdinal ) +CD3D11EnumAdapterInfo* CD3D11Enumeration::GetAdapterInfo( _In_ UINT AdapterOrdinal ) const { - for( int iAdapter = 0; iAdapter < m_AdapterInfoList.GetSize(); iAdapter++ ) + for( auto it = m_AdapterInfoList.cbegin(); it != m_AdapterInfoList.cend(); ++it ) { - CD3D11EnumAdapterInfo* pAdapterInfo = m_AdapterInfoList.GetAt( iAdapter ); - if( pAdapterInfo->AdapterOrdinal == AdapterOrdinal ) - return pAdapterInfo; + if( (*it)->AdapterOrdinal == AdapterOrdinal ) + return *it; } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- -CD3D11EnumDeviceInfo* CD3D11Enumeration::GetDeviceInfo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType ) +_Use_decl_annotations_ +CD3D11EnumDeviceInfo* CD3D11Enumeration::GetDeviceInfo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType ) const { - CD3D11EnumAdapterInfo* pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); + auto pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); if( pAdapterInfo ) { - for( int iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.GetSize(); iDeviceInfo++ ) + for( auto it = pAdapterInfo->deviceInfoList.cbegin(); it != pAdapterInfo->deviceInfoList.cend(); ++it ) { - CD3D11EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( iDeviceInfo ); - if( pDeviceInfo->DeviceType == DeviceType ) - return pDeviceInfo; + if( (*it)->DeviceType == DeviceType ) + return *it; } } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- -CD3D11EnumOutputInfo* CD3D11Enumeration::GetOutputInfo( UINT AdapterOrdinal, UINT Output ) +_Use_decl_annotations_ +CD3D11EnumOutputInfo* CD3D11Enumeration::GetOutputInfo( UINT AdapterOrdinal, UINT Output ) const { - CD3D11EnumAdapterInfo* pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); - if( pAdapterInfo && pAdapterInfo->outputInfoList.GetSize() > int( Output ) ) + auto pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); + if( pAdapterInfo && pAdapterInfo->outputInfoList.size() > size_t( Output ) ) { - return pAdapterInfo->outputInfoList.GetAt( Output ); + return pAdapterInfo->outputInfoList[ Output ]; } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ CD3D11EnumDeviceSettingsCombo* CD3D11Enumeration::GetDeviceSettingsCombo( UINT AdapterOrdinal, - D3D_DRIVER_TYPE DeviceType, UINT Output, - DXGI_FORMAT BackBufferFormat, BOOL Windowed ) + DXGI_FORMAT BackBufferFormat, BOOL Windowed ) const { - CD3D11EnumAdapterInfo* pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); + auto pAdapterInfo = GetAdapterInfo( AdapterOrdinal ); if( pAdapterInfo ) { - for( int iDeviceCombo = 0; iDeviceCombo < pAdapterInfo->deviceSettingsComboList.GetSize(); iDeviceCombo++ ) + for( size_t iDeviceCombo = 0; iDeviceCombo < pAdapterInfo->deviceSettingsComboList.size(); iDeviceCombo++ ) { - CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = pAdapterInfo->deviceSettingsComboList.GetAt( - iDeviceCombo ); + auto pDeviceSettingsCombo = pAdapterInfo->deviceSettingsComboList[ iDeviceCombo ]; if( pDeviceSettingsCombo->BackBufferFormat == BackBufferFormat && pDeviceSettingsCombo->Windowed == Windowed ) return pDeviceSettingsCombo; } } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- -CD3D11EnumOutputInfo::~CD3D11EnumOutputInfo( void ) +CD3D11EnumOutputInfo::~CD3D11EnumOutputInfo() { SAFE_RELEASE( m_pOutput ); - displayModeList.RemoveAll(); + displayModeList.clear(); } @@ -885,28 +958,28 @@ CD3D11EnumDeviceInfo::~CD3D11EnumDeviceInfo() //-------------------------------------------------------------------------------------- -CD3D11EnumAdapterInfo::~CD3D11EnumAdapterInfo( void ) +CD3D11EnumAdapterInfo::~CD3D11EnumAdapterInfo() { - for( int i = 0; i < outputInfoList.GetSize(); i++ ) + for( size_t j = 0; j < outputInfoList.size(); ++j ) { - CD3D11EnumOutputInfo* pOutputInfo = outputInfoList.GetAt( i ); + auto pOutputInfo = outputInfoList[ j ]; delete pOutputInfo; } - outputInfoList.RemoveAll(); + outputInfoList.clear(); - for( int i = 0; i < deviceInfoList.GetSize(); ++i ) + for( size_t j = 0; j < deviceInfoList.size(); ++j ) { - CD3D11EnumDeviceInfo* pDeviceInfo = deviceInfoList.GetAt( i ); + auto pDeviceInfo = deviceInfoList[ j ]; delete pDeviceInfo; } - deviceInfoList.RemoveAll(); + deviceInfoList.clear(); - for( int i = 0; i < deviceSettingsComboList.GetSize(); ++i ) + for( size_t j = 0; j < deviceSettingsComboList.size(); ++j ) { - CD3D11EnumDeviceSettingsCombo* pDeviceCombo = deviceSettingsComboList.GetAt( i ); + auto pDeviceCombo = deviceSettingsComboList[ j ]; delete pDeviceCombo; } - deviceSettingsComboList.RemoveAll(); + deviceSettingsComboList.clear(); SAFE_RELEASE( m_pAdapter ); } @@ -939,6 +1012,7 @@ UINT WINAPI DXUTGetDXGIColorChannelBits( DXGI_FORMAT fmt ) case DXGI_FORMAT_R10G10B10A2_TYPELESS: case DXGI_FORMAT_R10G10B10A2_UNORM: case DXGI_FORMAT_R10G10B10A2_UINT: + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: return 10; case DXGI_FORMAT_R8G8B8A8_TYPELESS: @@ -947,12 +1021,21 @@ UINT WINAPI DXUTGetDXGIColorChannelBits( DXGI_FORMAT fmt ) case DXGI_FORMAT_R8G8B8A8_UINT: case DXGI_FORMAT_R8G8B8A8_SNORM: case DXGI_FORMAT_R8G8B8A8_SINT: + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return 8; case DXGI_FORMAT_B5G6R5_UNORM: case DXGI_FORMAT_B5G5R5A1_UNORM: return 5; + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 4; + default: return 0; } @@ -962,9 +1045,9 @@ UINT WINAPI DXUTGetDXGIColorChannelBits( DXGI_FORMAT fmt ) // Returns a ranking number that describes how closely this device // combo matches the optimal combo based on the match options and the optimal device settings //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo, DXUTD3D11DeviceSettings* pOptimalDeviceSettings, - DXGI_MODE_DESC* pAdapterDisplayMode, int &bestModeIndex, int &bestMSAAIndex ) @@ -981,7 +1064,6 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo const float fResolutionWeight = 1.0f; const float fBackBufferFormatWeight = 1.0f; const float fMultiSampleWeight = 1.0f; - const float fRefreshRateWeight = 1.0f; //--------------------- // Adapter ordinal @@ -1005,7 +1087,7 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo } // Slightly prefer HAL - if( pDeviceSettingsCombo->DeviceType == D3DDEVTYPE_HAL ) + if( pDeviceSettingsCombo->DeviceType == D3D_DRIVER_TYPE_HARDWARE ) fCurRanking += 0.1f; //--------------------- @@ -1015,31 +1097,76 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo fCurRanking += fWindowWeight; //--------------------- - // Resolution + // Resolution/Refresh Rate //--------------------- - bool bResolutionFound = false; - unsigned int best = 0xffffffff; bestModeIndex=0; - for( int idm = 0; pDeviceSettingsCombo->pOutputInfo != NULL && idm < pDeviceSettingsCombo->pOutputInfo->displayModeList.GetSize() && !bResolutionFound; idm++ ) + + if( pDeviceSettingsCombo->pOutputInfo ) { - DXGI_MODE_DESC displayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList.GetAt( idm ); - if( displayMode.Width == pOptimalDeviceSettings->sd.BufferDesc.Width && - displayMode.Height == pOptimalDeviceSettings->sd.BufferDesc.Height ) - bResolutionFound = true; + bool bResolutionFound = false; + float best = FLT_MAX; + + if ( !pDeviceSettingsCombo->Windowed + && !pOptimalDeviceSettings->sd.Windowed + && ( pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Numerator > 0 || pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Denominator > 0 ) ) + { + // Match both Resolution & Refresh Rate + for( size_t idm = 0; idm < pDeviceSettingsCombo->pOutputInfo->displayModeList.size() && !bResolutionFound; idm++ ) + { + auto displayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList[ idm ]; + + float refreshDiff = fabsf( ( float( displayMode.RefreshRate.Numerator ) / float( displayMode.RefreshRate.Denominator ) ) - + ( float( pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Numerator ) / float( pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Denominator ) ) ); + + if( displayMode.Width == pOptimalDeviceSettings->sd.BufferDesc.Width + && displayMode.Height == pOptimalDeviceSettings->sd.BufferDesc.Height + && ( refreshDiff < 0.1f ) ) + { + bResolutionFound = true; + bestModeIndex = static_cast( idm ); + break; + } + + float current = refreshDiff + + fabsf( float( displayMode.Width ) - float ( pOptimalDeviceSettings->sd.BufferDesc.Width ) ) + + fabsf( float( displayMode.Height ) - float ( pOptimalDeviceSettings->sd.BufferDesc.Height ) ); - unsigned int current = - (UINT) abs ((int)displayMode.Width - (int)pOptimalDeviceSettings->sd.BufferDesc.Width) + - (UINT) abs ((int)displayMode.Height - (int)pOptimalDeviceSettings->sd.BufferDesc.Height ); + if( current < best ) + { + best = current; + bestModeIndex = static_cast( idm ); + } + } + } + else + { + // Match just Resolution + for( size_t idm = 0; idm < pDeviceSettingsCombo->pOutputInfo->displayModeList.size() && !bResolutionFound; idm++ ) + { + auto displayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList[ idm ]; - if (current < best) { - best = current; - bestModeIndex= idm; + if( displayMode.Width == pOptimalDeviceSettings->sd.BufferDesc.Width + && displayMode.Height == pOptimalDeviceSettings->sd.BufferDesc.Height ) + { + bResolutionFound = true; + bestModeIndex = static_cast( idm ); + break; + } + float current = fabsf( float( displayMode.Width ) - float ( pOptimalDeviceSettings->sd.BufferDesc.Width ) ) + + fabsf( float( displayMode.Height ) - float ( pOptimalDeviceSettings->sd.BufferDesc.Height ) ); + + if( current < best ) + { + best = current; + bestModeIndex = static_cast( idm ); + } + } } + if( bResolutionFound ) + fCurRanking += fResolutionWeight; } - if( bResolutionFound ) - fCurRanking += fResolutionWeight; //--------------------- // Back buffer format @@ -1053,7 +1180,7 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo int nBitDepthDelta = abs( ( long )DXUTGetDXGIColorChannelBits( pDeviceSettingsCombo->BackBufferFormat ) - ( long )DXUTGetDXGIColorChannelBits( pOptimalDeviceSettings->sd.BufferDesc.Format ) ); - float fScale = __max( 0.9f - ( float )nBitDepthDelta * 0.2f, 0.0f ); + float fScale = std::max( 0.9f - ( float )nBitDepthDelta * 0.2f, 0.0f ); fCurRanking += fScale * fBackBufferFormatWeight; } @@ -1067,13 +1194,13 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo //--------------------- bool bMultiSampleFound = false; bestMSAAIndex = 0; - for( int i = 0; i < pDeviceSettingsCombo->multiSampleCountList.GetSize(); i++ ) + for( size_t i = 0; i < pDeviceSettingsCombo->multiSampleCountList.size(); i++ ) { - UINT Count = pDeviceSettingsCombo->multiSampleCountList.GetAt( i ); + UINT Count = pDeviceSettingsCombo->multiSampleCountList[ i ]; if( Count == pOptimalDeviceSettings->sd.SampleDesc.Count ) { - bestMSAAIndex = i; + bestMSAAIndex = static_cast( i ); bMultiSampleFound = true; break; } @@ -1096,21 +1223,6 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo //--------------------- // No caps for the present flags - //--------------------- - // Refresh rate - //--------------------- - bool bRefreshFound = false; - for( int idm = 0; pDeviceSettingsCombo->pOutputInfo != NULL && idm < pDeviceSettingsCombo->pOutputInfo->displayModeList.GetSize(); idm++ ) - { - DXGI_MODE_DESC displayMode = pDeviceSettingsCombo->pOutputInfo->displayModeList.GetAt( idm ); - if( fabs( float( displayMode.RefreshRate.Numerator ) / displayMode.RefreshRate.Denominator - - float( pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Numerator ) / - pOptimalDeviceSettings->sd.BufferDesc.RefreshRate.Denominator ) < 0.1f ) - bRefreshFound = true; - } - if( bRefreshFound ) - fCurRanking += fRefreshRateWeight; - //--------------------- // Present interval //--------------------- @@ -1123,32 +1235,38 @@ float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCo //-------------------------------------------------------------------------------------- // Returns the DXGI_MODE_DESC struct for a given adapter and output //-------------------------------------------------------------------------------------- +#pragma warning ( suppress : 6101 ) +_Use_decl_annotations_ HRESULT WINAPI DXUTGetD3D11AdapterDisplayMode( UINT AdapterOrdinal, UINT nOutput, DXGI_MODE_DESC* pModeDesc ) { if( !pModeDesc ) return E_INVALIDARG; - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - CD3D11EnumOutputInfo* pOutputInfo = pD3DEnum->GetOutputInfo( AdapterOrdinal, nOutput ); + auto pD3DEnum = DXUTGetD3D11Enumeration(); + if ( !pD3DEnum ) + return E_POINTER; + + auto pOutputInfo = pD3DEnum->GetOutputInfo( AdapterOrdinal, nOutput ); if( pOutputInfo ) { - pModeDesc->Width = 640; - pModeDesc->Height = 480; - pModeDesc->RefreshRate.Numerator = 60; - pModeDesc->RefreshRate.Denominator = 1; + pModeDesc->Width = 800; + pModeDesc->Height = 600; + pModeDesc->RefreshRate.Numerator = 0; + pModeDesc->RefreshRate.Denominator = 0; pModeDesc->Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; pModeDesc->Scaling = DXGI_MODE_SCALING_UNSPECIFIED; pModeDesc->ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED; DXGI_OUTPUT_DESC Desc; - pOutputInfo->m_pOutput->GetDesc( &Desc ); + if ( FAILED(pOutputInfo->m_pOutput->GetDesc(&Desc))) + memset( &Desc, 0, sizeof(Desc) ); pModeDesc->Width = Desc.DesktopCoordinates.right - Desc.DesktopCoordinates.left; pModeDesc->Height = Desc.DesktopCoordinates.bottom - Desc.DesktopCoordinates.top; - } - // This should not be required with DXGI 1.1 support for BGRA... - if( pModeDesc->Format == DXGI_FORMAT_B8G8R8A8_UNORM ) - pModeDesc->Format = DXGI_FORMAT_R8G8B8A8_UNORM; + // This should not be required with DXGI 1.1 support for BGRA... + if( pModeDesc->Format == DXGI_FORMAT_B8G8R8A8_UNORM ) + pModeDesc->Format = DXGI_FORMAT_R8G8B8A8_UNORM; + } return S_OK; } diff --git a/FriedLiver/Source/DXUT/Core/DXUTDevice11.h b/FriedLiver/Source/DXUT/Core/DXUTDevice11.h index c15c571e..8c73c453 100644 --- a/FriedLiver/Source/DXUT/Core/DXUTDevice11.h +++ b/FriedLiver/Source/DXUT/Core/DXUTDevice11.h @@ -4,17 +4,18 @@ // Enumerates D3D adapters, devices, modes, etc. // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_DEVICE11_H -#define DXUT_DEVICE11_H void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings); //-------------------------------------------------------------------------------------- // Functions to get bit depth from formats //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTGetD3D11AdapterDisplayMode( UINT AdapterOrdinal, UINT Output, DXGI_MODE_DESC* pModeDesc ); +HRESULT WINAPI DXUTGetD3D11AdapterDisplayMode( _In_ UINT AdapterOrdinal, _In_ UINT Output, _Out_ DXGI_MODE_DESC* pModeDesc ); @@ -39,8 +40,7 @@ struct CD3D11EnumDeviceSettingsCombo; //-------------------------------------------------------------------------------------- -// Enumerates available Direct3D10 adapters, devices, modes, etc. -// Use DXUTGetD3D9Enumeration() to access global instance +// Enumerates available Direct3D11 adapters, devices, modes, etc. //-------------------------------------------------------------------------------------- class CD3D11Enumeration { @@ -49,28 +49,27 @@ class CD3D11Enumeration // // Use these calls and the IsDeviceAcceptable to control the contents of // the enumeration object, which affects the device selection and the device settings dialog. - void SetResolutionMinMax( UINT nMinWidth, UINT nMinHeight, UINT nMaxWidth, UINT nMaxHeight ); - void SetRefreshMinMax( UINT nMin, UINT nMax ); - void SetForceFeatureLevel( D3D_FEATURE_LEVEL forceFL) { - g_forceFL = forceFL; - }; - void SetMultisampleQualityMax( UINT nMax ); - CGrowableArray* GetPossibleDepthStencilFormatList(); + void SetResolutionMinMax( _In_ UINT nMinWidth, _In_ UINT nMinHeight, _In_ UINT nMaxWidth, _In_ UINT nMaxHeight ); + void SetRefreshMinMax( _In_ UINT nMin, _In_ UINT nMax ); + void SetForceFeatureLevel( _In_ D3D_FEATURE_LEVEL forceFL) { m_forceFL = forceFL; } + void SetMultisampleQualityMax( _In_ UINT nMax ); void ResetPossibleDepthStencilFormats(); - void SetEnumerateAllAdapterFormats( bool bEnumerateAllAdapterFormats ); + void SetEnumerateAllAdapterFormats( _In_ bool bEnumerateAllAdapterFormats ); // Call Enumerate() to enumerate available D3D11 adapters, devices, modes, etc. bool HasEnumerated() { return m_bHasEnumerated; } - HRESULT Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3D11DeviceAcceptableFunc, - void* pIsD3D11DeviceAcceptableFuncUserContext ); + HRESULT Enumerate( _In_ LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3D11DeviceAcceptableFunc, + _In_opt_ void* pIsD3D11DeviceAcceptableFuncUserContext ); // These should be called after Enumerate() is called - CGrowableArray* GetAdapterInfoList(); - CD3D11EnumAdapterInfo* GetAdapterInfo( UINT AdapterOrdinal ); - CD3D11EnumDeviceInfo* GetDeviceInfo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType ); - CD3D11EnumOutputInfo* GetOutputInfo( UINT AdapterOrdinal, UINT Output ); - CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( DXUTD3D11DeviceSettings* pDeviceSettings ) { return GetDeviceSettingsCombo( pDeviceSettings->AdapterOrdinal, pDeviceSettings->DriverType, pDeviceSettings->Output, pDeviceSettings->sd.BufferDesc.Format, pDeviceSettings->sd.Windowed ); } - CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType, UINT Output, DXGI_FORMAT BackBufferFormat, BOOL Windowed ); + std::vector* GetAdapterInfoList(); + CD3D11EnumAdapterInfo* GetAdapterInfo( _In_ UINT AdapterOrdinal ) const; + CD3D11EnumDeviceInfo* GetDeviceInfo( _In_ UINT AdapterOrdinal, _In_ D3D_DRIVER_TYPE DeviceType ) const; + CD3D11EnumOutputInfo* GetOutputInfo( _In_ UINT AdapterOrdinal, _In_ UINT Output ) const; + CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( _In_ DXUTD3D11DeviceSettings* pDeviceSettings ) const { return GetDeviceSettingsCombo( pDeviceSettings->AdapterOrdinal, pDeviceSettings->sd.BufferDesc.Format, pDeviceSettings->sd.Windowed ); } + CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( _In_ UINT AdapterOrdinal, _In_ DXGI_FORMAT BackBufferFormat, _In_ BOOL Windowed ) const; + D3D_FEATURE_LEVEL GetWARPFeaturevel() const { return m_warpFL; } + D3D_FEATURE_LEVEL GetREFFeaturevel() const { return m_refFL; } ~CD3D11Enumeration(); @@ -78,38 +77,32 @@ class CD3D11Enumeration friend HRESULT WINAPI DXUTCreateD3D11Enumeration(); // Use DXUTGetD3D11Enumeration() to access global instance - CD3D11Enumeration(); + CD3D11Enumeration() noexcept; bool m_bHasEnumerated; LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE m_IsD3D11DeviceAcceptableFunc; void* m_pIsD3D11DeviceAcceptableFuncUserContext; - CGrowableArray m_DepthStencilPossibleList; + std::vector m_DepthStencilPossibleList; - UINT m_nMinWidth; - UINT m_nMaxWidth; - UINT m_nMinHeight; - UINT m_nMaxHeight; - UINT m_nRefreshMin; - UINT m_nRefreshMax; - UINT m_nMultisampleQualityMax; bool m_bEnumerateAllAdapterFormats; - D3D_FEATURE_LEVEL g_forceFL; + D3D_FEATURE_LEVEL m_forceFL; + D3D_FEATURE_LEVEL m_warpFL; + D3D_FEATURE_LEVEL m_refFL; - // Array of CD3D9EnumAdapterInfo* with unique AdapterOrdinals - CGrowableArray m_AdapterInfoList; + std::vector m_AdapterInfoList; - HRESULT EnumerateOutputs( CD3D11EnumAdapterInfo *pAdapterInfo ); - HRESULT EnumerateDevices( CD3D11EnumAdapterInfo *pAdapterInfo ); - HRESULT EnumerateDeviceCombos( IDXGIFactory1 *pFactory, CD3D11EnumAdapterInfo* pAdapterInfo ); - HRESULT EnumerateDeviceCombosNoAdapter( CD3D11EnumAdapterInfo* pAdapterInfo ); + HRESULT EnumerateOutputs( _In_ CD3D11EnumAdapterInfo *pAdapterInfo ); + HRESULT EnumerateDevices( _In_ CD3D11EnumAdapterInfo *pAdapterInfo ); + HRESULT EnumerateDeviceCombos( _In_ CD3D11EnumAdapterInfo* pAdapterInfo ); + HRESULT EnumerateDeviceCombosNoAdapter( _In_ CD3D11EnumAdapterInfo* pAdapterInfo ); - HRESULT EnumerateDisplayModes( CD3D11EnumOutputInfo *pOutputInfo ); - void BuildMultiSampleQualityList( DXGI_FORMAT fmt, CD3D11EnumDeviceSettingsCombo* pDeviceCombo ); + HRESULT EnumerateDisplayModes( _In_ CD3D11EnumOutputInfo *pOutputInfo ); + void BuildMultiSampleQualityList( _In_ DXGI_FORMAT fmt, _In_ CD3D11EnumDeviceSettingsCombo* pDeviceCombo ); void ClearAdapterInfoList(); }; -CD3D11Enumeration* WINAPI DXUTGetD3D11Enumeration(bool bForceEnumerate = false, bool EnumerateAllAdapterFormats = false, D3D_FEATURE_LEVEL forceFL = ((D3D_FEATURE_LEVEL )0) ); +CD3D11Enumeration* WINAPI DXUTGetD3D11Enumeration(_In_ bool bForceEnumerate = false, _In_ bool EnumerateAllAdapterFormats = true, _In_ D3D_FEATURE_LEVEL forceFL = ((D3D_FEATURE_LEVEL )0) ); #define DXGI_MAX_DEVICE_IDENTIFIER_STRING 128 @@ -123,6 +116,16 @@ class CD3D11EnumAdapterInfo const CD3D11EnumAdapterInfo &operator = ( const CD3D11EnumAdapterInfo &rhs ); public: + CD3D11EnumAdapterInfo() noexcept : + AdapterOrdinal( 0 ), + AdapterDesc{}, + szUniqueDescription{}, + m_pAdapter( nullptr ), + bAdapterUnavailable(false) + { + *szUniqueDescription = 0; + memset( &AdapterDesc, 0, sizeof(AdapterDesc) ); + } ~CD3D11EnumAdapterInfo(); UINT AdapterOrdinal; @@ -131,11 +134,11 @@ class CD3D11EnumAdapterInfo IDXGIAdapter *m_pAdapter; bool bAdapterUnavailable; - CGrowableArray outputInfoList; // Array of CD3D11EnumOutputInfo* - CGrowableArray deviceInfoList; // Array of CD3D11EnumDeviceInfo* + std::vector outputInfoList; // Array of CD3D11EnumOutputInfo* + std::vector deviceInfoList; // Array of CD3D11EnumDeviceInfo* // List of CD3D11EnumDeviceSettingsCombo* with a unique set // of BackBufferFormat, and Windowed - CGrowableArray deviceSettingsComboList; + std::vector deviceSettingsComboList; }; @@ -144,6 +147,12 @@ class CD3D11EnumOutputInfo const CD3D11EnumOutputInfo &operator = ( const CD3D11EnumOutputInfo &rhs ); public: + CD3D11EnumOutputInfo() noexcept : + AdapterOrdinal(0), + Output(0), + m_pOutput(nullptr), + Desc{} + {} ~CD3D11EnumOutputInfo(); UINT AdapterOrdinal; @@ -151,13 +160,12 @@ class CD3D11EnumOutputInfo IDXGIOutput* m_pOutput; DXGI_OUTPUT_DESC Desc; - CGrowableArray displayModeList; // Array of supported D3DDISPLAYMODEs + std::vector displayModeList; // Array of supported D3DDISPLAYMODEs }; //-------------------------------------------------------------------------------------- -// A class describing a Direct3D10 device that contains a -// unique supported driver type +// A class describing a Direct3D11 device that contains a unique supported driver type //-------------------------------------------------------------------------------------- class CD3D11EnumDeviceInfo { @@ -187,24 +195,27 @@ struct CD3D11EnumDeviceSettingsCombo BOOL Windowed; UINT Output; - CGrowableArray multiSampleCountList; // List of valid sampling counts (multisampling) - CGrowableArray multiSampleQualityList; // List of number of quality levels for each multisample count + std::vector multiSampleCountList; // List of valid sampling counts (multisampling) + std::vector multiSampleQualityList; // List of number of quality levels for each multisample count CD3D11EnumAdapterInfo* pAdapterInfo; CD3D11EnumDeviceInfo* pDeviceInfo; CD3D11EnumOutputInfo* pOutputInfo; + + CD3D11EnumDeviceSettingsCombo() noexcept : + AdapterOrdinal(0), + DeviceType(D3D_DRIVER_TYPE_UNKNOWN), + BackBufferFormat(DXGI_FORMAT_UNKNOWN), + Windowed(FALSE), + Output(0), + pAdapterInfo(nullptr), + pDeviceInfo(nullptr), + pOutputInfo(nullptr) + { } }; -float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo, - DXUTD3D11DeviceSettings* pOptimalDeviceSettings, - DXGI_MODE_DESC* pAdapterDisplayMode, - int &bestModeIndex, - int &bestMSAAIndex +float DXUTRankD3D11DeviceCombo( _In_ CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo, + _In_ DXUTD3D11DeviceSettings* pOptimalDeviceSettings, + _Out_ int &bestModeIndex, + _Out_ int &bestMSAAIndex ); - - - - -#endif - - diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj new file mode 100644 index 00000000..71c4ea23 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj @@ -0,0 +1,330 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj.filters new file mode 100644 index 00000000..78f1ab4e --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2015.vcxproj.filters @@ -0,0 +1,29 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj new file mode 100644 index 00000000..1171fd10 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj @@ -0,0 +1,331 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0.14393.0 + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj.filters new file mode 100644 index 00000000..78f1ab4e --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2015_Win10.vcxproj.filters @@ -0,0 +1,29 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj new file mode 100644 index 00000000..ed3b43ff --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj @@ -0,0 +1,343 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0.17763.0 + + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj.filters new file mode 100644 index 00000000..78f1ab4e --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2017_Win10.vcxproj.filters @@ -0,0 +1,29 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj new file mode 100644 index 00000000..f1a73cc2 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj @@ -0,0 +1,343 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0 + + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj.filters new file mode 100644 index 00000000..78f1ab4e --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_2019_Win10.vcxproj.filters @@ -0,0 +1,29 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj new file mode 100644 index 00000000..8ba13077 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj @@ -0,0 +1,330 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj.filters new file mode 100644 index 00000000..153fbf34 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015.vcxproj.filters @@ -0,0 +1,23 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj new file mode 100644 index 00000000..98ecdfee --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj @@ -0,0 +1,331 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0.14393.0 + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj.filters new file mode 100644 index 00000000..153fbf34 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2015_Win10.vcxproj.filters @@ -0,0 +1,23 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj new file mode 100644 index 00000000..27193abe --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj @@ -0,0 +1,343 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0.17763.0 + + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj.filters new file mode 100644 index 00000000..153fbf34 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2017_Win10.vcxproj.filters @@ -0,0 +1,23 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj new file mode 100644 index 00000000..4764175b --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj @@ -0,0 +1,343 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUT + {85344B7F-5AA0-4e12-A065-D1333D11F6CA} + DXUT + Win32Proj + 10.0 + + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUT + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj.filters new file mode 100644 index 00000000..153fbf34 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/DXUT_DirectXTK_2019_Win10.vcxproj.filters @@ -0,0 +1,23 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Core/DXUTmisc.cpp b/FriedLiver/Source/DXUT/Core/DXUTmisc.cpp index 499abfdf..83a5e453 100644 --- a/FriedLiver/Source/DXUT/Core/DXUTmisc.cpp +++ b/FriedLiver/Source/DXUT/Core/DXUTmisc.cpp @@ -3,13 +3,18 @@ // // Shortcut macros and functions for using DX objects // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "dxut.h" #include + +#include "ScreenGrab.h" + + #define DXUT_GAMEPAD_TRIGGER_THRESHOLD 30 -#undef min // use __min instead -#undef max // use __max instead CDXUTTimer* WINAPI DXUTGetGlobalTimer() { @@ -20,17 +25,15 @@ CDXUTTimer* WINAPI DXUTGetGlobalTimer() //-------------------------------------------------------------------------------------- -CDXUTTimer::CDXUTTimer() +CDXUTTimer::CDXUTTimer() noexcept : + m_bTimerStopped(true), + m_llQPFTicksPerSec{}, + m_llStopTime{}, + m_llLastElapsedTime{}, + m_llBaseTime{} { - m_bTimerStopped = true; - m_llQPFTicksPerSec = 0; - - m_llStopTime = 0; - m_llLastElapsedTime = 0; - m_llBaseTime = 0; - // Use QueryPerformanceFrequency to get the frequency of the counter - LARGE_INTEGER qwTicksPerSec = { 0 }; + LARGE_INTEGER qwTicksPerSec = {}; QueryPerformanceFrequency( &qwTicksPerSec ); m_llQPFTicksPerSec = qwTicksPerSec.QuadPart; } @@ -52,7 +55,7 @@ void CDXUTTimer::Reset() void CDXUTTimer::Start() { // Get the current time - LARGE_INTEGER qwTime = { 0 }; + LARGE_INTEGER qwTime = {}; QueryPerformanceCounter( &qwTime ); if( m_bTimerStopped ) @@ -68,7 +71,7 @@ void CDXUTTimer::Stop() { if( !m_bTimerStopped ) { - LARGE_INTEGER qwTime = { 0 }; + LARGE_INTEGER qwTime = {}; QueryPerformanceCounter( &qwTime ); m_llStopTime = qwTime.QuadPart; m_llLastElapsedTime = qwTime.QuadPart; @@ -85,9 +88,9 @@ void CDXUTTimer::Advance() //-------------------------------------------------------------------------------------- -double CDXUTTimer::GetAbsoluteTime() +double CDXUTTimer::GetAbsoluteTime() const { - LARGE_INTEGER qwTime = { 0 }; + LARGE_INTEGER qwTime = {}; QueryPerformanceCounter( &qwTime ); double fTime = qwTime.QuadPart / ( double )m_llQPFTicksPerSec; @@ -97,7 +100,7 @@ double CDXUTTimer::GetAbsoluteTime() //-------------------------------------------------------------------------------------- -double CDXUTTimer::GetTime() +double CDXUTTimer::GetTime() const { LARGE_INTEGER qwTime = GetAdjustedCurrentTime(); @@ -108,6 +111,7 @@ double CDXUTTimer::GetTime() //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTTimer::GetTimeValues( double* pfTime, double* pfAbsoluteTime, float* pfElapsedTime ) { assert( pfTime && pfAbsoluteTime && pfElapsedTime ); @@ -152,7 +156,7 @@ float CDXUTTimer::GetElapsedTime() //-------------------------------------------------------------------------------------- // If stopped, returns time when stopped otherwise returns current time //-------------------------------------------------------------------------------------- -LARGE_INTEGER CDXUTTimer::GetAdjustedCurrentTime() +LARGE_INTEGER CDXUTTimer::GetAdjustedCurrentTime() const { LARGE_INTEGER qwTime; if( m_llStopTime != 0 ) @@ -162,12 +166,6 @@ LARGE_INTEGER CDXUTTimer::GetAdjustedCurrentTime() return qwTime; } -//-------------------------------------------------------------------------------------- -bool CDXUTTimer::IsStopped() -{ - return m_bTimerStopped; -} - //-------------------------------------------------------------------------------------- // Limit the current thread to one processor (the current one). This ensures that timing code // runs on only one processor, and will not suffer any ill effects from power management. @@ -201,331 +199,138 @@ void CDXUTTimer::LimitThreadAffinityToCurrentProc() } -//-------------------------------------------------------------------------------------- -// Returns the string for the given D3DFORMAT. -//-------------------------------------------------------------------------------------- -LPCWSTR WINAPI DXUTD3DFormatToString( D3DFORMAT format, bool bWithPrefix ) -{ - WCHAR* pstr = NULL; - switch( format ) - { - case D3DFMT_UNKNOWN: - pstr = L"D3DFMT_UNKNOWN"; break; - case D3DFMT_R8G8B8: - pstr = L"D3DFMT_R8G8B8"; break; - case D3DFMT_A8R8G8B8: - pstr = L"D3DFMT_A8R8G8B8"; break; - case D3DFMT_X8R8G8B8: - pstr = L"D3DFMT_X8R8G8B8"; break; - case D3DFMT_R5G6B5: - pstr = L"D3DFMT_R5G6B5"; break; - case D3DFMT_X1R5G5B5: - pstr = L"D3DFMT_X1R5G5B5"; break; - case D3DFMT_A1R5G5B5: - pstr = L"D3DFMT_A1R5G5B5"; break; - case D3DFMT_A4R4G4B4: - pstr = L"D3DFMT_A4R4G4B4"; break; - case D3DFMT_R3G3B2: - pstr = L"D3DFMT_R3G3B2"; break; - case D3DFMT_A8: - pstr = L"D3DFMT_A8"; break; - case D3DFMT_A8R3G3B2: - pstr = L"D3DFMT_A8R3G3B2"; break; - case D3DFMT_X4R4G4B4: - pstr = L"D3DFMT_X4R4G4B4"; break; - case D3DFMT_A2B10G10R10: - pstr = L"D3DFMT_A2B10G10R10"; break; - case D3DFMT_A8B8G8R8: - pstr = L"D3DFMT_A8B8G8R8"; break; - case D3DFMT_X8B8G8R8: - pstr = L"D3DFMT_X8B8G8R8"; break; - case D3DFMT_G16R16: - pstr = L"D3DFMT_G16R16"; break; - case D3DFMT_A2R10G10B10: - pstr = L"D3DFMT_A2R10G10B10"; break; - case D3DFMT_A16B16G16R16: - pstr = L"D3DFMT_A16B16G16R16"; break; - case D3DFMT_A8P8: - pstr = L"D3DFMT_A8P8"; break; - case D3DFMT_P8: - pstr = L"D3DFMT_P8"; break; - case D3DFMT_L8: - pstr = L"D3DFMT_L8"; break; - case D3DFMT_A8L8: - pstr = L"D3DFMT_A8L8"; break; - case D3DFMT_A4L4: - pstr = L"D3DFMT_A4L4"; break; - case D3DFMT_V8U8: - pstr = L"D3DFMT_V8U8"; break; - case D3DFMT_L6V5U5: - pstr = L"D3DFMT_L6V5U5"; break; - case D3DFMT_X8L8V8U8: - pstr = L"D3DFMT_X8L8V8U8"; break; - case D3DFMT_Q8W8V8U8: - pstr = L"D3DFMT_Q8W8V8U8"; break; - case D3DFMT_V16U16: - pstr = L"D3DFMT_V16U16"; break; - case D3DFMT_A2W10V10U10: - pstr = L"D3DFMT_A2W10V10U10"; break; - case D3DFMT_UYVY: - pstr = L"D3DFMT_UYVY"; break; - case D3DFMT_YUY2: - pstr = L"D3DFMT_YUY2"; break; - case D3DFMT_DXT1: - pstr = L"D3DFMT_DXT1"; break; - case D3DFMT_DXT2: - pstr = L"D3DFMT_DXT2"; break; - case D3DFMT_DXT3: - pstr = L"D3DFMT_DXT3"; break; - case D3DFMT_DXT4: - pstr = L"D3DFMT_DXT4"; break; - case D3DFMT_DXT5: - pstr = L"D3DFMT_DXT5"; break; - case D3DFMT_D16_LOCKABLE: - pstr = L"D3DFMT_D16_LOCKABLE"; break; - case D3DFMT_D32: - pstr = L"D3DFMT_D32"; break; - case D3DFMT_D15S1: - pstr = L"D3DFMT_D15S1"; break; - case D3DFMT_D24S8: - pstr = L"D3DFMT_D24S8"; break; - case D3DFMT_D24X8: - pstr = L"D3DFMT_D24X8"; break; - case D3DFMT_D24X4S4: - pstr = L"D3DFMT_D24X4S4"; break; - case D3DFMT_D16: - pstr = L"D3DFMT_D16"; break; - case D3DFMT_L16: - pstr = L"D3DFMT_L16"; break; - case D3DFMT_VERTEXDATA: - pstr = L"D3DFMT_VERTEXDATA"; break; - case D3DFMT_INDEX16: - pstr = L"D3DFMT_INDEX16"; break; - case D3DFMT_INDEX32: - pstr = L"D3DFMT_INDEX32"; break; - case D3DFMT_Q16W16V16U16: - pstr = L"D3DFMT_Q16W16V16U16"; break; - case D3DFMT_MULTI2_ARGB8: - pstr = L"D3DFMT_MULTI2_ARGB8"; break; - case D3DFMT_R16F: - pstr = L"D3DFMT_R16F"; break; - case D3DFMT_G16R16F: - pstr = L"D3DFMT_G16R16F"; break; - case D3DFMT_A16B16G16R16F: - pstr = L"D3DFMT_A16B16G16R16F"; break; - case D3DFMT_R32F: - pstr = L"D3DFMT_R32F"; break; - case D3DFMT_G32R32F: - pstr = L"D3DFMT_G32R32F"; break; - case D3DFMT_A32B32G32R32F: - pstr = L"D3DFMT_A32B32G32R32F"; break; - case D3DFMT_CxV8U8: - pstr = L"D3DFMT_CxV8U8"; break; - default: - pstr = L"Unknown format"; break; - } - if( bWithPrefix || wcsstr( pstr, L"D3DFMT_" ) == NULL ) - return pstr; - else - return pstr + lstrlen( L"D3DFMT_" ); -} - - //-------------------------------------------------------------------------------------- // Returns the string for the given DXGI_FORMAT. //-------------------------------------------------------------------------------------- +#define DXUTDXGIFMTSTR( a ) case a: pstr = L#a; break; + +_Use_decl_annotations_ LPCWSTR WINAPI DXUTDXGIFormatToString( DXGI_FORMAT format, bool bWithPrefix ) { - WCHAR* pstr = NULL; + const WCHAR* pstr = nullptr; switch( format ) { - case DXGI_FORMAT_R32G32B32A32_TYPELESS: - pstr = L"DXGI_FORMAT_R32G32B32A32_TYPELESS"; break; - case DXGI_FORMAT_R32G32B32A32_FLOAT: - pstr = L"DXGI_FORMAT_R32G32B32A32_FLOAT"; break; - case DXGI_FORMAT_R32G32B32A32_UINT: - pstr = L"DXGI_FORMAT_R32G32B32A32_UINT"; break; - case DXGI_FORMAT_R32G32B32A32_SINT: - pstr = L"DXGI_FORMAT_R32G32B32A32_SINT"; break; - case DXGI_FORMAT_R32G32B32_TYPELESS: - pstr = L"DXGI_FORMAT_R32G32B32_TYPELESS"; break; - case DXGI_FORMAT_R32G32B32_FLOAT: - pstr = L"DXGI_FORMAT_R32G32B32_FLOAT"; break; - case DXGI_FORMAT_R32G32B32_UINT: - pstr = L"DXGI_FORMAT_R32G32B32_UINT"; break; - case DXGI_FORMAT_R32G32B32_SINT: - pstr = L"DXGI_FORMAT_R32G32B32_SINT"; break; - case DXGI_FORMAT_R16G16B16A16_TYPELESS: - pstr = L"DXGI_FORMAT_R16G16B16A16_TYPELESS"; break; - case DXGI_FORMAT_R16G16B16A16_FLOAT: - pstr = L"DXGI_FORMAT_R16G16B16A16_FLOAT"; break; - case DXGI_FORMAT_R16G16B16A16_UNORM: - pstr = L"DXGI_FORMAT_R16G16B16A16_UNORM"; break; - case DXGI_FORMAT_R16G16B16A16_UINT: - pstr = L"DXGI_FORMAT_R16G16B16A16_UINT"; break; - case DXGI_FORMAT_R16G16B16A16_SNORM: - pstr = L"DXGI_FORMAT_R16G16B16A16_SNORM"; break; - case DXGI_FORMAT_R16G16B16A16_SINT: - pstr = L"DXGI_FORMAT_R16G16B16A16_SINT"; break; - case DXGI_FORMAT_R32G32_TYPELESS: - pstr = L"DXGI_FORMAT_R32G32_TYPELESS"; break; - case DXGI_FORMAT_R32G32_FLOAT: - pstr = L"DXGI_FORMAT_R32G32_FLOAT"; break; - case DXGI_FORMAT_R32G32_UINT: - pstr = L"DXGI_FORMAT_R32G32_UINT"; break; - case DXGI_FORMAT_R32G32_SINT: - pstr = L"DXGI_FORMAT_R32G32_SINT"; break; - case DXGI_FORMAT_R32G8X24_TYPELESS: - pstr = L"DXGI_FORMAT_R32G8X24_TYPELESS"; break; - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: - pstr = L"DXGI_FORMAT_D32_FLOAT_S8X24_UINT"; break; - case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: - pstr = L"DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS"; break; - case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: - pstr = L"DXGI_FORMAT_X32_TYPELESS_G8X24_UINT"; break; - case DXGI_FORMAT_R10G10B10A2_TYPELESS: - pstr = L"DXGI_FORMAT_R10G10B10A2_TYPELESS"; break; - case DXGI_FORMAT_R10G10B10A2_UNORM: - pstr = L"DXGI_FORMAT_R10G10B10A2_UNORM"; break; - case DXGI_FORMAT_R10G10B10A2_UINT: - pstr = L"DXGI_FORMAT_R10G10B10A2_UINT"; break; - case DXGI_FORMAT_R11G11B10_FLOAT: - pstr = L"DXGI_FORMAT_R11G11B10_FLOAT"; break; - case DXGI_FORMAT_R8G8B8A8_TYPELESS: - pstr = L"DXGI_FORMAT_R8G8B8A8_TYPELESS"; break; - case DXGI_FORMAT_R8G8B8A8_UNORM: - pstr = L"DXGI_FORMAT_R8G8B8A8_UNORM"; break; - case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: - pstr = L"DXGI_FORMAT_R8G8B8A8_UNORM_SRGB"; break; - case DXGI_FORMAT_R8G8B8A8_UINT: - pstr = L"DXGI_FORMAT_R8G8B8A8_UINT"; break; - case DXGI_FORMAT_R8G8B8A8_SNORM: - pstr = L"DXGI_FORMAT_R8G8B8A8_SNORM"; break; - case DXGI_FORMAT_R8G8B8A8_SINT: - pstr = L"DXGI_FORMAT_R8G8B8A8_SINT"; break; - case DXGI_FORMAT_R16G16_TYPELESS: - pstr = L"DXGI_FORMAT_R16G16_TYPELESS"; break; - case DXGI_FORMAT_R16G16_FLOAT: - pstr = L"DXGI_FORMAT_R16G16_FLOAT"; break; - case DXGI_FORMAT_R16G16_UNORM: - pstr = L"DXGI_FORMAT_R16G16_UNORM"; break; - case DXGI_FORMAT_R16G16_UINT: - pstr = L"DXGI_FORMAT_R16G16_UINT"; break; - case DXGI_FORMAT_R16G16_SNORM: - pstr = L"DXGI_FORMAT_R16G16_SNORM"; break; - case DXGI_FORMAT_R16G16_SINT: - pstr = L"DXGI_FORMAT_R16G16_SINT"; break; - case DXGI_FORMAT_R32_TYPELESS: - pstr = L"DXGI_FORMAT_R32_TYPELESS"; break; - case DXGI_FORMAT_D32_FLOAT: - pstr = L"DXGI_FORMAT_D32_FLOAT"; break; - case DXGI_FORMAT_R32_FLOAT: - pstr = L"DXGI_FORMAT_R32_FLOAT"; break; - case DXGI_FORMAT_R32_UINT: - pstr = L"DXGI_FORMAT_R32_UINT"; break; - case DXGI_FORMAT_R32_SINT: - pstr = L"DXGI_FORMAT_R32_SINT"; break; - case DXGI_FORMAT_R24G8_TYPELESS: - pstr = L"DXGI_FORMAT_R24G8_TYPELESS"; break; - case DXGI_FORMAT_D24_UNORM_S8_UINT: - pstr = L"DXGI_FORMAT_D24_UNORM_S8_UINT"; break; - case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: - pstr = L"DXGI_FORMAT_R24_UNORM_X8_TYPELESS"; break; - case DXGI_FORMAT_X24_TYPELESS_G8_UINT: - pstr = L"DXGI_FORMAT_X24_TYPELESS_G8_UINT"; break; - case DXGI_FORMAT_R8G8_TYPELESS: - pstr = L"DXGI_FORMAT_R8G8_TYPELESS"; break; - case DXGI_FORMAT_R8G8_UNORM: - pstr = L"DXGI_FORMAT_R8G8_UNORM"; break; - case DXGI_FORMAT_R8G8_UINT: - pstr = L"DXGI_FORMAT_R8G8_UINT"; break; - case DXGI_FORMAT_R8G8_SNORM: - pstr = L"DXGI_FORMAT_R8G8_SNORM"; break; - case DXGI_FORMAT_R8G8_SINT: - pstr = L"DXGI_FORMAT_R8G8_SINT"; break; - case DXGI_FORMAT_R16_TYPELESS: - pstr = L"DXGI_FORMAT_R16_TYPELESS"; break; - case DXGI_FORMAT_R16_FLOAT: - pstr = L"DXGI_FORMAT_R16_FLOAT"; break; - case DXGI_FORMAT_D16_UNORM: - pstr = L"DXGI_FORMAT_D16_UNORM"; break; - case DXGI_FORMAT_R16_UNORM: - pstr = L"DXGI_FORMAT_R16_UNORM"; break; - case DXGI_FORMAT_R16_UINT: - pstr = L"DXGI_FORMAT_R16_UINT"; break; - case DXGI_FORMAT_R16_SNORM: - pstr = L"DXGI_FORMAT_R16_SNORM"; break; - case DXGI_FORMAT_R16_SINT: - pstr = L"DXGI_FORMAT_R16_SINT"; break; - case DXGI_FORMAT_R8_TYPELESS: - pstr = L"DXGI_FORMAT_R8_TYPELESS"; break; - case DXGI_FORMAT_R8_UNORM: - pstr = L"DXGI_FORMAT_R8_UNORM"; break; - case DXGI_FORMAT_R8_UINT: - pstr = L"DXGI_FORMAT_R8_UINT"; break; - case DXGI_FORMAT_R8_SNORM: - pstr = L"DXGI_FORMAT_R8_SNORM"; break; - case DXGI_FORMAT_R8_SINT: - pstr = L"DXGI_FORMAT_R8_SINT"; break; - case DXGI_FORMAT_A8_UNORM: - pstr = L"DXGI_FORMAT_A8_UNORM"; break; - case DXGI_FORMAT_R1_UNORM: - pstr = L"DXGI_FORMAT_R1_UNORM"; break; - case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: - pstr = L"DXGI_FORMAT_R9G9B9E5_SHAREDEXP"; break; - case DXGI_FORMAT_R8G8_B8G8_UNORM: - pstr = L"DXGI_FORMAT_R8G8_B8G8_UNORM"; break; - case DXGI_FORMAT_G8R8_G8B8_UNORM: - pstr = L"DXGI_FORMAT_G8R8_G8B8_UNORM"; break; - case DXGI_FORMAT_BC1_TYPELESS: - pstr = L"DXGI_FORMAT_BC1_TYPELESS"; break; - case DXGI_FORMAT_BC1_UNORM: - pstr = L"DXGI_FORMAT_BC1_UNORM"; break; - case DXGI_FORMAT_BC1_UNORM_SRGB: - pstr = L"DXGI_FORMAT_BC1_UNORM_SRGB"; break; - case DXGI_FORMAT_BC2_TYPELESS: - pstr = L"DXGI_FORMAT_BC2_TYPELESS"; break; - case DXGI_FORMAT_BC2_UNORM: - pstr = L"DXGI_FORMAT_BC2_UNORM"; break; - case DXGI_FORMAT_BC2_UNORM_SRGB: - pstr = L"DXGI_FORMAT_BC2_UNORM_SRGB"; break; - case DXGI_FORMAT_BC3_TYPELESS: - pstr = L"DXGI_FORMAT_BC3_TYPELESS"; break; - case DXGI_FORMAT_BC3_UNORM: - pstr = L"DXGI_FORMAT_BC3_UNORM"; break; - case DXGI_FORMAT_BC3_UNORM_SRGB: - pstr = L"DXGI_FORMAT_BC3_UNORM_SRGB"; break; - case DXGI_FORMAT_BC4_TYPELESS: - pstr = L"DXGI_FORMAT_BC4_TYPELESS"; break; - case DXGI_FORMAT_BC4_UNORM: - pstr = L"DXGI_FORMAT_BC4_UNORM"; break; - case DXGI_FORMAT_BC4_SNORM: - pstr = L"DXGI_FORMAT_BC4_SNORM"; break; - case DXGI_FORMAT_BC5_TYPELESS: - pstr = L"DXGI_FORMAT_BC5_TYPELESS"; break; - case DXGI_FORMAT_BC5_UNORM: - pstr = L"DXGI_FORMAT_BC5_UNORM"; break; - case DXGI_FORMAT_BC5_SNORM: - pstr = L"DXGI_FORMAT_BC5_SNORM"; break; - case DXGI_FORMAT_B5G6R5_UNORM: - pstr = L"DXGI_FORMAT_B5G6R5_UNORM"; break; - case DXGI_FORMAT_B5G5R5A1_UNORM: - pstr = L"DXGI_FORMAT_B5G5R5A1_UNORM"; break; - case DXGI_FORMAT_B8G8R8A8_UNORM: - pstr = L"DXGI_FORMAT_B8G8R8A8_UNORM"; break; + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32A32_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32A32_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32A32_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32A32_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32B32_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16B16A16_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G32_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32G8X24_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_D32_FLOAT_S8X24_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_X32_TYPELESS_G8X24_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R10G10B10A2_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R10G10B10A2_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R10G10B10A2_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R11G11B10_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8B8A8_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16G16_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_D32_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R32_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R24G8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_D24_UNORM_S8_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R24_UNORM_X8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_X24_TYPELESS_G8_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_FLOAT) + DXUTDXGIFMTSTR(DXGI_FORMAT_D16_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R16_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8_UINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8_SINT) + DXUTDXGIFMTSTR(DXGI_FORMAT_A8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R1_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R9G9B9E5_SHAREDEXP) + DXUTDXGIFMTSTR(DXGI_FORMAT_R8G8_B8G8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_G8R8_G8B8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC1_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC1_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC1_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC2_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC2_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC2_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC3_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC3_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC3_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC4_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC4_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC4_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC5_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC5_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC5_SNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_B5G6R5_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_B5G5R5A1_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8A8_UNORM) + + // DXGI 1.1 + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8X8_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8A8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8A8_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8X8_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_B8G8R8X8_UNORM_SRGB) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC6H_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC6H_UF16) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC6H_SF16) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC7_TYPELESS) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC7_UNORM) + DXUTDXGIFMTSTR(DXGI_FORMAT_BC7_UNORM_SRGB) + + // DXGI 1.2 + DXUTDXGIFMTSTR(DXGI_FORMAT_B4G4R4A4_UNORM) + default: pstr = L"Unknown format"; break; } - if( bWithPrefix || wcsstr( pstr, L"DXGI_FORMAT_" ) == NULL ) + if( bWithPrefix || !wcsstr( pstr, L"DXGI_FORMAT_" ) ) return pstr; else - return pstr + lstrlen( L"DXGI_FORMAT_" ); + return pstr + wcslen( L"DXGI_FORMAT_" ); } +#undef DXUTDXGIFMTSTR + //-------------------------------------------------------------------------------------- // Outputs to the debug stream a formatted Unicode string with a variable-argument list. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ VOID WINAPI DXUTOutputDebugStringW( LPCWSTR strMsg, ... ) { #if defined(DEBUG) || defined(_DEBUG) @@ -547,6 +352,7 @@ VOID WINAPI DXUTOutputDebugStringW( LPCWSTR strMsg, ... ) //-------------------------------------------------------------------------------------- // Outputs to the debug stream a formatted MBCS string with a variable-argument list. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ VOID WINAPI DXUTOutputDebugStringA( LPCSTR strMsg, ... ) { #if defined(DEBUG) || defined(_DEBUG) @@ -566,203 +372,190 @@ VOID WINAPI DXUTOutputDebugStringA( LPCSTR strMsg, ... ) //-------------------------------------------------------------------------------------- -// Direct3D9 dynamic linking support -- calls top-level D3D9 APIs with graceful +// Direct3D dynamic linking support -- calls top-level D3D APIs with graceful // failure if APIs are not present. //-------------------------------------------------------------------------------------- // Function prototypes -typedef IDirect3D9* (WINAPI * LPDIRECT3DCREATE9) (UINT); -typedef INT (WINAPI * LPD3DPERF_BEGINEVENT)(D3DCOLOR, LPCWSTR); +typedef INT (WINAPI * LPD3DPERF_BEGINEVENT)(DWORD, LPCWSTR); typedef INT (WINAPI * LPD3DPERF_ENDEVENT)(void); -typedef VOID (WINAPI * LPD3DPERF_SETMARKER)(D3DCOLOR, LPCWSTR); -typedef VOID (WINAPI * LPD3DPERF_SETREGION)(D3DCOLOR, LPCWSTR); +typedef VOID (WINAPI * LPD3DPERF_SETMARKER)(DWORD, LPCWSTR); +typedef VOID (WINAPI * LPD3DPERF_SETREGION)(DWORD, LPCWSTR); typedef BOOL (WINAPI * LPD3DPERF_QUERYREPEATFRAME)(void); typedef VOID (WINAPI * LPD3DPERF_SETOPTIONS)( DWORD dwOptions ); -typedef DWORD (WINAPI * LPD3DPERF_GETSTATUS)( void ); +typedef DWORD (WINAPI * LPD3DPERF_GETSTATUS)(); typedef HRESULT (WINAPI * LPCREATEDXGIFACTORY)(REFIID, void ** ); -typedef HRESULT (WINAPI * LPD3D11CREATEDEVICE)( IDXGIAdapter*, D3D_DRIVER_TYPE, HMODULE, UINT32, D3D_FEATURE_LEVEL*, UINT, UINT32, ID3D11Device**, D3D_FEATURE_LEVEL*, ID3D11DeviceContext** ); +typedef HRESULT (WINAPI * LPDXGIGETDEBUGINTERFACE)(REFIID, void ** ); // Module and function pointers -static HMODULE s_hModD3D9 = NULL; -static LPDIRECT3DCREATE9 s_DynamicDirect3DCreate9 = NULL; -static LPD3DPERF_BEGINEVENT s_DynamicD3DPERF_BeginEvent = NULL; -static LPD3DPERF_ENDEVENT s_DynamicD3DPERF_EndEvent = NULL; -static LPD3DPERF_SETMARKER s_DynamicD3DPERF_SetMarker = NULL; -static LPD3DPERF_SETREGION s_DynamicD3DPERF_SetRegion = NULL; -static LPD3DPERF_QUERYREPEATFRAME s_DynamicD3DPERF_QueryRepeatFrame = NULL; -static LPD3DPERF_SETOPTIONS s_DynamicD3DPERF_SetOptions = NULL; -static LPD3DPERF_GETSTATUS s_DynamicD3DPERF_GetStatus = NULL; -static HMODULE s_hModDXGI = NULL; -static LPCREATEDXGIFACTORY s_DynamicCreateDXGIFactory = NULL; -static HMODULE s_hModD3D11 = NULL; -static LPD3D11CREATEDEVICE s_DynamicD3D11CreateDevice = NULL; +static HMODULE s_hModD3D9 = nullptr; +static LPD3DPERF_BEGINEVENT s_DynamicD3DPERF_BeginEvent = nullptr; +static LPD3DPERF_ENDEVENT s_DynamicD3DPERF_EndEvent = nullptr; +static LPD3DPERF_SETMARKER s_DynamicD3DPERF_SetMarker = nullptr; +static LPD3DPERF_SETREGION s_DynamicD3DPERF_SetRegion = nullptr; +static LPD3DPERF_QUERYREPEATFRAME s_DynamicD3DPERF_QueryRepeatFrame = nullptr; +static LPD3DPERF_SETOPTIONS s_DynamicD3DPERF_SetOptions = nullptr; +static LPD3DPERF_GETSTATUS s_DynamicD3DPERF_GetStatus = nullptr; +static HMODULE s_hModDXGI = nullptr; +static HMODULE s_hModDXGIDebug = nullptr; +static LPCREATEDXGIFACTORY s_DynamicCreateDXGIFactory = nullptr; +static LPDXGIGETDEBUGINTERFACE s_DynamicDXGIGetDebugInterface = nullptr; +static HMODULE s_hModD3D11 = nullptr; +static PFN_D3D11_CREATE_DEVICE s_DynamicD3D11CreateDevice = nullptr; // Ensure function pointers are initialized -static bool DXUT_EnsureD3D9APIs( void ) +static bool DXUT_EnsureD3D9APIs() { // If the module is non-NULL, this function has already been called. Note // that this doesn't guarantee that all ProcAddresses were found. - if( s_hModD3D9 != NULL ) + if( s_hModD3D9 ) return true; - // This may fail if Direct3D 9 isn't installed - s_hModD3D9 = LoadLibrary( L"d3d9.dll" ); - if( s_hModD3D9 != NULL ) + // This could fail in theory, but not on any modern version of Windows + s_hModD3D9 = LoadLibraryEx( L"d3d9.dll", nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); + if( s_hModD3D9 ) { - s_DynamicDirect3DCreate9 = (LPDIRECT3DCREATE9)GetProcAddress( s_hModD3D9, "Direct3DCreate9" ); - s_DynamicD3DPERF_BeginEvent = (LPD3DPERF_BEGINEVENT)GetProcAddress( s_hModD3D9, "D3DPERF_BeginEvent" ); - s_DynamicD3DPERF_EndEvent = (LPD3DPERF_ENDEVENT)GetProcAddress( s_hModD3D9, "D3DPERF_EndEvent" ); - s_DynamicD3DPERF_SetMarker = (LPD3DPERF_SETMARKER)GetProcAddress( s_hModD3D9, "D3DPERF_SetMarker" ); - s_DynamicD3DPERF_SetRegion = (LPD3DPERF_SETREGION)GetProcAddress( s_hModD3D9, "D3DPERF_SetRegion" ); - s_DynamicD3DPERF_QueryRepeatFrame = (LPD3DPERF_QUERYREPEATFRAME)GetProcAddress( s_hModD3D9, "D3DPERF_QueryRepeatFrame" ); - s_DynamicD3DPERF_SetOptions = (LPD3DPERF_SETOPTIONS)GetProcAddress( s_hModD3D9, "D3DPERF_SetOptions" ); - s_DynamicD3DPERF_GetStatus = (LPD3DPERF_GETSTATUS)GetProcAddress( s_hModD3D9, "D3DPERF_GetStatus" ); + // TODO - Use 11.1 perf APIs instead? + s_DynamicD3DPERF_BeginEvent = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_BeginEvent" ) ) ); + s_DynamicD3DPERF_EndEvent = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_EndEvent" ) ) ); + s_DynamicD3DPERF_SetMarker = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_SetMarker" ) ) ); + s_DynamicD3DPERF_SetRegion = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_SetRegion" ) ) ); + s_DynamicD3DPERF_QueryRepeatFrame = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_QueryRepeatFrame" ) ) ); + s_DynamicD3DPERF_SetOptions = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_SetOptions" ) ) ); + s_DynamicD3DPERF_GetStatus = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D9, "D3DPERF_GetStatus" ) ) ); } - return s_hModD3D9 != NULL; + return s_hModD3D9 != nullptr; } -bool DXUT_EnsureD3D11APIs( void ) +bool DXUT_EnsureD3D11APIs() { // If both modules are non-NULL, this function has already been called. Note // that this doesn't guarantee that all ProcAddresses were found. - if( s_hModD3D11 != NULL && s_hModDXGI != NULL ) + if( s_hModD3D11 && s_hModDXGI ) return true; // This may fail if Direct3D 11 isn't installed - s_hModD3D11 = LoadLibrary( L"d3d11.dll" ); - if( s_hModD3D11 != NULL ) + s_hModD3D11 = LoadLibraryEx( L"d3d11.dll", nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); + if( s_hModD3D11 ) { - s_DynamicD3D11CreateDevice = ( LPD3D11CREATEDEVICE )GetProcAddress( s_hModD3D11, "D3D11CreateDevice" ); + s_DynamicD3D11CreateDevice = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModD3D11, "D3D11CreateDevice" ) ) ); } if( !s_DynamicCreateDXGIFactory ) { - s_hModDXGI = LoadLibrary( L"dxgi.dll" ); + s_hModDXGI = LoadLibraryEx( L"dxgi.dll", nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); if( s_hModDXGI ) { - s_DynamicCreateDXGIFactory = ( LPCREATEDXGIFACTORY )GetProcAddress( s_hModDXGI, "CreateDXGIFactory1" ); + s_DynamicCreateDXGIFactory = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModDXGI, "CreateDXGIFactory1" ) ) ); } - return ( s_hModDXGI != NULL ) && ( s_hModD3D11 != NULL ); - } + if ( !s_DynamicDXGIGetDebugInterface ) + { + s_hModDXGIDebug = LoadLibraryEx( L"dxgidebug.dll", nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); + if ( s_hModDXGIDebug ) + { + s_DynamicDXGIGetDebugInterface = reinterpret_cast( reinterpret_cast( GetProcAddress( s_hModDXGIDebug, "DXGIGetDebugInterface" ) ) ); + } + } - return ( s_hModD3D11 != NULL ); -} + return ( s_hModDXGI ) && ( s_hModD3D11 ); + } -IDirect3D9* WINAPI DXUT_Dynamic_Direct3DCreate9( UINT SDKVersion ) -{ - if( DXUT_EnsureD3D9APIs() && s_DynamicDirect3DCreate9 != NULL ) - return s_DynamicDirect3DCreate9( SDKVersion ); - else - return NULL; + return s_hModD3D11 != nullptr; } -int WINAPI DXUT_Dynamic_D3DPERF_BeginEvent( D3DCOLOR col, LPCWSTR wszName ) +int WINAPI DXUT_Dynamic_D3DPERF_BeginEvent( _In_ DWORD col, _In_z_ LPCWSTR wszName ) { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_BeginEvent != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_BeginEvent ) return s_DynamicD3DPERF_BeginEvent( col, wszName ); else return -1; } -int WINAPI DXUT_Dynamic_D3DPERF_EndEvent( void ) +int WINAPI DXUT_Dynamic_D3DPERF_EndEvent() { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_EndEvent != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_EndEvent ) return s_DynamicD3DPERF_EndEvent(); else return -1; } -void WINAPI DXUT_Dynamic_D3DPERF_SetMarker( D3DCOLOR col, LPCWSTR wszName ) +void WINAPI DXUT_Dynamic_D3DPERF_SetMarker( _In_ DWORD col, _In_z_ LPCWSTR wszName ) { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetMarker != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetMarker ) s_DynamicD3DPERF_SetMarker( col, wszName ); } -void WINAPI DXUT_Dynamic_D3DPERF_SetRegion( D3DCOLOR col, LPCWSTR wszName ) +void WINAPI DXUT_Dynamic_D3DPERF_SetRegion( _In_ DWORD col, _In_z_ LPCWSTR wszName ) { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetRegion != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetRegion ) s_DynamicD3DPERF_SetRegion( col, wszName ); } -BOOL WINAPI DXUT_Dynamic_D3DPERF_QueryRepeatFrame( void ) +BOOL WINAPI DXUT_Dynamic_D3DPERF_QueryRepeatFrame() { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_QueryRepeatFrame != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_QueryRepeatFrame ) return s_DynamicD3DPERF_QueryRepeatFrame(); else return FALSE; } -void WINAPI DXUT_Dynamic_D3DPERF_SetOptions( DWORD dwOptions ) +void WINAPI DXUT_Dynamic_D3DPERF_SetOptions( _In_ DWORD dwOptions ) { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetOptions != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_SetOptions ) s_DynamicD3DPERF_SetOptions( dwOptions ); } -DWORD WINAPI DXUT_Dynamic_D3DPERF_GetStatus( void ) +DWORD WINAPI DXUT_Dynamic_D3DPERF_GetStatus() { - if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_GetStatus != NULL ) + if( DXUT_EnsureD3D9APIs() && s_DynamicD3DPERF_GetStatus ) return s_DynamicD3DPERF_GetStatus(); else return 0; } +_Use_decl_annotations_ HRESULT WINAPI DXUT_Dynamic_CreateDXGIFactory1( REFIID rInterface, void** ppOut ) { - if( DXUT_EnsureD3D11APIs() && s_DynamicCreateDXGIFactory != NULL ) + if( DXUT_EnsureD3D11APIs() && s_DynamicCreateDXGIFactory ) return s_DynamicCreateDXGIFactory( rInterface, ppOut ); else - return DXUTERR_NODIRECT3D11; + return DXUTERR_NODIRECT3D; } +_Use_decl_annotations_ +HRESULT WINAPI DXUT_Dynamic_DXGIGetDebugInterface( REFIID rInterface, void** ppOut ) +{ + if( DXUT_EnsureD3D11APIs() && s_DynamicDXGIGetDebugInterface ) + return s_DynamicDXGIGetDebugInterface( rInterface, ppOut ); + else + return E_NOTIMPL; +} - +_Use_decl_annotations_ HRESULT WINAPI DXUT_Dynamic_D3D11CreateDevice( IDXGIAdapter* pAdapter, D3D_DRIVER_TYPE DriverType, HMODULE Software, UINT32 Flags, - D3D_FEATURE_LEVEL* pFeatureLevels, + const D3D_FEATURE_LEVEL* pFeatureLevels, UINT FeatureLevels, UINT32 SDKVersion, ID3D11Device** ppDevice, D3D_FEATURE_LEVEL* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext ) { - if( DXUT_EnsureD3D11APIs() && s_DynamicD3D11CreateDevice != NULL ) + if( DXUT_EnsureD3D11APIs() && s_DynamicD3D11CreateDevice ) return s_DynamicD3D11CreateDevice( pAdapter, DriverType, Software, Flags, pFeatureLevels, FeatureLevels, SDKVersion, ppDevice, pFeatureLevel, ppImmediateContext ); else - return DXUTERR_NODIRECT3D11; -} - -//-------------------------------------------------------------------------------------- -// Trace a string description of a decl -//-------------------------------------------------------------------------------------- -void WINAPI DXUTTraceDecl( D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE] ) -{ - int iDecl = 0; - for( iDecl = 0; iDecl < MAX_FVF_DECL_SIZE; iDecl++ ) - { - if( decl[iDecl].Stream == 0xFF ) - break; - - DXUTOutputDebugString( L"decl[%d]=Stream:%d, Offset:%d, %s, %s, %s, UsageIndex:%d\n", iDecl, - decl[iDecl].Stream, - decl[iDecl].Offset, - DXUTTraceD3DDECLTYPEtoString( decl[iDecl].Type ), - DXUTTraceD3DDECLMETHODtoString( decl[iDecl].Method ), - DXUTTraceD3DDECLUSAGEtoString( decl[iDecl].Usage ), - decl[iDecl].UsageIndex ); - } - - DXUTOutputDebugString( L"decl[%d]=D3DDECL_END\n", iDecl ); + return DXUTERR_NODIRECT3D; } #define TRACE_ID(iD) case iD: return L#iD; //-------------------------------------------------------------------------------------- -WCHAR* WINAPI DXUTTraceWindowsMessage( UINT uMsg ) +const WCHAR* WINAPI DXUTTraceWindowsMessage( _In_ UINT uMsg ) { switch( uMsg ) { @@ -986,113 +779,6 @@ WCHAR* WINAPI DXUTTraceWindowsMessage( UINT uMsg ) } -//-------------------------------------------------------------------------------------- -WCHAR* WINAPI DXUTTraceD3DDECLTYPEtoString( BYTE t ) -{ - switch( t ) - { - case D3DDECLTYPE_FLOAT1: - return L"D3DDECLTYPE_FLOAT1"; - case D3DDECLTYPE_FLOAT2: - return L"D3DDECLTYPE_FLOAT2"; - case D3DDECLTYPE_FLOAT3: - return L"D3DDECLTYPE_FLOAT3"; - case D3DDECLTYPE_FLOAT4: - return L"D3DDECLTYPE_FLOAT4"; - case D3DDECLTYPE_D3DCOLOR: - return L"D3DDECLTYPE_D3DCOLOR"; - case D3DDECLTYPE_UBYTE4: - return L"D3DDECLTYPE_UBYTE4"; - case D3DDECLTYPE_SHORT2: - return L"D3DDECLTYPE_SHORT2"; - case D3DDECLTYPE_SHORT4: - return L"D3DDECLTYPE_SHORT4"; - case D3DDECLTYPE_UBYTE4N: - return L"D3DDECLTYPE_UBYTE4N"; - case D3DDECLTYPE_SHORT2N: - return L"D3DDECLTYPE_SHORT2N"; - case D3DDECLTYPE_SHORT4N: - return L"D3DDECLTYPE_SHORT4N"; - case D3DDECLTYPE_USHORT2N: - return L"D3DDECLTYPE_USHORT2N"; - case D3DDECLTYPE_USHORT4N: - return L"D3DDECLTYPE_USHORT4N"; - case D3DDECLTYPE_UDEC3: - return L"D3DDECLTYPE_UDEC3"; - case D3DDECLTYPE_DEC3N: - return L"D3DDECLTYPE_DEC3N"; - case D3DDECLTYPE_FLOAT16_2: - return L"D3DDECLTYPE_FLOAT16_2"; - case D3DDECLTYPE_FLOAT16_4: - return L"D3DDECLTYPE_FLOAT16_4"; - case D3DDECLTYPE_UNUSED: - return L"D3DDECLTYPE_UNUSED"; - default: - return L"D3DDECLTYPE Unknown"; - } -} - -WCHAR* WINAPI DXUTTraceD3DDECLMETHODtoString( BYTE m ) -{ - switch( m ) - { - case D3DDECLMETHOD_DEFAULT: - return L"D3DDECLMETHOD_DEFAULT"; - case D3DDECLMETHOD_PARTIALU: - return L"D3DDECLMETHOD_PARTIALU"; - case D3DDECLMETHOD_PARTIALV: - return L"D3DDECLMETHOD_PARTIALV"; - case D3DDECLMETHOD_CROSSUV: - return L"D3DDECLMETHOD_CROSSUV"; - case D3DDECLMETHOD_UV: - return L"D3DDECLMETHOD_UV"; - case D3DDECLMETHOD_LOOKUP: - return L"D3DDECLMETHOD_LOOKUP"; - case D3DDECLMETHOD_LOOKUPPRESAMPLED: - return L"D3DDECLMETHOD_LOOKUPPRESAMPLED"; - default: - return L"D3DDECLMETHOD Unknown"; - } -} - -WCHAR* WINAPI DXUTTraceD3DDECLUSAGEtoString( BYTE u ) -{ - switch( u ) - { - case D3DDECLUSAGE_POSITION: - return L"D3DDECLUSAGE_POSITION"; - case D3DDECLUSAGE_BLENDWEIGHT: - return L"D3DDECLUSAGE_BLENDWEIGHT"; - case D3DDECLUSAGE_BLENDINDICES: - return L"D3DDECLUSAGE_BLENDINDICES"; - case D3DDECLUSAGE_NORMAL: - return L"D3DDECLUSAGE_NORMAL"; - case D3DDECLUSAGE_PSIZE: - return L"D3DDECLUSAGE_PSIZE"; - case D3DDECLUSAGE_TEXCOORD: - return L"D3DDECLUSAGE_TEXCOORD"; - case D3DDECLUSAGE_TANGENT: - return L"D3DDECLUSAGE_TANGENT"; - case D3DDECLUSAGE_BINORMAL: - return L"D3DDECLUSAGE_BINORMAL"; - case D3DDECLUSAGE_TESSFACTOR: - return L"D3DDECLUSAGE_TESSFACTOR"; - case D3DDECLUSAGE_POSITIONT: - return L"D3DDECLUSAGE_POSITIONT"; - case D3DDECLUSAGE_COLOR: - return L"D3DDECLUSAGE_COLOR"; - case D3DDECLUSAGE_FOG: - return L"D3DDECLUSAGE_FOG"; - case D3DDECLUSAGE_DEPTH: - return L"D3DDECLUSAGE_DEPTH"; - case D3DDECLUSAGE_SAMPLE: - return L"D3DDECLUSAGE_SAMPLE"; - default: - return L"D3DDECLUSAGE Unknown"; - } -} - - //-------------------------------------------------------------------------------------- // Multimon API handling for OSes with or without multimon API support //-------------------------------------------------------------------------------------- @@ -1101,24 +787,19 @@ typedef HMONITOR ( WINAPI* LPMONITORFROMWINDOW )( HWND, DWORD ); typedef BOOL ( WINAPI* LPGETMONITORINFO )( HMONITOR, LPMONITORINFO ); typedef HMONITOR ( WINAPI* LPMONITORFROMRECT )( LPCRECT lprcScreenCoords, DWORD dwFlags ); +#pragma warning( suppress : 6101 ) +_Use_decl_annotations_ BOOL WINAPI DXUTGetMonitorInfo( HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo ) { static bool s_bInited = false; - static LPGETMONITORINFO s_pFnGetMonitorInfo = NULL; + static LPGETMONITORINFO s_pFnGetMonitorInfo = nullptr; if( !s_bInited ) { s_bInited = true; HMODULE hUser32 = GetModuleHandle( L"USER32" ); if( hUser32 ) { - OSVERSIONINFOA osvi = - { - 0 - }; osvi.dwOSVersionInfoSize = sizeof( osvi ); GetVersionExA( ( OSVERSIONINFOA* )&osvi ); - bool bNT = ( VER_PLATFORM_WIN32_NT == osvi.dwPlatformId ); - s_pFnGetMonitorInfo = ( LPGETMONITORINFO )( bNT ? GetProcAddress( hUser32, - "GetMonitorInfoW" ) : - GetProcAddress( hUser32, "GetMonitorInfoA" ) ); + s_pFnGetMonitorInfo = reinterpret_cast( reinterpret_cast( GetProcAddress( hUser32, "GetMonitorInfoW" ) ) ); } } @@ -1141,16 +822,17 @@ BOOL WINAPI DXUTGetMonitorInfo( HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo ) } +_Use_decl_annotations_ HMONITOR WINAPI DXUTMonitorFromWindow( HWND hWnd, DWORD dwFlags ) { static bool s_bInited = false; - static LPMONITORFROMWINDOW s_pFnGetMonitorFromWindow = NULL; + static LPMONITORFROMWINDOW s_pFnGetMonitorFromWindow = nullptr; if( !s_bInited ) { s_bInited = true; HMODULE hUser32 = GetModuleHandle( L"USER32" ); - if( hUser32 ) s_pFnGetMonitorFromWindow = ( LPMONITORFROMWINDOW )GetProcAddress( hUser32, - "MonitorFromWindow" ); + if( hUser32 ) s_pFnGetMonitorFromWindow = reinterpret_cast( reinterpret_cast( GetProcAddress( hUser32, + "MonitorFromWindow" ) ) ); } if( s_pFnGetMonitorFromWindow ) @@ -1160,15 +842,16 @@ HMONITOR WINAPI DXUTMonitorFromWindow( HWND hWnd, DWORD dwFlags ) } +_Use_decl_annotations_ HMONITOR WINAPI DXUTMonitorFromRect( LPCRECT lprcScreenCoords, DWORD dwFlags ) { static bool s_bInited = false; - static LPMONITORFROMRECT s_pFnGetMonitorFromRect = NULL; + static LPMONITORFROMRECT s_pFnGetMonitorFromRect = nullptr; if( !s_bInited ) { s_bInited = true; HMODULE hUser32 = GetModuleHandle( L"USER32" ); - if( hUser32 ) s_pFnGetMonitorFromRect = ( LPMONITORFROMRECT )GetProcAddress( hUser32, "MonitorFromRect" ); + if( hUser32 ) s_pFnGetMonitorFromRect = reinterpret_cast( reinterpret_cast( GetProcAddress( hUser32, "MonitorFromRect" ) ) ); } if( s_pFnGetMonitorFromRect ) @@ -1182,37 +865,26 @@ HMONITOR WINAPI DXUTMonitorFromRect( LPCRECT lprcScreenCoords, DWORD dwFlags ) // Get the desktop resolution of an adapter. This isn't the same as the current resolution // from GetAdapterDisplayMode since the device might be fullscreen //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void WINAPI DXUTGetDesktopResolution( UINT AdapterOrdinal, UINT* pWidth, UINT* pHeight ) { - DXUTDeviceSettings DeviceSettings = DXUTGetDeviceSettings(); + auto DeviceSettings = DXUTGetDeviceSettings(); - WCHAR strDeviceName[256] = {0}; - DEVMODE devMode; - ZeroMemory( &devMode, sizeof( DEVMODE ) ); + WCHAR strDeviceName[256] = {}; + DEVMODE devMode = {}; devMode.dmSize = sizeof( DEVMODE ); - if( DeviceSettings.ver == DXUT_D3D9_DEVICE ) - { - CD3D9Enumeration* pd3dEnum = DXUTGetD3D9Enumeration(); - assert( pd3dEnum != NULL ); - CD3D9EnumAdapterInfo* pAdapterInfo = pd3dEnum->GetAdapterInfo( AdapterOrdinal ); - if( pAdapterInfo ) - { - MultiByteToWideChar( CP_ACP, 0, pAdapterInfo->AdapterIdentifier.DeviceName, -1, strDeviceName, 256 ); - strDeviceName[255] = 0; - } - } - else + + auto pd3dEnum = DXUTGetD3D11Enumeration(); + assert( pd3dEnum ); + _Analysis_assume_( pd3dEnum ); + auto pOutputInfo = pd3dEnum->GetOutputInfo( AdapterOrdinal, DeviceSettings.d3d11.Output ); + if( pOutputInfo ) { - CD3D11Enumeration* pd3dEnum = DXUTGetD3D11Enumeration(); - assert( pd3dEnum != NULL ); - CD3D11EnumOutputInfo* pOutputInfo = pd3dEnum->GetOutputInfo( AdapterOrdinal, DeviceSettings.d3d11.Output ); - if( pOutputInfo ) - { - wcscpy_s( strDeviceName, 256, pOutputInfo->Desc.DeviceName ); - } + wcscpy_s( strDeviceName, 256, pOutputInfo->Desc.DeviceName ); } EnumDisplaySettings( strDeviceName, ENUM_REGISTRY_SETTINGS, &devMode ); + if( pWidth ) *pWidth = devMode.dmPelsWidth; if( pHeight ) @@ -1223,6 +895,7 @@ void WINAPI DXUTGetDesktopResolution( UINT AdapterOrdinal, UINT* pWidth, UINT* p //-------------------------------------------------------------------------------------- // Display error msg box to help debug //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT WINAPI DXUTTrace( const CHAR* strFile, DWORD dwLine, HRESULT hr, const WCHAR* strMsg, bool bPopMsgBox ) { @@ -1230,267 +903,19 @@ HRESULT WINAPI DXUTTrace( const CHAR* strFile, DWORD dwLine, HRESULT hr, if( bPopMsgBox && bShowMsgBoxOnError == false ) bPopMsgBox = false; - return DXTrace( strFile, dwLine, hr, strMsg, bPopMsgBox ); -} - - -//-------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------- -void WINAPI DXUTConvertDeviceSettings11to9( DXUTD3D11DeviceSettings* pIn, DXUTD3D9DeviceSettings* pOut ) -{ - pOut->AdapterOrdinal = pIn->AdapterOrdinal; - - if( pIn->DriverType == D3D_DRIVER_TYPE_HARDWARE ) - pOut->DeviceType = D3DDEVTYPE_HAL; - else if( pIn->DriverType == D3D_DRIVER_TYPE_REFERENCE ) - pOut->DeviceType = D3DDEVTYPE_REF; - else if( pIn->DriverType == D3D_DRIVER_TYPE_NULL ) - pOut->DeviceType = D3DDEVTYPE_NULLREF; - - pOut->AdapterFormat = ConvertFormatDXGIToD3D9( pIn->sd.BufferDesc.Format ); - pOut->BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING; - pOut->pp.BackBufferWidth = pIn->sd.BufferDesc.Width; - pOut->pp.BackBufferHeight = pIn->sd.BufferDesc.Height; - pOut->pp.BackBufferFormat = ConvertFormatDXGIToD3D9( pIn->sd.BufferDesc.Format ); - pOut->pp.BackBufferCount = pIn->sd.BufferCount; - pOut->pp.MultiSampleType = ( D3DMULTISAMPLE_TYPE )pIn->sd.SampleDesc.Count; - pOut->pp.MultiSampleQuality = pIn->sd.SampleDesc.Quality; - pOut->pp.SwapEffect = D3DSWAPEFFECT_DISCARD; - pOut->pp.hDeviceWindow = pIn->sd.OutputWindow; - pOut->pp.Windowed = pIn->sd.Windowed; - pOut->pp.EnableAutoDepthStencil = true; - pOut->pp.AutoDepthStencilFormat = D3DFMT_D24FS8; - pOut->pp.Flags = 0; - if( pIn->sd.BufferDesc.RefreshRate.Denominator == 0 ) - pOut->pp.FullScreen_RefreshRateInHz = 60; - else - pOut->pp.FullScreen_RefreshRateInHz = pIn->sd.BufferDesc.RefreshRate.Numerator / - pIn->sd.BufferDesc.RefreshRate.Denominator; - - switch( pIn->SyncInterval ) - { - case 0: - pOut->pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; break; - case 2: - pOut->pp.PresentationInterval = D3DPRESENT_INTERVAL_TWO; break; - case 3: - pOut->pp.PresentationInterval = D3DPRESENT_INTERVAL_THREE; break; - case 4: - pOut->pp.PresentationInterval = D3DPRESENT_INTERVAL_FOUR; break; - - case 1: - default: - pOut->pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; - break; - } -} - - -//-------------------------------------------------------------------------------------- -void WINAPI DXUTConvertDeviceSettings9to11( DXUTD3D9DeviceSettings* pIn, DXUTD3D11DeviceSettings* pOut ) -{ - pOut->AdapterOrdinal = pIn->AdapterOrdinal; - - if( pIn->DeviceType == D3DDEVTYPE_HAL ) - pOut->DriverType = D3D_DRIVER_TYPE_HARDWARE; - else if( pIn->DeviceType == D3DDEVTYPE_REF ) - pOut->DriverType = D3D_DRIVER_TYPE_REFERENCE; - else if( pIn->DeviceType == D3DDEVTYPE_NULLREF ) - pOut->DriverType = D3D_DRIVER_TYPE_NULL; - - pOut->Output = 0; - - pOut->sd.BufferDesc.Width = pIn->pp.BackBufferWidth; - pOut->sd.BufferDesc.Height = pIn->pp.BackBufferHeight; - pOut->sd.BufferDesc.RefreshRate.Numerator = pIn->pp.FullScreen_RefreshRateInHz; - pOut->sd.BufferDesc.RefreshRate.Denominator = 1; - pOut->sd.BufferDesc.Format = ConvertFormatD3D9ToDXGI( pIn->pp.BackBufferFormat ); - - if( pIn->pp.MultiSampleType == D3DMULTISAMPLE_NONMASKABLE ) - { - pOut->sd.SampleDesc.Count = pIn->pp.MultiSampleQuality; - pOut->sd.SampleDesc.Quality = 0; - } - else + WCHAR buff[ MAX_PATH ]; + int result = MultiByteToWideChar( CP_ACP, + MB_PRECOMPOSED, + strFile, + -1, + buff, + MAX_PATH ); + if ( !result ) { - pOut->sd.SampleDesc.Count = pIn->pp.MultiSampleType; - pOut->sd.SampleDesc.Quality = pIn->pp.MultiSampleQuality; + wcscpy_s( buff, L"*ERROR*" ); } - pOut->sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; - pOut->sd.BufferCount = pIn->pp.BackBufferCount; - pOut->sd.OutputWindow = pIn->pp.hDeviceWindow; - pOut->sd.Windowed = pIn->pp.Windowed; - -#if defined(DEBUG) || defined(_DEBUG) - pOut->CreateFlags = D3D11_CREATE_DEVICE_DEBUG; -#else - pOut->CreateFlags = 0; -#endif - - switch( pIn->pp.PresentationInterval ) - { - case D3DPRESENT_INTERVAL_IMMEDIATE: - pOut->SyncInterval = 0; break; - case D3DPRESENT_INTERVAL_ONE: - pOut->SyncInterval = 1; break; - case D3DPRESENT_INTERVAL_TWO: - pOut->SyncInterval = 2; break; - case D3DPRESENT_INTERVAL_THREE: - pOut->SyncInterval = 3; break; - case D3DPRESENT_INTERVAL_FOUR: - pOut->SyncInterval = 4; break; - - case D3DPRESENT_INTERVAL_DEFAULT: - default: - pOut->SyncInterval = 1; - break; - } - - pOut->PresentFlags = 0; -} - - - -DXGI_FORMAT WINAPI ConvertFormatD3D9ToDXGI( D3DFORMAT fmt ) -{ - switch( fmt ) - { - case D3DFMT_UNKNOWN: - return DXGI_FORMAT_UNKNOWN; - case D3DFMT_R8G8B8: - case D3DFMT_A8R8G8B8: - case D3DFMT_X8R8G8B8: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case D3DFMT_R5G6B5: - return DXGI_FORMAT_B5G6R5_UNORM; - case D3DFMT_X1R5G5B5: - case D3DFMT_A1R5G5B5: - return DXGI_FORMAT_B5G5R5A1_UNORM; - case D3DFMT_A4R4G4B4: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case D3DFMT_R3G3B2: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case D3DFMT_A8: - return DXGI_FORMAT_A8_UNORM; - case D3DFMT_A8R3G3B2: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case D3DFMT_X4R4G4B4: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case D3DFMT_A2B10G10R10: - return DXGI_FORMAT_R10G10B10A2_UNORM; - case D3DFMT_A8B8G8R8: - case D3DFMT_X8B8G8R8: - return DXGI_FORMAT_B8G8R8A8_UNORM; - case D3DFMT_G16R16: - return DXGI_FORMAT_R16G16_UNORM; - case D3DFMT_A2R10G10B10: - return DXGI_FORMAT_R10G10B10A2_UNORM; - case D3DFMT_A16B16G16R16: - return DXGI_FORMAT_R16G16B16A16_UNORM; - case D3DFMT_R16F: - return DXGI_FORMAT_R16_FLOAT; - case D3DFMT_G16R16F: - return DXGI_FORMAT_R16G16_FLOAT; - case D3DFMT_A16B16G16R16F: - return DXGI_FORMAT_R16G16B16A16_FLOAT; - case D3DFMT_R32F: - return DXGI_FORMAT_R32_FLOAT; - case D3DFMT_G32R32F: - return DXGI_FORMAT_R32G32_FLOAT; - case D3DFMT_A32B32G32R32F: - return DXGI_FORMAT_R32G32B32A32_FLOAT; - } - return DXGI_FORMAT_UNKNOWN; -} - - -D3DFORMAT WINAPI ConvertFormatDXGIToD3D9( DXGI_FORMAT fmt ) -{ - switch( fmt ) - { - case DXGI_FORMAT_UNKNOWN: - return D3DFMT_UNKNOWN; - case DXGI_FORMAT_R8G8B8A8_UNORM: - return D3DFMT_A8R8G8B8; - case DXGI_FORMAT_B5G6R5_UNORM: - return D3DFMT_R5G6B5; - case DXGI_FORMAT_B5G5R5A1_UNORM: - return D3DFMT_A1R5G5B5; - case DXGI_FORMAT_A8_UNORM: - return D3DFMT_A8; - case DXGI_FORMAT_R10G10B10A2_UNORM: - return D3DFMT_A2B10G10R10; - case DXGI_FORMAT_B8G8R8A8_UNORM: - return D3DFMT_A8B8G8R8; - case DXGI_FORMAT_R16G16_UNORM: - return D3DFMT_G16R16; - case DXGI_FORMAT_R16G16B16A16_UNORM: - return D3DFMT_A16B16G16R16; - case DXGI_FORMAT_R16_FLOAT: - return D3DFMT_R16F; - case DXGI_FORMAT_R16G16_FLOAT: - return D3DFMT_G16R16F; - case DXGI_FORMAT_R16G16B16A16_FLOAT: - return D3DFMT_A16B16G16R16F; - case DXGI_FORMAT_R32_FLOAT: - return D3DFMT_R32F; - case DXGI_FORMAT_R32G32_FLOAT: - return D3DFMT_G32R32F; - case DXGI_FORMAT_R32G32B32A32_FLOAT: - return D3DFMT_A32B32G32R32F; - } - return D3DFMT_UNKNOWN; -} - -//-------------------------------------------------------------------------------------- -IDirect3DDevice9* WINAPI DXUTCreateRefDevice9( HWND hWnd, bool bNullRef ) -{ - HRESULT hr; - IDirect3D9* pD3D = DXUT_Dynamic_Direct3DCreate9( D3D_SDK_VERSION ); - if( NULL == pD3D ) - return NULL; - - D3DDISPLAYMODE Mode; - pD3D->GetAdapterDisplayMode( 0, &Mode ); - - D3DPRESENT_PARAMETERS pp; - ZeroMemory( &pp, sizeof( D3DPRESENT_PARAMETERS ) ); - pp.BackBufferWidth = 1; - pp.BackBufferHeight = 1; - pp.BackBufferFormat = Mode.Format; - pp.BackBufferCount = 1; - pp.SwapEffect = D3DSWAPEFFECT_COPY; - pp.Windowed = TRUE; - pp.hDeviceWindow = hWnd; - - IDirect3DDevice9* pd3dDevice = NULL; - hr = pD3D->CreateDevice( D3DADAPTER_DEFAULT, bNullRef ? D3DDEVTYPE_NULLREF : D3DDEVTYPE_REF, - hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &pp, &pd3dDevice ); - - SAFE_RELEASE( pD3D ); - return pd3dDevice; -} - - -//-------------------------------------------------------------------------------------- -// Helper function to launch the Media Center UI after the program terminates -//-------------------------------------------------------------------------------------- -bool DXUTReLaunchMediaCenter() -{ - // Get the path to Media Center - WCHAR szExpandedPath[MAX_PATH]; - if( !ExpandEnvironmentStrings( L"%SystemRoot%\\ehome\\ehshell.exe", szExpandedPath, MAX_PATH ) ) - return false; - - // Skip if ehshell.exe doesn't exist - if( GetFileAttributes( szExpandedPath ) == 0xFFFFFFFF ) - return false; - - // Launch ehshell.exe - INT_PTR result = ( INT_PTR )ShellExecute( NULL, TEXT( "open" ), szExpandedPath, NULL, NULL, SW_SHOWNORMAL ); - return ( result > 32 ); + return DXTraceW( buff, dwLine, hr, strMsg, bPopMsgBox ); } typedef DWORD ( WINAPI* LPXINPUTGETSTATE )( DWORD dwUserIndex, XINPUT_STATE* pState ); @@ -1502,24 +927,25 @@ typedef void ( WINAPI* LPXINPUTENABLE )( BOOL bEnable ); //-------------------------------------------------------------------------------------- // Does extra processing on XInput data to make it slightly more convenient to use //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT DXUTGetGamepadState( DWORD dwPort, DXUT_GAMEPAD* pGamePad, bool bThumbstickDeadZone, bool bSnapThumbstickToCardinals ) { - if( dwPort >= DXUT_MAX_CONTROLLERS || pGamePad == NULL ) + if( dwPort >= DXUT_MAX_CONTROLLERS || !pGamePad ) return E_FAIL; - static LPXINPUTGETSTATE s_pXInputGetState = NULL; - static LPXINPUTGETCAPABILITIES s_pXInputGetCapabilities = NULL; - if( NULL == s_pXInputGetState || NULL == s_pXInputGetCapabilities ) + static LPXINPUTGETSTATE s_pXInputGetState = nullptr; + static LPXINPUTGETCAPABILITIES s_pXInputGetCapabilities = nullptr; + if( !s_pXInputGetState || !s_pXInputGetCapabilities ) { - HINSTANCE hInst = LoadLibrary( XINPUT_DLL ); + HINSTANCE hInst = LoadLibraryEx( XINPUT_DLL, nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); if( hInst ) { - s_pXInputGetState = ( LPXINPUTGETSTATE )GetProcAddress( hInst, "XInputGetState" ); - s_pXInputGetCapabilities = ( LPXINPUTGETCAPABILITIES )GetProcAddress( hInst, "XInputGetCapabilities" ); + s_pXInputGetState = reinterpret_cast( reinterpret_cast( GetProcAddress( hInst, "XInputGetState" ) ) ); + s_pXInputGetCapabilities = reinterpret_cast( reinterpret_cast( GetProcAddress( hInst, "XInputGetCapabilities" ) ) ); } } - if( s_pXInputGetState == NULL ) + if( !s_pXInputGetState ) return E_FAIL; XINPUT_STATE InputState; @@ -1614,14 +1040,14 @@ HRESULT DXUTGetGamepadState( DWORD dwPort, DXUT_GAMEPAD* pGamePad, bool bThumbst // Don't pause the game or deactive the window without first stopping rumble otherwise // the controller will continue to rumble //-------------------------------------------------------------------------------------- -void DXUTEnableXInput( bool bEnable ) +void DXUTEnableXInput( _In_ bool bEnable ) { - static LPXINPUTENABLE s_pXInputEnable = NULL; - if( NULL == s_pXInputEnable ) + static LPXINPUTENABLE s_pXInputEnable = nullptr; + if( !s_pXInputEnable ) { - HINSTANCE hInst = LoadLibrary( XINPUT_DLL ); + HINSTANCE hInst = LoadLibraryEx( XINPUT_DLL, nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); if( hInst ) - s_pXInputEnable = ( LPXINPUTENABLE )GetProcAddress( hInst, "XInputEnable" ); + s_pXInputEnable = reinterpret_cast( reinterpret_cast( GetProcAddress( hInst, "XInputEnable" ) ) ); } if( s_pXInputEnable ) @@ -1635,14 +1061,14 @@ void DXUTEnableXInput( bool bEnable ) //-------------------------------------------------------------------------------------- HRESULT DXUTStopRumbleOnAllControllers() { - static LPXINPUTSETSTATE s_pXInputSetState = NULL; - if( NULL == s_pXInputSetState ) + static LPXINPUTSETSTATE s_pXInputSetState = nullptr; + if( !s_pXInputSetState ) { - HINSTANCE hInst = LoadLibrary( XINPUT_DLL ); + HINSTANCE hInst = LoadLibraryEx( XINPUT_DLL, nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); if( hInst ) - s_pXInputSetState = ( LPXINPUTSETSTATE )GetProcAddress( hInst, "XInputSetState" ); + s_pXInputSetState = reinterpret_cast( reinterpret_cast( GetProcAddress( hInst, "XInputSetState" ) ) ); } - if( s_pXInputSetState == NULL ) + if( !s_pXInputSetState ) return E_FAIL; XINPUT_VIBRATION vibration; @@ -1657,7 +1083,7 @@ HRESULT DXUTStopRumbleOnAllControllers() //-------------------------------------------------------------------------------------- // Helper functions to create SRGB formats from typeless formats and vice versa //-------------------------------------------------------------------------------------- -DXGI_FORMAT MAKE_SRGB( DXGI_FORMAT format ) +DXGI_FORMAT MAKE_SRGB( _In_ DXGI_FORMAT format ) { if( !DXUTIsInGammaCorrectMode() ) return format; @@ -1674,66 +1100,146 @@ DXGI_FORMAT MAKE_SRGB( DXGI_FORMAT format ) case DXGI_FORMAT_BC1_TYPELESS: case DXGI_FORMAT_BC1_UNORM: return DXGI_FORMAT_BC1_UNORM_SRGB; + case DXGI_FORMAT_BC2_TYPELESS: case DXGI_FORMAT_BC2_UNORM: return DXGI_FORMAT_BC2_UNORM_SRGB; + case DXGI_FORMAT_BC3_TYPELESS: case DXGI_FORMAT_BC3_UNORM: return DXGI_FORMAT_BC3_UNORM_SRGB; - }; - - return format; -} - -//-------------------------------------------------------------------------------------- -DXGI_FORMAT MAKE_TYPELESS( DXGI_FORMAT format ) -{ - if( !DXUTIsInGammaCorrectMode() ) - return format; + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; - switch( format ) - { - case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: - case DXGI_FORMAT_R8G8B8A8_UNORM: - case DXGI_FORMAT_R8G8B8A8_UINT: - case DXGI_FORMAT_R8G8B8A8_SNORM: - case DXGI_FORMAT_R8G8B8A8_SINT: - return DXGI_FORMAT_R8G8B8A8_TYPELESS; + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC1_UNORM: - return DXGI_FORMAT_BC1_TYPELESS; - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC2_UNORM: - return DXGI_FORMAT_BC2_TYPELESS; - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC3_UNORM: - return DXGI_FORMAT_BC3_TYPELESS; + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM_SRGB; }; return format; } //-------------------------------------------------------------------------------------- -HRESULT DXUTSnapD3D9Screenshot( LPCTSTR szFileName ) +DXGI_FORMAT MAKE_TYPELESS( _In_ DXGI_FORMAT format ) { - HRESULT hr = S_OK; - IDirect3DDevice9* pDev = DXUTGetD3D9Device(); - if( !pDev ) - return E_FAIL; - - IDirect3DSurface9* pBackBuffer = NULL; - V_RETURN( pDev->GetBackBuffer( 0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer ) ); - - return D3DXSaveSurfaceToFile( szFileName, D3DXIFF_BMP, pBackBuffer, NULL, NULL ); + switch( format ) + { + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R32G32B32A32_UINT: + case DXGI_FORMAT_R32G32B32A32_SINT: + return DXGI_FORMAT_R32G32B32A32_TYPELESS; + + case DXGI_FORMAT_R32G32B32_FLOAT: + case DXGI_FORMAT_R32G32B32_UINT: + case DXGI_FORMAT_R32G32B32_SINT: + return DXGI_FORMAT_R32G32B32_TYPELESS; + + case DXGI_FORMAT_R16G16B16A16_FLOAT: + case DXGI_FORMAT_R16G16B16A16_UNORM: + case DXGI_FORMAT_R16G16B16A16_UINT: + case DXGI_FORMAT_R16G16B16A16_SNORM: + case DXGI_FORMAT_R16G16B16A16_SINT: + return DXGI_FORMAT_R16G16B16A16_TYPELESS; + + case DXGI_FORMAT_R32G32_FLOAT: + case DXGI_FORMAT_R32G32_UINT: + case DXGI_FORMAT_R32G32_SINT: + return DXGI_FORMAT_R32G32_TYPELESS; + + case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R10G10B10A2_UINT: + return DXGI_FORMAT_R10G10B10A2_TYPELESS; + + case DXGI_FORMAT_R8G8B8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + case DXGI_FORMAT_R8G8B8A8_UINT: + case DXGI_FORMAT_R8G8B8A8_SNORM: + case DXGI_FORMAT_R8G8B8A8_SINT: + return DXGI_FORMAT_R8G8B8A8_TYPELESS; + + case DXGI_FORMAT_R16G16_FLOAT: + case DXGI_FORMAT_R16G16_UNORM: + case DXGI_FORMAT_R16G16_UINT: + case DXGI_FORMAT_R16G16_SNORM: + case DXGI_FORMAT_R16G16_SINT: + return DXGI_FORMAT_R16G16_TYPELESS; + + case DXGI_FORMAT_D32_FLOAT: + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R32_UINT: + case DXGI_FORMAT_R32_SINT: + return DXGI_FORMAT_R32_TYPELESS; + + case DXGI_FORMAT_R8G8_UNORM: + case DXGI_FORMAT_R8G8_UINT: + case DXGI_FORMAT_R8G8_SNORM: + case DXGI_FORMAT_R8G8_SINT: + return DXGI_FORMAT_R8G8_TYPELESS; + + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_D16_UNORM: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + case DXGI_FORMAT_R16_SNORM: + case DXGI_FORMAT_R16_SINT: + return DXGI_FORMAT_R16_TYPELESS; + + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_R8_UINT: + case DXGI_FORMAT_R8_SNORM: + case DXGI_FORMAT_R8_SINT: + case DXGI_FORMAT_A8_UNORM: + return DXGI_FORMAT_R8_TYPELESS; + + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + return DXGI_FORMAT_BC1_TYPELESS; + + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + return DXGI_FORMAT_BC2_TYPELESS; + + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + return DXGI_FORMAT_BC3_TYPELESS; + + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + return DXGI_FORMAT_BC4_TYPELESS; + + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + return DXGI_FORMAT_BC5_TYPELESS; + + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + return DXGI_FORMAT_B8G8R8A8_TYPELESS; + + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: + return DXGI_FORMAT_B8G8R8X8_TYPELESS; + + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + return DXGI_FORMAT_BC6H_TYPELESS; + + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return DXGI_FORMAT_BC7_TYPELESS; + + default: + return format; + } } - - - //-------------------------------------------------------------------------------------- -HRESULT DXUTSnapD3D11Screenshot( LPCTSTR szFileName, D3DX11_IMAGE_FILE_FORMAT iff ) +HRESULT DXUTSnapD3D11Screenshot( _In_z_ LPCWSTR szFileName, _In_ bool usedds ) { IDXGISwapChain *pSwap = DXUTGetDXGISwapChain(); @@ -1745,45 +1251,22 @@ HRESULT DXUTSnapD3D11Screenshot( LPCTSTR szFileName, D3DX11_IMAGE_FILE_FORMAT if if (hr != S_OK) return hr; - ID3D11DeviceContext *dc = DXUTGetD3D11DeviceContext(); - if (!dc) { - SAFE_RELEASE(pBackBuffer); - return E_FAIL; - } - ID3D11Device *pDevice = DXUTGetD3D11Device(); + auto dc = DXUTGetD3D11DeviceContext(); if (!dc) { SAFE_RELEASE(pBackBuffer); return E_FAIL; } - D3D11_TEXTURE2D_DESC dsc; - pBackBuffer->GetDesc(&dsc); - D3D11_RESOURCE_DIMENSION dim; - pBackBuffer->GetType(&dim); - // special case msaa textures - ID3D11Texture2D *pCompatableTexture = pBackBuffer; - if ( dsc.SampleDesc.Count > 1) { - D3D11_TEXTURE2D_DESC dsc_new = dsc; - dsc_new.SampleDesc.Count = 1; - dsc_new.SampleDesc.Quality = 0; - dsc_new.Usage = D3D11_USAGE_DEFAULT; - dsc_new.BindFlags = 0; - dsc_new.CPUAccessFlags = 0; - ID3D11Texture2D *resolveTexture; - hr = pDevice->CreateTexture2D(&dsc_new, NULL, &resolveTexture); - if ( SUCCEEDED(hr) ) - { - DXUT_SetDebugName(resolveTexture, "DXUT"); - dc->ResolveSubresource(resolveTexture, 0, pBackBuffer, 0, dsc.Format); - pCompatableTexture = resolveTexture; - } - pCompatableTexture->GetDesc(&dsc); + if ( usedds ) + { + hr = DirectX::SaveDDSTextureToFile( dc, pBackBuffer, szFileName ); + } + else + { + hr = DirectX::SaveWICTextureToFile( dc, pBackBuffer, GUID_ContainerFormatBmp, szFileName ); } - hr = D3DX11SaveTextureToFileW(dc, pCompatableTexture, iff, szFileName); - SAFE_RELEASE(pBackBuffer); - SAFE_RELEASE(pCompatableTexture); return hr; diff --git a/FriedLiver/Source/DXUT/Core/DXUTmisc.h b/FriedLiver/Source/DXUT/Core/DXUTmisc.h index 9a9593ad..a586d983 100644 --- a/FriedLiver/Source/DXUT/Core/DXUTmisc.h +++ b/FriedLiver/Source/DXUT/Core/DXUTmisc.h @@ -3,15 +3,12 @@ // // Helper functions for Direct3D programming. // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_MISC_H -#define DXUT_MISC_H - -#ifndef MAX_FVF_DECL_SIZE -#define MAX_FVF_DECL_SIZE MAXD3DDECLLENGTH + 1 // +1 for END -#endif //-------------------------------------------------------------------------------------- // XInput helper state/function @@ -61,68 +58,17 @@ struct DXUT_GAMEPAD bool bLastRightTrigger; }; -HRESULT DXUTGetGamepadState( DWORD dwPort, DXUT_GAMEPAD* pGamePad, bool bThumbstickDeadZone = true, - bool bSnapThumbstickToCardinals = true ); +HRESULT DXUTGetGamepadState( _In_ DWORD dwPort, _In_ DXUT_GAMEPAD* pGamePad, _In_ bool bThumbstickDeadZone = true, + _In_ bool bSnapThumbstickToCardinals = true ); HRESULT DXUTStopRumbleOnAllControllers(); -void DXUTEnableXInput( bool bEnable ); +void DXUTEnableXInput( _In_ bool bEnable ); //-------------------------------------------------------------------------------------- -// Takes a screen shot of a 32bit D3D9 back buffer and saves the images to a BMP file +// Takes a screen shot of a 32bit D3D11 back buffer and saves the images to a BMP or DDS file //-------------------------------------------------------------------------------------- -HRESULT DXUTSnapD3D9Screenshot( LPCTSTR szFileName ); - -//-------------------------------------------------------------------------------------- -// Takes a screen shot of a 32bit D3D11 back buffer and saves the images to a BMP file -//-------------------------------------------------------------------------------------- - -HRESULT DXUTSnapD3D11Screenshot( LPCTSTR szFileName, D3DX11_IMAGE_FILE_FORMAT iff = D3DX11_IFF_DDS ); - - -//-------------------------------------------------------------------------------------- -// A growable array -//-------------------------------------------------------------------------------------- -template class CGrowableArray -{ -public: - CGrowableArray() { m_pData = NULL; m_nSize = 0; m_nMaxSize = 0; } - CGrowableArray( const CGrowableArray& a ) { for( int i=0; i < a.m_nSize; i++ ) Add( a.m_pData[i] ); } - ~CGrowableArray() { RemoveAll(); } - - const TYPE& operator[]( int nIndex ) const { return GetAt( nIndex ); } - TYPE& operator[]( int nIndex ) { return GetAt( nIndex ); } - - CGrowableArray& operator=( const CGrowableArray& a ) { if( this == &a ) return *this; RemoveAll(); for( int i=0; i < a.m_nSize; i++ ) Add( a.m_pData[i] ); return *this; } - - HRESULT SetSize( int nNewMaxSize ); - HRESULT Add( const TYPE& value ); - HRESULT Insert( int nIndex, const TYPE& value ); - HRESULT SetAt( int nIndex, const TYPE& value ); - TYPE& GetAt( int nIndex ) const { assert( nIndex >= 0 && nIndex < m_nSize ); return m_pData[nIndex]; } - int GetSize() const { return m_nSize; } - TYPE* GetData() { return m_pData; } - bool Contains( const TYPE& value ){ return ( -1 != IndexOf( value ) ); } - - int IndexOf( const TYPE& value ) { return ( m_nSize > 0 ) ? IndexOf( value, 0, m_nSize ) : -1; } - int IndexOf( const TYPE& value, int iStart ) { return IndexOf( value, iStart, m_nSize - iStart ); } - int IndexOf( const TYPE& value, int nIndex, int nNumElements ); - - int LastIndexOf( const TYPE& value ) { return ( m_nSize > 0 ) ? LastIndexOf( value, m_nSize-1, m_nSize ) : -1; } - int LastIndexOf( const TYPE& value, int nIndex ) { return LastIndexOf( value, nIndex, nIndex+1 ); } - int LastIndexOf( const TYPE& value, int nIndex, int nNumElements ); - - HRESULT Remove( int nIndex ); - void RemoveAll() { SetSize(0); } - void Reset() { m_nSize = 0; } - -protected: - TYPE* m_pData; // the actual array of data - int m_nSize; // # of elements (upperBound - 1) - int m_nMaxSize; // max allocated - - HRESULT SetSizeInternal( int nNewMaxSize ); // This version doesn't call ctor or dtor. -}; +HRESULT DXUTSnapD3D11Screenshot( _In_z_ LPCWSTR szFileName, _In_ bool usedds = true ); //-------------------------------------------------------------------------------------- // Performs timer operations @@ -131,26 +77,25 @@ template class CGrowableArray class CDXUTTimer { public: - CDXUTTimer(); + CDXUTTimer() noexcept; void Reset(); // resets the timer void Start(); // starts the timer void Stop(); // stop (or pause) the timer void Advance(); // advance the timer by 0.1 seconds - double GetAbsoluteTime(); // get the absolute system time - double GetTime(); // get the current time + double GetAbsoluteTime() const; // get the absolute system time + double GetTime() const; // get the current time float GetElapsedTime(); // get the time that elapsed between Get*ElapsedTime() calls - void GetTimeValues( double* pfTime, double* pfAbsoluteTime, float* pfElapsedTime ); // get all time values at once - bool IsStopped(); // returns true if timer stopped + void GetTimeValues( _Out_ double* pfTime, _Out_ double* pfAbsoluteTime, _Out_ float* pfElapsedTime ); // get all time values at once + bool IsStopped() const { return m_bTimerStopped; } // returns true if timer stopped // Limit the current thread to one processor (the current one). This ensures that timing code runs // on only one processor, and will not suffer any ill effects from power management. void LimitThreadAffinityToCurrentProc(); protected: - LARGE_INTEGER GetAdjustedCurrentTime(); + LARGE_INTEGER GetAdjustedCurrentTime() const; - bool m_bUsingQPF; bool m_bTimerStopped; LONGLONG m_llQPFTicksPerSec; @@ -162,42 +107,21 @@ class CDXUTTimer CDXUTTimer* WINAPI DXUTGetGlobalTimer(); -//-------------------------------------------------------------------------------------- -// Returns the string for the given D3DFORMAT. -// bWithPrefix determines whether the string should include the "D3DFMT_" -//-------------------------------------------------------------------------------------- -LPCWSTR WINAPI DXUTD3DFormatToString( D3DFORMAT format, bool bWithPrefix ); - - //-------------------------------------------------------------------------------------- // Returns the string for the given DXGI_FORMAT. // bWithPrefix determines whether the string should include the "DXGI_FORMAT_" //-------------------------------------------------------------------------------------- -LPCWSTR WINAPI DXUTDXGIFormatToString( DXGI_FORMAT format, bool bWithPrefix ); - - -//-------------------------------------------------------------------------------------- -// Device settings conversion -//-------------------------------------------------------------------------------------- -void WINAPI DXUTConvertDeviceSettings11to9( DXUTD3D11DeviceSettings* pIn, DXUTD3D9DeviceSettings* pOut ); -void WINAPI DXUTConvertDeviceSettings9to11( DXUTD3D9DeviceSettings* pIn, DXUTD3D11DeviceSettings* pOut ); - -DXGI_FORMAT WINAPI ConvertFormatD3D9ToDXGI( D3DFORMAT fmt ); -D3DFORMAT WINAPI ConvertFormatDXGIToD3D9( DXGI_FORMAT fmt ); +LPCWSTR WINAPI DXUTDXGIFormatToString( _In_ DXGI_FORMAT format, _In_ bool bWithPrefix ); //-------------------------------------------------------------------------------------- // Debug printing support // See dxerr.h for more debug printing support //-------------------------------------------------------------------------------------- -void WINAPI DXUTOutputDebugStringW( LPCWSTR strMsg, ... ); -void WINAPI DXUTOutputDebugStringA( LPCSTR strMsg, ... ); -HRESULT WINAPI DXUTTrace( const CHAR* strFile, DWORD dwLine, HRESULT hr, const WCHAR* strMsg, bool bPopMsgBox ); -void WINAPI DXUTTraceDecl( D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE] ); -WCHAR* WINAPI DXUTTraceD3DDECLUSAGEtoString( BYTE u ); -WCHAR* WINAPI DXUTTraceD3DDECLMETHODtoString( BYTE m ); -WCHAR* WINAPI DXUTTraceD3DDECLTYPEtoString( BYTE t ); -WCHAR* WINAPI DXUTTraceWindowsMessage( UINT uMsg ); +void WINAPI DXUTOutputDebugStringW( _In_z_ LPCWSTR strMsg, ... ); +void WINAPI DXUTOutputDebugStringA( _In_z_ LPCSTR strMsg, ... ); +HRESULT WINAPI DXUTTrace( _In_z_ const CHAR* strFile, _In_ DWORD dwLine, _In_ HRESULT hr, _In_z_ const WCHAR* strMsg, _In_ bool bPopMsgBox ); +const WCHAR* WINAPI DXUTTraceWindowsMessage( _In_ UINT uMsg ); #ifdef UNICODE #define DXUTOutputDebugString DXUTOutputDebugStringW @@ -219,32 +143,32 @@ WCHAR* WINAPI DXUTTraceWindowsMessage( UINT uMsg ); //-------------------------------------------------------------------------------------- -// Direct3D9 dynamic linking support -- calls top-level D3D9 APIs with graceful +// Direct3D dynamic linking support -- calls top-level D3D APIs with graceful // failure if APIs are not present. //-------------------------------------------------------------------------------------- -IDirect3D9 * WINAPI DXUT_Dynamic_Direct3DCreate9(UINT SDKVersion); -int WINAPI DXUT_Dynamic_D3DPERF_BeginEvent( D3DCOLOR col, LPCWSTR wszName ); +int WINAPI DXUT_Dynamic_D3DPERF_BeginEvent( _In_ DWORD col, _In_z_ LPCWSTR wszName ); int WINAPI DXUT_Dynamic_D3DPERF_EndEvent( void ); -void WINAPI DXUT_Dynamic_D3DPERF_SetMarker( D3DCOLOR col, LPCWSTR wszName ); -void WINAPI DXUT_Dynamic_D3DPERF_SetRegion( D3DCOLOR col, LPCWSTR wszName ); +void WINAPI DXUT_Dynamic_D3DPERF_SetMarker( _In_ DWORD col, _In_z_ LPCWSTR wszName ); +void WINAPI DXUT_Dynamic_D3DPERF_SetRegion( _In_ DWORD col, _In_z_ LPCWSTR wszName ); BOOL WINAPI DXUT_Dynamic_D3DPERF_QueryRepeatFrame( void ); -void WINAPI DXUT_Dynamic_D3DPERF_SetOptions( DWORD dwOptions ); -DWORD WINAPI DXUT_Dynamic_D3DPERF_GetStatus( void ); -HRESULT WINAPI DXUT_Dynamic_CreateDXGIFactory1( REFIID rInterface, void** ppOut ); +void WINAPI DXUT_Dynamic_D3DPERF_SetOptions( _In_ DWORD dwOptions ); +DWORD WINAPI DXUT_Dynamic_D3DPERF_GetStatus(); +HRESULT WINAPI DXUT_Dynamic_CreateDXGIFactory1( _In_ REFIID rInterface, _Out_ void** ppOut ); +HRESULT WINAPI DXUT_Dynamic_DXGIGetDebugInterface( _In_ REFIID rInterface, _Out_ void** ppOut ); -HRESULT WINAPI DXUT_Dynamic_D3D11CreateDevice( IDXGIAdapter* pAdapter, - D3D_DRIVER_TYPE DriverType, - HMODULE Software, - UINT32 Flags, - D3D_FEATURE_LEVEL* pFeatureLevels, - UINT FeatureLevels, - UINT32 SDKVersion, - ID3D11Device** ppDevice, - D3D_FEATURE_LEVEL* pFeatureLevel, - ID3D11DeviceContext** ppImmediateContext ); +HRESULT WINAPI DXUT_Dynamic_D3D11CreateDevice( _In_opt_ IDXGIAdapter* pAdapter, + _In_ D3D_DRIVER_TYPE DriverType, + _In_opt_ HMODULE Software, + _In_ UINT32 Flags, + _In_reads_(FeatureLevels) const D3D_FEATURE_LEVEL* pFeatureLevels, + _In_ UINT FeatureLevels, + _In_ UINT32 SDKVersion, + _Deref_out_ ID3D11Device** ppDevice, + _Out_opt_ D3D_FEATURE_LEVEL* pFeatureLevel, + _Out_opt_ ID3D11DeviceContext** ppImmediateContext ); -bool DXUT_EnsureD3D11APIs( void ); +bool DXUT_EnsureD3D11APIs(); //-------------------------------------------------------------------------------------- @@ -254,35 +178,20 @@ bool DXUT_EnsureD3D11APIs( void ); // Use DXUT_SetDebugName() to attach names to D3D objects for use by // SDKDebugLayer, PIX's object table, etc. #if defined(PROFILE) || defined(DEBUG) -inline void DXUT_SetDebugName( IDirect3DResource9* pObj, const CHAR* pstrName ) +inline void DXUT_SetDebugName( _In_ IDXGIObject* pObj, _In_z_ const CHAR* pstrName ) { if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, pstrName, lstrlenA(pstrName), 0 ); + pObj->SetPrivateData( WKPDID_D3DDebugObjectName, (UINT)strlen(pstrName), pstrName ); } -inline void DXUT_SetDebugName( IDXGIObject* pObj, const CHAR* pstrName ) +inline void DXUT_SetDebugName( _In_ ID3D11Device* pObj, _In_z_ const CHAR* pstrName ) { if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, lstrlenA(pstrName), pstrName ); + pObj->SetPrivateData( WKPDID_D3DDebugObjectName, (UINT)strlen(pstrName), pstrName ); } -inline void DXUT_SetDebugName( ID3D10Device* pObj, const CHAR* pstrName ) +inline void DXUT_SetDebugName( _In_ ID3D11DeviceChild* pObj, _In_z_ const CHAR* pstrName ) { if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, lstrlenA(pstrName), pstrName ); -} -inline void DXUT_SetDebugName( ID3D10DeviceChild* pObj, const CHAR* pstrName ) -{ - if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, lstrlenA(pstrName), pstrName ); -} -inline void DXUT_SetDebugName( ID3D11Device* pObj, const CHAR* pstrName ) -{ - if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, lstrlenA(pstrName), pstrName ); -} -inline void DXUT_SetDebugName( ID3D11DeviceChild* pObj, const CHAR* pstrName ) -{ - if ( pObj ) - pObj->SetPrivateData( WKPDID_D3DDebugObjectName, lstrlenA(pstrName), pstrName ); + pObj->SetPrivateData( WKPDID_D3DDebugObjectName, (UINT)strlen(pstrName), pstrName ); } #else #define DXUT_SetDebugName( pObj, pstrName ) @@ -294,9 +203,9 @@ inline void DXUT_SetDebugName( ID3D11DeviceChild* pObj, const CHAR* pstrName ) // performance analysis tools. The following constants are provided for your // convenience, but you can use any colors you like. //-------------------------------------------------------------------------------------- -const D3DCOLOR DXUT_PERFEVENTCOLOR = D3DCOLOR_XRGB( 200, 100, 100 ); -const D3DCOLOR DXUT_PERFEVENTCOLOR2 = D3DCOLOR_XRGB( 100, 200, 100 ); -const D3DCOLOR DXUT_PERFEVENTCOLOR3 = D3DCOLOR_XRGB( 100, 100, 200 ); +const DWORD DXUT_PERFEVENTCOLOR = 0xFFC86464; +const DWORD DXUT_PERFEVENTCOLOR2 = 0xFF64C864; +const DWORD DXUT_PERFEVENTCOLOR3 = 0xFF6464C8; //-------------------------------------------------------------------------------------- // The following macros provide a convenient way for your code to call the D3DPERF @@ -330,11 +239,16 @@ const D3DCOLOR DXUT_PERFEVENTCOLOR3 = D3DCOLOR_XRGB( 100, 100, 200 class CDXUTPerfEventGenerator { public: -CDXUTPerfEventGenerator( D3DCOLOR color, LPCWSTR pstrMessage ) +CDXUTPerfEventGenerator( _In_ DWORD color, _In_z_ LPCWSTR pstrMessage ) { +#ifdef PROFILE DXUT_BeginPerfEvent( color, pstrMessage ); +#else + UNREFERENCED_PARAMETER(color); + UNREFERENCED_PARAMETER(pstrMessage); +#endif } -~CDXUTPerfEventGenerator( void ) +~CDXUTPerfEventGenerator() { DXUT_EndPerfEvent(); } @@ -366,269 +280,14 @@ typedef MONITORINFOEXW MONITORINFOEX; typedef LPMONITORINFOEXW LPMONITORINFOEX; #endif -HMONITOR WINAPI DXUTMonitorFromWindow( HWND hWnd, DWORD dwFlags ); -HMONITOR WINAPI DXUTMonitorFromRect( LPCRECT lprcScreenCoords, DWORD dwFlags ); -BOOL WINAPI DXUTGetMonitorInfo( HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo ); -void WINAPI DXUTGetDesktopResolution( UINT AdapterOrdinal, UINT* pWidth, UINT* pHeight ); - - -//-------------------------------------------------------------------------------------- -// Implementation of CGrowableArray -//-------------------------------------------------------------------------------------- - -// This version doesn't call ctor or dtor. -template HRESULT CGrowableArray ::SetSizeInternal( int nNewMaxSize ) -{ - if( nNewMaxSize < 0 || ( nNewMaxSize > INT_MAX / sizeof( TYPE ) ) ) - { - assert( false ); - return E_INVALIDARG; - } - - if( nNewMaxSize == 0 ) - { - // Shrink to 0 size & cleanup - if( m_pData ) - { - free( m_pData ); - m_pData = NULL; - } - - m_nMaxSize = 0; - m_nSize = 0; - } - else if( m_pData == NULL || nNewMaxSize > m_nMaxSize ) - { - // Grow array - int nGrowBy = ( m_nMaxSize == 0 ) ? 16 : m_nMaxSize; - - // Limit nGrowBy to keep m_nMaxSize less than INT_MAX - if( ( UINT )m_nMaxSize + ( UINT )nGrowBy > ( UINT )INT_MAX ) - nGrowBy = INT_MAX - m_nMaxSize; - - nNewMaxSize = __max( nNewMaxSize, m_nMaxSize + nGrowBy ); - - // Verify that (nNewMaxSize * sizeof(TYPE)) is not greater than UINT_MAX or the realloc will overrun - if( sizeof( TYPE ) > UINT_MAX / ( UINT )nNewMaxSize ) - return E_INVALIDARG; - - TYPE* pDataNew = ( TYPE* )realloc( m_pData, nNewMaxSize * sizeof( TYPE ) ); - if( pDataNew == NULL ) - return E_OUTOFMEMORY; - - m_pData = pDataNew; - m_nMaxSize = nNewMaxSize; - } - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -template HRESULT CGrowableArray ::SetSize( int nNewMaxSize ) -{ - int nOldSize = m_nSize; - - if( nOldSize > nNewMaxSize ) - { - assert( m_pData ); - if( m_pData ) - { - // Removing elements. Call dtor. - - for( int i = nNewMaxSize; i < nOldSize; ++i ) - m_pData[i].~TYPE(); - } - } - - // Adjust buffer. Note that there's no need to check for error - // since if it happens, nOldSize == nNewMaxSize will be true.) - HRESULT hr = SetSizeInternal( nNewMaxSize ); - - if( nOldSize < nNewMaxSize ) - { - assert( m_pData ); - if( m_pData ) - { - // Adding elements. Call ctor. - - for( int i = nOldSize; i < nNewMaxSize; ++i ) - ::new ( &m_pData[i] ) TYPE; - } - } - - return hr; -} - - -//-------------------------------------------------------------------------------------- -template HRESULT CGrowableArray ::Add( const TYPE& value ) -{ - HRESULT hr; - if( FAILED( hr = SetSizeInternal( m_nSize + 1 ) ) ) - return hr; - - assert( m_pData != NULL ); - - // Construct the new element - ::new ( &m_pData[m_nSize] ) TYPE; - - // Assign - m_pData[m_nSize] = value; - ++m_nSize; - - return S_OK; -} +HMONITOR WINAPI DXUTMonitorFromWindow( _In_ HWND hWnd, _In_ DWORD dwFlags ); +HMONITOR WINAPI DXUTMonitorFromRect( _In_ LPCRECT lprcScreenCoords, _In_ DWORD dwFlags ); +BOOL WINAPI DXUTGetMonitorInfo( _In_ HMONITOR hMonitor, _Out_ LPMONITORINFO lpMonitorInfo ); +void WINAPI DXUTGetDesktopResolution( _In_ UINT AdapterOrdinal, _Out_ UINT* pWidth, _Out_ UINT* pHeight ); -//-------------------------------------------------------------------------------------- -template HRESULT CGrowableArray ::Insert( int nIndex, const TYPE& value ) -{ - HRESULT hr; - - // Validate index - if( nIndex < 0 || - nIndex > m_nSize ) - { - assert( false ); - return E_INVALIDARG; - } - - // Prepare the buffer - if( FAILED( hr = SetSizeInternal( m_nSize + 1 ) ) ) - return hr; - - // Shift the array - MoveMemory( &m_pData[nIndex + 1], &m_pData[nIndex], sizeof( TYPE ) * ( m_nSize - nIndex ) ); - - // Construct the new element - ::new ( &m_pData[nIndex] ) TYPE; - - // Set the value and increase the size - m_pData[nIndex] = value; - ++m_nSize; - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -template HRESULT CGrowableArray ::SetAt( int nIndex, const TYPE& value ) -{ - // Validate arguments - if( nIndex < 0 || - nIndex >= m_nSize ) - { - assert( false ); - return E_INVALIDARG; - } - - m_pData[nIndex] = value; - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -// Searches for the specified value and returns the index of the first occurrence -// within the section of the data array that extends from iStart and contains the -// specified number of elements. Returns -1 if value is not found within the given -// section. -//-------------------------------------------------------------------------------------- -template int CGrowableArray ::IndexOf( const TYPE& value, int iStart, int nNumElements ) -{ - // Validate arguments - if( iStart < 0 || - iStart >= m_nSize || - nNumElements < 0 || - iStart + nNumElements > m_nSize ) - { - assert( false ); - return -1; - } - - // Search - for( int i = iStart; i < ( iStart + nNumElements ); i++ ) - { - if( value == m_pData[i] ) - return i; - } - - // Not found - return -1; -} - - -//-------------------------------------------------------------------------------------- -// Searches for the specified value and returns the index of the last occurrence -// within the section of the data array that contains the specified number of elements -// and ends at iEnd. Returns -1 if value is not found within the given section. -//-------------------------------------------------------------------------------------- -template int CGrowableArray ::LastIndexOf( const TYPE& value, int iEnd, int nNumElements ) -{ - // Validate arguments - if( iEnd < 0 || - iEnd >= m_nSize || - nNumElements < 0 || - iEnd - nNumElements < 0 ) - { - assert( false ); - return -1; - } - - // Search - for( int i = iEnd; i > ( iEnd - nNumElements ); i-- ) - { - if( value == m_pData[i] ) - return i; - } - - // Not found - return -1; -} - - - -//-------------------------------------------------------------------------------------- -template HRESULT CGrowableArray ::Remove( int nIndex ) -{ - if( nIndex < 0 || - nIndex >= m_nSize ) - { - assert( false ); - return E_INVALIDARG; - } - - // Destruct the element to be removed - m_pData[nIndex].~TYPE(); - - // Compact the array and decrease the size - MoveMemory( &m_pData[nIndex], &m_pData[nIndex + 1], sizeof( TYPE ) * ( m_nSize - ( nIndex + 1 ) ) ); - --m_nSize; - - return S_OK; -} - -//-------------------------------------------------------------------------------------- -// Creates a REF or NULLREF D3D9 device and returns that device. The caller should call -// Release() when done with the device. -//-------------------------------------------------------------------------------------- -IDirect3DDevice9* WINAPI DXUTCreateRefDevice9( HWND hWnd, bool bNullRef = true ); - -//-------------------------------------------------------------------------------------- -// Creates a REF or NULLREF D3D10 device and returns the device. The caller should call -// Release() when done with the device. -//-------------------------------------------------------------------------------------- -//test d3d10 version ID3D10Device* WINAPI DXUTCreateRefDevice10( bool bNullRef = true ); - -//-------------------------------------------------------------------------------------- -// Helper function to launch the Media Center UI after the program terminates -//-------------------------------------------------------------------------------------- -bool DXUTReLaunchMediaCenter(); - //-------------------------------------------------------------------------------------- // Helper functions to create SRGB formats from typeless formats and vice versa //-------------------------------------------------------------------------------------- -DXGI_FORMAT MAKE_SRGB( DXGI_FORMAT format ); -DXGI_FORMAT MAKE_TYPELESS( DXGI_FORMAT format ); - -#endif +DXGI_FORMAT MAKE_SRGB( _In_ DXGI_FORMAT format ); +DXGI_FORMAT MAKE_TYPELESS( _In_ DXGI_FORMAT format ); diff --git a/FriedLiver/Source/DXUT/Core/ScreenGrab.cpp b/FriedLiver/Source/DXUT/Core/ScreenGrab.cpp new file mode 100644 index 00000000..4296091c --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/ScreenGrab.cpp @@ -0,0 +1,1204 @@ +//-------------------------------------------------------------------------------------- +// File: ScreenGrab.cpp +// +// Function for capturing a 2D texture and saving it to a file (aka a 'screenshot' +// when used on a Direct3D 11 Render Target). +// +// Note these functions are useful as a light-weight runtime screen grabber. For +// full-featured texture capture, DDS writer, and texture processing pipeline, +// see the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#include "dxut.h" + +// Does not capture 1D textures or 3D textures (volume maps) + +// Does not capture mipmap chains, only the top-most texture level is saved + +// For 2D array textures and cubemaps, it captures only the first image in the array + +#include "ScreenGrab.h" + +#include +#include + +#include + +#include + +#include +#include + +using Microsoft::WRL::ComPtr; + +//-------------------------------------------------------------------------------------- +// Macros +//-------------------------------------------------------------------------------------- +#ifndef MAKEFOURCC + #define MAKEFOURCC(ch0, ch1, ch2, ch3) \ + ((uint32_t)(uint8_t)(ch0) | ((uint32_t)(uint8_t)(ch1) << 8) | \ + ((uint32_t)(uint8_t)(ch2) << 16) | ((uint32_t)(uint8_t)(ch3) << 24 )) +#endif /* defined(MAKEFOURCC) */ + +//-------------------------------------------------------------------------------------- +// DDS file structure definitions +// +// See DDS.h in the 'Texconv' sample and the 'DirectXTex' library +//-------------------------------------------------------------------------------------- +namespace +{ + #pragma pack(push,1) + + #define DDS_MAGIC 0x20534444 // "DDS " + + struct DDS_PIXELFORMAT + { + uint32_t size; + uint32_t flags; + uint32_t fourCC; + uint32_t RGBBitCount; + uint32_t RBitMask; + uint32_t GBitMask; + uint32_t BBitMask; + uint32_t ABitMask; + }; + + #define DDS_FOURCC 0x00000004 // DDPF_FOURCC + #define DDS_RGB 0x00000040 // DDPF_RGB + #define DDS_RGBA 0x00000041 // DDPF_RGB | DDPF_ALPHAPIXELS + #define DDS_LUMINANCE 0x00020000 // DDPF_LUMINANCE + #define DDS_LUMINANCEA 0x00020001 // DDPF_LUMINANCE | DDPF_ALPHAPIXELS + #define DDS_ALPHA 0x00000002 // DDPF_ALPHA + #define DDS_BUMPDUDV 0x00080000 // DDPF_BUMPDUDV + + #define DDS_HEADER_FLAGS_TEXTURE 0x00001007 // DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT + #define DDS_HEADER_FLAGS_MIPMAP 0x00020000 // DDSD_MIPMAPCOUNT + #define DDS_HEADER_FLAGS_PITCH 0x00000008 // DDSD_PITCH + #define DDS_HEADER_FLAGS_LINEARSIZE 0x00080000 // DDSD_LINEARSIZE + + #define DDS_HEIGHT 0x00000002 // DDSD_HEIGHT + #define DDS_WIDTH 0x00000004 // DDSD_WIDTH + + #define DDS_SURFACE_FLAGS_TEXTURE 0x00001000 // DDSCAPS_TEXTURE + + typedef struct + { + uint32_t size; + uint32_t flags; + uint32_t height; + uint32_t width; + uint32_t pitchOrLinearSize; + uint32_t depth; // only if DDS_HEADER_FLAGS_VOLUME is set in flags + uint32_t mipMapCount; + uint32_t reserved1[11]; + DDS_PIXELFORMAT ddspf; + uint32_t caps; + uint32_t caps2; + uint32_t caps3; + uint32_t caps4; + uint32_t reserved2; + } DDS_HEADER; + + typedef struct + { + DXGI_FORMAT dxgiFormat; + uint32_t resourceDimension; + uint32_t miscFlag; // see D3D11_RESOURCE_MISC_FLAG + uint32_t arraySize; + uint32_t reserved; + } DDS_HEADER_DXT10; + + #pragma pack(pop) + + const DDS_PIXELFORMAT DDSPF_DXT1 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D','X','T','1'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_DXT3 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D','X','T','3'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_DXT5 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D','X','T','5'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_BC4_UNORM = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B','C','4','U'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_BC4_SNORM = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B','C','4','S'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_BC5_UNORM = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B','C','5','U'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_BC5_SNORM = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B','C','5','S'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_R8G8_B8G8 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('R','G','B','G'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_G8R8_G8B8 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('G','R','G','B'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_YUY2 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('Y','U','Y','2'), 0, 0, 0, 0, 0 }; + + const DDS_PIXELFORMAT DDSPF_A8R8G8B8 = + { sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 }; + + const DDS_PIXELFORMAT DDSPF_X8R8G8B8 = + { sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000 }; + + const DDS_PIXELFORMAT DDSPF_A8B8G8R8 = + { sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 }; + + const DDS_PIXELFORMAT DDSPF_G16R16 = + { sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x0000ffff, 0xffff0000, 0x00000000, 0x00000000 }; + + const DDS_PIXELFORMAT DDSPF_R5G6B5 = + { sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0x0000f800, 0x000007e0, 0x0000001f, 0x00000000 }; + + const DDS_PIXELFORMAT DDSPF_A1R5G5B5 = + { sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00007c00, 0x000003e0, 0x0000001f, 0x00008000 }; + + const DDS_PIXELFORMAT DDSPF_A4R4G4B4 = + { sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00000f00, 0x000000f0, 0x0000000f, 0x0000f000 }; + + const DDS_PIXELFORMAT DDSPF_L8 = + { sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 8, 0xff, 0x00, 0x00, 0x00 }; + + const DDS_PIXELFORMAT DDSPF_L16 = + { sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 16, 0xffff, 0x0000, 0x0000, 0x0000 }; + + const DDS_PIXELFORMAT DDSPF_A8L8 = + { sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 16, 0x00ff, 0x0000, 0x0000, 0xff00 }; + + const DDS_PIXELFORMAT DDSPF_A8 = + { sizeof(DDS_PIXELFORMAT), DDS_ALPHA, 0, 8, 0x00, 0x00, 0x00, 0xff }; + + const DDS_PIXELFORMAT DDSPF_V8U8 = + { sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 16, 0x00ff, 0xff00, 0x0000, 0x0000 }; + + const DDS_PIXELFORMAT DDSPF_Q8W8V8U8 = + { sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 }; + + const DDS_PIXELFORMAT DDSPF_V16U16 = + { sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 32, 0x0000ffff, 0xffff0000, 0x00000000, 0x00000000 }; + + // DXGI_FORMAT_R10G10B10A2_UNORM should be written using DX10 extension to avoid D3DX 10:10:10:2 reversal issue + + // This indicates the DDS_HEADER_DXT10 extension is present (the format is in dxgiFormat) + const DDS_PIXELFORMAT DDSPF_DX10 = + { sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D','X','1','0'), 0, 0, 0, 0, 0 }; + + //----------------------------------------------------------------------------- + struct handle_closer { void operator()(HANDLE h) { if (h) CloseHandle(h); } }; + + typedef std::unique_ptr ScopedHandle; + + inline HANDLE safe_handle( HANDLE h ) { return (h == INVALID_HANDLE_VALUE) ? nullptr : h; } + + class auto_delete_file + { + public: + auto_delete_file(HANDLE hFile) : m_handle(hFile) {} + ~auto_delete_file() + { + if (m_handle) + { + FILE_DISPOSITION_INFO info = {}; + info.DeleteFile = TRUE; + (void)SetFileInformationByHandle(m_handle, FileDispositionInfo, &info, sizeof(info)); + } + } + + void clear() { m_handle = 0; } + + private: + HANDLE m_handle; + + auto_delete_file(const auto_delete_file&) = delete; + auto_delete_file& operator=(const auto_delete_file&) = delete; + }; + + class auto_delete_file_wic + { + public: + auto_delete_file_wic(ComPtr& hFile, const wchar_t* szFile) : m_handle(hFile), m_filename(szFile) {} + ~auto_delete_file_wic() + { + if (m_filename) + { + m_handle.Reset(); + DeleteFileW(m_filename); + } + } + + void clear() { m_filename = 0; } + + private: + const wchar_t* m_filename; + ComPtr& m_handle; + + auto_delete_file_wic(const auto_delete_file_wic&) = delete; + auto_delete_file_wic& operator=(const auto_delete_file_wic&) = delete; + }; + + //-------------------------------------------------------------------------------------- + // Return the BPP for a particular format + //-------------------------------------------------------------------------------------- + size_t BitsPerPixel( _In_ DXGI_FORMAT fmt ) + { + switch( fmt ) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R32G32B32A32_UINT: + case DXGI_FORMAT_R32G32B32A32_SINT: + return 128; + + case DXGI_FORMAT_R32G32B32_TYPELESS: + case DXGI_FORMAT_R32G32B32_FLOAT: + case DXGI_FORMAT_R32G32B32_UINT: + case DXGI_FORMAT_R32G32B32_SINT: + return 96; + + case DXGI_FORMAT_R16G16B16A16_TYPELESS: + case DXGI_FORMAT_R16G16B16A16_FLOAT: + case DXGI_FORMAT_R16G16B16A16_UNORM: + case DXGI_FORMAT_R16G16B16A16_UINT: + case DXGI_FORMAT_R16G16B16A16_SNORM: + case DXGI_FORMAT_R16G16B16A16_SINT: + case DXGI_FORMAT_R32G32_TYPELESS: + case DXGI_FORMAT_R32G32_FLOAT: + case DXGI_FORMAT_R32G32_UINT: + case DXGI_FORMAT_R32G32_SINT: + case DXGI_FORMAT_R32G8X24_TYPELESS: + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: + case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: + case DXGI_FORMAT_Y416: + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + return 64; + + case DXGI_FORMAT_R10G10B10A2_TYPELESS: + case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R10G10B10A2_UINT: + case DXGI_FORMAT_R11G11B10_FLOAT: + case DXGI_FORMAT_R8G8B8A8_TYPELESS: + case DXGI_FORMAT_R8G8B8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + case DXGI_FORMAT_R8G8B8A8_UINT: + case DXGI_FORMAT_R8G8B8A8_SNORM: + case DXGI_FORMAT_R8G8B8A8_SINT: + case DXGI_FORMAT_R16G16_TYPELESS: + case DXGI_FORMAT_R16G16_FLOAT: + case DXGI_FORMAT_R16G16_UNORM: + case DXGI_FORMAT_R16G16_UINT: + case DXGI_FORMAT_R16G16_SNORM: + case DXGI_FORMAT_R16G16_SINT: + case DXGI_FORMAT_R32_TYPELESS: + case DXGI_FORMAT_D32_FLOAT: + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R32_UINT: + case DXGI_FORMAT_R32_SINT: + case DXGI_FORMAT_R24G8_TYPELESS: + case DXGI_FORMAT_D24_UNORM_S8_UINT: + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X24_TYPELESS_G8_UINT: + case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: + case DXGI_FORMAT_AYUV: + case DXGI_FORMAT_Y410: + case DXGI_FORMAT_YUY2: + return 32; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + return 24; + + case DXGI_FORMAT_R8G8_TYPELESS: + case DXGI_FORMAT_R8G8_UNORM: + case DXGI_FORMAT_R8G8_UINT: + case DXGI_FORMAT_R8G8_SNORM: + case DXGI_FORMAT_R8G8_SINT: + case DXGI_FORMAT_R16_TYPELESS: + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_D16_UNORM: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + case DXGI_FORMAT_R16_SNORM: + case DXGI_FORMAT_R16_SINT: + case DXGI_FORMAT_B5G6R5_UNORM: + case DXGI_FORMAT_B5G5R5A1_UNORM: + case DXGI_FORMAT_A8P8: + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 16; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + case DXGI_FORMAT_NV11: + return 12; + + case DXGI_FORMAT_R8_TYPELESS: + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_R8_UINT: + case DXGI_FORMAT_R8_SNORM: + case DXGI_FORMAT_R8_SINT: + case DXGI_FORMAT_A8_UNORM: + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + return 8; + + case DXGI_FORMAT_R1_UNORM: + return 1; + + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + return 4; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return 8; + + default: + return 0; + } + } + + + //-------------------------------------------------------------------------------------- + // Determines if the format is block compressed + //-------------------------------------------------------------------------------------- + bool IsCompressed( _In_ DXGI_FORMAT fmt ) + { + switch ( fmt ) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return true; + + default: + return false; + } + } + + + //-------------------------------------------------------------------------------------- + // Get surface information for a particular format + //-------------------------------------------------------------------------------------- + void GetSurfaceInfo( + _In_ size_t width, + _In_ size_t height, + _In_ DXGI_FORMAT fmt, + _Out_opt_ size_t* outNumBytes, + _Out_opt_ size_t* outRowBytes, + _Out_opt_ size_t* outNumRows ) + { + size_t numBytes = 0; + size_t rowBytes = 0; + size_t numRows = 0; + + bool bc = false; + bool packed = false; + bool planar = false; + size_t bpe = 0; + switch (fmt) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + bc=true; + bpe = 8; + break; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + bc = true; + bpe = 16; + break; + + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_YUY2: + packed = true; + bpe = 4; + break; + + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + packed = true; + bpe = 8; + break; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + planar = true; + bpe = 2; + break; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + planar = true; + bpe = 4; + break; + } + + if (bc) + { + size_t numBlocksWide = 0; + if (width > 0) + { + numBlocksWide = std::max( 1, (width + 3) / 4 ); + } + size_t numBlocksHigh = 0; + if (height > 0) + { + numBlocksHigh = std::max( 1, (height + 3) / 4 ); + } + rowBytes = numBlocksWide * bpe; + numRows = numBlocksHigh; + numBytes = rowBytes * numBlocksHigh; + } + else if (packed) + { + rowBytes = ( ( width + 1 ) >> 1 ) * bpe; + numRows = height; + numBytes = rowBytes * height; + } + else if ( fmt == DXGI_FORMAT_NV11 ) + { + rowBytes = ( ( width + 3 ) >> 2 ) * 4; + numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data + numBytes = rowBytes * numRows; + } + else if (planar) + { + rowBytes = ( ( width + 1 ) >> 1 ) * bpe; + numBytes = ( rowBytes * height ) + ( ( rowBytes * height + 1 ) >> 1 ); + numRows = height + ( ( height + 1 ) >> 1 ); + } + else + { + size_t bpp = BitsPerPixel( fmt ); + rowBytes = ( width * bpp + 7 ) / 8; // round up to nearest byte + numRows = height; + numBytes = rowBytes * height; + } + + if (outNumBytes) + { + *outNumBytes = numBytes; + } + if (outRowBytes) + { + *outRowBytes = rowBytes; + } + if (outNumRows) + { + *outNumRows = numRows; + } + } + + + //-------------------------------------------------------------------------------------- + DXGI_FORMAT EnsureNotTypeless( DXGI_FORMAT fmt ) + { + // Assumes UNORM or FLOAT; doesn't use UINT or SINT + switch( fmt ) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: return DXGI_FORMAT_R32G32B32A32_FLOAT; + case DXGI_FORMAT_R32G32B32_TYPELESS: return DXGI_FORMAT_R32G32B32_FLOAT; + case DXGI_FORMAT_R16G16B16A16_TYPELESS: return DXGI_FORMAT_R16G16B16A16_UNORM; + case DXGI_FORMAT_R32G32_TYPELESS: return DXGI_FORMAT_R32G32_FLOAT; + case DXGI_FORMAT_R10G10B10A2_TYPELESS: return DXGI_FORMAT_R10G10B10A2_UNORM; + case DXGI_FORMAT_R8G8B8A8_TYPELESS: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_R16G16_TYPELESS: return DXGI_FORMAT_R16G16_UNORM; + case DXGI_FORMAT_R32_TYPELESS: return DXGI_FORMAT_R32_FLOAT; + case DXGI_FORMAT_R8G8_TYPELESS: return DXGI_FORMAT_R8G8_UNORM; + case DXGI_FORMAT_R16_TYPELESS: return DXGI_FORMAT_R16_UNORM; + case DXGI_FORMAT_R8_TYPELESS: return DXGI_FORMAT_R8_UNORM; + case DXGI_FORMAT_BC1_TYPELESS: return DXGI_FORMAT_BC1_UNORM; + case DXGI_FORMAT_BC2_TYPELESS: return DXGI_FORMAT_BC2_UNORM; + case DXGI_FORMAT_BC3_TYPELESS: return DXGI_FORMAT_BC3_UNORM; + case DXGI_FORMAT_BC4_TYPELESS: return DXGI_FORMAT_BC4_UNORM; + case DXGI_FORMAT_BC5_TYPELESS: return DXGI_FORMAT_BC5_UNORM; + case DXGI_FORMAT_B8G8R8A8_TYPELESS: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_TYPELESS: return DXGI_FORMAT_B8G8R8X8_UNORM; + case DXGI_FORMAT_BC7_TYPELESS: return DXGI_FORMAT_BC7_UNORM; + default: return fmt; + } + } + + + //-------------------------------------------------------------------------------------- + HRESULT CaptureTexture( + _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + D3D11_TEXTURE2D_DESC& desc, + ComPtr& pStaging ) + { + if ( !pContext || !pSource ) + return E_INVALIDARG; + + D3D11_RESOURCE_DIMENSION resType = D3D11_RESOURCE_DIMENSION_UNKNOWN; + pSource->GetType( &resType ); + + if ( resType != D3D11_RESOURCE_DIMENSION_TEXTURE2D ) + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + + ComPtr pTexture; + HRESULT hr = pSource->QueryInterface(IID_PPV_ARGS(pTexture.GetAddressOf())); + if ( FAILED(hr) ) + return hr; + + assert( pTexture ); + + pTexture->GetDesc( &desc ); + + ComPtr d3dDevice; + pContext->GetDevice( d3dDevice.GetAddressOf() ); + + if ( desc.SampleDesc.Count > 1 ) + { + // MSAA content must be resolved before being copied to a staging texture + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + + ComPtr pTemp; + hr = d3dDevice->CreateTexture2D( &desc, 0, pTemp.GetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + assert( pTemp ); + + DXGI_FORMAT fmt = EnsureNotTypeless( desc.Format ); + + UINT support = 0; + hr = d3dDevice->CheckFormatSupport( fmt, &support ); + if ( FAILED(hr) ) + return hr; + + if ( !(support & D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE) ) + return E_FAIL; + + for( UINT item = 0; item < desc.ArraySize; ++item ) + { + for( UINT level = 0; level < desc.MipLevels; ++level ) + { + UINT index = D3D11CalcSubresource( level, item, desc.MipLevels ); + pContext->ResolveSubresource( pTemp.Get(), index, pSource, index, fmt ); + } + } + + desc.BindFlags = 0; + desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.Usage = D3D11_USAGE_STAGING; + + hr = d3dDevice->CreateTexture2D(&desc, 0, pStaging.ReleaseAndGetAddressOf()); + if ( FAILED(hr) ) + return hr; + + assert( pStaging ); + + pContext->CopyResource( pStaging.Get(), pTemp.Get() ); + } + else if ( (desc.Usage == D3D11_USAGE_STAGING) && (desc.CPUAccessFlags & D3D11_CPU_ACCESS_READ) ) + { + // Handle case where the source is already a staging texture we can use directly + pStaging = pTexture; + } + else + { + // Otherwise, create a staging texture from the non-MSAA source + desc.BindFlags = 0; + desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.Usage = D3D11_USAGE_STAGING; + + hr = d3dDevice->CreateTexture2D(&desc, 0, pStaging.ReleaseAndGetAddressOf()); + if ( FAILED(hr) ) + return hr; + + assert( pStaging ); + + pContext->CopyResource( pStaging.Get(), pSource ); + } + + return S_OK; + } + + //-------------------------------------------------------------------------------------- + bool g_WIC2 = false; + + IWICImagingFactory* _GetWIC() + { + static INIT_ONCE s_initOnce = INIT_ONCE_STATIC_INIT; + + IWICImagingFactory* factory = nullptr; + InitOnceExecuteOnce(&s_initOnce, + [](PINIT_ONCE, PVOID, LPVOID *ifactory) -> BOOL + { + #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + HRESULT hr = CoCreateInstance( + CLSID_WICImagingFactory2, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory2), + ifactory + ); + + if ( SUCCEEDED(hr) ) + { + // WIC2 is available on Windows 10, Windows 8.x, and Windows 7 SP1 with KB 2670838 installed + g_WIC2 = true; + return TRUE; + } + else + { + hr = CoCreateInstance( + CLSID_WICImagingFactory1, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory), + ifactory + ); + return SUCCEEDED(hr) ? TRUE : FALSE; + } + #else + return SUCCEEDED( CoCreateInstance( + CLSID_WICImagingFactory, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory), + ifactory) ) ? TRUE : FALSE; + #endif + }, nullptr, reinterpret_cast(&factory)); + + return factory; + } +} // anonymous namespace + + +//-------------------------------------------------------------------------------------- +HRESULT DirectX::SaveDDSTextureToFile( _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_z_ const wchar_t* fileName ) +{ + if ( !fileName ) + return E_INVALIDARG; + + D3D11_TEXTURE2D_DESC desc = {}; + ComPtr pStaging; + HRESULT hr = CaptureTexture( pContext, pSource, desc, pStaging ); + if ( FAILED(hr) ) + return hr; + + // Create file +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) + ScopedHandle hFile( safe_handle( CreateFile2( fileName, GENERIC_WRITE | DELETE, 0, CREATE_ALWAYS, nullptr ) ) ); +#else + ScopedHandle hFile( safe_handle( CreateFileW( fileName, GENERIC_WRITE | DELETE, 0, nullptr, CREATE_ALWAYS, 0, nullptr ) ) ); +#endif + if ( !hFile ) + return HRESULT_FROM_WIN32( GetLastError() ); + + auto_delete_file delonfail(hFile.get()); + + // Setup header + const size_t MAX_HEADER_SIZE = sizeof(uint32_t) + sizeof(DDS_HEADER) + sizeof(DDS_HEADER_DXT10); + uint8_t fileHeader[ MAX_HEADER_SIZE ]; + + *reinterpret_cast(&fileHeader[0]) = DDS_MAGIC; + + auto header = reinterpret_cast( &fileHeader[0] + sizeof(uint32_t) ); + size_t headerSize = sizeof(uint32_t) + sizeof(DDS_HEADER); + memset( header, 0, sizeof(DDS_HEADER) ); + header->size = sizeof( DDS_HEADER ); + header->flags = DDS_HEADER_FLAGS_TEXTURE | DDS_HEADER_FLAGS_MIPMAP; + header->height = desc.Height; + header->width = desc.Width; + header->mipMapCount = 1; + header->caps = DDS_SURFACE_FLAGS_TEXTURE; + + // Try to use a legacy .DDS pixel format for better tools support, otherwise fallback to 'DX10' header extension + DDS_HEADER_DXT10* extHeader = nullptr; + switch( desc.Format ) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A8B8G8R8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R16G16_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_G16R16, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R8G8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A8L8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R16_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_L16, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_L8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_A8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R8G8_B8G8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_R8G8_B8G8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_G8R8_G8B8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_G8R8_G8B8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC1_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_DXT1, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC2_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_DXT3, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC3_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_DXT5, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC4_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_BC4_UNORM, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC4_SNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_BC4_SNORM, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC5_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_BC5_UNORM, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_BC5_SNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_BC5_SNORM, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_B5G6R5_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_R5G6B5, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_B5G5R5A1_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A1R5G5B5, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R8G8_SNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_V8U8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R8G8B8A8_SNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_Q8W8V8U8, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_R16G16_SNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_V16U16, sizeof(DDS_PIXELFORMAT) ); break; + case DXGI_FORMAT_B8G8R8A8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A8R8G8B8, sizeof(DDS_PIXELFORMAT) ); break; // DXGI 1.1 + case DXGI_FORMAT_B8G8R8X8_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_X8R8G8B8, sizeof(DDS_PIXELFORMAT) ); break; // DXGI 1.1 + case DXGI_FORMAT_YUY2: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_YUY2, sizeof(DDS_PIXELFORMAT) ); break; // DXGI 1.2 + case DXGI_FORMAT_B4G4R4A4_UNORM: memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_A4R4G4B4, sizeof(DDS_PIXELFORMAT) ); break; // DXGI 1.2 + + // Legacy D3DX formats using D3DFMT enum value as FourCC + case DXGI_FORMAT_R32G32B32A32_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 116; break; // D3DFMT_A32B32G32R32F + case DXGI_FORMAT_R16G16B16A16_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 113; break; // D3DFMT_A16B16G16R16F + case DXGI_FORMAT_R16G16B16A16_UNORM: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 36; break; // D3DFMT_A16B16G16R16 + case DXGI_FORMAT_R16G16B16A16_SNORM: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 110; break; // D3DFMT_Q16W16V16U16 + case DXGI_FORMAT_R32G32_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 115; break; // D3DFMT_G32R32F + case DXGI_FORMAT_R16G16_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 112; break; // D3DFMT_G16R16F + case DXGI_FORMAT_R32_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 114; break; // D3DFMT_R32F + case DXGI_FORMAT_R16_FLOAT: header->ddspf.size = sizeof(DDS_PIXELFORMAT); header->ddspf.flags = DDS_FOURCC; header->ddspf.fourCC = 111; break; // D3DFMT_R16F + + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + case DXGI_FORMAT_A8P8: + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + + default: + memcpy_s( &header->ddspf, sizeof(header->ddspf), &DDSPF_DX10, sizeof(DDS_PIXELFORMAT) ); + + headerSize += sizeof(DDS_HEADER_DXT10); + extHeader = reinterpret_cast( reinterpret_cast(&fileHeader[0]) + sizeof(uint32_t) + sizeof(DDS_HEADER) ); + memset( extHeader, 0, sizeof(DDS_HEADER_DXT10) ); + extHeader->dxgiFormat = desc.Format; + extHeader->resourceDimension = D3D11_RESOURCE_DIMENSION_TEXTURE2D; + extHeader->arraySize = 1; + break; + } + + size_t rowPitch, slicePitch, rowCount; + GetSurfaceInfo( desc.Width, desc.Height, desc.Format, &slicePitch, &rowPitch, &rowCount ); + + if ( IsCompressed( desc.Format ) ) + { + header->flags |= DDS_HEADER_FLAGS_LINEARSIZE; + header->pitchOrLinearSize = static_cast( slicePitch ); + } + else + { + header->flags |= DDS_HEADER_FLAGS_PITCH; + header->pitchOrLinearSize = static_cast( rowPitch ); + } + + // Setup pixels + std::unique_ptr pixels( new (std::nothrow) uint8_t[ slicePitch ] ); + if (!pixels) + return E_OUTOFMEMORY; + + D3D11_MAPPED_SUBRESOURCE mapped; + hr = pContext->Map( pStaging.Get(), 0, D3D11_MAP_READ, 0, &mapped ); + if ( FAILED(hr) ) + return hr; + + auto sptr = reinterpret_cast( mapped.pData ); + if ( !sptr ) + { + pContext->Unmap( pStaging.Get(), 0 ); + return E_POINTER; + } + + uint8_t* dptr = pixels.get(); + + size_t msize = std::min( rowPitch, mapped.RowPitch ); + for( size_t h = 0; h < rowCount; ++h ) + { + memcpy_s( dptr, rowPitch, sptr, msize ); + sptr += mapped.RowPitch; + dptr += rowPitch; + } + + pContext->Unmap( pStaging.Get(), 0 ); + + // Write header & pixels + DWORD bytesWritten; + if ( !WriteFile( hFile.get(), fileHeader, static_cast( headerSize ), &bytesWritten, nullptr ) ) + return HRESULT_FROM_WIN32( GetLastError() ); + + if ( bytesWritten != headerSize ) + return E_FAIL; + + if ( !WriteFile( hFile.get(), pixels.get(), static_cast( slicePitch ), &bytesWritten, nullptr ) ) + return HRESULT_FROM_WIN32( GetLastError() ); + + if ( bytesWritten != slicePitch ) + return E_FAIL; + + delonfail.clear(); + + return S_OK; +} + +//-------------------------------------------------------------------------------------- +HRESULT DirectX::SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_ REFGUID guidContainerFormat, + _In_z_ const wchar_t* fileName, + _In_opt_ const GUID* targetFormat, + _In_opt_ std::function setCustomProps ) +{ + if ( !fileName ) + return E_INVALIDARG; + + D3D11_TEXTURE2D_DESC desc = {}; + ComPtr pStaging; + HRESULT hr = CaptureTexture( pContext, pSource, desc, pStaging ); + if ( FAILED(hr) ) + return hr; + + // Determine source format's WIC equivalent + WICPixelFormatGUID pfGuid; + bool sRGB = false; + switch ( desc.Format ) + { + case DXGI_FORMAT_R32G32B32A32_FLOAT: pfGuid = GUID_WICPixelFormat128bppRGBAFloat; break; + case DXGI_FORMAT_R16G16B16A16_FLOAT: pfGuid = GUID_WICPixelFormat64bppRGBAHalf; break; + case DXGI_FORMAT_R16G16B16A16_UNORM: pfGuid = GUID_WICPixelFormat64bppRGBA; break; + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: pfGuid = GUID_WICPixelFormat32bppRGBA1010102XR; break; // DXGI 1.1 + case DXGI_FORMAT_R10G10B10A2_UNORM: pfGuid = GUID_WICPixelFormat32bppRGBA1010102; break; + case DXGI_FORMAT_B5G5R5A1_UNORM: pfGuid = GUID_WICPixelFormat16bppBGRA5551; break; + case DXGI_FORMAT_B5G6R5_UNORM: pfGuid = GUID_WICPixelFormat16bppBGR565; break; + case DXGI_FORMAT_R32_FLOAT: pfGuid = GUID_WICPixelFormat32bppGrayFloat; break; + case DXGI_FORMAT_R16_FLOAT: pfGuid = GUID_WICPixelFormat16bppGrayHalf; break; + case DXGI_FORMAT_R16_UNORM: pfGuid = GUID_WICPixelFormat16bppGray; break; + case DXGI_FORMAT_R8_UNORM: pfGuid = GUID_WICPixelFormat8bppGray; break; + case DXGI_FORMAT_A8_UNORM: pfGuid = GUID_WICPixelFormat8bppAlpha; break; + + case DXGI_FORMAT_R8G8B8A8_UNORM: + pfGuid = GUID_WICPixelFormat32bppRGBA; + break; + + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + pfGuid = GUID_WICPixelFormat32bppRGBA; + sRGB = true; + break; + + case DXGI_FORMAT_B8G8R8A8_UNORM: // DXGI 1.1 + pfGuid = GUID_WICPixelFormat32bppBGRA; + break; + + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: // DXGI 1.1 + pfGuid = GUID_WICPixelFormat32bppBGRA; + sRGB = true; + break; + + case DXGI_FORMAT_B8G8R8X8_UNORM: // DXGI 1.1 + pfGuid = GUID_WICPixelFormat32bppBGR; + break; + + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: // DXGI 1.1 + pfGuid = GUID_WICPixelFormat32bppBGR; + sRGB = true; + break; + + default: + return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + } + + auto pWIC = _GetWIC(); + if ( !pWIC ) + return E_NOINTERFACE; + + ComPtr stream; + hr = pWIC->CreateStream( stream.GetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + hr = stream->InitializeFromFilename( fileName, GENERIC_WRITE ); + if ( FAILED(hr) ) + return hr; + + auto_delete_file_wic delonfail(stream, fileName); + + ComPtr encoder; + hr = pWIC->CreateEncoder( guidContainerFormat, nullptr, encoder.GetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + hr = encoder->Initialize( stream.Get(), WICBitmapEncoderNoCache ); + if ( FAILED(hr) ) + return hr; + + ComPtr frame; + ComPtr props; + hr = encoder->CreateNewFrame( frame.GetAddressOf(), props.GetAddressOf() ); + if ( FAILED(hr) ) + return hr; + + if ( targetFormat && memcmp( &guidContainerFormat, &GUID_ContainerFormatBmp, sizeof(WICPixelFormatGUID) ) == 0 && g_WIC2 ) + { + // Opt-in to the WIC2 support for writing 32-bit Windows BMP files with an alpha channel + PROPBAG2 option = {}; + option.pstrName = const_cast(L"EnableV5Header32bppBGRA"); + + VARIANT varValue; + varValue.vt = VT_BOOL; + varValue.boolVal = VARIANT_TRUE; + (void)props->Write( 1, &option, &varValue ); + } + + if ( setCustomProps ) + { + setCustomProps( props.Get() ); + } + + hr = frame->Initialize( props.Get() ); + if ( FAILED(hr) ) + return hr; + + hr = frame->SetSize( desc.Width , desc.Height ); + if ( FAILED(hr) ) + return hr; + + hr = frame->SetResolution( 72, 72 ); + if ( FAILED(hr) ) + return hr; + + // Pick a target format + WICPixelFormatGUID targetGuid; + if ( targetFormat ) + { + targetGuid = *targetFormat; + } + else + { + // Screenshots don’t typically include the alpha channel of the render target + switch ( desc.Format ) + { +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R16G16B16A16_FLOAT: + if ( g_WIC2 ) + { + targetGuid = GUID_WICPixelFormat96bppRGBFloat; + } + else + { + targetGuid = GUID_WICPixelFormat24bppBGR; + } + break; +#endif + + case DXGI_FORMAT_R16G16B16A16_UNORM: targetGuid = GUID_WICPixelFormat48bppBGR; break; + case DXGI_FORMAT_B5G5R5A1_UNORM: targetGuid = GUID_WICPixelFormat16bppBGR555; break; + case DXGI_FORMAT_B5G6R5_UNORM: targetGuid = GUID_WICPixelFormat16bppBGR565; break; + + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_A8_UNORM: + targetGuid = GUID_WICPixelFormat8bppGray; + break; + + default: + targetGuid = GUID_WICPixelFormat24bppBGR; + break; + } + } + + hr = frame->SetPixelFormat( &targetGuid ); + if ( FAILED(hr) ) + return hr; + + if ( targetFormat && memcmp( targetFormat, &targetGuid, sizeof(WICPixelFormatGUID) ) != 0 ) + { + // Requested output pixel format is not supported by the WIC codec + return E_FAIL; + } + + // Encode WIC metadata + ComPtr metawriter; + if ( SUCCEEDED( frame->GetMetadataQueryWriter( metawriter.GetAddressOf() ) ) ) + { + PROPVARIANT value; + PropVariantInit( &value ); + + value.vt = VT_LPSTR; + value.pszVal = const_cast("DirectXTK"); + + if ( memcmp( &guidContainerFormat, &GUID_ContainerFormatPng, sizeof(GUID) ) == 0 ) + { + // Set Software name + (void)metawriter->SetMetadataByName( L"/tEXt/{str=Software}", &value ); + + // Set sRGB chunk + if (sRGB) + { + value.vt = VT_UI1; + value.bVal = 0; + (void)metawriter->SetMetadataByName(L"/sRGB/RenderingIntent", &value); + } + else + { + // add gAMA chunk with gamma 1.0 + value.vt = VT_UI4; + value.uintVal = 100000; // gama value * 100,000 -- i.e. gamma 1.0 + (void)metawriter->SetMetadataByName(L"/gAMA/ImageGamma", &value); + + // remove sRGB chunk which is added by default. + (void)metawriter->RemoveMetadataByName(L"/sRGB/RenderingIntent"); + } + } + else + { + // Set Software name + (void)metawriter->SetMetadataByName( L"System.ApplicationName", &value ); + + if ( sRGB ) + { + // Set EXIF Colorspace of sRGB + value.vt = VT_UI2; + value.uiVal = 1; + (void)metawriter->SetMetadataByName( L"System.Image.ColorSpace", &value ); + } + } + } + + D3D11_MAPPED_SUBRESOURCE mapped; + hr = pContext->Map( pStaging.Get(), 0, D3D11_MAP_READ, 0, &mapped ); + if ( FAILED(hr) ) + return hr; + + if ( memcmp( &targetGuid, &pfGuid, sizeof(WICPixelFormatGUID) ) != 0 ) + { + // Conversion required to write + ComPtr source; + hr = pWIC->CreateBitmapFromMemory( desc.Width, desc.Height, pfGuid, + mapped.RowPitch, mapped.RowPitch * desc.Height, + reinterpret_cast( mapped.pData ), source.GetAddressOf() ); + if ( FAILED(hr) ) + { + pContext->Unmap( pStaging.Get(), 0 ); + return hr; + } + + ComPtr FC; + hr = pWIC->CreateFormatConverter( FC.GetAddressOf() ); + if ( FAILED(hr) ) + { + pContext->Unmap( pStaging.Get(), 0 ); + return hr; + } + + BOOL canConvert = FALSE; + hr = FC->CanConvert( pfGuid, targetGuid, &canConvert ); + if ( FAILED(hr) || !canConvert ) + { + return E_UNEXPECTED; + } + + hr = FC->Initialize( source.Get(), targetGuid, WICBitmapDitherTypeNone, nullptr, 0, WICBitmapPaletteTypeMedianCut ); + if ( FAILED(hr) ) + { + pContext->Unmap( pStaging.Get(), 0 ); + return hr; + } + + WICRect rect = { 0, 0, static_cast( desc.Width ), static_cast( desc.Height ) }; + hr = frame->WriteSource( FC.Get(), &rect ); + if ( FAILED(hr) ) + { + pContext->Unmap( pStaging.Get(), 0 ); + return hr; + } + } + else + { + // No conversion required + hr = frame->WritePixels( desc.Height, mapped.RowPitch, mapped.RowPitch * desc.Height, reinterpret_cast( mapped.pData ) ); + if ( FAILED(hr) ) + return hr; + } + + pContext->Unmap( pStaging.Get(), 0 ); + + hr = frame->Commit(); + if ( FAILED(hr) ) + return hr; + + hr = encoder->Commit(); + if ( FAILED(hr) ) + return hr; + + delonfail.clear(); + + return S_OK; +} diff --git a/FriedLiver/Source/DXUT/Core/ScreenGrab.h b/FriedLiver/Source/DXUT/Core/ScreenGrab.h new file mode 100644 index 00000000..1f185394 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/ScreenGrab.h @@ -0,0 +1,39 @@ +//-------------------------------------------------------------------------------------- +// File: ScreenGrab.h +// +// Function for capturing a 2D texture and saving it to a file (aka a 'screenshot' +// when used on a Direct3D 11 Render Target). +// +// Note these functions are useful as a light-weight runtime screen grabber. For +// full-featured texture capture, DDS writer, and texture processing pipeline, +// see the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#pragma once + +#include + +#include +#include +#include + + +namespace DirectX +{ + HRESULT SaveDDSTextureToFile( _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_z_ const wchar_t* fileName ); + + HRESULT SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_ REFGUID guidContainerFormat, + _In_z_ const wchar_t* fileName, + _In_opt_ const GUID* targetFormat = nullptr, + _In_opt_ std::function setCustomProps = nullptr ); +} \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/WICTextureLoader.cpp b/FriedLiver/Source/DXUT/Core/WICTextureLoader.cpp new file mode 100644 index 00000000..f74bee45 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/WICTextureLoader.cpp @@ -0,0 +1,932 @@ +//-------------------------------------------------------------------------------------- +// File: WICTextureLoader.cpp +// +// Function for loading a WIC image and creating a Direct3D runtime texture for it +// (auto-generating mipmaps if possible) +// +// Note: Assumes application has already called CoInitializeEx +// +// Warning: CreateWICTexture* functions are not thread-safe if given a d3dContext instance for +// auto-gen mipmap support. +// +// Note these functions are useful for images created as simple 2D textures. For +// more complex resources, DDSTextureLoader is an excellent light-weight runtime loader. +// For a full-featured DDS file reader, writer, and texture processing pipeline see +// the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#include "dxut.h" + +// We could load multi-frame images (TIFF/GIF) into a texture array. +// For now, we just load the first frame (note: DirectXTex supports multi-frame images) + +#include "WICTextureLoader.h" + +#include +#include + +#include + +#include + +#include +#include + +#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) +#pragma comment(lib,"dxguid.lib") +#endif + +using namespace DirectX; +using Microsoft::WRL::ComPtr; + +namespace +{ + //-------------------------------------------------------------------------------------- + template + inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_ const char(&name)[TNameLength]) + { +#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) + resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name); +#else + UNREFERENCED_PARAMETER(resource); + UNREFERENCED_PARAMETER(name); +#endif + } + + //------------------------------------------------------------------------------------- + // WIC Pixel Format Translation Data + //------------------------------------------------------------------------------------- + struct WICTranslate + { + GUID wic; + DXGI_FORMAT format; + }; + + const WICTranslate g_WICFormats[] = + { + { GUID_WICPixelFormat128bppRGBAFloat, DXGI_FORMAT_R32G32B32A32_FLOAT }, + + { GUID_WICPixelFormat64bppRGBAHalf, DXGI_FORMAT_R16G16B16A16_FLOAT }, + { GUID_WICPixelFormat64bppRGBA, DXGI_FORMAT_R16G16B16A16_UNORM }, + + { GUID_WICPixelFormat32bppRGBA, DXGI_FORMAT_R8G8B8A8_UNORM }, + { GUID_WICPixelFormat32bppBGRA, DXGI_FORMAT_B8G8R8A8_UNORM }, // DXGI 1.1 + { GUID_WICPixelFormat32bppBGR, DXGI_FORMAT_B8G8R8X8_UNORM }, // DXGI 1.1 + + { GUID_WICPixelFormat32bppRGBA1010102XR, DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM }, // DXGI 1.1 + { GUID_WICPixelFormat32bppRGBA1010102, DXGI_FORMAT_R10G10B10A2_UNORM }, + + { GUID_WICPixelFormat16bppBGRA5551, DXGI_FORMAT_B5G5R5A1_UNORM }, + { GUID_WICPixelFormat16bppBGR565, DXGI_FORMAT_B5G6R5_UNORM }, + + { GUID_WICPixelFormat32bppGrayFloat, DXGI_FORMAT_R32_FLOAT }, + { GUID_WICPixelFormat16bppGrayHalf, DXGI_FORMAT_R16_FLOAT }, + { GUID_WICPixelFormat16bppGray, DXGI_FORMAT_R16_UNORM }, + { GUID_WICPixelFormat8bppGray, DXGI_FORMAT_R8_UNORM }, + + { GUID_WICPixelFormat8bppAlpha, DXGI_FORMAT_A8_UNORM }, + }; + + //------------------------------------------------------------------------------------- + // WIC Pixel Format nearest conversion table + //------------------------------------------------------------------------------------- + + struct WICConvert + { + GUID source; + GUID target; + }; + + const WICConvert g_WICConvert[] = + { + // Note target GUID in this conversion table must be one of those directly supported formats (above). + + { GUID_WICPixelFormatBlackWhite, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + + { GUID_WICPixelFormat1bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat2bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat4bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat8bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + + { GUID_WICPixelFormat2bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + { GUID_WICPixelFormat4bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + + { GUID_WICPixelFormat16bppGrayFixedPoint, GUID_WICPixelFormat16bppGrayHalf }, // DXGI_FORMAT_R16_FLOAT + { GUID_WICPixelFormat32bppGrayFixedPoint, GUID_WICPixelFormat32bppGrayFloat }, // DXGI_FORMAT_R32_FLOAT + + { GUID_WICPixelFormat16bppBGR555, GUID_WICPixelFormat16bppBGRA5551 }, // DXGI_FORMAT_B5G5R5A1_UNORM + + { GUID_WICPixelFormat32bppBGR101010, GUID_WICPixelFormat32bppRGBA1010102 }, // DXGI_FORMAT_R10G10B10A2_UNORM + + { GUID_WICPixelFormat24bppBGR, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat24bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat32bppPBGRA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat32bppPRGBA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + + { GUID_WICPixelFormat48bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat48bppBGR, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPRGBA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + + { GUID_WICPixelFormat48bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat48bppBGRFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppBGRAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat48bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + + { GUID_WICPixelFormat128bppPRGBAFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBAFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat32bppRGBE, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + + { GUID_WICPixelFormat32bppCMYK, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat64bppCMYK, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat40bppCMYKAlpha, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat80bppCMYKAlpha, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + + #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + { GUID_WICPixelFormat32bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat64bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPRGBAHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + #endif + + // We don't support n-channel formats + }; + + bool g_WIC2 = false; + + //-------------------------------------------------------------------------------------- + IWICImagingFactory* _GetWIC() + { + static INIT_ONCE s_initOnce = INIT_ONCE_STATIC_INIT; + + IWICImagingFactory* factory = nullptr; + InitOnceExecuteOnce(&s_initOnce, + [](PINIT_ONCE, PVOID, PVOID *ifactory) -> BOOL + { +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + HRESULT hr = CoCreateInstance( + CLSID_WICImagingFactory2, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory2), + ifactory + ); + + if (SUCCEEDED(hr)) + { + // WIC2 is available on Windows 10, Windows 8.x, and Windows 7 SP1 with KB 2670838 installed + g_WIC2 = true; + return TRUE; + } + else + { + hr = CoCreateInstance( + CLSID_WICImagingFactory1, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory), + ifactory + ); + return SUCCEEDED(hr) ? TRUE : FALSE; + } +#else + return SUCCEEDED(CoCreateInstance( + CLSID_WICImagingFactory, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory), + ifactory)) ? TRUE : FALSE; +#endif + }, nullptr, reinterpret_cast(&factory)); + + return factory; + } + + //--------------------------------------------------------------------------------- + DXGI_FORMAT _WICToDXGI(const GUID& guid) + { + for (size_t i = 0; i < _countof(g_WICFormats); ++i) + { + if (memcmp(&g_WICFormats[i].wic, &guid, sizeof(GUID)) == 0) + return g_WICFormats[i].format; + } + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + if (g_WIC2) + { + if (memcmp(&GUID_WICPixelFormat96bppRGBFloat, &guid, sizeof(GUID)) == 0) + return DXGI_FORMAT_R32G32B32_FLOAT; + } +#endif + + return DXGI_FORMAT_UNKNOWN; + } + + //--------------------------------------------------------------------------------- + size_t _WICBitsPerPixel(REFGUID targetGuid) + { + auto pWIC = _GetWIC(); + if (!pWIC) + return 0; + + ComPtr cinfo; + if (FAILED(pWIC->CreateComponentInfo(targetGuid, cinfo.GetAddressOf()))) + return 0; + + WICComponentType type; + if (FAILED(cinfo->GetComponentType(&type))) + return 0; + + if (type != WICPixelFormat) + return 0; + + ComPtr pfinfo; + if (FAILED(cinfo.As(&pfinfo))) + return 0; + + UINT bpp; + if (FAILED(pfinfo->GetBitsPerPixel(&bpp))) + return 0; + + return bpp; + } + + + //-------------------------------------------------------------------------------------- + DXGI_FORMAT MakeSRGB(_In_ DXGI_FORMAT format) + { + switch (format) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: + return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + + case DXGI_FORMAT_BC1_UNORM: + return DXGI_FORMAT_BC1_UNORM_SRGB; + + case DXGI_FORMAT_BC2_UNORM: + return DXGI_FORMAT_BC2_UNORM_SRGB; + + case DXGI_FORMAT_BC3_UNORM: + return DXGI_FORMAT_BC3_UNORM_SRGB; + + case DXGI_FORMAT_B8G8R8A8_UNORM: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; + + case DXGI_FORMAT_B8G8R8X8_UNORM: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; + + case DXGI_FORMAT_BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM_SRGB; + + default: + return format; + } + } + + + //--------------------------------------------------------------------------------- + HRESULT CreateTextureFromWIC(_In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ IWICBitmapFrameDecode *frame, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ unsigned int loadFlags, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) + { + UINT width, height; + HRESULT hr = frame->GetSize(&width, &height); + if (FAILED(hr)) + return hr; + + assert(width > 0 && height > 0); + + if (!maxsize) + { + // This is a bit conservative because the hardware could support larger textures than + // the Feature Level defined minimums, but doing it this way is much easier and more + // performant for WIC than the 'fail and retry' model used by DDSTextureLoader + + switch (d3dDevice->GetFeatureLevel()) + { + case D3D_FEATURE_LEVEL_9_1: + case D3D_FEATURE_LEVEL_9_2: + maxsize = 2048 /*D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + + case D3D_FEATURE_LEVEL_9_3: + maxsize = 4096 /*D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + + case D3D_FEATURE_LEVEL_10_0: + case D3D_FEATURE_LEVEL_10_1: + maxsize = 8192 /*D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + + default: + maxsize = D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION; + break; + } + } + + assert(maxsize > 0); + + UINT twidth, theight; + if (width > maxsize || height > maxsize) + { + float ar = static_cast(height) / static_cast(width); + if (width > height) + { + twidth = static_cast(maxsize); + theight = std::max(1, static_cast(static_cast(maxsize) * ar)); + } + else + { + theight = static_cast(maxsize); + twidth = std::max(1, static_cast(static_cast(maxsize) / ar)); + } + assert(twidth <= maxsize && theight <= maxsize); + } + else + { + twidth = width; + theight = height; + } + + // Determine format + WICPixelFormatGUID pixelFormat; + hr = frame->GetPixelFormat(&pixelFormat); + if (FAILED(hr)) + return hr; + + WICPixelFormatGUID convertGUID; + memcpy(&convertGUID, &pixelFormat, sizeof(WICPixelFormatGUID)); + + size_t bpp = 0; + + DXGI_FORMAT format = _WICToDXGI(pixelFormat); + if (format == DXGI_FORMAT_UNKNOWN) + { + if (memcmp(&GUID_WICPixelFormat96bppRGBFixedPoint, &pixelFormat, sizeof(WICPixelFormatGUID)) == 0) + { +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + if (g_WIC2) + { + memcpy(&convertGUID, &GUID_WICPixelFormat96bppRGBFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32_FLOAT; + bpp = 96; + } + else +#endif + { + memcpy(&convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32A32_FLOAT; + bpp = 128; + } + } + else + { + for (size_t i = 0; i < _countof(g_WICConvert); ++i) + { + if (memcmp(&g_WICConvert[i].source, &pixelFormat, sizeof(WICPixelFormatGUID)) == 0) + { + memcpy(&convertGUID, &g_WICConvert[i].target, sizeof(WICPixelFormatGUID)); + + format = _WICToDXGI(g_WICConvert[i].target); + assert(format != DXGI_FORMAT_UNKNOWN); + bpp = _WICBitsPerPixel(convertGUID); + break; + } + } + } + + if (format == DXGI_FORMAT_UNKNOWN) + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + else + { + bpp = _WICBitsPerPixel(pixelFormat); + } + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + if ((format == DXGI_FORMAT_R32G32B32_FLOAT) && d3dContext != 0 && textureView != 0) + { + // Special case test for optional device support for autogen mipchains for R32G32B32_FLOAT + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(DXGI_FORMAT_R32G32B32_FLOAT, &fmtSupport); + if (FAILED(hr) || !(fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) + { + // Use R32G32B32A32_FLOAT instead which is required for Feature Level 10.0 and up + memcpy(&convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32A32_FLOAT; + bpp = 128; + } + } +#endif + + if (!bpp) + return E_FAIL; + + // Handle sRGB formats + if (loadFlags & WIC_LOADER_FORCE_SRGB) + { + format = MakeSRGB(format); + } + else if (!(loadFlags & WIC_LOADER_IGNORE_SRGB)) + { + ComPtr metareader; + if (SUCCEEDED(frame->GetMetadataQueryReader(metareader.GetAddressOf()))) + { + GUID containerFormat; + if (SUCCEEDED(metareader->GetContainerFormat(&containerFormat))) + { + // Check for sRGB colorspace metadata + bool sRGB = false; + + PROPVARIANT value; + PropVariantInit(&value); + + if (memcmp(&containerFormat, &GUID_ContainerFormatPng, sizeof(GUID)) == 0) + { + // Check for sRGB chunk + if (SUCCEEDED(metareader->GetMetadataByName(L"/sRGB/RenderingIntent", &value)) && value.vt == VT_UI1) + { + sRGB = true; + } + } + else if (SUCCEEDED(metareader->GetMetadataByName(L"System.Image.ColorSpace", &value)) && value.vt == VT_UI2 && value.uiVal == 1) + { + sRGB = true; + } + + (void)PropVariantClear(&value); + + if (sRGB) + format = MakeSRGB(format); + } + } + } + + // Verify our target format is supported by the current device + // (handles WDDM 1.0 or WDDM 1.1 device driver cases as well as DirectX 11.0 Runtime without 16bpp format support) + UINT support = 0; + hr = d3dDevice->CheckFormatSupport(format, &support); + if (FAILED(hr) || !(support & D3D11_FORMAT_SUPPORT_TEXTURE2D)) + { + // Fallback to RGBA 32-bit format which is supported by all devices + memcpy(&convertGUID, &GUID_WICPixelFormat32bppRGBA, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R8G8B8A8_UNORM; + bpp = 32; + } + + // Allocate temporary memory for image + size_t rowPitch = (twidth * bpp + 7) / 8; + size_t imageSize = rowPitch * theight; + + std::unique_ptr temp(new (std::nothrow) uint8_t[imageSize]); + if (!temp) + return E_OUTOFMEMORY; + + // Load image data + if (memcmp(&convertGUID, &pixelFormat, sizeof(GUID)) == 0 + && twidth == width + && theight == height) + { + // No format conversion or resize needed + hr = frame->CopyPixels(nullptr, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + else if (twidth != width || theight != height) + { + // Resize + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + + ComPtr scaler; + hr = pWIC->CreateBitmapScaler(scaler.GetAddressOf()); + if (FAILED(hr)) + return hr; + + hr = scaler->Initialize(frame, twidth, theight, WICBitmapInterpolationModeFant); + if (FAILED(hr)) + return hr; + + WICPixelFormatGUID pfScaler; + hr = scaler->GetPixelFormat(&pfScaler); + if (FAILED(hr)) + return hr; + + if (memcmp(&convertGUID, &pfScaler, sizeof(GUID)) == 0) + { + // No format conversion needed + hr = scaler->CopyPixels(nullptr, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + else + { + ComPtr FC; + hr = pWIC->CreateFormatConverter(FC.GetAddressOf()); + if (FAILED(hr)) + return hr; + + BOOL canConvert = FALSE; + hr = FC->CanConvert(pfScaler, convertGUID, &canConvert); + if (FAILED(hr) || !canConvert) + { + return E_UNEXPECTED; + } + + hr = FC->Initialize(scaler.Get(), convertGUID, WICBitmapDitherTypeErrorDiffusion, nullptr, 0, WICBitmapPaletteTypeMedianCut); + if (FAILED(hr)) + return hr; + + hr = FC->CopyPixels(nullptr, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + } + else + { + // Format conversion but no resize + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + + ComPtr FC; + hr = pWIC->CreateFormatConverter(FC.GetAddressOf()); + if (FAILED(hr)) + return hr; + + BOOL canConvert = FALSE; + hr = FC->CanConvert(pixelFormat, convertGUID, &canConvert); + if (FAILED(hr) || !canConvert) + { + return E_UNEXPECTED; + } + + hr = FC->Initialize(frame, convertGUID, WICBitmapDitherTypeErrorDiffusion, nullptr, 0, WICBitmapPaletteTypeMedianCut); + if (FAILED(hr)) + return hr; + + hr = FC->CopyPixels(nullptr, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + + // See if format is supported for auto-gen mipmaps (varies by feature level) + bool autogen = false; + if (d3dContext != 0 && textureView != 0) // Must have context and shader-view to auto generate mipmaps + { + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(format, &fmtSupport); + if (SUCCEEDED(hr) && (fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) + { + autogen = true; + } + } + + // Create texture + D3D11_TEXTURE2D_DESC desc; + desc.Width = twidth; + desc.Height = theight; + desc.MipLevels = (autogen) ? 0 : 1; + desc.ArraySize = 1; + desc.Format = format; + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = usage; + desc.CPUAccessFlags = cpuAccessFlags; + + if (autogen) + { + desc.BindFlags = bindFlags | D3D11_BIND_RENDER_TARGET; + desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS; + } + else + { + desc.BindFlags = bindFlags; + desc.MiscFlags = miscFlags; + } + + D3D11_SUBRESOURCE_DATA initData; + initData.pSysMem = temp.get(); + initData.SysMemPitch = static_cast(rowPitch); + initData.SysMemSlicePitch = static_cast(imageSize); + + ID3D11Texture2D* tex = nullptr; + hr = d3dDevice->CreateTexture2D(&desc, (autogen) ? nullptr : &initData, &tex); + if (SUCCEEDED(hr) && tex != 0) + { + if (textureView != 0) + { + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = desc.Format; + + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + SRVDesc.Texture2D.MipLevels = (autogen) ? -1 : 1; + + hr = d3dDevice->CreateShaderResourceView(tex, &SRVDesc, textureView); + if (FAILED(hr)) + { + tex->Release(); + return hr; + } + + if (autogen) + { + assert(d3dContext != 0); + d3dContext->UpdateSubresource(tex, 0, nullptr, temp.get(), static_cast(rowPitch), static_cast(imageSize)); + d3dContext->GenerateMips(*textureView); + } + } + + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "WICTextureLoader"); + tex->Release(); + } + } + + return hr; + } +} // anonymous namespace + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromMemory(ID3D11Device* d3dDevice, + const uint8_t* wicData, + size_t wicDataSize, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize) +{ + return CreateWICTextureFromMemoryEx(d3dDevice, nullptr, wicData, wicDataSize, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, WIC_LOADER_DEFAULT, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromMemory(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const uint8_t* wicData, + size_t wicDataSize, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize) +{ + return CreateWICTextureFromMemoryEx(d3dDevice, d3dContext, wicData, wicDataSize, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, WIC_LOADER_DEFAULT, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromMemoryEx(ID3D11Device* d3dDevice, + const uint8_t* wicData, + size_t wicDataSize, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + unsigned int loadFlags, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView) +{ + return CreateWICTextureFromMemoryEx(d3dDevice, nullptr, wicData, wicDataSize, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, loadFlags, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromMemoryEx(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const uint8_t* wicData, + size_t wicDataSize, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + unsigned int loadFlags, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView) +{ + if (texture) + { + *texture = nullptr; + } + if (textureView) + { + *textureView = nullptr; + } + + if (!d3dDevice || !wicData || (!texture && !textureView)) + return E_INVALIDARG; + + if (!wicDataSize) + return E_FAIL; + + if (wicDataSize > UINT32_MAX) + return HRESULT_FROM_WIN32(ERROR_FILE_TOO_LARGE); + + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + + // Create input stream for memory + ComPtr stream; + HRESULT hr = pWIC->CreateStream(stream.GetAddressOf()); + if (FAILED(hr)) + return hr; + + hr = stream->InitializeFromMemory(const_cast(wicData), static_cast(wicDataSize)); + if (FAILED(hr)) + return hr; + + // Initialize WIC + ComPtr decoder; + hr = pWIC->CreateDecoderFromStream(stream.Get(), nullptr, WICDecodeMetadataCacheOnDemand, decoder.GetAddressOf()); + if (FAILED(hr)) + return hr; + + ComPtr frame; + hr = decoder->GetFrame(0, frame.GetAddressOf()); + if (FAILED(hr)) + return hr; + + hr = CreateTextureFromWIC(d3dDevice, d3dContext, frame.Get(), maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, loadFlags, + texture, textureView); + if (FAILED(hr)) + return hr; + + if (texture != 0 && *texture != 0) + { + SetDebugObjectName(*texture, "WICTextureLoader"); + } + + if (textureView != 0 && *textureView != 0) + { + SetDebugObjectName(*textureView, "WICTextureLoader"); + } + + return hr; +} + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromFile(ID3D11Device* d3dDevice, + const wchar_t* fileName, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize) +{ + return CreateWICTextureFromFileEx(d3dDevice, nullptr, fileName, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, WIC_LOADER_DEFAULT, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromFile(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const wchar_t* fileName, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView, + size_t maxsize) +{ + return CreateWICTextureFromFileEx(d3dDevice, d3dContext, fileName, maxsize, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, WIC_LOADER_DEFAULT, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromFileEx(ID3D11Device* d3dDevice, + const wchar_t* fileName, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + unsigned int loadFlags, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView) +{ + return CreateWICTextureFromFileEx(d3dDevice, nullptr, fileName, maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, loadFlags, + texture, textureView); +} + +_Use_decl_annotations_ +HRESULT DirectX::CreateWICTextureFromFileEx(ID3D11Device* d3dDevice, + ID3D11DeviceContext* d3dContext, + const wchar_t* fileName, + size_t maxsize, + D3D11_USAGE usage, + unsigned int bindFlags, + unsigned int cpuAccessFlags, + unsigned int miscFlags, + unsigned int loadFlags, + ID3D11Resource** texture, + ID3D11ShaderResourceView** textureView) +{ + if (texture) + { + *texture = nullptr; + } + if (textureView) + { + *textureView = nullptr; + } + + if (!d3dDevice || !fileName || (!texture && !textureView)) + return E_INVALIDARG; + + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + + // Initialize WIC + ComPtr decoder; + HRESULT hr = pWIC->CreateDecoderFromFilename(fileName, nullptr, GENERIC_READ, WICDecodeMetadataCacheOnDemand, decoder.GetAddressOf()); + if (FAILED(hr)) + return hr; + + ComPtr frame; + hr = decoder->GetFrame(0, frame.GetAddressOf()); + if (FAILED(hr)) + return hr; + + hr = CreateTextureFromWIC(d3dDevice, d3dContext, frame.Get(), maxsize, + usage, bindFlags, cpuAccessFlags, miscFlags, loadFlags, + texture, textureView); + +#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) + if (SUCCEEDED(hr)) + { + if (texture != 0 || textureView != 0) + { + char strFileA[MAX_PATH]; + int result = WideCharToMultiByte(CP_ACP, + WC_NO_BEST_FIT_CHARS, + fileName, + -1, + strFileA, + MAX_PATH, + nullptr, + FALSE + ); + if (result > 0) + { + const char* pstrName = strrchr(strFileA, '\\'); + if (!pstrName) + { + pstrName = strFileA; + } + else + { + pstrName++; + } + + if (texture != 0 && *texture != 0) + { + (*texture)->SetPrivateData(WKPDID_D3DDebugObjectName, + static_cast(strnlen_s(pstrName, MAX_PATH)), + pstrName + ); + } + + if (textureView != 0 && *textureView != 0) + { + (*textureView)->SetPrivateData(WKPDID_D3DDebugObjectName, + static_cast(strnlen_s(pstrName, MAX_PATH)), + pstrName + ); + } + } + } + } +#endif + + return hr; +} diff --git a/FriedLiver/Source/DXUT/Core/WICTextureLoader.h b/FriedLiver/Source/DXUT/Core/WICTextureLoader.h new file mode 100644 index 00000000..8843c337 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/WICTextureLoader.h @@ -0,0 +1,126 @@ +//-------------------------------------------------------------------------------------- +// File: WICTextureLoader.h +// +// Function for loading a WIC image and creating a Direct3D runtime texture for it +// (auto-generating mipmaps if possible) +// +// Note: Assumes application has already called CoInitializeEx +// +// Warning: CreateWICTexture* functions are not thread-safe if given a d3dContext instance for +// auto-gen mipmap support. +// +// Note these functions are useful for images created as simple 2D textures. For +// more complex resources, DDSTextureLoader is an excellent light-weight runtime loader. +// For a full-featured DDS file reader, writer, and texture processing pipeline see +// the 'Texconv' sample and the 'DirectXTex' library. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=248926 +// http://go.microsoft.com/fwlink/?LinkId=248929 +//-------------------------------------------------------------------------------------- + +#pragma once + +#include +#include + + +namespace DirectX +{ + enum WIC_LOADER_FLAGS + { + WIC_LOADER_DEFAULT = 0, + WIC_LOADER_FORCE_SRGB = 0x1, + WIC_LOADER_IGNORE_SRGB = 0x2, + }; + + // Standard version + HRESULT CreateWICTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); + + HRESULT CreateWICTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); + + // Standard version with optional auto-gen mipmap support + HRESULT CreateWICTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); + + HRESULT CreateWICTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); + + // Extended version + HRESULT CreateWICTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ unsigned int loadFlags, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); + + HRESULT CreateWICTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ unsigned int loadFlags, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); + + // Extended version with optional auto-gen mipmap support + HRESULT CreateWICTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ unsigned int loadFlags, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); + + HRESULT CreateWICTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ unsigned int loadFlags, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); +} \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/dxerr.cpp b/FriedLiver/Source/DXUT/Core/dxerr.cpp new file mode 100644 index 00000000..4b56fa9e --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/dxerr.cpp @@ -0,0 +1,3655 @@ +//-------------------------------------------------------------------------------------- +// File: DXErr.cpp +// +// DirectX Error Library +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +//-------------------------------------------------------------------------------------- +#include "dxut.h" + +// This version only supports UNICODE. + +#include "dxerr.h" + +#include + +#include +#include +#include +#include +#include +#include + +#define XAUDIO2_E_INVALID_CALL 0x88960001 +#define XAUDIO2_E_XMA_DECODER_ERROR 0x88960002 +#define XAUDIO2_E_XAPO_CREATION_FAILED 0x88960003 +#define XAUDIO2_E_DEVICE_INVALIDATED 0x88960004 + +#define XAPO_E_FORMAT_UNSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, 0x897, 0x01) + +#define DXUTERR_NODIRECT3D MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0901) +#define DXUTERR_NOCOMPATIBLEDEVICES MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0902) +#define DXUTERR_MEDIANOTFOUND MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0903) +#define DXUTERR_NONZEROREFCOUNT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0904) +#define DXUTERR_CREATINGDEVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0905) +#define DXUTERR_RESETTINGDEVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0906) +#define DXUTERR_CREATINGDEVICEOBJECTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0907) +#define DXUTERR_RESETTINGDEVICEOBJECTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0908) +#define DXUTERR_INCORRECTVERSION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0909) +#define DXUTERR_DEVICEREMOVED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x090A) + +//----------------------------------------------------------------------------- +#define BUFFER_SIZE 3000 + +#pragma warning( disable : 6001 6221 ) + +//-------------------------------------------------------------------------------------- +#define CHK_ERR(hrchk, strOut) \ + case hrchk: \ + return L##strOut; + +#define CHK_ERRA(hrchk) \ + case hrchk: \ + return L#hrchk; + +#define HRESULT_FROM_WIN32b(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000))) + +#define CHK_ERR_WIN32A(hrchk) \ + case HRESULT_FROM_WIN32b(hrchk): \ + case hrchk: \ + return L#hrchk; + +#define CHK_ERR_WIN32_ONLY(hrchk, strOut) \ + case HRESULT_FROM_WIN32b(hrchk): \ + return L##strOut; + +//----------------------------------------------------- +const WCHAR* WINAPI DXGetErrorStringW( _In_ HRESULT hr ) +{ + switch(hr) + { +// Commmented out codes are actually alises for other codes + +// ------------------------------------------------------------- +// Common Win32 error codes +// ------------------------------------------------------------- + CHK_ERRA(S_OK) + CHK_ERRA(S_FALSE) + + CHK_ERRA(E_UNEXPECTED) + CHK_ERRA(E_NOTIMPL) + CHK_ERRA(E_OUTOFMEMORY) + CHK_ERRA(E_INVALIDARG) + CHK_ERRA(E_NOINTERFACE) + CHK_ERRA(E_POINTER) + CHK_ERRA(E_HANDLE) + CHK_ERRA(E_ABORT) + CHK_ERRA(E_FAIL) + CHK_ERRA(E_ACCESSDENIED) + CHK_ERRA(E_PENDING) + CHK_ERRA(CO_E_INIT_TLS) + CHK_ERRA(CO_E_INIT_SHARED_ALLOCATOR) + CHK_ERRA(CO_E_INIT_MEMORY_ALLOCATOR) + CHK_ERRA(CO_E_INIT_CLASS_CACHE) + CHK_ERRA(CO_E_INIT_RPC_CHANNEL) + CHK_ERRA(CO_E_INIT_TLS_SET_CHANNEL_CONTROL) + CHK_ERRA(CO_E_INIT_TLS_CHANNEL_CONTROL) + CHK_ERRA(CO_E_INIT_UNACCEPTED_USER_ALLOCATOR) + CHK_ERRA(CO_E_INIT_SCM_MUTEX_EXISTS) + CHK_ERRA(CO_E_INIT_SCM_FILE_MAPPING_EXISTS) + CHK_ERRA(CO_E_INIT_SCM_MAP_VIEW_OF_FILE) + CHK_ERRA(CO_E_INIT_SCM_EXEC_FAILURE) + CHK_ERRA(CO_E_INIT_ONLY_SINGLE_THREADED) + CHK_ERRA(CO_E_CANT_REMOTE) + CHK_ERRA(CO_E_BAD_SERVER_NAME) + CHK_ERRA(CO_E_WRONG_SERVER_IDENTITY) + CHK_ERRA(CO_E_OLE1DDE_DISABLED) + CHK_ERRA(CO_E_RUNAS_SYNTAX) + CHK_ERRA(CO_E_CREATEPROCESS_FAILURE) + CHK_ERRA(CO_E_RUNAS_CREATEPROCESS_FAILURE) + CHK_ERRA(CO_E_RUNAS_LOGON_FAILURE) + CHK_ERRA(CO_E_LAUNCH_PERMSSION_DENIED) + CHK_ERRA(CO_E_START_SERVICE_FAILURE) + CHK_ERRA(CO_E_REMOTE_COMMUNICATION_FAILURE) + CHK_ERRA(CO_E_SERVER_START_TIMEOUT) + CHK_ERRA(CO_E_CLSREG_INCONSISTENT) + CHK_ERRA(CO_E_IIDREG_INCONSISTENT) + CHK_ERRA(CO_E_NOT_SUPPORTED) + CHK_ERRA(CO_E_RELOAD_DLL) + CHK_ERRA(CO_E_MSI_ERROR) + CHK_ERRA(OLE_E_FIRST) + CHK_ERRA(OLE_E_LAST) + CHK_ERRA(OLE_S_FIRST) + CHK_ERRA(OLE_S_LAST) +// CHK_ERRA(OLE_E_OLEVERB) + CHK_ERRA(OLE_E_ADVF) + CHK_ERRA(OLE_E_ENUM_NOMORE) + CHK_ERRA(OLE_E_ADVISENOTSUPPORTED) + CHK_ERRA(OLE_E_NOCONNECTION) + CHK_ERRA(OLE_E_NOTRUNNING) + CHK_ERRA(OLE_E_NOCACHE) + CHK_ERRA(OLE_E_BLANK) + CHK_ERRA(OLE_E_CLASSDIFF) + CHK_ERRA(OLE_E_CANT_GETMONIKER) + CHK_ERRA(OLE_E_CANT_BINDTOSOURCE) + CHK_ERRA(OLE_E_STATIC) + CHK_ERRA(OLE_E_PROMPTSAVECANCELLED) + CHK_ERRA(OLE_E_INVALIDRECT) + CHK_ERRA(OLE_E_WRONGCOMPOBJ) + CHK_ERRA(OLE_E_INVALIDHWND) + CHK_ERRA(OLE_E_NOT_INPLACEACTIVE) + CHK_ERRA(OLE_E_CANTCONVERT) + CHK_ERRA(OLE_E_NOSTORAGE) + CHK_ERRA(DV_E_FORMATETC) + CHK_ERRA(DV_E_DVTARGETDEVICE) + CHK_ERRA(DV_E_STGMEDIUM) + CHK_ERRA(DV_E_STATDATA) + CHK_ERRA(DV_E_LINDEX) + CHK_ERRA(DV_E_TYMED) + CHK_ERRA(DV_E_CLIPFORMAT) + CHK_ERRA(DV_E_DVASPECT) + CHK_ERRA(DV_E_DVTARGETDEVICE_SIZE) + CHK_ERRA(DV_E_NOIVIEWOBJECT) + CHK_ERRA(DRAGDROP_E_FIRST) + CHK_ERRA(DRAGDROP_E_LAST) + CHK_ERRA(DRAGDROP_S_FIRST) + CHK_ERRA(DRAGDROP_S_LAST) +// CHK_ERRA(DRAGDROP_E_NOTREGISTERED) + CHK_ERRA(DRAGDROP_E_ALREADYREGISTERED) + CHK_ERRA(DRAGDROP_E_INVALIDHWND) + CHK_ERRA(CLASSFACTORY_E_FIRST) + CHK_ERRA(CLASSFACTORY_E_LAST) + CHK_ERRA(CLASSFACTORY_S_FIRST) + CHK_ERRA(CLASSFACTORY_S_LAST) +// CHK_ERRA(CLASS_E_NOAGGREGATION) + CHK_ERRA(CLASS_E_CLASSNOTAVAILABLE) + CHK_ERRA(CLASS_E_NOTLICENSED) + CHK_ERRA(MARSHAL_E_FIRST) + CHK_ERRA(MARSHAL_E_LAST) + CHK_ERRA(MARSHAL_S_FIRST) + CHK_ERRA(MARSHAL_S_LAST) + CHK_ERRA(DATA_E_FIRST) + CHK_ERRA(DATA_E_LAST) + CHK_ERRA(DATA_S_FIRST) + CHK_ERRA(DATA_S_LAST) + CHK_ERRA(VIEW_E_FIRST) + CHK_ERRA(VIEW_E_LAST) + CHK_ERRA(VIEW_S_FIRST) + CHK_ERRA(VIEW_S_LAST) +// CHK_ERRA(VIEW_E_DRAW) + CHK_ERRA(REGDB_E_FIRST) + CHK_ERRA(REGDB_E_LAST) + CHK_ERRA(REGDB_S_FIRST) + CHK_ERRA(REGDB_S_LAST) +// CHK_ERRA(REGDB_E_READREGDB) + CHK_ERRA(REGDB_E_WRITEREGDB) + CHK_ERRA(REGDB_E_KEYMISSING) + CHK_ERRA(REGDB_E_INVALIDVALUE) + CHK_ERRA(REGDB_E_CLASSNOTREG) + CHK_ERRA(REGDB_E_IIDNOTREG) + CHK_ERRA(CAT_E_FIRST) + CHK_ERRA(CAT_E_LAST) +// CHK_ERRA(CAT_E_CATIDNOEXIST) +// CHK_ERRA(CAT_E_NODESCRIPTION) + CHK_ERRA(CS_E_FIRST) + CHK_ERRA(CS_E_LAST) +// CHK_ERRA(CS_E_PACKAGE_NOTFOUND) + CHK_ERRA(CS_E_NOT_DELETABLE) + CHK_ERRA(CS_E_CLASS_NOTFOUND) + CHK_ERRA(CS_E_INVALID_VERSION) + CHK_ERRA(CS_E_NO_CLASSSTORE) + CHK_ERRA(CS_E_OBJECT_NOTFOUND) + CHK_ERRA(CS_E_OBJECT_ALREADY_EXISTS) + CHK_ERRA(CS_E_INVALID_PATH) + CHK_ERRA(CS_E_NETWORK_ERROR) + CHK_ERRA(CS_E_ADMIN_LIMIT_EXCEEDED) + CHK_ERRA(CS_E_SCHEMA_MISMATCH) +// CHK_ERRA(CS_E_INTERNAL_ERROR) + CHK_ERRA(CACHE_E_FIRST) + CHK_ERRA(CACHE_E_LAST) + CHK_ERRA(CACHE_S_FIRST) + CHK_ERRA(CACHE_S_LAST) +// CHK_ERRA(CACHE_E_NOCACHE_UPDATED) + CHK_ERRA(OLEOBJ_E_FIRST) + CHK_ERRA(OLEOBJ_E_LAST) + CHK_ERRA(OLEOBJ_S_FIRST) + CHK_ERRA(OLEOBJ_S_LAST) +// CHK_ERRA(OLEOBJ_E_NOVERBS) + CHK_ERRA(OLEOBJ_E_INVALIDVERB) + CHK_ERRA(CLIENTSITE_E_FIRST) + CHK_ERRA(CLIENTSITE_E_LAST) + CHK_ERRA(CLIENTSITE_S_FIRST) + CHK_ERRA(CLIENTSITE_S_LAST) + CHK_ERRA(INPLACE_E_NOTUNDOABLE) + CHK_ERRA(INPLACE_E_NOTOOLSPACE) +// CHK_ERRA(INPLACE_E_FIRST) + CHK_ERRA(INPLACE_E_LAST) + CHK_ERRA(INPLACE_S_FIRST) + CHK_ERRA(INPLACE_S_LAST) + CHK_ERRA(ENUM_E_FIRST) + CHK_ERRA(ENUM_E_LAST) + CHK_ERRA(ENUM_S_FIRST) + CHK_ERRA(ENUM_S_LAST) + CHK_ERRA(CONVERT10_E_FIRST) + CHK_ERRA(CONVERT10_E_LAST) + CHK_ERRA(CONVERT10_S_FIRST) + CHK_ERRA(CONVERT10_S_LAST) +// CHK_ERRA(CONVERT10_E_OLESTREAM_GET) + CHK_ERRA(CONVERT10_E_OLESTREAM_PUT) + CHK_ERRA(CONVERT10_E_OLESTREAM_FMT) + CHK_ERRA(CONVERT10_E_OLESTREAM_BITMAP_TO_DIB) + CHK_ERRA(CONVERT10_E_STG_FMT) + CHK_ERRA(CONVERT10_E_STG_NO_STD_STREAM) + CHK_ERRA(CONVERT10_E_STG_DIB_TO_BITMAP) + CHK_ERRA(CLIPBRD_E_FIRST) + CHK_ERRA(CLIPBRD_E_LAST) + CHK_ERRA(CLIPBRD_S_FIRST) + CHK_ERRA(CLIPBRD_S_LAST) +// CHK_ERRA(CLIPBRD_E_CANT_OPEN) + CHK_ERRA(CLIPBRD_E_CANT_EMPTY) + CHK_ERRA(CLIPBRD_E_CANT_SET) + CHK_ERRA(CLIPBRD_E_BAD_DATA) + CHK_ERRA(CLIPBRD_E_CANT_CLOSE) + CHK_ERRA(MK_E_FIRST) + CHK_ERRA(MK_E_LAST) + CHK_ERRA(MK_S_FIRST) + CHK_ERRA(MK_S_LAST) +// CHK_ERRA(MK_E_CONNECTMANUALLY) + CHK_ERRA(MK_E_EXCEEDEDDEADLINE) + CHK_ERRA(MK_E_NEEDGENERIC) + CHK_ERRA(MK_E_UNAVAILABLE) + CHK_ERRA(MK_E_SYNTAX) + CHK_ERRA(MK_E_NOOBJECT) + CHK_ERRA(MK_E_INVALIDEXTENSION) + CHK_ERRA(MK_E_INTERMEDIATEINTERFACENOTSUPPORTED) + CHK_ERRA(MK_E_NOTBINDABLE) + CHK_ERRA(MK_E_NOTBOUND) + CHK_ERRA(MK_E_CANTOPENFILE) + CHK_ERRA(MK_E_MUSTBOTHERUSER) + CHK_ERRA(MK_E_NOINVERSE) + CHK_ERRA(MK_E_NOSTORAGE) + CHK_ERRA(MK_E_NOPREFIX) +// CHK_ERRA(MK_E_ENUMERATION_FAILED) + CHK_ERRA(CO_E_NOTINITIALIZED) + CHK_ERRA(CO_E_ALREADYINITIALIZED) + CHK_ERRA(CO_E_CANTDETERMINECLASS) + CHK_ERRA(CO_E_CLASSSTRING) + CHK_ERRA(CO_E_IIDSTRING) + CHK_ERRA(CO_E_APPNOTFOUND) + CHK_ERRA(CO_E_APPSINGLEUSE) + CHK_ERRA(CO_E_ERRORINAPP) + CHK_ERRA(CO_E_DLLNOTFOUND) + CHK_ERRA(CO_E_ERRORINDLL) + CHK_ERRA(CO_E_WRONGOSFORAPP) + CHK_ERRA(CO_E_OBJNOTREG) + CHK_ERRA(CO_E_OBJISREG) + CHK_ERRA(CO_E_OBJNOTCONNECTED) + CHK_ERRA(CO_E_APPDIDNTREG) + CHK_ERRA(CO_E_RELEASED) +// CHK_ERRA(OLE_S_USEREG) + CHK_ERRA(OLE_S_STATIC) + CHK_ERRA(OLE_S_MAC_CLIPFORMAT) +// CHK_ERRA(DRAGDROP_S_DROP) + CHK_ERRA(DRAGDROP_S_CANCEL) + CHK_ERRA(DRAGDROP_S_USEDEFAULTCURSORS) +// CHK_ERRA(DATA_S_SAMEFORMATETC) +// CHK_ERRA(VIEW_S_ALREADY_FROZEN) +// CHK_ERRA(CACHE_S_FORMATETC_NOTSUPPORTED) + CHK_ERRA(CACHE_S_SAMECACHE) + CHK_ERRA(CACHE_S_SOMECACHES_NOTUPDATED) +// CHK_ERRA(OLEOBJ_S_INVALIDVERB) + CHK_ERRA(OLEOBJ_S_CANNOT_DOVERB_NOW) + CHK_ERRA(OLEOBJ_S_INVALIDHWND) +// CHK_ERRA(INPLACE_S_TRUNCATED) +// CHK_ERRA(CONVERT10_S_NO_PRESENTATION) + CHK_ERRA(MK_S_REDUCED_TO_SELF) + CHK_ERRA(MK_S_ME) + CHK_ERRA(MK_S_HIM) + CHK_ERRA(MK_S_US) + CHK_ERRA(MK_S_MONIKERALREADYREGISTERED) + CHK_ERRA(CO_E_CLASS_CREATE_FAILED) + CHK_ERRA(CO_E_SCM_ERROR) + CHK_ERRA(CO_E_SCM_RPC_FAILURE) + CHK_ERRA(CO_E_BAD_PATH) + CHK_ERRA(CO_E_SERVER_EXEC_FAILURE) + CHK_ERRA(CO_E_OBJSRV_RPC_FAILURE) + CHK_ERRA(MK_E_NO_NORMALIZED) + CHK_ERRA(CO_E_SERVER_STOPPING) + CHK_ERRA(MEM_E_INVALID_ROOT) + CHK_ERRA(MEM_E_INVALID_LINK) + CHK_ERRA(MEM_E_INVALID_SIZE) + CHK_ERRA(CO_S_NOTALLINTERFACES) + CHK_ERRA(DISP_E_UNKNOWNINTERFACE) + CHK_ERRA(DISP_E_MEMBERNOTFOUND) + CHK_ERRA(DISP_E_PARAMNOTFOUND) + CHK_ERRA(DISP_E_TYPEMISMATCH) + CHK_ERRA(DISP_E_UNKNOWNNAME) + CHK_ERRA(DISP_E_NONAMEDARGS) + CHK_ERRA(DISP_E_BADVARTYPE) + CHK_ERRA(DISP_E_EXCEPTION) + CHK_ERRA(DISP_E_OVERFLOW) + CHK_ERRA(DISP_E_BADINDEX) + CHK_ERRA(DISP_E_UNKNOWNLCID) + CHK_ERRA(DISP_E_ARRAYISLOCKED) + CHK_ERRA(DISP_E_BADPARAMCOUNT) + CHK_ERRA(DISP_E_PARAMNOTOPTIONAL) + CHK_ERRA(DISP_E_BADCALLEE) + CHK_ERRA(DISP_E_NOTACOLLECTION) + CHK_ERRA(DISP_E_DIVBYZERO) + CHK_ERRA(DISP_E_BUFFERTOOSMALL) + CHK_ERRA(TYPE_E_BUFFERTOOSMALL) + CHK_ERRA(TYPE_E_FIELDNOTFOUND) + CHK_ERRA(TYPE_E_INVDATAREAD) + CHK_ERRA(TYPE_E_UNSUPFORMAT) + CHK_ERRA(TYPE_E_REGISTRYACCESS) + CHK_ERRA(TYPE_E_LIBNOTREGISTERED) + CHK_ERRA(TYPE_E_UNDEFINEDTYPE) + CHK_ERRA(TYPE_E_QUALIFIEDNAMEDISALLOWED) + CHK_ERRA(TYPE_E_INVALIDSTATE) + CHK_ERRA(TYPE_E_WRONGTYPEKIND) + CHK_ERRA(TYPE_E_ELEMENTNOTFOUND) + CHK_ERRA(TYPE_E_AMBIGUOUSNAME) + CHK_ERRA(TYPE_E_NAMECONFLICT) + CHK_ERRA(TYPE_E_UNKNOWNLCID) + CHK_ERRA(TYPE_E_DLLFUNCTIONNOTFOUND) + CHK_ERRA(TYPE_E_BADMODULEKIND) + CHK_ERRA(TYPE_E_SIZETOOBIG) + CHK_ERRA(TYPE_E_DUPLICATEID) + CHK_ERRA(TYPE_E_INVALIDID) + CHK_ERRA(TYPE_E_TYPEMISMATCH) + CHK_ERRA(TYPE_E_OUTOFBOUNDS) + CHK_ERRA(TYPE_E_IOERROR) + CHK_ERRA(TYPE_E_CANTCREATETMPFILE) + CHK_ERRA(TYPE_E_CANTLOADLIBRARY) + CHK_ERRA(TYPE_E_INCONSISTENTPROPFUNCS) + CHK_ERRA(TYPE_E_CIRCULARTYPE) + CHK_ERRA(STG_E_INVALIDFUNCTION) + CHK_ERRA(STG_E_FILENOTFOUND) + CHK_ERRA(STG_E_PATHNOTFOUND) + CHK_ERRA(STG_E_TOOMANYOPENFILES) + CHK_ERRA(STG_E_ACCESSDENIED) + CHK_ERRA(STG_E_INVALIDHANDLE) + CHK_ERRA(STG_E_INSUFFICIENTMEMORY) + CHK_ERRA(STG_E_INVALIDPOINTER) + CHK_ERRA(STG_E_NOMOREFILES) + CHK_ERRA(STG_E_DISKISWRITEPROTECTED) + CHK_ERRA(STG_E_SEEKERROR) + CHK_ERRA(STG_E_WRITEFAULT) + CHK_ERRA(STG_E_READFAULT) + CHK_ERRA(STG_E_SHAREVIOLATION) + CHK_ERRA(STG_E_LOCKVIOLATION) + CHK_ERRA(STG_E_FILEALREADYEXISTS) + CHK_ERRA(STG_E_INVALIDPARAMETER) + CHK_ERRA(STG_E_MEDIUMFULL) + CHK_ERRA(STG_E_PROPSETMISMATCHED) + CHK_ERRA(STG_E_ABNORMALAPIEXIT) + CHK_ERRA(STG_E_INVALIDHEADER) + CHK_ERRA(STG_E_INVALIDNAME) + CHK_ERRA(STG_E_UNKNOWN) + CHK_ERRA(STG_E_UNIMPLEMENTEDFUNCTION) + CHK_ERRA(STG_E_INVALIDFLAG) + CHK_ERRA(STG_E_INUSE) + CHK_ERRA(STG_E_NOTCURRENT) + CHK_ERRA(STG_E_REVERTED) + CHK_ERRA(STG_E_CANTSAVE) + CHK_ERRA(STG_E_OLDFORMAT) + CHK_ERRA(STG_E_OLDDLL) + CHK_ERRA(STG_E_SHAREREQUIRED) + CHK_ERRA(STG_E_NOTFILEBASEDSTORAGE) + CHK_ERRA(STG_E_EXTANTMARSHALLINGS) + CHK_ERRA(STG_E_DOCFILECORRUPT) + CHK_ERRA(STG_E_BADBASEADDRESS) + CHK_ERRA(STG_E_DOCFILETOOLARGE) + CHK_ERRA(STG_E_NOTSIMPLEFORMAT) + CHK_ERRA(STG_E_INCOMPLETE) + CHK_ERRA(STG_E_TERMINATED) + CHK_ERRA(STG_S_CONVERTED) + CHK_ERRA(STG_S_BLOCK) + CHK_ERRA(STG_S_RETRYNOW) + CHK_ERRA(STG_S_MONITORING) + CHK_ERRA(STG_S_MULTIPLEOPENS) + CHK_ERRA(STG_S_CONSOLIDATIONFAILED) + CHK_ERRA(STG_S_CANNOTCONSOLIDATE) + CHK_ERRA(RPC_E_CALL_REJECTED) + CHK_ERRA(RPC_E_CALL_CANCELED) + CHK_ERRA(RPC_E_CANTPOST_INSENDCALL) + CHK_ERRA(RPC_E_CANTCALLOUT_INASYNCCALL) + CHK_ERRA(RPC_E_CANTCALLOUT_INEXTERNALCALL) + CHK_ERRA(RPC_E_CONNECTION_TERMINATED) + CHK_ERRA(RPC_E_SERVER_DIED) + CHK_ERRA(RPC_E_CLIENT_DIED) + CHK_ERRA(RPC_E_INVALID_DATAPACKET) + CHK_ERRA(RPC_E_CANTTRANSMIT_CALL) + CHK_ERRA(RPC_E_CLIENT_CANTMARSHAL_DATA) + CHK_ERRA(RPC_E_CLIENT_CANTUNMARSHAL_DATA) + CHK_ERRA(RPC_E_SERVER_CANTMARSHAL_DATA) + CHK_ERRA(RPC_E_SERVER_CANTUNMARSHAL_DATA) + CHK_ERRA(RPC_E_INVALID_DATA) + CHK_ERRA(RPC_E_INVALID_PARAMETER) + CHK_ERRA(RPC_E_CANTCALLOUT_AGAIN) + CHK_ERRA(RPC_E_SERVER_DIED_DNE) + CHK_ERRA(RPC_E_SYS_CALL_FAILED) + CHK_ERRA(RPC_E_OUT_OF_RESOURCES) + CHK_ERRA(RPC_E_ATTEMPTED_MULTITHREAD) + CHK_ERRA(RPC_E_NOT_REGISTERED) + CHK_ERRA(RPC_E_FAULT) + CHK_ERRA(RPC_E_SERVERFAULT) + CHK_ERRA(RPC_E_CHANGED_MODE) + CHK_ERRA(RPC_E_INVALIDMETHOD) + CHK_ERRA(RPC_E_DISCONNECTED) + CHK_ERRA(RPC_E_RETRY) + CHK_ERRA(RPC_E_SERVERCALL_RETRYLATER) + CHK_ERRA(RPC_E_SERVERCALL_REJECTED) + CHK_ERRA(RPC_E_INVALID_CALLDATA) + CHK_ERRA(RPC_E_CANTCALLOUT_ININPUTSYNCCALL) + CHK_ERRA(RPC_E_WRONG_THREAD) + CHK_ERRA(RPC_E_THREAD_NOT_INIT) + CHK_ERRA(RPC_E_VERSION_MISMATCH) + CHK_ERRA(RPC_E_INVALID_HEADER) + CHK_ERRA(RPC_E_INVALID_EXTENSION) + CHK_ERRA(RPC_E_INVALID_IPID) + CHK_ERRA(RPC_E_INVALID_OBJECT) + CHK_ERRA(RPC_S_CALLPENDING) + CHK_ERRA(RPC_S_WAITONTIMER) + CHK_ERRA(RPC_E_CALL_COMPLETE) + CHK_ERRA(RPC_E_UNSECURE_CALL) + CHK_ERRA(RPC_E_TOO_LATE) + CHK_ERRA(RPC_E_NO_GOOD_SECURITY_PACKAGES) + CHK_ERRA(RPC_E_ACCESS_DENIED) + CHK_ERRA(RPC_E_REMOTE_DISABLED) + CHK_ERRA(RPC_E_INVALID_OBJREF) + CHK_ERRA(RPC_E_NO_CONTEXT) + CHK_ERRA(RPC_E_TIMEOUT) + CHK_ERRA(RPC_E_NO_SYNC) + CHK_ERRA(RPC_E_FULLSIC_REQUIRED) + CHK_ERRA(RPC_E_INVALID_STD_NAME) + CHK_ERRA(CO_E_FAILEDTOIMPERSONATE) + CHK_ERRA(CO_E_FAILEDTOGETSECCTX) + CHK_ERRA(CO_E_FAILEDTOOPENTHREADTOKEN) + CHK_ERRA(CO_E_FAILEDTOGETTOKENINFO) + CHK_ERRA(CO_E_TRUSTEEDOESNTMATCHCLIENT) + CHK_ERRA(CO_E_FAILEDTOQUERYCLIENTBLANKET) + CHK_ERRA(CO_E_FAILEDTOSETDACL) + CHK_ERRA(CO_E_ACCESSCHECKFAILED) + CHK_ERRA(CO_E_NETACCESSAPIFAILED) + CHK_ERRA(CO_E_WRONGTRUSTEENAMESYNTAX) + CHK_ERRA(CO_E_INVALIDSID) + CHK_ERRA(CO_E_CONVERSIONFAILED) + CHK_ERRA(CO_E_NOMATCHINGSIDFOUND) + CHK_ERRA(CO_E_LOOKUPACCSIDFAILED) + CHK_ERRA(CO_E_NOMATCHINGNAMEFOUND) + CHK_ERRA(CO_E_LOOKUPACCNAMEFAILED) + CHK_ERRA(CO_E_SETSERLHNDLFAILED) + CHK_ERRA(CO_E_FAILEDTOGETWINDIR) + CHK_ERRA(CO_E_PATHTOOLONG) + CHK_ERRA(CO_E_FAILEDTOGENUUID) + CHK_ERRA(CO_E_FAILEDTOCREATEFILE) + CHK_ERRA(CO_E_FAILEDTOCLOSEHANDLE) + CHK_ERRA(CO_E_EXCEEDSYSACLLIMIT) + CHK_ERRA(CO_E_ACESINWRONGORDER) + CHK_ERRA(CO_E_INCOMPATIBLESTREAMVERSION) + CHK_ERRA(CO_E_FAILEDTOOPENPROCESSTOKEN) + CHK_ERRA(CO_E_DECODEFAILED) + CHK_ERRA(CO_E_ACNOTINITIALIZED) + CHK_ERRA(RPC_E_UNEXPECTED) + CHK_ERRA(NTE_BAD_UID) + CHK_ERRA(NTE_BAD_HASH) + CHK_ERRA(NTE_BAD_KEY) + CHK_ERRA(NTE_BAD_LEN) + CHK_ERRA(NTE_BAD_DATA) + CHK_ERRA(NTE_BAD_SIGNATURE) + CHK_ERRA(NTE_BAD_VER) + CHK_ERRA(NTE_BAD_ALGID) + CHK_ERRA(NTE_BAD_FLAGS) + CHK_ERRA(NTE_BAD_TYPE) + CHK_ERRA(NTE_BAD_KEY_STATE) + CHK_ERRA(NTE_BAD_HASH_STATE) + CHK_ERRA(NTE_NO_KEY) + CHK_ERRA(NTE_NO_MEMORY) + CHK_ERRA(NTE_EXISTS) + CHK_ERRA(NTE_PERM) + CHK_ERRA(NTE_NOT_FOUND) + CHK_ERRA(NTE_DOUBLE_ENCRYPT) + CHK_ERRA(NTE_BAD_PROVIDER) + CHK_ERRA(NTE_BAD_PROV_TYPE) + CHK_ERRA(NTE_BAD_PUBLIC_KEY) + CHK_ERRA(NTE_BAD_KEYSET) + CHK_ERRA(NTE_PROV_TYPE_NOT_DEF) + CHK_ERRA(NTE_PROV_TYPE_ENTRY_BAD) + CHK_ERRA(NTE_KEYSET_NOT_DEF) + CHK_ERRA(NTE_KEYSET_ENTRY_BAD) + CHK_ERRA(NTE_PROV_TYPE_NO_MATCH) + CHK_ERRA(NTE_SIGNATURE_FILE_BAD) + CHK_ERRA(NTE_PROVIDER_DLL_FAIL) + CHK_ERRA(NTE_PROV_DLL_NOT_FOUND) + CHK_ERRA(NTE_BAD_KEYSET_PARAM) + CHK_ERRA(NTE_FAIL) + CHK_ERRA(NTE_SYS_ERR) + CHK_ERRA(NTE_SILENT_CONTEXT) + CHK_ERRA(NTE_TOKEN_KEYSET_STORAGE_FULL) + CHK_ERRA(CRYPT_E_MSG_ERROR) + CHK_ERRA(CRYPT_E_UNKNOWN_ALGO) + CHK_ERRA(CRYPT_E_OID_FORMAT) + CHK_ERRA(CRYPT_E_INVALID_MSG_TYPE) + CHK_ERRA(CRYPT_E_UNEXPECTED_ENCODING) + CHK_ERRA(CRYPT_E_AUTH_ATTR_MISSING) + CHK_ERRA(CRYPT_E_HASH_VALUE) + CHK_ERRA(CRYPT_E_INVALID_INDEX) + CHK_ERRA(CRYPT_E_ALREADY_DECRYPTED) + CHK_ERRA(CRYPT_E_NOT_DECRYPTED) + CHK_ERRA(CRYPT_E_RECIPIENT_NOT_FOUND) + CHK_ERRA(CRYPT_E_CONTROL_TYPE) + CHK_ERRA(CRYPT_E_ISSUER_SERIALNUMBER) + CHK_ERRA(CRYPT_E_SIGNER_NOT_FOUND) + CHK_ERRA(CRYPT_E_ATTRIBUTES_MISSING) + CHK_ERRA(CRYPT_E_STREAM_MSG_NOT_READY) + CHK_ERRA(CRYPT_E_STREAM_INSUFFICIENT_DATA) + CHK_ERRA(CRYPT_E_BAD_LEN) + CHK_ERRA(CRYPT_E_BAD_ENCODE) + CHK_ERRA(CRYPT_E_FILE_ERROR) + CHK_ERRA(CRYPT_E_NOT_FOUND) + CHK_ERRA(CRYPT_E_EXISTS) + CHK_ERRA(CRYPT_E_NO_PROVIDER) + CHK_ERRA(CRYPT_E_SELF_SIGNED) + CHK_ERRA(CRYPT_E_DELETED_PREV) + CHK_ERRA(CRYPT_E_NO_MATCH) + CHK_ERRA(CRYPT_E_UNEXPECTED_MSG_TYPE) + CHK_ERRA(CRYPT_E_NO_KEY_PROPERTY) + CHK_ERRA(CRYPT_E_NO_DECRYPT_CERT) + CHK_ERRA(CRYPT_E_BAD_MSG) + CHK_ERRA(CRYPT_E_NO_SIGNER) + CHK_ERRA(CRYPT_E_PENDING_CLOSE) + CHK_ERRA(CRYPT_E_REVOKED) + CHK_ERRA(CRYPT_E_NO_REVOCATION_DLL) + CHK_ERRA(CRYPT_E_NO_REVOCATION_CHECK) + CHK_ERRA(CRYPT_E_REVOCATION_OFFLINE) + CHK_ERRA(CRYPT_E_NOT_IN_REVOCATION_DATABASE) + CHK_ERRA(CRYPT_E_INVALID_NUMERIC_STRING) + CHK_ERRA(CRYPT_E_INVALID_PRINTABLE_STRING) + CHK_ERRA(CRYPT_E_INVALID_IA5_STRING) + CHK_ERRA(CRYPT_E_INVALID_X500_STRING) + CHK_ERRA(CRYPT_E_NOT_CHAR_STRING) + CHK_ERRA(CRYPT_E_FILERESIZED) + CHK_ERRA(CRYPT_E_SECURITY_SETTINGS) + CHK_ERRA(CRYPT_E_NO_VERIFY_USAGE_DLL) + CHK_ERRA(CRYPT_E_NO_VERIFY_USAGE_CHECK) + CHK_ERRA(CRYPT_E_VERIFY_USAGE_OFFLINE) + CHK_ERRA(CRYPT_E_NOT_IN_CTL) + CHK_ERRA(CRYPT_E_NO_TRUSTED_SIGNER) + CHK_ERRA(CRYPT_E_OSS_ERROR) + CHK_ERRA(OSS_MORE_BUF) + CHK_ERRA(OSS_NEGATIVE_UINTEGER) + CHK_ERRA(OSS_PDU_RANGE) + CHK_ERRA(OSS_MORE_INPUT) + CHK_ERRA(OSS_DATA_ERROR) + CHK_ERRA(OSS_BAD_ARG) + CHK_ERRA(OSS_BAD_VERSION) + CHK_ERRA(OSS_OUT_MEMORY) + CHK_ERRA(OSS_PDU_MISMATCH) + CHK_ERRA(OSS_LIMITED) + CHK_ERRA(OSS_BAD_PTR) + CHK_ERRA(OSS_BAD_TIME) + CHK_ERRA(OSS_INDEFINITE_NOT_SUPPORTED) + CHK_ERRA(OSS_MEM_ERROR) + CHK_ERRA(OSS_BAD_TABLE) + CHK_ERRA(OSS_TOO_LONG) + CHK_ERRA(OSS_CONSTRAINT_VIOLATED) + CHK_ERRA(OSS_FATAL_ERROR) + CHK_ERRA(OSS_ACCESS_SERIALIZATION_ERROR) + CHK_ERRA(OSS_NULL_TBL) + CHK_ERRA(OSS_NULL_FCN) + CHK_ERRA(OSS_BAD_ENCRULES) + CHK_ERRA(OSS_UNAVAIL_ENCRULES) + CHK_ERRA(OSS_CANT_OPEN_TRACE_WINDOW) + CHK_ERRA(OSS_UNIMPLEMENTED) + CHK_ERRA(OSS_OID_DLL_NOT_LINKED) + CHK_ERRA(OSS_CANT_OPEN_TRACE_FILE) + CHK_ERRA(OSS_TRACE_FILE_ALREADY_OPEN) + CHK_ERRA(OSS_TABLE_MISMATCH) + CHK_ERRA(OSS_TYPE_NOT_SUPPORTED) + CHK_ERRA(OSS_REAL_DLL_NOT_LINKED) + CHK_ERRA(OSS_REAL_CODE_NOT_LINKED) + CHK_ERRA(OSS_OUT_OF_RANGE) + CHK_ERRA(OSS_COPIER_DLL_NOT_LINKED) + CHK_ERRA(OSS_CONSTRAINT_DLL_NOT_LINKED) + CHK_ERRA(OSS_COMPARATOR_DLL_NOT_LINKED) + CHK_ERRA(OSS_COMPARATOR_CODE_NOT_LINKED) + CHK_ERRA(OSS_MEM_MGR_DLL_NOT_LINKED) + CHK_ERRA(OSS_PDV_DLL_NOT_LINKED) + CHK_ERRA(OSS_PDV_CODE_NOT_LINKED) + CHK_ERRA(OSS_API_DLL_NOT_LINKED) + CHK_ERRA(OSS_BERDER_DLL_NOT_LINKED) + CHK_ERRA(OSS_PER_DLL_NOT_LINKED) + CHK_ERRA(OSS_OPEN_TYPE_ERROR) + CHK_ERRA(OSS_MUTEX_NOT_CREATED) + CHK_ERRA(OSS_CANT_CLOSE_TRACE_FILE) + CHK_ERRA(CERTSRV_E_BAD_REQUESTSUBJECT) + CHK_ERRA(CERTSRV_E_NO_REQUEST) + CHK_ERRA(CERTSRV_E_BAD_REQUESTSTATUS) + CHK_ERRA(CERTSRV_E_PROPERTY_EMPTY) + CHK_ERRA(CERTSRV_E_INVALID_CA_CERTIFICATE) + CHK_ERRA(CERTSRV_E_UNSUPPORTED_CERT_TYPE) + CHK_ERRA(CERTSRV_E_NO_CERT_TYPE) + CHK_ERRA(TRUST_E_SYSTEM_ERROR) + CHK_ERRA(TRUST_E_NO_SIGNER_CERT) + CHK_ERRA(TRUST_E_COUNTER_SIGNER) + CHK_ERRA(TRUST_E_CERT_SIGNATURE) + CHK_ERRA(TRUST_E_TIME_STAMP) + CHK_ERRA(TRUST_E_BAD_DIGEST) + CHK_ERRA(TRUST_E_BASIC_CONSTRAINTS) + CHK_ERRA(TRUST_E_FINANCIAL_CRITERIA) +// CHK_ERRA(NTE_OP_OK) + CHK_ERRA(TRUST_E_PROVIDER_UNKNOWN) + CHK_ERRA(TRUST_E_ACTION_UNKNOWN) + CHK_ERRA(TRUST_E_SUBJECT_FORM_UNKNOWN) + CHK_ERRA(TRUST_E_SUBJECT_NOT_TRUSTED) + CHK_ERRA(DIGSIG_E_ENCODE) + CHK_ERRA(DIGSIG_E_DECODE) + CHK_ERRA(DIGSIG_E_EXTENSIBILITY) + CHK_ERRA(DIGSIG_E_CRYPTO) + CHK_ERRA(PERSIST_E_SIZEDEFINITE) + CHK_ERRA(PERSIST_E_SIZEINDEFINITE) + CHK_ERRA(PERSIST_E_NOTSELFSIZING) + CHK_ERRA(TRUST_E_NOSIGNATURE) + CHK_ERRA(CERT_E_EXPIRED) + CHK_ERRA(CERT_E_VALIDITYPERIODNESTING) + CHK_ERRA(CERT_E_ROLE) + CHK_ERRA(CERT_E_PATHLENCONST) + CHK_ERRA(CERT_E_CRITICAL) + CHK_ERRA(CERT_E_PURPOSE) + CHK_ERRA(CERT_E_ISSUERCHAINING) + CHK_ERRA(CERT_E_MALFORMED) + CHK_ERRA(CERT_E_UNTRUSTEDROOT) + CHK_ERRA(CERT_E_CHAINING) + CHK_ERRA(TRUST_E_FAIL) + CHK_ERRA(CERT_E_REVOKED) + CHK_ERRA(CERT_E_UNTRUSTEDTESTROOT) + CHK_ERRA(CERT_E_REVOCATION_FAILURE) + CHK_ERRA(CERT_E_CN_NO_MATCH) + CHK_ERRA(CERT_E_WRONG_USAGE) + CHK_ERRA(SPAPI_E_EXPECTED_SECTION_NAME) + CHK_ERRA(SPAPI_E_BAD_SECTION_NAME_LINE) + CHK_ERRA(SPAPI_E_SECTION_NAME_TOO_LONG) + CHK_ERRA(SPAPI_E_GENERAL_SYNTAX) + CHK_ERRA(SPAPI_E_WRONG_INF_STYLE) + CHK_ERRA(SPAPI_E_SECTION_NOT_FOUND) + CHK_ERRA(SPAPI_E_LINE_NOT_FOUND) + CHK_ERRA(SPAPI_E_NO_BACKUP) + CHK_ERRA(SPAPI_E_NO_ASSOCIATED_CLASS) + CHK_ERRA(SPAPI_E_CLASS_MISMATCH) + CHK_ERRA(SPAPI_E_DUPLICATE_FOUND) + CHK_ERRA(SPAPI_E_NO_DRIVER_SELECTED) + CHK_ERRA(SPAPI_E_KEY_DOES_NOT_EXIST) + CHK_ERRA(SPAPI_E_INVALID_DEVINST_NAME) + CHK_ERRA(SPAPI_E_INVALID_CLASS) + CHK_ERRA(SPAPI_E_DEVINST_ALREADY_EXISTS) + CHK_ERRA(SPAPI_E_DEVINFO_NOT_REGISTERED) + CHK_ERRA(SPAPI_E_INVALID_REG_PROPERTY) + CHK_ERRA(SPAPI_E_NO_INF) + CHK_ERRA(SPAPI_E_NO_SUCH_DEVINST) + CHK_ERRA(SPAPI_E_CANT_LOAD_CLASS_ICON) + CHK_ERRA(SPAPI_E_INVALID_CLASS_INSTALLER) + CHK_ERRA(SPAPI_E_DI_DO_DEFAULT) + CHK_ERRA(SPAPI_E_DI_NOFILECOPY) + CHK_ERRA(SPAPI_E_INVALID_HWPROFILE) + CHK_ERRA(SPAPI_E_NO_DEVICE_SELECTED) + CHK_ERRA(SPAPI_E_DEVINFO_LIST_LOCKED) + CHK_ERRA(SPAPI_E_DEVINFO_DATA_LOCKED) + CHK_ERRA(SPAPI_E_DI_BAD_PATH) + CHK_ERRA(SPAPI_E_NO_CLASSINSTALL_PARAMS) + CHK_ERRA(SPAPI_E_FILEQUEUE_LOCKED) + CHK_ERRA(SPAPI_E_BAD_SERVICE_INSTALLSECT) + CHK_ERRA(SPAPI_E_NO_CLASS_DRIVER_LIST) + CHK_ERRA(SPAPI_E_NO_ASSOCIATED_SERVICE) + CHK_ERRA(SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE) + CHK_ERRA(SPAPI_E_DEVICE_INTERFACE_ACTIVE) + CHK_ERRA(SPAPI_E_DEVICE_INTERFACE_REMOVED) + CHK_ERRA(SPAPI_E_BAD_INTERFACE_INSTALLSECT) + CHK_ERRA(SPAPI_E_NO_SUCH_INTERFACE_CLASS) + CHK_ERRA(SPAPI_E_INVALID_REFERENCE_STRING) + CHK_ERRA(SPAPI_E_INVALID_MACHINENAME) + CHK_ERRA(SPAPI_E_REMOTE_COMM_FAILURE) + CHK_ERRA(SPAPI_E_MACHINE_UNAVAILABLE) + CHK_ERRA(SPAPI_E_NO_CONFIGMGR_SERVICES) + CHK_ERRA(SPAPI_E_INVALID_PROPPAGE_PROVIDER) + CHK_ERRA(SPAPI_E_NO_SUCH_DEVICE_INTERFACE) + CHK_ERRA(SPAPI_E_DI_POSTPROCESSING_REQUIRED) + CHK_ERRA(SPAPI_E_INVALID_COINSTALLER) + CHK_ERRA(SPAPI_E_NO_COMPAT_DRIVERS) + CHK_ERRA(SPAPI_E_NO_DEVICE_ICON) + CHK_ERRA(SPAPI_E_INVALID_INF_LOGCONFIG) + CHK_ERRA(SPAPI_E_DI_DONT_INSTALL) + CHK_ERRA(SPAPI_E_INVALID_FILTER_DRIVER) + CHK_ERRA(SPAPI_E_NON_WINDOWS_NT_DRIVER) + CHK_ERRA(SPAPI_E_NON_WINDOWS_DRIVER) + CHK_ERRA(SPAPI_E_NO_CATALOG_FOR_OEM_INF) + CHK_ERRA(SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE) + CHK_ERRA(SPAPI_E_ERROR_NOT_INSTALLED) +// CHK_ERRA(SCARD_S_SUCCESS) + CHK_ERRA(SCARD_F_INTERNAL_ERROR) + CHK_ERRA(SCARD_E_CANCELLED) + CHK_ERRA(SCARD_E_INVALID_HANDLE) + CHK_ERRA(SCARD_E_INVALID_PARAMETER) + CHK_ERRA(SCARD_E_INVALID_TARGET) + CHK_ERRA(SCARD_E_NO_MEMORY) + CHK_ERRA(SCARD_F_WAITED_TOO_LONG) + CHK_ERRA(SCARD_E_INSUFFICIENT_BUFFER) + CHK_ERRA(SCARD_E_UNKNOWN_READER) + CHK_ERRA(SCARD_E_TIMEOUT) + CHK_ERRA(SCARD_E_SHARING_VIOLATION) + CHK_ERRA(SCARD_E_NO_SMARTCARD) + CHK_ERRA(SCARD_E_UNKNOWN_CARD) + CHK_ERRA(SCARD_E_CANT_DISPOSE) + CHK_ERRA(SCARD_E_PROTO_MISMATCH) + CHK_ERRA(SCARD_E_NOT_READY) + CHK_ERRA(SCARD_E_INVALID_VALUE) + CHK_ERRA(SCARD_E_SYSTEM_CANCELLED) + CHK_ERRA(SCARD_F_COMM_ERROR) + CHK_ERRA(SCARD_F_UNKNOWN_ERROR) + CHK_ERRA(SCARD_E_INVALID_ATR) + CHK_ERRA(SCARD_E_NOT_TRANSACTED) + CHK_ERRA(SCARD_E_READER_UNAVAILABLE) + CHK_ERRA(SCARD_P_SHUTDOWN) + CHK_ERRA(SCARD_E_PCI_TOO_SMALL) + CHK_ERRA(SCARD_E_READER_UNSUPPORTED) + CHK_ERRA(SCARD_E_DUPLICATE_READER) + CHK_ERRA(SCARD_E_CARD_UNSUPPORTED) + CHK_ERRA(SCARD_E_NO_SERVICE) + CHK_ERRA(SCARD_E_SERVICE_STOPPED) + CHK_ERRA(SCARD_E_UNEXPECTED) + CHK_ERRA(SCARD_E_ICC_INSTALLATION) + CHK_ERRA(SCARD_E_ICC_CREATEORDER) + CHK_ERRA(SCARD_E_UNSUPPORTED_FEATURE) + CHK_ERRA(SCARD_E_DIR_NOT_FOUND) + CHK_ERRA(SCARD_E_FILE_NOT_FOUND) + CHK_ERRA(SCARD_E_NO_DIR) + CHK_ERRA(SCARD_E_NO_FILE) + CHK_ERRA(SCARD_E_NO_ACCESS) + CHK_ERRA(SCARD_E_WRITE_TOO_MANY) + CHK_ERRA(SCARD_E_BAD_SEEK) + CHK_ERRA(SCARD_E_INVALID_CHV) + CHK_ERRA(SCARD_E_UNKNOWN_RES_MNG) + CHK_ERRA(SCARD_E_NO_SUCH_CERTIFICATE) + CHK_ERRA(SCARD_E_CERTIFICATE_UNAVAILABLE) + CHK_ERRA(SCARD_E_NO_READERS_AVAILABLE) + CHK_ERRA(SCARD_E_COMM_DATA_LOST) + CHK_ERRA(SCARD_W_UNSUPPORTED_CARD) + CHK_ERRA(SCARD_W_UNRESPONSIVE_CARD) + CHK_ERRA(SCARD_W_UNPOWERED_CARD) + CHK_ERRA(SCARD_W_RESET_CARD) + CHK_ERRA(SCARD_W_REMOVED_CARD) + CHK_ERRA(SCARD_W_SECURITY_VIOLATION) + CHK_ERRA(SCARD_W_WRONG_CHV) + CHK_ERRA(SCARD_W_CHV_BLOCKED) + CHK_ERRA(SCARD_W_EOF) + CHK_ERRA(SCARD_W_CANCELLED_BY_USER) + CHK_ERR_WIN32_ONLY(ERROR_INVALID_FUNCTION, "ERROR_INVALID_FUNCTION") + CHK_ERR_WIN32A(ERROR_FILE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_PATH_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_TOO_MANY_OPEN_FILES) + CHK_ERRA(ERROR_ACCESS_DENIED) + CHK_ERRA(ERROR_INVALID_HANDLE) + CHK_ERR_WIN32A(ERROR_ARENA_TRASHED) + CHK_ERR_WIN32A(ERROR_NOT_ENOUGH_MEMORY) + CHK_ERR_WIN32A(ERROR_INVALID_BLOCK) + CHK_ERR_WIN32A(ERROR_BAD_ENVIRONMENT) + CHK_ERR_WIN32A(ERROR_BAD_FORMAT) + CHK_ERR_WIN32A(ERROR_INVALID_ACCESS) + CHK_ERR_WIN32A(ERROR_INVALID_DATA) + CHK_ERRA(ERROR_OUTOFMEMORY) + CHK_ERR_WIN32A(ERROR_INVALID_DRIVE) + CHK_ERR_WIN32A(ERROR_CURRENT_DIRECTORY) + CHK_ERR_WIN32A(ERROR_NOT_SAME_DEVICE) + CHK_ERR_WIN32A(ERROR_NO_MORE_FILES) + CHK_ERR_WIN32A(ERROR_WRITE_PROTECT) + CHK_ERR_WIN32A(ERROR_BAD_UNIT) + CHK_ERR_WIN32A(ERROR_NOT_READY) + CHK_ERR_WIN32A(ERROR_BAD_COMMAND) + CHK_ERR_WIN32A(ERROR_CRC) + CHK_ERR_WIN32A(ERROR_BAD_LENGTH) + CHK_ERR_WIN32A(ERROR_SEEK) + CHK_ERR_WIN32A(ERROR_NOT_DOS_DISK) + CHK_ERR_WIN32A(ERROR_SECTOR_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_OUT_OF_PAPER) + CHK_ERR_WIN32A(ERROR_WRITE_FAULT) + CHK_ERR_WIN32A(ERROR_READ_FAULT) + CHK_ERR_WIN32A(ERROR_GEN_FAILURE) + CHK_ERR_WIN32A(ERROR_SHARING_VIOLATION) + CHK_ERR_WIN32A(ERROR_LOCK_VIOLATION) + CHK_ERR_WIN32A(ERROR_WRONG_DISK) + CHK_ERR_WIN32A(ERROR_SHARING_BUFFER_EXCEEDED) + CHK_ERR_WIN32A(ERROR_HANDLE_EOF) + CHK_ERR_WIN32A(ERROR_HANDLE_DISK_FULL) + CHK_ERR_WIN32A(ERROR_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_REM_NOT_LIST) + CHK_ERR_WIN32A(ERROR_DUP_NAME) + CHK_ERR_WIN32A(ERROR_BAD_NETPATH) + CHK_ERR_WIN32A(ERROR_NETWORK_BUSY) + CHK_ERR_WIN32A(ERROR_DEV_NOT_EXIST) + CHK_ERR_WIN32A(ERROR_TOO_MANY_CMDS) + CHK_ERR_WIN32A(ERROR_ADAP_HDW_ERR) + CHK_ERR_WIN32A(ERROR_BAD_NET_RESP) + CHK_ERR_WIN32A(ERROR_UNEXP_NET_ERR) + CHK_ERR_WIN32A(ERROR_BAD_REM_ADAP) + CHK_ERR_WIN32A(ERROR_PRINTQ_FULL) + CHK_ERR_WIN32A(ERROR_NO_SPOOL_SPACE) + CHK_ERR_WIN32A(ERROR_PRINT_CANCELLED) + CHK_ERR_WIN32A(ERROR_NETNAME_DELETED) + CHK_ERR_WIN32A(ERROR_NETWORK_ACCESS_DENIED) + CHK_ERR_WIN32A(ERROR_BAD_DEV_TYPE) + CHK_ERR_WIN32A(ERROR_BAD_NET_NAME) + CHK_ERR_WIN32A(ERROR_TOO_MANY_NAMES) + CHK_ERR_WIN32A(ERROR_TOO_MANY_SESS) + CHK_ERR_WIN32A(ERROR_SHARING_PAUSED) + CHK_ERR_WIN32A(ERROR_REQ_NOT_ACCEP) + CHK_ERR_WIN32A(ERROR_REDIR_PAUSED) + CHK_ERR_WIN32A(ERROR_FILE_EXISTS) + CHK_ERR_WIN32A(ERROR_CANNOT_MAKE) + CHK_ERR_WIN32A(ERROR_FAIL_I24) + CHK_ERR_WIN32A(ERROR_OUT_OF_STRUCTURES) + CHK_ERR_WIN32A(ERROR_ALREADY_ASSIGNED) + CHK_ERR_WIN32A(ERROR_INVALID_PASSWORD) + CHK_ERRA(ERROR_INVALID_PARAMETER) + CHK_ERR_WIN32A(ERROR_NET_WRITE_FAULT) + CHK_ERR_WIN32A(ERROR_NO_PROC_SLOTS) + CHK_ERR_WIN32A(ERROR_TOO_MANY_SEMAPHORES) + CHK_ERR_WIN32A(ERROR_EXCL_SEM_ALREADY_OWNED) + CHK_ERR_WIN32A(ERROR_SEM_IS_SET) + CHK_ERR_WIN32A(ERROR_TOO_MANY_SEM_REQUESTS) + CHK_ERR_WIN32A(ERROR_INVALID_AT_INTERRUPT_TIME) + CHK_ERR_WIN32A(ERROR_SEM_OWNER_DIED) + CHK_ERR_WIN32A(ERROR_SEM_USER_LIMIT) + CHK_ERR_WIN32A(ERROR_DISK_CHANGE) + CHK_ERR_WIN32A(ERROR_DRIVE_LOCKED) + CHK_ERR_WIN32A(ERROR_BROKEN_PIPE) + CHK_ERR_WIN32A(ERROR_OPEN_FAILED) + CHK_ERR_WIN32A(ERROR_BUFFER_OVERFLOW) + CHK_ERR_WIN32A(ERROR_DISK_FULL) + CHK_ERR_WIN32A(ERROR_NO_MORE_SEARCH_HANDLES) + CHK_ERR_WIN32A(ERROR_INVALID_TARGET_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_CATEGORY) + CHK_ERR_WIN32A(ERROR_INVALID_VERIFY_SWITCH) + CHK_ERR_WIN32A(ERROR_BAD_DRIVER_LEVEL) + CHK_ERR_WIN32A(ERROR_CALL_NOT_IMPLEMENTED) + CHK_ERR_WIN32A(ERROR_SEM_TIMEOUT) + CHK_ERR_WIN32A(ERROR_INSUFFICIENT_BUFFER) + CHK_ERR_WIN32A(ERROR_INVALID_NAME) + CHK_ERR_WIN32A(ERROR_INVALID_LEVEL) + CHK_ERR_WIN32A(ERROR_NO_VOLUME_LABEL) + CHK_ERR_WIN32A(ERROR_MOD_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_PROC_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WAIT_NO_CHILDREN) + CHK_ERR_WIN32A(ERROR_CHILD_NOT_COMPLETE) + CHK_ERR_WIN32A(ERROR_DIRECT_ACCESS_HANDLE) + CHK_ERR_WIN32A(ERROR_NEGATIVE_SEEK) + CHK_ERR_WIN32A(ERROR_SEEK_ON_DEVICE) + CHK_ERR_WIN32A(ERROR_IS_JOIN_TARGET) + CHK_ERR_WIN32A(ERROR_IS_JOINED) + CHK_ERR_WIN32A(ERROR_IS_SUBSTED) + CHK_ERR_WIN32A(ERROR_NOT_JOINED) + CHK_ERR_WIN32A(ERROR_NOT_SUBSTED) + CHK_ERR_WIN32A(ERROR_JOIN_TO_JOIN) + CHK_ERR_WIN32A(ERROR_SUBST_TO_SUBST) + CHK_ERR_WIN32A(ERROR_JOIN_TO_SUBST) + CHK_ERR_WIN32A(ERROR_SUBST_TO_JOIN) + CHK_ERR_WIN32A(ERROR_BUSY_DRIVE) + CHK_ERR_WIN32A(ERROR_SAME_DRIVE) + CHK_ERR_WIN32A(ERROR_DIR_NOT_ROOT) + CHK_ERR_WIN32A(ERROR_DIR_NOT_EMPTY) + CHK_ERR_WIN32A(ERROR_IS_SUBST_PATH) + CHK_ERR_WIN32A(ERROR_IS_JOIN_PATH) + CHK_ERR_WIN32A(ERROR_PATH_BUSY) + CHK_ERR_WIN32A(ERROR_IS_SUBST_TARGET) + CHK_ERR_WIN32A(ERROR_SYSTEM_TRACE) + CHK_ERR_WIN32A(ERROR_INVALID_EVENT_COUNT) + CHK_ERR_WIN32A(ERROR_TOO_MANY_MUXWAITERS) + CHK_ERR_WIN32A(ERROR_INVALID_LIST_FORMAT) + CHK_ERR_WIN32A(ERROR_LABEL_TOO_LONG) + CHK_ERR_WIN32A(ERROR_TOO_MANY_TCBS) + CHK_ERR_WIN32A(ERROR_SIGNAL_REFUSED) + CHK_ERR_WIN32A(ERROR_DISCARDED) + CHK_ERR_WIN32A(ERROR_NOT_LOCKED) + CHK_ERR_WIN32A(ERROR_BAD_THREADID_ADDR) + CHK_ERR_WIN32A(ERROR_BAD_ARGUMENTS) + CHK_ERR_WIN32A(ERROR_BAD_PATHNAME) + CHK_ERR_WIN32A(ERROR_SIGNAL_PENDING) + CHK_ERR_WIN32A(ERROR_MAX_THRDS_REACHED) + CHK_ERR_WIN32A(ERROR_LOCK_FAILED) + CHK_ERR_WIN32A(ERROR_BUSY) + CHK_ERR_WIN32A(ERROR_CANCEL_VIOLATION) + CHK_ERR_WIN32A(ERROR_ATOMIC_LOCKS_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_INVALID_SEGMENT_NUMBER) + CHK_ERR_WIN32A(ERROR_INVALID_ORDINAL) + CHK_ERR_WIN32A(ERROR_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_INVALID_FLAG_NUMBER) + CHK_ERR_WIN32A(ERROR_SEM_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_STARTING_CODESEG) + CHK_ERR_WIN32A(ERROR_INVALID_STACKSEG) + CHK_ERR_WIN32A(ERROR_INVALID_MODULETYPE) + CHK_ERR_WIN32A(ERROR_INVALID_EXE_SIGNATURE) + CHK_ERR_WIN32A(ERROR_EXE_MARKED_INVALID) + CHK_ERR_WIN32A(ERROR_BAD_EXE_FORMAT) + CHK_ERR_WIN32A(ERROR_ITERATED_DATA_EXCEEDS_64k) + CHK_ERR_WIN32A(ERROR_INVALID_MINALLOCSIZE) + CHK_ERR_WIN32A(ERROR_DYNLINK_FROM_INVALID_RING) + CHK_ERR_WIN32A(ERROR_IOPL_NOT_ENABLED) + CHK_ERR_WIN32A(ERROR_INVALID_SEGDPL) + CHK_ERR_WIN32A(ERROR_AUTODATASEG_EXCEEDS_64k) + CHK_ERRA(ERROR_RING2SEG_MUST_BE_MOVABLE) + CHK_ERRA(ERROR_RELOC_CHAIN_XEEDS_SEGLIM) + CHK_ERR_WIN32A(ERROR_INFLOOP_IN_RELOC_CHAIN) + CHK_ERR_WIN32A(ERROR_ENVVAR_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NO_SIGNAL_SENT) + CHK_ERR_WIN32A(ERROR_FILENAME_EXCED_RANGE) + CHK_ERR_WIN32A(ERROR_RING2_STACK_IN_USE) + CHK_ERR_WIN32A(ERROR_META_EXPANSION_TOO_LONG) + CHK_ERR_WIN32A(ERROR_INVALID_SIGNAL_NUMBER) + CHK_ERR_WIN32A(ERROR_THREAD_1_INACTIVE) + CHK_ERR_WIN32A(ERROR_LOCKED) + CHK_ERR_WIN32A(ERROR_TOO_MANY_MODULES) + CHK_ERR_WIN32A(ERROR_NESTING_NOT_ALLOWED) + CHK_ERR_WIN32A(ERROR_EXE_MACHINE_TYPE_MISMATCH) + CHK_ERR_WIN32A(ERROR_BAD_PIPE) + CHK_ERR_WIN32A(ERROR_PIPE_BUSY) + CHK_ERR_WIN32A(ERROR_NO_DATA) + CHK_ERR_WIN32A(ERROR_PIPE_NOT_CONNECTED) + CHK_ERR_WIN32A(ERROR_MORE_DATA) + CHK_ERR_WIN32A(ERROR_VC_DISCONNECTED) + CHK_ERR_WIN32A(ERROR_INVALID_EA_NAME) + CHK_ERR_WIN32A(ERROR_EA_LIST_INCONSISTENT) + CHK_ERR_WIN32A(WAIT_TIMEOUT) + CHK_ERR_WIN32A(ERROR_NO_MORE_ITEMS) + CHK_ERR_WIN32A(ERROR_CANNOT_COPY) + CHK_ERR_WIN32A(ERROR_DIRECTORY) + CHK_ERR_WIN32A(ERROR_EAS_DIDNT_FIT) + CHK_ERR_WIN32A(ERROR_EA_FILE_CORRUPT) + CHK_ERR_WIN32A(ERROR_EA_TABLE_FULL) + CHK_ERR_WIN32A(ERROR_INVALID_EA_HANDLE) + CHK_ERR_WIN32A(ERROR_EAS_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_NOT_OWNER) + CHK_ERR_WIN32A(ERROR_TOO_MANY_POSTS) + CHK_ERR_WIN32A(ERROR_PARTIAL_COPY) + CHK_ERR_WIN32A(ERROR_OPLOCK_NOT_GRANTED) + CHK_ERR_WIN32A(ERROR_INVALID_OPLOCK_PROTOCOL) + CHK_ERR_WIN32A(ERROR_MR_MID_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_ADDRESS) + CHK_ERR_WIN32A(ERROR_ARITHMETIC_OVERFLOW) + CHK_ERR_WIN32A(ERROR_PIPE_CONNECTED) + CHK_ERR_WIN32A(ERROR_PIPE_LISTENING) + CHK_ERR_WIN32A(ERROR_EA_ACCESS_DENIED) + CHK_ERR_WIN32A(ERROR_OPERATION_ABORTED) + CHK_ERR_WIN32A(ERROR_IO_INCOMPLETE) + CHK_ERR_WIN32A(ERROR_IO_PENDING) + CHK_ERR_WIN32A(ERROR_NOACCESS) + CHK_ERR_WIN32A(ERROR_SWAPERROR) + CHK_ERR_WIN32A(ERROR_STACK_OVERFLOW) + CHK_ERR_WIN32A(ERROR_INVALID_MESSAGE) + CHK_ERR_WIN32A(ERROR_CAN_NOT_COMPLETE) + CHK_ERR_WIN32A(ERROR_INVALID_FLAGS) + CHK_ERR_WIN32A(ERROR_UNRECOGNIZED_VOLUME) + CHK_ERR_WIN32A(ERROR_FILE_INVALID) + CHK_ERR_WIN32A(ERROR_FULLSCREEN_MODE) + CHK_ERR_WIN32A(ERROR_NO_TOKEN) + CHK_ERR_WIN32A(ERROR_BADDB) + CHK_ERR_WIN32A(ERROR_BADKEY) + CHK_ERR_WIN32A(ERROR_CANTOPEN) + CHK_ERR_WIN32A(ERROR_CANTREAD) + CHK_ERR_WIN32A(ERROR_CANTWRITE) + CHK_ERR_WIN32A(ERROR_REGISTRY_RECOVERED) + CHK_ERR_WIN32A(ERROR_REGISTRY_CORRUPT) + CHK_ERR_WIN32A(ERROR_REGISTRY_IO_FAILED) + CHK_ERR_WIN32A(ERROR_NOT_REGISTRY_FILE) + CHK_ERR_WIN32A(ERROR_KEY_DELETED) + CHK_ERR_WIN32A(ERROR_NO_LOG_SPACE) + CHK_ERR_WIN32A(ERROR_KEY_HAS_CHILDREN) + CHK_ERR_WIN32A(ERROR_CHILD_MUST_BE_VOLATILE) + CHK_ERR_WIN32A(ERROR_NOTIFY_ENUM_DIR) + CHK_ERR_WIN32A(ERROR_DEPENDENT_SERVICES_RUNNING) + CHK_ERR_WIN32A(ERROR_INVALID_SERVICE_CONTROL) + CHK_ERR_WIN32A(ERROR_SERVICE_REQUEST_TIMEOUT) + CHK_ERR_WIN32A(ERROR_SERVICE_NO_THREAD) + CHK_ERR_WIN32A(ERROR_SERVICE_DATABASE_LOCKED) + CHK_ERR_WIN32A(ERROR_SERVICE_ALREADY_RUNNING) + CHK_ERR_WIN32A(ERROR_INVALID_SERVICE_ACCOUNT) + CHK_ERR_WIN32A(ERROR_SERVICE_DISABLED) + CHK_ERR_WIN32A(ERROR_CIRCULAR_DEPENDENCY) + CHK_ERR_WIN32A(ERROR_SERVICE_DOES_NOT_EXIST) + CHK_ERR_WIN32A(ERROR_SERVICE_CANNOT_ACCEPT_CTRL) + CHK_ERR_WIN32A(ERROR_SERVICE_NOT_ACTIVE) + CHK_ERR_WIN32A(ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) + CHK_ERR_WIN32A(ERROR_EXCEPTION_IN_SERVICE) + CHK_ERR_WIN32A(ERROR_DATABASE_DOES_NOT_EXIST) + CHK_ERR_WIN32A(ERROR_SERVICE_SPECIFIC_ERROR) + CHK_ERR_WIN32A(ERROR_PROCESS_ABORTED) + CHK_ERR_WIN32A(ERROR_SERVICE_DEPENDENCY_FAIL) + CHK_ERR_WIN32A(ERROR_SERVICE_LOGON_FAILED) + CHK_ERR_WIN32A(ERROR_SERVICE_START_HANG) + CHK_ERR_WIN32A(ERROR_INVALID_SERVICE_LOCK) + CHK_ERR_WIN32A(ERROR_SERVICE_MARKED_FOR_DELETE) + CHK_ERR_WIN32A(ERROR_SERVICE_EXISTS) + CHK_ERR_WIN32A(ERROR_ALREADY_RUNNING_LKG) + CHK_ERR_WIN32A(ERROR_SERVICE_DEPENDENCY_DELETED) + CHK_ERR_WIN32A(ERROR_BOOT_ALREADY_ACCEPTED) + CHK_ERR_WIN32A(ERROR_SERVICE_NEVER_STARTED) + CHK_ERR_WIN32A(ERROR_DUPLICATE_SERVICE_NAME) + CHK_ERR_WIN32A(ERROR_DIFFERENT_SERVICE_ACCOUNT) + CHK_ERR_WIN32A(ERROR_CANNOT_DETECT_DRIVER_FAILURE) + CHK_ERR_WIN32A(ERROR_CANNOT_DETECT_PROCESS_ABORT) + CHK_ERR_WIN32A(ERROR_NO_RECOVERY_PROGRAM) + CHK_ERR_WIN32A(ERROR_SERVICE_NOT_IN_EXE) + CHK_ERR_WIN32A(ERROR_END_OF_MEDIA) + CHK_ERR_WIN32A(ERROR_FILEMARK_DETECTED) + CHK_ERR_WIN32A(ERROR_BEGINNING_OF_MEDIA) + CHK_ERR_WIN32A(ERROR_SETMARK_DETECTED) + CHK_ERR_WIN32A(ERROR_NO_DATA_DETECTED) + CHK_ERR_WIN32A(ERROR_PARTITION_FAILURE) + CHK_ERR_WIN32A(ERROR_INVALID_BLOCK_LENGTH) + CHK_ERR_WIN32A(ERROR_DEVICE_NOT_PARTITIONED) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_LOCK_MEDIA) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_UNLOAD_MEDIA) + CHK_ERR_WIN32A(ERROR_MEDIA_CHANGED) + CHK_ERR_WIN32A(ERROR_BUS_RESET) + CHK_ERR_WIN32A(ERROR_NO_MEDIA_IN_DRIVE) + CHK_ERR_WIN32A(ERROR_NO_UNICODE_TRANSLATION) + CHK_ERR_WIN32A(ERROR_DLL_INIT_FAILED) + CHK_ERR_WIN32A(ERROR_SHUTDOWN_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_NO_SHUTDOWN_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_IO_DEVICE) + CHK_ERR_WIN32A(ERROR_SERIAL_NO_DEVICE) + CHK_ERR_WIN32A(ERROR_IRQ_BUSY) + CHK_ERR_WIN32A(ERROR_MORE_WRITES) + CHK_ERR_WIN32A(ERROR_COUNTER_TIMEOUT) + CHK_ERR_WIN32A(ERROR_FLOPPY_ID_MARK_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_FLOPPY_WRONG_CYLINDER) + CHK_ERR_WIN32A(ERROR_FLOPPY_UNKNOWN_ERROR) + CHK_ERR_WIN32A(ERROR_FLOPPY_BAD_REGISTERS) + CHK_ERR_WIN32A(ERROR_DISK_RECALIBRATE_FAILED) + CHK_ERR_WIN32A(ERROR_DISK_OPERATION_FAILED) + CHK_ERR_WIN32A(ERROR_DISK_RESET_FAILED) + CHK_ERR_WIN32A(ERROR_EOM_OVERFLOW) + CHK_ERR_WIN32A(ERROR_NOT_ENOUGH_SERVER_MEMORY) + CHK_ERR_WIN32A(ERROR_POSSIBLE_DEADLOCK) + CHK_ERR_WIN32A(ERROR_MAPPED_ALIGNMENT) + CHK_ERR_WIN32A(ERROR_SET_POWER_STATE_VETOED) + CHK_ERR_WIN32A(ERROR_SET_POWER_STATE_FAILED) + CHK_ERR_WIN32A(ERROR_TOO_MANY_LINKS) + CHK_ERR_WIN32A(ERROR_OLD_WIN_VERSION) + CHK_ERR_WIN32A(ERROR_APP_WRONG_OS) + CHK_ERR_WIN32A(ERROR_SINGLE_INSTANCE_APP) + CHK_ERR_WIN32A(ERROR_RMODE_APP) + CHK_ERR_WIN32A(ERROR_INVALID_DLL) + CHK_ERR_WIN32A(ERROR_NO_ASSOCIATION) + CHK_ERR_WIN32A(ERROR_DDE_FAIL) + CHK_ERR_WIN32A(ERROR_DLL_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NO_MORE_USER_HANDLES) + CHK_ERR_WIN32A(ERROR_MESSAGE_SYNC_ONLY) + CHK_ERR_WIN32A(ERROR_SOURCE_ELEMENT_EMPTY) + CHK_ERR_WIN32A(ERROR_DESTINATION_ELEMENT_FULL) + CHK_ERR_WIN32A(ERROR_ILLEGAL_ELEMENT_ADDRESS) + CHK_ERR_WIN32A(ERROR_MAGAZINE_NOT_PRESENT) + CHK_ERR_WIN32A(ERROR_DEVICE_REINITIALIZATION_NEEDED) + CHK_ERR_WIN32A(ERROR_DEVICE_REQUIRES_CLEANING) + CHK_ERR_WIN32A(ERROR_DEVICE_DOOR_OPEN) + CHK_ERR_WIN32A(ERROR_DEVICE_NOT_CONNECTED) + CHK_ERR_WIN32A(ERROR_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NO_MATCH) + CHK_ERR_WIN32A(ERROR_SET_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_POINT_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NO_TRACKING_SERVICE) + CHK_ERR_WIN32A(ERROR_NO_VOLUME_ID) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_REMOVE_REPLACED) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_MOVE_REPLACEMENT) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_MOVE_REPLACEMENT_2) + CHK_ERR_WIN32A(ERROR_JOURNAL_DELETE_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_JOURNAL_NOT_ACTIVE) + CHK_ERR_WIN32A(ERROR_POTENTIAL_FILE_FOUND) + CHK_ERR_WIN32A(ERROR_BAD_DEVICE) + CHK_ERR_WIN32A(ERROR_CONNECTION_UNAVAIL) + CHK_ERR_WIN32A(ERROR_DEVICE_ALREADY_REMEMBERED) + CHK_ERR_WIN32A(ERROR_NO_NET_OR_BAD_PATH) + CHK_ERR_WIN32A(ERROR_BAD_PROVIDER) + CHK_ERR_WIN32A(ERROR_CANNOT_OPEN_PROFILE) + CHK_ERR_WIN32A(ERROR_BAD_PROFILE) + CHK_ERR_WIN32A(ERROR_NOT_CONTAINER) + CHK_ERR_WIN32A(ERROR_EXTENDED_ERROR) + CHK_ERR_WIN32A(ERROR_INVALID_GROUPNAME) + CHK_ERR_WIN32A(ERROR_INVALID_COMPUTERNAME) + CHK_ERR_WIN32A(ERROR_INVALID_EVENTNAME) + CHK_ERR_WIN32A(ERROR_INVALID_DOMAINNAME) + CHK_ERR_WIN32A(ERROR_INVALID_SERVICENAME) + CHK_ERR_WIN32A(ERROR_INVALID_NETNAME) + CHK_ERR_WIN32A(ERROR_INVALID_SHARENAME) + CHK_ERR_WIN32A(ERROR_INVALID_PASSWORDNAME) + CHK_ERR_WIN32A(ERROR_INVALID_MESSAGENAME) + CHK_ERR_WIN32A(ERROR_INVALID_MESSAGEDEST) + CHK_ERR_WIN32A(ERROR_SESSION_CREDENTIAL_CONFLICT) + CHK_ERR_WIN32A(ERROR_REMOTE_SESSION_LIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DUP_DOMAINNAME) + CHK_ERR_WIN32A(ERROR_NO_NETWORK) + CHK_ERR_WIN32A(ERROR_CANCELLED) + CHK_ERR_WIN32A(ERROR_USER_MAPPED_FILE) + CHK_ERR_WIN32A(ERROR_CONNECTION_REFUSED) + CHK_ERR_WIN32A(ERROR_GRACEFUL_DISCONNECT) + CHK_ERR_WIN32A(ERROR_ADDRESS_ALREADY_ASSOCIATED) + CHK_ERR_WIN32A(ERROR_ADDRESS_NOT_ASSOCIATED) + CHK_ERR_WIN32A(ERROR_CONNECTION_INVALID) + CHK_ERR_WIN32A(ERROR_CONNECTION_ACTIVE) + CHK_ERR_WIN32A(ERROR_NETWORK_UNREACHABLE) + CHK_ERR_WIN32A(ERROR_HOST_UNREACHABLE) + CHK_ERR_WIN32A(ERROR_PROTOCOL_UNREACHABLE) + CHK_ERR_WIN32A(ERROR_PORT_UNREACHABLE) + CHK_ERR_WIN32A(ERROR_REQUEST_ABORTED) + CHK_ERR_WIN32A(ERROR_CONNECTION_ABORTED) + CHK_ERR_WIN32A(ERROR_RETRY) + CHK_ERR_WIN32A(ERROR_CONNECTION_COUNT_LIMIT) + CHK_ERR_WIN32A(ERROR_LOGIN_TIME_RESTRICTION) + CHK_ERR_WIN32A(ERROR_LOGIN_WKSTA_RESTRICTION) + CHK_ERR_WIN32A(ERROR_INCORRECT_ADDRESS) + CHK_ERR_WIN32A(ERROR_ALREADY_REGISTERED) + CHK_ERR_WIN32A(ERROR_SERVICE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NOT_AUTHENTICATED) + CHK_ERR_WIN32A(ERROR_NOT_LOGGED_ON) + CHK_ERR_WIN32A(ERROR_CONTINUE) + CHK_ERR_WIN32A(ERROR_ALREADY_INITIALIZED) + CHK_ERR_WIN32A(ERROR_NO_MORE_DEVICES) + CHK_ERR_WIN32A(ERROR_NO_SUCH_SITE) + CHK_ERR_WIN32A(ERROR_DOMAIN_CONTROLLER_EXISTS) + CHK_ERR_WIN32A(ERROR_NOT_ALL_ASSIGNED) + CHK_ERR_WIN32A(ERROR_SOME_NOT_MAPPED) + CHK_ERR_WIN32A(ERROR_NO_QUOTAS_FOR_ACCOUNT) + CHK_ERR_WIN32A(ERROR_LOCAL_USER_SESSION_KEY) + CHK_ERR_WIN32A(ERROR_NULL_LM_PASSWORD) + CHK_ERR_WIN32A(ERROR_UNKNOWN_REVISION) + CHK_ERR_WIN32A(ERROR_REVISION_MISMATCH) + CHK_ERR_WIN32A(ERROR_INVALID_OWNER) + CHK_ERR_WIN32A(ERROR_INVALID_PRIMARY_GROUP) + CHK_ERR_WIN32A(ERROR_NO_IMPERSONATION_TOKEN) + CHK_ERR_WIN32A(ERROR_CANT_DISABLE_MANDATORY) + CHK_ERR_WIN32A(ERROR_NO_LOGON_SERVERS) + CHK_ERR_WIN32A(ERROR_NO_SUCH_LOGON_SESSION) + CHK_ERR_WIN32A(ERROR_NO_SUCH_PRIVILEGE) + CHK_ERR_WIN32A(ERROR_PRIVILEGE_NOT_HELD) + CHK_ERR_WIN32A(ERROR_INVALID_ACCOUNT_NAME) + CHK_ERR_WIN32A(ERROR_USER_EXISTS) + CHK_ERR_WIN32A(ERROR_NO_SUCH_USER) + CHK_ERR_WIN32A(ERROR_GROUP_EXISTS) + CHK_ERR_WIN32A(ERROR_NO_SUCH_GROUP) + CHK_ERR_WIN32A(ERROR_MEMBER_IN_GROUP) + CHK_ERR_WIN32A(ERROR_MEMBER_NOT_IN_GROUP) + CHK_ERR_WIN32A(ERROR_LAST_ADMIN) + CHK_ERR_WIN32A(ERROR_WRONG_PASSWORD) + CHK_ERR_WIN32A(ERROR_ILL_FORMED_PASSWORD) + CHK_ERR_WIN32A(ERROR_PASSWORD_RESTRICTION) + CHK_ERR_WIN32A(ERROR_LOGON_FAILURE) + CHK_ERR_WIN32A(ERROR_ACCOUNT_RESTRICTION) + CHK_ERR_WIN32A(ERROR_INVALID_LOGON_HOURS) + CHK_ERR_WIN32A(ERROR_INVALID_WORKSTATION) + CHK_ERR_WIN32A(ERROR_PASSWORD_EXPIRED) + CHK_ERR_WIN32A(ERROR_ACCOUNT_DISABLED) + CHK_ERR_WIN32A(ERROR_NONE_MAPPED) + CHK_ERR_WIN32A(ERROR_TOO_MANY_LUIDS_REQUESTED) + CHK_ERR_WIN32A(ERROR_LUIDS_EXHAUSTED) + CHK_ERR_WIN32A(ERROR_INVALID_SUB_AUTHORITY) + CHK_ERR_WIN32A(ERROR_INVALID_ACL) + CHK_ERR_WIN32A(ERROR_INVALID_SID) + CHK_ERR_WIN32A(ERROR_INVALID_SECURITY_DESCR) + CHK_ERR_WIN32A(ERROR_BAD_INHERITANCE_ACL) + CHK_ERR_WIN32A(ERROR_SERVER_DISABLED) + CHK_ERR_WIN32A(ERROR_SERVER_NOT_DISABLED) + CHK_ERR_WIN32A(ERROR_INVALID_ID_AUTHORITY) + CHK_ERR_WIN32A(ERROR_ALLOTTED_SPACE_EXCEEDED) + CHK_ERR_WIN32A(ERROR_INVALID_GROUP_ATTRIBUTES) + CHK_ERR_WIN32A(ERROR_BAD_IMPERSONATION_LEVEL) + CHK_ERR_WIN32A(ERROR_CANT_OPEN_ANONYMOUS) + CHK_ERR_WIN32A(ERROR_BAD_VALIDATION_CLASS) + CHK_ERR_WIN32A(ERROR_BAD_TOKEN_TYPE) + CHK_ERR_WIN32A(ERROR_NO_SECURITY_ON_OBJECT) + CHK_ERR_WIN32A(ERROR_CANT_ACCESS_DOMAIN_INFO) + CHK_ERR_WIN32A(ERROR_INVALID_SERVER_STATE) + CHK_ERR_WIN32A(ERROR_INVALID_DOMAIN_STATE) + CHK_ERR_WIN32A(ERROR_INVALID_DOMAIN_ROLE) + CHK_ERR_WIN32A(ERROR_NO_SUCH_DOMAIN) + CHK_ERR_WIN32A(ERROR_DOMAIN_EXISTS) + CHK_ERR_WIN32A(ERROR_DOMAIN_LIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_INTERNAL_DB_CORRUPTION) + CHK_ERR_WIN32A(ERROR_INTERNAL_ERROR) + CHK_ERR_WIN32A(ERROR_GENERIC_NOT_MAPPED) + CHK_ERR_WIN32A(ERROR_BAD_DESCRIPTOR_FORMAT) + CHK_ERR_WIN32A(ERROR_NOT_LOGON_PROCESS) + CHK_ERR_WIN32A(ERROR_LOGON_SESSION_EXISTS) + CHK_ERR_WIN32A(ERROR_NO_SUCH_PACKAGE) + CHK_ERR_WIN32A(ERROR_BAD_LOGON_SESSION_STATE) + CHK_ERR_WIN32A(ERROR_LOGON_SESSION_COLLISION) + CHK_ERR_WIN32A(ERROR_INVALID_LOGON_TYPE) + CHK_ERR_WIN32A(ERROR_CANNOT_IMPERSONATE) + CHK_ERR_WIN32A(ERROR_RXACT_INVALID_STATE) + CHK_ERR_WIN32A(ERROR_RXACT_COMMIT_FAILURE) + CHK_ERR_WIN32A(ERROR_SPECIAL_ACCOUNT) + CHK_ERR_WIN32A(ERROR_SPECIAL_GROUP) + CHK_ERR_WIN32A(ERROR_SPECIAL_USER) + CHK_ERR_WIN32A(ERROR_MEMBERS_PRIMARY_GROUP) + CHK_ERR_WIN32A(ERROR_TOKEN_ALREADY_IN_USE) + CHK_ERR_WIN32A(ERROR_NO_SUCH_ALIAS) + CHK_ERR_WIN32A(ERROR_MEMBER_NOT_IN_ALIAS) + CHK_ERR_WIN32A(ERROR_MEMBER_IN_ALIAS) + CHK_ERR_WIN32A(ERROR_ALIAS_EXISTS) + CHK_ERR_WIN32A(ERROR_LOGON_NOT_GRANTED) + CHK_ERR_WIN32A(ERROR_TOO_MANY_SECRETS) + CHK_ERR_WIN32A(ERROR_SECRET_TOO_LONG) + CHK_ERR_WIN32A(ERROR_INTERNAL_DB_ERROR) + CHK_ERR_WIN32A(ERROR_TOO_MANY_CONTEXT_IDS) + CHK_ERR_WIN32A(ERROR_LOGON_TYPE_NOT_GRANTED) + CHK_ERR_WIN32A(ERROR_NT_CROSS_ENCRYPTION_REQUIRED) + CHK_ERR_WIN32A(ERROR_NO_SUCH_MEMBER) + CHK_ERR_WIN32A(ERROR_INVALID_MEMBER) + CHK_ERR_WIN32A(ERROR_TOO_MANY_SIDS) + CHK_ERR_WIN32A(ERROR_LM_CROSS_ENCRYPTION_REQUIRED) + CHK_ERR_WIN32A(ERROR_NO_INHERITANCE) + CHK_ERR_WIN32A(ERROR_FILE_CORRUPT) + CHK_ERR_WIN32A(ERROR_DISK_CORRUPT) + CHK_ERR_WIN32A(ERROR_NO_USER_SESSION_KEY) + CHK_ERR_WIN32A(ERROR_LICENSE_QUOTA_EXCEEDED) + CHK_ERR_WIN32A(ERROR_WRONG_TARGET_NAME) + CHK_ERR_WIN32A(ERROR_MUTUAL_AUTH_FAILED) + CHK_ERR_WIN32A(ERROR_TIME_SKEW) + CHK_ERR_WIN32A(ERROR_INVALID_WINDOW_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_MENU_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_CURSOR_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_ACCEL_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_HOOK_HANDLE) + CHK_ERR_WIN32A(ERROR_INVALID_DWP_HANDLE) + CHK_ERR_WIN32A(ERROR_TLW_WITH_WSCHILD) + CHK_ERR_WIN32A(ERROR_CANNOT_FIND_WND_CLASS) + CHK_ERR_WIN32A(ERROR_WINDOW_OF_OTHER_THREAD) + CHK_ERR_WIN32A(ERROR_HOTKEY_ALREADY_REGISTERED) + CHK_ERR_WIN32A(ERROR_CLASS_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_CLASS_DOES_NOT_EXIST) + CHK_ERR_WIN32A(ERROR_CLASS_HAS_WINDOWS) + CHK_ERR_WIN32A(ERROR_INVALID_INDEX) + CHK_ERR_WIN32A(ERROR_INVALID_ICON_HANDLE) + CHK_ERR_WIN32A(ERROR_PRIVATE_DIALOG_INDEX) + CHK_ERR_WIN32A(ERROR_LISTBOX_ID_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NO_WILDCARD_CHARACTERS) + CHK_ERR_WIN32A(ERROR_CLIPBOARD_NOT_OPEN) + CHK_ERR_WIN32A(ERROR_HOTKEY_NOT_REGISTERED) + CHK_ERR_WIN32A(ERROR_WINDOW_NOT_DIALOG) + CHK_ERR_WIN32A(ERROR_CONTROL_ID_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_COMBOBOX_MESSAGE) + CHK_ERR_WIN32A(ERROR_WINDOW_NOT_COMBOBOX) + CHK_ERR_WIN32A(ERROR_INVALID_EDIT_HEIGHT) + CHK_ERR_WIN32A(ERROR_DC_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_HOOK_FILTER) + CHK_ERR_WIN32A(ERROR_INVALID_FILTER_PROC) + CHK_ERR_WIN32A(ERROR_HOOK_NEEDS_HMOD) + CHK_ERR_WIN32A(ERROR_GLOBAL_ONLY_HOOK) + CHK_ERR_WIN32A(ERROR_JOURNAL_HOOK_SET) + CHK_ERR_WIN32A(ERROR_HOOK_NOT_INSTALLED) + CHK_ERR_WIN32A(ERROR_INVALID_LB_MESSAGE) + CHK_ERR_WIN32A(ERROR_SETCOUNT_ON_BAD_LB) + CHK_ERR_WIN32A(ERROR_LB_WITHOUT_TABSTOPS) + CHK_ERR_WIN32A(ERROR_DESTROY_OBJECT_OF_OTHER_THREAD) + CHK_ERR_WIN32A(ERROR_CHILD_WINDOW_MENU) + CHK_ERR_WIN32A(ERROR_NO_SYSTEM_MENU) + CHK_ERR_WIN32A(ERROR_INVALID_MSGBOX_STYLE) + CHK_ERR_WIN32A(ERROR_INVALID_SPI_VALUE) + CHK_ERR_WIN32A(ERROR_SCREEN_ALREADY_LOCKED) + CHK_ERR_WIN32A(ERROR_HWNDS_HAVE_DIFF_PARENT) + CHK_ERR_WIN32A(ERROR_NOT_CHILD_WINDOW) + CHK_ERR_WIN32A(ERROR_INVALID_GW_COMMAND) + CHK_ERR_WIN32A(ERROR_INVALID_THREAD_ID) + CHK_ERR_WIN32A(ERROR_NON_MDICHILD_WINDOW) + CHK_ERR_WIN32A(ERROR_POPUP_ALREADY_ACTIVE) + CHK_ERR_WIN32A(ERROR_NO_SCROLLBARS) + CHK_ERR_WIN32A(ERROR_INVALID_SCROLLBAR_RANGE) + CHK_ERR_WIN32A(ERROR_INVALID_SHOWWIN_COMMAND) + CHK_ERR_WIN32A(ERROR_NO_SYSTEM_RESOURCES) + CHK_ERR_WIN32A(ERROR_NONPAGED_SYSTEM_RESOURCES) + CHK_ERR_WIN32A(ERROR_PAGED_SYSTEM_RESOURCES) + CHK_ERR_WIN32A(ERROR_WORKING_SET_QUOTA) + CHK_ERR_WIN32A(ERROR_PAGEFILE_QUOTA) + CHK_ERR_WIN32A(ERROR_COMMITMENT_LIMIT) + CHK_ERR_WIN32A(ERROR_MENU_ITEM_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_KEYBOARD_HANDLE) + CHK_ERR_WIN32A(ERROR_HOOK_TYPE_NOT_ALLOWED) + CHK_ERR_WIN32A(ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION) + CHK_ERR_WIN32A(ERROR_TIMEOUT) + CHK_ERR_WIN32A(ERROR_INVALID_MONITOR_HANDLE) + CHK_ERR_WIN32A(ERROR_EVENTLOG_FILE_CORRUPT) + CHK_ERR_WIN32A(ERROR_EVENTLOG_CANT_START) + CHK_ERR_WIN32A(ERROR_LOG_FILE_FULL) + CHK_ERR_WIN32A(ERROR_EVENTLOG_FILE_CHANGED) + CHK_ERR_WIN32A(ERROR_INSTALL_USEREXIT) + CHK_ERR_WIN32A(ERROR_INSTALL_FAILURE) + CHK_ERR_WIN32A(ERROR_INSTALL_SUSPEND) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PRODUCT) + CHK_ERR_WIN32A(ERROR_UNKNOWN_FEATURE) + CHK_ERR_WIN32A(ERROR_UNKNOWN_COMPONENT) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PROPERTY) + CHK_ERR_WIN32A(ERROR_INVALID_HANDLE_STATE) + CHK_ERR_WIN32A(ERROR_BAD_CONFIGURATION) + CHK_ERR_WIN32A(ERROR_INDEX_ABSENT) + CHK_ERR_WIN32A(ERROR_INSTALL_SOURCE_ABSENT) + CHK_ERR_WIN32A(ERROR_PRODUCT_UNINSTALLED) + CHK_ERR_WIN32A(ERROR_BAD_QUERY_SYNTAX) + CHK_ERR_WIN32A(ERROR_INVALID_FIELD) + CHK_ERR_WIN32A(ERROR_DEVICE_REMOVED) + CHK_ERR_WIN32A(RPC_S_INVALID_STRING_BINDING) + CHK_ERR_WIN32A(RPC_S_WRONG_KIND_OF_BINDING) + CHK_ERR_WIN32A(RPC_S_INVALID_BINDING) + CHK_ERR_WIN32A(RPC_S_PROTSEQ_NOT_SUPPORTED) + CHK_ERR_WIN32A(RPC_S_INVALID_RPC_PROTSEQ) + CHK_ERR_WIN32A(RPC_S_INVALID_STRING_UUID) + CHK_ERR_WIN32A(RPC_S_INVALID_ENDPOINT_FORMAT) + CHK_ERR_WIN32A(RPC_S_INVALID_NET_ADDR) + CHK_ERR_WIN32A(RPC_S_NO_ENDPOINT_FOUND) + CHK_ERR_WIN32A(RPC_S_INVALID_TIMEOUT) + CHK_ERR_WIN32A(RPC_S_OBJECT_NOT_FOUND) + CHK_ERR_WIN32A(RPC_S_ALREADY_REGISTERED) + CHK_ERR_WIN32A(RPC_S_TYPE_ALREADY_REGISTERED) + CHK_ERR_WIN32A(RPC_S_ALREADY_LISTENING) + CHK_ERR_WIN32A(RPC_S_NO_PROTSEQS_REGISTERED) + CHK_ERR_WIN32A(RPC_S_NOT_LISTENING) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_MGR_TYPE) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_IF) + CHK_ERR_WIN32A(RPC_S_NO_BINDINGS) + CHK_ERR_WIN32A(RPC_S_NO_PROTSEQS) + CHK_ERR_WIN32A(RPC_S_CANT_CREATE_ENDPOINT) + CHK_ERR_WIN32A(RPC_S_OUT_OF_RESOURCES) + CHK_ERR_WIN32A(RPC_S_SERVER_UNAVAILABLE) + CHK_ERR_WIN32A(RPC_S_SERVER_TOO_BUSY) + CHK_ERR_WIN32A(RPC_S_INVALID_NETWORK_OPTIONS) + CHK_ERR_WIN32A(RPC_S_NO_CALL_ACTIVE) + CHK_ERR_WIN32A(RPC_S_CALL_FAILED) + CHK_ERR_WIN32A(RPC_S_CALL_FAILED_DNE) + CHK_ERR_WIN32A(RPC_S_PROTOCOL_ERROR) + CHK_ERR_WIN32A(RPC_S_UNSUPPORTED_TRANS_SYN) + CHK_ERR_WIN32A(RPC_S_UNSUPPORTED_TYPE) + CHK_ERR_WIN32A(RPC_S_INVALID_TAG) + CHK_ERR_WIN32A(RPC_S_INVALID_BOUND) + CHK_ERR_WIN32A(RPC_S_NO_ENTRY_NAME) + CHK_ERR_WIN32A(RPC_S_INVALID_NAME_SYNTAX) + CHK_ERR_WIN32A(RPC_S_UNSUPPORTED_NAME_SYNTAX) + CHK_ERR_WIN32A(RPC_S_UUID_NO_ADDRESS) + CHK_ERR_WIN32A(RPC_S_DUPLICATE_ENDPOINT) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_AUTHN_TYPE) + CHK_ERR_WIN32A(RPC_S_MAX_CALLS_TOO_SMALL) + CHK_ERR_WIN32A(RPC_S_STRING_TOO_LONG) + CHK_ERR_WIN32A(RPC_S_PROTSEQ_NOT_FOUND) + CHK_ERR_WIN32A(RPC_S_PROCNUM_OUT_OF_RANGE) + CHK_ERR_WIN32A(RPC_S_BINDING_HAS_NO_AUTH) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_AUTHN_SERVICE) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_AUTHN_LEVEL) + CHK_ERR_WIN32A(RPC_S_INVALID_AUTH_IDENTITY) + CHK_ERR_WIN32A(RPC_S_UNKNOWN_AUTHZ_SERVICE) + CHK_ERR_WIN32A(EPT_S_INVALID_ENTRY) + CHK_ERR_WIN32A(EPT_S_CANT_PERFORM_OP) + CHK_ERR_WIN32A(EPT_S_NOT_REGISTERED) + CHK_ERR_WIN32A(RPC_S_NOTHING_TO_EXPORT) + CHK_ERR_WIN32A(RPC_S_INCOMPLETE_NAME) + CHK_ERR_WIN32A(RPC_S_INVALID_VERS_OPTION) + CHK_ERR_WIN32A(RPC_S_NO_MORE_MEMBERS) + CHK_ERR_WIN32A(RPC_S_NOT_ALL_OBJS_UNEXPORTED) + CHK_ERR_WIN32A(RPC_S_INTERFACE_NOT_FOUND) + CHK_ERR_WIN32A(RPC_S_ENTRY_ALREADY_EXISTS) + CHK_ERR_WIN32A(RPC_S_ENTRY_NOT_FOUND) + CHK_ERR_WIN32A(RPC_S_NAME_SERVICE_UNAVAILABLE) + CHK_ERR_WIN32A(RPC_S_INVALID_NAF_ID) + CHK_ERR_WIN32A(RPC_S_CANNOT_SUPPORT) + CHK_ERR_WIN32A(RPC_S_NO_CONTEXT_AVAILABLE) + CHK_ERR_WIN32A(RPC_S_INTERNAL_ERROR) + CHK_ERR_WIN32A(RPC_S_ZERO_DIVIDE) + CHK_ERR_WIN32A(RPC_S_ADDRESS_ERROR) + CHK_ERR_WIN32A(RPC_S_FP_DIV_ZERO) + CHK_ERR_WIN32A(RPC_S_FP_UNDERFLOW) + CHK_ERR_WIN32A(RPC_S_FP_OVERFLOW) + CHK_ERR_WIN32A(RPC_X_NO_MORE_ENTRIES) + CHK_ERR_WIN32A(RPC_X_SS_CHAR_TRANS_OPEN_FAIL) + CHK_ERR_WIN32A(RPC_X_SS_CHAR_TRANS_SHORT_FILE) + CHK_ERR_WIN32A(RPC_X_SS_IN_NULL_CONTEXT) + CHK_ERR_WIN32A(RPC_X_SS_CONTEXT_DAMAGED) + CHK_ERR_WIN32A(RPC_X_SS_HANDLES_MISMATCH) + CHK_ERR_WIN32A(RPC_X_SS_CANNOT_GET_CALL_HANDLE) + CHK_ERR_WIN32A(RPC_X_NULL_REF_POINTER) + CHK_ERR_WIN32A(RPC_X_ENUM_VALUE_OUT_OF_RANGE) + CHK_ERR_WIN32A(RPC_X_BYTE_COUNT_TOO_SMALL) + CHK_ERR_WIN32A(RPC_X_BAD_STUB_DATA) + CHK_ERR_WIN32A(ERROR_INVALID_USER_BUFFER) + CHK_ERR_WIN32A(ERROR_UNRECOGNIZED_MEDIA) + CHK_ERR_WIN32A(ERROR_NO_TRUST_LSA_SECRET) + CHK_ERR_WIN32A(ERROR_NO_TRUST_SAM_ACCOUNT) + CHK_ERR_WIN32A(ERROR_TRUSTED_DOMAIN_FAILURE) + CHK_ERR_WIN32A(ERROR_TRUSTED_RELATIONSHIP_FAILURE) + CHK_ERR_WIN32A(ERROR_TRUST_FAILURE) + CHK_ERR_WIN32A(RPC_S_CALL_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_NETLOGON_NOT_STARTED) + CHK_ERR_WIN32A(ERROR_ACCOUNT_EXPIRED) + CHK_ERR_WIN32A(ERROR_REDIRECTOR_HAS_OPEN_HANDLES) + CHK_ERR_WIN32A(ERROR_PRINTER_DRIVER_ALREADY_INSTALLED) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PORT) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PRINTER_DRIVER) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PRINTPROCESSOR) + CHK_ERR_WIN32A(ERROR_INVALID_SEPARATOR_FILE) + CHK_ERR_WIN32A(ERROR_INVALID_PRIORITY) + CHK_ERR_WIN32A(ERROR_INVALID_PRINTER_NAME) + CHK_ERR_WIN32A(ERROR_PRINTER_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_INVALID_PRINTER_COMMAND) + CHK_ERR_WIN32A(ERROR_INVALID_DATATYPE) + CHK_ERR_WIN32A(ERROR_INVALID_ENVIRONMENT) + CHK_ERR_WIN32A(RPC_S_NO_MORE_BINDINGS) + CHK_ERR_WIN32A(ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT) + CHK_ERR_WIN32A(ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT) + CHK_ERR_WIN32A(ERROR_NOLOGON_SERVER_TRUST_ACCOUNT) + CHK_ERR_WIN32A(ERROR_DOMAIN_TRUST_INCONSISTENT) + CHK_ERR_WIN32A(ERROR_SERVER_HAS_OPEN_HANDLES) + CHK_ERR_WIN32A(ERROR_RESOURCE_DATA_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_RESOURCE_TYPE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_RESOURCE_NAME_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_RESOURCE_LANG_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NOT_ENOUGH_QUOTA) + CHK_ERR_WIN32A(RPC_S_NO_INTERFACES) + CHK_ERR_WIN32A(RPC_S_CALL_CANCELLED) + CHK_ERR_WIN32A(RPC_S_BINDING_INCOMPLETE) + CHK_ERR_WIN32A(RPC_S_COMM_FAILURE) + CHK_ERR_WIN32A(RPC_S_UNSUPPORTED_AUTHN_LEVEL) + CHK_ERR_WIN32A(RPC_S_NO_PRINC_NAME) + CHK_ERR_WIN32A(RPC_S_NOT_RPC_ERROR) + CHK_ERR_WIN32A(RPC_S_UUID_LOCAL_ONLY) + CHK_ERR_WIN32A(RPC_S_SEC_PKG_ERROR) + CHK_ERR_WIN32A(RPC_S_NOT_CANCELLED) + CHK_ERR_WIN32A(RPC_X_INVALID_ES_ACTION) + CHK_ERR_WIN32A(RPC_X_WRONG_ES_VERSION) + CHK_ERR_WIN32A(RPC_X_WRONG_STUB_VERSION) + CHK_ERR_WIN32A(RPC_X_INVALID_PIPE_OBJECT) + CHK_ERR_WIN32A(RPC_X_WRONG_PIPE_ORDER) + CHK_ERR_WIN32A(RPC_X_WRONG_PIPE_VERSION) + CHK_ERR_WIN32A(RPC_S_GROUP_MEMBER_NOT_FOUND) + CHK_ERR_WIN32A(EPT_S_CANT_CREATE) + CHK_ERR_WIN32A(RPC_S_INVALID_OBJECT) + CHK_ERR_WIN32A(ERROR_INVALID_TIME) + CHK_ERR_WIN32A(ERROR_INVALID_FORM_NAME) + CHK_ERR_WIN32A(ERROR_INVALID_FORM_SIZE) + CHK_ERR_WIN32A(ERROR_ALREADY_WAITING) + CHK_ERR_WIN32A(ERROR_PRINTER_DELETED) + CHK_ERR_WIN32A(ERROR_INVALID_PRINTER_STATE) + CHK_ERR_WIN32A(ERROR_PASSWORD_MUST_CHANGE) + CHK_ERR_WIN32A(ERROR_DOMAIN_CONTROLLER_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_ACCOUNT_LOCKED_OUT) + CHK_ERR_WIN32A(OR_INVALID_OXID) + CHK_ERR_WIN32A(OR_INVALID_OID) + CHK_ERR_WIN32A(OR_INVALID_SET) + CHK_ERR_WIN32A(RPC_S_SEND_INCOMPLETE) + CHK_ERR_WIN32A(RPC_S_INVALID_ASYNC_HANDLE) + CHK_ERR_WIN32A(RPC_S_INVALID_ASYNC_CALL) + CHK_ERR_WIN32A(RPC_X_PIPE_CLOSED) + CHK_ERR_WIN32A(RPC_X_PIPE_DISCIPLINE_ERROR) + CHK_ERR_WIN32A(RPC_X_PIPE_EMPTY) + CHK_ERR_WIN32A(ERROR_NO_SITENAME) + CHK_ERR_WIN32A(ERROR_CANT_ACCESS_FILE) + CHK_ERR_WIN32A(ERROR_CANT_RESOLVE_FILENAME) + CHK_ERR_WIN32A(ERROR_INVALID_PIXEL_FORMAT) + CHK_ERR_WIN32A(ERROR_BAD_DRIVER) + CHK_ERR_WIN32A(ERROR_INVALID_WINDOW_STYLE) + CHK_ERR_WIN32A(ERROR_METAFILE_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_TRANSFORM_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_CLIPPING_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_INVALID_CMM) + CHK_ERR_WIN32A(ERROR_INVALID_PROFILE) + CHK_ERR_WIN32A(ERROR_TAG_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_TAG_NOT_PRESENT) + CHK_ERR_WIN32A(ERROR_DUPLICATE_TAG) + CHK_ERR_WIN32A(ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE) + CHK_ERR_WIN32A(ERROR_PROFILE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_INVALID_COLORSPACE) + CHK_ERR_WIN32A(ERROR_ICM_NOT_ENABLED) + CHK_ERR_WIN32A(ERROR_DELETING_ICM_XFORM) + CHK_ERR_WIN32A(ERROR_INVALID_TRANSFORM) + CHK_ERR_WIN32A(ERROR_COLORSPACE_MISMATCH) + CHK_ERR_WIN32A(ERROR_INVALID_COLORINDEX) + CHK_ERR_WIN32A(ERROR_CONNECTED_OTHER_PASSWORD) + CHK_ERR_WIN32A(ERROR_BAD_USERNAME) + CHK_ERR_WIN32A(ERROR_NOT_CONNECTED) + CHK_ERR_WIN32A(ERROR_OPEN_FILES) + CHK_ERR_WIN32A(ERROR_ACTIVE_CONNECTIONS) + CHK_ERR_WIN32A(ERROR_DEVICE_IN_USE) + CHK_ERR_WIN32A(ERROR_UNKNOWN_PRINT_MONITOR) + CHK_ERR_WIN32A(ERROR_PRINTER_DRIVER_IN_USE) + CHK_ERR_WIN32A(ERROR_SPOOL_FILE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_SPL_NO_STARTDOC) + CHK_ERR_WIN32A(ERROR_SPL_NO_ADDJOB) + CHK_ERR_WIN32A(ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED) + CHK_ERR_WIN32A(ERROR_PRINT_MONITOR_ALREADY_INSTALLED) + CHK_ERR_WIN32A(ERROR_INVALID_PRINT_MONITOR) + CHK_ERR_WIN32A(ERROR_PRINT_MONITOR_IN_USE) + CHK_ERR_WIN32A(ERROR_PRINTER_HAS_JOBS_QUEUED) + CHK_ERR_WIN32A(ERROR_SUCCESS_REBOOT_REQUIRED) + CHK_ERR_WIN32A(ERROR_SUCCESS_RESTART_REQUIRED) + CHK_ERR_WIN32A(ERROR_PRINTER_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WINS_INTERNAL) + CHK_ERR_WIN32A(ERROR_CAN_NOT_DEL_LOCAL_WINS) + CHK_ERR_WIN32A(ERROR_STATIC_INIT) + CHK_ERR_WIN32A(ERROR_INC_BACKUP) + CHK_ERR_WIN32A(ERROR_FULL_BACKUP) + CHK_ERR_WIN32A(ERROR_REC_NON_EXISTENT) + CHK_ERR_WIN32A(ERROR_RPL_NOT_ALLOWED) + CHK_ERR_WIN32A(ERROR_DHCP_ADDRESS_CONFLICT) + CHK_ERR_WIN32A(ERROR_WMI_GUID_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WMI_INSTANCE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WMI_ITEMID_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WMI_TRY_AGAIN) + CHK_ERR_WIN32A(ERROR_WMI_DP_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_WMI_UNRESOLVED_INSTANCE_REF) + CHK_ERR_WIN32A(ERROR_WMI_ALREADY_ENABLED) + CHK_ERR_WIN32A(ERROR_WMI_GUID_DISCONNECTED) + CHK_ERR_WIN32A(ERROR_WMI_SERVER_UNAVAILABLE) + CHK_ERR_WIN32A(ERROR_WMI_DP_FAILED) + CHK_ERR_WIN32A(ERROR_WMI_INVALID_MOF) + CHK_ERR_WIN32A(ERROR_WMI_INVALID_REGINFO) + CHK_ERR_WIN32A(ERROR_WMI_ALREADY_DISABLED) + CHK_ERR_WIN32A(ERROR_WMI_READ_ONLY) + CHK_ERR_WIN32A(ERROR_WMI_SET_FAILURE) + CHK_ERR_WIN32A(ERROR_INVALID_MEDIA) + CHK_ERR_WIN32A(ERROR_INVALID_LIBRARY) + CHK_ERR_WIN32A(ERROR_INVALID_MEDIA_POOL) + CHK_ERR_WIN32A(ERROR_DRIVE_MEDIA_MISMATCH) + CHK_ERR_WIN32A(ERROR_MEDIA_OFFLINE) + CHK_ERR_WIN32A(ERROR_LIBRARY_OFFLINE) + CHK_ERR_WIN32A(ERROR_EMPTY) + CHK_ERR_WIN32A(ERROR_NOT_EMPTY) + CHK_ERR_WIN32A(ERROR_MEDIA_UNAVAILABLE) + CHK_ERR_WIN32A(ERROR_RESOURCE_DISABLED) + CHK_ERR_WIN32A(ERROR_INVALID_CLEANER) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_CLEAN) + CHK_ERR_WIN32A(ERROR_OBJECT_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DATABASE_FAILURE) + CHK_ERR_WIN32A(ERROR_DATABASE_FULL) + CHK_ERR_WIN32A(ERROR_MEDIA_INCOMPATIBLE) + CHK_ERR_WIN32A(ERROR_RESOURCE_NOT_PRESENT) + CHK_ERR_WIN32A(ERROR_INVALID_OPERATION) + CHK_ERR_WIN32A(ERROR_MEDIA_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_DEVICE_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_REQUEST_REFUSED) + CHK_ERR_WIN32A(ERROR_INVALID_DRIVE_OBJECT) + CHK_ERR_WIN32A(ERROR_LIBRARY_FULL) + CHK_ERR_WIN32A(ERROR_MEDIUM_NOT_ACCESSIBLE) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_LOAD_MEDIUM) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_INVENTORY_DRIVE) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_INVENTORY_SLOT) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_INVENTORY_TRANSPORT) + CHK_ERR_WIN32A(ERROR_TRANSPORT_FULL) + CHK_ERR_WIN32A(ERROR_CONTROLLING_IEPORT) + CHK_ERR_WIN32A(ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA) + CHK_ERR_WIN32A(ERROR_CLEANER_SLOT_SET) + CHK_ERR_WIN32A(ERROR_CLEANER_SLOT_NOT_SET) + CHK_ERR_WIN32A(ERROR_CLEANER_CARTRIDGE_SPENT) + CHK_ERR_WIN32A(ERROR_UNEXPECTED_OMID) + CHK_ERR_WIN32A(ERROR_CANT_DELETE_LAST_ITEM) + CHK_ERR_WIN32A(ERROR_MESSAGE_EXCEEDS_MAX_SIZE) + CHK_ERR_WIN32A(ERROR_FILE_OFFLINE) + CHK_ERR_WIN32A(ERROR_REMOTE_STORAGE_NOT_ACTIVE) + CHK_ERR_WIN32A(ERROR_REMOTE_STORAGE_MEDIA_ERROR) + CHK_ERR_WIN32A(ERROR_NOT_A_REPARSE_POINT) + CHK_ERR_WIN32A(ERROR_REPARSE_ATTRIBUTE_CONFLICT) + CHK_ERR_WIN32A(ERROR_INVALID_REPARSE_DATA) + CHK_ERR_WIN32A(ERROR_DEPENDENT_RESOURCE_EXISTS) + CHK_ERR_WIN32A(ERROR_DEPENDENCY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DEPENDENCY_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_RESOURCE_NOT_ONLINE) + CHK_ERR_WIN32A(ERROR_HOST_NODE_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_RESOURCE_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_RESOURCE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_SHUTDOWN_CLUSTER) + CHK_ERR_WIN32A(ERROR_CANT_EVICT_ACTIVE_NODE) + CHK_ERR_WIN32A(ERROR_OBJECT_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_OBJECT_IN_LIST) + CHK_ERR_WIN32A(ERROR_GROUP_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_GROUP_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_GROUP_NOT_ONLINE) + CHK_ERR_WIN32A(ERROR_HOST_NODE_NOT_RESOURCE_OWNER) + CHK_ERR_WIN32A(ERROR_HOST_NODE_NOT_GROUP_OWNER) + CHK_ERR_WIN32A(ERROR_RESMON_CREATE_FAILED) + CHK_ERR_WIN32A(ERROR_RESMON_ONLINE_FAILED) + CHK_ERR_WIN32A(ERROR_RESOURCE_ONLINE) + CHK_ERR_WIN32A(ERROR_QUORUM_RESOURCE) + CHK_ERR_WIN32A(ERROR_NOT_QUORUM_CAPABLE) + CHK_ERR_WIN32A(ERROR_CLUSTER_SHUTTING_DOWN) + CHK_ERR_WIN32A(ERROR_INVALID_STATE) + CHK_ERR_WIN32A(ERROR_RESOURCE_PROPERTIES_STORED) + CHK_ERR_WIN32A(ERROR_NOT_QUORUM_CLASS) + CHK_ERR_WIN32A(ERROR_CORE_RESOURCE) + CHK_ERR_WIN32A(ERROR_QUORUM_RESOURCE_ONLINE_FAILED) + CHK_ERR_WIN32A(ERROR_QUORUMLOG_OPEN_FAILED) + CHK_ERR_WIN32A(ERROR_CLUSTERLOG_CORRUPT) + CHK_ERR_WIN32A(ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE) + CHK_ERR_WIN32A(ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE) + CHK_ERR_WIN32A(ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE) + CHK_ERR_WIN32A(ERROR_ENCRYPTION_FAILED) + CHK_ERR_WIN32A(ERROR_DECRYPTION_FAILED) + CHK_ERR_WIN32A(ERROR_FILE_ENCRYPTED) + CHK_ERR_WIN32A(ERROR_NO_RECOVERY_POLICY) + CHK_ERR_WIN32A(ERROR_NO_EFS) + CHK_ERR_WIN32A(ERROR_WRONG_EFS) + CHK_ERR_WIN32A(ERROR_NO_USER_KEYS) + CHK_ERR_WIN32A(ERROR_FILE_NOT_ENCRYPTED) + CHK_ERR_WIN32A(ERROR_NOT_EXPORT_FORMAT) + CHK_ERR_WIN32A(ERROR_NO_BROWSER_SERVERS_FOUND) + CHK_ERR_WIN32A(ERROR_CTX_WINSTATION_NAME_INVALID) + CHK_ERR_WIN32A(ERROR_CTX_INVALID_PD) + CHK_ERR_WIN32A(ERROR_CTX_PD_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CTX_WD_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY) + CHK_ERR_WIN32A(ERROR_CTX_SERVICE_NAME_COLLISION) + CHK_ERR_WIN32A(ERROR_CTX_CLOSE_PENDING) + CHK_ERR_WIN32A(ERROR_CTX_NO_OUTBUF) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_INF_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CTX_INVALID_MODEMNAME) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_ERROR) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_TIMEOUT) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_NO_CARRIER) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_BUSY) + CHK_ERR_WIN32A(ERROR_CTX_MODEM_RESPONSE_VOICE) + CHK_ERR_WIN32A(ERROR_CTX_TD_ERROR) + CHK_ERR_WIN32A(ERROR_CTX_WINSTATION_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CTX_WINSTATION_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_CTX_WINSTATION_BUSY) + CHK_ERR_WIN32A(ERROR_CTX_BAD_VIDEO_MODE) + CHK_ERR_WIN32A(ERROR_CTX_GRAPHICS_INVALID) + CHK_ERR_WIN32A(ERROR_CTX_LOGON_DISABLED) + CHK_ERR_WIN32A(ERROR_CTX_NOT_CONSOLE) + CHK_ERR_WIN32A(ERROR_CTX_CLIENT_QUERY_TIMEOUT) + CHK_ERR_WIN32A(ERROR_CTX_CONSOLE_DISCONNECT) + CHK_ERR_WIN32A(ERROR_CTX_CONSOLE_CONNECT) + CHK_ERR_WIN32A(ERROR_CTX_SHADOW_DENIED) + CHK_ERR_WIN32A(ERROR_CTX_WINSTATION_ACCESS_DENIED) + CHK_ERR_WIN32A(ERROR_CTX_INVALID_WD) + CHK_ERR_WIN32A(ERROR_CTX_SHADOW_INVALID) + CHK_ERR_WIN32A(ERROR_CTX_SHADOW_DISABLED) + CHK_ERR_WIN32A(FRS_ERR_INVALID_API_SEQUENCE) + CHK_ERR_WIN32A(FRS_ERR_STARTING_SERVICE) + CHK_ERR_WIN32A(FRS_ERR_STOPPING_SERVICE) + CHK_ERR_WIN32A(FRS_ERR_INTERNAL_API) + CHK_ERR_WIN32A(FRS_ERR_INTERNAL) + CHK_ERR_WIN32A(FRS_ERR_SERVICE_COMM) + CHK_ERR_WIN32A(FRS_ERR_INSUFFICIENT_PRIV) + CHK_ERR_WIN32A(FRS_ERR_AUTHENTICATION) + CHK_ERR_WIN32A(FRS_ERR_PARENT_INSUFFICIENT_PRIV) + CHK_ERR_WIN32A(FRS_ERR_PARENT_AUTHENTICATION) + CHK_ERR_WIN32A(FRS_ERR_CHILD_TO_PARENT_COMM) + CHK_ERR_WIN32A(FRS_ERR_PARENT_TO_CHILD_COMM) + CHK_ERR_WIN32A(FRS_ERR_SYSVOL_POPULATE) + CHK_ERR_WIN32A(FRS_ERR_SYSVOL_POPULATE_TIMEOUT) + CHK_ERR_WIN32A(FRS_ERR_SYSVOL_IS_BUSY) + CHK_ERR_WIN32A(FRS_ERR_SYSVOL_DEMOTE) + CHK_ERR_WIN32A(FRS_ERR_INVALID_SERVICE_PARAMETER) +// CHK_ERR_WIN32A(DS_S_SUCCESS) + CHK_ERR_WIN32A(ERROR_DS_NOT_INSTALLED) + CHK_ERR_WIN32A(ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY) + CHK_ERR_WIN32A(ERROR_DS_NO_ATTRIBUTE_OR_VALUE) + CHK_ERR_WIN32A(ERROR_DS_INVALID_ATTRIBUTE_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED) + CHK_ERR_WIN32A(ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_BUSY) + CHK_ERR_WIN32A(ERROR_DS_UNAVAILABLE) + CHK_ERR_WIN32A(ERROR_DS_NO_RIDS_ALLOCATED) + CHK_ERR_WIN32A(ERROR_DS_NO_MORE_RIDS) + CHK_ERR_WIN32A(ERROR_DS_INCORRECT_ROLE_OWNER) + CHK_ERR_WIN32A(ERROR_DS_RIDMGR_INIT_ERROR) + CHK_ERR_WIN32A(ERROR_DS_OBJ_CLASS_VIOLATION) + CHK_ERR_WIN32A(ERROR_DS_CANT_ON_NON_LEAF) + CHK_ERR_WIN32A(ERROR_DS_CANT_ON_RDN) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOD_OBJ_CLASS) + CHK_ERR_WIN32A(ERROR_DS_CROSS_DOM_MOVE_ERROR) + CHK_ERR_WIN32A(ERROR_DS_GC_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_SHARED_POLICY) + CHK_ERR_WIN32A(ERROR_POLICY_OBJECT_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_POLICY_ONLY_IN_DS) + CHK_ERR_WIN32A(ERROR_PROMOTION_ACTIVE) + CHK_ERR_WIN32A(ERROR_NO_PROMOTION_ACTIVE) + CHK_ERR_WIN32A(ERROR_DS_OPERATIONS_ERROR) + CHK_ERR_WIN32A(ERROR_DS_PROTOCOL_ERROR) + CHK_ERR_WIN32A(ERROR_DS_TIMELIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_SIZELIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_ADMIN_LIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_COMPARE_FALSE) + CHK_ERR_WIN32A(ERROR_DS_COMPARE_TRUE) + CHK_ERR_WIN32A(ERROR_DS_AUTH_METHOD_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_DS_STRONG_AUTH_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_INAPPROPRIATE_AUTH) + CHK_ERR_WIN32A(ERROR_DS_AUTH_UNKNOWN) + CHK_ERR_WIN32A(ERROR_DS_REFERRAL) + CHK_ERR_WIN32A(ERROR_DS_UNAVAILABLE_CRIT_EXTENSION) + CHK_ERR_WIN32A(ERROR_DS_CONFIDENTIALITY_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_INAPPROPRIATE_MATCHING) + CHK_ERR_WIN32A(ERROR_DS_CONSTRAINT_VIOLATION) + CHK_ERR_WIN32A(ERROR_DS_NO_SUCH_OBJECT) + CHK_ERR_WIN32A(ERROR_DS_ALIAS_PROBLEM) + CHK_ERR_WIN32A(ERROR_DS_INVALID_DN_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_IS_LEAF) + CHK_ERR_WIN32A(ERROR_DS_ALIAS_DEREF_PROBLEM) + CHK_ERR_WIN32A(ERROR_DS_UNWILLING_TO_PERFORM) + CHK_ERR_WIN32A(ERROR_DS_LOOP_DETECT) + CHK_ERR_WIN32A(ERROR_DS_NAMING_VIOLATION) + CHK_ERR_WIN32A(ERROR_DS_OBJECT_RESULTS_TOO_LARGE) + CHK_ERR_WIN32A(ERROR_DS_AFFECTS_MULTIPLE_DSAS) + CHK_ERR_WIN32A(ERROR_DS_SERVER_DOWN) + CHK_ERR_WIN32A(ERROR_DS_LOCAL_ERROR) + CHK_ERR_WIN32A(ERROR_DS_ENCODING_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DECODING_ERROR) + CHK_ERR_WIN32A(ERROR_DS_FILTER_UNKNOWN) + CHK_ERR_WIN32A(ERROR_DS_PARAM_ERROR) + CHK_ERR_WIN32A(ERROR_DS_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_DS_NO_RESULTS_RETURNED) + CHK_ERR_WIN32A(ERROR_DS_CONTROL_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DS_CLIENT_LOOP) + CHK_ERR_WIN32A(ERROR_DS_REFERRAL_LIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_ROOT_MUST_BE_NC) + CHK_ERR_WIN32A(ERROR_DS_ADD_REPLICA_INHIBITED) + CHK_ERR_WIN32A(ERROR_DS_ATT_NOT_DEF_IN_SCHEMA) + CHK_ERR_WIN32A(ERROR_DS_MAX_OBJ_SIZE_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_OBJ_STRING_NAME_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA) + CHK_ERR_WIN32A(ERROR_DS_RDN_DOESNT_MATCH_SCHEMA) + CHK_ERR_WIN32A(ERROR_DS_NO_REQUESTED_ATTS_FOUND) + CHK_ERR_WIN32A(ERROR_DS_USER_BUFFER_TO_SMALL) + CHK_ERR_WIN32A(ERROR_DS_ATT_IS_NOT_ON_OBJ) + CHK_ERR_WIN32A(ERROR_DS_ILLEGAL_MOD_OPERATION) + CHK_ERR_WIN32A(ERROR_DS_OBJ_TOO_LARGE) + CHK_ERR_WIN32A(ERROR_DS_BAD_INSTANCE_TYPE) + CHK_ERR_WIN32A(ERROR_DS_MASTERDSA_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_OBJECT_CLASS_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_MISSING_REQUIRED_ATT) + CHK_ERR_WIN32A(ERROR_DS_ATT_NOT_DEF_FOR_CLASS) + CHK_ERR_WIN32A(ERROR_DS_ATT_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_CANT_ADD_ATT_VALUES) + CHK_ERR_WIN32A(ERROR_DS_SINGLE_VALUE_CONSTRAINT) + CHK_ERR_WIN32A(ERROR_DS_RANGE_CONSTRAINT) + CHK_ERR_WIN32A(ERROR_DS_ATT_VAL_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_CANT_REM_MISSING_ATT) + CHK_ERR_WIN32A(ERROR_DS_CANT_REM_MISSING_ATT_VAL) + CHK_ERR_WIN32A(ERROR_DS_ROOT_CANT_BE_SUBREF) + CHK_ERR_WIN32A(ERROR_DS_NO_CHAINING) + CHK_ERR_WIN32A(ERROR_DS_NO_CHAINED_EVAL) + CHK_ERR_WIN32A(ERROR_DS_NO_PARENT_OBJECT) + CHK_ERR_WIN32A(ERROR_DS_PARENT_IS_AN_ALIAS) + CHK_ERR_WIN32A(ERROR_DS_CANT_MIX_MASTER_AND_REPS) + CHK_ERR_WIN32A(ERROR_DS_CHILDREN_EXIST) + CHK_ERR_WIN32A(ERROR_DS_OBJ_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DS_ALIASED_OBJ_MISSING) + CHK_ERR_WIN32A(ERROR_DS_BAD_NAME_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_ALIAS_POINTS_TO_ALIAS) + CHK_ERR_WIN32A(ERROR_DS_CANT_DEREF_ALIAS) + CHK_ERR_WIN32A(ERROR_DS_OUT_OF_SCOPE) + CHK_ERR_WIN32A(ERROR_DS_CANT_DELETE_DSA_OBJ) + CHK_ERR_WIN32A(ERROR_DS_GENERIC_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DSA_MUST_BE_INT_MASTER) + CHK_ERR_WIN32A(ERROR_DS_CLASS_NOT_DSA) + CHK_ERR_WIN32A(ERROR_DS_INSUFF_ACCESS_RIGHTS) + CHK_ERR_WIN32A(ERROR_DS_ILLEGAL_SUPERIOR) + CHK_ERR_WIN32A(ERROR_DS_ATTRIBUTE_OWNED_BY_SAM) + CHK_ERR_WIN32A(ERROR_DS_NAME_TOO_MANY_PARTS) + CHK_ERR_WIN32A(ERROR_DS_NAME_TOO_LONG) + CHK_ERR_WIN32A(ERROR_DS_NAME_VALUE_TOO_LONG) + CHK_ERR_WIN32A(ERROR_DS_NAME_UNPARSEABLE) + CHK_ERR_WIN32A(ERROR_DS_NAME_TYPE_UNKNOWN) + CHK_ERR_WIN32A(ERROR_DS_NOT_AN_OBJECT) + CHK_ERR_WIN32A(ERROR_DS_SEC_DESC_TOO_SHORT) + CHK_ERR_WIN32A(ERROR_DS_SEC_DESC_INVALID) + CHK_ERR_WIN32A(ERROR_DS_NO_DELETED_NAME) + CHK_ERR_WIN32A(ERROR_DS_SUBREF_MUST_HAVE_PARENT) + CHK_ERR_WIN32A(ERROR_DS_NCNAME_MUST_BE_NC) + CHK_ERR_WIN32A(ERROR_DS_CANT_ADD_SYSTEM_ONLY) + CHK_ERR_WIN32A(ERROR_DS_CLASS_MUST_BE_CONCRETE) + CHK_ERR_WIN32A(ERROR_DS_INVALID_DMD) + CHK_ERR_WIN32A(ERROR_DS_OBJ_GUID_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_NOT_ON_BACKLINK) + CHK_ERR_WIN32A(ERROR_DS_NO_CROSSREF_FOR_NC) + CHK_ERR_WIN32A(ERROR_DS_SHUTTING_DOWN) + CHK_ERR_WIN32A(ERROR_DS_UNKNOWN_OPERATION) + CHK_ERR_WIN32A(ERROR_DS_INVALID_ROLE_OWNER) + CHK_ERR_WIN32A(ERROR_DS_COULDNT_CONTACT_FSMO) + CHK_ERR_WIN32A(ERROR_DS_CROSS_NC_DN_RENAME) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOD_SYSTEM_ONLY) + CHK_ERR_WIN32A(ERROR_DS_REPLICATOR_ONLY) + CHK_ERR_WIN32A(ERROR_DS_OBJ_CLASS_NOT_DEFINED) + CHK_ERR_WIN32A(ERROR_DS_OBJ_CLASS_NOT_SUBCLASS) + CHK_ERR_WIN32A(ERROR_DS_NAME_REFERENCE_INVALID) + CHK_ERR_WIN32A(ERROR_DS_CROSS_REF_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_CANT_DEL_MASTER_CROSSREF) + CHK_ERR_WIN32A(ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD) + CHK_ERR_WIN32A(ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX) + CHK_ERR_WIN32A(ERROR_DS_DUP_RDN) + CHK_ERR_WIN32A(ERROR_DS_DUP_OID) + CHK_ERR_WIN32A(ERROR_DS_DUP_MAPI_ID) + CHK_ERR_WIN32A(ERROR_DS_DUP_SCHEMA_ID_GUID) + CHK_ERR_WIN32A(ERROR_DS_DUP_LDAP_DISPLAY_NAME) + CHK_ERR_WIN32A(ERROR_DS_SEMANTIC_ATT_TEST) + CHK_ERR_WIN32A(ERROR_DS_SYNTAX_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_MUST_HAVE) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_MAY_HAVE) + CHK_ERR_WIN32A(ERROR_DS_NONEXISTENT_MAY_HAVE) + CHK_ERR_WIN32A(ERROR_DS_NONEXISTENT_MUST_HAVE) + CHK_ERR_WIN32A(ERROR_DS_AUX_CLS_TEST_FAIL) + CHK_ERR_WIN32A(ERROR_DS_NONEXISTENT_POSS_SUP) + CHK_ERR_WIN32A(ERROR_DS_SUB_CLS_TEST_FAIL) + CHK_ERR_WIN32A(ERROR_DS_BAD_RDN_ATT_ID_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_AUX_CLS) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_SUB_CLS) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_POSS_SUP) + CHK_ERR_WIN32A(ERROR_DS_RECALCSCHEMA_FAILED) + CHK_ERR_WIN32A(ERROR_DS_TREE_DELETE_NOT_FINISHED) + CHK_ERR_WIN32A(ERROR_DS_CANT_DELETE) + CHK_ERR_WIN32A(ERROR_DS_ATT_SCHEMA_REQ_ID) + CHK_ERR_WIN32A(ERROR_DS_BAD_ATT_SCHEMA_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_CANT_CACHE_ATT) + CHK_ERR_WIN32A(ERROR_DS_CANT_CACHE_CLASS) + CHK_ERR_WIN32A(ERROR_DS_CANT_REMOVE_ATT_CACHE) + CHK_ERR_WIN32A(ERROR_DS_CANT_REMOVE_CLASS_CACHE) + CHK_ERR_WIN32A(ERROR_DS_CANT_RETRIEVE_DN) + CHK_ERR_WIN32A(ERROR_DS_MISSING_SUPREF) + CHK_ERR_WIN32A(ERROR_DS_CANT_RETRIEVE_INSTANCE) + CHK_ERR_WIN32A(ERROR_DS_CODE_INCONSISTENCY) + CHK_ERR_WIN32A(ERROR_DS_DATABASE_ERROR) + CHK_ERR_WIN32A(ERROR_DS_GOVERNSID_MISSING) + CHK_ERR_WIN32A(ERROR_DS_MISSING_EXPECTED_ATT) + CHK_ERR_WIN32A(ERROR_DS_NCNAME_MISSING_CR_REF) + CHK_ERR_WIN32A(ERROR_DS_SECURITY_CHECKING_ERROR) + CHK_ERR_WIN32A(ERROR_DS_SCHEMA_NOT_LOADED) + CHK_ERR_WIN32A(ERROR_DS_SCHEMA_ALLOC_FAILED) + CHK_ERR_WIN32A(ERROR_DS_ATT_SCHEMA_REQ_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_GCVERIFY_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DRA_SCHEMA_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_CANT_FIND_DSA_OBJ) + CHK_ERR_WIN32A(ERROR_DS_CANT_FIND_EXPECTED_NC) + CHK_ERR_WIN32A(ERROR_DS_CANT_FIND_NC_IN_CACHE) + CHK_ERR_WIN32A(ERROR_DS_CANT_RETRIEVE_CHILD) + CHK_ERR_WIN32A(ERROR_DS_SECURITY_ILLEGAL_MODIFY) + CHK_ERR_WIN32A(ERROR_DS_CANT_REPLACE_HIDDEN_REC) + CHK_ERR_WIN32A(ERROR_DS_BAD_HIERARCHY_FILE) + CHK_ERR_WIN32A(ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED) + CHK_ERR_WIN32A(ERROR_DS_CONFIG_PARAM_MISSING) + CHK_ERR_WIN32A(ERROR_DS_COUNTING_AB_INDICES_FAILED) + CHK_ERR_WIN32A(ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED) + CHK_ERR_WIN32A(ERROR_DS_INTERNAL_FAILURE) + CHK_ERR_WIN32A(ERROR_DS_UNKNOWN_ERROR) + CHK_ERR_WIN32A(ERROR_DS_ROOT_REQUIRES_CLASS_TOP) + CHK_ERR_WIN32A(ERROR_DS_REFUSING_FSMO_ROLES) + CHK_ERR_WIN32A(ERROR_DS_MISSING_FSMO_SETTINGS) + CHK_ERR_WIN32A(ERROR_DS_UNABLE_TO_SURRENDER_ROLES) + CHK_ERR_WIN32A(ERROR_DS_DRA_GENERIC) + CHK_ERR_WIN32A(ERROR_DS_DRA_INVALID_PARAMETER) + CHK_ERR_WIN32A(ERROR_DS_DRA_BUSY) + CHK_ERR_WIN32A(ERROR_DS_DRA_BAD_DN) + CHK_ERR_WIN32A(ERROR_DS_DRA_BAD_NC) + CHK_ERR_WIN32A(ERROR_DS_DRA_DN_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_DRA_INTERNAL_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DRA_INCONSISTENT_DIT) + CHK_ERR_WIN32A(ERROR_DS_DRA_CONNECTION_FAILED) + CHK_ERR_WIN32A(ERROR_DS_DRA_BAD_INSTANCE_TYPE) + CHK_ERR_WIN32A(ERROR_DS_DRA_OUT_OF_MEM) + CHK_ERR_WIN32A(ERROR_DS_DRA_MAIL_PROBLEM) + CHK_ERR_WIN32A(ERROR_DS_DRA_REF_ALREADY_EXISTS) + CHK_ERR_WIN32A(ERROR_DS_DRA_REF_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DS_DRA_OBJ_IS_REP_SOURCE) + CHK_ERR_WIN32A(ERROR_DS_DRA_DB_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DRA_NO_REPLICA) + CHK_ERR_WIN32A(ERROR_DS_DRA_ACCESS_DENIED) + CHK_ERR_WIN32A(ERROR_DS_DRA_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_DS_DRA_RPC_CANCELLED) + CHK_ERR_WIN32A(ERROR_DS_DRA_SOURCE_DISABLED) + CHK_ERR_WIN32A(ERROR_DS_DRA_SINK_DISABLED) + CHK_ERR_WIN32A(ERROR_DS_DRA_NAME_COLLISION) + CHK_ERR_WIN32A(ERROR_DS_DRA_SOURCE_REINSTALLED) + CHK_ERR_WIN32A(ERROR_DS_DRA_MISSING_PARENT) + CHK_ERR_WIN32A(ERROR_DS_DRA_PREEMPTED) + CHK_ERR_WIN32A(ERROR_DS_DRA_ABANDON_SYNC) + CHK_ERR_WIN32A(ERROR_DS_DRA_SHUTDOWN) + CHK_ERR_WIN32A(ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET) + CHK_ERR_WIN32A(ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA) + CHK_ERR_WIN32A(ERROR_DS_DRA_EXTN_CONNECTION_FAILED) + CHK_ERR_WIN32A(ERROR_DS_INSTALL_SCHEMA_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_DUP_LINK_ID) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_RESOLVING) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_NOT_UNIQUE) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_NO_MAPPING) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_DOMAIN_ONLY) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING) + CHK_ERR_WIN32A(ERROR_DS_CONSTRUCTED_ATT_MOD) + CHK_ERR_WIN32A(ERROR_DS_WRONG_OM_OBJ_CLASS) + CHK_ERR_WIN32A(ERROR_DS_DRA_REPL_PENDING) + CHK_ERR_WIN32A(DNS_ERROR_RESPONSE_CODES_BASE) +// CHK_ERR_WIN32A(DNS_ERROR_MASK) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_FORMAT_ERROR) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_SERVER_FAILURE) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_NAME_ERROR) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_NOT_IMPLEMENTED) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_REFUSED) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_YXDOMAIN) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_YXRRSET) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_NXRRSET) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_NOTAUTH) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_NOTZONE) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_BADSIG) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_BADKEY) + CHK_ERR_WIN32A(DNS_ERROR_RCODE_BADTIME) + CHK_ERR_WIN32A(DNS_ERROR_PACKET_FMT_BASE) + CHK_ERR_WIN32A(DNS_INFO_NO_RECORDS) + CHK_ERR_WIN32A(DNS_ERROR_BAD_PACKET) + CHK_ERR_WIN32A(DNS_ERROR_NO_PACKET) + CHK_ERR_WIN32A(DNS_ERROR_RCODE) + CHK_ERR_WIN32A(DNS_ERROR_UNSECURE_PACKET) + CHK_ERR_WIN32A(DNS_ERROR_GENERAL_API_BASE) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_TYPE) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_IP_ADDRESS) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_PROPERTY) + CHK_ERR_WIN32A(DNS_ERROR_TRY_AGAIN_LATER) + CHK_ERR_WIN32A(DNS_ERROR_NOT_UNIQUE) + CHK_ERR_WIN32A(DNS_ERROR_NON_RFC_NAME) + CHK_ERR_WIN32A(DNS_STATUS_FQDN) + CHK_ERR_WIN32A(DNS_STATUS_DOTTED_NAME) + CHK_ERR_WIN32A(DNS_STATUS_SINGLE_PART_NAME) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_BASE) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_DOES_NOT_EXIST) + CHK_ERR_WIN32A(DNS_ERROR_NO_ZONE_INFO) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_ZONE_OPERATION) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_CONFIGURATION_ERROR) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_HAS_NO_SOA_RECORD) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_HAS_NO_NS_RECORDS) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_LOCKED) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_CREATION_FAILED) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_AUTOZONE_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_ZONE_TYPE) + CHK_ERR_WIN32A(DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_NOT_SECONDARY) + CHK_ERR_WIN32A(DNS_ERROR_NEED_SECONDARY_ADDRESSES) + CHK_ERR_WIN32A(DNS_ERROR_WINS_INIT_FAILED) + CHK_ERR_WIN32A(DNS_ERROR_NEED_WINS_SERVERS) + CHK_ERR_WIN32A(DNS_ERROR_NBSTAT_INIT_FAILED) + CHK_ERR_WIN32A(DNS_ERROR_SOA_DELETE_INVALID) + CHK_ERR_WIN32A(DNS_ERROR_DATAFILE_BASE) + CHK_ERR_WIN32A(DNS_ERROR_PRIMARY_REQUIRES_DATAFILE) + CHK_ERR_WIN32A(DNS_ERROR_INVALID_DATAFILE_NAME) + CHK_ERR_WIN32A(DNS_ERROR_DATAFILE_OPEN_FAILURE) + CHK_ERR_WIN32A(DNS_ERROR_FILE_WRITEBACK_FAILED) + CHK_ERR_WIN32A(DNS_ERROR_DATAFILE_PARSING) + CHK_ERR_WIN32A(DNS_ERROR_DATABASE_BASE) + CHK_ERR_WIN32A(DNS_ERROR_RECORD_DOES_NOT_EXIST) + CHK_ERR_WIN32A(DNS_ERROR_RECORD_FORMAT) + CHK_ERR_WIN32A(DNS_ERROR_NODE_CREATION_FAILED) + CHK_ERR_WIN32A(DNS_ERROR_UNKNOWN_RECORD_TYPE) + CHK_ERR_WIN32A(DNS_ERROR_RECORD_TIMED_OUT) + CHK_ERR_WIN32A(DNS_ERROR_NAME_NOT_IN_ZONE) + CHK_ERR_WIN32A(DNS_ERROR_CNAME_LOOP) + CHK_ERR_WIN32A(DNS_ERROR_NODE_IS_CNAME) + CHK_ERR_WIN32A(DNS_ERROR_CNAME_COLLISION) + CHK_ERR_WIN32A(DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT) + CHK_ERR_WIN32A(DNS_ERROR_RECORD_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_SECONDARY_DATA) + CHK_ERR_WIN32A(DNS_ERROR_NO_CREATE_CACHE_DATA) + CHK_ERR_WIN32A(DNS_ERROR_NAME_DOES_NOT_EXIST) + CHK_ERR_WIN32A(DNS_WARNING_PTR_CREATE_FAILED) + CHK_ERR_WIN32A(DNS_WARNING_DOMAIN_UNDELETED) + CHK_ERR_WIN32A(DNS_ERROR_DS_UNAVAILABLE) + CHK_ERR_WIN32A(DNS_ERROR_DS_ZONE_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE) + CHK_ERR_WIN32A(DNS_ERROR_OPERATION_BASE) + CHK_ERR_WIN32A(DNS_INFO_AXFR_COMPLETE) + CHK_ERR_WIN32A(DNS_ERROR_AXFR) + CHK_ERR_WIN32A(DNS_INFO_ADDED_LOCAL_WINS) + CHK_ERR_WIN32A(DNS_ERROR_SECURE_BASE) + CHK_ERR_WIN32A(DNS_STATUS_CONTINUE_NEEDED) + CHK_ERR_WIN32A(DNS_ERROR_SETUP_BASE) + CHK_ERR_WIN32A(DNS_ERROR_NO_TCPIP) + CHK_ERR_WIN32A(DNS_ERROR_NO_DNS_SERVERS) + CHK_ERR_WIN32A(WSABASEERR) + CHK_ERR_WIN32A(WSAEINTR) + CHK_ERR_WIN32A(WSAEBADF) + CHK_ERR_WIN32A(WSAEACCES) + CHK_ERR_WIN32A(WSAEFAULT) + CHK_ERR_WIN32A(WSAEINVAL) + CHK_ERR_WIN32A(WSAEMFILE) + CHK_ERR_WIN32A(WSAEWOULDBLOCK) + CHK_ERR_WIN32A(WSAEINPROGRESS) + CHK_ERR_WIN32A(WSAEALREADY) + CHK_ERR_WIN32A(WSAENOTSOCK) + CHK_ERR_WIN32A(WSAEDESTADDRREQ) + CHK_ERR_WIN32A(WSAEMSGSIZE) + CHK_ERR_WIN32A(WSAEPROTOTYPE) + CHK_ERR_WIN32A(WSAENOPROTOOPT) + CHK_ERR_WIN32A(WSAEPROTONOSUPPORT) + CHK_ERR_WIN32A(WSAESOCKTNOSUPPORT) + CHK_ERR_WIN32A(WSAEOPNOTSUPP) + CHK_ERR_WIN32A(WSAEPFNOSUPPORT) + CHK_ERR_WIN32A(WSAEAFNOSUPPORT) + CHK_ERR_WIN32A(WSAEADDRINUSE) + CHK_ERR_WIN32A(WSAEADDRNOTAVAIL) + CHK_ERR_WIN32A(WSAENETDOWN) + CHK_ERR_WIN32A(WSAENETUNREACH) + CHK_ERR_WIN32A(WSAENETRESET) + CHK_ERR_WIN32A(WSAECONNABORTED) + CHK_ERR_WIN32A(WSAECONNRESET) + CHK_ERR_WIN32A(WSAENOBUFS) + CHK_ERR_WIN32A(WSAEISCONN) + CHK_ERR_WIN32A(WSAENOTCONN) + CHK_ERR_WIN32A(WSAESHUTDOWN) + CHK_ERR_WIN32A(WSAETOOMANYREFS) + CHK_ERR_WIN32A(WSAETIMEDOUT) + CHK_ERR_WIN32A(WSAECONNREFUSED) + CHK_ERR_WIN32A(WSAELOOP) + CHK_ERR_WIN32A(WSAENAMETOOLONG) + CHK_ERR_WIN32A(WSAEHOSTDOWN) + CHK_ERR_WIN32A(WSAEHOSTUNREACH) + CHK_ERR_WIN32A(WSAENOTEMPTY) + CHK_ERR_WIN32A(WSAEPROCLIM) + CHK_ERR_WIN32A(WSAEUSERS) + CHK_ERR_WIN32A(WSAEDQUOT) + CHK_ERR_WIN32A(WSAESTALE) + CHK_ERR_WIN32A(WSAEREMOTE) + CHK_ERR_WIN32A(WSASYSNOTREADY) + CHK_ERR_WIN32A(WSAVERNOTSUPPORTED) + CHK_ERR_WIN32A(WSANOTINITIALISED) + CHK_ERR_WIN32A(WSAEDISCON) + CHK_ERR_WIN32A(WSAENOMORE) + CHK_ERR_WIN32A(WSAECANCELLED) + CHK_ERR_WIN32A(WSAEINVALIDPROCTABLE) + CHK_ERR_WIN32A(WSAEINVALIDPROVIDER) + CHK_ERR_WIN32A(WSAEPROVIDERFAILEDINIT) + CHK_ERR_WIN32A(WSASYSCALLFAILURE) + CHK_ERR_WIN32A(WSASERVICE_NOT_FOUND) + CHK_ERR_WIN32A(WSATYPE_NOT_FOUND) + CHK_ERR_WIN32A(WSA_E_NO_MORE) + CHK_ERR_WIN32A(WSA_E_CANCELLED) + CHK_ERR_WIN32A(WSAEREFUSED) + CHK_ERR_WIN32A(WSAHOST_NOT_FOUND) + CHK_ERR_WIN32A(WSATRY_AGAIN) + CHK_ERR_WIN32A(WSANO_RECOVERY) + CHK_ERR_WIN32A(WSANO_DATA) + CHK_ERR_WIN32A(WSA_QOS_RECEIVERS) + CHK_ERR_WIN32A(WSA_QOS_SENDERS) + CHK_ERR_WIN32A(WSA_QOS_NO_SENDERS) + CHK_ERR_WIN32A(WSA_QOS_NO_RECEIVERS) + CHK_ERR_WIN32A(WSA_QOS_REQUEST_CONFIRMED) + CHK_ERR_WIN32A(WSA_QOS_ADMISSION_FAILURE) + CHK_ERR_WIN32A(WSA_QOS_POLICY_FAILURE) + CHK_ERR_WIN32A(WSA_QOS_BAD_STYLE) + CHK_ERR_WIN32A(WSA_QOS_BAD_OBJECT) + CHK_ERR_WIN32A(WSA_QOS_TRAFFIC_CTRL_ERROR) + CHK_ERR_WIN32A(WSA_QOS_GENERIC_ERROR) + + CHK_ERRA(CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT) + CHK_ERRA(CO_E_SERVER_PAUSED) + CHK_ERRA(CO_E_SERVER_NOT_PAUSED) + CHK_ERRA(CO_E_CLASS_DISABLED) + CHK_ERRA(CO_E_CLRNOTAVAILABLE) + CHK_ERRA(CO_E_ASYNC_WORK_REJECTED) + CHK_ERRA(CO_E_SERVER_INIT_TIMEOUT) + CHK_ERRA(CO_E_NO_SECCTX_IN_ACTIVATE) + CHK_ERRA(CO_E_TRACKER_CONFIG) + CHK_ERRA(CO_E_THREADPOOL_CONFIG) + CHK_ERRA(CO_E_SXS_CONFIG) + CHK_ERRA(CO_E_MALFORMED_SPN) + CHK_ERRA(REGDB_E_BADTHREADINGMODEL) +// CHK_ERRA(EVENT_E_FIRST) +// CHK_ERRA(EVENT_E_LAST) +// CHK_ERRA(EVENT_S_FIRST) +// CHK_ERRA(EVENT_S_LAST) +// CHK_ERRA(EVENT_S_SOME_SUBSCRIBERS_FAILED) +// CHK_ERRA(EVENT_E_ALL_SUBSCRIBERS_FAILED) + CHK_ERRA(EVENT_S_NOSUBSCRIBERS) +// CHK_ERRA(EVENT_E_QUERYSYNTAX) +// CHK_ERRA(EVENT_E_QUERYFIELD) +// CHK_ERRA(EVENT_E_INTERNALEXCEPTION) +// CHK_ERRA(EVENT_E_INTERNALERROR) +// CHK_ERRA(EVENT_E_INVALID_PER_USER_SID) +// CHK_ERRA(EVENT_E_USER_EXCEPTION) +// CHK_ERRA(EVENT_E_TOO_MANY_METHODS) +// CHK_ERRA(EVENT_E_MISSING_EVENTCLASS) +// CHK_ERRA(EVENT_E_NOT_ALL_REMOVED) +// CHK_ERRA(EVENT_E_COMPLUS_NOT_INSTALLED) +// CHK_ERRA(EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT) +// CHK_ERRA(EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT) +// CHK_ERRA(EVENT_E_INVALID_EVENT_CLASS_PARTITION) +// CHK_ERRA(EVENT_E_PER_USER_SID_NOT_LOGGED_ON) + CHK_ERRA(CONTEXT_E_FIRST) + CHK_ERRA(CONTEXT_E_LAST) + CHK_ERRA(CONTEXT_S_FIRST) + CHK_ERRA(CONTEXT_S_LAST) + CHK_ERRA(CONTEXT_E_ABORTED) + CHK_ERRA(CONTEXT_E_ABORTING) + CHK_ERRA(CONTEXT_E_NOCONTEXT) +// CHK_ERRA(CONTEXT_E_WOULD_DEADLOCK) + CHK_ERRA(CONTEXT_E_SYNCH_TIMEOUT) + CHK_ERRA(CONTEXT_E_OLDREF) + CHK_ERRA(CONTEXT_E_ROLENOTFOUND) + CHK_ERRA(CONTEXT_E_TMNOTAVAILABLE) + CHK_ERRA(CO_E_ACTIVATIONFAILED) + CHK_ERRA(CO_E_ACTIVATIONFAILED_EVENTLOGGED) + CHK_ERRA(CO_E_ACTIVATIONFAILED_CATALOGERROR) + CHK_ERRA(CO_E_ACTIVATIONFAILED_TIMEOUT) + CHK_ERRA(CO_E_INITIALIZATIONFAILED) + CHK_ERRA(CONTEXT_E_NOJIT) + CHK_ERRA(CONTEXT_E_NOTRANSACTION) + CHK_ERRA(CO_E_THREADINGMODEL_CHANGED) + CHK_ERRA(CO_E_NOIISINTRINSICS) + CHK_ERRA(CO_E_NOCOOKIES) + CHK_ERRA(CO_E_DBERROR) + CHK_ERRA(CO_E_NOTPOOLED) + CHK_ERRA(CO_E_NOTCONSTRUCTED) + CHK_ERRA(CO_E_NOSYNCHRONIZATION) +// CHK_ERRA(CO_E_ISOLEVELMISMATCH) + CHK_ERRA(SCHED_S_TASK_READY) + CHK_ERRA(SCHED_S_TASK_RUNNING) + CHK_ERRA(SCHED_S_TASK_DISABLED) + CHK_ERRA(SCHED_S_TASK_HAS_NOT_RUN) + CHK_ERRA(SCHED_S_TASK_NO_MORE_RUNS) + CHK_ERRA(SCHED_S_TASK_NOT_SCHEDULED) + CHK_ERRA(SCHED_S_TASK_TERMINATED) + CHK_ERRA(SCHED_S_TASK_NO_VALID_TRIGGERS) + CHK_ERRA(SCHED_S_EVENT_TRIGGER) + CHK_ERRA(SCHED_E_TRIGGER_NOT_FOUND) + CHK_ERRA(SCHED_E_TASK_NOT_READY) + CHK_ERRA(SCHED_E_TASK_NOT_RUNNING) + CHK_ERRA(SCHED_E_SERVICE_NOT_INSTALLED) + CHK_ERRA(SCHED_E_CANNOT_OPEN_TASK) + CHK_ERRA(SCHED_E_INVALID_TASK) + CHK_ERRA(SCHED_E_ACCOUNT_INFORMATION_NOT_SET) + CHK_ERRA(SCHED_E_ACCOUNT_NAME_NOT_FOUND) + CHK_ERRA(SCHED_E_ACCOUNT_DBASE_CORRUPT) + CHK_ERRA(SCHED_E_NO_SECURITY_SERVICES) + CHK_ERRA(SCHED_E_UNKNOWN_OBJECT_VERSION) + CHK_ERRA(SCHED_E_UNSUPPORTED_ACCOUNT_OPTION) + CHK_ERRA(SCHED_E_SERVICE_NOT_RUNNING) + CHK_ERRA(CO_S_MACHINENAMENOTFOUND) + CHK_ERRA(STG_E_STATUS_COPY_PROTECTION_FAILURE) + CHK_ERRA(STG_E_CSS_AUTHENTICATION_FAILURE) + CHK_ERRA(STG_E_CSS_KEY_NOT_PRESENT) + CHK_ERRA(STG_E_CSS_KEY_NOT_ESTABLISHED) + CHK_ERRA(STG_E_CSS_SCRAMBLED_SECTOR) + CHK_ERRA(STG_E_CSS_REGION_MISMATCH) + CHK_ERRA(STG_E_RESETS_EXHAUSTED) + CHK_ERRA(CO_E_CANCEL_DISABLED) + CHK_ERRA(ERROR_AUDITING_DISABLED) + CHK_ERRA(ERROR_ALL_SIDS_FILTERED) + CHK_ERRA(NTE_TEMPORARY_PROFILE) + CHK_ERRA(NTE_FIXEDPARAMETER) + CHK_ERRA(SEC_E_INSUFFICIENT_MEMORY) + CHK_ERRA(SEC_E_INVALID_HANDLE) + CHK_ERRA(SEC_E_UNSUPPORTED_FUNCTION) + CHK_ERRA(SEC_E_TARGET_UNKNOWN) + CHK_ERRA(SEC_E_INTERNAL_ERROR) + CHK_ERRA(SEC_E_SECPKG_NOT_FOUND) + CHK_ERRA(SEC_E_NOT_OWNER) + CHK_ERRA(SEC_E_CANNOT_INSTALL) + CHK_ERRA(SEC_E_INVALID_TOKEN) + CHK_ERRA(SEC_E_CANNOT_PACK) + CHK_ERRA(SEC_E_QOP_NOT_SUPPORTED) + CHK_ERRA(SEC_E_NO_IMPERSONATION) + CHK_ERRA(SEC_E_LOGON_DENIED) + CHK_ERRA(SEC_E_UNKNOWN_CREDENTIALS) + CHK_ERRA(SEC_E_NO_CREDENTIALS) + CHK_ERRA(SEC_E_MESSAGE_ALTERED) + CHK_ERRA(SEC_E_OUT_OF_SEQUENCE) + CHK_ERRA(SEC_E_NO_AUTHENTICATING_AUTHORITY) + CHK_ERRA(SEC_I_CONTINUE_NEEDED) + CHK_ERRA(SEC_I_COMPLETE_NEEDED) + CHK_ERRA(SEC_I_COMPLETE_AND_CONTINUE) + CHK_ERRA(SEC_I_LOCAL_LOGON) + CHK_ERRA(SEC_E_BAD_PKGID) + CHK_ERRA(SEC_E_CONTEXT_EXPIRED) + CHK_ERRA(SEC_I_CONTEXT_EXPIRED) + CHK_ERRA(SEC_E_INCOMPLETE_MESSAGE) + CHK_ERRA(SEC_E_INCOMPLETE_CREDENTIALS) + CHK_ERRA(SEC_E_BUFFER_TOO_SMALL) + CHK_ERRA(SEC_I_INCOMPLETE_CREDENTIALS) + CHK_ERRA(SEC_I_RENEGOTIATE) + CHK_ERRA(SEC_E_WRONG_PRINCIPAL) + CHK_ERRA(SEC_I_NO_LSA_CONTEXT) + CHK_ERRA(SEC_E_TIME_SKEW) + CHK_ERRA(SEC_E_UNTRUSTED_ROOT) + CHK_ERRA(SEC_E_ILLEGAL_MESSAGE) + CHK_ERRA(SEC_E_CERT_UNKNOWN) + CHK_ERRA(SEC_E_CERT_EXPIRED) + CHK_ERRA(SEC_E_ENCRYPT_FAILURE) + CHK_ERRA(SEC_E_DECRYPT_FAILURE) + CHK_ERRA(SEC_E_ALGORITHM_MISMATCH) + CHK_ERRA(SEC_E_SECURITY_QOS_FAILED) + CHK_ERRA(SEC_E_UNFINISHED_CONTEXT_DELETED) + CHK_ERRA(SEC_E_NO_TGT_REPLY) + CHK_ERRA(SEC_E_NO_IP_ADDRESSES) + CHK_ERRA(SEC_E_WRONG_CREDENTIAL_HANDLE) + CHK_ERRA(SEC_E_CRYPTO_SYSTEM_INVALID) + CHK_ERRA(SEC_E_MAX_REFERRALS_EXCEEDED) + CHK_ERRA(SEC_E_MUST_BE_KDC) + CHK_ERRA(SEC_E_STRONG_CRYPTO_NOT_SUPPORTED) + CHK_ERRA(SEC_E_TOO_MANY_PRINCIPALS) + CHK_ERRA(SEC_E_NO_PA_DATA) + CHK_ERRA(SEC_E_PKINIT_NAME_MISMATCH) + CHK_ERRA(SEC_E_SMARTCARD_LOGON_REQUIRED) + CHK_ERRA(SEC_E_SHUTDOWN_IN_PROGRESS) + CHK_ERRA(SEC_E_KDC_INVALID_REQUEST) + CHK_ERRA(SEC_E_KDC_UNABLE_TO_REFER) + CHK_ERRA(SEC_E_KDC_UNKNOWN_ETYPE) + CHK_ERRA(SEC_E_UNSUPPORTED_PREAUTH) + CHK_ERRA(SEC_E_DELEGATION_REQUIRED) + CHK_ERRA(SEC_E_BAD_BINDINGS) + CHK_ERRA(SEC_E_MULTIPLE_ACCOUNTS) + CHK_ERRA(SEC_E_NO_KERB_KEY) +// CHK_ERRA(SEC_E_CERT_WRONG_USAGE) +// CHK_ERRA(SEC_E_DOWNGRADE_DETECTED) + CHK_ERRA(SEC_E_SMARTCARD_CERT_REVOKED) + CHK_ERRA(SEC_E_ISSUING_CA_UNTRUSTED) + CHK_ERRA(SEC_E_REVOCATION_OFFLINE_C) + CHK_ERRA(SEC_E_PKINIT_CLIENT_FAILURE) + CHK_ERRA(SEC_E_SMARTCARD_CERT_EXPIRED) +// CHK_ERRA(SEC_E_NO_SPM) +// CHK_ERRA(SEC_E_NOT_SUPPORTED) + CHK_ERRA(CRYPT_I_NEW_PROTECTION_REQUIRED) + CHK_ERRA(CRYPT_E_MISSING_PUBKEY_PARA) + CHK_ERRA(CRYPT_E_ASN1_ERROR) + CHK_ERRA(CRYPT_E_ASN1_INTERNAL) + CHK_ERRA(CRYPT_E_ASN1_EOD) + CHK_ERRA(CRYPT_E_ASN1_CORRUPT) + CHK_ERRA(CRYPT_E_ASN1_LARGE) + CHK_ERRA(CRYPT_E_ASN1_CONSTRAINT) + CHK_ERRA(CRYPT_E_ASN1_MEMORY) + CHK_ERRA(CRYPT_E_ASN1_OVERFLOW) + CHK_ERRA(CRYPT_E_ASN1_BADPDU) + CHK_ERRA(CRYPT_E_ASN1_BADARGS) + CHK_ERRA(CRYPT_E_ASN1_BADREAL) + CHK_ERRA(CRYPT_E_ASN1_BADTAG) + CHK_ERRA(CRYPT_E_ASN1_CHOICE) + CHK_ERRA(CRYPT_E_ASN1_RULE) + CHK_ERRA(CRYPT_E_ASN1_UTF8) + CHK_ERRA(CRYPT_E_ASN1_PDU_TYPE) + CHK_ERRA(CRYPT_E_ASN1_NYI) + CHK_ERRA(CRYPT_E_ASN1_EXTENDED) + CHK_ERRA(CRYPT_E_ASN1_NOEOD) + CHK_ERRA(CERTSRV_E_SERVER_SUSPENDED) + CHK_ERRA(CERTSRV_E_ENCODING_LENGTH) + CHK_ERRA(CERTSRV_E_ROLECONFLICT) + CHK_ERRA(CERTSRV_E_RESTRICTEDOFFICER) + CHK_ERRA(CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED) + CHK_ERRA(CERTSRV_E_NO_VALID_KRA) + CHK_ERRA(CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL) + CHK_ERRA(CERTSRV_E_NO_CAADMIN_DEFINED) + CHK_ERRA(CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE) + CHK_ERRA(CERTSRV_E_NO_DB_SESSIONS) + CHK_ERRA(CERTSRV_E_ALIGNMENT_FAULT) + CHK_ERRA(CERTSRV_E_ENROLL_DENIED) + CHK_ERRA(CERTSRV_E_TEMPLATE_DENIED) +// CHK_ERRA(CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE) + CHK_ERRA(CERTSRV_E_TEMPLATE_CONFLICT) + CHK_ERRA(CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED) + CHK_ERRA(CERTSRV_E_ARCHIVED_KEY_REQUIRED) + CHK_ERRA(CERTSRV_E_SMIME_REQUIRED) + CHK_ERRA(CERTSRV_E_BAD_RENEWAL_SUBJECT) + CHK_ERRA(CERTSRV_E_BAD_TEMPLATE_VERSION) + CHK_ERRA(CERTSRV_E_TEMPLATE_POLICY_REQUIRED) + CHK_ERRA(CERTSRV_E_SIGNATURE_POLICY_REQUIRED) + CHK_ERRA(CERTSRV_E_SIGNATURE_COUNT) + CHK_ERRA(CERTSRV_E_SIGNATURE_REJECTED) + CHK_ERRA(CERTSRV_E_ISSUANCE_POLICY_REQUIRED) + CHK_ERRA(CERTSRV_E_SUBJECT_UPN_REQUIRED) + CHK_ERRA(CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED) + CHK_ERRA(CERTSRV_E_SUBJECT_DNS_REQUIRED) + CHK_ERRA(CERTSRV_E_ARCHIVED_KEY_UNEXPECTED) + CHK_ERRA(CERTSRV_E_KEY_LENGTH) +// CHK_ERRA(CERTSRV_E_SUBJECT_EMAIL_REQUIRED) +// CHK_ERRA(CERTSRV_E_UNKNOWN_CERT_TYPE) +// CHK_ERRA(CERTSRV_E_CERT_TYPE_OVERLAP) + CHK_ERRA(XENROLL_E_KEY_NOT_EXPORTABLE) + CHK_ERRA(XENROLL_E_CANNOT_ADD_ROOT_CERT) + CHK_ERRA(XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND) + CHK_ERRA(XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH) + CHK_ERRA(XENROLL_E_RESPONSE_KA_HASH_MISMATCH) + CHK_ERRA(XENROLL_E_KEYSPEC_SMIME_MISMATCH) + CHK_ERRA(MSSIPOTF_E_OUTOFMEMRANGE) + CHK_ERRA(MSSIPOTF_E_CANTGETOBJECT) + CHK_ERRA(MSSIPOTF_E_NOHEADTABLE) + CHK_ERRA(MSSIPOTF_E_BAD_MAGICNUMBER) + CHK_ERRA(MSSIPOTF_E_BAD_OFFSET_TABLE) + CHK_ERRA(MSSIPOTF_E_TABLE_TAGORDER) + CHK_ERRA(MSSIPOTF_E_TABLE_LONGWORD) + CHK_ERRA(MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT) + CHK_ERRA(MSSIPOTF_E_TABLES_OVERLAP) + CHK_ERRA(MSSIPOTF_E_TABLE_PADBYTES) + CHK_ERRA(MSSIPOTF_E_FILETOOSMALL) + CHK_ERRA(MSSIPOTF_E_TABLE_CHECKSUM) + CHK_ERRA(MSSIPOTF_E_FILE_CHECKSUM) + CHK_ERRA(MSSIPOTF_E_FAILED_POLICY) + CHK_ERRA(MSSIPOTF_E_FAILED_HINTS_CHECK) + CHK_ERRA(MSSIPOTF_E_NOT_OPENTYPE) + CHK_ERRA(MSSIPOTF_E_FILE) + CHK_ERRA(MSSIPOTF_E_CRYPT) + CHK_ERRA(MSSIPOTF_E_BADVERSION) + CHK_ERRA(MSSIPOTF_E_DSIG_STRUCTURE) + CHK_ERRA(MSSIPOTF_E_PCONST_CHECK) + CHK_ERRA(MSSIPOTF_E_STRUCTURE) + CHK_ERRA(TRUST_E_EXPLICIT_DISTRUST) + CHK_ERRA(CERT_E_UNTRUSTEDCA) + CHK_ERRA(CERT_E_INVALID_POLICY) + CHK_ERRA(CERT_E_INVALID_NAME) + CHK_ERRA(SPAPI_E_NOT_DISABLEABLE) + CHK_ERRA(SPAPI_E_CANT_REMOVE_DEVINST) + CHK_ERRA(SPAPI_E_INVALID_TARGET) + CHK_ERRA(SPAPI_E_DRIVER_NONNATIVE) + CHK_ERRA(SPAPI_E_IN_WOW64) + CHK_ERRA(SPAPI_E_SET_SYSTEM_RESTORE_POINT) + CHK_ERRA(SPAPI_E_INCORRECTLY_COPIED_INF) + CHK_ERRA(SPAPI_E_SCE_DISABLED) + CHK_ERRA(SCARD_E_NO_KEY_CONTAINER) + CHK_ERRA(SCARD_W_CARD_NOT_AUTHENTICATED) + CHK_ERRA(COMADMIN_E_OBJECTERRORS) + CHK_ERRA(COMADMIN_E_OBJECTINVALID) + CHK_ERRA(COMADMIN_E_KEYMISSING) + CHK_ERRA(COMADMIN_E_ALREADYINSTALLED) + CHK_ERRA(COMADMIN_E_APP_FILE_WRITEFAIL) + CHK_ERRA(COMADMIN_E_APP_FILE_READFAIL) + CHK_ERRA(COMADMIN_E_APP_FILE_VERSION) + CHK_ERRA(COMADMIN_E_BADPATH) + CHK_ERRA(COMADMIN_E_APPLICATIONEXISTS) + CHK_ERRA(COMADMIN_E_ROLEEXISTS) + CHK_ERRA(COMADMIN_E_CANTCOPYFILE) + CHK_ERRA(COMADMIN_E_NOUSER) + CHK_ERRA(COMADMIN_E_INVALIDUSERIDS) + CHK_ERRA(COMADMIN_E_NOREGISTRYCLSID) + CHK_ERRA(COMADMIN_E_BADREGISTRYPROGID) + CHK_ERRA(COMADMIN_E_AUTHENTICATIONLEVEL) + CHK_ERRA(COMADMIN_E_USERPASSWDNOTVALID) + CHK_ERRA(COMADMIN_E_CLSIDORIIDMISMATCH) + CHK_ERRA(COMADMIN_E_REMOTEINTERFACE) + CHK_ERRA(COMADMIN_E_DLLREGISTERSERVER) + CHK_ERRA(COMADMIN_E_NOSERVERSHARE) + CHK_ERRA(COMADMIN_E_DLLLOADFAILED) + CHK_ERRA(COMADMIN_E_BADREGISTRYLIBID) + CHK_ERRA(COMADMIN_E_APPDIRNOTFOUND) + CHK_ERRA(COMADMIN_E_REGISTRARFAILED) + CHK_ERRA(COMADMIN_E_COMPFILE_DOESNOTEXIST) + CHK_ERRA(COMADMIN_E_COMPFILE_LOADDLLFAIL) + CHK_ERRA(COMADMIN_E_COMPFILE_GETCLASSOBJ) + CHK_ERRA(COMADMIN_E_COMPFILE_CLASSNOTAVAIL) + CHK_ERRA(COMADMIN_E_COMPFILE_BADTLB) + CHK_ERRA(COMADMIN_E_COMPFILE_NOTINSTALLABLE) + CHK_ERRA(COMADMIN_E_NOTCHANGEABLE) + CHK_ERRA(COMADMIN_E_NOTDELETEABLE) + CHK_ERRA(COMADMIN_E_SESSION) + CHK_ERRA(COMADMIN_E_COMP_MOVE_LOCKED) + CHK_ERRA(COMADMIN_E_COMP_MOVE_BAD_DEST) + CHK_ERRA(COMADMIN_E_REGISTERTLB) + CHK_ERRA(COMADMIN_E_SYSTEMAPP) + CHK_ERRA(COMADMIN_E_COMPFILE_NOREGISTRAR) + CHK_ERRA(COMADMIN_E_COREQCOMPINSTALLED) + CHK_ERRA(COMADMIN_E_SERVICENOTINSTALLED) + CHK_ERRA(COMADMIN_E_PROPERTYSAVEFAILED) + CHK_ERRA(COMADMIN_E_OBJECTEXISTS) + CHK_ERRA(COMADMIN_E_COMPONENTEXISTS) + CHK_ERRA(COMADMIN_E_REGFILE_CORRUPT) + CHK_ERRA(COMADMIN_E_PROPERTY_OVERFLOW) + CHK_ERRA(COMADMIN_E_NOTINREGISTRY) + CHK_ERRA(COMADMIN_E_OBJECTNOTPOOLABLE) + CHK_ERRA(COMADMIN_E_APPLID_MATCHES_CLSID) + CHK_ERRA(COMADMIN_E_ROLE_DOES_NOT_EXIST) + CHK_ERRA(COMADMIN_E_START_APP_NEEDS_COMPONENTS) + CHK_ERRA(COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM) + CHK_ERRA(COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY) + CHK_ERRA(COMADMIN_E_CAN_NOT_START_APP) + CHK_ERRA(COMADMIN_E_CAN_NOT_EXPORT_SYS_APP) + CHK_ERRA(COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT) + CHK_ERRA(COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER) + CHK_ERRA(COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE) + CHK_ERRA(COMADMIN_E_BASE_PARTITION_ONLY) + CHK_ERRA(COMADMIN_E_START_APP_DISABLED) + CHK_ERRA(COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME) + CHK_ERRA(COMADMIN_E_CAT_INVALID_PARTITION_NAME) + CHK_ERRA(COMADMIN_E_CAT_PARTITION_IN_USE) + CHK_ERRA(COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES) + CHK_ERRA(COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED) + CHK_ERRA(COMADMIN_E_AMBIGUOUS_APPLICATION_NAME) + CHK_ERRA(COMADMIN_E_AMBIGUOUS_PARTITION_NAME) + CHK_ERRA(COMADMIN_E_REGDB_NOTINITIALIZED) + CHK_ERRA(COMADMIN_E_REGDB_NOTOPEN) + CHK_ERRA(COMADMIN_E_REGDB_SYSTEMERR) + CHK_ERRA(COMADMIN_E_REGDB_ALREADYRUNNING) + CHK_ERRA(COMADMIN_E_MIG_VERSIONNOTSUPPORTED) + CHK_ERRA(COMADMIN_E_MIG_SCHEMANOTFOUND) + CHK_ERRA(COMADMIN_E_CAT_BITNESSMISMATCH) + CHK_ERRA(COMADMIN_E_CAT_UNACCEPTABLEBITNESS) + CHK_ERRA(COMADMIN_E_CAT_WRONGAPPBITNESS) + CHK_ERRA(COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED) + CHK_ERRA(COMADMIN_E_CAT_SERVERFAULT) + CHK_ERRA(COMQC_E_APPLICATION_NOT_QUEUED) + CHK_ERRA(COMQC_E_NO_QUEUEABLE_INTERFACES) + CHK_ERRA(COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE) + CHK_ERRA(COMQC_E_NO_IPERSISTSTREAM) + CHK_ERRA(COMQC_E_BAD_MESSAGE) + CHK_ERRA(COMQC_E_UNAUTHENTICATED) + CHK_ERRA(COMQC_E_UNTRUSTED_ENQUEUER) + CHK_ERRA(MSDTC_E_DUPLICATE_RESOURCE) + CHK_ERRA(COMADMIN_E_OBJECT_PARENT_MISSING) + CHK_ERRA(COMADMIN_E_OBJECT_DOES_NOT_EXIST) + CHK_ERRA(COMADMIN_E_APP_NOT_RUNNING) + CHK_ERRA(COMADMIN_E_INVALID_PARTITION) + CHK_ERRA(COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE) + CHK_ERRA(COMADMIN_E_USER_IN_SET) + CHK_ERRA(COMADMIN_E_CANTRECYCLELIBRARYAPPS) + CHK_ERRA(COMADMIN_E_CANTRECYCLESERVICEAPPS) + CHK_ERRA(COMADMIN_E_PROCESSALREADYRECYCLED) + CHK_ERRA(COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED) + CHK_ERRA(COMADMIN_E_CANTMAKEINPROCSERVICE) + CHK_ERRA(COMADMIN_E_PROGIDINUSEBYCLSID) + CHK_ERRA(COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET) + CHK_ERRA(COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED) + CHK_ERRA(COMADMIN_E_PARTITION_ACCESSDENIED) + CHK_ERRA(COMADMIN_E_PARTITION_MSI_ONLY) + CHK_ERRA(COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT) + CHK_ERRA(COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS) + CHK_ERRA(COMADMIN_E_COMP_MOVE_SOURCE) + CHK_ERRA(COMADMIN_E_COMP_MOVE_DEST) + CHK_ERRA(COMADMIN_E_COMP_MOVE_PRIVATE) + CHK_ERRA(COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET) + CHK_ERRA(COMADMIN_E_CANNOT_ALIAS_EVENTCLASS) + CHK_ERRA(COMADMIN_E_PRIVATE_ACCESSDENIED) + CHK_ERRA(COMADMIN_E_SAFERINVALID) + CHK_ERRA(COMADMIN_E_REGISTRY_ACCESSDENIED) +// CHK_ERRA(COMADMIN_E_PARTITIONS_DISABLED) +// CHK_ERR_WIN32A(ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY) +// CHK_ERR_WIN32A(ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY) + CHK_ERR_WIN32A(ERROR_DISK_TOO_FRAGMENTED) + CHK_ERR_WIN32A(ERROR_DELETE_PENDING) +// CHK_ERR_WIN32A(ERROR_SCOPE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_NOT_SAFEBOOT_SERVICE) + CHK_ERR_WIN32A(ERROR_JOURNAL_ENTRY_DELETED) + CHK_ERR_WIN32A(ERROR_ONLY_IF_CONNECTED) + CHK_ERR_WIN32A(ERROR_OVERRIDE_NOCHANGES) + CHK_ERR_WIN32A(ERROR_BAD_USER_PROFILE) + CHK_ERR_WIN32A(ERROR_NOT_SUPPORTED_ON_SBS) + CHK_ERR_WIN32A(ERROR_SERVER_SHUTDOWN_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_HOST_DOWN) + CHK_ERR_WIN32A(ERROR_NON_ACCOUNT_SID) + CHK_ERR_WIN32A(ERROR_NON_DOMAIN_SID) + CHK_ERR_WIN32A(ERROR_APPHELP_BLOCK) + CHK_ERR_WIN32A(ERROR_ACCESS_DISABLED_BY_POLICY) + CHK_ERR_WIN32A(ERROR_REG_NAT_CONSUMPTION) + CHK_ERR_WIN32A(ERROR_CSCSHARE_OFFLINE) + CHK_ERR_WIN32A(ERROR_PKINIT_FAILURE) + CHK_ERR_WIN32A(ERROR_SMARTCARD_SUBSYSTEM_FAILURE) + CHK_ERR_WIN32A(ERROR_DOWNGRADE_DETECTED) + CHK_ERR_WIN32A(ERROR_MACHINE_LOCKED) + CHK_ERR_WIN32A(ERROR_CALLBACK_SUPPLIED_INVALID_DATA) + CHK_ERR_WIN32A(ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED) + CHK_ERR_WIN32A(ERROR_DRIVER_BLOCKED) + CHK_ERR_WIN32A(ERROR_INVALID_IMPORT_OF_NON_DLL) +// CHK_ERR_WIN32A(ERROR_ACCESS_DISABLED_WEBBLADE) +// CHK_ERR_WIN32A(ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER) +// CHK_ERR_WIN32A(ERROR_RECOVERY_FAILURE) +// CHK_ERR_WIN32A(ERROR_ALREADY_FIBER) +// CHK_ERR_WIN32A(ERROR_ALREADY_THREAD) +// CHK_ERR_WIN32A(ERROR_STACK_BUFFER_OVERRUN) +// CHK_ERR_WIN32A(ERROR_PARAMETER_QUOTA_EXCEEDED) +// CHK_ERR_WIN32A(ERROR_DEBUGGER_INACTIVE) +// CHK_ERR_WIN32A(ERROR_DELAY_LOAD_FAILED) + CHK_ERR_WIN32A(ERROR_CURRENT_DOMAIN_NOT_ALLOWED) + CHK_ERR_WIN32A(ERROR_INSTALL_SERVICE_FAILURE) + CHK_ERR_WIN32A(ERROR_INSTALL_PACKAGE_VERSION) + CHK_ERR_WIN32A(ERROR_INSTALL_ALREADY_RUNNING) + CHK_ERR_WIN32A(ERROR_INSTALL_PACKAGE_OPEN_FAILED) + CHK_ERR_WIN32A(ERROR_INSTALL_PACKAGE_INVALID) + CHK_ERR_WIN32A(ERROR_INSTALL_UI_FAILURE) + CHK_ERR_WIN32A(ERROR_INSTALL_LOG_FAILURE) + CHK_ERR_WIN32A(ERROR_INSTALL_LANGUAGE_UNSUPPORTED) + CHK_ERR_WIN32A(ERROR_INSTALL_TRANSFORM_FAILURE) + CHK_ERR_WIN32A(ERROR_INSTALL_PACKAGE_REJECTED) + CHK_ERR_WIN32A(ERROR_FUNCTION_NOT_CALLED) + CHK_ERR_WIN32A(ERROR_FUNCTION_FAILED) + CHK_ERR_WIN32A(ERROR_INVALID_TABLE) + CHK_ERR_WIN32A(ERROR_DATATYPE_MISMATCH) + CHK_ERR_WIN32A(ERROR_UNSUPPORTED_TYPE) + CHK_ERR_WIN32A(ERROR_CREATE_FAILED) + CHK_ERR_WIN32A(ERROR_INSTALL_TEMP_UNWRITABLE) + CHK_ERR_WIN32A(ERROR_INSTALL_PLATFORM_UNSUPPORTED) + CHK_ERR_WIN32A(ERROR_INSTALL_NOTUSED) + CHK_ERR_WIN32A(ERROR_PATCH_PACKAGE_OPEN_FAILED) + CHK_ERR_WIN32A(ERROR_PATCH_PACKAGE_INVALID) + CHK_ERR_WIN32A(ERROR_PATCH_PACKAGE_UNSUPPORTED) + CHK_ERR_WIN32A(ERROR_PRODUCT_VERSION) + CHK_ERR_WIN32A(ERROR_INVALID_COMMAND_LINE) + CHK_ERR_WIN32A(ERROR_INSTALL_REMOTE_DISALLOWED) + CHK_ERR_WIN32A(ERROR_SUCCESS_REBOOT_INITIATED) + CHK_ERR_WIN32A(ERROR_PATCH_TARGET_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_PATCH_PACKAGE_REJECTED) + CHK_ERR_WIN32A(ERROR_INSTALL_TRANSFORM_REJECTED) +// CHK_ERR_WIN32A(ERROR_INSTALL_REMOTE_PROHIBITED) + CHK_ERR_WIN32A(RPC_S_ENTRY_TYPE_MISMATCH) + CHK_ERR_WIN32A(RPC_S_NOT_ALL_OBJS_EXPORTED) + CHK_ERR_WIN32A(RPC_S_INTERFACE_NOT_EXPORTED) + CHK_ERR_WIN32A(RPC_S_PROFILE_NOT_ADDED) + CHK_ERR_WIN32A(RPC_S_PRF_ELT_NOT_ADDED) + CHK_ERR_WIN32A(RPC_S_PRF_ELT_NOT_REMOVED) + CHK_ERR_WIN32A(RPC_S_GRP_ELT_NOT_ADDED) + CHK_ERR_WIN32A(RPC_S_GRP_ELT_NOT_REMOVED) + CHK_ERR_WIN32A(ERROR_KM_DRIVER_BLOCKED) + CHK_ERR_WIN32A(ERROR_CONTEXT_EXPIRED) +// CHK_ERR_WIN32A(ERROR_PER_USER_TRUST_QUOTA_EXCEEDED) +// CHK_ERR_WIN32A(ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED) +// CHK_ERR_WIN32A(ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED) + CHK_ERR_WIN32A(ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT) + CHK_ERR_WIN32A(ERROR_PRINTER_DRIVER_WARNED) + CHK_ERR_WIN32A(ERROR_PRINTER_DRIVER_BLOCKED) + CHK_ERR_WIN32A(ERROR_VOLUME_CONTAINS_SYS_FILES) + CHK_ERR_WIN32A(ERROR_INDIGENOUS_TYPE) + CHK_ERR_WIN32A(ERROR_NO_SUPPORTING_DRIVES) + CHK_ERR_WIN32A(ERROR_CLEANER_CARTRIDGE_INSTALLED) + CHK_ERR_WIN32A(ERROR_REPARSE_TAG_INVALID) + CHK_ERR_WIN32A(ERROR_REPARSE_TAG_MISMATCH) + CHK_ERR_WIN32A(ERROR_VOLUME_NOT_SIS_ENABLED) + CHK_ERR_WIN32A(ERROR_QUORUM_OWNER_ALIVE) + CHK_ERR_WIN32A(ERROR_NETWORK_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_NODE_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_ALL_NODES_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_RESOURCE_FAILED) + CHK_ERR_WIN32A(ERROR_CLUSTER_INVALID_NODE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_EXISTS) + CHK_ERR_WIN32A(ERROR_CLUSTER_JOIN_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_EXISTS) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETINTERFACE_EXISTS) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETINTERFACE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_INVALID_REQUEST) + CHK_ERR_WIN32A(ERROR_CLUSTER_INVALID_NETWORK_PROVIDER) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_DOWN) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_UNREACHABLE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_NOT_MEMBER) + CHK_ERR_WIN32A(ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_CLUSTER_INVALID_NETWORK) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_UP) + CHK_ERR_WIN32A(ERROR_CLUSTER_IPADDR_IN_USE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_NOT_PAUSED) + CHK_ERR_WIN32A(ERROR_CLUSTER_NO_SECURITY_CONTEXT) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_NOT_INTERNAL) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_ALREADY_UP) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_ALREADY_DOWN) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_ALREADY_ONLINE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_ALREADY_MEMBER) + CHK_ERR_WIN32A(ERROR_CLUSTER_LAST_INTERNAL_NETWORK) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS) + CHK_ERR_WIN32A(ERROR_INVALID_OPERATION_ON_QUORUM) + CHK_ERR_WIN32A(ERROR_DEPENDENCY_NOT_ALLOWED) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_PAUSED) + CHK_ERR_WIN32A(ERROR_NODE_CANT_HOST_RESOURCE) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_NOT_READY) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_SHUTTING_DOWN) + CHK_ERR_WIN32A(ERROR_CLUSTER_JOIN_ABORTED) + CHK_ERR_WIN32A(ERROR_CLUSTER_INCOMPATIBLE_VERSIONS) + CHK_ERR_WIN32A(ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED) + CHK_ERR_WIN32A(ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED) + CHK_ERR_WIN32A(ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED) + CHK_ERR_WIN32A(ERROR_CLUSTER_RESNAME_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED) + CHK_ERR_WIN32A(ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST) + CHK_ERR_WIN32A(ERROR_CLUSTER_DATABASE_SEQMISMATCH) + CHK_ERR_WIN32A(ERROR_RESMON_INVALID_STATE) + CHK_ERR_WIN32A(ERROR_CLUSTER_GUM_NOT_LOCKER) + CHK_ERR_WIN32A(ERROR_QUORUM_DISK_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_DATABASE_BACKUP_CORRUPT) + CHK_ERR_WIN32A(ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT) + CHK_ERR_WIN32A(ERROR_RESOURCE_PROPERTY_UNCHANGEABLE) + CHK_ERR_WIN32A(ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE) + CHK_ERR_WIN32A(ERROR_CLUSTER_QUORUMLOG_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_CLUSTER_MEMBERSHIP_HALT) + CHK_ERR_WIN32A(ERROR_CLUSTER_INSTANCE_ID_MISMATCH) + CHK_ERR_WIN32A(ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP) + CHK_ERR_WIN32A(ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH) + CHK_ERR_WIN32A(ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP) + CHK_ERR_WIN32A(ERROR_CLUSTER_PARAMETER_MISMATCH) + CHK_ERR_WIN32A(ERROR_NODE_CANNOT_BE_CLUSTERED) + CHK_ERR_WIN32A(ERROR_CLUSTER_WRONG_OS_VERSION) + CHK_ERR_WIN32A(ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME) +// CHK_ERR_WIN32A(ERROR_CLUSCFG_ALREADY_COMMITTED) +// CHK_ERR_WIN32A(ERROR_CLUSCFG_ROLLBACK_FAILED) +// CHK_ERR_WIN32A(ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT) +// CHK_ERR_WIN32A(ERROR_CLUSTER_OLD_VERSION) +// CHK_ERR_WIN32A(ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME) + CHK_ERR_WIN32A(ERROR_FILE_READ_ONLY) + CHK_ERR_WIN32A(ERROR_DIR_EFS_DISALLOWED) + CHK_ERR_WIN32A(ERROR_EFS_SERVER_NOT_TRUSTED) + CHK_ERR_WIN32A(ERROR_BAD_RECOVERY_POLICY) + CHK_ERR_WIN32A(ERROR_EFS_ALG_BLOB_TOO_BIG) + CHK_ERR_WIN32A(ERROR_VOLUME_NOT_SUPPORT_EFS) + CHK_ERR_WIN32A(ERROR_EFS_DISABLED) + CHK_ERR_WIN32A(ERROR_EFS_VERSION_NOT_SUPPORT) + CHK_ERR_WIN32A(SCHED_E_SERVICE_NOT_LOCALSYSTEM) + CHK_ERR_WIN32A(ERROR_CTX_CLIENT_LICENSE_IN_USE) + CHK_ERR_WIN32A(ERROR_CTX_CLIENT_LICENSE_NOT_SET) + CHK_ERR_WIN32A(ERROR_CTX_LICENSE_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_CTX_LICENSE_CLIENT_INVALID) + CHK_ERR_WIN32A(ERROR_CTX_LICENSE_EXPIRED) + CHK_ERR_WIN32A(ERROR_CTX_SHADOW_NOT_RUNNING) + CHK_ERR_WIN32A(ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE) +// CHK_ERR_WIN32A(ERROR_ACTIVATION_COUNT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_SORT_CONTROL_MISSING) + CHK_ERR_WIN32A(ERROR_DS_OFFSET_RANGE_ERROR) + CHK_ERR_WIN32A(ERROR_DS_OBJECT_BEING_REMOVED) + CHK_ERR_WIN32A(ERROR_DS_DS_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_INVALID_LDAP_DISPLAY_NAME) + CHK_ERR_WIN32A(ERROR_DS_NON_BASE_SEARCH) + CHK_ERR_WIN32A(ERROR_DS_CANT_RETRIEVE_ATTS) + CHK_ERR_WIN32A(ERROR_DS_BACKLINK_WITHOUT_LINK) + CHK_ERR_WIN32A(ERROR_DS_EPOCH_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_SRC_NAME_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_SRC_AND_DST_NC_IDENTICAL) + CHK_ERR_WIN32A(ERROR_DS_DST_NC_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC) + CHK_ERR_WIN32A(ERROR_DS_SRC_GUID_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOVE_DELETED_OBJECT) + CHK_ERR_WIN32A(ERROR_DS_PDC_OPERATION_IN_PROGRESS) + CHK_ERR_WIN32A(ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD) + CHK_ERR_WIN32A(ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION) + CHK_ERR_WIN32A(ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS) + CHK_ERR_WIN32A(ERROR_DS_NC_MUST_HAVE_NC_PARENT) + CHK_ERR_WIN32A(ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE) + CHK_ERR_WIN32A(ERROR_DS_DST_DOMAIN_NOT_NATIVE) + CHK_ERR_WIN32A(ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOVE_ACCOUNT_GROUP) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOVE_RESOURCE_GROUP) + CHK_ERR_WIN32A(ERROR_DS_INVALID_SEARCH_FLAG) + CHK_ERR_WIN32A(ERROR_DS_NO_TREE_DELETE_ABOVE_NC) + CHK_ERR_WIN32A(ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE) + CHK_ERR_WIN32A(ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE) + CHK_ERR_WIN32A(ERROR_DS_SAM_INIT_FAILURE) + CHK_ERR_WIN32A(ERROR_DS_SENSITIVE_GROUP_VIOLATION) + CHK_ERR_WIN32A(ERROR_DS_CANT_MOD_PRIMARYGROUPID) + CHK_ERR_WIN32A(ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD) + CHK_ERR_WIN32A(ERROR_DS_NONSAFE_SCHEMA_CHANGE) + CHK_ERR_WIN32A(ERROR_DS_SCHEMA_UPDATE_DISALLOWED) + CHK_ERR_WIN32A(ERROR_DS_CANT_CREATE_UNDER_SCHEMA) + CHK_ERR_WIN32A(ERROR_DS_INSTALL_NO_SRC_SCH_VERSION) + CHK_ERR_WIN32A(ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE) + CHK_ERR_WIN32A(ERROR_DS_INVALID_GROUP_TYPE) + CHK_ERR_WIN32A(ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN) + CHK_ERR_WIN32A(ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN) + CHK_ERR_WIN32A(ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_HAVE_PRIMARY_MEMBERS) + CHK_ERR_WIN32A(ERROR_DS_STRING_SD_CONVERSION_FAILED) + CHK_ERR_WIN32A(ERROR_DS_NAMING_MASTER_GC) + CHK_ERR_WIN32A(ERROR_DS_DNS_LOOKUP_FAILURE) + CHK_ERR_WIN32A(ERROR_DS_COULDNT_UPDATE_SPNS) + CHK_ERR_WIN32A(ERROR_DS_CANT_RETRIEVE_SD) + CHK_ERR_WIN32A(ERROR_DS_KEY_NOT_UNIQUE) + CHK_ERR_WIN32A(ERROR_DS_WRONG_LINKED_ATT_SYNTAX) + CHK_ERR_WIN32A(ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD) + CHK_ERR_WIN32A(ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY) + CHK_ERR_WIN32A(ERROR_DS_CANT_START) + CHK_ERR_WIN32A(ERROR_DS_INIT_FAILURE) + CHK_ERR_WIN32A(ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION) + CHK_ERR_WIN32A(ERROR_DS_SOURCE_DOMAIN_IN_FOREST) + CHK_ERR_WIN32A(ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST) + CHK_ERR_WIN32A(ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED) + CHK_ERR_WIN32A(ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN) + CHK_ERR_WIN32A(ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER) + CHK_ERR_WIN32A(ERROR_DS_SRC_SID_EXISTS_IN_FOREST) + CHK_ERR_WIN32A(ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH) + CHK_ERR_WIN32A(ERROR_SAM_INIT_FAILURE) + CHK_ERR_WIN32A(ERROR_DS_DRA_SCHEMA_INFO_SHIP) + CHK_ERR_WIN32A(ERROR_DS_DRA_SCHEMA_CONFLICT) + CHK_ERR_WIN32A(ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT) + CHK_ERR_WIN32A(ERROR_DS_DRA_OBJ_NC_MISMATCH) + CHK_ERR_WIN32A(ERROR_DS_NC_STILL_HAS_DSAS) + CHK_ERR_WIN32A(ERROR_DS_GC_REQUIRED) + CHK_ERR_WIN32A(ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY) + CHK_ERR_WIN32A(ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS) + CHK_ERR_WIN32A(ERROR_DS_CANT_ADD_TO_GC) + CHK_ERR_WIN32A(ERROR_DS_NO_CHECKPOINT_WITH_PDC) + CHK_ERR_WIN32A(ERROR_DS_SOURCE_AUDITING_NOT_ENABLED) + CHK_ERR_WIN32A(ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC) + CHK_ERR_WIN32A(ERROR_DS_INVALID_NAME_FOR_SPN) + CHK_ERR_WIN32A(ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS) + CHK_ERR_WIN32A(ERROR_DS_UNICODEPWD_NOT_IN_QUOTES) + CHK_ERR_WIN32A(ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_MUST_BE_RUN_ON_DST_DC) + CHK_ERR_WIN32A(ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER) + CHK_ERR_WIN32A(ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ) + CHK_ERR_WIN32A(ERROR_DS_INIT_FAILURE_CONSOLE) + CHK_ERR_WIN32A(ERROR_DS_SAM_INIT_FAILURE_CONSOLE) + CHK_ERR_WIN32A(ERROR_DS_FOREST_VERSION_TOO_HIGH) + CHK_ERR_WIN32A(ERROR_DS_DOMAIN_VERSION_TOO_HIGH) + CHK_ERR_WIN32A(ERROR_DS_FOREST_VERSION_TOO_LOW) + CHK_ERR_WIN32A(ERROR_DS_DOMAIN_VERSION_TOO_LOW) + CHK_ERR_WIN32A(ERROR_DS_INCOMPATIBLE_VERSION) + CHK_ERR_WIN32A(ERROR_DS_LOW_DSA_VERSION) + CHK_ERR_WIN32A(ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN) + CHK_ERR_WIN32A(ERROR_DS_NOT_SUPPORTED_SORT_ORDER) + CHK_ERR_WIN32A(ERROR_DS_NAME_NOT_UNIQUE) + CHK_ERR_WIN32A(ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4) + CHK_ERR_WIN32A(ERROR_DS_OUT_OF_VERSION_STORE) + CHK_ERR_WIN32A(ERROR_DS_INCOMPATIBLE_CONTROLS_USED) + CHK_ERR_WIN32A(ERROR_DS_NO_REF_DOMAIN) + CHK_ERR_WIN32A(ERROR_DS_RESERVED_LINK_ID) + CHK_ERR_WIN32A(ERROR_DS_LINK_ID_NOT_AVAILABLE) + CHK_ERR_WIN32A(ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER) + CHK_ERR_WIN32A(ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE) + CHK_ERR_WIN32A(ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC) + CHK_ERR_WIN32A(ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG) + CHK_ERR_WIN32A(ERROR_DS_MODIFYDN_WRONG_GRANDPARENT) + CHK_ERR_WIN32A(ERROR_DS_NAME_ERROR_TRUST_REFERRAL) + CHK_ERR_WIN32A(ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER) + CHK_ERR_WIN32A(ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD) + CHK_ERR_WIN32A(ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2) + CHK_ERR_WIN32A(ERROR_DS_THREAD_LIMIT_EXCEEDED) + CHK_ERR_WIN32A(ERROR_DS_NOT_CLOSEST) + CHK_ERR_WIN32A(ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF) + CHK_ERR_WIN32A(ERROR_DS_SINGLE_USER_MODE_FAILED) + CHK_ERR_WIN32A(ERROR_DS_NTDSCRIPT_SYNTAX_ERROR) + CHK_ERR_WIN32A(ERROR_DS_NTDSCRIPT_PROCESS_ERROR) + CHK_ERR_WIN32A(ERROR_DS_DIFFERENT_REPL_EPOCHS) + CHK_ERR_WIN32A(ERROR_DS_DRS_EXTENSIONS_CHANGED) + CHK_ERR_WIN32A(ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR) + CHK_ERR_WIN32A(ERROR_DS_NO_MSDS_INTID) + CHK_ERR_WIN32A(ERROR_DS_DUP_MSDS_INTID) + CHK_ERR_WIN32A(ERROR_DS_EXISTS_IN_RDNATTID) + CHK_ERR_WIN32A(ERROR_DS_AUTHORIZATION_FAILED) + CHK_ERR_WIN32A(ERROR_DS_INVALID_SCRIPT) + CHK_ERR_WIN32A(ERROR_DS_REMOTE_CROSSREF_OP_FAILED) +// CHK_ERR_WIN32A(ERROR_DS_CROSS_REF_BUSY) +// CHK_ERR_WIN32A(ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN) +// CHK_ERR_WIN32A(ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC) +// CHK_ERR_WIN32A(ERROR_DS_DUPLICATE_ID_FOUND) +// CHK_ERR_WIN32A(ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT) +// CHK_ERR_WIN32A(ERROR_DS_GROUP_CONVERSION_ERROR) +// CHK_ERR_WIN32A(ERROR_DS_CANT_MOVE_APP_BASIC_GROUP) +// CHK_ERR_WIN32A(ERROR_DS_CANT_MOVE_APP_QUERY_GROUP) +// CHK_ERR_WIN32A(ERROR_DS_ROLE_NOT_VERIFIED) +// CHK_ERR_WIN32A(ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL) +// CHK_ERR_WIN32A(ERROR_DS_DOMAIN_RENAME_IN_PROGRESS) +// CHK_ERR_WIN32A(ERROR_DS_EXISTING_AD_CHILD_NC) +// CHK_ERR_WIN32A(DNS_ERROR_INVALID_NAME_CHAR) +// CHK_ERR_WIN32A(DNS_ERROR_NUMERIC_NAME) +// CHK_ERR_WIN32A(DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER) +// CHK_ERR_WIN32A(DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION) +// CHK_ERR_WIN32A(DNS_ERROR_CANNOT_FIND_ROOT_HINTS) +// CHK_ERR_WIN32A(DNS_ERROR_INCONSISTENT_ROOT_HINTS) + CHK_ERR_WIN32A(DNS_ERROR_FORWARDER_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_REQUIRES_MASTER_IP) + CHK_ERR_WIN32A(DNS_ERROR_ZONE_IS_SHUTDOWN) + CHK_ERR_WIN32A(DNS_ERROR_DP_BASE) + CHK_ERR_WIN32A(DNS_ERROR_DP_DOES_NOT_EXIST) + CHK_ERR_WIN32A(DNS_ERROR_DP_ALREADY_EXISTS) + CHK_ERR_WIN32A(DNS_ERROR_DP_NOT_ENLISTED) + CHK_ERR_WIN32A(DNS_ERROR_DP_ALREADY_ENLISTED) +// CHK_ERR_WIN32A(DNS_ERROR_DP_NOT_AVAILABLE) + CHK_ERR_WIN32A(WSA_QOS_ESERVICETYPE) + CHK_ERR_WIN32A(WSA_QOS_EFLOWSPEC) + CHK_ERR_WIN32A(WSA_QOS_EPROVSPECBUF) + CHK_ERR_WIN32A(WSA_QOS_EFILTERSTYLE) + CHK_ERR_WIN32A(WSA_QOS_EFILTERTYPE) + CHK_ERR_WIN32A(WSA_QOS_EFILTERCOUNT) + CHK_ERR_WIN32A(WSA_QOS_EOBJLENGTH) + CHK_ERR_WIN32A(WSA_QOS_EFLOWCOUNT) + CHK_ERR_WIN32A(WSA_QOS_EUNKOWNPSOBJ) + CHK_ERR_WIN32A(WSA_QOS_EPOLICYOBJ) + CHK_ERR_WIN32A(WSA_QOS_EFLOWDESC) + CHK_ERR_WIN32A(WSA_QOS_EPSFLOWSPEC) + CHK_ERR_WIN32A(WSA_QOS_EPSFILTERSPEC) + CHK_ERR_WIN32A(WSA_QOS_ESDMODEOBJ) + CHK_ERR_WIN32A(WSA_QOS_ESHAPERATEOBJ) + CHK_ERR_WIN32A(WSA_QOS_RESERVED_PETYPE) + CHK_ERR_WIN32A(ERROR_SXS_SECTION_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_SXS_CANT_GEN_ACTCTX) + CHK_ERR_WIN32A(ERROR_SXS_INVALID_ACTCTXDATA_FORMAT) + CHK_ERR_WIN32A(ERROR_SXS_ASSEMBLY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_SXS_MANIFEST_FORMAT_ERROR) + CHK_ERR_WIN32A(ERROR_SXS_MANIFEST_PARSE_ERROR) + CHK_ERR_WIN32A(ERROR_SXS_ACTIVATION_CONTEXT_DISABLED) + CHK_ERR_WIN32A(ERROR_SXS_KEY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_SXS_VERSION_CONFLICT) + CHK_ERR_WIN32A(ERROR_SXS_WRONG_SECTION_TYPE) + CHK_ERR_WIN32A(ERROR_SXS_THREAD_QUERIES_DISABLED) + CHK_ERR_WIN32A(ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET) + CHK_ERR_WIN32A(ERROR_SXS_UNKNOWN_ENCODING_GROUP) + CHK_ERR_WIN32A(ERROR_SXS_UNKNOWN_ENCODING) + CHK_ERR_WIN32A(ERROR_SXS_INVALID_XML_NAMESPACE_URI) + CHK_ERR_WIN32A(ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED) + CHK_ERR_WIN32A(ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED) + CHK_ERR_WIN32A(ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE) + CHK_ERR_WIN32A(ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE) + CHK_ERR_WIN32A(ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE) + CHK_ERR_WIN32A(ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_DLL_NAME) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_CLSID) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_IID) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_TLBID) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_PROGID) + CHK_ERR_WIN32A(ERROR_SXS_DUPLICATE_ASSEMBLY_NAME) + CHK_ERR_WIN32A(ERROR_SXS_FILE_HASH_MISMATCH) + CHK_ERR_WIN32A(ERROR_SXS_POLICY_PARSE_ERROR) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSINGQUOTE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_COMMENTSYNTAX) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADSTARTNAMECHAR) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADNAMECHAR) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADCHARINSTRING) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_XMLDECLSYNTAX) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADCHARDATA) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSINGWHITESPACE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_EXPECTINGTAGEND) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSINGSEMICOLON) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNBALANCEDPAREN) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INTERNALERROR) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INCOMPLETE_ENCODING) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSING_PAREN) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MULTIPLE_COLONS) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALID_DECIMAL) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALID_HEXIDECIMAL) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALID_UNICODE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNEXPECTEDENDTAG) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDTAG) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_DUPLICATEATTRIBUTE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MULTIPLEROOTS) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALIDATROOTLEVEL) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADXMLDECL) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSINGROOT) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNEXPECTEDEOF) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADPEREFINSUBSET) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDSTARTTAG) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDENDTAG) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDSTRING) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDCOMMENT) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDDECL) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNCLOSEDCDATA) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_RESERVEDNAMESPACE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALIDENCODING) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALIDSWITCH) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_BADXMLCASE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALID_STANDALONE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_UNEXPECTED_STANDALONE) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_INVALID_VERSION) + CHK_ERR_WIN32A(ERROR_SXS_XML_E_MISSINGEQUALS) + CHK_ERR_WIN32A(ERROR_SXS_PROTECTION_RECOVERY_FAILED) + CHK_ERR_WIN32A(ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT) + CHK_ERR_WIN32A(ERROR_SXS_PROTECTION_CATALOG_NOT_VALID) + CHK_ERR_WIN32A(ERROR_SXS_UNTRANSLATABLE_HRESULT) + CHK_ERR_WIN32A(ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING) + CHK_ERR_WIN32A(ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE) + CHK_ERR_WIN32A(ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME) + CHK_ERR_WIN32A(ERROR_IPSEC_QM_POLICY_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_QM_POLICY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_QM_POLICY_IN_USE) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_POLICY_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_POLICY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_POLICY_IN_USE) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_FILTER_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_FILTER_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_TRANSPORT_FILTER_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_AUTH_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_AUTH_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_AUTH_IN_USE) + CHK_ERR_WIN32A(ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_TUNNEL_FILTER_EXISTS) + CHK_ERR_WIN32A(ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_FILTER_PENDING_DELETION) + CHK_ERR_WIN32A(ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION) + CHK_ERR_WIN32A(ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_POLICY_PENDING_DELETION) + CHK_ERR_WIN32A(ERROR_IPSEC_MM_AUTH_PENDING_DELETION) + CHK_ERR_WIN32A(ERROR_IPSEC_QM_POLICY_PENDING_DELETION) +// CHK_ERR_WIN32A(WARNING_IPSEC_MM_POLICY_PRUNED) +// CHK_ERR_WIN32A(WARNING_IPSEC_QM_POLICY_PRUNED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NEG_STATUS_BEGIN) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_AUTH_FAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_ATTRIB_FAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NEGOTIATION_PENDING) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_TIMED_OUT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_CERT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SA_DELETED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SA_REAPED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_MM_ACQUIRE_DROP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_QM_ACQUIRE_DROP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_QUEUE_DROP_MM) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_DROP_NO_RESPONSE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_MM_DELAY_DROP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_QM_DELAY_DROP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_ERROR) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_CRL_FAILED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_KEY_USAGE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_CERT_TYPE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_PRIVATE_KEY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_DH_FAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_HEADER) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_POLICY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_SIGNATURE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_KERBEROS_ERROR) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_PUBLIC_KEY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_SA) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_PROP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_TRANS) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_KE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_ID) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_CERT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_HASH) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_SIG) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_NONCE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_DELETE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_PAYLOAD) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_LOAD_SOFT_SA) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_COOKIE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_PEER_CERT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_PEER_CRL_FAILED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_POLICY_CHANGE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NO_MM_POLICY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NOTCBPRIV) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SECLOADFAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_FAILSSPINIT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_FAILQUERYSSP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SRVACQFAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_SRVQUERYCRED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_GETSPIFAIL) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_FILTER) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_OUT_OF_MEMORY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_POLICY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_UNKNOWN_DOI) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_SITUATION) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_DH_FAILURE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_GROUP) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_ENCRYPT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_DECRYPT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_POLICY_MATCH) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_UNSUPPORTED_ID) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_HASH) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_HASH_ALG) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_HASH_SIZE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_AUTH_ALG) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_SIG) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_LOAD_FAILED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_RPC_DELETE) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_BENIGN_REINIT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_MM_LIMIT) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NEGOTIATION_DISABLED) + CHK_ERR_WIN32A(ERROR_IPSEC_IKE_NEG_STATUS_END) + +// ------------------------------------------------------------- +// ddraw.h error codes +// ------------------------------------------------------------- + CHK_ERRA(DDERR_ALREADYINITIALIZED) + CHK_ERRA(DDERR_CANNOTATTACHSURFACE) + CHK_ERRA(DDERR_CANNOTDETACHSURFACE) + CHK_ERRA(DDERR_CURRENTLYNOTAVAIL) + CHK_ERRA(DDERR_EXCEPTION) +// CHK_ERRA(DDERR_GENERIC) + CHK_ERRA(DDERR_HEIGHTALIGN) + CHK_ERRA(DDERR_INCOMPATIBLEPRIMARY) + CHK_ERRA(DDERR_INVALIDCAPS) + CHK_ERRA(DDERR_INVALIDCLIPLIST) + CHK_ERRA(DDERR_INVALIDMODE) + CHK_ERRA(DDERR_INVALIDOBJECT) +// CHK_ERRA(DDERR_INVALIDPARAMS) + CHK_ERRA(DDERR_INVALIDPIXELFORMAT) + CHK_ERRA(DDERR_INVALIDRECT) + CHK_ERRA(DDERR_LOCKEDSURFACES) + CHK_ERRA(DDERR_NO3D) + CHK_ERRA(DDERR_NOALPHAHW) + CHK_ERRA(DDERR_NOSTEREOHARDWARE) + CHK_ERRA(DDERR_NOSURFACELEFT) + CHK_ERRA(DDERR_NOCLIPLIST) + CHK_ERRA(DDERR_NOCOLORCONVHW) + CHK_ERRA(DDERR_NOCOOPERATIVELEVELSET) + CHK_ERRA(DDERR_NOCOLORKEY) + CHK_ERRA(DDERR_NOCOLORKEYHW) + CHK_ERRA(DDERR_NODIRECTDRAWSUPPORT) + CHK_ERRA(DDERR_NOEXCLUSIVEMODE) + CHK_ERRA(DDERR_NOFLIPHW) + CHK_ERRA(DDERR_NOGDI) + CHK_ERRA(DDERR_NOMIRRORHW) + CHK_ERRA(DDERR_NOTFOUND) + CHK_ERRA(DDERR_NOOVERLAYHW) + CHK_ERRA(DDERR_OVERLAPPINGRECTS) + CHK_ERRA(DDERR_NORASTEROPHW) + CHK_ERRA(DDERR_NOROTATIONHW) + CHK_ERRA(DDERR_NOSTRETCHHW) + CHK_ERRA(DDERR_NOT4BITCOLOR) + CHK_ERRA(DDERR_NOT4BITCOLORINDEX) + CHK_ERRA(DDERR_NOT8BITCOLOR) + CHK_ERRA(DDERR_NOTEXTUREHW) + CHK_ERRA(DDERR_NOVSYNCHW) + CHK_ERRA(DDERR_NOZBUFFERHW) + CHK_ERRA(DDERR_NOZOVERLAYHW) + CHK_ERRA(DDERR_OUTOFCAPS) +// CHK_ERRA(DDERR_OUTOFMEMORY) +// CHK_ERRA(DDERR_OUTOFVIDEOMEMORY) + CHK_ERRA(DDERR_OVERLAYCANTCLIP) + CHK_ERRA(DDERR_OVERLAYCOLORKEYONLYONEACTIVE) + CHK_ERRA(DDERR_PALETTEBUSY) + CHK_ERRA(DDERR_COLORKEYNOTSET) + CHK_ERRA(DDERR_SURFACEALREADYATTACHED) + CHK_ERRA(DDERR_SURFACEALREADYDEPENDENT) + CHK_ERRA(DDERR_SURFACEBUSY) + CHK_ERRA(DDERR_CANTLOCKSURFACE) + CHK_ERRA(DDERR_SURFACEISOBSCURED) + CHK_ERRA(DDERR_SURFACELOST) + CHK_ERRA(DDERR_SURFACENOTATTACHED) + CHK_ERRA(DDERR_TOOBIGHEIGHT) + CHK_ERRA(DDERR_TOOBIGSIZE) + CHK_ERRA(DDERR_TOOBIGWIDTH) +// CHK_ERRA(DDERR_UNSUPPORTED) + CHK_ERRA(DDERR_UNSUPPORTEDFORMAT) + CHK_ERRA(DDERR_UNSUPPORTEDMASK) + CHK_ERRA(DDERR_INVALIDSTREAM) + CHK_ERRA(DDERR_VERTICALBLANKINPROGRESS) + CHK_ERRA(DDERR_WASSTILLDRAWING) + CHK_ERRA(DDERR_DDSCAPSCOMPLEXREQUIRED) + CHK_ERRA(DDERR_XALIGN) + CHK_ERRA(DDERR_INVALIDDIRECTDRAWGUID) + CHK_ERRA(DDERR_DIRECTDRAWALREADYCREATED) + CHK_ERRA(DDERR_NODIRECTDRAWHW) + CHK_ERRA(DDERR_PRIMARYSURFACEALREADYEXISTS) + CHK_ERRA(DDERR_NOEMULATION) + CHK_ERRA(DDERR_REGIONTOOSMALL) + CHK_ERRA(DDERR_CLIPPERISUSINGHWND) + CHK_ERRA(DDERR_NOCLIPPERATTACHED) + CHK_ERRA(DDERR_NOHWND) + CHK_ERRA(DDERR_HWNDSUBCLASSED) + CHK_ERRA(DDERR_HWNDALREADYSET) + CHK_ERRA(DDERR_NOPALETTEATTACHED) + CHK_ERRA(DDERR_NOPALETTEHW) + CHK_ERRA(DDERR_BLTFASTCANTCLIP) + CHK_ERRA(DDERR_NOBLTHW) + CHK_ERRA(DDERR_NODDROPSHW) + CHK_ERRA(DDERR_OVERLAYNOTVISIBLE) + CHK_ERRA(DDERR_NOOVERLAYDEST) + CHK_ERRA(DDERR_INVALIDPOSITION) + CHK_ERRA(DDERR_NOTAOVERLAYSURFACE) + CHK_ERRA(DDERR_EXCLUSIVEMODEALREADYSET) + CHK_ERRA(DDERR_NOTFLIPPABLE) + CHK_ERRA(DDERR_CANTDUPLICATE) + CHK_ERRA(DDERR_NOTLOCKED) + CHK_ERRA(DDERR_CANTCREATEDC) + CHK_ERRA(DDERR_NODC) + CHK_ERRA(DDERR_WRONGMODE) + CHK_ERRA(DDERR_IMPLICITLYCREATED) + CHK_ERRA(DDERR_NOTPALETTIZED) + CHK_ERRA(DDERR_UNSUPPORTEDMODE) + CHK_ERRA(DDERR_NOMIPMAPHW) + CHK_ERRA(DDERR_INVALIDSURFACETYPE) + CHK_ERRA(DDERR_NOOPTIMIZEHW) + CHK_ERRA(DDERR_NOTLOADED) + CHK_ERRA(DDERR_NOFOCUSWINDOW) + CHK_ERRA(DDERR_NOTONMIPMAPSUBLEVEL) + CHK_ERRA(DDERR_DCALREADYCREATED) + CHK_ERRA(DDERR_NONONLOCALVIDMEM) + CHK_ERRA(DDERR_CANTPAGELOCK) + CHK_ERRA(DDERR_CANTPAGEUNLOCK) + CHK_ERRA(DDERR_NOTPAGELOCKED) + CHK_ERRA(DDERR_MOREDATA) + CHK_ERRA(DDERR_EXPIRED) + CHK_ERRA(DDERR_TESTFINISHED) + CHK_ERRA(DDERR_NEWMODE) + CHK_ERRA(DDERR_D3DNOTINITIALIZED) + CHK_ERRA(DDERR_VIDEONOTACTIVE) + CHK_ERRA(DDERR_NOMONITORINFORMATION) + CHK_ERRA(DDERR_NODRIVERSUPPORT) + CHK_ERRA(DDERR_DEVICEDOESNTOWNSURFACE) + +// ------------------------------------------------------------- +// d3d10.h error codes +// ------------------------------------------------------------- + CHK_ERRA(D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS) + CHK_ERRA(D3D10_ERROR_FILE_NOT_FOUND) + +// ------------------------------------------------------------- +// dxgi.h error codes +// ------------------------------------------------------------- + CHK_ERRA(DXGI_STATUS_OCCLUDED) + CHK_ERRA(DXGI_STATUS_CLIPPED) + CHK_ERRA(DXGI_STATUS_NO_REDIRECTION) + CHK_ERRA(DXGI_STATUS_NO_DESKTOP_ACCESS) + CHK_ERRA(DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE) + CHK_ERRA(DXGI_STATUS_MODE_CHANGED) + CHK_ERRA(DXGI_STATUS_MODE_CHANGE_IN_PROGRESS) + CHK_ERRA(DXGI_ERROR_INVALID_CALL) + CHK_ERRA(DXGI_ERROR_NOT_FOUND) + CHK_ERRA(DXGI_ERROR_MORE_DATA) + CHK_ERRA(DXGI_ERROR_UNSUPPORTED) + CHK_ERRA(DXGI_ERROR_DEVICE_REMOVED) + CHK_ERRA(DXGI_ERROR_DEVICE_HUNG) + CHK_ERRA(DXGI_ERROR_DEVICE_RESET) + CHK_ERRA(DXGI_ERROR_WAS_STILL_DRAWING) + CHK_ERRA(DXGI_ERROR_FRAME_STATISTICS_DISJOINT) + CHK_ERRA(DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE) + CHK_ERRA(DXGI_ERROR_DRIVER_INTERNAL_ERROR) + CHK_ERRA(DXGI_ERROR_NONEXCLUSIVE) + CHK_ERRA(DXGI_ERROR_NOT_CURRENTLY_AVAILABLE) + CHK_ERRA(DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED) + CHK_ERRA(DXGI_ERROR_REMOTE_OUTOFMEMORY) + +// ------------------------------------------------------------- +// d3d11.h error codes +// ------------------------------------------------------------- + CHK_ERRA(D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS) + CHK_ERRA(D3D11_ERROR_FILE_NOT_FOUND) + CHK_ERRA(D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS) + CHK_ERRA(D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD) + +// ------------------------------------------------------------- +// Direct2D error codes +// ------------------------------------------------------------- + CHK_ERRA(D2DERR_UNSUPPORTED_PIXEL_FORMAT) +// CHK_ERRA(D2DERR_INSUFFICIENT_BUFFER) + CHK_ERRA(D2DERR_WRONG_STATE) + CHK_ERRA(D2DERR_NOT_INITIALIZED) + CHK_ERRA(D2DERR_UNSUPPORTED_OPERATION) + CHK_ERRA(D2DERR_SCANNER_FAILED) + CHK_ERRA(D2DERR_SCREEN_ACCESS_DENIED) + CHK_ERRA(D2DERR_DISPLAY_STATE_INVALID) + CHK_ERRA(D2DERR_ZERO_VECTOR) + CHK_ERRA(D2DERR_INTERNAL_ERROR) + CHK_ERRA(D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED) + CHK_ERRA(D2DERR_INVALID_CALL) + CHK_ERRA(D2DERR_NO_HARDWARE_DEVICE) + CHK_ERRA(D2DERR_RECREATE_TARGET) + CHK_ERRA(D2DERR_TOO_MANY_SHADER_ELEMENTS) + CHK_ERRA(D2DERR_SHADER_COMPILE_FAILED) + CHK_ERRA(D2DERR_MAX_TEXTURE_SIZE_EXCEEDED) + CHK_ERRA(D2DERR_UNSUPPORTED_VERSION) + CHK_ERRA(D2DERR_BAD_NUMBER) + CHK_ERRA(D2DERR_WRONG_FACTORY) + CHK_ERRA(D2DERR_LAYER_ALREADY_IN_USE) + CHK_ERRA(D2DERR_POP_CALL_DID_NOT_MATCH_PUSH) +// CHK_ERRA(D2DERR_WRONG_RESOURCE_DOMAIN) + CHK_ERRA(D2DERR_PUSH_POP_UNBALANCED) + CHK_ERRA(D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT) + CHK_ERRA(D2DERR_INCOMPATIBLE_BRUSH_TYPES) + CHK_ERRA(D2DERR_WIN32_ERROR) + CHK_ERRA(D2DERR_TARGET_NOT_GDI_COMPATIBLE) + CHK_ERRA(D2DERR_TEXT_EFFECT_IS_WRONG_TYPE) + CHK_ERRA(D2DERR_TEXT_RENDERER_NOT_RELEASED) +// CHK_ERRA(D2DERR_EXCEEDS_MAX_BITMAP_SIZE) + +// ------------------------------------------------------------- +// DirectWrite error codes +// ------------------------------------------------------------- + CHK_ERRA(DWRITE_E_FILEFORMAT) + CHK_ERRA(DWRITE_E_UNEXPECTED) + CHK_ERRA(DWRITE_E_NOFONT) + CHK_ERRA(DWRITE_E_FILENOTFOUND) + CHK_ERRA(DWRITE_E_FILEACCESS) + CHK_ERRA(DWRITE_E_FONTCOLLECTIONOBSOLETE) + CHK_ERRA(DWRITE_E_ALREADYREGISTERED) + +// ------------------------------------------------------------- +// WIC error codes +// ------------------------------------------------------------- + CHK_ERRA(WINCODEC_ERR_WRONGSTATE) + CHK_ERRA(WINCODEC_ERR_VALUEOUTOFRANGE) + CHK_ERRA(WINCODEC_ERR_UNKNOWNIMAGEFORMAT) + CHK_ERRA(WINCODEC_ERR_UNSUPPORTEDVERSION) + CHK_ERRA(WINCODEC_ERR_NOTINITIALIZED) + CHK_ERRA(WINCODEC_ERR_ALREADYLOCKED) + CHK_ERRA(WINCODEC_ERR_PROPERTYNOTFOUND) + CHK_ERRA(WINCODEC_ERR_PROPERTYNOTSUPPORTED) + CHK_ERRA(WINCODEC_ERR_PROPERTYSIZE) + CHK_ERRA(WINCODEC_ERR_CODECPRESENT) + CHK_ERRA(WINCODEC_ERR_CODECNOTHUMBNAIL) + CHK_ERRA(WINCODEC_ERR_PALETTEUNAVAILABLE) + CHK_ERRA(WINCODEC_ERR_CODECTOOMANYSCANLINES) + CHK_ERRA(WINCODEC_ERR_INTERNALERROR) + CHK_ERRA(WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS) + CHK_ERRA(WINCODEC_ERR_COMPONENTNOTFOUND) + CHK_ERRA(WINCODEC_ERR_IMAGESIZEOUTOFRANGE) + CHK_ERRA(WINCODEC_ERR_TOOMUCHMETADATA) + CHK_ERRA(WINCODEC_ERR_BADIMAGE) + CHK_ERRA(WINCODEC_ERR_BADHEADER) + CHK_ERRA(WINCODEC_ERR_FRAMEMISSING) + CHK_ERRA(WINCODEC_ERR_BADMETADATAHEADER) + CHK_ERRA(WINCODEC_ERR_BADSTREAMDATA) + CHK_ERRA(WINCODEC_ERR_STREAMWRITE) + CHK_ERRA(WINCODEC_ERR_STREAMREAD) + CHK_ERRA(WINCODEC_ERR_STREAMNOTAVAILABLE) +// CHK_ERRA(WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT) + CHK_ERRA(WINCODEC_ERR_UNSUPPORTEDOPERATION) + CHK_ERRA(WINCODEC_ERR_INVALIDREGISTRATION) + CHK_ERRA(WINCODEC_ERR_COMPONENTINITIALIZEFAILURE) + CHK_ERRA(WINCODEC_ERR_INSUFFICIENTBUFFER) + CHK_ERRA(WINCODEC_ERR_DUPLICATEMETADATAPRESENT) + CHK_ERRA(WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE) + CHK_ERRA(WINCODEC_ERR_UNEXPECTEDSIZE) + CHK_ERRA(WINCODEC_ERR_INVALIDQUERYREQUEST) + CHK_ERRA(WINCODEC_ERR_UNEXPECTEDMETADATATYPE) + CHK_ERRA(WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT) + CHK_ERRA(WINCODEC_ERR_INVALIDQUERYCHARACTER) + CHK_ERRA(WINCODEC_ERR_WIN32ERROR) + CHK_ERRA(WINCODEC_ERR_INVALIDPROGRESSIVELEVEL) + +// ------------------------------------------------------------- +// DXUT error codes +// ------------------------------------------------------------- + CHK_ERRA(DXUTERR_NODIRECT3D) + CHK_ERRA(DXUTERR_NOCOMPATIBLEDEVICES) + CHK_ERRA(DXUTERR_MEDIANOTFOUND) + CHK_ERRA(DXUTERR_NONZEROREFCOUNT) + CHK_ERRA(DXUTERR_CREATINGDEVICE) + CHK_ERRA(DXUTERR_RESETTINGDEVICE) + CHK_ERRA(DXUTERR_CREATINGDEVICEOBJECTS) + CHK_ERRA(DXUTERR_RESETTINGDEVICEOBJECTS) + CHK_ERRA(DXUTERR_INCORRECTVERSION) + CHK_ERRA(DXUTERR_DEVICEREMOVED) + +// ------------------------------------------------------------- +// xaudio2.h error codes +// ------------------------------------------------------------- + CHK_ERRA(XAUDIO2_E_INVALID_CALL) + CHK_ERRA(XAUDIO2_E_XMA_DECODER_ERROR) + CHK_ERRA(XAUDIO2_E_XAPO_CREATION_FAILED) + CHK_ERRA(XAUDIO2_E_DEVICE_INVALIDATED) + +// ------------------------------------------------------------- +// xapo.h error codes +// ------------------------------------------------------------- + CHK_ERRA(XAPO_E_FORMAT_UNSUPPORTED) + + default: return L"Unknown error."; + } +} + +//-------------------------------------------------------------------------------------- +#undef CHK_ERR +#undef CHK_ERRA +#undef HRESULT_FROM_WIN32b +#undef CHK_ERR_WIN32A +#undef CHK_ERR_WIN32_ONLY + +#define CHK_ERRA(hrchk) \ + case hrchk: \ + wcscpy_s( desc, count, L#hrchk ); break; + +#define CHK_ERR(hrchk, strOut) \ + case hrchk: \ + wcscpy_s( desc, count, L##strOut ); break; + + +//-------------------------------------------------------------------------------------- +void WINAPI DXGetErrorDescriptionW( _In_ HRESULT hr, _Out_cap_(count) WCHAR* desc, _In_ size_t count ) +{ + if ( !count ) + return; + + *desc = 0; + + // First try to see if FormatMessage knows this hr + LPWSTR errorText = nullptr; + + DWORD result = FormatMessageW( FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ALLOCATE_BUFFER, nullptr, hr, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&errorText, 0, nullptr ); + + if (result > 0 && errorText) + { + wcscpy_s( desc, count, errorText ); + + if ( errorText ) + LocalFree( errorText ); + + return; + } + + switch (hr) + { +// Commmented out codes are actually alises for other codes + +// ------------------------------------------------------------- +// ddraw.h error codes +// ------------------------------------------------------------- + CHK_ERR(DDERR_ALREADYINITIALIZED, "This object is already initialized") + CHK_ERR(DDERR_CANNOTATTACHSURFACE, "This surface can not be attached to the requested surface.") + CHK_ERR(DDERR_CANNOTDETACHSURFACE, "This surface can not be detached from the requested surface.") + CHK_ERR(DDERR_CURRENTLYNOTAVAIL, "Support is currently not available.") + CHK_ERR(DDERR_EXCEPTION, "An exception was encountered while performing the requested operation") +// CHK_ERR(DDERR_GENERIC, "DDERR_GENERIC") + CHK_ERR(DDERR_HEIGHTALIGN, "Height of rectangle provided is not a multiple of reqd alignment") + CHK_ERR(DDERR_INCOMPATIBLEPRIMARY, "Unable to match primary surface creation request with existing primary surface.") + CHK_ERR(DDERR_INVALIDCAPS, "One or more of the caps bits passed to the callback are incorrect.") + CHK_ERR(DDERR_INVALIDCLIPLIST, "DirectDraw does not support provided Cliplist.") + CHK_ERR(DDERR_INVALIDMODE, "DirectDraw does not support the requested mode") + CHK_ERR(DDERR_INVALIDOBJECT, "DirectDraw received a pointer that was an invalid DIRECTDRAW object.") +// CHK_ERR(DDERR_INVALIDPARAMS, "DDERR_INVALIDPARAMS") + CHK_ERR(DDERR_INVALIDPIXELFORMAT, "pixel format was invalid as specified") + CHK_ERR(DDERR_INVALIDRECT, "Rectangle provided was invalid.") + CHK_ERR(DDERR_LOCKEDSURFACES, "Operation could not be carried out because one or more surfaces are locked") + CHK_ERR(DDERR_NO3D, "There is no 3D present.") + CHK_ERR(DDERR_NOALPHAHW, "Operation could not be carried out because there is no alpha accleration hardware present or available.") + CHK_ERR(DDERR_NOSTEREOHARDWARE, "Operation could not be carried out because there is no stereo hardware present or available.") + CHK_ERR(DDERR_NOSURFACELEFT, "Operation could not be carried out because there is no hardware present which supports stereo surfaces") + CHK_ERR(DDERR_NOCLIPLIST, "no clip list available") + CHK_ERR(DDERR_NOCOLORCONVHW, "Operation could not be carried out because there is no color conversion hardware present or available.") + CHK_ERR(DDERR_NOCOOPERATIVELEVELSET, "Create function called without DirectDraw object method SetCooperativeLevel being called.") + CHK_ERR(DDERR_NOCOLORKEY, "Surface doesn't currently have a color key") + CHK_ERR(DDERR_NOCOLORKEYHW, "Operation could not be carried out because there is no hardware support of the dest color key.") + CHK_ERR(DDERR_NODIRECTDRAWSUPPORT, "No DirectDraw support possible with current display driver") + CHK_ERR(DDERR_NOEXCLUSIVEMODE, "Operation requires the application to have exclusive mode but the application does not have exclusive mode.") + CHK_ERR(DDERR_NOFLIPHW, "Flipping visible surfaces is not supported.") + CHK_ERR(DDERR_NOGDI, "There is no GDI present.") + CHK_ERR(DDERR_NOMIRRORHW, "Operation could not be carried out because there is no hardware present or available.") + CHK_ERR(DDERR_NOTFOUND, "Requested item was not found") + CHK_ERR(DDERR_NOOVERLAYHW, "Operation could not be carried out because there is no overlay hardware present or available.") + CHK_ERR(DDERR_OVERLAPPINGRECTS, "Operation could not be carried out because the source and destination rectangles are on the same surface and overlap each other.") + CHK_ERR(DDERR_NORASTEROPHW, "Operation could not be carried out because there is no appropriate raster op hardware present or available.") + CHK_ERR(DDERR_NOROTATIONHW, "Operation could not be carried out because there is no rotation hardware present or available.") + CHK_ERR(DDERR_NOSTRETCHHW, "Operation could not be carried out because there is no hardware support for stretching") + CHK_ERR(DDERR_NOT4BITCOLOR, "DirectDrawSurface is not in 4 bit color palette and the requested operation requires 4 bit color palette.") + CHK_ERR(DDERR_NOT4BITCOLORINDEX, "DirectDrawSurface is not in 4 bit color index palette and the requested operation requires 4 bit color index palette.") + CHK_ERR(DDERR_NOT8BITCOLOR, "DirectDraw Surface is not in 8 bit color mode and the requested operation requires 8 bit color.") + CHK_ERR(DDERR_NOTEXTUREHW, "Operation could not be carried out because there is no texture mapping hardware present or available.") + CHK_ERR(DDERR_NOVSYNCHW, "Operation could not be carried out because there is no hardware support for vertical blank synchronized operations.") + CHK_ERR(DDERR_NOZBUFFERHW, "Operation could not be carried out because there is no hardware support for zbuffer blting.") + CHK_ERR(DDERR_NOZOVERLAYHW, "Overlay surfaces could not be z layered based on their BltOrder because the hardware does not support z layering of overlays.") + CHK_ERR(DDERR_OUTOFCAPS, "The hardware needed for the requested operation has already been allocated.") +// CHK_ERR(DDERR_OUTOFMEMORY, "DDERR_OUTOFMEMORY") +// CHK_ERR(DDERR_OUTOFVIDEOMEMORY, "DDERR_OUTOFVIDEOMEMORY") + CHK_ERR(DDERR_OVERLAYCANTCLIP, "hardware does not support clipped overlays") + CHK_ERR(DDERR_OVERLAYCOLORKEYONLYONEACTIVE, "Can only have ony color key active at one time for overlays") + CHK_ERR(DDERR_PALETTEBUSY, "Access to this palette is being refused because the palette is already locked by another thread.") + CHK_ERR(DDERR_COLORKEYNOTSET, "No src color key specified for this operation.") + CHK_ERR(DDERR_SURFACEALREADYATTACHED, "This surface is already attached to the surface it is being attached to.") + CHK_ERR(DDERR_SURFACEALREADYDEPENDENT, "This surface is already a dependency of the surface it is being made a dependency of.") + CHK_ERR(DDERR_SURFACEBUSY, "Access to this surface is being refused because the surface is already locked by another thread.") + CHK_ERR(DDERR_CANTLOCKSURFACE, "Access to this surface is being refused because no driver exists which can supply a pointer to the surface. This is most likely to happen when attempting to lock the primary surface when no DCI provider is present. Will also happen on attempts to lock an optimized surface.") + CHK_ERR(DDERR_SURFACEISOBSCURED, "Access to Surface refused because Surface is obscured.") + CHK_ERR(DDERR_SURFACELOST, "Access to this surface is being refused because the surface is gone. The DIRECTDRAWSURFACE object representing this surface should have Restore called on it.") + CHK_ERR(DDERR_SURFACENOTATTACHED, "The requested surface is not attached.") + CHK_ERR(DDERR_TOOBIGHEIGHT, "Height requested by DirectDraw is too large.") + CHK_ERR(DDERR_TOOBIGSIZE, "Size requested by DirectDraw is too large -- The individual height and width are OK.") + CHK_ERR(DDERR_TOOBIGWIDTH, "Width requested by DirectDraw is too large.") +// CHK_ERR(DDERR_UNSUPPORTED, "DDERR_UNSUPPORTED") + CHK_ERR(DDERR_UNSUPPORTEDFORMAT, "Pixel format requested is unsupported by DirectDraw") + CHK_ERR(DDERR_UNSUPPORTEDMASK, "Bitmask in the pixel format requested is unsupported by DirectDraw") + CHK_ERR(DDERR_INVALIDSTREAM, "The specified stream contains invalid data") + CHK_ERR(DDERR_VERTICALBLANKINPROGRESS, "vertical blank is in progress") + CHK_ERR(DDERR_WASSTILLDRAWING, "Was still drawing") + CHK_ERR(DDERR_DDSCAPSCOMPLEXREQUIRED, "The specified surface type requires specification of the COMPLEX flag") + CHK_ERR(DDERR_XALIGN, "Rectangle provided was not horizontally aligned on reqd. boundary") + CHK_ERR(DDERR_INVALIDDIRECTDRAWGUID, "The GUID passed to DirectDrawCreate is not a valid DirectDraw driver identifier.") + CHK_ERR(DDERR_DIRECTDRAWALREADYCREATED, "A DirectDraw object representing this driver has already been created for this process.") + CHK_ERR(DDERR_NODIRECTDRAWHW, "A hardware only DirectDraw object creation was attempted but the driver did not support any hardware.") + CHK_ERR(DDERR_PRIMARYSURFACEALREADYEXISTS, "this process already has created a primary surface") + CHK_ERR(DDERR_NOEMULATION, "software emulation not available.") + CHK_ERR(DDERR_REGIONTOOSMALL, "region passed to Clipper::GetClipList is too small.") + CHK_ERR(DDERR_CLIPPERISUSINGHWND, "an attempt was made to set a clip list for a clipper objec that is already monitoring an hwnd.") + CHK_ERR(DDERR_NOCLIPPERATTACHED, "No clipper object attached to surface object") + CHK_ERR(DDERR_NOHWND, "Clipper notification requires an HWND or no HWND has previously been set as the CooperativeLevel HWND.") + CHK_ERR(DDERR_HWNDSUBCLASSED, "HWND used by DirectDraw CooperativeLevel has been subclassed, this prevents DirectDraw from restoring state.") + CHK_ERR(DDERR_HWNDALREADYSET, "The CooperativeLevel HWND has already been set. It can not be reset while the process has surfaces or palettes created.") + CHK_ERR(DDERR_NOPALETTEATTACHED, "No palette object attached to this surface.") + CHK_ERR(DDERR_NOPALETTEHW, "No hardware support for 16 or 256 color palettes.") + CHK_ERR(DDERR_BLTFASTCANTCLIP, "If a clipper object is attached to the source surface passed into a BltFast call.") + CHK_ERR(DDERR_NOBLTHW, "No blter.") + CHK_ERR(DDERR_NODDROPSHW, "No DirectDraw ROP hardware.") + CHK_ERR(DDERR_OVERLAYNOTVISIBLE, "returned when GetOverlayPosition is called on a hidden overlay") + CHK_ERR(DDERR_NOOVERLAYDEST, "returned when GetOverlayPosition is called on a overlay that UpdateOverlay has never been called on to establish a destionation.") + CHK_ERR(DDERR_INVALIDPOSITION, "returned when the position of the overlay on the destionation is no longer legal for that destionation.") + CHK_ERR(DDERR_NOTAOVERLAYSURFACE, "returned when an overlay member is called for a non-overlay surface") + CHK_ERR(DDERR_EXCLUSIVEMODEALREADYSET, "An attempt was made to set the cooperative level when it was already set to exclusive.") + CHK_ERR(DDERR_NOTFLIPPABLE, "An attempt has been made to flip a surface that is not flippable.") + CHK_ERR(DDERR_CANTDUPLICATE, "Can't duplicate primary & 3D surfaces, or surfaces that are implicitly created.") + CHK_ERR(DDERR_NOTLOCKED, "Surface was not locked. An attempt to unlock a surface that was not locked at all, or by this process, has been attempted.") + CHK_ERR(DDERR_CANTCREATEDC, "Windows can not create any more DCs, or a DC was requested for a paltte-indexed surface when the surface had no palette AND the display mode was not palette-indexed (in this case DirectDraw cannot select a proper palette into the DC)") + CHK_ERR(DDERR_NODC, "No DC was ever created for this surface.") + CHK_ERR(DDERR_WRONGMODE, "This surface can not be restored because it was created in a different mode.") + CHK_ERR(DDERR_IMPLICITLYCREATED, "This surface can not be restored because it is an implicitly created surface.") + CHK_ERR(DDERR_NOTPALETTIZED, "The surface being used is not a palette-based surface") + CHK_ERR(DDERR_UNSUPPORTEDMODE, "The display is currently in an unsupported mode") + CHK_ERR(DDERR_NOMIPMAPHW, "Operation could not be carried out because there is no mip-map texture mapping hardware present or available.") + CHK_ERR(DDERR_INVALIDSURFACETYPE, "The requested action could not be performed because the surface was of the wrong type.") + CHK_ERR(DDERR_NOOPTIMIZEHW, "Device does not support optimized surfaces, therefore no video memory optimized surfaces") + CHK_ERR(DDERR_NOTLOADED, "Surface is an optimized surface, but has not yet been allocated any memory") + CHK_ERR(DDERR_NOFOCUSWINDOW, "Attempt was made to create or set a device window without first setting the focus window") + CHK_ERR(DDERR_NOTONMIPMAPSUBLEVEL, "Attempt was made to set a palette on a mipmap sublevel") + CHK_ERR(DDERR_DCALREADYCREATED, "A DC has already been returned for this surface. Only one DC can be retrieved per surface.") + CHK_ERR(DDERR_NONONLOCALVIDMEM, "An attempt was made to allocate non-local video memory from a device that does not support non-local video memory.") + CHK_ERR(DDERR_CANTPAGELOCK, "The attempt to page lock a surface failed.") + CHK_ERR(DDERR_CANTPAGEUNLOCK, "The attempt to page unlock a surface failed.") + CHK_ERR(DDERR_NOTPAGELOCKED, "An attempt was made to page unlock a surface with no outstanding page locks.") + CHK_ERR(DDERR_MOREDATA, "There is more data available than the specified buffer size could hold") + CHK_ERR(DDERR_EXPIRED, "The data has expired and is therefore no longer valid.") + CHK_ERR(DDERR_TESTFINISHED, "The mode test has finished executing.") + CHK_ERR(DDERR_NEWMODE, "The mode test has switched to a new mode.") + CHK_ERR(DDERR_D3DNOTINITIALIZED, "D3D has not yet been initialized.") + CHK_ERR(DDERR_VIDEONOTACTIVE, "The video port is not active") + CHK_ERR(DDERR_NOMONITORINFORMATION, "The monitor does not have EDID data.") + CHK_ERR(DDERR_NODRIVERSUPPORT, "The driver does not enumerate display mode refresh rates.") + CHK_ERR(DDERR_DEVICEDOESNTOWNSURFACE, "Surfaces created by one direct draw device cannot be used directly by another direct draw device.") + +// ------------------------------------------------------------- +// d3d10.h error codes +// ------------------------------------------------------------- + CHK_ERR(D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS, "There are too many unique state objects.") + CHK_ERR(D3D10_ERROR_FILE_NOT_FOUND, "File not found") + +// ------------------------------------------------------------- +// dxgi.h error codes +// ------------------------------------------------------------- + CHK_ERR(DXGI_STATUS_OCCLUDED, "The target window or output has been occluded. The application should suspend rendering operations if possible.") + CHK_ERR(DXGI_STATUS_CLIPPED, "Target window is clipped.") + CHK_ERR(DXGI_STATUS_NO_REDIRECTION, "") + CHK_ERR(DXGI_STATUS_NO_DESKTOP_ACCESS, "No access to desktop.") + CHK_ERR(DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE, "") + CHK_ERR(DXGI_STATUS_MODE_CHANGED, "Display mode has changed") + CHK_ERR(DXGI_STATUS_MODE_CHANGE_IN_PROGRESS, "Display mode is changing") + CHK_ERR(DXGI_ERROR_INVALID_CALL, "The application has made an erroneous API call that it had enough information to avoid. This error is intended to denote that the application should be altered to avoid the error. Use of the debug version of the DXGI.DLL will provide run-time debug output with further information.") + CHK_ERR(DXGI_ERROR_NOT_FOUND, "The item requested was not found. For GetPrivateData calls, this means that the specified GUID had not been previously associated with the object.") + CHK_ERR(DXGI_ERROR_MORE_DATA, "The specified size of the destination buffer is too small to hold the requested data.") + CHK_ERR(DXGI_ERROR_UNSUPPORTED, "Unsupported.") + CHK_ERR(DXGI_ERROR_DEVICE_REMOVED, "Hardware device removed.") + CHK_ERR(DXGI_ERROR_DEVICE_HUNG, "Device hung due to badly formed commands.") + CHK_ERR(DXGI_ERROR_DEVICE_RESET, "Device reset due to a badly formed commant.") + CHK_ERR(DXGI_ERROR_WAS_STILL_DRAWING, "Was still drawing.") + CHK_ERR(DXGI_ERROR_FRAME_STATISTICS_DISJOINT, "The requested functionality is not supported by the device or the driver.") + CHK_ERR(DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE, "The requested functionality is not supported by the device or the driver.") + CHK_ERR(DXGI_ERROR_DRIVER_INTERNAL_ERROR, "An internal driver error occurred.") + CHK_ERR(DXGI_ERROR_NONEXCLUSIVE, "The application attempted to perform an operation on an DXGI output that is only legal after the output has been claimed for exclusive owenership.") + CHK_ERR(DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "The requested functionality is not supported by the device or the driver.") + CHK_ERR(DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED, "Remote desktop client disconnected.") + CHK_ERR(DXGI_ERROR_REMOTE_OUTOFMEMORY, "Remote desktop client is out of memory.") + +// ------------------------------------------------------------- +// d3d11.h error codes +// ------------------------------------------------------------- + CHK_ERR(D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS, "There are too many unique state objects.") + CHK_ERR(D3D11_ERROR_FILE_NOT_FOUND, "File not found") + CHK_ERR(D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS, "Therea are too many unique view objects.") + CHK_ERR(D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD, "Deferred context requires Map-Discard usage pattern") + +// ------------------------------------------------------------- +// Direct2D error codes +// ------------------------------------------------------------- + CHK_ERR(D2DERR_UNSUPPORTED_PIXEL_FORMAT, "The pixel format is not supported.") +// CHK_ERR(D2DERR_INSUFFICIENT_BUFFER, "The supplied buffer was too small to accomodate the data.") + CHK_ERR(D2DERR_WRONG_STATE, "The object was not in the correct state to process the method.") + CHK_ERR(D2DERR_NOT_INITIALIZED, "The object has not yet been initialized.") + CHK_ERR(D2DERR_UNSUPPORTED_OPERATION, "The requested opertion is not supported.") + CHK_ERR(D2DERR_SCANNER_FAILED, "The geomery scanner failed to process the data.") + CHK_ERR(D2DERR_SCREEN_ACCESS_DENIED, "D2D could not access the screen.") + CHK_ERR(D2DERR_DISPLAY_STATE_INVALID, "A valid display state could not be determined.") + CHK_ERR(D2DERR_ZERO_VECTOR, "The supplied vector is zero.") + CHK_ERR(D2DERR_INTERNAL_ERROR, "An internal error (D2D bug) occurred. On checked builds, we would assert.") + CHK_ERR(D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED, "The display format we need to render is not supported by the hardware device.") + CHK_ERR(D2DERR_INVALID_CALL, "A call to this method is invalid.") + CHK_ERR(D2DERR_NO_HARDWARE_DEVICE, "No HW rendering device is available for this operation.") + CHK_ERR(D2DERR_RECREATE_TARGET, "here has been a presentation error that may be recoverable. The caller needs to recreate, rerender the entire frame, and reattempt present.") + CHK_ERR(D2DERR_TOO_MANY_SHADER_ELEMENTS, "Shader construction failed because it was too complex.") + CHK_ERR(D2DERR_SHADER_COMPILE_FAILED, "Shader compilation failed.") + CHK_ERR(D2DERR_MAX_TEXTURE_SIZE_EXCEEDED, "Requested DX surface size exceeded maximum texture size.") + CHK_ERR(D2DERR_UNSUPPORTED_VERSION, "The requested D2D version is not supported.") + CHK_ERR(D2DERR_BAD_NUMBER, "Invalid number.") + CHK_ERR(D2DERR_WRONG_FACTORY, "Objects used together must be created from the same factory instance.") + CHK_ERR(D2DERR_LAYER_ALREADY_IN_USE, "A layer resource can only be in use once at any point in time.") + CHK_ERR(D2DERR_POP_CALL_DID_NOT_MATCH_PUSH, "The pop call did not match the corresponding push call") +// CHK_ERR(D2DERR_WRONG_RESOURCE_DOMAIN, "The resource was realized on the wrong render target") + CHK_ERR(D2DERR_PUSH_POP_UNBALANCED, "The push and pop calls were unbalanced") + CHK_ERR(D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT, "Attempt to copy from a render target while a layer or clip rect is applied") + CHK_ERR(D2DERR_INCOMPATIBLE_BRUSH_TYPES, "The brush types are incompatible for the call.") + CHK_ERR(D2DERR_WIN32_ERROR, "An unknown win32 failure occurred.") + CHK_ERR(D2DERR_TARGET_NOT_GDI_COMPATIBLE, "The render target is not compatible with GDI") + CHK_ERR(D2DERR_TEXT_EFFECT_IS_WRONG_TYPE, "A text client drawing effect object is of the wrong type") + CHK_ERR(D2DERR_TEXT_RENDERER_NOT_RELEASED, "The application is holding a reference to the IDWriteTextRenderer interface after the corresponding DrawText or DrawTextLayout call has returned. The IDWriteTextRenderer instance will be zombied.") +// CHK_ERR(D2DERR_EXCEEDS_MAX_BITMAP_SIZE, "The requested size is larger than the guaranteed supported texture size.") + +// ------------------------------------------------------------- +// DirectWrite error codes +// ------------------------------------------------------------- + CHK_ERR(DWRITE_E_FILEFORMAT, "Indicates an error in an input file such as a font file.") + CHK_ERR(DWRITE_E_UNEXPECTED, "Indicates an error originating in DirectWrite code, which is not expected to occur but is safe to recover from.") + CHK_ERR(DWRITE_E_NOFONT, "Indicates the specified font does not exist.") + CHK_ERR(DWRITE_E_FILENOTFOUND, "A font file could not be opened because the file, directory, network location, drive, or other storage location does not exist or is unavailable.") + CHK_ERR(DWRITE_E_FILEACCESS, "A font file exists but could not be opened due to access denied, sharing violation, or similar error.") + CHK_ERR(DWRITE_E_FONTCOLLECTIONOBSOLETE, "A font collection is obsolete due to changes in the system.") + CHK_ERR(DWRITE_E_ALREADYREGISTERED, "The given interface is already registered.") + +// ------------------------------------------------------------- +// WIC error codes +// ------------------------------------------------------------- + CHK_ERR(WINCODEC_ERR_WRONGSTATE, "WIC object in incorrect state.") + CHK_ERR(WINCODEC_ERR_VALUEOUTOFRANGE, "WIC Value out of range.") + CHK_ERR(WINCODEC_ERR_UNKNOWNIMAGEFORMAT, "Encountered unexpected value or setting in WIC image format.") + CHK_ERR(WINCODEC_ERR_UNSUPPORTEDVERSION, "Unsupported WINCODEC_SD_VERSION passed to WIC factory.") + CHK_ERR(WINCODEC_ERR_NOTINITIALIZED, "WIC component not initialized.") + CHK_ERR(WINCODEC_ERR_ALREADYLOCKED, "WIC bitmap object already locked.") + CHK_ERR(WINCODEC_ERR_PROPERTYNOTFOUND, "WIC property not found.") + CHK_ERR(WINCODEC_ERR_PROPERTYNOTSUPPORTED, "WIC property not supported.") + CHK_ERR(WINCODEC_ERR_PROPERTYSIZE, "Invalid property size") + CHK_ERRA(WINCODEC_ERR_CODECPRESENT) // not currently used by WIC + CHK_ERRA(WINCODEC_ERR_CODECNOTHUMBNAIL) // not currently used by WIC + CHK_ERR(WINCODEC_ERR_PALETTEUNAVAILABLE, "Required palette data not available.") + CHK_ERR(WINCODEC_ERR_CODECTOOMANYSCANLINES, "More scanlines requested than are available in WIC bitmap.") + CHK_ERR(WINCODEC_ERR_INTERNALERROR, "Unexpected internal error in WIC.") + CHK_ERR(WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS, "Source WIC rectangle does not match bitmap dimensions.") + CHK_ERR(WINCODEC_ERR_COMPONENTNOTFOUND, "WIC component not found.") + CHK_ERR(WINCODEC_ERR_IMAGESIZEOUTOFRANGE, "Image size beyond expected boundaries for WIC codec." ) + CHK_ERR(WINCODEC_ERR_TOOMUCHMETADATA, "Image metadata size beyond expected boundaries for WIC codec.") + CHK_ERR(WINCODEC_ERR_BADIMAGE, "WIC image is corrupted.") + CHK_ERR(WINCODEC_ERR_BADHEADER, "Invalid header found in WIC image.") + CHK_ERR(WINCODEC_ERR_FRAMEMISSING, "Expected bitmap frame data not found in WIC image." ) + CHK_ERR(WINCODEC_ERR_BADMETADATAHEADER, "Invalid metadata header found in WIC image.") + CHK_ERR(WINCODEC_ERR_BADSTREAMDATA, "Invalid stream data found in WIC image.") + CHK_ERR(WINCODEC_ERR_STREAMWRITE, "WIC operation on write stream failed.") + CHK_ERR(WINCODEC_ERR_STREAMREAD, "WIC operation on read stream failed.") + CHK_ERR(WINCODEC_ERR_STREAMNOTAVAILABLE, "Required stream is not available." ) +// CHK_ERRA(WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT) + CHK_ERR(WINCODEC_ERR_UNSUPPORTEDOPERATION, "This operation is not supported by WIC." ) + CHK_ERR(WINCODEC_ERR_INVALIDREGISTRATION, "Error occurred reading WIC codec registry keys.") + CHK_ERR(WINCODEC_ERR_COMPONENTINITIALIZEFAILURE, "Failed initializing WIC codec.") + CHK_ERR(WINCODEC_ERR_INSUFFICIENTBUFFER, "Not enough buffer space available for WIC operation.") + CHK_ERR(WINCODEC_ERR_DUPLICATEMETADATAPRESENT, "Duplicate metadata detected in WIC image.") + CHK_ERR(WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE, "Unexpected property type in WIC image.") + CHK_ERR(WINCODEC_ERR_UNEXPECTEDSIZE, "Unexpected value size in WIC metadata.") + CHK_ERR(WINCODEC_ERR_INVALIDQUERYREQUEST, "Invalid metadata query.") + CHK_ERR(WINCODEC_ERR_UNEXPECTEDMETADATATYPE, "Unexpected metadata type encountered in WIC image.") + CHK_ERR(WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT, "Operation only valid on meatadata root.") + CHK_ERR(WINCODEC_ERR_INVALIDQUERYCHARACTER, "Invalid character in WIC metadata query.") + CHK_ERR(WINCODEC_ERR_WIN32ERROR, "General Win32 error encountered during WIC operation.") + CHK_ERR(WINCODEC_ERR_INVALIDPROGRESSIVELEVEL, "Invalid level for progressive WIC image decode.") + +// ------------------------------------------------------------- +// DXUT error codes +// ------------------------------------------------------------- + CHK_ERR(DXUTERR_NODIRECT3D, "Could not initialize Direct3D.") + CHK_ERR(DXUTERR_NOCOMPATIBLEDEVICES, "No device could be found with the specified device settings.") + CHK_ERR(DXUTERR_MEDIANOTFOUND, "A media file could not be found.") + CHK_ERR(DXUTERR_NONZEROREFCOUNT, "The device interface has a non-zero reference count, meaning that some objects were not released.") + CHK_ERR(DXUTERR_CREATINGDEVICE, "An error occurred when attempting to create a device.") + CHK_ERR(DXUTERR_RESETTINGDEVICE, "An error occurred when attempting to reset a device.") + CHK_ERR(DXUTERR_CREATINGDEVICEOBJECTS, "An error occurred in the device create callback function.") + CHK_ERR(DXUTERR_RESETTINGDEVICEOBJECTS, "An error occurred in the device reset callback function.") + CHK_ERR(DXUTERR_INCORRECTVERSION, "Incorrect version of Direct3D or D3DX.") + CHK_ERR(DXUTERR_DEVICEREMOVED, "The device was removed.") + +// ------------------------------------------------------------- +// xaudio2.h error codes +// ------------------------------------------------------------- + CHK_ERR(XAUDIO2_E_INVALID_CALL, "Invalid XAudio2 API call or arguments") + CHK_ERR(XAUDIO2_E_XMA_DECODER_ERROR, "Hardware XMA decoder error") + CHK_ERR(XAUDIO2_E_XAPO_CREATION_FAILED, "Failed to create an audio effect") + CHK_ERR(XAUDIO2_E_DEVICE_INVALIDATED, "Device invalidated (unplugged, disabled, etc)") + +// ------------------------------------------------------------- +// xapo.h error codes +// ------------------------------------------------------------- + CHK_ERR(XAPO_E_FORMAT_UNSUPPORTED, "Requested audio format unsupported.") + + default: wcscpy_s( desc, count, L"Unknown error." ); break; + } +} + +//----------------------------------------------------------------------------- +HRESULT WINAPI DXTraceW( _In_z_ const WCHAR* strFile, _In_ DWORD dwLine, _In_ HRESULT hr, + _In_opt_ const WCHAR* strMsg, _In_ bool bPopMsgBox ) +{ + WCHAR strBufferFile[MAX_PATH]; + WCHAR strBufferLine[128]; + WCHAR strBufferError[256]; + WCHAR strBufferMsg[1024]; + WCHAR strBuffer[BUFFER_SIZE]; + + swprintf_s( strBufferLine, 128, L"%lu", dwLine ); + if( strFile ) + { + swprintf_s( strBuffer, BUFFER_SIZE, L"%ls(%ls): ", strFile, strBufferLine ); + OutputDebugStringW( strBuffer ); + } + + size_t nMsgLen = (strMsg) ? wcsnlen_s( strMsg, 1024 ) : 0; + if( nMsgLen > 0 ) + { + OutputDebugStringW( strMsg ); + OutputDebugStringW( L" " ); + } + + swprintf_s( strBufferError, 256, L"%ls (0x%0.8x)", DXGetErrorStringW(hr), hr ); + swprintf_s( strBuffer, BUFFER_SIZE, L"hr=%ls", strBufferError ); + OutputDebugStringW( strBuffer ); + + OutputDebugStringW( L"\n" ); + + if( bPopMsgBox ) + { + wcscpy_s( strBufferFile, MAX_PATH, L"" ); + if( strFile ) + wcscpy_s( strBufferFile, MAX_PATH, strFile ); + + wcscpy_s( strBufferMsg, 1024, L"" ); + if( nMsgLen > 0 ) + swprintf_s( strBufferMsg, 1024, L"Calling: %ls\n", strMsg ); + + swprintf_s( strBuffer, BUFFER_SIZE, L"File: %ls\nLine: %ls\nError Code: %ls\n%lsDo you want to debug the application?", + strBufferFile, strBufferLine, strBufferError, strBufferMsg ); + + int nResult = MessageBoxW( GetForegroundWindow(), strBuffer, L"Unexpected error encountered", MB_YESNO | MB_ICONERROR ); + if( nResult == IDYES ) + DebugBreak(); + } + + return hr; +} \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Core/dxerr.h b/FriedLiver/Source/DXUT/Core/dxerr.h new file mode 100644 index 00000000..d1c55cd3 --- /dev/null +++ b/FriedLiver/Source/DXUT/Core/dxerr.h @@ -0,0 +1,72 @@ +//-------------------------------------------------------------------------------------- +// File: DXErr.h +// +// DirectX Error Library +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +//-------------------------------------------------------------------------------------- + +// This version only supports UNICODE. + +#pragma once + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +//-------------------------------------------------------------------------------------- +// DXGetErrorString +//-------------------------------------------------------------------------------------- +const WCHAR* WINAPI DXGetErrorStringW( _In_ HRESULT hr ); + +#define DXGetErrorString DXGetErrorStringW + +//-------------------------------------------------------------------------------------- +// DXGetErrorDescription has to be modified to return a copy in a buffer rather than +// the original static string. +//-------------------------------------------------------------------------------------- +void WINAPI DXGetErrorDescriptionW( _In_ HRESULT hr, _Out_cap_(count) WCHAR* desc, _In_ size_t count ); + +#define DXGetErrorDescription DXGetErrorDescriptionW + +//-------------------------------------------------------------------------------------- +// DXTrace +// +// Desc: Outputs a formatted error message to the debug stream +// +// Args: WCHAR* strFile The current file, typically passed in using the +// __FILEW__ macro. +// DWORD dwLine The current line number, typically passed in using the +// __LINE__ macro. +// HRESULT hr An HRESULT that will be traced to the debug stream. +// CHAR* strMsg A string that will be traced to the debug stream (may be NULL) +// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info. +// +// Return: The hr that was passed in. +//-------------------------------------------------------------------------------------- +HRESULT WINAPI DXTraceW( _In_z_ const WCHAR* strFile, _In_ DWORD dwLine, _In_ HRESULT hr, _In_opt_ const WCHAR* strMsg, _In_ bool bPopMsgBox ); + +#define DXTrace DXTraceW + +//-------------------------------------------------------------------------------------- +// +// Helper macros +// +//-------------------------------------------------------------------------------------- +#if defined(DEBUG) || defined(_DEBUG) +#define DXTRACE_MSG(str) DXTrace( __FILEW__, (DWORD)__LINE__, 0, str, false ) +#define DXTRACE_ERR(str,hr) DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, false ) +#define DXTRACE_ERR_MSGBOX(str,hr) DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, true ) +#else +#define DXTRACE_MSG(str) (0L) +#define DXTRACE_ERR(str,hr) (hr) +#define DXTRACE_ERR_MSGBOX(str,hr) (hr) +#endif + +#ifdef __cplusplus +} +#endif //__cplusplus diff --git a/FriedLiver/Source/DXUT/Media/UI/Font.dds b/FriedLiver/Source/DXUT/Media/UI/Font.dds new file mode 100644 index 0000000000000000000000000000000000000000..37514f5bf7fdb81efc52766d02bdaec0fecd3061 GIT binary patch literal 76128 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 B8!uDSP^>$CUSd(NEy_xOv|4#Ge0a3I*3zxSik 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ⅇ-=EcR-gA#H-s|5f?(5pYwb#e_ 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 literal 0 HcmV?d00001 diff --git a/FriedLiver/Source/DXUT/Optional/DXUTLockFreePipe.h b/FriedLiver/Source/DXUT/Optional/DXUTLockFreePipe.h index ed107478..20ee90c5 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTLockFreePipe.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTLockFreePipe.h @@ -2,40 +2,35 @@ // DXUTLockFreePipe.h // // See the "Lockless Programming Considerations for Xbox 360 and Microsoft Windows" -// article in the DirectX SDK for more details. +// article for more details. // -// http://msdn2.microsoft.com/en-us/library/bb310595.aspx +// http://msdn.microsoft.com/en-us/library/ee418650.aspx // -// XNA Developer Connection -// Copyright (C) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once #include +#include + +#pragma pack(push) +#pragma pack(8) +#include +#pragma pack (pop) + +extern "C" + void _ReadWriteBarrier(); +#pragma intrinsic(_ReadWriteBarrier) -#ifdef _XBOX_VER - // Prevent the CPU from rearranging loads - // and stores, sufficiently for read-acquire - // and write-release. - #define DXUTImportBarrier __lwsync - #define DXUTExportBarrier __lwsync -#else - #pragma pack(push) - #pragma pack(8) - #include - #pragma pack (pop) - - extern "C" - void _ReadWriteBarrier(); - #pragma intrinsic(_ReadWriteBarrier) - - // Prevent the compiler from rearranging loads - // and stores, sufficiently for read-acquire - // and write-release. This is sufficient on - // x86 and x64. - #define DXUTImportBarrier _ReadWriteBarrier - #define DXUTExportBarrier _ReadWriteBarrier -#endif +// Prevent the compiler from rearranging loads +// and stores, sufficiently for read-acquire +// and write-release. This is sufficient on +// x86 and x64. +#define DXUTImportBarrier _ReadWriteBarrier +#define DXUTExportBarrier _ReadWriteBarrier // // Pipe class designed for use by at most two threads: one reader, one writer. @@ -63,7 +58,7 @@ template class DXUTLockFreePipe return m_writeOffset - m_readOffset; } - bool __forceinline Read( void* pvDest, unsigned long cbDest ) + bool __forceinline Read( _Out_writes_(cbDest) void* pvDest, _In_ unsigned long cbDest ) { // Store the read and write offsets into local variables--this is // essentially a snapshot of their values so that they stay constant @@ -118,7 +113,7 @@ template class DXUTLockFreePipe // then the previous comparison would have failed since that would imply // that there were less than cbDest bytes available to read. // - unsigned long cbTailBytes = min( bytesLeft, c_cbBufferSize - actualReadOffset ); + unsigned long cbTailBytes = std::min( bytesLeft, c_cbBufferSize - actualReadOffset ); memcpy( pbDest, m_pbBuffer + actualReadOffset, cbTailBytes ); bytesLeft -= cbTailBytes; @@ -148,7 +143,7 @@ template class DXUTLockFreePipe return true; } - bool __forceinline Write( const void* pvSrc, unsigned long cbSrc ) + bool __forceinline Write( _In_reads_(cbSrc) const void* pvSrc, _In_ unsigned long cbSrc ) { // Reading the read offset here has the same caveats as reading // the write offset had in the Read() function above. @@ -179,7 +174,7 @@ template class DXUTLockFreePipe // See the explanation in the Read() function as to why we don't // explicitly check against the read offset here. - unsigned long cbTailBytes = min( bytesLeft, c_cbBufferSize - actualWriteOffset ); + unsigned long cbTailBytes = std::min( bytesLeft, c_cbBufferSize - actualWriteOffset ); memcpy( m_pbBuffer + actualWriteOffset, pbSrc, cbTailBytes ); bytesLeft -= cbTailBytes; @@ -208,9 +203,9 @@ template class DXUTLockFreePipe private: // Values derived from the buffer size template parameter // - const static BYTE c_cbBufferSizeLog2 = min( cbBufferSizeLog2, 31 ); - const static DWORD c_cbBufferSize = ( 1 << c_cbBufferSizeLog2 ); - const static DWORD c_sizeMask = c_cbBufferSize - 1; + static const BYTE c_cbBufferSizeLog2 = __min( cbBufferSizeLog2, 31 ); + static const DWORD c_cbBufferSize = ( 1 << c_cbBufferSizeLog2 ); + static const DWORD c_sizeMask = c_cbBufferSize - 1; // Leave these private and undefined to prevent their use DXUTLockFreePipe( const DXUTLockFreePipe& ); diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj new file mode 100644 index 00000000..b14c76cf --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj @@ -0,0 +1,339 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + Bin\Desktop_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj.filters new file mode 100644 index 00000000..1bdbaf91 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015.vcxproj.filters @@ -0,0 +1,32 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj new file mode 100644 index 00000000..79dff5a9 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj @@ -0,0 +1,340 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0.14393.0 + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj.filters new file mode 100644 index 00000000..1bdbaf91 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2015_Win10.vcxproj.filters @@ -0,0 +1,32 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj new file mode 100644 index 00000000..99ca92bf --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj @@ -0,0 +1,352 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0.17763.0 + + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj.filters new file mode 100644 index 00000000..1bdbaf91 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2017_Win10.vcxproj.filters @@ -0,0 +1,32 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj new file mode 100644 index 00000000..6c295b42 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj @@ -0,0 +1,352 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0 + + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + Bin\Desktop_2019_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;_WIN32_WINNT=0x0600;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj.filters new file mode 100644 index 00000000..1bdbaf91 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_2019_Win10.vcxproj.filters @@ -0,0 +1,32 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj new file mode 100644 index 00000000..0560c96f --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj @@ -0,0 +1,337 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj.filters new file mode 100644 index 00000000..b959c9a4 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015.vcxproj.filters @@ -0,0 +1,30 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj new file mode 100644 index 00000000..71ff1066 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj @@ -0,0 +1,338 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0.14393.0 + + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + StaticLibrary + true + Unicode + v140 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2015_Win10\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_3;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj.filters new file mode 100644 index 00000000..b959c9a4 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2015_Win10.vcxproj.filters @@ -0,0 +1,30 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj new file mode 100644 index 00000000..3948895f --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj @@ -0,0 +1,350 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0.17763.0 + + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2017\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj.filters new file mode 100644 index 00000000..b959c9a4 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2017_Win10.vcxproj.filters @@ -0,0 +1,30 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj new file mode 100644 index 00000000..db49a77b --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj @@ -0,0 +1,350 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Profile + Win32 + + + Profile + x64 + + + Release + Win32 + + + Release + x64 + + + + DXUTOpt + {61B333C2-C4F7-4cc1-A9BF-83F6D95588EB} + DXUTOpt + Win32Proj + 10.0 + + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + StaticLibrary + true + Unicode + v142 + + + + + + + + + + + + + + + + + + + + + + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + true + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + Bin\DirectXTK_2019\$(Platform)\$(Configuration)\ + DXUTOpt + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + Disabled + MultiThreadedDebugDLL + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + Windows + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + StreamingSIMDExtensions2 + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + Level4 + MaxSpeed + Fast + ..\..\DirectXTK\Inc;..\Core\;%(AdditionalIncludeDirectories) + /Zc:__cplusplus %(AdditionalOptions) + WIN32;NDEBUG;PROFILE;_WINDOWS;_LIB;USE_DIRECT3D11_4;USE_DIRECTXTK;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions) + $(IntDir)$(TargetName).pdb + Use + DXUT.h + true + + + true + Windows + true + true + + + false + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj.filters b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj.filters new file mode 100644 index 00000000..b959c9a4 --- /dev/null +++ b/FriedLiver/Source/DXUT/Optional/DXUTOpt_DirectXTK_2019_Win10.vcxproj.filters @@ -0,0 +1,30 @@ + + + + +{8e114980-c1a3-4ada-ad7c-83caadf5daeb} +rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FriedLiver/Source/DXUT/Optional/DXUTcamera.cpp b/FriedLiver/Source/DXUT/Optional/DXUTcamera.cpp index 691d5283..fe2f2ec0 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTcamera.cpp +++ b/FriedLiver/Source/DXUT/Optional/DXUTcamera.cpp @@ -1,21 +1,40 @@ //-------------------------------------------------------------------------------------- // File: DXUTcamera.cpp // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" #include "DXUTcamera.h" #include "DXUTres.h" -#undef min // use __min instead -#undef max // use __max instead + +using namespace DirectX; + +//====================================================================================== +// CD3DArcBall +//====================================================================================== //-------------------------------------------------------------------------------------- -CD3DArcBall::CD3DArcBall() +CD3DArcBall::CD3DArcBall() noexcept : + m_mRotation{}, + m_mTranslation{}, + m_mTranslationDelta{}, + m_Offset{ 0, 0 }, + m_nWidth(0), + m_nHeight(0), + m_vCenter{}, + m_fRadius(0), + m_fRadiusTranslation(0), + m_qDown{}, + m_qNow{}, + m_bDrag(false), + m_ptLastMouse{}, + m_vDownPt( 0, 0, 0 ), + m_vCurrentPt( 0, 0, 0 ) { Reset(); - m_vDownPt = D3DXVECTOR3( 0, 0, 0 ); - m_vCurrentPt = D3DXVECTOR3( 0, 0, 0 ); - m_Offset.x = m_Offset.y = 0; RECT rc; GetClientRect( GetForegroundWindow(), &rc ); @@ -23,66 +42,26 @@ CD3DArcBall::CD3DArcBall() } - - - //-------------------------------------------------------------------------------------- void CD3DArcBall::Reset() { - D3DXQuaternionIdentity( &m_qDown ); - D3DXQuaternionIdentity( &m_qNow ); - D3DXMatrixIdentity( &m_mRotation ); - D3DXMatrixIdentity( &m_mTranslation ); - D3DXMatrixIdentity( &m_mTranslationDelta ); - m_bDrag = FALSE; - m_fRadiusTranslation = 1.0f; - m_fRadius = 1.0f; -} - - - - -//-------------------------------------------------------------------------------------- -D3DXVECTOR3 CD3DArcBall::ScreenToVector( float fScreenPtX, float fScreenPtY ) -{ - // Scale to screen - FLOAT x = -( fScreenPtX - m_Offset.x - m_nWidth / 2 ) / ( m_fRadius * m_nWidth / 2 ); - FLOAT y = ( fScreenPtY - m_Offset.y - m_nHeight / 2 ) / ( m_fRadius * m_nHeight / 2 ); - - FLOAT z = 0.0f; - FLOAT mag = x * x + y * y; - - if( mag > 1.0f ) - { - FLOAT scale = 1.0f / sqrtf( mag ); - x *= scale; - y *= scale; - } - else - z = sqrtf( 1.0f - mag ); - - // Return vector - return D3DXVECTOR3( x, y, z ); -} + XMVECTOR qid = XMQuaternionIdentity(); + XMStoreFloat4( &m_qDown, qid ); + XMStoreFloat4( &m_qNow, qid ); + XMMATRIX id = XMMatrixIdentity(); + XMStoreFloat4x4( &m_mRotation, id ); + XMStoreFloat4x4( &m_mTranslation, id ); + XMStoreFloat4x4( &m_mTranslationDelta, id ); - - -//-------------------------------------------------------------------------------------- -D3DXQUATERNION CD3DArcBall::QuatFromBallPoints( const D3DXVECTOR3& vFrom, const D3DXVECTOR3& vTo ) -{ - D3DXVECTOR3 vPart; - float fDot = D3DXVec3Dot( &vFrom, &vTo ); - D3DXVec3Cross( &vPart, &vFrom, &vTo ); - - return D3DXQUATERNION( vPart.x, vPart.y, vPart.z, fDot ); + m_bDrag = false; + m_fRadiusTranslation = 1.0f; + m_fRadius = 1.0f; } - - //-------------------------------------------------------------------------------------- -void CD3DArcBall::OnBegin( int nX, int nY ) +void CD3DArcBall::OnBegin( _In_ int nX, _In_ int nY ) { // Only enter the drag state if the click falls // inside the click rectangle. @@ -93,24 +72,27 @@ void CD3DArcBall::OnBegin( int nX, int nY ) { m_bDrag = true; m_qDown = m_qNow; - m_vDownPt = ScreenToVector( ( float )nX, ( float )nY ); + XMVECTOR v = ScreenToVector( float(nX), float(nY) ); + XMStoreFloat3( &m_vDownPt, v ); } } - - //-------------------------------------------------------------------------------------- -void CD3DArcBall::OnMove( int nX, int nY ) +void CD3DArcBall::OnMove( _In_ int nX, _In_ int nY ) { if( m_bDrag ) { - m_vCurrentPt = ScreenToVector( ( float )nX, ( float )nY ); - m_qNow = m_qDown * QuatFromBallPoints( m_vDownPt, m_vCurrentPt ); - } -} + XMVECTOR curr = ScreenToVector( ( float )nX, ( float )nY ); + XMStoreFloat3( &m_vCurrentPt, curr ); + XMVECTOR down = XMLoadFloat3( &m_vDownPt ); + XMVECTOR qdown = XMLoadFloat4( &m_qDown ); + XMVECTOR result = XMQuaternionMultiply( qdown, QuatFromBallPoints( down, curr ) ); + XMStoreFloat4( &m_qNow, result ); + } +} //-------------------------------------------------------------------------------------- @@ -120,11 +102,8 @@ void CD3DArcBall::OnEnd() } - - -//-------------------------------------------------------------------------------------- -// Desc: //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CD3DArcBall::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { // Current mouse position @@ -174,20 +153,25 @@ LRESULT CD3DArcBall::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM else if( ( MK_RBUTTON & wParam ) || ( MK_MBUTTON & wParam ) ) { // Normalize based on size of window and bounding sphere radius - FLOAT fDeltaX = ( m_ptLastMouse.x - iMouseX ) * m_fRadiusTranslation / m_nWidth; - FLOAT fDeltaY = ( m_ptLastMouse.y - iMouseY ) * m_fRadiusTranslation / m_nHeight; + float fDeltaX = ( m_ptLastMouse.x - iMouseX ) * m_fRadiusTranslation / m_nWidth; + float fDeltaY = ( m_ptLastMouse.y - iMouseY ) * m_fRadiusTranslation / m_nHeight; + XMMATRIX mTranslationDelta; + XMMATRIX mTranslation = XMLoadFloat4x4( &m_mTranslation ); if( wParam & MK_RBUTTON ) { - D3DXMatrixTranslation( &m_mTranslationDelta, -2 * fDeltaX, 2 * fDeltaY, 0.0f ); - D3DXMatrixMultiply( &m_mTranslation, &m_mTranslation, &m_mTranslationDelta ); + mTranslationDelta = XMMatrixTranslation( -2 * fDeltaX, 2 * fDeltaY, 0.0f ); + mTranslation = XMMatrixMultiply( mTranslation, mTranslationDelta ); } else // wParam & MK_MBUTTON { - D3DXMatrixTranslation( &m_mTranslationDelta, 0.0f, 0.0f, 5 * fDeltaY ); - D3DXMatrixMultiply( &m_mTranslation, &m_mTranslation, &m_mTranslationDelta ); + mTranslationDelta = XMMatrixTranslation( 0.0f, 0.0f, 5 * fDeltaY ); + mTranslation = XMMatrixMultiply( mTranslation, mTranslationDelta ); } + XMStoreFloat4x4( &m_mTranslationDelta, mTranslationDelta ); + XMStoreFloat4x4( &m_mTranslation, mTranslation ); + // Store mouse coordinate m_ptLastMouse.x = iMouseX; m_ptLastMouse.y = iMouseY; @@ -199,106 +183,105 @@ LRESULT CD3DArcBall::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM } - +//====================================================================================== +// CBaseCamera +//====================================================================================== //-------------------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------------------- -CBaseCamera::CBaseCamera() +CBaseCamera::CBaseCamera() noexcept : + m_mView{}, + m_mProj{}, + m_GamePad{}, + m_vGamePadLeftThumb(0,0,0), + m_vGamePadRightThumb(0,0,0), + m_GamePadLastActive{}, + m_cKeysDown(0), + m_aKeys{}, + m_vKeyboardDirection(0,0,0), + m_ptLastMousePosition{ 0, 0 }, + m_nCurrentButtonMask(0), + m_nMouseWheelDelta(0), + m_vMouseDelta(0, 0), + m_fFramesToSmoothMouseData(2.0f), + m_vDefaultEye(0, 0, 0), + m_vDefaultLookAt(0, 0, 0), + m_vEye(0, 0, 0), + m_vLookAt(0, 0, 0), + m_fCameraYawAngle(0.0f), + m_fCameraPitchAngle(0.0f), + m_rcDrag{}, + m_vVelocity(0, 0, 0), + m_vVelocityDrag(0, 0, 0), + m_fDragTimer(0.0f), + m_fTotalDragTimeToZero(0.25), + m_vRotVelocity(0, 0), + m_fFOV(0), + m_fAspect(0), + m_fNearPlane(0), + m_fFarPlane(1), + m_fRotationScaler(0.01f), + m_fMoveScaler(5.0f), + m_bMouseLButtonDown(false), + m_bMouseMButtonDown(false), + m_bMouseRButtonDown(false), + m_bMovementDrag(false), + m_bInvertPitch(false), + m_bEnablePositionMovement(true), + m_bEnableYAxisMovement(true), + m_bClipToBoundary(false), + m_bResetCursorAfterMove(false), + m_vMinBoundary(-1, -1, -1), + m_vMaxBoundary(1, 1, 1) { - m_cKeysDown = 0; - ZeroMemory( m_aKeys, sizeof( BYTE ) * CAM_MAX_KEYS ); - ZeroMemory( m_GamePad, sizeof( DXUT_GAMEPAD ) * DXUT_MAX_CONTROLLERS ); - - // Set attributes for the view matrix - D3DXVECTOR3 vEyePt = D3DXVECTOR3( 0.0f, 0.0f, 0.0f ); - D3DXVECTOR3 vLookatPt = D3DXVECTOR3( 0.0f, 0.0f, 1.0f ); - // Setup the view matrix - SetViewParams( &vEyePt, &vLookatPt ); + SetViewParams( g_XMZero, g_XMIdentityR2 ); // Setup the projection matrix - SetProjParams( D3DX_PI / 4, 1.0f, 1.0f, 1000.0f ); + SetProjParams( XM_PI / 4, 1.0f, 1.0f, 1000.0f ); GetCursorPos( &m_ptLastMousePosition ); - m_bMouseLButtonDown = false; - m_bMouseMButtonDown = false; - m_bMouseRButtonDown = false; - m_nCurrentButtonMask = 0; - m_nMouseWheelDelta = 0; - - m_fCameraYawAngle = 0.0f; - m_fCameraPitchAngle = 0.0f; - + SetRect( &m_rcDrag, LONG_MIN, LONG_MIN, LONG_MAX, LONG_MAX ); - m_vVelocity = D3DXVECTOR3( 0, 0, 0 ); - m_bMovementDrag = false; - m_vVelocityDrag = D3DXVECTOR3( 0, 0, 0 ); - m_fDragTimer = 0.0f; - m_fTotalDragTimeToZero = 0.25; - m_vRotVelocity = D3DXVECTOR2( 0, 0 ); - - m_fRotationScaler = 0.01f; - m_fMoveScaler = 5.0f; - - m_bInvertPitch = false; - m_bEnableYAxisMovement = true; - m_bEnablePositionMovement = true; - - m_vMouseDelta = D3DXVECTOR2( 0, 0 ); - m_fFramesToSmoothMouseData = 2.0f; - - m_bClipToBoundary = false; - m_vMinBoundary = D3DXVECTOR3( -1, -1, -1 ); - m_vMaxBoundary = D3DXVECTOR3( 1, 1, 1 ); - - m_bResetCursorAfterMove = false; - - m_vMyKeyboardDirection.x = m_vMyKeyboardDirection.y = m_vMyKeyboardDirection.z = 0.0f; - D3DXMatrixIdentity(&m_mShift); } //-------------------------------------------------------------------------------------- // Client can call this to change the position and direction of camera //-------------------------------------------------------------------------------------- -VOID CBaseCamera::SetViewParams( D3DXVECTOR3* pvEyePt, D3DXVECTOR3* pvLookatPt ) +_Use_decl_annotations_ +void CBaseCamera::SetViewParams( FXMVECTOR vEyePt, FXMVECTOR vLookatPt ) { - if( NULL == pvEyePt || NULL == pvLookatPt ) - return; + XMStoreFloat3( &m_vEye, vEyePt ); + XMStoreFloat3( &m_vDefaultEye, vEyePt ); - m_vDefaultEye = m_vEye = *pvEyePt; - m_vDefaultLookAt = m_vLookAt = *pvLookatPt; + XMStoreFloat3( &m_vLookAt, vLookatPt ); + XMStoreFloat3( &m_vDefaultLookAt , vLookatPt ); // Calc the view matrix - D3DXVECTOR3 vUp( 0,1,0 ); - D3DXMatrixLookAtLH( &m_mView, pvEyePt, pvLookatPt, &vUp ); + XMMATRIX mView = XMMatrixLookAtLH( vEyePt, vLookatPt, g_XMIdentityR1 ); + XMStoreFloat4x4( &m_mView, mView ); - D3DXMATRIX mInvView; - D3DXMatrixInverse( &mInvView, NULL, &m_mView ); + XMMATRIX mInvView = XMMatrixInverse( nullptr, mView ); // The axis basis vectors and camera position are stored inside the // position matrix in the 4 rows of the camera's world matrix. // To figure out the yaw/pitch of the camera, we just need the Z basis vector - D3DXVECTOR3* pZBasis = ( D3DXVECTOR3* )&mInvView._31; - - m_fCameraYawAngle = atan2f( pZBasis->x, pZBasis->z ); - float fLen = sqrtf( pZBasis->z * pZBasis->z + pZBasis->x * pZBasis->x ); - m_fCameraPitchAngle = -atan2f( pZBasis->y, fLen ); + DirectX::XMFLOAT3 zBasis; + XMStoreFloat3( &zBasis, mInvView.r[2] ); - //by simanies initializes the translation parameters - m_vMyKeyboardDirection.x = m_vMyKeyboardDirection.y = m_vMyKeyboardDirection.z = 0.0f; - D3DXMatrixIdentity(&m_mShift); + m_fCameraYawAngle = atan2f( zBasis.x, zBasis.z ); + float fLen = sqrtf( zBasis.z * zBasis.z + zBasis.x * zBasis.x ); + m_fCameraPitchAngle = -atan2f( zBasis.y, fLen ); } - - //-------------------------------------------------------------------------------------- // Calculates the projection matrix based on input params //-------------------------------------------------------------------------------------- -VOID CBaseCamera::SetProjParams( FLOAT fFOV, FLOAT fAspect, FLOAT fNearPlane, - FLOAT fFarPlane ) +_Use_decl_annotations_ +void CBaseCamera::SetProjParams( float fFOV, float fAspect, float fNearPlane, float fFarPlane ) { // Set attributes for the projection matrix m_fFOV = fFOV; @@ -306,15 +289,15 @@ VOID CBaseCamera::SetProjParams( FLOAT fFOV, FLOAT fAspect, FLOAT fNearPlane, m_fNearPlane = fNearPlane; m_fFarPlane = fFarPlane; - D3DXMatrixPerspectiveFovLH( &m_mProj, fFOV, fAspect, fNearPlane, fFarPlane ); + XMMATRIX mProj = XMMatrixPerspectiveFovLH( fFOV, fAspect, fNearPlane, fFarPlane ); + XMStoreFloat4x4( &m_mProj, mProj ); } - - //-------------------------------------------------------------------------------------- // Call this from your message proc so this class can handle window messages //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CBaseCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { UNREFERENCED_PARAMETER( hWnd ); @@ -330,6 +313,7 @@ LRESULT CBaseCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM D3DUtil_CameraKeys mappedKey = MapKey( ( UINT )wParam ); if( mappedKey != CAM_UNKNOWN ) { + _Analysis_assume_( mappedKey < CAM_MAX_KEYS ); if( FALSE == IsKeyDown( m_aKeys[mappedKey] ) ) { m_aKeys[ mappedKey ] = KEY_WAS_DOWN_MASK | KEY_IS_DOWN_MASK; @@ -443,13 +427,14 @@ LRESULT CBaseCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM return FALSE; } + //-------------------------------------------------------------------------------------- // Figure out the velocity based on keyboard input & drag if any //-------------------------------------------------------------------------------------- -void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bGetGamepadInput, - bool bResetCursorAfterMove ) +_Use_decl_annotations_ +void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bGetGamepadInput ) { - m_vKeyboardDirection = D3DXVECTOR3( 0, 0, 0 ); + m_vKeyboardDirection = DirectX::XMFLOAT3( 0, 0, 0 ); if( bGetKeyboardInput ) { // Update acceleration vector based on keyboard state @@ -470,17 +455,6 @@ void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bG m_vKeyboardDirection.x -= 1.0f; } - - if( IsKeyDown( m_aKeys[CAM_MOVE_FORWARD] ) ) - m_vMyKeyboardDirection.y -= 0.1f; - if( IsKeyDown( m_aKeys[CAM_MOVE_BACKWARD] ) ) - m_vMyKeyboardDirection.y += 0.1f; - - if( IsKeyDown( m_aKeys[CAM_STRAFE_RIGHT] ) ) - m_vMyKeyboardDirection.x -= 0.1f; - if( IsKeyDown( m_aKeys[CAM_STRAFE_LEFT] ) ) - m_vMyKeyboardDirection.x += 0.1f; - if( bGetMouseInput ) { UpdateMouseDelta(); @@ -488,8 +462,8 @@ void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bG if( bGetGamepadInput ) { - m_vGamePadLeftThumb = D3DXVECTOR3( 0, 0, 0 ); - m_vGamePadRightThumb = D3DXVECTOR3( 0, 0, 0 ); + m_vGamePadLeftThumb = DirectX::XMFLOAT3( 0, 0, 0 ); + m_vGamePadRightThumb = DirectX::XMFLOAT3( 0, 0, 0 ); // Get controller state for( DWORD iUserIndex = 0; iUserIndex < DXUT_MAX_CONTROLLERS; iUserIndex++ ) @@ -498,7 +472,7 @@ void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bG // Mark time if the controller is in a non-zero state if( m_GamePad[iUserIndex].wButtons || - m_GamePad[iUserIndex].sThumbLX || m_GamePad[iUserIndex].sThumbLX || + m_GamePad[iUserIndex].sThumbLX || m_GamePad[iUserIndex].sThumbLY || m_GamePad[iUserIndex].sThumbRX || m_GamePad[iUserIndex].sThumbRY || m_GamePad[iUserIndex].bLeftTrigger || m_GamePad[iUserIndex].bRightTrigger ) { @@ -538,13 +512,12 @@ void CBaseCamera::GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bG //-------------------------------------------------------------------------------------- void CBaseCamera::UpdateMouseDelta() { - POINT ptCurMouseDelta; - POINT ptCurMousePos; - // Get current position of mouse + POINT ptCurMousePos; GetCursorPos( &ptCurMousePos ); // Calc how far it's moved since last frame + POINT ptCurMouseDelta; ptCurMouseDelta.x = ptCurMousePos.x - m_ptLastMousePosition.x; ptCurMouseDelta.y = ptCurMousePos.y - m_ptLastMousePosition.y; @@ -577,26 +550,30 @@ void CBaseCamera::UpdateMouseDelta() m_vMouseDelta.x = m_vMouseDelta.x * fPercentOfOld + ptCurMouseDelta.x * fPercentOfNew; m_vMouseDelta.y = m_vMouseDelta.y * fPercentOfOld + ptCurMouseDelta.y * fPercentOfNew; - m_vRotVelocity = m_vMouseDelta * m_fRotationScaler; + m_vRotVelocity.x = m_vMouseDelta.x * m_fRotationScaler; + m_vRotVelocity.y = m_vMouseDelta.y * m_fRotationScaler; } - - //-------------------------------------------------------------------------------------- // Figure out the velocity based on keyboard input & drag if any //-------------------------------------------------------------------------------------- -void CBaseCamera::UpdateVelocity( float fElapsedTime ) +void CBaseCamera::UpdateVelocity( _In_ float fElapsedTime ) { - D3DXMATRIX mRotDelta; - D3DXVECTOR2 vGamePadRightThumb = D3DXVECTOR2( m_vGamePadRightThumb.x, -m_vGamePadRightThumb.z ); - m_vRotVelocity = m_vMouseDelta * m_fRotationScaler + vGamePadRightThumb * 0.02f; + XMVECTOR vGamePadRightThumb = XMVectorSet( m_vGamePadRightThumb.x, -m_vGamePadRightThumb.z, 0, 0 ); + + XMVECTOR vMouseDelta = XMLoadFloat2( &m_vMouseDelta ); + XMVECTOR vRotVelocity = vMouseDelta * m_fRotationScaler + vGamePadRightThumb * 0.02f; - D3DXVECTOR3 vAccel = m_vKeyboardDirection + m_vGamePadLeftThumb; + XMStoreFloat2( &m_vRotVelocity, vRotVelocity ); + + XMVECTOR vKeyboardDirection = XMLoadFloat3( &m_vKeyboardDirection ); + XMVECTOR vGamePadLeftThumb = XMLoadFloat3( &m_vGamePadLeftThumb ); + XMVECTOR vAccel = vKeyboardDirection + vGamePadLeftThumb; // Normalize vector so if moving 2 dirs (left & forward), // the camera doesn't move faster than if moving in 1 dir - D3DXVec3Normalize( &vAccel, &vAccel ); + vAccel = XMVector3Normalize( vAccel ); // Scale the acceleration vector vAccel *= m_fMoveScaler; @@ -604,15 +581,17 @@ void CBaseCamera::UpdateVelocity( float fElapsedTime ) if( m_bMovementDrag ) { // Is there any acceleration this frame? - if( D3DXVec3LengthSq( &vAccel ) > 0 ) + if( XMVectorGetX( XMVector3LengthSq( vAccel ) ) > 0 ) { - // If so, then this means the user has pressed a movement key\ + // If so, then this means the user has pressed a movement key // so change the velocity immediately to acceleration // upon keyboard input. This isn't normal physics // but it will give a quick response to keyboard input - m_vVelocity = vAccel; + XMStoreFloat3( &m_vVelocity, vAccel ); + m_fDragTimer = m_fTotalDragTimeToZero; - m_vVelocityDrag = vAccel / m_fDragTimer; + + XMStoreFloat3( &m_vVelocityDrag, vAccel / m_fDragTimer ); } else { @@ -620,48 +599,34 @@ void CBaseCamera::UpdateVelocity( float fElapsedTime ) if( m_fDragTimer > 0 ) { // Drag until timer is <= 0 - m_vVelocity -= m_vVelocityDrag * fElapsedTime; + XMVECTOR vVelocity = XMLoadFloat3( &m_vVelocity ); + XMVECTOR vVelocityDrag = XMLoadFloat3( &m_vVelocityDrag ); + + vVelocity -= vVelocityDrag * fElapsedTime; + + XMStoreFloat3( &m_vVelocity, vVelocity ); + m_fDragTimer -= fElapsedTime; } else { // Zero velocity - m_vVelocity = D3DXVECTOR3( 0, 0, 0 ); + m_vVelocity = DirectX::XMFLOAT3( 0, 0, 0 ); } } } else { // No drag, so immediately change the velocity - m_vVelocity = vAccel; + XMStoreFloat3( &m_vVelocity, vAccel ); } } - - -//-------------------------------------------------------------------------------------- -// Clamps pV to lie inside m_vMinBoundary & m_vMaxBoundary -//-------------------------------------------------------------------------------------- -void CBaseCamera::ConstrainToBoundary( D3DXVECTOR3* pV ) -{ - // Constrain vector to a bounding box - pV->x = __max( pV->x, m_vMinBoundary.x ); - pV->y = __max( pV->y, m_vMinBoundary.y ); - pV->z = __max( pV->z, m_vMinBoundary.z ); - - pV->x = __min( pV->x, m_vMaxBoundary.x ); - pV->y = __min( pV->y, m_vMaxBoundary.y ); - pV->z = __min( pV->z, m_vMaxBoundary.z ); -} - - - - //-------------------------------------------------------------------------------------- // Maps a windows virtual key to an enum //-------------------------------------------------------------------------------------- -D3DUtil_CameraKeys CBaseCamera::MapKey( UINT nKey ) +D3DUtil_CameraKeys CBaseCamera::MapKey( _In_ UINT nKey ) { // This could be upgraded to a method that's user-definable but for // simplicity, we'll use a hardcoded mapping. @@ -688,7 +653,7 @@ D3DUtil_CameraKeys CBaseCamera::MapKey( UINT nKey ) return CAM_STRAFE_RIGHT; case 'W': return CAM_MOVE_FORWARD; - case 'X': // Change back to S + case 'S': return CAM_MOVE_BACKWARD; case 'Q': return CAM_MOVE_DOWN; @@ -716,46 +681,50 @@ D3DUtil_CameraKeys CBaseCamera::MapKey( UINT nKey ) } - - //-------------------------------------------------------------------------------------- // Reset the camera's position back to the default //-------------------------------------------------------------------------------------- -VOID CBaseCamera::Reset() +void CBaseCamera::Reset() { - SetViewParams( &m_vDefaultEye, &m_vDefaultLookAt ); -} + XMVECTOR vDefaultEye = XMLoadFloat3( &m_vDefaultEye ); + XMVECTOR vDefaultLookAt = XMLoadFloat3( &m_vDefaultLookAt ); + SetViewParams( vDefaultEye, vDefaultLookAt ); +} +//====================================================================================== +// CFirstPersonCamera +//====================================================================================== -//-------------------------------------------------------------------------------------- -// Constructor -//-------------------------------------------------------------------------------------- -CFirstPersonCamera::CFirstPersonCamera() : m_nActiveButtonMask( 0x07 ) +CFirstPersonCamera::CFirstPersonCamera() noexcept : + m_mCameraWorld{}, + m_nActiveButtonMask( 0x07 ), + m_bRotateWithoutButtonDown(false) { - m_bRotateWithoutButtonDown = false; } - - //-------------------------------------------------------------------------------------- // Update the view matrix based on user input & elapsed time //-------------------------------------------------------------------------------------- -VOID CFirstPersonCamera::FrameMove( FLOAT fElapsedTime ) +void CFirstPersonCamera::FrameMove( _In_ float fElapsedTime ) { - if( DXUTGetGlobalTimer()->IsStopped() ) { - if (DXUTGetFPS() == 0.0f) fElapsedTime = 0; - else fElapsedTime = 1.0f / DXUTGetFPS(); + if( DXUTGetGlobalTimer()->IsStopped() ) + { + if (DXUTGetFPS() == 0.0f) + fElapsedTime = 0; + else + fElapsedTime = 1.0f / DXUTGetFPS(); } if( IsKeyDown( m_aKeys[CAM_RESET] ) ) + { Reset(); + } // Get keyboard/mouse/gamepad input - GetInput( m_bEnablePositionMovement, ( m_nActiveButtonMask & m_nCurrentButtonMask ) || m_bRotateWithoutButtonDown, - true, m_bResetCursorAfterMove ); + GetInput( m_bEnablePositionMovement, ( m_nActiveButtonMask & m_nCurrentButtonMask ) || m_bRotateWithoutButtonDown, true ); //// Get the mouse movement (if any) if the mouse button are down //if( (m_nActiveButtonMask & m_nCurrentButtonMask) || m_bRotateWithoutButtonDown ) @@ -765,13 +734,14 @@ VOID CFirstPersonCamera::FrameMove( FLOAT fElapsedTime ) UpdateVelocity( fElapsedTime ); // Simple euler method to calculate position delta - D3DXVECTOR3 vPosDelta = m_vVelocity * fElapsedTime; + XMVECTOR vVelocity = XMLoadFloat3( &m_vVelocity ); + XMVECTOR vPosDelta = vVelocity * fElapsedTime; // If rotating the camera - if( ( m_nActiveButtonMask & m_nCurrentButtonMask ) || - m_bRotateWithoutButtonDown || - m_vGamePadRightThumb.x != 0 || - m_vGamePadRightThumb.z != 0 ) + if( ( m_nActiveButtonMask & m_nCurrentButtonMask ) + || m_bRotateWithoutButtonDown + || m_vGamePadRightThumb.x != 0 + || m_vGamePadRightThumb.z != 0 ) { // Update the pitch & yaw angle based on mouse movement float fYawDelta = m_vRotVelocity.x; @@ -785,50 +755,50 @@ VOID CFirstPersonCamera::FrameMove( FLOAT fElapsedTime ) m_fCameraYawAngle += fYawDelta; // Limit pitch to straight up or straight down - m_fCameraPitchAngle = __max( -D3DX_PI / 2.0f, m_fCameraPitchAngle ); - m_fCameraPitchAngle = __min( +D3DX_PI / 2.0f, m_fCameraPitchAngle ); + m_fCameraPitchAngle = std::max( -XM_PI / 2.0f, m_fCameraPitchAngle ); + m_fCameraPitchAngle = std::min( +XM_PI / 2.0f, m_fCameraPitchAngle ); } // Make a rotation matrix based on the camera's yaw & pitch - D3DXMATRIX mCameraRot; - D3DXMatrixRotationYawPitchRoll( &mCameraRot, m_fCameraYawAngle, m_fCameraPitchAngle, 0 ); + XMMATRIX mCameraRot = XMMatrixRotationRollPitchYaw( m_fCameraPitchAngle, m_fCameraYawAngle, 0 ); // Transform vectors based on camera's rotation matrix - D3DXVECTOR3 vWorldUp, vWorldAhead; - D3DXVECTOR3 vLocalUp = D3DXVECTOR3( 0, 1, 0 ); - D3DXVECTOR3 vLocalAhead = D3DXVECTOR3( 0, 0, 1 ); - D3DXVec3TransformCoord( &vWorldUp, &vLocalUp, &mCameraRot ); - D3DXVec3TransformCoord( &vWorldAhead, &vLocalAhead, &mCameraRot ); + XMVECTOR vWorldUp = XMVector3TransformCoord( g_XMIdentityR1, mCameraRot ); + XMVECTOR vWorldAhead = XMVector3TransformCoord( g_XMIdentityR2, mCameraRot ); // Transform the position delta by the camera's rotation - D3DXVECTOR3 vPosDeltaWorld; if( !m_bEnableYAxisMovement ) { // If restricting Y movement, do not include pitch // when transforming position delta vector. - D3DXMatrixRotationYawPitchRoll( &mCameraRot, m_fCameraYawAngle, 0.0f, 0.0f ); + mCameraRot = XMMatrixRotationRollPitchYaw( 0.0f, m_fCameraYawAngle, 0.0f ); } - D3DXVec3TransformCoord( &vPosDeltaWorld, &vPosDelta, &mCameraRot ); + XMVECTOR vPosDeltaWorld = XMVector3TransformCoord( vPosDelta, mCameraRot ); // Move the eye position - m_vEye += vPosDeltaWorld; + XMVECTOR vEye = XMLoadFloat3( &m_vEye ); + vEye += vPosDeltaWorld; if( m_bClipToBoundary ) - ConstrainToBoundary( &m_vEye ); + vEye = ConstrainToBoundary( vEye ); + XMStoreFloat3( &m_vEye, vEye ); - // Update the lookAt position based on the eye position - m_vLookAt = m_vEye + vWorldAhead; + // Update the lookAt position based on the eye position + XMVECTOR vLookAt = vEye + vWorldAhead; + XMStoreFloat3( &m_vLookAt, vLookAt ); // Update the view matrix - D3DXMatrixLookAtLH( &m_mView, &m_vEye, &m_vLookAt, &vWorldUp ); - + XMMATRIX mView = XMMatrixLookAtLH( vEye, vLookAt, vWorldUp ); + XMStoreFloat4x4( &m_mView, mView ); - D3DXMatrixInverse( &m_mCameraWorld, NULL, &m_mView ); + XMMATRIX mCameraWorld = XMMatrixInverse( nullptr, mView ); + XMStoreFloat4x4( &m_mCameraWorld, mCameraWorld ); } //-------------------------------------------------------------------------------------- // Enable or disable each of the mouse buttons for rotation drag. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CFirstPersonCamera::SetRotateButtons( bool bLeft, bool bMiddle, bool bRight, bool bRotateWithoutButtonDown ) { m_nActiveButtonMask = ( bLeft ? MOUSE_LEFT_BUTTON : 0 ) | @@ -838,38 +808,40 @@ void CFirstPersonCamera::SetRotateButtons( bool bLeft, bool bMiddle, bool bRight } -//-------------------------------------------------------------------------------------- -// Constructor -//-------------------------------------------------------------------------------------- -CModelViewerCamera::CModelViewerCamera() -{ - D3DXMatrixIdentity( &m_mWorld ); - D3DXMatrixIdentity( &m_mModelRot ); - D3DXMatrixIdentity( &m_mModelLastRot ); - D3DXMatrixIdentity( &m_mCameraRotLast ); - m_vModelCenter = D3DXVECTOR3( 0, 0, 0 ); - m_fRadius = 5.0f; - m_fDefaultRadius = 5.0f; - m_fMinRadius = 0.1f; - m_fMaxRadius = FLT_MAX; - m_bLimitPitch = false; - m_bEnablePositionMovement = false; - m_bAttachCameraToModel = false; - m_nRotateModelButtonMask = MOUSE_LEFT_BUTTON; - m_nZoomButtonMask = MOUSE_WHEEL; - m_nRotateCameraButtonMask = MOUSE_RIGHT_BUTTON; - m_bDragSinceLastUpdate = true; -} +//====================================================================================== +// CModelViewerCamera +//====================================================================================== +CModelViewerCamera::CModelViewerCamera() noexcept : + m_nRotateModelButtonMask(MOUSE_LEFT_BUTTON), + m_nZoomButtonMask(MOUSE_WHEEL), + m_nRotateCameraButtonMask(MOUSE_RIGHT_BUTTON), + m_bAttachCameraToModel(false), + m_bLimitPitch(false), + m_bDragSinceLastUpdate(true), + m_fRadius(5.0f), + m_fDefaultRadius(5.0f), + m_fMinRadius(1.0f), + m_fMaxRadius(FLT_MAX) +{ + XMMATRIX id = XMMatrixIdentity(); + + XMStoreFloat4x4( &m_mWorld, id ); + XMStoreFloat4x4( &m_mModelRot, id ); + XMStoreFloat4x4( &m_mModelLastRot, id ); + XMStoreFloat4x4( &m_mCameraRotLast, id ); + m_vModelCenter = DirectX::XMFLOAT3( 0, 0, 0 ); + m_bEnablePositionMovement = false; +} //-------------------------------------------------------------------------------------- // Update the view matrix & the model's world matrix based // on user input & elapsed time //-------------------------------------------------------------------------------------- -VOID CModelViewerCamera::FrameMove( FLOAT fElapsedTime ) +void CModelViewerCamera::FrameMove( _In_ float fElapsedTime ) { if( IsKeyDown( m_aKeys[CAM_RESET] ) ) Reset(); @@ -878,108 +850,109 @@ VOID CModelViewerCamera::FrameMove( FLOAT fElapsedTime ) // and no camera key is held down, then no need to handle again. if( !m_bDragSinceLastUpdate && 0 == m_cKeysDown ) return; + m_bDragSinceLastUpdate = false; //// If no mouse button is held down, //// Get the mouse movement (if any) if the mouse button are down //if( m_nCurrentButtonMask != 0 ) // UpdateMouseDelta( fElapsedTime ); - //m_bEnablePositionMovement = true; - GetInput( m_bEnablePositionMovement, m_nCurrentButtonMask != 0, true, false ); + + GetInput( m_bEnablePositionMovement, m_nCurrentButtonMask != 0, true ); // Get amount of velocity based on the keyboard input and drag (if any) UpdateVelocity( fElapsedTime ); // Simple euler method to calculate position delta - D3DXVECTOR3 vPosDelta = m_vVelocity * fElapsedTime; + XMVECTOR vPosDelta = XMLoadFloat3( &m_vVelocity ) * fElapsedTime; // Change the radius from the camera to the model based on wheel scrolling - if( m_nMouseWheelDelta && m_nZoomButtonMask & MOUSE_WHEEL ) + if( m_nMouseWheelDelta && m_nZoomButtonMask == MOUSE_WHEEL ) m_fRadius -= m_nMouseWheelDelta * m_fRadius * 0.1f / 120.0f; - - m_fRadius = __min( m_fMaxRadius, m_fRadius ); - m_fRadius = __max( m_fMinRadius, m_fRadius ); + m_fRadius = std::min( m_fMaxRadius, m_fRadius ); + m_fRadius = std::max( m_fMinRadius, m_fRadius ); m_nMouseWheelDelta = 0; // Get the inverse of the arcball's rotation matrix - D3DXMATRIX mCameraRot; - D3DXMatrixInverse( &mCameraRot, NULL, m_ViewArcBall.GetRotationMatrix() ); + XMMATRIX mCameraRot = XMMatrixInverse( nullptr, m_ViewArcBall.GetRotationMatrix() ); // Transform vectors based on camera's rotation matrix - D3DXVECTOR3 vWorldUp, vWorldAhead; - D3DXVECTOR3 vLocalUp = D3DXVECTOR3( 0, 1, 0 ); - D3DXVECTOR3 vLocalAhead = D3DXVECTOR3( 0, 0, 1 ); - D3DXVec3TransformCoord( &vWorldUp, &vLocalUp, &mCameraRot ); - D3DXVec3TransformCoord( &vWorldAhead, &vLocalAhead, &mCameraRot ); + XMVECTOR vWorldUp = XMVector3TransformCoord( g_XMIdentityR1, mCameraRot ); + XMVECTOR vWorldAhead = XMVector3TransformCoord( g_XMIdentityR2, mCameraRot ); // Transform the position delta by the camera's rotation - D3DXVECTOR3 vPosDeltaWorld; - D3DXVec3TransformCoord( &vPosDeltaWorld, &vPosDelta, &mCameraRot ); + XMVECTOR vPosDeltaWorld = XMVector3TransformCoord( vPosDelta, mCameraRot ); // Move the lookAt position - m_vLookAt += vPosDeltaWorld; + XMVECTOR vLookAt = XMLoadFloat3( &m_vLookAt ); + vLookAt += vPosDeltaWorld; if( m_bClipToBoundary ) - ConstrainToBoundary( &m_vLookAt ); + vLookAt = ConstrainToBoundary( vLookAt ); + XMStoreFloat3( &m_vLookAt, vLookAt ); // Update the eye point based on a radius away from the lookAt position - m_vEye = m_vLookAt - vWorldAhead * m_fRadius; + XMVECTOR vEye = vLookAt - vWorldAhead * m_fRadius; + XMStoreFloat3( &m_vEye, vEye ); // Update the view matrix - D3DXMatrixLookAtLH( &m_mView, &m_vEye, &m_vLookAt, &vWorldUp ); + XMMATRIX mView = XMMatrixLookAtLH( vEye, vLookAt, vWorldUp ); + XMStoreFloat4x4( &m_mView, mView ); - D3DXMATRIX mInvView; - D3DXMatrixInverse( &mInvView, NULL, &m_mView ); - mInvView._41 = mInvView._42 = mInvView._43 = 0; + XMMATRIX mInvView = XMMatrixInverse( nullptr, mView ); + mInvView.r[3] = XMVectorSelect( mInvView.r[3], g_XMZero, g_XMSelect1110 ); - D3DXMATRIX mModelLastRotInv; - D3DXMatrixInverse( &mModelLastRotInv, NULL, &m_mModelLastRot ); + XMMATRIX mModelLastRot = XMLoadFloat4x4( &m_mModelLastRot ); + XMMATRIX mModelLastRotInv = XMMatrixInverse( nullptr, mModelLastRot ); // Accumulate the delta of the arcball's rotation in view space. // Note that per-frame delta rotations could be problematic over long periods of time. - D3DXMATRIX mModelRot; - mModelRot = *m_WorldArcBall.GetRotationMatrix(); - m_mModelRot *= m_mView * mModelLastRotInv * mModelRot * mInvView; + XMMATRIX mModelRot0 = m_WorldArcBall.GetRotationMatrix(); + XMMATRIX mModelRot = XMLoadFloat4x4( &m_mModelRot ); + mModelRot *= mView * mModelLastRotInv * mModelRot0 * mInvView; if( m_ViewArcBall.IsBeingDragged() && m_bAttachCameraToModel && !IsKeyDown( m_aKeys[CAM_CONTROLDOWN] ) ) { // Attach camera to model by inverse of the model rotation - D3DXMATRIX mCameraLastRotInv; - D3DXMatrixInverse( &mCameraLastRotInv, NULL, &m_mCameraRotLast ); - D3DXMATRIX mCameraRotDelta = mCameraLastRotInv * mCameraRot; // local to world matrix - m_mModelRot *= mCameraRotDelta; + XMMATRIX mCameraRotLast = XMLoadFloat4x4( &m_mCameraRotLast ); + XMMATRIX mCameraLastRotInv = XMMatrixInverse( nullptr, mCameraRotLast ); + XMMATRIX mCameraRotDelta = mCameraLastRotInv * mCameraRot; // local to world matrix + mModelRot *= mCameraRotDelta; } - m_mCameraRotLast = mCameraRot; - m_mModelLastRot = mModelRot; + XMStoreFloat4x4( &m_mModelLastRot, mModelRot0 ); + XMStoreFloat4x4( &m_mCameraRotLast, mCameraRot ); // Since we're accumulating delta rotations, we need to orthonormalize // the matrix to prevent eventual matrix skew - D3DXVECTOR3* pXBasis = ( D3DXVECTOR3* )&m_mModelRot._11; - D3DXVECTOR3* pYBasis = ( D3DXVECTOR3* )&m_mModelRot._21; - D3DXVECTOR3* pZBasis = ( D3DXVECTOR3* )&m_mModelRot._31; - D3DXVec3Normalize( pXBasis, pXBasis ); - D3DXVec3Cross( pYBasis, pZBasis, pXBasis ); - D3DXVec3Normalize( pYBasis, pYBasis ); - D3DXVec3Cross( pZBasis, pXBasis, pYBasis ); + XMVECTOR xBasis = XMVector3Normalize( mModelRot.r[0] ); + XMVECTOR yBasis = XMVector3Cross( mModelRot.r[2], xBasis ); + yBasis = XMVector3Normalize( yBasis ); + XMVECTOR zBasis = XMVector3Cross( xBasis, yBasis ); + + mModelRot.r[0] = XMVectorSelect( mModelRot.r[0], xBasis, g_XMSelect1110 ); + mModelRot.r[1] = XMVectorSelect( mModelRot.r[1], yBasis, g_XMSelect1110 ); + mModelRot.r[2] = XMVectorSelect( mModelRot.r[2], zBasis, g_XMSelect1110 ); // Translate the rotation matrix to the same position as the lookAt position - m_mModelRot._41 = m_vLookAt.x; - m_mModelRot._42 = m_vLookAt.y; - m_mModelRot._43 = m_vLookAt.z; + mModelRot.r[3] = XMVectorSelect( mModelRot.r[3], vLookAt, g_XMSelect1110 ); + + XMStoreFloat4x4( &m_mModelRot, mModelRot ); // Translate world matrix so its at the center of the model - D3DXMATRIX mTrans; - D3DXMatrixTranslation( &mTrans, -m_vModelCenter.x, -m_vModelCenter.y, -m_vModelCenter.z ); - m_mWorld = mTrans * m_mModelRot; + XMMATRIX mTrans = XMMatrixTranslation( -m_vModelCenter.x, -m_vModelCenter.y, -m_vModelCenter.z ); + XMMATRIX mWorld = mTrans * mModelRot; + XMStoreFloat4x4( &m_mWorld, mWorld ); } -void CModelViewerCamera::SetDragRect( RECT& rc ) +//-------------------------------------------------------------------------------------- +void CModelViewerCamera::SetDragRect( _In_ const RECT& rc ) { CBaseCamera::SetDragRect( rc ); m_WorldArcBall.SetOffset( rc.left, rc.top ); m_ViewArcBall.SetOffset( rc.left, rc.top ); + SetWindow( rc.right - rc.left, rc.bottom - rc.top ); } @@ -987,47 +960,49 @@ void CModelViewerCamera::SetDragRect( RECT& rc ) //-------------------------------------------------------------------------------------- // Reset the camera's position back to the default //-------------------------------------------------------------------------------------- -VOID CModelViewerCamera::Reset() +void CModelViewerCamera::Reset() { CBaseCamera::Reset(); - D3DXMatrixIdentity( &m_mWorld ); - D3DXMatrixIdentity( &m_mModelRot ); - D3DXMatrixIdentity( &m_mModelLastRot ); - D3DXMatrixIdentity( &m_mCameraRotLast ); + XMMATRIX id = XMMatrixIdentity(); + XMStoreFloat4x4( &m_mWorld, id ); + XMStoreFloat4x4( &m_mModelRot, id ); + XMStoreFloat4x4( &m_mModelLastRot, id ); + XMStoreFloat4x4( &m_mCameraRotLast, id ); m_fRadius = m_fDefaultRadius; m_WorldArcBall.Reset(); m_ViewArcBall.Reset(); } + //-------------------------------------------------------------------------------------- // Override for setting the view parameters //-------------------------------------------------------------------------------------- -void CModelViewerCamera::SetViewParams( D3DXVECTOR3* pvEyePt, D3DXVECTOR3* pvLookatPt ) +_Use_decl_annotations_ +void CModelViewerCamera::SetViewParams( FXMVECTOR vEyePt, FXMVECTOR vLookatPt ) { - CBaseCamera::SetViewParams( pvEyePt, pvLookatPt ); + CBaseCamera::SetViewParams( vEyePt, vLookatPt ); // Propogate changes to the member arcball - D3DXQUATERNION quat; - D3DXMATRIXA16 mRotation; - D3DXVECTOR3 vUp( 0,1,0 ); - D3DXMatrixLookAtLH( &mRotation, pvEyePt, pvLookatPt, &vUp ); - D3DXQuaternionRotationMatrix( &quat, &mRotation ); + XMMATRIX mRotation = XMMatrixLookAtLH( vEyePt, vLookatPt, g_XMIdentityR1 ); + XMVECTOR quat = XMQuaternionRotationMatrix( mRotation ); m_ViewArcBall.SetQuatNow( quat ); // Set the radius according to the distance - D3DXVECTOR3 vEyeToPoint; - D3DXVec3Subtract( &vEyeToPoint, pvLookatPt, pvEyePt ); - SetRadius( D3DXVec3Length( &vEyeToPoint ), 0.2f ); + XMVECTOR vEyeToPoint = XMVectorSubtract( vLookatPt, vEyePt ); + float len = XMVectorGetX( XMVector3Length( vEyeToPoint ) ); + SetRadius( len ); // View information changed. FrameMove should be called. m_bDragSinceLastUpdate = true; } + //-------------------------------------------------------------------------------------- // Call this from your message proc so this class can handle window messages //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CModelViewerCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { CBaseCamera::HandleMessages( hWnd, uMsg, wParam, lParam ); @@ -1057,15 +1032,6 @@ LRESULT CModelViewerCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, int iMouseY = ( short )HIWORD( lParam ); m_WorldArcBall.OnMove( iMouseX, iMouseY ); m_ViewArcBall.OnMove( iMouseX, iMouseY ); - - - if (m_nZoomButtonMask & MOUSE_RIGHT_BUTTON && m_bMouseRButtonDown) { - FLOAT fDeltaX = (FLOAT)( m_ptLastMouseX - iMouseX ); - //FLOAT fDeltaY = (FLOAT)( m_ptLastMousePosition.y - iMouseY ); - //m_fRadius -= fDeltaX * m_fRadius * 0.1f / 120.0f; - m_fRadius -= fDeltaX * m_fRadius / 100.0f; - } - m_ptLastMouseX = iMouseX; } if( ( uMsg == WM_LBUTTONUP && m_nRotateModelButtonMask & MOUSE_LEFT_BUTTON ) || @@ -1121,152 +1087,32 @@ LRESULT CModelViewerCamera::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, } +//====================================================================================== +// CDXUTDirectionWidget +//====================================================================================== -//-------------------------------------------------------------------------------------- -// D3D9 -IDirect3DDevice9* CDXUTDirectionWidget::s_pd3d9Device = NULL; -ID3DXEffect* CDXUTDirectionWidget::s_pD3D9Effect = NULL; -ID3DXMesh* CDXUTDirectionWidget::s_pD3D9Mesh = NULL; -D3DXHANDLE CDXUTDirectionWidget::s_hRenderWith1LightNoTexture = NULL; -D3DXHANDLE CDXUTDirectionWidget::s_hMaterialDiffuseColor = NULL; -D3DXHANDLE CDXUTDirectionWidget::s_hLightDir = NULL; -D3DXHANDLE CDXUTDirectionWidget::s_hWorldViewProjection = NULL; -D3DXHANDLE CDXUTDirectionWidget::s_hWorld = NULL; - - -//-------------------------------------------------------------------------------------- -CDXUTDirectionWidget::CDXUTDirectionWidget() +CDXUTDirectionWidget::CDXUTDirectionWidget() noexcept : + m_fRadius(1.0f), + m_nRotateMask(MOUSE_RIGHT_BUTTON) { - m_fRadius = 1.0f; - m_vDefaultDir = D3DXVECTOR3( 0, 1, 0 ); + m_vDefaultDir = DirectX::XMFLOAT3( 0, 1, 0 ); m_vCurrentDir = m_vDefaultDir; - m_nRotateMask = MOUSE_RIGHT_BUTTON; - - D3DXMatrixIdentity( &m_mView ); - D3DXMatrixIdentity( &m_mRot ); - D3DXMatrixIdentity( &m_mRotSnapshot ); -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDirectionWidget::StaticOnD3D9CreateDevice( IDirect3DDevice9* pd3dDevice ) -{ - HRESULT hr; - - s_pd3d9Device = pd3dDevice; - - const char* g_strBuffer = - "float4 g_MaterialDiffuseColor; // Material's diffuse color\r\n" - "float3 g_LightDir; // Light's direction in world space\r\n" - "float4x4 g_mWorld; // World matrix for object\r\n" - "float4x4 g_mWorldViewProjection; // World * View * Projection matrix\r\n" - "\r\n" - "struct VS_OUTPUT\r\n" - "{\r\n" - " float4 Position : POSITION; // vertex position\r\n" - " float4 Diffuse : COLOR0; // vertex diffuse color\r\n" - "};\r\n" - "\r\n" - "VS_OUTPUT RenderWith1LightNoTextureVS( float4 vPos : POSITION,\r\n" - " float3 vNormal : NORMAL )\r\n" - "{\r\n" - " VS_OUTPUT Output;\r\n" - "\r\n" - " // Transform the position from object space to homogeneous projection space\r\n" - " Output.Position = mul(vPos, g_mWorldViewProjection);\r\n" - "\r\n" - " // Transform the normal from object space to world space\r\n" - " float3 vNormalWorldSpace;\r\n" - " vNormalWorldSpace = normalize(mul(vNormal, (float3x3)g_mWorld)); // normal (world space)\r\n" - "\r\n" - " // Compute simple directional lighting equation\r\n" - " Output.Diffuse.rgb = g_MaterialDiffuseColor * max(0,dot(vNormalWorldSpace, g_LightDir));\r\n" - " Output.Diffuse.a = 1.0f;\r\n" - "\r\n" - " return Output;\r\n" - "}\r\n" - "\r\n" - "float4 RenderWith1LightNoTexturePS( float4 Diffuse : COLOR0 ) : COLOR0\r\n" - "{\r\n" - " return Diffuse;\r\n" - "}\r\n" - "\r\n" - "technique RenderWith1LightNoTexture\r\n" - "{\r\n" - " pass P0\r\n" - " {\r\n" - " VertexShader = compile vs_2_0 RenderWith1LightNoTextureVS();\r\n" - " PixelShader = compile ps_2_0 RenderWith1LightNoTexturePS();\r\n" - " }\r\n" - "}\r\n" - ""; - - UINT dwBufferSize = ( UINT )strlen( g_strBuffer ) + 1; - - DWORD Flags = D3DXFX_NOT_CLONEABLE; -#ifdef D3DXFX_LARGEADDRESS_HANDLE - Flags |= D3DXFX_LARGEADDRESSAWARE; -#endif - - V_RETURN( D3DXCreateEffect( s_pd3d9Device, g_strBuffer, dwBufferSize, NULL, NULL, Flags, - NULL, &s_pD3D9Effect, NULL ) ); - - // Save technique handles for use when rendering - s_hRenderWith1LightNoTexture = s_pD3D9Effect->GetTechniqueByName( "RenderWith1LightNoTexture" ); - s_hMaterialDiffuseColor = s_pD3D9Effect->GetParameterByName( NULL, "g_MaterialDiffuseColor" ); - s_hLightDir = s_pD3D9Effect->GetParameterByName( NULL, "g_LightDir" ); - s_hWorld = s_pD3D9Effect->GetParameterByName( NULL, "g_mWorld" ); - s_hWorldViewProjection = s_pD3D9Effect->GetParameterByName( NULL, "g_mWorldViewProjection" ); - - // Load the mesh with D3DX and get back a ID3DXMesh*. For this - // sample we'll ignore the X file's embedded materials since we know - // exactly the model we're loading. See the mesh samples such as - // "OptimizedMesh" for a more generic mesh loading example. - V_RETURN( DXUTCreateArrowMeshFromInternalArray( s_pd3d9Device, &s_pD3D9Mesh ) ); - - // Optimize the mesh for this graphics card's vertex cache - // so when rendering the mesh's triangle list the vertices will - // cache hit more often so it won't have to re-execute the vertex shader - // on those vertices so it will improve perf. - DWORD* rgdwAdjacency = new DWORD[s_pD3D9Mesh->GetNumFaces() * 3]; - if( rgdwAdjacency == NULL ) - return E_OUTOFMEMORY; - V( s_pD3D9Mesh->GenerateAdjacency( 1e-6f, rgdwAdjacency ) ); - V( s_pD3D9Mesh->OptimizeInplace( D3DXMESHOPT_VERTEXCACHE, rgdwAdjacency, NULL, NULL, NULL ) ); - delete []rgdwAdjacency; - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDirectionWidget::OnD3D9ResetDevice( const D3DSURFACE_DESC* pBackBufferSurfaceDesc ) -{ - m_ArcBall.SetWindow( pBackBufferSurfaceDesc->Width, pBackBufferSurfaceDesc->Height ); - return S_OK; -} + XMMATRIX id = XMMatrixIdentity(); -//-------------------------------------------------------------------------------------- -void CDXUTDirectionWidget::StaticOnD3D9LostDevice() -{ - if( s_pD3D9Effect ) - s_pD3D9Effect->OnLostDevice(); -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDirectionWidget::StaticOnD3D9DestroyDevice() -{ - SAFE_RELEASE( s_pD3D9Effect ); - SAFE_RELEASE( s_pD3D9Mesh ); + XMStoreFloat4x4( &m_mView, id ); + XMStoreFloat4x4( &m_mRot, id ); + XMStoreFloat4x4( &m_mRotSnapshot, id ); } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CDXUTDirectionWidget::HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + switch( uMsg ) { case WM_LBUTTONDOWN: @@ -1333,222 +1179,71 @@ LRESULT CDXUTDirectionWidget::HandleMessages( HWND hWnd, UINT uMsg, } -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDirectionWidget::OnRender9( D3DXCOLOR color, const D3DXMATRIX* pmView, - const D3DXMATRIX* pmProj, const D3DXVECTOR3* pEyePt ) -{ - m_mView = *pmView; - - // Render the light spheres so the user can visually see the light dir - UINT iPass, cPasses; - D3DXMATRIX mRotate; - D3DXMATRIX mScale; - D3DXMATRIX mTrans; - D3DXMATRIXA16 mWorldViewProj; - HRESULT hr; - - V( s_pD3D9Effect->SetTechnique( s_hRenderWith1LightNoTexture ) ); - V( s_pD3D9Effect->SetVector( s_hMaterialDiffuseColor, ( D3DXVECTOR4* )&color ) ); - - D3DXVECTOR3 vEyePt; - D3DXVec3Normalize( &vEyePt, pEyePt ); - V( s_pD3D9Effect->SetValue( s_hLightDir, &vEyePt, sizeof( D3DXVECTOR3 ) ) ); - - // Rotate arrow model to point towards origin - D3DXMATRIX mRotateA, mRotateB; - D3DXVECTOR3 vAt = D3DXVECTOR3( 0, 0, 0 ); - D3DXVECTOR3 vUp = D3DXVECTOR3( 0, 1, 0 ); - D3DXMatrixRotationX( &mRotateB, D3DX_PI ); - D3DXMatrixLookAtLH( &mRotateA, &m_vCurrentDir, &vAt, &vUp ); - D3DXMatrixInverse( &mRotateA, NULL, &mRotateA ); - mRotate = mRotateB * mRotateA; - - D3DXVECTOR3 vL = m_vCurrentDir * m_fRadius * 1.0f; - D3DXMatrixTranslation( &mTrans, vL.x, vL.y, vL.z ); - D3DXMatrixScaling( &mScale, m_fRadius * 0.2f, m_fRadius * 0.2f, m_fRadius * 0.2f ); - - D3DXMATRIX mWorld = mRotate * mScale * mTrans; - mWorldViewProj = mWorld * ( m_mView )*( *pmProj ); - - V( s_pD3D9Effect->SetMatrix( s_hWorldViewProjection, &mWorldViewProj ) ); - V( s_pD3D9Effect->SetMatrix( s_hWorld, &mWorld ) ); - - for( int iSubset = 0; iSubset < 2; iSubset++ ) - { - V( s_pD3D9Effect->Begin( &cPasses, 0 ) ); - for( iPass = 0; iPass < cPasses; iPass++ ) - { - V( s_pD3D9Effect->BeginPass( iPass ) ); - V( s_pD3D9Mesh->DrawSubset( iSubset ) ); - V( s_pD3D9Effect->EndPass() ); - } - V( s_pD3D9Effect->End() ); - } - - return S_OK; -} - //-------------------------------------------------------------------------------------- HRESULT CDXUTDirectionWidget::UpdateLightDir() { - D3DXMATRIX mInvView; - D3DXMatrixInverse( &mInvView, NULL, &m_mView ); - mInvView._41 = mInvView._42 = mInvView._43 = 0; + XMMATRIX mView = XMLoadFloat4x4( &m_mView ); + + XMMATRIX mInvView = XMMatrixInverse( nullptr, mView ); + mInvView.r[3] = XMVectorSelect( mInvView.r[3], g_XMZero, g_XMSelect1110 ); - D3DXMATRIX mLastRotInv; - D3DXMatrixInverse( &mLastRotInv, NULL, &m_mRotSnapshot ); + XMMATRIX mRotSnapshot = XMLoadFloat4x4( &m_mRotSnapshot ); + XMMATRIX mLastRotInv = XMMatrixInverse( nullptr, mRotSnapshot ); - D3DXMATRIX mRot = *m_ArcBall.GetRotationMatrix(); - m_mRotSnapshot = mRot; + XMMATRIX mRot0 = m_ArcBall.GetRotationMatrix(); + XMStoreFloat4x4( &m_mRotSnapshot, mRot0 ); // Accumulate the delta of the arcball's rotation in view space. // Note that per-frame delta rotations could be problematic over long periods of time. - m_mRot *= m_mView * mLastRotInv * mRot * mInvView; + XMMATRIX mRot = XMLoadFloat4x4( &m_mRot ); + mRot *= mView * mLastRotInv * mRot0 * mInvView; // Since we're accumulating delta rotations, we need to orthonormalize // the matrix to prevent eventual matrix skew - D3DXVECTOR3* pXBasis = ( D3DXVECTOR3* )&m_mRot._11; - D3DXVECTOR3* pYBasis = ( D3DXVECTOR3* )&m_mRot._21; - D3DXVECTOR3* pZBasis = ( D3DXVECTOR3* )&m_mRot._31; - D3DXVec3Normalize( pXBasis, pXBasis ); - D3DXVec3Cross( pYBasis, pZBasis, pXBasis ); - D3DXVec3Normalize( pYBasis, pYBasis ); - D3DXVec3Cross( pZBasis, pXBasis, pYBasis ); + XMVECTOR xBasis = XMVector3Normalize( mRot.r[0] ); + XMVECTOR yBasis = XMVector3Cross( mRot.r[2], xBasis ); + yBasis = XMVector3Normalize( yBasis ); + XMVECTOR zBasis = XMVector3Cross( xBasis, yBasis ); + mRot.r[0] = XMVectorSelect( mRot.r[0], xBasis, g_XMSelect1110 ); + mRot.r[1] = XMVectorSelect( mRot.r[1], yBasis, g_XMSelect1110 ); + mRot.r[2] = XMVectorSelect( mRot.r[2], zBasis, g_XMSelect1110 ); + XMStoreFloat4x4( &m_mRot, mRot ); // Transform the default direction vector by the light's rotation matrix - D3DXVec3TransformNormal( &m_vCurrentDir, &m_vDefaultDir, &m_mRot ); + XMVECTOR vDefaultDir = XMLoadFloat3( &m_vDefaultDir ); + XMVECTOR vCurrentDir = XMVector3TransformNormal( vDefaultDir, mRot ); + XMStoreFloat3( &m_vCurrentDir, vCurrentDir ); return S_OK; } + //-------------------------------------------------------------------------------------- -HRESULT CDXUTDirectionWidget::StaticOnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ) +_Use_decl_annotations_ +HRESULT CDXUTDirectionWidget::OnRender( FXMVECTOR color, CXMMATRIX mView, CXMMATRIX mProj, FXMVECTOR vEyePt ) { - - - //s_pd3d10Device = pd3dDevice; - - //const char* g_strBuffer = - // "float4 g_MaterialDiffuseColor; // Material's diffuse color\r\n" - // "float4 g_LightDir; // Light's direction in world space\r\n" - // "float4x4 g_mWorld; // World matrix for object\r\n" - // "float4x4 g_mWorldViewProjection; // World * View * Projection matrix\r\n" - // "\r\n" - // "struct VS_OUTPUT\r\n" - // "{\r\n" - // " float4 Position : SV_POSITION; // vertex position\r\n" - // " float4 Diffuse : COLOR0; // vertex diffuse color\r\n" - // "};\r\n" - // "\r\n" - // "VS_OUTPUT RenderWith1LightNoTextureVS( float3 vPos : POSITION,\r\n" - // " float3 vNormal : NORMAL )\r\n" - // "{\r\n" - // " VS_OUTPUT Output;\r\n" - // "\r\n" - // " // Transform the position from object space to homogeneous projection space\r\n" - // " Output.Position = mul( float4(vPos,1), g_mWorldViewProjection);\r\n" - // "\r\n" - // " // Transform the normal from object space to world space\r\n" - // " float3 vNormalWorldSpace;\r\n" - // " vNormalWorldSpace = normalize(mul(vNormal, (float3x3)g_mWorld)); // normal (world space)\r\n" - // "\r\n" - // " // Compute simple directional lighting equation\r\n" - // " Output.Diffuse.rgb = g_MaterialDiffuseColor * max(0,dot(vNormalWorldSpace, g_LightDir));\r\n" - // " Output.Diffuse.a = 1.0f;\r\n" - // "\r\n" - // " return Output;\r\n" - // "}\r\n" - // "\r\n" - // "float4 RenderWith1LightNoTexturePS( VS_OUTPUT Input ) : SV_TARGET\r\n" - // "{\r\n" - // " return Input.Diffuse;\r\n" - // "}\r\n" - // "\r\n" - // "technique10 RenderWith1LightNoTexture\r\n" - // "{\r\n" - // " pass p0\r\n" - // " {\r\n" - // " SetVertexShader( CompileShader( vs_4_0, RenderWith1LightNoTextureVS() ) );\r\n" - // " SetGeometryShader( NULL );\r\n" - // " SetPixelShader( CompileShader( ps_4_0, RenderWith1LightNoTexturePS() ) );\r\n" - // " }\r\n" - // "}\r\n" - // ""; - - //UINT dwBufferSize = ( UINT )strlen( g_strBuffer ) + 1; - - //HRESULT hr = D3DX10CreateEffectFromMemory( g_strBuffer, dwBufferSize, "None", NULL, NULL, "fx_4_0", - // D3D10_SHADER_ENABLE_STRICTNESS, 0, pd3dDevice, NULL, - // NULL, &s_pD3D10Effect, NULL, NULL ); - //if( FAILED( hr ) ) - // return hr; - - //s_pRenderTech = s_pD3D10Effect->GetTechniqueByName( "RenderWith1LightNoTexture" ); - //g_pMaterialDiffuseColor = s_pD3D10Effect->GetVariableByName( "g_MaterialDiffuseColor" )->AsVector(); - //g_pLightDir = s_pD3D10Effect->GetVariableByName( "g_LightDir" )->AsVector(); - //g_pmWorld = s_pD3D10Effect->GetVariableByName( "g_mWorld" )->AsMatrix(); - //g_pmWorldViewProjection = s_pD3D10Effect->GetVariableByName( "g_mWorldViewProjection" )->AsMatrix(); - - //const D3D10_INPUT_ELEMENT_DESC layout[] = - //{ - // { "POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 }, - // { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 }, - //}; - //D3D10_PASS_DESC PassDesc; - //V_RETURN( s_pRenderTech->GetPassByIndex( 0 )->GetDesc( &PassDesc ) ); - //V_RETURN( pd3dDevice->CreateInputLayout( layout, 2, PassDesc.pIAInputSignature, - // PassDesc.IAInputSignatureSize, &s_pVertexLayout ) ); - + UNREFERENCED_PARAMETER(color); + UNREFERENCED_PARAMETER(mView); + UNREFERENCED_PARAMETER(mProj); + UNREFERENCED_PARAMETER(vEyePt); + // TODO - return S_OK; } + //-------------------------------------------------------------------------------------- -HRESULT CDXUTDirectionWidget::OnRender11( D3DXCOLOR color, const D3DXMATRIX* pmView, const D3DXMATRIX* pmProj, - const D3DXVECTOR3* pEyePt ) +_Use_decl_annotations_ +HRESULT CDXUTDirectionWidget::StaticOnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ) { - // NO 11 version of D3DX11Mesh YET - // m_mView = *pmView; - - // // Render the light spheres so the user can visually see the light dir - // D3DXMATRIX mRotate; - // D3DXMATRIX mScale; - // D3DXMATRIX mTrans; - // D3DXMATRIXA16 mWorldViewProj; - - // g_pMaterialDiffuseColor->SetFloatVector( ( float* )&color ); - // D3DXVECTOR3 vEyePt; - // D3DXVec3Normalize( &vEyePt, pEyePt ); - // g_pLightDir->SetFloatVector( ( float* )&vEyePt ); - - // // Rotate arrow model to point towards origin - // D3DXMATRIX mRotateA, mRotateB; - // D3DXVECTOR3 vAt = D3DXVECTOR3( 0, 0, 0 ); - // D3DXVECTOR3 vUp = D3DXVECTOR3( 0, 1, 0 ); - // D3DXMatrixRotationX( &mRotateB, D3DX_PI ); - // D3DXMatrixLookAtLH( &mRotateA, &m_vCurrentDir, &vAt, &vUp ); - // D3DXMatrixInverse( &mRotateA, NULL, &mRotateA ); - // mRotate = mRotateB * mRotateA; - - // D3DXVECTOR3 vL = m_vCurrentDir * m_fRadius * 1.0f; - // D3DXMatrixTranslation( &mTrans, vL.x, vL.y, vL.z ); - // D3DXMatrixScaling( &mScale, m_fRadius * 0.2f, m_fRadius * 0.2f, m_fRadius * 0.2f ); - - // D3DXMATRIX mWorld = mRotate * mScale * mTrans; - // mWorldViewProj = mWorld * ( m_mView )*( *pmProj ); - - // g_pmWorldViewProjection->SetMatrix( ( float* )&mWorldViewProj ); - // g_pmWorld->SetMatrix( ( float* )&mWorld ); - - // s_pd3d10Device->IASetInputLayout( s_pVertexLayout ); - - // Add rendering code here - + UNREFERENCED_PARAMETER(pd3dDevice); + UNREFERENCED_PARAMETER(pd3dImmediateContext); + // TODO - return S_OK; } + //-------------------------------------------------------------------------------------- void CDXUTDirectionWidget::StaticOnD3D11DestroyDevice() { -// SAFE_RELEASE( s_pVertexLayout ); -// SAFE_RELEASE( s_pD3D11Effect ); + // TODO - } diff --git a/FriedLiver/Source/DXUT/Optional/DXUTcamera.h b/FriedLiver/Source/DXUT/Optional/DXUTcamera.h index d18da663..ad22a303 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTcamera.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTcamera.h @@ -3,92 +3,105 @@ // // Helper functions for Direct3D programming. // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef CAMERA_H -#define CAMERA_H //-------------------------------------------------------------------------------------- class CD3DArcBall { public: - CD3DArcBall(); + CD3DArcBall() noexcept; // Functions to change behavior - void Reset(); - void SetTranslationRadius( FLOAT fRadiusTranslation ) + void Reset(); + void SetTranslationRadius( _In_ float fRadiusTranslation ) { m_fRadiusTranslation = fRadiusTranslation; } - void SetWindow( INT nWidth, INT nHeight, FLOAT fRadius = 0.9f ) - { - m_nWidth = nWidth; m_nHeight = nHeight; m_fRadius = fRadius; - m_vCenter = D3DXVECTOR2( m_nWidth / 2.0f, m_nHeight / 2.0f ); - } - void SetOffset( INT nX, INT nY ) + void SetWindow( _In_ INT nWidth, _In_ INT nHeight, _In_ float fRadius = 0.9f ) { - m_Offset.x = nX; m_Offset.y = nY; + m_nWidth = nWidth; + m_nHeight = nHeight; + m_fRadius = fRadius; + m_vCenter.x = float(m_nWidth) / 2.0f; + m_vCenter.y = float(m_nHeight) / 2.0f; } + void SetOffset( _In_ INT nX, _In_ INT nY ) { m_Offset.x = nX; m_Offset.y = nY; } // Call these from client and use GetRotationMatrix() to read new rotation matrix - void OnBegin( int nX, int nY ); // start the rotation (pass current mouse position) - void OnMove( int nX, int nY ); // continue the rotation (pass current mouse position) - void OnEnd(); // end the rotation + void OnBegin( _In_ int nX, _In_ int nY ); // start the rotation (pass current mouse position) + void OnMove( _In_ int nX, _In_ int nY ); // continue the rotation (pass current mouse position) + void OnEnd(); // end the rotation // Or call this to automatically handle left, middle, right buttons - LRESULT HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); + LRESULT HandleMessages( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); // Functions to get/set state - const D3DXMATRIX* GetRotationMatrix() - { - return D3DXMatrixRotationQuaternion( &m_mRotation, &m_qNow ); - }; - const D3DXMATRIX* GetTranslationMatrix() const - { - return &m_mTranslation; - } - const D3DXMATRIX* GetTranslationDeltaMatrix() const + DirectX::XMMATRIX GetRotationMatrix() const { - return &m_mTranslationDelta; + using namespace DirectX; + XMVECTOR q = XMLoadFloat4( &m_qNow ); + return DirectX::XMMatrixRotationQuaternion( q ); } - bool IsBeingDragged() const - { - return m_bDrag; - } - D3DXQUATERNION GetQuatNow() const + DirectX::XMMATRIX GetTranslationMatrix() const { return DirectX::XMLoadFloat4x4( &m_mTranslation ); } + DirectX::XMMATRIX GetTranslationDeltaMatrix() const { return DirectX::XMLoadFloat4x4( &m_mTranslationDelta ); } + bool IsBeingDragged() const { return m_bDrag; } + DirectX::XMVECTOR GetQuatNow() const { return DirectX::XMLoadFloat4( &m_qNow ); } + void SetQuatNow( _In_ DirectX::FXMVECTOR& q ) { DirectX::XMStoreFloat4( &m_qNow, q ); } + + static DirectX::XMVECTOR QuatFromBallPoints( _In_ DirectX::FXMVECTOR vFrom, _In_ DirectX::FXMVECTOR vTo ) { - return m_qNow; + using namespace DirectX; + + XMVECTOR dot = XMVector3Dot( vFrom, vTo ); + XMVECTOR vPart = XMVector3Cross( vFrom, vTo ); + return XMVectorSelect( dot, vPart, g_XMSelect1110 ); } - void SetQuatNow( D3DXQUATERNION q ) + +protected: + DirectX::XMFLOAT4X4 m_mRotation; // Matrix for arc ball's orientation + DirectX::XMFLOAT4X4 m_mTranslation; // Matrix for arc ball's position + DirectX::XMFLOAT4X4 m_mTranslationDelta;// Matrix for arc ball's position + + POINT m_Offset; // window offset, or upper-left corner of window + INT m_nWidth; // arc ball's window width + INT m_nHeight; // arc ball's window height + DirectX::XMFLOAT2 m_vCenter; // center of arc ball + float m_fRadius; // arc ball's radius in screen coords + float m_fRadiusTranslation; // arc ball's radius for translating the target + + DirectX::XMFLOAT4 m_qDown; // Quaternion before button down + DirectX::XMFLOAT4 m_qNow; // Composite quaternion for current drag + bool m_bDrag; // Whether user is dragging arc ball + + POINT m_ptLastMouse; // position of last mouse point + DirectX::XMFLOAT3 m_vDownPt; // starting point of rotation arc + DirectX::XMFLOAT3 m_vCurrentPt; // current point of rotation arc + + DirectX::XMVECTOR ScreenToVector( _In_ float fScreenPtX, _In_ float fScreenPtY ) { - m_qNow = q; - } + // Scale to screen + float x = -( fScreenPtX - m_Offset.x - m_nWidth / 2 ) / ( m_fRadius * m_nWidth / 2 ); + float y = ( fScreenPtY - m_Offset.y - m_nHeight / 2 ) / ( m_fRadius * m_nHeight / 2 ); - static D3DXQUATERNION WINAPI QuatFromBallPoints( const D3DXVECTOR3& vFrom, const D3DXVECTOR3& vTo ); + float z = 0.0f; + float mag = x * x + y * y; + if( mag > 1.0f ) + { + float scale = 1.0f / sqrtf( mag ); + x *= scale; + y *= scale; + } + else + z = sqrtf( 1.0f - mag ); -protected: - D3DXMATRIXA16 m_mRotation; // Matrix for arc ball's orientation - D3DXMATRIXA16 m_mTranslation; // Matrix for arc ball's position - D3DXMATRIXA16 m_mTranslationDelta; // Matrix for arc ball's position - - POINT m_Offset; // window offset, or upper-left corner of window - INT m_nWidth; // arc ball's window width - INT m_nHeight; // arc ball's window height - D3DXVECTOR2 m_vCenter; // center of arc ball - FLOAT m_fRadius; // arc ball's radius in screen coords - FLOAT m_fRadiusTranslation; // arc ball's radius for translating the target - - D3DXQUATERNION m_qDown; // Quaternion before button down - D3DXQUATERNION m_qNow; // Composite quaternion for current drag - bool m_bDrag; // Whether user is dragging arc ball - - POINT m_ptLastMouse; // position of last mouse point - D3DXVECTOR3 m_vDownPt; // starting point of rotation arc - D3DXVECTOR3 m_vCurrentPt; // current point of rotation arc - - D3DXVECTOR3 ScreenToVector( float fScreenPtX, float fScreenPtY ); + return DirectX::XMVectorSet( x, y, z, 0 ); + } }; @@ -126,195 +139,126 @@ enum D3DUtil_CameraKeys class CBaseCamera { public: - CBaseCamera(); + CBaseCamera() noexcept; // Call these from client and use Get*Matrix() to read new matrices - virtual LRESULT HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual void FrameMove( FLOAT fElapsedTime ) = 0; + virtual LRESULT HandleMessages( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); + virtual void FrameMove( _In_ float fElapsedTime ) = 0; // Functions to change camera matrices - virtual void Reset(); - virtual void SetViewParams( D3DXVECTOR3* pvEyePt, D3DXVECTOR3* pvLookatPt ); - virtual void SetProjParams( FLOAT fFOV, FLOAT fAspect, FLOAT fNearPlane, FLOAT fFarPlane ); + virtual void Reset(); + virtual void SetViewParams( _In_ DirectX::FXMVECTOR vEyePt, _In_ DirectX::FXMVECTOR vLookatPt ); + virtual void SetProjParams( _In_ float fFOV, _In_ float fAspect, _In_ float fNearPlane, _In_ float fFarPlane ); // Functions to change behavior - virtual void SetDragRect( RECT& rc ) - { - m_rcDrag = rc; - } - void SetInvertPitch( bool bInvertPitch ) - { - m_bInvertPitch = bInvertPitch; - } - void SetDrag( bool bMovementDrag, FLOAT fTotalDragTimeToZero = 0.25f ) - { - m_bMovementDrag = bMovementDrag; m_fTotalDragTimeToZero = fTotalDragTimeToZero; - } - void SetEnableYAxisMovement( bool bEnableYAxisMovement ) + virtual void SetDragRect( _In_ const RECT& rc ) { m_rcDrag = rc; } + void SetInvertPitch( _In_ bool bInvertPitch ) { m_bInvertPitch = bInvertPitch; } + void SetDrag( _In_ bool bMovementDrag, _In_ float fTotalDragTimeToZero = 0.25f ) { - m_bEnableYAxisMovement = bEnableYAxisMovement; + m_bMovementDrag = bMovementDrag; + m_fTotalDragTimeToZero = fTotalDragTimeToZero; } - void SetEnablePositionMovement( bool bEnablePositionMovement ) + void SetEnableYAxisMovement( _In_ bool bEnableYAxisMovement ) { m_bEnableYAxisMovement = bEnableYAxisMovement; } + void SetEnablePositionMovement( _In_ bool bEnablePositionMovement ) { m_bEnablePositionMovement = bEnablePositionMovement; } + void SetClipToBoundary( _In_ bool bClipToBoundary, _In_opt_ DirectX::XMFLOAT3* pvMinBoundary, _In_opt_ DirectX::XMFLOAT3* pvMaxBoundary ) { - m_bEnablePositionMovement = bEnablePositionMovement; - } - void SetClipToBoundary( bool bClipToBoundary, D3DXVECTOR3* pvMinBoundary, - D3DXVECTOR3* pvMaxBoundary ) - { - m_bClipToBoundary = bClipToBoundary; if( pvMinBoundary ) m_vMinBoundary = *pvMinBoundary; + m_bClipToBoundary = bClipToBoundary; + if( pvMinBoundary ) m_vMinBoundary = *pvMinBoundary; if( pvMaxBoundary ) m_vMaxBoundary = *pvMaxBoundary; } - void SetScalers( FLOAT fRotationScaler = 0.01f, FLOAT fMoveScaler = 5.0f ) - { - m_fRotationScaler = fRotationScaler; m_fMoveScaler = fMoveScaler; - } - void SetNumberOfFramesToSmoothMouseData( int nFrames ) + void SetScalers( _In_ float fRotationScaler = 0.01f, _In_ float fMoveScaler = 5.0f ) { - if( nFrames > 0 ) m_fFramesToSmoothMouseData = ( float )nFrames; - } - void SetResetCursorAfterMove( bool bResetCursorAfterMove ) - { - m_bResetCursorAfterMove = bResetCursorAfterMove; + m_fRotationScaler = fRotationScaler; + m_fMoveScaler = fMoveScaler; } + void SetNumberOfFramesToSmoothMouseData( _In_ int nFrames ) { if( nFrames > 0 ) m_fFramesToSmoothMouseData = ( float )nFrames; } + void SetResetCursorAfterMove( _In_ bool bResetCursorAfterMove ) { m_bResetCursorAfterMove = bResetCursorAfterMove; } // Functions to get state - D3DXMATRIX* GetViewMatrix() - { - //return &m_mView; - D3DXMatrixTranslation(&m_mShift, m_vMyKeyboardDirection.x, m_vMyKeyboardDirection.y, 0.0); - D3DXMatrixMultiply(&m_mShift, &m_mView, &m_mShift); - return &m_mShift; - } - const D3DXMATRIX* GetProjMatrix() const - { - return &m_mProj; - } - D3DXVECTOR3* GetEyePt() - { - D3DXMATRIX viewInv; - D3DXMatrixInverse(&viewInv, NULL, GetViewMatrix()); - D3DXVECTOR3 eyeview(0.0f, 0.0f, 0.0f); - D3DXVec3TransformCoord(&m_vEyeShift, &eyeview, &viewInv); - return &m_vEyeShift; - - // return &m_vEye; - } - D3DXVECTOR3* GetEyePtOrig() - { - return &m_vEye; - } - const D3DXVECTOR3* GetKeyboardVec() const { - return &m_vMyKeyboardDirection; - } - void SetKeyboardVec(D3DXVECTOR3& keyVec) { - m_vMyKeyboardDirection = keyVec; - } - const D3DXVECTOR3* GetLookAtPt() const - { - return &m_vLookAt; - } - float GetNearClip() const - { - return m_fNearPlane; - } - float GetFarClip() const - { - return m_fFarPlane; - } - float GetAspect() { - return m_fAspect; - } - - bool IsBeingDragged() const - { - return ( m_bMouseLButtonDown || m_bMouseMButtonDown || m_bMouseRButtonDown ); - } - bool IsMouseLButtonDown() const - { - return m_bMouseLButtonDown; - } - bool IsMouseMButtonDown() const - { - return m_bMouseMButtonDown; - } - bool IsMouseRButtonDown() const - { - return m_bMouseRButtonDown; - } + DirectX::XMMATRIX GetViewMatrix() const { return DirectX::XMLoadFloat4x4( &m_mView ); } + DirectX::XMMATRIX GetProjMatrix() const { return DirectX::XMLoadFloat4x4( &m_mProj ); } + DirectX::XMVECTOR GetEyePt() const { return DirectX::XMLoadFloat3( &m_vEye ); } + DirectX::XMVECTOR GetLookAtPt() const { return DirectX::XMLoadFloat3( &m_vLookAt ); } + float GetNearClip() const { return m_fNearPlane; } + float GetFarClip() const { return m_fFarPlane; } + + bool IsBeingDragged() const { return ( m_bMouseLButtonDown || m_bMouseMButtonDown || m_bMouseRButtonDown ); } + bool IsMouseLButtonDown() const { return m_bMouseLButtonDown; } + bool IsMouseMButtonDown() const { return m_bMouseMButtonDown; } + bool sMouseRButtonDown() const { return m_bMouseRButtonDown; } protected: // Functions to map a WM_KEYDOWN key to a D3DUtil_CameraKeys enum - virtual D3DUtil_CameraKeys MapKey( UINT nKey ); - bool IsKeyDown( BYTE key ) const - { - return( ( key & KEY_IS_DOWN_MASK ) == KEY_IS_DOWN_MASK ); - } - bool WasKeyDown( BYTE key ) const - { - return( ( key & KEY_WAS_DOWN_MASK ) == KEY_WAS_DOWN_MASK ); - } - - void ConstrainToBoundary( D3DXVECTOR3* pV ); - void UpdateMouseDelta(); - void UpdateVelocity( float fElapsedTime ); - void GetInput( bool bGetKeyboardInput, bool bGetMouseInput, bool bGetGamepadInput, - bool bResetCursorAfterMove ); - - D3DXMATRIX m_mView; // View matrix - D3DXMATRIX m_mProj; // Projection matrix - D3DXMATRIX m_mShift; - - DXUT_GAMEPAD m_GamePad[DXUT_MAX_CONTROLLERS]; // XInput controller state - D3DXVECTOR3 m_vGamePadLeftThumb; - D3DXVECTOR3 m_vGamePadRightThumb; - double m_GamePadLastActive[DXUT_MAX_CONTROLLERS]; - - int m_cKeysDown; // Number of camera keys that are down. - BYTE m_aKeys[CAM_MAX_KEYS]; // State of input - KEY_WAS_DOWN_MASK|KEY_IS_DOWN_MASK - D3DXVECTOR3 m_vKeyboardDirection; // Direction vector of keyboard input - D3DXVECTOR3 m_vMyKeyboardDirection; - POINT m_ptLastMousePosition; // Last absolute position of mouse cursor - bool m_bMouseLButtonDown; // True if left button is down - bool m_bMouseMButtonDown; // True if middle button is down - bool m_bMouseRButtonDown; // True if right button is down - int m_nCurrentButtonMask; // mask of which buttons are down - int m_nMouseWheelDelta; // Amount of middle wheel scroll (+/-) - D3DXVECTOR2 m_vMouseDelta; // Mouse relative delta smoothed over a few frames - float m_fFramesToSmoothMouseData; // Number of frames to smooth mouse data over - - D3DXVECTOR3 m_vDefaultEye; // Default camera eye position - D3DXVECTOR3 m_vDefaultLookAt; // Default LookAt position - D3DXVECTOR3 m_vEye; // Camera eye position - D3DXVECTOR3 m_vEyeShift; // Camera eye after shift - D3DXVECTOR3 m_vLookAt; // LookAt position - float m_fCameraYawAngle; // Yaw angle of camera - float m_fCameraPitchAngle; // Pitch angle of camera - - RECT m_rcDrag; // Rectangle within which a drag can be initiated. - D3DXVECTOR3 m_vVelocity; // Velocity of camera - bool m_bMovementDrag; // If true, then camera movement will slow to a stop otherwise movement is instant - D3DXVECTOR3 m_vVelocityDrag; // Velocity drag force - FLOAT m_fDragTimer; // Countdown timer to apply drag - FLOAT m_fTotalDragTimeToZero; // Time it takes for velocity to go from full to 0 - D3DXVECTOR2 m_vRotVelocity; // Velocity of camera - - float m_fFOV; // Field of view - float m_fAspect; // Aspect ratio - float m_fNearPlane; // Near plane - float m_fFarPlane; // Far plane - - float m_fRotationScaler; // Scaler for rotation - float m_fMoveScaler; // Scaler for movement - - bool m_bInvertPitch; // Invert the pitch axis - bool m_bEnablePositionMovement; // If true, then the user can translate the camera/model - bool m_bEnableYAxisMovement; // If true, then camera can move in the y-axis - - bool m_bClipToBoundary; // If true, then the camera will be clipped to the boundary - D3DXVECTOR3 m_vMinBoundary; // Min point in clip boundary - D3DXVECTOR3 m_vMaxBoundary; // Max point in clip boundary - - bool m_bResetCursorAfterMove;// If true, the class will reset the cursor position so that the cursor always has space to move + virtual D3DUtil_CameraKeys MapKey( _In_ UINT nKey ); + + bool IsKeyDown( _In_ BYTE key ) const { return( ( key & KEY_IS_DOWN_MASK ) == KEY_IS_DOWN_MASK ); } + bool WasKeyDown( _In_ BYTE key ) const { return( ( key & KEY_WAS_DOWN_MASK ) == KEY_WAS_DOWN_MASK ); } + + DirectX::XMVECTOR ConstrainToBoundary( _In_ DirectX::FXMVECTOR v ) + { + using namespace DirectX; + + XMVECTOR vMin = XMLoadFloat3( &m_vMinBoundary ); + XMVECTOR vMax = XMLoadFloat3( &m_vMaxBoundary ); + + // Constrain vector to a bounding box + return XMVectorClamp( v, vMin, vMax ); + } + + void UpdateMouseDelta(); + void UpdateVelocity( _In_ float fElapsedTime ); + void GetInput( _In_ bool bGetKeyboardInput, _In_ bool bGetMouseInput, _In_ bool bGetGamepadInput ); + + DirectX::XMFLOAT4X4 m_mView; // View matrix + DirectX::XMFLOAT4X4 m_mProj; // Projection matrix + + DXUT_GAMEPAD m_GamePad[DXUT_MAX_CONTROLLERS]; // XInput controller state + DirectX::XMFLOAT3 m_vGamePadLeftThumb; + DirectX::XMFLOAT3 m_vGamePadRightThumb; + double m_GamePadLastActive[DXUT_MAX_CONTROLLERS]; + + int m_cKeysDown; // Number of camera keys that are down. + BYTE m_aKeys[CAM_MAX_KEYS]; // State of input - KEY_WAS_DOWN_MASK|KEY_IS_DOWN_MASK + DirectX::XMFLOAT3 m_vKeyboardDirection; // Direction vector of keyboard input + POINT m_ptLastMousePosition; // Last absolute position of mouse cursor + int m_nCurrentButtonMask; // mask of which buttons are down + int m_nMouseWheelDelta; // Amount of middle wheel scroll (+/-) + DirectX::XMFLOAT2 m_vMouseDelta; // Mouse relative delta smoothed over a few frames + float m_fFramesToSmoothMouseData; // Number of frames to smooth mouse data over + DirectX::XMFLOAT3 m_vDefaultEye; // Default camera eye position + DirectX::XMFLOAT3 m_vDefaultLookAt; // Default LookAt position + DirectX::XMFLOAT3 m_vEye; // Camera eye position + DirectX::XMFLOAT3 m_vLookAt; // LookAt position + float m_fCameraYawAngle; // Yaw angle of camera + float m_fCameraPitchAngle; // Pitch angle of camera + + RECT m_rcDrag; // Rectangle within which a drag can be initiated. + DirectX::XMFLOAT3 m_vVelocity; // Velocity of camera + DirectX::XMFLOAT3 m_vVelocityDrag; // Velocity drag force + float m_fDragTimer; // Countdown timer to apply drag + float m_fTotalDragTimeToZero; // Time it takes for velocity to go from full to 0 + DirectX::XMFLOAT2 m_vRotVelocity; // Velocity of camera + + float m_fFOV; // Field of view + float m_fAspect; // Aspect ratio + float m_fNearPlane; // Near plane + float m_fFarPlane; // Far plane + + float m_fRotationScaler; // Scaler for rotation + float m_fMoveScaler; // Scaler for movement + + bool m_bMouseLButtonDown; // True if left button is down + bool m_bMouseMButtonDown; // True if middle button is down + bool m_bMouseRButtonDown; // True if right button is down + bool m_bMovementDrag; // If true, then camera movement will slow to a stop otherwise movement is instant + bool m_bInvertPitch; // Invert the pitch axis + bool m_bEnablePositionMovement; // If true, then the user can translate the camera/model + bool m_bEnableYAxisMovement; // If true, then camera can move in the y-axis + bool m_bClipToBoundary; // If true, then the camera will be clipped to the boundary + bool m_bResetCursorAfterMove; // If true, the class will reset the cursor position so that the cursor always has space to move + + DirectX::XMFLOAT3 m_vMinBoundary; // Min point in clip boundary + DirectX::XMFLOAT3 m_vMaxBoundary; // Max point in clip boundary }; @@ -327,41 +271,26 @@ class CBaseCamera class CFirstPersonCamera : public CBaseCamera { public: - CFirstPersonCamera(); + CFirstPersonCamera() noexcept; // Call these from client and use Get*Matrix() to read new matrices - virtual void FrameMove( FLOAT fElapsedTime ); + virtual void FrameMove( _In_ float fElapsedTime ) override; // Functions to change behavior - void SetRotateButtons( bool bLeft, bool bMiddle, bool bRight, bool bRotateWithoutButtonDown = false ); + void SetRotateButtons( _In_ bool bLeft, _In_ bool bMiddle, _In_ bool bRight, _In_ bool bRotateWithoutButtonDown = false ); // Functions to get state - D3DXMATRIX* GetWorldMatrix() - { - return &m_mCameraWorld; - } + DirectX::XMMATRIX GetWorldMatrix() const { return DirectX::XMLoadFloat4x4( &m_mCameraWorld ); } - const D3DXVECTOR3* GetWorldRight() const - { - return ( D3DXVECTOR3* )&m_mCameraWorld._11; - } - const D3DXVECTOR3* GetWorldUp() const - { - return ( D3DXVECTOR3* )&m_mCameraWorld._21; - } - const D3DXVECTOR3* GetWorldAhead() const - { - return ( D3DXVECTOR3* )&m_mCameraWorld._31; - } - const D3DXVECTOR3* GetEyePt() const - { - return ( D3DXVECTOR3* )&m_mCameraWorld._41; - } + DirectX::XMVECTOR GetWorldRight() const { return DirectX::XMLoadFloat3( reinterpret_cast( &m_mCameraWorld._11 ) ); } + DirectX::XMVECTOR GetWorldUp() const { return DirectX::XMLoadFloat3( reinterpret_cast( &m_mCameraWorld._21 ) ); } + DirectX::XMVECTOR GetWorldAhead() const { return DirectX::XMLoadFloat3( reinterpret_cast( &m_mCameraWorld._31 ) ); } + DirectX::XMVECTOR GetEyePt() const { return DirectX::XMLoadFloat3( reinterpret_cast( &m_mCameraWorld._41 ) ); } protected: - D3DXMATRIX m_mCameraWorld; // World matrix of the camera (inverse of the view matrix) + DirectX::XMFLOAT4X4 m_mCameraWorld; // World matrix of the camera (inverse of the view matrix) - int m_nActiveButtonMask; // Mask to determine which button to enable for rotation + int m_nActiveButtonMask; // Mask to determine which button to enable for rotation bool m_bRotateWithoutButtonDown; }; @@ -372,79 +301,61 @@ class CFirstPersonCamera : public CBaseCamera class CModelViewerCamera : public CBaseCamera { public: - CModelViewerCamera(); + CModelViewerCamera() noexcept; // Call these from client and use Get*Matrix() to read new matrices - virtual LRESULT HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual void FrameMove( FLOAT fElapsedTime ); - + virtual LRESULT HandleMessages( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void FrameMove( _In_ float fElapsedTime ) override; // Functions to change behavior - virtual void SetDragRect( RECT& rc ); - void Reset(); - void SetViewParams( D3DXVECTOR3* pvEyePt, D3DXVECTOR3* pvLookatPt ); - void SetButtonMasks( int nRotateModelButtonMask = MOUSE_LEFT_BUTTON, int nZoomButtonMask = MOUSE_WHEEL, - int nRotateCameraButtonMask = MOUSE_RIGHT_BUTTON ) + virtual void SetDragRect( _In_ const RECT& rc ) override; + virtual void Reset() override; + virtual void SetViewParams( _In_ DirectX::FXMVECTOR pvEyePt, _In_ DirectX::FXMVECTOR pvLookatPt ) override; + void SetButtonMasks( _In_ int nRotateModelButtonMask = MOUSE_LEFT_BUTTON, _In_ int nZoomButtonMask = MOUSE_WHEEL, + _In_ int nRotateCameraButtonMask = MOUSE_RIGHT_BUTTON ) { m_nRotateModelButtonMask = nRotateModelButtonMask, m_nZoomButtonMask = nZoomButtonMask; m_nRotateCameraButtonMask = nRotateCameraButtonMask; } - void SetAttachCameraToModel( bool bEnable = false ) - { - m_bAttachCameraToModel = bEnable; - } - void SetWindow( int nWidth, int nHeight, float fArcballRadius=0.9f ) + void SetAttachCameraToModel( _In_ bool bEnable = false ) { m_bAttachCameraToModel = bEnable; } + void SetWindow( _In_ int nWidth, _In_ int nHeight, _In_ float fArcballRadius=0.9f ) { m_WorldArcBall.SetWindow( nWidth, nHeight, fArcballRadius ); m_ViewArcBall.SetWindow( nWidth, nHeight, fArcballRadius ); } - void SetRadius( float fDefaultRadius=5.0f, float fMinRadius=1.0f, float fMaxRadius=FLT_MAX ) + void SetRadius( _In_ float fDefaultRadius=5.0f, _In_ float fMinRadius=1.0f, _In_ float fMaxRadius=FLT_MAX ) { m_fDefaultRadius = m_fRadius = fDefaultRadius; m_fMinRadius = fMinRadius; m_fMaxRadius = fMaxRadius; m_bDragSinceLastUpdate = true; } - void SetModelCenter( D3DXVECTOR3 vModelCenter ) - { - m_vModelCenter = vModelCenter; - } - void SetLimitPitch( bool bLimitPitch ) + void SetModelCenter( _In_ const DirectX::XMFLOAT3& vModelCenter ) { m_vModelCenter = vModelCenter; } + void SetLimitPitch( _In_ bool bLimitPitch ) { m_bLimitPitch = bLimitPitch; } + void SetViewQuat( _In_ DirectX::FXMVECTOR q ) { - m_bLimitPitch = bLimitPitch; - } - - D3DXQUATERNION GetWorldQuat() { - return m_WorldArcBall.GetQuatNow(); - } - D3DXQUATERNION GetViewQuat() { - return m_ViewArcBall.GetQuatNow(); - } - - void SetViewQuat( D3DXQUATERNION q ) - { - m_ViewArcBall.SetQuatNow( q ); m_bDragSinceLastUpdate = true; + m_ViewArcBall.SetQuatNow( q ); + m_bDragSinceLastUpdate = true; } - void SetWorldQuat( D3DXQUATERNION q ) + void SetWorldQuat( _In_ DirectX::FXMVECTOR q ) { - m_WorldArcBall.SetQuatNow( q ); m_bDragSinceLastUpdate = true; + m_WorldArcBall.SetQuatNow( q ); + m_bDragSinceLastUpdate = true; } // Functions to get state - const D3DXMATRIX* GetWorldMatrix() const + DirectX::XMMATRIX GetWorldMatrix() const { return DirectX::XMLoadFloat4x4( &m_mWorld ); } + void SetWorldMatrix( _In_ DirectX::CXMMATRIX mWorld ) { - return &m_mWorld; - } - void SetWorldMatrix( D3DXMATRIX& mWorld ) - { - m_mWorld = mWorld; m_bDragSinceLastUpdate = true; + XMStoreFloat4x4( &m_mWorld, mWorld ); + m_bDragSinceLastUpdate = true; } protected: CD3DArcBall m_WorldArcBall; CD3DArcBall m_ViewArcBall; - D3DXVECTOR3 m_vModelCenter; - D3DXMATRIX m_mModelLastRot; // Last arcball rotation matrix for model - D3DXMATRIX m_mModelRot; // Rotation matrix of model - D3DXMATRIX m_mWorld; // World matrix of model + DirectX::XMFLOAT3 m_vModelCenter; + DirectX::XMFLOAT4X4 m_mModelLastRot; // Last arcball rotation matrix for model + DirectX::XMFLOAT4X4 m_mModelRot; // Rotation matrix of model + DirectX::XMFLOAT4X4 m_mWorld; // World matrix of model int m_nRotateModelButtonMask; int m_nZoomButtonMask; @@ -452,18 +363,16 @@ class CModelViewerCamera : public CBaseCamera bool m_bAttachCameraToModel; bool m_bLimitPitch; - float m_fRadius; // Distance from the camera to model - float m_fDefaultRadius; // Distance from the camera to model - float m_fMinRadius; // Min radius - float m_fMaxRadius; // Max radius - bool m_bDragSinceLastUpdate; // True if mouse drag has happened since last time FrameMove is called. - - D3DXMATRIX m_mCameraRotLast; - - int m_ptLastMouseX; + bool m_bDragSinceLastUpdate; // True if mouse drag has happened since last time FrameMove is called. + float m_fRadius; // Distance from the camera to model + float m_fDefaultRadius; // Distance from the camera to model + float m_fMinRadius; // Min radius + float m_fMaxRadius; // Max radius + DirectX::XMFLOAT4X4 m_mCameraRotLast; }; + //-------------------------------------------------------------------------------------- // Manages the mesh, direction, mouse events of a directional arrow that // rotates around a radius controlled by an arcball @@ -471,82 +380,43 @@ class CModelViewerCamera : public CBaseCamera class CDXUTDirectionWidget { public: - CDXUTDirectionWidget(); - - static HRESULT WINAPI StaticOnD3D9CreateDevice( IDirect3DDevice9* pd3dDevice ); - HRESULT OnD3D9ResetDevice( const D3DSURFACE_DESC* pBackBufferSurfaceDesc ); - HRESULT OnRender9( D3DXCOLOR color, const D3DXMATRIX* pmView, const D3DXMATRIX* pmProj, - const D3DXVECTOR3* pEyePt ); - LRESULT HandleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - static void WINAPI StaticOnD3D9LostDevice(); - static void WINAPI StaticOnD3D9DestroyDevice(); - - static HRESULT WINAPI StaticOnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ); - HRESULT OnRender11( D3DXCOLOR color, const D3DXMATRIX* pmView, const D3DXMATRIX* pmProj, - const D3DXVECTOR3* pEyePt ); - static void WINAPI StaticOnD3D11DestroyDevice(); - - D3DXVECTOR3 GetLightDirection() + CDXUTDirectionWidget() noexcept; + + LRESULT HandleMessages( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); + + HRESULT OnRender( _In_ DirectX::FXMVECTOR color, _In_ DirectX::CXMMATRIX pmView, _In_ DirectX::CXMMATRIX pmProj, _In_ DirectX::FXMVECTOR vEyePt ); + + DirectX::XMVECTOR GetLightDirection() const { return DirectX::XMLoadFloat3( &m_vCurrentDir ); } + void SetLightDirection( _In_ DirectX::FXMVECTOR vDir ) { - return m_vCurrentDir; - }; - void SetLightDirection( D3DXVECTOR3 vDir ) + DirectX::XMStoreFloat3( &m_vCurrentDir, vDir ); + m_vDefaultDir = m_vCurrentDir; + } + void SetLightDirection( _In_ DirectX::XMFLOAT3 vDir ) { m_vDefaultDir = m_vCurrentDir = vDir; - }; - void SetButtonMask( int nRotate = MOUSE_RIGHT_BUTTON ) - { - m_nRotateMask = nRotate; } + void SetButtonMask( _In_ int nRotate = MOUSE_RIGHT_BUTTON ) { m_nRotateMask = nRotate; } - float GetRadius() - { - return m_fRadius; - }; - void SetRadius( float fRadius ) - { - m_fRadius = fRadius; - }; + float GetRadius() const { return m_fRadius; } + void SetRadius( _In_ float fRadius ) { m_fRadius = fRadius; } - bool IsBeingDragged() - { - return m_ArcBall.IsBeingDragged(); - }; + bool IsBeingDragged() { return m_ArcBall.IsBeingDragged(); } + + static HRESULT WINAPI StaticOnD3D11CreateDevice( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3dImmediateContext ); + static void WINAPI StaticOnD3D11DestroyDevice(); protected: - HRESULT UpdateLightDir(); - - // D3D9 objects - static IDirect3DDevice9* s_pd3d9Device; - static ID3DXEffect* s_pD3D9Effect; - static ID3DXMesh* s_pD3D9Mesh; - static D3DXHANDLE s_hRenderWith1LightNoTexture; - static D3DXHANDLE s_hMaterialDiffuseColor; - static D3DXHANDLE s_hLightDir; - static D3DXHANDLE s_hWorldViewProjection; - static D3DXHANDLE s_hWorld; - - // D3D10 objects - //static ID3D10Device* s_pd3d10Device; - //static ID3D10Effect* s_pD3D10Effect; - //TODO: add some sort of d3d10 mesh object here - //static ID3D10InputLayout* s_pVertexLayout; - //static ID3D10EffectTechnique* s_pRenderTech; - //static ID3D10EffectVectorVariable* g_pMaterialDiffuseColor; - //static ID3D10EffectVectorVariable* g_pLightDir; - //static ID3D10EffectMatrixVariable* g_pmWorld; - //static ID3D10EffectMatrixVariable* g_pmWorldViewProjection; - - D3DXMATRIXA16 m_mRot; - D3DXMATRIXA16 m_mRotSnapshot; + HRESULT UpdateLightDir(); + + // TODO - need support for Direct3D 11 widget + + DirectX::XMFLOAT4X4 m_mRot; + DirectX::XMFLOAT4X4 m_mRotSnapshot; float m_fRadius; int m_nRotateMask; CD3DArcBall m_ArcBall; - D3DXVECTOR3 m_vDefaultDir; - D3DXVECTOR3 m_vCurrentDir; - D3DXMATRIX m_mView; + DirectX::XMFLOAT3 m_vDefaultDir; + DirectX::XMFLOAT3 m_vCurrentDir; + DirectX::XMFLOAT4X4 m_mView; }; - - - -#endif diff --git a/FriedLiver/Source/DXUT/Optional/DXUTgui.cpp b/FriedLiver/Source/DXUT/Optional/DXUTgui.cpp index 4faaae6c..2d223b98 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTgui.cpp +++ b/FriedLiver/Source/DXUT/Optional/DXUTgui.cpp @@ -2,6 +2,9 @@ // File: DXUTgui.cpp // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" #include "DXUTgui.h" @@ -10,8 +13,9 @@ #include "SDKMisc.h" -#undef min // use __min instead -#undef max // use __max instead +#include "DDSTextureLoader.h" + +using namespace DirectX; #ifndef WM_XBUTTONDOWN #define WM_XBUTTONDOWN 0x020B // (not always defined) @@ -38,28 +42,14 @@ #define DXUT_MAX_GUI_SPRITES 500 -D3DCOLORVALUE D3DCOLOR_TO_D3DCOLORVALUE( D3DCOLOR c ) +inline DirectX::XMFLOAT4 D3DCOLOR_TO_D3DCOLORVALUE( DWORD c ) { - D3DCOLORVALUE cv = - { - ( ( c >> 16 ) & 0xFF ) / 255.0f, - ( ( c >> 8 ) & 0xFF ) / 255.0f, - ( c & 0xFF ) / 255.0f, - ( ( c >> 24 ) & 0xFF ) / 255.0f - }; - return cv; + return DirectX::XMFLOAT4 ( ( ( c >> 16 ) & 0xFF ) / 255.0f, + ( ( c >> 8 ) & 0xFF ) / 255.0f, + ( c & 0xFF ) / 255.0f, + ( ( c >> 24 ) & 0xFF ) / 255.0f ); } -#define UNISCRIBE_DLLNAME L"usp10.dll" - -#define GETPROCADDRESS( Module, APIName, Temp ) \ - Temp = GetProcAddress( Module, #APIName ); \ - if( Temp ) \ - *(FARPROC*)&_##APIName = Temp - -#define PLACEHOLDERPROC( APIName ) \ - _##APIName = Dummy_##APIName - #define IMM32_DLLNAME L"imm32.dll" #define VER_DLLNAME L"version.dll" @@ -164,44 +154,36 @@ const UINT g_uUIEffectFileSize = sizeof( g_strUIEffectFile ); // DXUT_MAX_EDITBOXLENGTH is the maximum string length allowed in edit boxes, -// including the NULL terminator. +// including the nul terminator. // // Uniscribe does not support strings having bigger-than-16-bits length. // This means that the string must be less than 65536 characters long, -// including the NULL terminator. +// including the nul terminator. #define DXUT_MAX_EDITBOXLENGTH 0xFFFF double CDXUTDialog::s_fTimeRefresh = 0.0f; -CDXUTControl* CDXUTDialog::s_pControlFocus = NULL; // The control which has focus -CDXUTControl* CDXUTDialog::s_pControlPressed = NULL; // The control currently pressed +CDXUTControl* CDXUTDialog::s_pControlFocus = nullptr; // The control which has focus +CDXUTControl* CDXUTDialog::s_pControlPressed = nullptr; // The control currently pressed struct DXUT_SCREEN_VERTEX { float x, y, z, h; - D3DCOLOR color; + DWORD color; float tu, tv; - - static DWORD FVF; }; -DWORD DXUT_SCREEN_VERTEX::FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1; - struct DXUT_SCREEN_VERTEX_UNTEX { float x, y, z, h; - D3DCOLOR color; - - static DWORD FVF; + DWORD color; }; -DWORD DXUT_SCREEN_VERTEX_UNTEX::FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE; - struct DXUT_SCREEN_VERTEX_10 { float x, y, z; - D3DCOLORVALUE color; + DirectX::XMFLOAT4 color; float tu, tv; }; @@ -216,72 +198,259 @@ inline int RectHeight( RECT& rc ) } -HRESULT InitFont11( ID3D11Device* pd3d11Device, ID3D11InputLayout* pInputLayout ); -void EndFont11(); +//====================================================================================== +// Font11 +//====================================================================================== + +ID3D11Buffer* g_pFontBuffer11 = nullptr; +UINT g_FontBufferBytes11 = 0; +std::vector g_FontVertices; +ID3D11ShaderResourceView* g_pFont11 = nullptr; +ID3D11InputLayout* g_pInputLayout11 = nullptr; //-------------------------------------------------------------------------------------- -// CDXUTDialog class +HRESULT InitFont11( _In_ ID3D11Device* pd3d11Device, _In_ ID3D11InputLayout* pInputLayout ) +{ + HRESULT hr = S_OK; + WCHAR str[MAX_PATH]; + V_RETURN( DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"UI\\Font.dds" ) ); + + V_RETURN( CreateDDSTextureFromFile( pd3d11Device, str, nullptr, &g_pFont11 ) ); + + g_pInputLayout11 = pInputLayout; + return hr; +} + + +//-------------------------------------------------------------------------------------- +void EndFont11() +{ + SAFE_RELEASE( g_pFontBuffer11 ); + g_FontBufferBytes11 = 0; + SAFE_RELEASE( g_pFont11 ); +} + + //-------------------------------------------------------------------------------------- +void BeginText11() +{ + g_FontVertices.clear(); +} + //-------------------------------------------------------------------------------------- -CDXUTDialog::CDXUTDialog() +_Use_decl_annotations_ +void DrawText11DXUT( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext, + LPCWSTR strText, const RECT& rcScreen, DirectX::XMFLOAT4 vFontColor, + float fBBWidth, float fBBHeight, bool bCenter ) { - m_x = 0; - m_y = 0; - m_width = 0; - m_height = 0; + float fCharTexSizeX = 0.010526315f; + //float fGlyphSizeX = 14.0f / fBBWidth; + //float fGlyphSizeY = 32.0f / fBBHeight; + float fGlyphSizeX = 15.0f / fBBWidth; + float fGlyphSizeY = 42.0f / fBBHeight; - m_pManager = NULL; - m_bVisible = true; - m_bCaption = false; - m_bMinimized = false; - m_bDrag = false; - m_wszCaption[0] = L'\0'; - m_nCaptionHeight = 18; - m_colorTopLeft = 0; - m_colorTopRight = 0; - m_colorBottomLeft = 0; - m_colorBottomRight = 0; + float fRectLeft = rcScreen.left / fBBWidth; + float fRectTop = 1.0f - rcScreen.top / fBBHeight; + + fRectLeft = fRectLeft * 2.0f - 1.0f; + fRectTop = fRectTop * 2.0f - 1.0f; + + int NumChars = (int)wcslen( strText ); + if (bCenter) { + float fRectRight = rcScreen.right / fBBWidth; + fRectRight = fRectRight * 2.0f - 1.0f; + float fRectBottom = 1.0f - rcScreen.bottom / fBBHeight; + fRectBottom = fRectBottom * 2.0f - 1.0f; + float fcenterx = ((fRectRight - fRectLeft) - (float)NumChars*fGlyphSizeX) *0.5f; + float fcentery = ((fRectTop - fRectBottom) - (float)1*fGlyphSizeY) *0.5f; + fRectLeft += fcenterx ; + fRectTop -= fcentery; + } + float fOriginalLeft = fRectLeft; + float fTexTop = 0.0f; + float fTexBottom = 1.0f; + + float fDepth = 0.5f; + for( int i=0; i 126 ) + { + continue; + } + + // Add 6 sprite vertices + DXUTSpriteVertex SpriteVertex = {}; + float fRectRight = fRectLeft + fGlyphSizeX; + float fRectBottom = fRectTop - fGlyphSizeY; + float fTexLeft = ( strText[i] - 32 ) * fCharTexSizeX; + float fTexRight = fTexLeft + fCharTexSizeX; + + // tri1 + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexTop ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexTop ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexBottom ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + // tri2 + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexTop ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexBottom ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexBottom ); + SpriteVertex.vColor = vFontColor; + g_FontVertices.push_back( SpriteVertex ); + + fRectLeft += fGlyphSizeX; + + } + + // We have to end text after every line so that rendering order between sprites and fonts is preserved + EndText11( pd3dDevice, pd3d11DeviceContext ); +} + +_Use_decl_annotations_ +void EndText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ) +{ + if ( g_FontVertices.empty() ) + return; + + // ensure our buffer size can hold our sprites + UINT FontDataBytes = static_cast( g_FontVertices.size() * sizeof( DXUTSpriteVertex ) ); + if( g_FontBufferBytes11 < FontDataBytes ) + { + SAFE_RELEASE( g_pFontBuffer11 ); + g_FontBufferBytes11 = FontDataBytes; + + D3D11_BUFFER_DESC BufferDesc; + BufferDesc.ByteWidth = g_FontBufferBytes11; + BufferDesc.Usage = D3D11_USAGE_DYNAMIC; + BufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; + BufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; + BufferDesc.MiscFlags = 0; + + if (FAILED(pd3dDevice->CreateBuffer(&BufferDesc, nullptr, &g_pFontBuffer11))) + { + g_pFontBuffer11 = nullptr; + g_FontBufferBytes11 = 0; + return; + } + DXUT_SetDebugName( g_pFontBuffer11, "DXUT Text11" ); + } + + // Copy the sprites over + D3D11_BOX destRegion; + destRegion.left = 0; + destRegion.right = FontDataBytes; + destRegion.top = 0; + destRegion.bottom = 1; + destRegion.front = 0; + destRegion.back = 1; + D3D11_MAPPED_SUBRESOURCE MappedResource; + if ( S_OK == pd3d11DeviceContext->Map( g_pFontBuffer11, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ) ) + { + memcpy( MappedResource.pData, (void*)&g_FontVertices[0], FontDataBytes ); + pd3d11DeviceContext->Unmap(g_pFontBuffer11, 0); + } + + ID3D11ShaderResourceView* pOldTexture = nullptr; + pd3d11DeviceContext->PSGetShaderResources( 0, 1, &pOldTexture ); + pd3d11DeviceContext->PSSetShaderResources( 0, 1, &g_pFont11 ); - m_pCallbackEvent = NULL; - m_pCallbackEventUserContext = NULL; + // Draw + UINT Stride = sizeof( DXUTSpriteVertex ); + UINT Offset = 0; + pd3d11DeviceContext->IASetVertexBuffers( 0, 1, &g_pFontBuffer11, &Stride, &Offset ); + pd3d11DeviceContext->IASetInputLayout( g_pInputLayout11 ); + pd3d11DeviceContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST ); + pd3d11DeviceContext->Draw( static_cast( g_FontVertices.size() ), 0 ); - m_fTimeLastRefresh = 0; + pd3d11DeviceContext->PSSetShaderResources( 0, 1, &pOldTexture ); + SAFE_RELEASE( pOldTexture ); - m_pControlMouseOver = NULL; + g_FontVertices.clear(); +} - m_pNextDialog = this; - m_pPrevDialog = this; - m_nDefaultControlID = 0xffff; - m_bNonUserEvents = false; - m_bKeyboardInput = false; - m_bMouseInput = true; +//====================================================================================== +// CDXUTDialog class +//====================================================================================== + +CDXUTDialog::CDXUTDialog() noexcept : + m_bNonUserEvents(false), + m_bKeyboardInput(false), + m_bMouseInput(true), + m_nDefaultControlID(0xffff), + m_fTimeLastRefresh(0), + m_pControlMouseOver(nullptr), + m_bVisible(true), + m_bCaption(false), + m_bMinimized(false), + m_bDrag(false), + m_wszCaption{}, + m_x( 0 ), + m_y( 0 ), + m_width( 0 ), + m_height( 0 ), + m_nCaptionHeight(18), + m_colorTopLeft(0), + m_colorTopRight(0), + m_colorBottomLeft(0), + m_colorBottomRight(0), + m_pManager( nullptr ), + m_pCallbackEvent( nullptr ), + m_pCallbackEventUserContext( nullptr ), + m_CapElement{}, + m_pNextDialog(this), + m_pPrevDialog(this) +{ } //-------------------------------------------------------------------------------------- CDXUTDialog::~CDXUTDialog() { - int i = 0; - RemoveAllControls(); - m_Fonts.RemoveAll(); - m_Textures.RemoveAll(); + m_Fonts.clear(); + m_Textures.clear(); - for( i = 0; i < m_DefaultElements.GetSize(); i++ ) + for( auto it = m_DefaultElements.begin(); it != m_DefaultElements.end(); ++it ) { - DXUTElementHolder* pElementHolder = m_DefaultElements.GetAt( i ); - SAFE_DELETE( pElementHolder ); + SAFE_DELETE( *it ); } - m_DefaultElements.RemoveAll(); + m_DefaultElements.clear(); } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog ) { m_pManager = pManager; @@ -294,6 +463,7 @@ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDial //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog, LPCWSTR pszControlTextureFilename ) { m_pManager = pManager; @@ -305,6 +475,7 @@ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDial //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog, LPCWSTR szControlTextureResourceName, HMODULE hControlTextureResourceModule ) { @@ -318,13 +489,14 @@ void CDXUTDialog::Init( CDXUTDialogResourceManager* pManager, bool bRegisterDial //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTDialog::SetCallback( PCALLBACKDXUTGUIEVENT pCallback, void* pUserContext ) { // If this assert triggers, you need to call CDXUTDialog::Init() first. This change // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The // creation and interfacing with CDXUTDialogResourceManager is now the responsibility // of the application if it wishes to use DXUT's GUI. - assert( m_pManager != NULL && L"To fix call CDXUTDialog::Init() first. See comments for details." ); + assert( m_pManager && L"To fix call CDXUTDialog::Init() first. See comments for details." ); m_pCallbackEvent = pCallback; m_pCallbackEventUserContext = pUserContext; @@ -332,26 +504,25 @@ void CDXUTDialog::SetCallback( PCALLBACKDXUTGUIEVENT pCallback, void* pUserConte //-------------------------------------------------------------------------------------- -void CDXUTDialog::RemoveControl( int ID ) +void CDXUTDialog::RemoveControl( _In_ int ID ) { - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.begin(); it != m_Controls.end(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - if( pControl->GetID() == ID ) + if( (*it)->GetID() == ID ) { // Clean focus first ClearFocus(); // Clear references to this control - if( s_pControlFocus == pControl ) - s_pControlFocus = NULL; - if( s_pControlPressed == pControl ) - s_pControlPressed = NULL; - if( m_pControlMouseOver == pControl ) - m_pControlMouseOver = NULL; + if( s_pControlFocus == (*it) ) + s_pControlFocus = nullptr; + if( s_pControlPressed == (*it) ) + s_pControlPressed = nullptr; + if( m_pControlMouseOver == (*it) ) + m_pControlMouseOver = nullptr; - SAFE_DELETE( pControl ); - m_Controls.Remove( i ); + SAFE_DELETE( (*it) ); + m_Controls.erase( it ); return; } @@ -363,1063 +534,274 @@ void CDXUTDialog::RemoveControl( int ID ) void CDXUTDialog::RemoveAllControls() { if( s_pControlFocus && s_pControlFocus->m_pDialog == this ) - s_pControlFocus = NULL; + s_pControlFocus = nullptr; if( s_pControlPressed && s_pControlPressed->m_pDialog == this ) - s_pControlPressed = NULL; - m_pControlMouseOver = NULL; + s_pControlPressed = nullptr; + m_pControlMouseOver = nullptr; - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.begin(); it != m_Controls.end(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - SAFE_DELETE( pControl ); + SAFE_DELETE( *it ); } - m_Controls.RemoveAll(); + m_Controls.clear(); } //-------------------------------------------------------------------------------------- -CDXUTDialogResourceManager::CDXUTDialogResourceManager() +void CDXUTDialog::Refresh() { - // Begin D3D9-specific - m_pd3d9Device = NULL; - m_pStateBlock = NULL; - m_pSprite = NULL; - - // Begin D3D11-specific - // Shaders - m_pVSRenderUI11 = NULL; - m_pPSRenderUI11 = NULL; - m_pPSRenderUIUntex11 = NULL; - - // States - m_pDepthStencilStateUI11 = NULL; - m_pRasterizerStateUI11 = NULL; - m_pBlendStateUI11 = NULL; - m_pSamplerStateUI11 = NULL; - m_pDepthStencilStateStored11 = NULL; - m_pRasterizerStateStored11 = NULL; - m_pBlendStateStored11 = NULL; - m_pSamplerStateStored11 = NULL; - - m_pInputLayout11 = NULL; - m_pVBScreenQuad11 = NULL; - m_pSpriteBuffer11 = NULL; -} + if( s_pControlFocus ) + s_pControlFocus->OnFocusOut(); + if( m_pControlMouseOver ) + m_pControlMouseOver->OnMouseLeave(); -//-------------------------------------------------------------------------------------- -CDXUTDialogResourceManager::~CDXUTDialogResourceManager() -{ - int i; - for( i = 0; i < m_FontCache.GetSize(); i++ ) - { - DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); - SAFE_DELETE( pFontNode ); - } - m_FontCache.RemoveAll(); + s_pControlFocus = nullptr; + s_pControlPressed = nullptr; + m_pControlMouseOver = nullptr; - for( i = 0; i < m_TextureCache.GetSize(); i++ ) + for( auto it = m_Controls.begin(); it != m_Controls.end(); ++it ) { - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( i ); - SAFE_DELETE( pTextureNode ); + (*it)->Refresh(); } - m_TextureCache.RemoveAll(); - CUniBuffer::Uninitialize(); + if( m_bKeyboardInput ) + FocusDefaultControl(); } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::OnD3D9CreateDevice( LPDIRECT3DDEVICE9 pd3dDevice ) +HRESULT CDXUTDialog::OnRender( _In_ float fElapsedTime ) { - HRESULT hr = S_OK; - int i = 0; - - m_pd3d9Device = pd3dDevice; - - for( i = 0; i < m_FontCache.GetSize(); i++ ) - { - hr = CreateFont9( i ); - if( FAILED( hr ) ) - return hr; - } + // If this assert triggers, you need to call CDXUTDialogResourceManager::On*Device() from inside + // the application's device callbacks. See the SDK samples for an example of how to do this. + assert( m_pManager->GetD3D11Device() && + L"To fix hook up CDXUTDialogResourceManager to device callbacks. See comments for details" ); - for( i = 0; i < m_TextureCache.GetSize(); i++ ) + // See if the dialog needs to be refreshed + if( m_fTimeLastRefresh < s_fTimeRefresh ) { - hr = CreateTexture9( i ); - if( FAILED( hr ) ) - return hr; + m_fTimeLastRefresh = DXUTGetTime(); + Refresh(); } - hr = D3DXCreateSprite( pd3dDevice, &m_pSprite ); - if( FAILED( hr ) ) - return DXUT_ERR( L"D3DXCreateSprite", hr ); - - return S_OK; -} + // For invisible dialog, out now. + if( !m_bVisible || + ( m_bMinimized && !m_bCaption ) ) + return S_OK; + auto pd3dDevice = m_pManager->GetD3D11Device(); + auto pd3dDeviceContext = m_pManager->GetD3D11DeviceContext(); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::OnD3D9ResetDevice() -{ - HRESULT hr = S_OK; + // Set up a state block here and restore it when finished drawing all the controls + m_pManager->StoreD3D11State( pd3dDeviceContext ); - for( int i = 0; i < m_FontCache.GetSize(); i++ ) + BOOL bBackgroundIsVisible = ( m_colorTopLeft | m_colorTopRight | m_colorBottomRight | m_colorBottomLeft ) & 0xff000000; + if( !m_bMinimized && bBackgroundIsVisible ) { - DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); + // Convert the draw rectangle from screen coordinates to clip space coordinates. + float Left, Right, Top, Bottom; + Left = m_x * 2.0f / m_pManager->m_nBackBufferWidth - 1.0f; + Right = ( m_x + m_width ) * 2.0f / m_pManager->m_nBackBufferWidth - 1.0f; + Top = 1.0f - m_y * 2.0f / m_pManager->m_nBackBufferHeight; + Bottom = 1.0f - ( m_y + m_height ) * 2.0f / m_pManager->m_nBackBufferHeight; - if( pFontNode->pFont9 ) - pFontNode->pFont9->OnResetDevice(); - } + DXUT_SCREEN_VERTEX_10 vertices[4] = + { + Left, Top, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorTopLeft ), 0.0f, 0.0f, + Right, Top, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorTopRight ), 1.0f, 0.0f, + Left, Bottom, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorBottomLeft ), 0.0f, 1.0f, + Right, Bottom, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorBottomRight ), 1.0f, 1.0f, + }; - if( m_pSprite ) - m_pSprite->OnResetDevice(); + //DXUT_SCREEN_VERTEX_10 *pVB; + D3D11_MAPPED_SUBRESOURCE MappedData; + if( SUCCEEDED( pd3dDeviceContext->Map( m_pManager->m_pVBScreenQuad11, 0, D3D11_MAP_WRITE_DISCARD, + 0, &MappedData ) ) ) + { + memcpy( MappedData.pData, vertices, sizeof( vertices ) ); + pd3dDeviceContext->Unmap( m_pManager->m_pVBScreenQuad11, 0 ); + } - V_RETURN( m_pd3d9Device->CreateStateBlock( D3DSBT_ALL, &m_pStateBlock ) ); + // Set the quad VB as current + UINT stride = sizeof( DXUT_SCREEN_VERTEX_10 ); + UINT offset = 0; + pd3dDeviceContext->IASetVertexBuffers( 0, 1, &m_pManager->m_pVBScreenQuad11, &stride, &offset ); + pd3dDeviceContext->IASetInputLayout( m_pManager->m_pInputLayout11 ); + pd3dDeviceContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP ); - return S_OK; -} + // Setup for rendering + m_pManager->ApplyRenderUIUntex11( pd3dDeviceContext ); + pd3dDeviceContext->Draw( 4, 0 ); + } -//-------------------------------------------------------------------------------------- -bool CDXUTDialogResourceManager::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - return false; -} + auto pTextureNode = GetTexture( 0 ); + pd3dDeviceContext->PSSetShaderResources( 0, 1, &pTextureNode->pTexResView11 ); + // Sort depth back to front + m_pManager->BeginSprites11(); + BeginText11(); -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::OnD3D9LostDevice() -{ - for( int i = 0; i < m_FontCache.GetSize(); i++ ) - { - DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); + m_pManager->ApplyRenderUI11( pd3dDeviceContext ); - if( pFontNode->pFont9 ) - pFontNode->pFont9->OnLostDevice(); + // Render the caption if it's enabled. + if( m_bCaption ) + { + // DrawSprite will offset the rect down by + // m_nCaptionHeight, so adjust the rect higher + // here to negate the effect. + RECT rc = { 0, -m_nCaptionHeight, m_width, 0 }; + DrawSprite( &m_CapElement, &rc, 0.99f ); + rc.left += 5; // Make a left margin + WCHAR wszOutput[256]; + wcscpy_s( wszOutput, 256, m_wszCaption ); + if( m_bMinimized ) + wcscat_s( wszOutput, 256, L" (Minimized)" ); + DrawText( wszOutput, &m_CapElement, &rc, true ); } - if( m_pSprite ) - m_pSprite->OnLostDevice(); - - SAFE_RELEASE( m_pStateBlock ); -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::OnD3D9DestroyDevice() -{ - int i = 0; + // If the dialog is minimized, skip rendering + // its controls. + if( !m_bMinimized ) + { + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) + { + // Focused control is drawn last + if( *it == s_pControlFocus ) + continue; - m_pd3d9Device = NULL; + (*it)->Render( fElapsedTime ); + } - // Release the resources but don't clear the cache, as these will need to be - // recreated if the device is recreated - for( i = 0; i < m_FontCache.GetSize(); i++ ) - { - DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); - SAFE_RELEASE( pFontNode->pFont9 ); + if( s_pControlFocus && s_pControlFocus->m_pDialog == this ) + s_pControlFocus->Render( fElapsedTime ); } - for( i = 0; i < m_TextureCache.GetSize(); i++ ) + // End sprites + if( m_bCaption ) { - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( i ); - SAFE_RELEASE( pTextureNode->pTexture9 ); + m_pManager->EndSprites11( pd3dDevice, pd3dDeviceContext ); + EndText11( pd3dDevice, pd3dDeviceContext ); } + m_pManager->RestoreD3D11State( pd3dDeviceContext ); - SAFE_RELEASE( m_pSprite ); + return S_OK; } - -HRESULT CDXUTDialogResourceManager::OnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ) +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +VOID CDXUTDialog::SendEvent( UINT nEvent, bool bTriggeredByUser, CDXUTControl* pControl ) { - m_pd3d11Device = pd3dDevice; - m_pd3d11DeviceContext = pd3d11DeviceContext; - - HRESULT hr = S_OK; - - // Compile Shaders - ID3DBlob* pVSBlob = NULL; - ID3DBlob* pPSBlob = NULL; - ID3DBlob* pPSUntexBlob = NULL; - V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", NULL, NULL, "VS", "vs_4_0_level_9_1", - D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pVSBlob, NULL ) ); - V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", NULL, NULL, "PS", "ps_4_0_level_9_1", - D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pPSBlob, NULL ) ); - V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", NULL, NULL, "PSUntex", "ps_4_0_level_9_1", - D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pPSUntexBlob, NULL ) ); - - // Create Shaders - V_RETURN( pd3dDevice->CreateVertexShader( pVSBlob->GetBufferPointer(), pVSBlob->GetBufferSize(), NULL, &m_pVSRenderUI11 ) ); - DXUT_SetDebugName( m_pVSRenderUI11, "CDXUTDialogResourceManager" ); - - V_RETURN( pd3dDevice->CreatePixelShader( pPSBlob->GetBufferPointer(), pPSBlob->GetBufferSize(), NULL, &m_pPSRenderUI11 ) ); - DXUT_SetDebugName( m_pPSRenderUI11, "CDXUTDialogResourceManager" ); - - V_RETURN( pd3dDevice->CreatePixelShader( pPSUntexBlob->GetBufferPointer(), pPSUntexBlob->GetBufferSize(), NULL, &m_pPSRenderUIUntex11 ) ); - DXUT_SetDebugName( m_pPSRenderUIUntex11, "CDXUTDialogResourceManager" ); - - // States - D3D11_DEPTH_STENCIL_DESC DSDesc; - ZeroMemory( &DSDesc, sizeof( D3D11_DEPTH_STENCIL_DESC ) ); - DSDesc.DepthEnable = FALSE; - DSDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL; - DSDesc.DepthFunc = D3D11_COMPARISON_LESS; - DSDesc.StencilEnable = FALSE; - V_RETURN( pd3dDevice->CreateDepthStencilState( &DSDesc, &m_pDepthStencilStateUI11 ) ); - DXUT_SetDebugName( m_pDepthStencilStateUI11, "CDXUTDialogResourceManager" ); - - D3D11_RASTERIZER_DESC RSDesc; - RSDesc.AntialiasedLineEnable = FALSE; - RSDesc.CullMode = D3D11_CULL_BACK; - RSDesc.DepthBias = 0; - RSDesc.DepthBiasClamp = 0.0f; - RSDesc.DepthClipEnable = TRUE; - RSDesc.FillMode = D3D11_FILL_SOLID; - RSDesc.FrontCounterClockwise = FALSE; - RSDesc.MultisampleEnable = TRUE; - RSDesc.ScissorEnable = FALSE; - RSDesc.SlopeScaledDepthBias = 0.0f; - V_RETURN( pd3dDevice->CreateRasterizerState( &RSDesc, &m_pRasterizerStateUI11 ) ); - DXUT_SetDebugName( m_pRasterizerStateUI11, "CDXUTDialogResourceManager" ); + // If no callback has been registered there's nowhere to send the event to + if( !m_pCallbackEvent ) + return; - D3D11_BLEND_DESC BSDesc; - ZeroMemory( &BSDesc, sizeof( D3D11_BLEND_DESC ) ); - - BSDesc.RenderTarget[0].BlendEnable = TRUE; - BSDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA; - BSDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; - BSDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; - BSDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; - BSDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO; - BSDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; - BSDesc.RenderTarget[0].RenderTargetWriteMask = 0x0F; + // Discard events triggered programatically if these types of events haven't been + // enabled + if( !bTriggeredByUser && !m_bNonUserEvents ) + return; - V_RETURN( pd3dDevice->CreateBlendState( &BSDesc, &m_pBlendStateUI11 ) ); - DXUT_SetDebugName( m_pBlendStateUI11, "CDXUTDialogResourceManager" ); + m_pCallbackEvent( nEvent, pControl->GetID(), pControl, m_pCallbackEventUserContext ); +} - D3D11_SAMPLER_DESC SSDesc; - ZeroMemory( &SSDesc, sizeof( D3D11_SAMPLER_DESC ) ); - SSDesc.Filter = D3D11_FILTER_ANISOTROPIC ; - SSDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; - SSDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; - SSDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; - SSDesc.ComparisonFunc = D3D11_COMPARISON_NEVER; - SSDesc.MaxAnisotropy = 16; - SSDesc.MinLOD = 0; - SSDesc.MaxLOD = D3D11_FLOAT32_MAX; - if ( pd3dDevice->GetFeatureLevel() < D3D_FEATURE_LEVEL_9_3 ) { - SSDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR; - SSDesc.MaxAnisotropy = 0; - } - V_RETURN( pd3dDevice->CreateSamplerState( &SSDesc, &m_pSamplerStateUI11 ) ); - DXUT_SetDebugName( m_pSamplerStateUI11, "CDXUTDialogResourceManager" ); - // Create the font and texture objects in the cache arrays. - int i = 0; - for( i = 0; i < m_FontCache.GetSize(); i++ ) - { - hr = CreateFont11( i ); - if( FAILED( hr ) ) - return hr; - } +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT CDXUTDialog::SetFont( UINT index, LPCWSTR strFaceName, LONG height, LONG weight ) +{ + // If this assert triggers, you need to call CDXUTDialog::Init() first. This change + // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The + // creation and interfacing with CDXUTDialogResourceManager is now the responsibility + // of the application if it wishes to use DXUT's GUI. + assert( m_pManager && L"To fix call CDXUTDialog::Init() first. See comments for details." ); + _Analysis_assume_( m_pManager ); - for( i = 0; i < m_TextureCache.GetSize(); i++ ) + // Make sure the list is at least as large as the index being set + for( size_t i = m_Fonts.size(); i <= index; i++ ) { - hr = CreateTexture11( i ); - if( FAILED( hr ) ) - return hr; + m_Fonts.push_back( -1 ); } - // Create input layout - const D3D11_INPUT_ELEMENT_DESC layout[] = - { - { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, - { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, - { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 28, D3D11_INPUT_PER_VERTEX_DATA, 0 }, - }; - - V_RETURN( pd3dDevice->CreateInputLayout( layout, ARRAYSIZE( layout ), pVSBlob->GetBufferPointer(), pVSBlob->GetBufferSize(), &m_pInputLayout11 ) ); - DXUT_SetDebugName( m_pInputLayout11, "CDXUTDialogResourceManager" ); - - // Release the blobs - SAFE_RELEASE( pVSBlob ); - SAFE_RELEASE( pPSBlob ); - SAFE_RELEASE( pPSUntexBlob ); - - // Create a vertex buffer quad for rendering later - D3D11_BUFFER_DESC BufDesc; - BufDesc.ByteWidth = sizeof( DXUT_SCREEN_VERTEX_10 ) * 4; - BufDesc.Usage = D3D11_USAGE_DYNAMIC; - BufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; - BufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; - BufDesc.MiscFlags = 0; - V_RETURN( pd3dDevice->CreateBuffer( &BufDesc, NULL, &m_pVBScreenQuad11 ) ); - DXUT_SetDebugName( m_pVBScreenQuad11, "CDXUTDialogResourceManager" ); - - // Init the D3D11 font - InitFont11( pd3dDevice, m_pInputLayout11 ); + int iFont = m_pManager->AddFont( strFaceName, height, weight ); + m_Fonts[ index ] = iFont; return S_OK; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, - const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ) -{ - HRESULT hr = S_OK; - - m_nBackBufferWidth = pBackBufferSurfaceDesc->Width; - m_nBackBufferHeight = pBackBufferSurfaceDesc->Height; - - return hr; -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::OnD3D11ReleasingSwapChain() +DXUTFontNode* CDXUTDialog::GetFont( _In_ UINT index ) const { + if( !m_pManager ) + return nullptr; + return m_pManager->GetFontNode( m_Fonts[ index ] ); } //-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::OnD3D11DestroyDevice() +_Use_decl_annotations_ +HRESULT CDXUTDialog::SetTexture( UINT index, LPCWSTR strFilename ) { - int i; - - // Release the resources but don't clear the cache, as these will need to be - // recreated if the device is recreated + // If this assert triggers, you need to call CDXUTDialog::Init() first. This change + // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The + // creation and interfacing with CDXUTDialogResourceManager is now the responsibility + // of the application if it wishes to use DXUT's GUI. + assert( m_pManager && L"To fix this, call CDXUTDialog::Init() first. See comments for details." ); + _Analysis_assume_( m_pManager ); - for( i = 0; i < m_TextureCache.GetSize(); i++ ) + // Make sure the list is at least as large as the index being set + for( size_t i = m_Textures.size(); i <= index; i++ ) { - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( i ); - SAFE_RELEASE( pTextureNode->pTexResView11 ); - SAFE_RELEASE( pTextureNode->pTexture11 ); + m_Textures.push_back( -1 ); } - // D3D11 - SAFE_RELEASE( m_pVBScreenQuad11 ); - SAFE_RELEASE( m_pSpriteBuffer11 ); - m_SpriteBufferBytes11 = 0; - SAFE_RELEASE( m_pInputLayout11 ); - - // Shaders - SAFE_RELEASE( m_pVSRenderUI11 ); - SAFE_RELEASE( m_pPSRenderUI11 ); - SAFE_RELEASE( m_pPSRenderUIUntex11 ); - - // States - SAFE_RELEASE( m_pDepthStencilStateUI11 ); - SAFE_RELEASE( m_pRasterizerStateUI11 ); - SAFE_RELEASE( m_pBlendStateUI11 ); - SAFE_RELEASE( m_pSamplerStateUI11 ); - - SAFE_RELEASE( m_pDepthStencilStateStored11 ); - SAFE_RELEASE( m_pRasterizerStateStored11 ); - SAFE_RELEASE( m_pBlendStateStored11 ); - SAFE_RELEASE( m_pSamplerStateStored11 ); + int iTexture = m_pManager->AddTexture( strFilename ); - EndFont11(); + m_Textures[ index] = iTexture; + return S_OK; } -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::StoreD3D11State( ID3D11DeviceContext* pd3dImmediateContext ) -{ - pd3dImmediateContext->OMGetDepthStencilState( &m_pDepthStencilStateStored11, &m_StencilRefStored11 ); - pd3dImmediateContext->RSGetState( &m_pRasterizerStateStored11 ); - pd3dImmediateContext->OMGetBlendState( &m_pBlendStateStored11, m_BlendFactorStored11, &m_SampleMaskStored11 ); - pd3dImmediateContext->PSGetSamplers( 0, 1, &m_pSamplerStateStored11 ); -} //-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::RestoreD3D11State( ID3D11DeviceContext* pd3dImmediateContext ) +_Use_decl_annotations_ +HRESULT CDXUTDialog::SetTexture( UINT index, LPCWSTR strResourceName, HMODULE hResourceModule ) { - pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateStored11, m_StencilRefStored11 ); - pd3dImmediateContext->RSSetState( m_pRasterizerStateStored11 ); - pd3dImmediateContext->OMSetBlendState( m_pBlendStateStored11, m_BlendFactorStored11, m_SampleMaskStored11 ); - pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateStored11 ); + // If this assert triggers, you need to call CDXUTDialog::Init() first. This change + // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The + // creation and interfacing with CDXUTDialogResourceManager is now the responsibility + // of the application if it wishes to use DXUT's GUI. + assert( m_pManager && L"To fix this, call CDXUTDialog::Init() first. See comments for details." ); + _Analysis_assume_( m_pManager ); - SAFE_RELEASE( m_pDepthStencilStateStored11 ); - SAFE_RELEASE( m_pRasterizerStateStored11 ); - SAFE_RELEASE( m_pBlendStateStored11 ); - SAFE_RELEASE( m_pSamplerStateStored11 ); -} + // Make sure the list is at least as large as the index being set + for( size_t i = m_Textures.size(); i <= index; i++ ) + { + m_Textures.push_back( -1 ); + } -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::ApplyRenderUI11( ID3D11DeviceContext* pd3dImmediateContext ) -{ - // Shaders - pd3dImmediateContext->VSSetShader( m_pVSRenderUI11, NULL, 0 ); - pd3dImmediateContext->HSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->DSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->GSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->PSSetShader( m_pPSRenderUI11, NULL, 0 ); + int iTexture = m_pManager->AddTexture( strResourceName, hResourceModule ); - // States - pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateUI11, 0 ); - pd3dImmediateContext->RSSetState( m_pRasterizerStateUI11 ); - float BlendFactor[4] = { 0, 0, 0, 0 }; - pd3dImmediateContext->OMSetBlendState( m_pBlendStateUI11, BlendFactor, 0xFFFFFFFF ); - pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateUI11 ); + m_Textures[ index ] = iTexture; + return S_OK; } -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::ApplyRenderUIUntex11( ID3D11DeviceContext* pd3dImmediateContext ) -{ - // Shaders - pd3dImmediateContext->VSSetShader( m_pVSRenderUI11, NULL, 0 ); - pd3dImmediateContext->HSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->DSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->GSSetShader( NULL, NULL, 0 ); - pd3dImmediateContext->PSSetShader( m_pPSRenderUIUntex11, NULL, 0 ); - - // States - pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateUI11, 0 ); - pd3dImmediateContext->RSSetState( m_pRasterizerStateUI11 ); - float BlendFactor[4] = { 0, 0, 0, 0 }; - pd3dImmediateContext->OMSetBlendState( m_pBlendStateUI11, BlendFactor, 0xFFFFFFFF ); - pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateUI11 ); -} //-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::BeginSprites11( ) +DXUTTextureNode* CDXUTDialog::GetTexture( _In_ UINT index ) const { - m_SpriteVertices.Reset(); + if( !m_pManager ) + return nullptr; + return m_pManager->GetTextureNode( m_Textures[ index ] ); } + //-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::EndSprites11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ) +_Use_decl_annotations_ +bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { - - // ensure our buffer size can hold our sprites - UINT SpriteDataBytes = m_SpriteVertices.GetSize() * sizeof( DXUTSpriteVertex ); - if( m_SpriteBufferBytes11 < SpriteDataBytes ) - { - SAFE_RELEASE( m_pSpriteBuffer11 ); - m_SpriteBufferBytes11 = SpriteDataBytes; - - D3D11_BUFFER_DESC BufferDesc; - BufferDesc.ByteWidth = m_SpriteBufferBytes11; - BufferDesc.Usage = D3D11_USAGE_DYNAMIC; - BufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; - BufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; - BufferDesc.MiscFlags = 0; - - pd3dDevice->CreateBuffer( &BufferDesc, NULL, &m_pSpriteBuffer11 ); - DXUT_SetDebugName( m_pSpriteBuffer11, "CDXUTDialogResourceManager" ); - } - - // Copy the sprites over - D3D11_BOX destRegion; - destRegion.left = 0; - destRegion.right = SpriteDataBytes; - destRegion.top = 0; - destRegion.bottom = 1; - destRegion.front = 0; - destRegion.back = 1; - D3D11_MAPPED_SUBRESOURCE MappedResource; - if ( S_OK == pd3dImmediateContext->Map( m_pSpriteBuffer11, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ) ) { - CopyMemory( MappedResource.pData, (void*)m_SpriteVertices.GetData(), SpriteDataBytes ); - pd3dImmediateContext->Unmap(m_pSpriteBuffer11, 0); - } - - // Draw - UINT Stride = sizeof( DXUTSpriteVertex ); - UINT Offset = 0; - pd3dImmediateContext->IASetVertexBuffers( 0, 1, &m_pSpriteBuffer11, &Stride, &Offset ); - pd3dImmediateContext->IASetInputLayout( m_pInputLayout11 ); - pd3dImmediateContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST ); - pd3dImmediateContext->Draw( m_SpriteVertices.GetSize(), 0 ); - - m_SpriteVertices.Reset(); -} - -//-------------------------------------------------------------------------------------- -bool CDXUTDialogResourceManager::RegisterDialog( CDXUTDialog* pDialog ) -{ - // Check that the dialog isn't already registered. - for( int i = 0; i < m_Dialogs.GetSize(); ++i ) - if( m_Dialogs.GetAt( i ) == pDialog ) - return true; - - // Add to the list. - if( FAILED( m_Dialogs.Add( pDialog ) ) ) - return false; - - // Set up next and prev pointers. - if( m_Dialogs.GetSize() > 1 ) - m_Dialogs[m_Dialogs.GetSize() - 2]->SetNextDialog( pDialog ); - m_Dialogs[m_Dialogs.GetSize() - 1]->SetNextDialog( m_Dialogs[0] ); - - return true; -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::UnregisterDialog( CDXUTDialog* pDialog ) -{ - // Search for the dialog in the list. - for( int i = 0; i < m_Dialogs.GetSize(); ++i ) - if( m_Dialogs.GetAt( i ) == pDialog ) - { - m_Dialogs.Remove( i ); - if( m_Dialogs.GetSize() > 0 ) - { - int l, r; - - if( 0 == i ) - l = m_Dialogs.GetSize() - 1; - else - l = i - 1; - - if( m_Dialogs.GetSize() == i ) - r = 0; - else - r = i; - - m_Dialogs[l]->SetNextDialog( m_Dialogs[r] ); - } - return; - } -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialogResourceManager::EnableKeyboardInputForAllDialogs() -{ - // Enable keyboard input for all registered dialogs - for( int i = 0; i < m_Dialogs.GetSize(); ++i ) - m_Dialogs[i]->EnableKeyboardInput( true ); -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialog::Refresh() -{ - if( s_pControlFocus ) - s_pControlFocus->OnFocusOut(); - - if( m_pControlMouseOver ) - m_pControlMouseOver->OnMouseLeave(); - - s_pControlFocus = NULL; - s_pControlPressed = NULL; - m_pControlMouseOver = NULL; - - for( int i = 0; i < m_Controls.GetSize(); i++ ) - { - CDXUTControl* pControl = m_Controls.GetAt( i ); - pControl->Refresh(); - } - - if( m_bKeyboardInput ) - FocusDefaultControl(); -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::OnRender( float fElapsedTime ) -{ - if( m_pManager->GetD3D9Device() ) - return OnRender9( fElapsedTime ); - else - return OnRender11( fElapsedTime ); -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::OnRender9( float fElapsedTime ) -{ - // If this assert triggers, you need to call CDXUTDialogResourceManager::On*Device() from inside - // the application's device callbacks. See the SDK samples for an example of how to do this. - assert( m_pManager->GetD3D9Device() && m_pManager->m_pStateBlock && - L"To fix hook up CDXUTDialogResourceManager to device callbacks. See comments for details" ); - - // See if the dialog needs to be refreshed - if( m_fTimeLastRefresh < s_fTimeRefresh ) - { - m_fTimeLastRefresh = DXUTGetTime(); - Refresh(); - } - - // For invisible dialog, out now. - if( !m_bVisible || - ( m_bMinimized && !m_bCaption ) ) - return S_OK; - - IDirect3DDevice9* pd3dDevice = m_pManager->GetD3D9Device(); - - // Set up a state block here and restore it when finished drawing all the controls - m_pManager->m_pStateBlock->Capture(); - - //pd3dDevice->SetSamplerState(0, D3DSAMP_SRGBTEXTURE, TRUE); - //pd3dDevice->SetRenderState( D3DRS_SRGBWRITEENABLE, TRUE ); - - pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE ); - pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA ); - pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA ); - pd3dDevice->SetRenderState( D3DRS_ALPHATESTENABLE, FALSE ); - pd3dDevice->SetRenderState( D3DRS_SEPARATEALPHABLENDENABLE, FALSE ); - pd3dDevice->SetRenderState( D3DRS_BLENDOP, D3DBLENDOP_ADD ); - pd3dDevice->SetRenderState( D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_ALPHA | D3DCOLORWRITEENABLE_BLUE | - D3DCOLORWRITEENABLE_GREEN | D3DCOLORWRITEENABLE_RED ); - pd3dDevice->SetRenderState( D3DRS_SHADEMODE, D3DSHADE_GOURAUD ); - pd3dDevice->SetRenderState( D3DRS_FOGENABLE, FALSE ); - pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, FALSE ); - pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); - pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_RESULTARG, D3DTA_CURRENT ); - pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE ); - pd3dDevice->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE ); - - BOOL bBackgroundIsVisible = ( m_colorTopLeft | m_colorTopRight | m_colorBottomRight | m_colorBottomLeft ) & - 0xff000000; - if( !m_bMinimized && bBackgroundIsVisible ) - { - DXUT_SCREEN_VERTEX_UNTEX vertices[4] = - { - ( float )m_x, ( float )m_y, 0.5f, 1.0f, m_colorTopLeft, - ( float )m_x + m_width, ( float )m_y, 0.5f, 1.0f, m_colorTopRight, - ( float )m_x + m_width, ( float )m_y + m_height, 0.5f, 1.0f, m_colorBottomRight, - ( float )m_x, ( float )m_y + m_height, 0.5f, 1.0f, m_colorBottomLeft, - }; - - pd3dDevice->SetVertexShader( NULL ); - pd3dDevice->SetPixelShader( NULL ); - - pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE ); - - pd3dDevice->SetFVF( DXUT_SCREEN_VERTEX_UNTEX::FVF ); - pd3dDevice->DrawPrimitiveUP( D3DPT_TRIANGLEFAN, 2, vertices, sizeof( DXUT_SCREEN_VERTEX_UNTEX ) ); - } - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE ); - - pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR ); - - DXUTTextureNode* pTextureNode = GetTexture( 0 ); - pd3dDevice->SetTexture( 0, pTextureNode->pTexture9 ); - - m_pManager->m_pSprite->Begin( D3DXSPRITE_DONOTSAVESTATE ); - - // Render the caption if it's enabled. - if( m_bCaption ) - { - // DrawSprite will offset the rect down by - // m_nCaptionHeight, so adjust the rect higher - // here to negate the effect. - RECT rc = - { - 0, -m_nCaptionHeight, m_width, 0 - }; - DrawSprite9( &m_CapElement, &rc ); - rc.left += 5; // Make a left margin - WCHAR wszOutput[256]; - wcscpy_s( wszOutput, 256, m_wszCaption ); - if( m_bMinimized ) - wcscat_s( wszOutput, 256, L" (Minimized)" ); - DrawText9( wszOutput, &m_CapElement, &rc, true ); - } - - // If the dialog is minimized, skip rendering - // its controls. - if( !m_bMinimized ) - { - for( int i = 0; i < m_Controls.GetSize(); i++ ) - { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - // Focused control is drawn last - if( pControl == s_pControlFocus ) - continue; - - pControl->Render( fElapsedTime ); - } - - if( s_pControlFocus != NULL && s_pControlFocus->m_pDialog == this ) - s_pControlFocus->Render( fElapsedTime ); - } - - m_pManager->m_pSprite->End(); - - m_pManager->m_pStateBlock->Apply(); - - return S_OK; -} - - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::OnRender11( float fElapsedTime ) -{ - // If this assert triggers, you need to call CDXUTDialogResourceManager::On*Device() from inside - // the application's device callbacks. See the SDK samples for an example of how to do this. - assert( m_pManager->GetD3D11Device() && - L"To fix hook up CDXUTDialogResourceManager to device callbacks. See comments for details" ); - - // See if the dialog needs to be refreshed - if( m_fTimeLastRefresh < s_fTimeRefresh ) - { - m_fTimeLastRefresh = DXUTGetTime(); - Refresh(); - } - - // For invisible dialog, out now. - if( !m_bVisible || - ( m_bMinimized && !m_bCaption ) ) - return S_OK; - - ID3D11Device* pd3dDevice = m_pManager->GetD3D11Device(); - ID3D11DeviceContext* pd3dDeviceContext = m_pManager->GetD3D11DeviceContext(); - - // Set up a state block here and restore it when finished drawing all the controls - m_pManager->StoreD3D11State( pd3dDeviceContext ); - - BOOL bBackgroundIsVisible = ( m_colorTopLeft | m_colorTopRight | m_colorBottomRight | m_colorBottomLeft ) & - 0xff000000; - if( !m_bMinimized && bBackgroundIsVisible ) - { - // Convert the draw rectangle from screen coordinates to clip space coordinates. - float Left, Right, Top, Bottom; - Left = m_x * 2.0f / m_pManager->m_nBackBufferWidth - 1.0f; - Right = ( m_x + m_width ) * 2.0f / m_pManager->m_nBackBufferWidth - 1.0f; - Top = 1.0f - m_y * 2.0f / m_pManager->m_nBackBufferHeight; - Bottom = 1.0f - ( m_y + m_height ) * 2.0f / m_pManager->m_nBackBufferHeight; - - DXUT_SCREEN_VERTEX_10 vertices[4] = - { - Left, Top, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorTopLeft ), 0.0f, 0.0f, - Right, Top, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorTopRight ), 1.0f, 0.0f, - Left, Bottom, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorBottomLeft ), 0.0f, 1.0f, - Right, Bottom, 0.5f, D3DCOLOR_TO_D3DCOLORVALUE( m_colorBottomRight ), 1.0f, 1.0f, - }; - - //DXUT_SCREEN_VERTEX_10 *pVB; - D3D11_MAPPED_SUBRESOURCE MappedData; - if( SUCCEEDED( pd3dDeviceContext->Map( m_pManager->m_pVBScreenQuad11, 0, D3D11_MAP_WRITE_DISCARD, - 0, &MappedData ) ) ) - { - CopyMemory( MappedData.pData, vertices, sizeof( vertices ) ); - pd3dDeviceContext->Unmap( m_pManager->m_pVBScreenQuad11, 0 ); - } - - // Set the quad VB as current - UINT stride = sizeof( DXUT_SCREEN_VERTEX_10 ); - UINT offset = 0; - pd3dDeviceContext->IASetVertexBuffers( 0, 1, &m_pManager->m_pVBScreenQuad11, &stride, &offset ); - pd3dDeviceContext->IASetInputLayout( m_pManager->m_pInputLayout11 ); - pd3dDeviceContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP ); - - // Setup for rendering - m_pManager->ApplyRenderUIUntex11( pd3dDeviceContext ); - pd3dDeviceContext->Draw( 4, 0 ); - } - - DXUTTextureNode* pTextureNode = GetTexture( 0 ); - pd3dDeviceContext->PSSetShaderResources( 0, 1, &pTextureNode->pTexResView11 ); - - // Sort depth back to front - m_pManager->BeginSprites11(); - BeginText11(); - - m_pManager->ApplyRenderUI11( pd3dDeviceContext ); - - // Render the caption if it's enabled. - if( m_bCaption ) - { - // DrawSprite will offset the rect down by - // m_nCaptionHeight, so adjust the rect higher - // here to negate the effect. - RECT rc = { 0, -m_nCaptionHeight, m_width, 0 }; - DrawSprite11( &m_CapElement, &rc, 0.99f ); - rc.left += 5; // Make a left margin - WCHAR wszOutput[256]; - wcscpy_s( wszOutput, 256, m_wszCaption ); - if( m_bMinimized ) - wcscat_s( wszOutput, 256, L" (Minimized)" ); - DrawText11( pd3dDevice, pd3dDeviceContext, wszOutput, &m_CapElement, &rc, true ); - } - - // If the dialog is minimized, skip rendering - // its controls. - if( !m_bMinimized ) - { - for( int i = 0; i < m_Controls.GetSize(); i++ ) - { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - // Focused control is drawn last - if( pControl == s_pControlFocus ) - continue; - - pControl->Render( fElapsedTime ); - } - - if( s_pControlFocus != NULL && s_pControlFocus->m_pDialog == this ) - s_pControlFocus->Render( fElapsedTime ); - } - - // End sprites - if( m_bCaption ) - { - m_pManager->EndSprites11( pd3dDevice, pd3dDeviceContext ); - EndText11( pd3dDevice, pd3dDeviceContext ); - } - m_pManager->RestoreD3D11State( pd3dDeviceContext ); - - return S_OK; -} - -//-------------------------------------------------------------------------------------- -VOID CDXUTDialog::SendEvent( UINT nEvent, bool bTriggeredByUser, CDXUTControl* pControl ) -{ - // If no callback has been registered there's nowhere to send the event to - if( m_pCallbackEvent == NULL ) - return; - - // Discard events triggered programatically if these types of events haven't been - // enabled - if( !bTriggeredByUser && !m_bNonUserEvents ) - return; - - m_pCallbackEvent( nEvent, pControl->GetID(), pControl, m_pCallbackEventUserContext ); -} - - -//-------------------------------------------------------------------------------------- -int CDXUTDialogResourceManager::AddFont( LPCWSTR strFaceName, LONG height, LONG weight ) -{ - // See if this font already exists - for( int i = 0; i < m_FontCache.GetSize(); i++ ) - { - DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); - size_t nLen = 0; - nLen = wcsnlen( strFaceName, MAX_PATH); - if( 0 == _wcsnicmp( pFontNode->strFace, strFaceName, nLen ) && - pFontNode->nHeight == height && - pFontNode->nWeight == weight ) - { - return i; - } - } - - // Add a new font and try to create it - DXUTFontNode* pNewFontNode = new DXUTFontNode; - if( pNewFontNode == NULL ) - return -1; - - ZeroMemory( pNewFontNode, sizeof( DXUTFontNode ) ); - wcscpy_s( pNewFontNode->strFace, MAX_PATH, strFaceName ); - pNewFontNode->nHeight = height; - pNewFontNode->nWeight = weight; - m_FontCache.Add( pNewFontNode ); - - int iFont = m_FontCache.GetSize() - 1; - - // If a device is available, try to create immediately - if( m_pd3d9Device ) - CreateFont9( iFont ); - - return iFont; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::SetFont( UINT index, LPCWSTR strFaceName, LONG height, LONG weight ) -{ - // If this assert triggers, you need to call CDXUTDialog::Init() first. This change - // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The - // creation and interfacing with CDXUTDialogResourceManager is now the responsibility - // of the application if it wishes to use DXUT's GUI. - assert( m_pManager != NULL && L"To fix call CDXUTDialog::Init() first. See comments for details." ); - - // Make sure the list is at least as large as the index being set - UINT i; - for( i = m_Fonts.GetSize(); i <= index; i++ ) - { - m_Fonts.Add( -1 ); - } - - int iFont = m_pManager->AddFont( strFaceName, height, weight ); - m_Fonts.SetAt( index, iFont ); - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -DXUTFontNode* CDXUTDialog::GetFont( UINT index ) -{ - if( NULL == m_pManager ) - return NULL; - return m_pManager->GetFontNode( m_Fonts.GetAt( index ) ); -} - - -//-------------------------------------------------------------------------------------- -int CDXUTDialogResourceManager::AddTexture( LPCWSTR strFilename ) -{ - // See if this texture already exists - for( int i = 0; i < m_TextureCache.GetSize(); i++ ) - { - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( i ); - size_t nLen = 0; - nLen = wcsnlen( strFilename, MAX_PATH); - if( pTextureNode->bFileSource && // Sources must match - 0 == _wcsnicmp( pTextureNode->strFilename, strFilename, nLen ) ) - { - return i; - } - } - - // Add a new texture and try to create it - DXUTTextureNode* pNewTextureNode = new DXUTTextureNode; - if( pNewTextureNode == NULL ) - return -1; - - ZeroMemory( pNewTextureNode, sizeof( DXUTTextureNode ) ); - pNewTextureNode->bFileSource = true; - wcscpy_s( pNewTextureNode->strFilename, MAX_PATH, strFilename ); - - m_TextureCache.Add( pNewTextureNode ); - - int iTexture = m_TextureCache.GetSize() - 1; - - // If a device is available, try to create immediately - if( m_pd3d9Device ) - CreateTexture9( iTexture ); - - return iTexture; -} - - -//-------------------------------------------------------------------------------------- -int CDXUTDialogResourceManager::AddTexture( LPCWSTR strResourceName, HMODULE hResourceModule ) -{ - // See if this texture already exists - for( int i = 0; i < m_TextureCache.GetSize(); i++ ) - { - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( i ); - if( !pTextureNode->bFileSource && // Sources must match - pTextureNode->hResourceModule == hResourceModule ) // Module handles must match - { - if( IS_INTRESOURCE( strResourceName ) ) - { - // Integer-based ID - if( ( INT_PTR )strResourceName == pTextureNode->nResourceID ) - return i; - } - else - { - // String-based ID - size_t nLen = 0; - nLen = wcsnlen ( strResourceName, MAX_PATH ); - if( 0 == _wcsnicmp( pTextureNode->strFilename, strResourceName, nLen ) ) - return i; - } - } - } - - // Add a new texture and try to create it - DXUTTextureNode* pNewTextureNode = new DXUTTextureNode; - if( pNewTextureNode == NULL ) - return -1; - - ZeroMemory( pNewTextureNode, sizeof( DXUTTextureNode ) ); - pNewTextureNode->hResourceModule = hResourceModule; - if( IS_INTRESOURCE( strResourceName ) ) - { - pNewTextureNode->nResourceID = ( int )( size_t )strResourceName; - } - else - { - pNewTextureNode->nResourceID = 0; - wcscpy_s( pNewTextureNode->strFilename, MAX_PATH, strResourceName ); - } - - m_TextureCache.Add( pNewTextureNode ); - - int iTexture = m_TextureCache.GetSize() - 1; - - // If a device is available, try to create immediately - if( m_pd3d9Device ) - CreateTexture9( iTexture ); - - return iTexture; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::SetTexture( UINT index, LPCWSTR strFilename ) -{ - // If this assert triggers, you need to call CDXUTDialog::Init() first. This change - // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The - // creation and interfacing with CDXUTDialogResourceManager is now the responsibility - // of the application if it wishes to use DXUT's GUI. - assert( m_pManager != NULL && L"To fix this, call CDXUTDialog::Init() first. See comments for details." ); - - // Make sure the list is at least as large as the index being set - for( UINT i = m_Textures.GetSize(); i <= index; i++ ) - { - m_Textures.Add( -1 ); - } - - int iTexture = m_pManager->AddTexture( strFilename ); - - m_Textures.SetAt( index, iTexture ); - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::SetTexture( UINT index, LPCWSTR strResourceName, HMODULE hResourceModule ) -{ - // If this assert triggers, you need to call CDXUTDialog::Init() first. This change - // was made so that the DXUT's GUI could become seperate and optional from DXUT's core. The - // creation and interfacing with CDXUTDialogResourceManager is now the responsibility - // of the application if it wishes to use DXUT's GUI. - assert( m_pManager != NULL && L"To fix this, call CDXUTDialog::Init() first. See comments for details." ); - - // Make sure the list is at least as large as the index being set - for( UINT i = m_Textures.GetSize(); i <= index; i++ ) - { - m_Textures.Add( -1 ); - } - - int iTexture = m_pManager->AddTexture( strResourceName, hResourceModule ); - - m_Textures.SetAt( index, iTexture ); - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -DXUTTextureNode* CDXUTDialog::GetTexture( UINT index ) -{ - if( NULL == m_pManager ) - return NULL; - return m_pManager->GetTextureNode( m_Textures.GetAt( index ) ); -} - - - -//-------------------------------------------------------------------------------------- -bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - bool bHandled = false; + bool bHandled = false; // For invisible dialog, do not handle anything. if( !m_bVisible ) @@ -1526,6 +908,7 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) if( s_pControlFocus && s_pControlFocus->m_pDialog == this && s_pControlFocus->GetEnabled() ) + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) { if( s_pControlFocus->HandleKeyboard( uMsg, wParam, lParam ) ) return true; @@ -1538,12 +921,11 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) ( s_pControlFocus->GetType() != DXUT_CONTROL_EDITBOX && s_pControlFocus->GetType() != DXUT_CONTROL_IMEEDITBOX ) ) ) { - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.begin(); it != m_Controls.end(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - if( pControl->GetHotkey() == wParam ) + if( (*it)->GetHotkey() == wParam ) { - pControl->OnHotkey(); + (*it)->OnHotkey(); return true; } } @@ -1560,7 +942,7 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { case VK_RIGHT: case VK_DOWN: - if( s_pControlFocus != NULL ) + if( s_pControlFocus ) { return OnCycleFocus( true ); } @@ -1568,7 +950,7 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) case VK_LEFT: case VK_UP: - if( s_pControlFocus != NULL ) + if( s_pControlFocus ) { return OnCycleFocus( false ); } @@ -1629,8 +1011,8 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) } // Not yet handled, see if the mouse is over any controls - CDXUTControl* pControl = GetControlAtPoint( mousePoint ); - if( pControl != NULL && pControl->GetEnabled() ) + auto pControl = GetControlAtPoint( mousePoint ); + if( pControl && pControl->GetEnabled() ) { bHandled = pControl->HandleMouse( uMsg, mousePoint, wParam, lParam ); if( bHandled ) @@ -1645,7 +1027,7 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) s_pControlFocus->m_pDialog == this ) { s_pControlFocus->OnFocusOut(); - s_pControlFocus = NULL; + s_pControlFocus = nullptr; } } @@ -1676,16 +1058,15 @@ bool CDXUTDialog::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) return false; } + //-------------------------------------------------------------------------------------- -CDXUTControl* CDXUTDialog::GetControlAtPoint( POINT pt ) +CDXUTControl* CDXUTDialog::GetControlAtPoint( _In_ const POINT& pt ) const { // Search through all child controls for the first one which // contains the mouse point - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - if( pControl == NULL ) + if( !*it ) { continue; } @@ -1693,21 +1074,21 @@ CDXUTControl* CDXUTDialog::GetControlAtPoint( POINT pt ) // We only return the current control if it is visible // and enabled. Because GetControlAtPoint() is used to do mouse // hittest, it makes sense to perform this filtering. - if( pControl->ContainsPoint( pt ) && pControl->GetEnabled() && pControl->GetVisible() ) + if( (*it)->ContainsPoint( pt ) && (*it)->GetEnabled() && (*it)->GetVisible() ) { - return pControl; + return *it; } } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- -bool CDXUTDialog::GetControlEnabled( int ID ) +bool CDXUTDialog::GetControlEnabled( _In_ int ID ) const { - CDXUTControl* pControl = GetControl( ID ); - if( pControl == NULL ) + auto pControl = GetControl( ID ); + if( !pControl ) return false; return pControl->GetEnabled(); @@ -1716,10 +1097,10 @@ bool CDXUTDialog::GetControlEnabled( int ID ) //-------------------------------------------------------------------------------------- -void CDXUTDialog::SetControlEnabled( int ID, bool bEnabled ) +void CDXUTDialog::SetControlEnabled( _In_ int ID, _In_ bool bEnabled ) { - CDXUTControl* pControl = GetControl( ID ); - if( pControl == NULL ) + auto pControl = GetControl( ID ); + if( !pControl ) return; pControl->SetEnabled( bEnabled ); @@ -1727,18 +1108,19 @@ void CDXUTDialog::SetControlEnabled( int ID, bool bEnabled ) //-------------------------------------------------------------------------------------- -void CDXUTDialog::OnMouseUp( POINT pt ) +void CDXUTDialog::OnMouseUp( _In_ const POINT& pt ) { - s_pControlPressed = NULL; - m_pControlMouseOver = NULL; + UNREFERENCED_PARAMETER(pt); + s_pControlPressed = nullptr; + m_pControlMouseOver = nullptr; } //-------------------------------------------------------------------------------------- -void CDXUTDialog::OnMouseMove( POINT pt ) +void CDXUTDialog::OnMouseMove( _In_ const POINT& pt ) { // Figure out which control the mouse is over now - CDXUTControl* pControl = GetControlAtPoint( pt ); + auto pControl = GetControlAtPoint( pt ); // If the mouse is still over the same control, nothing needs to be done if( pControl == m_pControlMouseOver ) @@ -1750,77 +1132,72 @@ void CDXUTDialog::OnMouseMove( POINT pt ) // Handle mouse entering the new control m_pControlMouseOver = pControl; - if( pControl != NULL ) + if( pControl ) m_pControlMouseOver->OnMouseEnter(); } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::SetDefaultElement( UINT nControlType, UINT iElement, CDXUTElement* pElement ) { // If this Element type already exist in the list, simply update the stored Element - for( int i = 0; i < m_DefaultElements.GetSize(); i++ ) + for( auto it = m_DefaultElements.begin(); it != m_DefaultElements.end(); ++it ) { - DXUTElementHolder* pElementHolder = m_DefaultElements.GetAt( i ); - - if( pElementHolder->nControlType == nControlType && - pElementHolder->iElement == iElement ) + if( (*it)->nControlType == nControlType && + (*it)->iElement == iElement ) { - pElementHolder->Element = *pElement; + (*it)->Element = *pElement; return S_OK; } } // Otherwise, add a new entry DXUTElementHolder* pNewHolder; - pNewHolder = new DXUTElementHolder; - if( pNewHolder == NULL ) + pNewHolder = new (std::nothrow) DXUTElementHolder; + if( !pNewHolder ) return E_OUTOFMEMORY; pNewHolder->nControlType = nControlType; pNewHolder->iElement = iElement; pNewHolder->Element = *pElement; - HRESULT hr = m_DefaultElements.Add( pNewHolder ); - if( FAILED( hr ) ) - { - delete pNewHolder; - } - return hr; + m_DefaultElements.push_back( pNewHolder ); + + return S_OK; } //-------------------------------------------------------------------------------------- -CDXUTElement* CDXUTDialog::GetDefaultElement( UINT nControlType, UINT iElement ) +_Use_decl_annotations_ +CDXUTElement* CDXUTDialog::GetDefaultElement( UINT nControlType, UINT iElement ) const { - for( int i = 0; i < m_DefaultElements.GetSize(); i++ ) + for( auto it = m_DefaultElements.cbegin(); it != m_DefaultElements.cend(); ++it ) { - DXUTElementHolder* pElementHolder = m_DefaultElements.GetAt( i ); - - if( pElementHolder->nControlType == nControlType && - pElementHolder->iElement == iElement ) + if( (*it)->nControlType == nControlType && + (*it)->iElement == iElement ) { - return &pElementHolder->Element; + return &(*it)->Element; } } - return NULL; + return nullptr; } - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddStatic( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bIsDefault, CDXUTStatic** ppCreated ) { HRESULT hr = S_OK; - CDXUTStatic* pStatic = new CDXUTStatic( this ); + auto pStatic = new (std::nothrow) CDXUTStatic( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pStatic; - if( pStatic == NULL ) + if( !pStatic ) return E_OUTOFMEMORY; hr = AddControl( pStatic ); @@ -1839,17 +1216,18 @@ HRESULT CDXUTDialog::AddStatic( int ID, LPCWSTR strText, int x, int y, int width //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddButton( int ID, LPCWSTR strText, int x, int y, int width, int height, UINT nHotkey, bool bIsDefault, CDXUTButton** ppCreated ) { HRESULT hr = S_OK; - CDXUTButton* pButton = new CDXUTButton( this ); + auto pButton = new (std::nothrow) CDXUTButton( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pButton; - if( pButton == NULL ) + if( !pButton ) return E_OUTOFMEMORY; hr = AddControl( pButton ); @@ -1869,17 +1247,18 @@ HRESULT CDXUTDialog::AddButton( int ID, LPCWSTR strText, int x, int y, int width //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddCheckBox( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bChecked, UINT nHotkey, bool bIsDefault, CDXUTCheckBox** ppCreated ) { HRESULT hr = S_OK; - CDXUTCheckBox* pCheckBox = new CDXUTCheckBox( this ); + auto pCheckBox = new (std::nothrow) CDXUTCheckBox( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pCheckBox; - if( pCheckBox == NULL ) + if( !pCheckBox ) return E_OUTOFMEMORY; hr = AddControl( pCheckBox ); @@ -1899,19 +1278,19 @@ HRESULT CDXUTDialog::AddCheckBox( int ID, LPCWSTR strText, int x, int y, int wid } - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddRadioButton( int ID, UINT nButtonGroup, LPCWSTR strText, int x, int y, int width, int height, bool bChecked, UINT nHotkey, bool bIsDefault, CDXUTRadioButton** ppCreated ) { HRESULT hr = S_OK; - CDXUTRadioButton* pRadioButton = new CDXUTRadioButton( this ); + auto pRadioButton = new (std::nothrow) CDXUTRadioButton( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pRadioButton; - if( pRadioButton == NULL ) + if( !pRadioButton ) return E_OUTOFMEMORY; hr = AddControl( pRadioButton ); @@ -1933,20 +1312,19 @@ HRESULT CDXUTDialog::AddRadioButton( int ID, UINT nButtonGroup, LPCWSTR strText, } - - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddComboBox( int ID, int x, int y, int width, int height, UINT nHotkey, bool bIsDefault, CDXUTComboBox** ppCreated ) { HRESULT hr = S_OK; - CDXUTComboBox* pComboBox = new CDXUTComboBox( this ); + auto pComboBox = new (std::nothrow) CDXUTComboBox( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pComboBox; - if( pComboBox == NULL ) + if( !pComboBox ) return E_OUTOFMEMORY; hr = AddControl( pComboBox ); @@ -1964,19 +1342,19 @@ HRESULT CDXUTDialog::AddComboBox( int ID, int x, int y, int width, int height, U } - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddSlider( int ID, int x, int y, int width, int height, int min, int max, int value, bool bIsDefault, CDXUTSlider** ppCreated ) { HRESULT hr = S_OK; - CDXUTSlider* pSlider = new CDXUTSlider( this ); + auto pSlider = new (std::nothrow) CDXUTSlider( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pSlider; - if( pSlider == NULL ) + if( !pSlider ) return E_OUTOFMEMORY; hr = AddControl( pSlider ); @@ -1996,19 +1374,19 @@ HRESULT CDXUTDialog::AddSlider( int ID, int x, int y, int width, int height, int } - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddEditBox( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bIsDefault, CDXUTEditBox** ppCreated ) { HRESULT hr = S_OK; - CDXUTEditBox* pEditBox = new CDXUTEditBox( this ); + auto pEditBox = new (std::nothrow) CDXUTEditBox( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pEditBox; - if( pEditBox == NULL ) + if( !pEditBox ) return E_OUTOFMEMORY; hr = AddControl( pEditBox ); @@ -2029,15 +1407,16 @@ HRESULT CDXUTDialog::AddEditBox( int ID, LPCWSTR strText, int x, int y, int widt //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTDialog::AddListBox( int ID, int x, int y, int width, int height, DWORD dwStyle, CDXUTListBox** ppCreated ) { HRESULT hr = S_OK; - CDXUTListBox* pListBox = new CDXUTListBox( this ); + auto pListBox = new (std::nothrow) CDXUTListBox( this ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pListBox; - if( pListBox == NULL ) + if( !pListBox ) return E_OUTOFMEMORY; hr = AddControl( pListBox ); @@ -2054,23 +1433,21 @@ HRESULT CDXUTDialog::AddListBox( int ID, int x, int y, int width, int height, DW } - //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::InitControl( CDXUTControl* pControl ) +HRESULT CDXUTDialog::InitControl( _In_ CDXUTControl* pControl ) { HRESULT hr; - if( pControl == NULL ) + if( !pControl ) return E_INVALIDARG; - pControl->m_Index = m_Controls.GetSize(); + pControl->m_Index = static_cast( m_Controls.size() ); // Look for a default Element entries - for( int i = 0; i < m_DefaultElements.GetSize(); i++ ) + for( auto it = m_DefaultElements.begin(); it != m_DefaultElements.end(); ++it ) { - DXUTElementHolder* pElementHolder = m_DefaultElements.GetAt( i ); - if( pElementHolder->nControlType == pControl->GetType() ) - pControl->SetElement( pElementHolder->iElement, &pElementHolder->Element ); + if( (*it)->nControlType == pControl->GetType() ) + pControl->SetElement( (*it)->iElement, &(*it)->Element ); } V_RETURN( pControl->OnInit() ); @@ -2079,9 +1456,8 @@ HRESULT CDXUTDialog::InitControl( CDXUTControl* pControl ) } - //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::AddControl( CDXUTControl* pControl ) +HRESULT CDXUTDialog::AddControl( _In_ CDXUTControl* pControl ) { HRESULT hr = S_OK; @@ -2090,81 +1466,72 @@ HRESULT CDXUTDialog::AddControl( CDXUTControl* pControl ) return DXTRACE_ERR( L"CDXUTDialog::InitControl", hr ); // Add to the list - hr = m_Controls.Add( pControl ); - if( FAILED( hr ) ) - { - return DXTRACE_ERR( L"CGrowableArray::Add", hr ); - } + m_Controls.push_back( pControl ); return S_OK; } //-------------------------------------------------------------------------------------- -CDXUTControl* CDXUTDialog::GetControl( int ID ) +CDXUTControl* CDXUTDialog::GetControl( _In_ int ID ) const { // Try to find the control with the given ID - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - if( pControl->GetID() == ID ) + if( (*it)->GetID() == ID ) { - return pControl; + return *it; } } // Not found - return NULL; + return nullptr; } - //-------------------------------------------------------------------------------------- -CDXUTControl* CDXUTDialog::GetControl( int ID, UINT nControlType ) +CDXUTControl* CDXUTDialog::GetControl( _In_ int ID, _In_ UINT nControlType ) const { // Try to find the control with the given ID - for( int i = 0; i < m_Controls.GetSize(); i++ ) + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - if( pControl->GetID() == ID && pControl->GetType() == nControlType ) + if( (*it)->GetID() == ID && (*it)->GetType() == nControlType ) { - return pControl; + return *it; } } // Not found - return NULL; + return nullptr; } - //-------------------------------------------------------------------------------------- -CDXUTControl* CDXUTDialog::GetNextControl( CDXUTControl* pControl ) +CDXUTControl* CDXUTDialog::GetNextControl( _In_ CDXUTControl* pControl ) { int index = pControl->m_Index + 1; - CDXUTDialog* pDialog = pControl->m_pDialog; + auto pDialog = pControl->m_pDialog; // Cycle through dialogs in the loop to find the next control. Note // that if only one control exists in all looped dialogs it will // be the returned 'next' control. - while( index >= ( int )pDialog->m_Controls.GetSize() ) + while( index >= ( int )pDialog->m_Controls.size() ) { pDialog = pDialog->m_pNextDialog; index = 0; } - return pDialog->m_Controls.GetAt( index ); + return pDialog->m_Controls[ index ]; } + //-------------------------------------------------------------------------------------- -CDXUTControl* CDXUTDialog::GetPrevControl( CDXUTControl* pControl ) +CDXUTControl* CDXUTDialog::GetPrevControl( _In_ CDXUTControl* pControl ) { int index = pControl->m_Index - 1; - CDXUTDialog* pDialog = pControl->m_pDialog; + auto pDialog = pControl->m_pDialog; // Cycle through dialogs in the loop to find the next control. Note // that if only one control exists in all looped dialogs it will @@ -2172,217 +1539,78 @@ CDXUTControl* CDXUTDialog::GetPrevControl( CDXUTControl* pControl ) while( index < 0 ) { pDialog = pDialog->m_pPrevDialog; - if( pDialog == NULL ) - pDialog = pControl->m_pDialog; - - index = pDialog->m_Controls.GetSize() - 1; - } - - return pDialog->m_Controls.GetAt( index ); -} - - -//-------------------------------------------------------------------------------------- -void CDXUTDialog::ClearRadioButtonGroup( UINT nButtonGroup ) -{ - // Find all radio buttons with the given group number - for( int i = 0; i < m_Controls.GetSize(); i++ ) - { - CDXUTControl* pControl = m_Controls.GetAt( i ); - - if( pControl->GetType() == DXUT_CONTROL_RADIOBUTTON ) - { - CDXUTRadioButton* pRadioButton = ( CDXUTRadioButton* )pControl; - - if( pRadioButton->GetButtonGroup() == nButtonGroup ) - pRadioButton->SetChecked( false, false ); - } - } -} - - - -//-------------------------------------------------------------------------------------- -void CDXUTDialog::ClearComboBox( int ID ) -{ - CDXUTComboBox* pComboBox = GetComboBox( ID ); - if( pComboBox == NULL ) - return; - - pComboBox->RemoveAllItems(); -} - - - - -//-------------------------------------------------------------------------------------- -void CDXUTDialog::RequestFocus( CDXUTControl* pControl ) -{ - if( s_pControlFocus == pControl ) - return; - - if( !pControl->CanHaveFocus() ) - return; - - if( s_pControlFocus ) - s_pControlFocus->OnFocusOut(); - - pControl->OnFocusIn(); - s_pControlFocus = pControl; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawRect( RECT* pRect, D3DCOLOR color ) -{ - if( m_pManager->GetD3D9Device() ) - return DrawRect9( pRect, color ); - return E_FAIL; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawRect9( RECT* pRect, D3DCOLOR color ) -{ - RECT rcScreen = *pRect; - OffsetRect( &rcScreen, m_x, m_y ); - - // If caption is enabled, offset the Y position by its height. - if( m_bCaption ) - OffsetRect( &rcScreen, 0, m_nCaptionHeight ); - - DXUT_SCREEN_VERTEX vertices[4] = - { - ( float )rcScreen.left - 0.5f, ( float )rcScreen.top - 0.5f, 0.5f, 1.0f, color, 0, 0, - ( float )rcScreen.right - 0.5f, ( float )rcScreen.top - 0.5f, 0.5f, 1.0f, color, 0, 0, - ( float )rcScreen.right - 0.5f, ( float )rcScreen.bottom - 0.5f, 0.5f, 1.0f, color, 0, 0, - ( float )rcScreen.left - 0.5f, ( float )rcScreen.bottom - 0.5f, 0.5f, 1.0f, color, 0, 0, - }; - - IDirect3DDevice9* pd3dDevice = m_pManager->GetD3D9Device(); - - // Since we're doing our own drawing here we need to flush the sprites - m_pManager->m_pSprite->Flush(); - IDirect3DVertexDeclaration9* pDecl = NULL; - pd3dDevice->GetVertexDeclaration( &pDecl ); // Preserve the sprite's current vertex decl - pd3dDevice->SetFVF( DXUT_SCREEN_VERTEX::FVF ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2 ); - - pd3dDevice->DrawPrimitiveUP( D3DPT_TRIANGLEFAN, 2, vertices, sizeof( DXUT_SCREEN_VERTEX ) ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE ); - - // Restore the vertex decl - pd3dDevice->SetVertexDeclaration( pDecl ); - pDecl->Release(); - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawPolyLine( POINT* apPoints, UINT nNumPoints, D3DCOLOR color ) -{ - DXUT_SCREEN_VERTEX* vertices = new DXUT_SCREEN_VERTEX[ nNumPoints ]; - if( vertices == NULL ) - return E_OUTOFMEMORY; - - DXUT_SCREEN_VERTEX* pVertex = vertices; - POINT* pt = apPoints; - for( UINT i = 0; i < nNumPoints; i++ ) - { - pVertex->x = m_x + ( float )pt->x; - pVertex->y = m_y + ( float )pt->y; - pVertex->z = 0.5f; - pVertex->h = 1.0f; - pVertex->color = color; - pVertex->tu = 0.0f; - pVertex->tv = 0.0f; - - pVertex++; - pt++; - } - - IDirect3DDevice9* pd3dDevice = m_pManager->GetD3D9Device(); - - // Since we're doing our own drawing here we need to flush the sprites - m_pManager->m_pSprite->Flush(); - IDirect3DVertexDeclaration9* pDecl = NULL; - pd3dDevice->GetVertexDeclaration( &pDecl ); // Preserve the sprite's current vertex decl - pd3dDevice->SetFVF( DXUT_SCREEN_VERTEX::FVF ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2 ); - - pd3dDevice->DrawPrimitiveUP( D3DPT_LINESTRIP, nNumPoints - 1, vertices, sizeof( DXUT_SCREEN_VERTEX ) ); - - pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); - pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE ); + if( !pDialog ) + pDialog = pControl->m_pDialog; - // Restore the vertex decl - pd3dDevice->SetVertexDeclaration( pDecl ); - pDecl->Release(); + index = int( pDialog->m_Controls.size() ) - 1; + } - SAFE_DELETE_ARRAY( vertices ); - return S_OK; + return pDialog->m_Controls[ index ]; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawSprite( CDXUTElement* pElement, RECT* prcDest, float fDepth ) +void CDXUTDialog::ClearRadioButtonGroup( _In_ UINT nButtonGroup ) { - if( m_pManager->GetD3D9Device() ) - return DrawSprite9( pElement, prcDest ); - else - return DrawSprite11( pElement, prcDest, fDepth ); + // Find all radio buttons with the given group number + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) + { + if( (*it)->GetType() == DXUT_CONTROL_RADIOBUTTON ) + { + auto pRadioButton = ( CDXUTRadioButton* )*it; + + if( pRadioButton->GetButtonGroup() == nButtonGroup ) + pRadioButton->SetChecked( false, false ); + } + } } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawSprite9( CDXUTElement* pElement, RECT* prcDest ) +void CDXUTDialog::ClearComboBox( _In_ int ID ) { - // No need to draw fully transparent layers - if( pElement->TextureColor.Current.a == 0 ) - return S_OK; - - RECT rcTexture = pElement->rcTexture; - - RECT rcScreen = *prcDest; - OffsetRect( &rcScreen, m_x, m_y ); + auto pComboBox = GetComboBox( ID ); + if( !pComboBox ) + return; - // If caption is enabled, offset the Y position by its height. - if( m_bCaption ) - OffsetRect( &rcScreen, 0, m_nCaptionHeight ); + pComboBox->RemoveAllItems(); +} - DXUTTextureNode* pTextureNode = GetTexture( pElement->iTexture ); - if( pTextureNode == NULL ) - return E_FAIL; - float fScaleX = ( float )RectWidth( rcScreen ) / RectWidth( rcTexture ); - float fScaleY = ( float )RectHeight( rcScreen ) / RectHeight( rcTexture ); +//-------------------------------------------------------------------------------------- +void CDXUTDialog::RequestFocus( _In_ CDXUTControl* pControl ) +{ + if( s_pControlFocus == pControl ) + return; - D3DXMATRIXA16 matTransform; - D3DXMatrixScaling( &matTransform, fScaleX, fScaleY, 1.0f ); + if( !pControl->CanHaveFocus() ) + return; - m_pManager->m_pSprite->SetTransform( &matTransform ); + if( s_pControlFocus ) + s_pControlFocus->OnFocusOut(); - D3DXVECTOR3 vPos( ( float )rcScreen.left, ( float )rcScreen.top, 0.0f ); + pControl->OnFocusIn(); + s_pControlFocus = pControl; +} - vPos.x /= fScaleX; - vPos.y /= fScaleY; - return m_pManager->m_pSprite->Draw( pTextureNode->pTexture9, &rcTexture, NULL, &vPos, - pElement->TextureColor.Current ); +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT CDXUTDialog::DrawRect( const RECT* pRect, DWORD color ) +{ + UNREFERENCED_PARAMETER(pRect); + UNREFERENCED_PARAMETER(color); + // TODO - + return E_FAIL; } + //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawSprite11( CDXUTElement* pElement, RECT* prcDest, float fDepth ) +_Use_decl_annotations_ +HRESULT CDXUTDialog::DrawSprite( CDXUTElement* pElement, const RECT* prcDest, float fDepth ) { // No need to draw fully transparent layers - if( pElement->TextureColor.Current.a == 0 ) + if( pElement->TextureColor.Current.w == 0 ) return S_OK; RECT rcTexture = pElement->rcTexture; @@ -2394,8 +1622,8 @@ HRESULT CDXUTDialog::DrawSprite11( CDXUTElement* pElement, RECT* prcDest, float if( m_bCaption ) OffsetRect( &rcScreen, 0, m_nCaptionHeight ); - DXUTTextureNode* pTextureNode = GetTexture( pElement->iTexture ); - if( pTextureNode == NULL ) + auto pTextureNode = GetTexture( pElement->iTexture ); + if( !pTextureNode ) return E_FAIL; float fBBWidth = ( float )m_pManager->m_nBackBufferWidth; @@ -2419,39 +1647,39 @@ HRESULT CDXUTDialog::DrawSprite11( CDXUTElement* pElement, RECT* prcDest, float float fTexBottom = rcTexture.bottom / fTexHeight; // Add 6 sprite vertices - DXUTSpriteVertex SpriteVertex; + DXUTSpriteVertex SpriteVertex = {}; // tri1 - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexTop ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexTop ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexTop ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexTop ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexBottom ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexBottom ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); // tri2 - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexTop ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectTop, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexTop ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexBottom ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectRight, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexRight, fTexBottom ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexBottom ); + SpriteVertex.vPos = DirectX::XMFLOAT3( fRectLeft, fRectBottom, fDepth ); + SpriteVertex.vTex = DirectX::XMFLOAT2( fTexLeft, fTexBottom ); SpriteVertex.vColor = pElement->TextureColor.Current; - m_pManager->m_SpriteVertices.Add( SpriteVertex ); + m_pManager->m_SpriteVertices.push_back( SpriteVertex ); // Why are we drawing the sprite every time? This is very inefficient, but the sprite workaround doesn't have support for sorting now, so we have to // draw a sprite every time to keep the order correct between sprites and text. @@ -2462,1003 +1690,1158 @@ HRESULT CDXUTDialog::DrawSprite11( CDXUTElement* pElement, RECT* prcDest, float //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::CalcTextRect( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, int nCount ) +_Use_decl_annotations_ +HRESULT CDXUTDialog::CalcTextRect( LPCWSTR strText, CDXUTElement* pElement, const RECT* prcDest, int nCount ) { - HRESULT hr = S_OK; - - DXUTFontNode* pFontNode = GetFont( pElement->iFont ); - if( pFontNode == NULL ) + auto pFontNode = GetFont( pElement->iFont ); + if( !pFontNode ) return E_FAIL; - DWORD dwTextFormat = pElement->dwTextFormat | DT_CALCRECT; - // Since we are only computing the rectangle, we don't need a sprite. - if( pFontNode->pFont9 ) + UNREFERENCED_PARAMETER(strText); + UNREFERENCED_PARAMETER(prcDest); + UNREFERENCED_PARAMETER(nCount); + // TODO - + + return S_OK; +} + + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT CDXUTDialog::DrawText( LPCWSTR strText, CDXUTElement* pElement, const RECT* prcDest, bool bShadow, bool bCenter ) +{ + // No need to draw fully transparent layers + if( pElement->FontColor.Current.w == 0 ) + return S_OK; + + RECT rcScreen = *prcDest; + OffsetRect( &rcScreen, m_x, m_y); + + // If caption is enabled, offset the Y position by its height. + if( m_bCaption ) + OffsetRect( &rcScreen, 0, m_nCaptionHeight ); + + float fBBWidth = ( float )m_pManager->m_nBackBufferWidth; + float fBBHeight = ( float )m_pManager->m_nBackBufferHeight; + + auto pd3dDevice = m_pManager->GetD3D11Device(); + auto pd3d11DeviceContext = m_pManager->GetD3D11DeviceContext(); + + if( bShadow ) { - hr = pFontNode->pFont9->DrawText( NULL, strText, nCount, prcDest, dwTextFormat, pElement->FontColor.Current ); - if( FAILED( hr ) ) - return hr; + RECT rcShadow = rcScreen; + OffsetRect( &rcShadow, 1, 1 ); + + DirectX::XMFLOAT4 vShadowColor( 0,0,0, 1.0f ); + DrawText11DXUT( pd3dDevice, pd3d11DeviceContext, + strText, rcShadow, vShadowColor, + fBBWidth, fBBHeight, bCenter ); + + } + + DirectX::XMFLOAT4 vFontColor( pElement->FontColor.Current.x, pElement->FontColor.Current.y, pElement->FontColor.Current.z, 1.0f ); + DrawText11DXUT( pd3dDevice, pd3d11DeviceContext, + strText, rcScreen, vFontColor, + fBBWidth, fBBHeight, bCenter ); + + return S_OK; +} + + +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +void CDXUTDialog::SetBackgroundColors( DWORD colorTopLeft, DWORD colorTopRight, DWORD colorBottomLeft, + DWORD colorBottomRight ) +{ + m_colorTopLeft = colorTopLeft; + m_colorTopRight = colorTopRight; + m_colorBottomLeft = colorBottomLeft; + m_colorBottomRight = colorBottomRight; +} + + +//-------------------------------------------------------------------------------------- +void CDXUTDialog::SetNextDialog( _In_ CDXUTDialog* pNextDialog ) +{ + if( !pNextDialog ) + pNextDialog = this; + + m_pNextDialog = pNextDialog; + if( pNextDialog ) + m_pNextDialog->m_pPrevDialog = this; +} + + +//-------------------------------------------------------------------------------------- +void CDXUTDialog::ClearFocus() +{ + if( s_pControlFocus ) + { + s_pControlFocus->OnFocusOut(); + s_pControlFocus = nullptr; + } + + ReleaseCapture(); +} + + +//-------------------------------------------------------------------------------------- +void CDXUTDialog::FocusDefaultControl() +{ + // Check for default control in this dialog + for( auto it = m_Controls.cbegin(); it != m_Controls.cend(); ++it ) + { + if( (*it)->m_bIsDefault ) + { + // Remove focus from the current control + ClearFocus(); + + // Give focus to the default control + s_pControlFocus = *it; + s_pControlFocus->OnFocusIn(); + return; + } } +} + + +//-------------------------------------------------------------------------------------- +bool CDXUTDialog::OnCycleFocus( _In_ bool bForward ) +{ + CDXUTControl* pControl = nullptr; + CDXUTDialog* pDialog = nullptr; // pDialog and pLastDialog are used to track wrapping of + CDXUTDialog* pLastDialog; // focus from first control to last or vice versa. + + if( !s_pControlFocus ) + { + // If s_pControlFocus is nullptr, we focus the first control of first dialog in + // the case that bForward is true, and focus the last control of last dialog when + // bForward is false. + // + if( bForward ) + { + // Search for the first control from the start of the dialog + // array. + for( auto it = m_pManager->m_Dialogs.cbegin(); it != m_pManager->m_Dialogs.cend(); ++it ) + { + pDialog = pLastDialog = *it; + if( pDialog && !pDialog->m_Controls.empty() ) + { + pControl = pDialog->m_Controls[ 0 ]; + break; + } + } + + if( !pDialog || !pControl ) + { + // No dialog has been registered yet or no controls have been + // added to the dialogs. Cannot proceed. + return true; + } + } + else + { + // Search for the first control from the end of the dialog + // array. + for( auto it = m_pManager->m_Dialogs.crbegin(); it != m_pManager->m_Dialogs.crend(); ++it ) + { + pDialog = pLastDialog = *it; + if( pDialog && !pDialog->m_Controls.empty() ) + { + pControl = pDialog->m_Controls[ pDialog->m_Controls.size() - 1 ]; + break; + } + } + + if( !pDialog || !pControl ) + { + // No dialog has been registered yet or no controls have been + // added to the dialogs. Cannot proceed. + return true; + } + } + } + else if( s_pControlFocus->m_pDialog != this ) + { + // If a control belonging to another dialog has focus, let that other + // dialog handle this event by returning false. + // + return false; + } + else + { + // Focused control belongs to this dialog. Cycle to the + // next/previous control. + assert( pControl != 0 ); + _Analysis_assume_( pControl != 0 ); + pLastDialog = s_pControlFocus->m_pDialog; + pControl = ( bForward ) ? GetNextControl( s_pControlFocus ) : GetPrevControl( s_pControlFocus ); + pDialog = pControl->m_pDialog; + } + + assert( pControl != 0 ); + _Analysis_assume_( pControl != 0 ); + + for( int i = 0; i < 0xffff; i++ ) + { + // If we just wrapped from last control to first or vice versa, + // set the focused control to nullptr. This state, where no control + // has focus, allows the camera to work. + int nLastDialogIndex = -1; + auto fit = std::find( m_pManager->m_Dialogs.cbegin(), m_pManager->m_Dialogs.cend(), pLastDialog ); + if ( fit != m_pManager->m_Dialogs.cend() ) + { + nLastDialogIndex = int( fit - m_pManager->m_Dialogs.begin() ); + } + + int nDialogIndex = -1; + fit = std::find( m_pManager->m_Dialogs.cbegin(), m_pManager->m_Dialogs.cend(), pDialog ); + if ( fit != m_pManager->m_Dialogs.cend() ) + { + nDialogIndex = int( fit - m_pManager->m_Dialogs.begin() ); + } + + if( ( !bForward && nLastDialogIndex < nDialogIndex ) || + ( bForward && nDialogIndex < nLastDialogIndex ) ) + { + if( s_pControlFocus ) + s_pControlFocus->OnFocusOut(); + s_pControlFocus = nullptr; + return true; + } + + // If we've gone in a full circle then focus doesn't change + if( pControl == s_pControlFocus ) + return true; + + // If the dialog accepts keybord input and the control can have focus then + // move focus + if( pControl->m_pDialog->m_bKeyboardInput && pControl->CanHaveFocus() ) + { + if( s_pControlFocus ) + s_pControlFocus->OnFocusOut(); + s_pControlFocus = pControl; + if( s_pControlFocus ) + s_pControlFocus->OnFocusIn(); + return true; + } + + pLastDialog = pDialog; + pControl = ( bForward ) ? GetNextControl( pControl ) : GetPrevControl( pControl ); + pDialog = pControl->m_pDialog; + } + + // If we reached this point, the chain of dialogs didn't form a complete loop + DXTRACE_ERR( L"CDXUTDialog: Multiple dialogs are improperly chained together", E_FAIL ); + return false; +} + + +//-------------------------------------------------------------------------------------- +void CDXUTDialog::InitDefaultElements() +{ + SetFont( 0, L"Arial", 14, FW_NORMAL ); + + CDXUTElement Element; + RECT rcTexture; + + //------------------------------------- + // Element for the caption + //------------------------------------- + m_CapElement.SetFont( 0 ); + SetRect( &rcTexture, 17, 269, 241, 287 ); + m_CapElement.SetTexture( 0, &rcTexture ); + m_CapElement.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); + m_CapElement.FontColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); + m_CapElement.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); + // Pre-blend as we don't need to transition the state + m_CapElement.TextureColor.Blend( DXUT_STATE_NORMAL, 10.0f ); + m_CapElement.FontColor.Blend( DXUT_STATE_NORMAL, 10.0f ); - return S_OK; -} + //------------------------------------- + // CDXUTStatic + //------------------------------------- + Element.SetFont( 0 ); + Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_STATIC, 0, &Element ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawText( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow, int nCount, bool bCenter ) -{ - if( m_pManager->GetD3D9Device() ) - return DrawText9( strText, pElement, prcDest, bShadow, nCount ); - else - return DrawText11( m_pManager->GetD3D11Device(), m_pManager->GetD3D11DeviceContext(), strText, pElement, prcDest, bShadow, nCount, bCenter ); -} + //------------------------------------- + // CDXUTButton - Button + //------------------------------------- + SetRect( &rcTexture, 0, 0, 136, 54 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0 ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); + Element.FontColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawText9( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow, int nCount ) -{ - HRESULT hr = S_OK; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_BUTTON, 0, &Element ); - // No need to draw fully transparent layers - if( pElement->FontColor.Current.a == 0 ) - return S_OK; - RECT rcScreen = *prcDest; - OffsetRect( &rcScreen, m_x, m_y ); + //------------------------------------- + // CDXUTButton - Fill layer + //------------------------------------- + SetRect( &rcTexture, 136, 0, 252, 54 ); + Element.SetTexture( 0, &rcTexture, D3DCOLOR_ARGB( 0, 255, 255, 255 ) ); + Element.TextureColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 160, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 60, 0, 0, 0 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 30, 255, 255, 255 ); - // If caption is enabled, offset the Y position by its height. - if( m_bCaption ) - OffsetRect( &rcScreen, 0, m_nCaptionHeight ); - D3DXMATRIX matTransform; - D3DXMatrixIdentity( &matTransform ); - m_pManager->m_pSprite->SetTransform( &matTransform ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_BUTTON, 1, &Element ); - DXUTFontNode* pFontNode = GetFont( pElement->iFont ); - if( bShadow ) - { - RECT rcShadow = rcScreen; - OffsetRect( &rcShadow, 1, 1 ); - hr = pFontNode->pFont9->DrawText( m_pManager->m_pSprite, strText, nCount, &rcShadow, pElement->dwTextFormat, - D3DCOLOR_ARGB( DWORD( pElement->FontColor.Current.a * 255 ), 0, 0, 0 ) ); - if( FAILED( hr ) ) - return hr; - } + //------------------------------------- + // CDXUTCheckBox - Box + //------------------------------------- + SetRect( &rcTexture, 0, 54, 27, 81 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); + Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); - hr = pFontNode->pFont9->DrawText( m_pManager->m_pSprite, strText, nCount, &rcScreen, pElement->dwTextFormat, - pElement->FontColor.Current ); - if( FAILED( hr ) ) - return hr; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_CHECKBOX, 0, &Element ); - return S_OK; -} -ID3D11Buffer* g_pFontBuffer11 = NULL; -UINT g_FontBufferBytes11 = 0; -CGrowableArray g_FontVertices; -ID3D11ShaderResourceView* g_pFont11 = NULL; -ID3D11InputLayout* g_pInputLayout11 = NULL; -HRESULT InitFont11( ID3D11Device* pd3d11Device, ID3D11InputLayout* pInputLayout ) -{ - HRESULT hr = S_OK; - WCHAR str[MAX_PATH]; - V_RETURN( DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"UI\\Font.dds" ) ); - - if (pd3d11Device->GetFeatureLevel() < D3D_FEATURE_LEVEL_10_0 ) { - - D3DX11_IMAGE_INFO dii; - D3DX11GetImageInfoFromFile( str, NULL, &dii, NULL ); - - D3DX11_IMAGE_LOAD_INFO dili; - dili.BindFlags = D3DX11_DEFAULT; - dili.CpuAccessFlags = D3DX11_DEFAULT; - dili.Depth = D3DX11_DEFAULT; - dili.Filter = D3DX11_DEFAULT; - dili.FirstMipLevel = 0; - dili.Format = DXGI_FORMAT_R8G8B8A8_UNORM; - dili.Height = D3DX11_DEFAULT; - dili.MipFilter = D3DX11_DEFAULT; - dili.MipLevels = 1; - dili.MiscFlags = D3DX11_DEFAULT; - dili.pSrcInfo = &dii; - dili.Usage = D3D11_USAGE_DEFAULT ; - dili.Width = D3DX11_DEFAULT; - - V_RETURN( D3DX11CreateShaderResourceViewFromFile( pd3d11Device, str, &dili, NULL, &g_pFont11, &hr) ); - } - else - { - V_RETURN( D3DX11CreateShaderResourceViewFromFile( pd3d11Device, str, NULL, NULL, &g_pFont11, &hr) ); - } + //------------------------------------- + // CDXUTCheckBox - Check + //------------------------------------- + SetRect( &rcTexture, 27, 54, 54, 81 ); + Element.SetTexture( 0, &rcTexture ); -#if defined(PROFILE) || defined(DEBUG) - if (g_pFont11) - { - ID3D11Resource *pRes = NULL; - g_pFont11->GetResource( &pRes ); - DXUT_SetDebugName( pRes, "DXUT Text11" ); - SAFE_RELEASE( pRes ); - } + // Assign the Element + SetDefaultElement( DXUT_CONTROL_CHECKBOX, 1, &Element ); - DXUT_SetDebugName( g_pFont11, "DXUT Text11" ); -#endif - g_pInputLayout11 = pInputLayout; - return hr; -} + //------------------------------------- + // CDXUTRadioButton - Box + //------------------------------------- + SetRect( &rcTexture, 54, 54, 81, 81 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); + Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); -void EndFont11() -{ - SAFE_RELEASE( g_pFontBuffer11 ); - g_FontBufferBytes11 = 0; - SAFE_RELEASE( g_pFont11 ); -} + // Assign the Element + SetDefaultElement( DXUT_CONTROL_RADIOBUTTON, 0, &Element ); -void BeginText11() -{ - g_FontVertices.Reset(); -} -void DrawText11DXUT( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext, - LPCWSTR strText, RECT rcScreen, D3DXCOLOR vFontColor, - float fBBWidth, float fBBHeight, bool bCenter ) -{ - float fCharTexSizeX = 0.010526315f; - //float fGlyphSizeX = 14.0f / fBBWidth; - //float fGlyphSizeY = 32.0f / fBBHeight; - float fGlyphSizeX = 15.0f / fBBWidth; - float fGlyphSizeY = 42.0f / fBBHeight; + //------------------------------------- + // CDXUTRadioButton - Check + //------------------------------------- + SetRect( &rcTexture, 81, 54, 108, 81 ); + Element.SetTexture( 0, &rcTexture ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_RADIOBUTTON, 1, &Element ); - float fRectLeft = rcScreen.left / fBBWidth; - float fRectTop = 1.0f - rcScreen.top / fBBHeight; - fRectLeft = fRectLeft * 2.0f - 1.0f; - fRectTop = fRectTop * 2.0f - 1.0f; + //------------------------------------- + // CDXUTComboBox - Main + //------------------------------------- + SetRect( &rcTexture, 7, 81, 247, 123 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0 ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 200, 200, 200 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 170, 230, 230, 230 ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 200, 200, 200 ); + Element.FontColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); + Element.FontColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); + Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); - int NumChars = (int)wcslen( strText ); - if (bCenter) { - float fRectRight = rcScreen.right / fBBWidth; - fRectRight = fRectRight * 2.0f - 1.0f; - float fRectBottom = 1.0f - rcScreen.bottom / fBBHeight; - fRectBottom = fRectBottom * 2.0f - 1.0f; - float fcenterx = ((fRectRight - fRectLeft) - (float)NumChars*fGlyphSizeX) *0.5f; - float fcentery = ((fRectTop - fRectBottom) - (float)1*fGlyphSizeY) *0.5f; - fRectLeft += fcenterx ; - fRectTop -= fcentery; - } - float fOriginalLeft = fRectLeft; - float fTexTop = 0.0f; - float fTexBottom = 1.0f; - float fDepth = 0.5f; - for( int i=0; i 126 ) - { - continue; - } - // Add 6 sprite vertices - DXUTSpriteVertex SpriteVertex; - float fRectRight = fRectLeft + fGlyphSizeX; - float fRectBottom = fRectTop - fGlyphSizeY; - float fTexLeft = ( strText[i] - 32 ) * fCharTexSizeX; - float fTexRight = fTexLeft + fCharTexSizeX; + //------------------------------------- + // CDXUTComboBox - Button + //------------------------------------- + SetRect( &rcTexture, 98, 189, 151, 238 ); + Element.SetTexture( 0, &rcTexture ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 150, 150, 150 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 255, 255, 255 ); - // tri1 - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexTop ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_COMBOBOX, 1, &Element ); - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexTop ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexBottom ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); + //------------------------------------- + // CDXUTComboBox - Dropdown + //------------------------------------- + SetRect( &rcTexture, 13, 123, 241, 160 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); - // tri2 - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectTop, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexTop ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_COMBOBOX, 2, &Element ); - SpriteVertex.vPos = D3DXVECTOR3( fRectRight, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexRight, fTexBottom ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); - SpriteVertex.vPos = D3DXVECTOR3( fRectLeft, fRectBottom, fDepth ); - SpriteVertex.vTex = D3DXVECTOR2( fTexLeft, fTexBottom ); - SpriteVertex.vColor = vFontColor; - g_FontVertices.Add( SpriteVertex ); + //------------------------------------- + // CDXUTComboBox - Selection + //------------------------------------- + SetRect( &rcTexture, 12, 163, 239, 183 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_TOP ); - fRectLeft += fGlyphSizeX; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_COMBOBOX, 3, &Element ); - } - // We have to end text after every line so that rendering order between sprites and fonts is preserved - EndText11( pd3dDevice, pd3d11DeviceContext ); -} + //------------------------------------- + // CDXUTSlider - Track + //------------------------------------- + SetRect( &rcTexture, 1, 187, 93, 228 ); + Element.SetTexture( 0, &rcTexture ); + Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 255, 255, 255 ); -void EndText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ) -{ + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SLIDER, 0, &Element ); - // ensure our buffer size can hold our sprites - UINT FontDataBytes = g_FontVertices.GetSize() * sizeof( DXUTSpriteVertex ); - if( g_FontBufferBytes11 < FontDataBytes ) - { - SAFE_RELEASE( g_pFontBuffer11 ); - g_FontBufferBytes11 = FontDataBytes; + //------------------------------------- + // CDXUTSlider - Button + //------------------------------------- + SetRect( &rcTexture, 151, 193, 192, 234 ); + Element.SetTexture( 0, &rcTexture ); - D3D11_BUFFER_DESC BufferDesc; - BufferDesc.ByteWidth = g_FontBufferBytes11; - BufferDesc.Usage = D3D11_USAGE_DYNAMIC; - BufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; - BufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; - BufferDesc.MiscFlags = 0; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SLIDER, 1, &Element ); - pd3dDevice->CreateBuffer( &BufferDesc, NULL, &g_pFontBuffer11 ); - DXUT_SetDebugName( g_pFontBuffer11, "DXUT Text11" ); - } + //------------------------------------- + // CDXUTScrollBar - Track + //------------------------------------- + int nScrollBarStartX = 196; + int nScrollBarStartY = 191; + SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 21, nScrollBarStartX + 22, nScrollBarStartY + 32 ); + Element.SetTexture( 0, &rcTexture ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); + + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 0, &Element ); - // Copy the sprites over - D3D11_BOX destRegion; - destRegion.left = 0; - destRegion.right = FontDataBytes; - destRegion.top = 0; - destRegion.bottom = 1; - destRegion.front = 0; - destRegion.back = 1; - D3D11_MAPPED_SUBRESOURCE MappedResource; - if ( S_OK == pd3d11DeviceContext->Map( g_pFontBuffer11, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ) ) { - CopyMemory( MappedResource.pData, (void*)g_FontVertices.GetData(), FontDataBytes ); - pd3d11DeviceContext->Unmap(g_pFontBuffer11, 0); - } + //------------------------------------- + // CDXUTScrollBar - Up Arrow + //------------------------------------- + SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 1, nScrollBarStartX + 22, nScrollBarStartY + 21 ); + Element.SetTexture( 0, &rcTexture ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); - ID3D11ShaderResourceView* pOldTexture = NULL; - pd3d11DeviceContext->PSGetShaderResources( 0, 1, &pOldTexture ); - pd3d11DeviceContext->PSSetShaderResources( 0, 1, &g_pFont11 ); - // Draw - UINT Stride = sizeof( DXUTSpriteVertex ); - UINT Offset = 0; - pd3d11DeviceContext->IASetVertexBuffers( 0, 1, &g_pFontBuffer11, &Stride, &Offset ); - pd3d11DeviceContext->IASetInputLayout( g_pInputLayout11 ); - pd3d11DeviceContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST ); - pd3d11DeviceContext->Draw( g_FontVertices.GetSize(), 0 ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 1, &Element ); - pd3d11DeviceContext->PSSetShaderResources( 0, 1, &pOldTexture ); - SAFE_RELEASE( pOldTexture ); + //------------------------------------- + // CDXUTScrollBar - Down Arrow + //------------------------------------- + SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 32, nScrollBarStartX + 22, nScrollBarStartY + 53 ); + Element.SetTexture( 0, &rcTexture ); + Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); - g_FontVertices.Reset(); -} -//-------------------------------------------------------------------------------------- -HRESULT CDXUTDialog::DrawText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext, - LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow, int nCount, bool bCenter ) -{ - //HRESULT hr = S_OK; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 2, &Element ); - // No need to draw fully transparent layers - if( pElement->FontColor.Current.a == 0 ) - return S_OK; + //------------------------------------- + // CDXUTScrollBar - Button + //------------------------------------- + SetRect( &rcTexture, 220, 192, 238, 234 ); + Element.SetTexture( 0, &rcTexture ); - RECT rcScreen = *prcDest; - OffsetRect( &rcScreen, m_x, m_y); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 3, &Element ); - // If caption is enabled, offset the Y position by its height. - if( m_bCaption ) - OffsetRect( &rcScreen, 0, m_nCaptionHeight ); - float fBBWidth = ( float )m_pManager->m_nBackBufferWidth; - float fBBHeight = ( float )m_pManager->m_nBackBufferHeight; + //------------------------------------- + // CDXUTEditBox + //------------------------------------- + // Element assignment: + // 0 - text area + // 1 - top left border + // 2 - top border + // 3 - top right border + // 4 - left border + // 5 - right border + // 6 - lower left border + // 7 - lower border + // 8 - lower right border - if( bShadow ) - { - RECT rcShadow = rcScreen; - OffsetRect( &rcShadow, 1, 1 ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); - D3DXCOLOR vShadowColor( 0,0,0, 1.0f ); - DrawText11DXUT( pd3dDevice, pd3d11DeviceContext, - strText, rcShadow, vShadowColor, - fBBWidth, fBBHeight, bCenter ); + // Assign the style + SetRect( &rcTexture, 14, 90, 241, 113 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 0, &Element ); + SetRect( &rcTexture, 8, 82, 14, 90 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 1, &Element ); + SetRect( &rcTexture, 14, 82, 241, 90 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 2, &Element ); + SetRect( &rcTexture, 241, 82, 246, 90 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 3, &Element ); + SetRect( &rcTexture, 8, 90, 14, 113 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 4, &Element ); + SetRect( &rcTexture, 241, 90, 246, 113 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 5, &Element ); + SetRect( &rcTexture, 8, 113, 14, 121 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 6, &Element ); + SetRect( &rcTexture, 14, 113, 241, 121 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 7, &Element ); + SetRect( &rcTexture, 241, 113, 246, 121 ); + Element.SetTexture( 0, &rcTexture ); + SetDefaultElement( DXUT_CONTROL_EDITBOX, 8, &Element ); - } + //------------------------------------- + // CDXUTListBox - Main + //------------------------------------- + SetRect( &rcTexture, 13, 123, 241, 160 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); - D3DXCOLOR vFontColor( pElement->FontColor.Current.r, pElement->FontColor.Current.g, pElement->FontColor.Current.b, 1.0f ); - DrawText11DXUT( pd3dDevice, pd3d11DeviceContext, - strText, rcScreen, vFontColor, - fBBWidth, fBBHeight, bCenter ); + // Assign the Element + SetDefaultElement( DXUT_CONTROL_LISTBOX, 0, &Element ); - return S_OK; -} + //------------------------------------- + // CDXUTListBox - Selection + //------------------------------------- + SetRect( &rcTexture, 16, 166, 240, 183 ); + Element.SetTexture( 0, &rcTexture ); + Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_TOP ); -//-------------------------------------------------------------------------------------- -void CDXUTDialog::SetBackgroundColors( D3DCOLOR colorTopLeft, D3DCOLOR colorTopRight, D3DCOLOR colorBottomLeft, - D3DCOLOR colorBottomRight ) -{ - m_colorTopLeft = colorTopLeft; - m_colorTopRight = colorTopRight; - m_colorBottomLeft = colorBottomLeft; - m_colorBottomRight = colorBottomRight; + // Assign the Element + SetDefaultElement( DXUT_CONTROL_LISTBOX, 1, &Element ); } +//====================================================================================== +// CDXUTDialogResourceManager +//====================================================================================== + //-------------------------------------------------------------------------------------- -void CDXUTDialog::SetNextDialog( CDXUTDialog* pNextDialog ) +CDXUTDialogResourceManager::CDXUTDialogResourceManager() noexcept : + m_pVSRenderUI11(nullptr), + m_pPSRenderUI11(nullptr), + m_pPSRenderUIUntex11(nullptr), + m_pDepthStencilStateUI11(nullptr), + m_pRasterizerStateUI11(nullptr), + m_pBlendStateUI11(nullptr), + m_pSamplerStateUI11(nullptr), + m_pDepthStencilStateStored11(nullptr), + m_StencilRefStored11(0), + m_pRasterizerStateStored11(nullptr), + m_pBlendStateStored11(nullptr), + m_BlendFactorStored11{}, + m_SampleMaskStored11(0), + m_pSamplerStateStored11(nullptr), + m_pInputLayout11(nullptr), + m_pVBScreenQuad11(nullptr), + m_pSpriteBuffer11(nullptr), + m_SpriteBufferBytes11(0), + m_nBackBufferWidth(0), + m_nBackBufferHeight(0), + m_pd3d11Device(nullptr), + m_pd3d11DeviceContext(nullptr) { - if( pNextDialog == NULL ) - pNextDialog = this; - - m_pNextDialog = pNextDialog; - if( pNextDialog ) - m_pNextDialog->m_pPrevDialog = this; } //-------------------------------------------------------------------------------------- -void CDXUTDialog::ClearFocus() +CDXUTDialogResourceManager::~CDXUTDialogResourceManager() { - if( s_pControlFocus ) + for( auto it = m_FontCache.begin(); it != m_FontCache.end(); ++it ) { - s_pControlFocus->OnFocusOut(); - s_pControlFocus = NULL; + SAFE_DELETE( *it ); } + m_FontCache.clear(); - ReleaseCapture(); + for( auto it = m_TextureCache.begin(); it != m_TextureCache.end(); ++it ) + { + SAFE_DELETE( *it ); + } + m_TextureCache.clear(); } //-------------------------------------------------------------------------------------- -void CDXUTDialog::FocusDefaultControl() +_Use_decl_annotations_ +bool CDXUTDialogResourceManager::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { - // Check for default control in this dialog - for( int i = 0; i < m_Controls.GetSize(); i++ ) - { - CDXUTControl* pControl = m_Controls.GetAt( i ); - if( pControl->m_bIsDefault ) - { - // Remove focus from the current control - ClearFocus(); - - // Give focus to the default control - s_pControlFocus = pControl; - s_pControlFocus->OnFocusIn(); - return; - } - } + UNREFERENCED_PARAMETER(hWnd); + UNREFERENCED_PARAMETER(uMsg); + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + return false; } -//-------------------------------------------------------------------------------------- -bool CDXUTDialog::OnCycleFocus( bool bForward ) +_Use_decl_annotations_ +HRESULT CDXUTDialogResourceManager::OnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ) { - CDXUTControl* pControl = NULL; - CDXUTDialog* pDialog = NULL; // pDialog and pLastDialog are used to track wrapping of - CDXUTDialog* pLastDialog; // focus from first control to last or vice versa. + m_pd3d11Device = pd3dDevice; + m_pd3d11DeviceContext = pd3d11DeviceContext; - if( s_pControlFocus == NULL ) - { - // If s_pControlFocus is NULL, we focus the first control of first dialog in - // the case that bForward is true, and focus the last control of last dialog when - // bForward is false. - // - if( bForward ) - { - // Search for the first control from the start of the dialog - // array. - for( int d = 0; d < m_pManager->m_Dialogs.GetSize(); ++d ) - { - pDialog = pLastDialog = m_pManager->m_Dialogs.GetAt( d ); - if( pDialog && pDialog->m_Controls.GetSize() > 0 ) - { - pControl = pDialog->m_Controls.GetAt( 0 ); - break; - } - } + HRESULT hr = S_OK; - if( !pDialog || !pControl ) - { - // No dialog has been registered yet or no controls have been - // added to the dialogs. Cannot proceed. - return true; - } - } - else - { - // Search for the first control from the end of the dialog - // array. - for( int d = m_pManager->m_Dialogs.GetSize() - 1; d >= 0; --d ) - { - pDialog = pLastDialog = m_pManager->m_Dialogs.GetAt( d ); - if( pDialog && pDialog->m_Controls.GetSize() > 0 ) - { - pControl = pDialog->m_Controls.GetAt( pDialog->m_Controls.GetSize() - 1 ); - break; - } - } + // Compile Shaders + ID3DBlob* pVSBlob = nullptr; + ID3DBlob* pPSBlob = nullptr; + ID3DBlob* pPSUntexBlob = nullptr; + V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", nullptr, nullptr, "VS", "vs_4_0_level_9_1", + D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pVSBlob, nullptr ) ); + V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", nullptr, nullptr, "PS", "ps_4_0_level_9_1", + D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pPSBlob, nullptr ) ); + V_RETURN( D3DCompile( g_strUIEffectFile, g_uUIEffectFileSize, "none", nullptr, nullptr, "PSUntex", "ps_4_0_level_9_1", + D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, &pPSUntexBlob, nullptr ) ); - if( !pDialog || !pControl ) - { - // No dialog has been registered yet or no controls have been - // added to the dialogs. Cannot proceed. - return true; - } - } - } - else if( s_pControlFocus->m_pDialog != this ) + // Create Shaders + V_RETURN( pd3dDevice->CreateVertexShader( pVSBlob->GetBufferPointer(), pVSBlob->GetBufferSize(), nullptr, &m_pVSRenderUI11 ) ); + DXUT_SetDebugName( m_pVSRenderUI11, "CDXUTDialogResourceManager" ); + + V_RETURN( pd3dDevice->CreatePixelShader( pPSBlob->GetBufferPointer(), pPSBlob->GetBufferSize(), nullptr, &m_pPSRenderUI11 ) ); + DXUT_SetDebugName( m_pPSRenderUI11, "CDXUTDialogResourceManager" ); + + V_RETURN( pd3dDevice->CreatePixelShader( pPSUntexBlob->GetBufferPointer(), pPSUntexBlob->GetBufferSize(), nullptr, &m_pPSRenderUIUntex11 ) ); + DXUT_SetDebugName( m_pPSRenderUIUntex11, "CDXUTDialogResourceManager" ); + + // States + D3D11_DEPTH_STENCIL_DESC DSDesc = {}; + DSDesc.DepthEnable = FALSE; + DSDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL; + DSDesc.DepthFunc = D3D11_COMPARISON_LESS; + DSDesc.StencilEnable = FALSE; + V_RETURN( pd3dDevice->CreateDepthStencilState( &DSDesc, &m_pDepthStencilStateUI11 ) ); + DXUT_SetDebugName( m_pDepthStencilStateUI11, "CDXUTDialogResourceManager" ); + + D3D11_RASTERIZER_DESC RSDesc; + RSDesc.AntialiasedLineEnable = FALSE; + RSDesc.CullMode = D3D11_CULL_BACK; + RSDesc.DepthBias = 0; + RSDesc.DepthBiasClamp = 0.0f; + RSDesc.DepthClipEnable = TRUE; + RSDesc.FillMode = D3D11_FILL_SOLID; + RSDesc.FrontCounterClockwise = FALSE; + RSDesc.MultisampleEnable = TRUE; + RSDesc.ScissorEnable = FALSE; + RSDesc.SlopeScaledDepthBias = 0.0f; + V_RETURN( pd3dDevice->CreateRasterizerState( &RSDesc, &m_pRasterizerStateUI11 ) ); + DXUT_SetDebugName( m_pRasterizerStateUI11, "CDXUTDialogResourceManager" ); + + D3D11_BLEND_DESC BSDesc = {}; + BSDesc.RenderTarget[0].BlendEnable = TRUE; + BSDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA; + BSDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; + BSDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; + BSDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; + BSDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO; + BSDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; + BSDesc.RenderTarget[0].RenderTargetWriteMask = 0x0F; + + V_RETURN( pd3dDevice->CreateBlendState( &BSDesc, &m_pBlendStateUI11 ) ); + DXUT_SetDebugName( m_pBlendStateUI11, "CDXUTDialogResourceManager" ); + + D3D11_SAMPLER_DESC SSDesc = {}; + SSDesc.Filter = D3D11_FILTER_ANISOTROPIC ; + SSDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; + SSDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; + SSDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; + SSDesc.ComparisonFunc = D3D11_COMPARISON_NEVER; + SSDesc.MaxAnisotropy = 16; + SSDesc.MinLOD = 0; + SSDesc.MaxLOD = D3D11_FLOAT32_MAX; + if ( pd3dDevice->GetFeatureLevel() < D3D_FEATURE_LEVEL_9_3 ) { - // If a control belonging to another dialog has focus, let that other - // dialog handle this event by returning false. - // - return false; + SSDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR; + SSDesc.MaxAnisotropy = 0; } - else + V_RETURN( pd3dDevice->CreateSamplerState( &SSDesc, &m_pSamplerStateUI11 ) ); + DXUT_SetDebugName( m_pSamplerStateUI11, "CDXUTDialogResourceManager" ); + + // Create the texture objects in the cache arrays. + for( size_t i = 0; i < m_TextureCache.size(); i++ ) { - // Focused control belongs to this dialog. Cycle to the - // next/previous control. - pLastDialog = s_pControlFocus->m_pDialog; - pControl = ( bForward ) ? GetNextControl( s_pControlFocus ) : GetPrevControl( s_pControlFocus ); - pDialog = pControl->m_pDialog; + hr = CreateTexture11( static_cast( i ) ); + if( FAILED( hr ) ) + return hr; } - for( int i = 0; i < 0xffff; i++ ) - { - // If we just wrapped from last control to first or vice versa, - // set the focused control to NULL. This state, where no control - // has focus, allows the camera to work. - int nLastDialogIndex = m_pManager->m_Dialogs.IndexOf( pLastDialog ); - int nDialogIndex = m_pManager->m_Dialogs.IndexOf( pDialog ); - if( ( !bForward && nLastDialogIndex < nDialogIndex ) || - ( bForward && nDialogIndex < nLastDialogIndex ) ) + // Create input layout + const D3D11_INPUT_ELEMENT_DESC layout[] = { - if( s_pControlFocus ) - s_pControlFocus->OnFocusOut(); - s_pControlFocus = NULL; - return true; - } + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 28, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + }; - // If we've gone in a full circle then focus doesn't change - if( pControl == s_pControlFocus ) - return true; + V_RETURN( pd3dDevice->CreateInputLayout( layout, ARRAYSIZE( layout ), pVSBlob->GetBufferPointer(), pVSBlob->GetBufferSize(), &m_pInputLayout11 ) ); + DXUT_SetDebugName( m_pInputLayout11, "CDXUTDialogResourceManager" ); - // If the dialog accepts keybord input and the control can have focus then - // move focus - if( pControl->m_pDialog->m_bKeyboardInput && pControl->CanHaveFocus() ) - { - if( s_pControlFocus ) - s_pControlFocus->OnFocusOut(); - s_pControlFocus = pControl; - s_pControlFocus->OnFocusIn(); - return true; - } + // Release the blobs + SAFE_RELEASE( pVSBlob ); + SAFE_RELEASE( pPSBlob ); + SAFE_RELEASE( pPSUntexBlob ); - pLastDialog = pDialog; - pControl = ( bForward ) ? GetNextControl( pControl ) : GetPrevControl( pControl ); - pDialog = pControl->m_pDialog; - } + // Create a vertex buffer quad for rendering later + D3D11_BUFFER_DESC BufDesc; + BufDesc.ByteWidth = sizeof( DXUT_SCREEN_VERTEX_10 ) * 4; + BufDesc.Usage = D3D11_USAGE_DYNAMIC; + BufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; + BufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; + BufDesc.MiscFlags = 0; + V_RETURN( pd3dDevice->CreateBuffer( &BufDesc, nullptr, &m_pVBScreenQuad11 ) ); + DXUT_SetDebugName( m_pVBScreenQuad11, "CDXUTDialogResourceManager" ); - // If we reached this point, the chain of dialogs didn't form a complete loop - DXTRACE_ERR( L"CDXUTDialog: Multiple dialogs are improperly chained together", E_FAIL ); - return false; + // Init the D3D11 font + InitFont11( pd3dDevice, m_pInputLayout11 ); + + return S_OK; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::CreateFont9( UINT iFont ) +_Use_decl_annotations_ +HRESULT CDXUTDialogResourceManager::OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, + const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ) { - HRESULT hr = S_OK; - - DXUTFontNode* pFontNode = m_FontCache.GetAt( iFont ); + UNREFERENCED_PARAMETER(pd3dDevice); - SAFE_RELEASE( pFontNode->pFont9 ); + HRESULT hr = S_OK; - V_RETURN( D3DXCreateFont( m_pd3d9Device, pFontNode->nHeight, 0, pFontNode->nWeight, 1, FALSE, DEFAULT_CHARSET, - OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, - pFontNode->strFace, &pFontNode->pFont9 ) ); + m_nBackBufferWidth = pBackBufferSurfaceDesc->Width; + m_nBackBufferHeight = pBackBufferSurfaceDesc->Height; - return S_OK; + return hr; } - //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::CreateFont11( UINT iFont ) +void CDXUTDialogResourceManager::OnD3D11ReleasingSwapChain() { - return S_OK; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::CreateTexture9( UINT iTexture ) +void CDXUTDialogResourceManager::OnD3D11DestroyDevice() { - HRESULT hr = S_OK; - - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( iTexture ); - - - D3DXIMAGE_INFO info; + // Release the resources but don't clear the cache, as these will need to be + // recreated if the device is recreated - if( !pTextureNode->bFileSource ) + for( auto it = m_TextureCache.begin(); it != m_TextureCache.end(); ++it ) { - if( pTextureNode->nResourceID == 0xFFFF && pTextureNode->hResourceModule == ( HMODULE )0xFFFF ) - { - hr = DXUTCreateGUITextureFromInternalArray9( m_pd3d9Device, &pTextureNode->pTexture9, &info ); - if( FAILED( hr ) ) - return DXTRACE_ERR( L"D3DXCreateTextureFromFileInMemoryEx", hr ); - DXUT_SetDebugName( pTextureNode->pTexture9, "DXUT GUI Texture" ); - } - else - { - LPCWSTR pID = pTextureNode->nResourceID ? ( LPCWSTR )( size_t )pTextureNode->nResourceID : - pTextureNode->strFilename; - - // Create texture from resource - hr = D3DXCreateTextureFromResourceEx( m_pd3d9Device, pTextureNode->hResourceModule, pID, D3DX_DEFAULT, - D3DX_DEFAULT, - 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, - D3DX_DEFAULT, D3DX_DEFAULT, 0, - &info, NULL, &pTextureNode->pTexture9 ); - if( FAILED( hr ) ) - return DXTRACE_ERR( L"D3DXCreateTextureFromResourceEx", hr ); - } + SAFE_RELEASE( (*it)->pTexResView11 ); + SAFE_RELEASE( (*it)->pTexture11 ); } - else - { - // Make sure there's a texture to create - if( pTextureNode->strFilename[0] == 0 ) - return S_OK; - // Create texture from file - hr = D3DXCreateTextureFromFileEx( m_pd3d9Device, pTextureNode->strFilename, D3DX_DEFAULT, D3DX_DEFAULT, - 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, - D3DX_DEFAULT, D3DX_DEFAULT, 0, - &info, NULL, &pTextureNode->pTexture9 ); - if( FAILED( hr ) ) - { - return DXTRACE_ERR( L"D3DXCreateTextureFromFileEx", hr ); - } - } + // D3D11 + SAFE_RELEASE( m_pVBScreenQuad11 ); + SAFE_RELEASE( m_pSpriteBuffer11 ); + m_SpriteBufferBytes11 = 0; + SAFE_RELEASE( m_pInputLayout11 ); - // Store dimensions - pTextureNode->dwWidth = info.Width; - pTextureNode->dwHeight = info.Height; + // Shaders + SAFE_RELEASE( m_pVSRenderUI11 ); + SAFE_RELEASE( m_pPSRenderUI11 ); + SAFE_RELEASE( m_pPSRenderUIUntex11 ); - return S_OK; + // States + SAFE_RELEASE( m_pDepthStencilStateUI11 ); + SAFE_RELEASE( m_pRasterizerStateUI11 ); + SAFE_RELEASE( m_pBlendStateUI11 ); + SAFE_RELEASE( m_pSamplerStateUI11 ); + + SAFE_RELEASE( m_pDepthStencilStateStored11 ); + SAFE_RELEASE( m_pRasterizerStateStored11 ); + SAFE_RELEASE( m_pBlendStateStored11 ); + SAFE_RELEASE( m_pSamplerStateStored11 ); + + EndFont11(); } //-------------------------------------------------------------------------------------- -HRESULT CDXUTDialogResourceManager::CreateTexture11( UINT iTexture ) +void CDXUTDialogResourceManager::StoreD3D11State( _In_ ID3D11DeviceContext* pd3dImmediateContext ) { - HRESULT hr = S_OK; - - DXUTTextureNode* pTextureNode = m_TextureCache.GetAt( iTexture ); - - if( !pTextureNode->bFileSource ) - { - if( pTextureNode->nResourceID == 0xFFFF && pTextureNode->hResourceModule == ( HMODULE )0xFFFF ) - { - hr = DXUTCreateGUITextureFromInternalArray11( m_pd3d11Device, &pTextureNode->pTexture11, NULL ); - if( FAILED( hr ) ) - return DXTRACE_ERR( L"D3DX11CreateResourceFromFileInMemory", hr ); - DXUT_SetDebugName( pTextureNode->pTexture11, "DXUT GUI Texture" ); - } - //else - //{ - // LPCWSTR pID = pTextureNode->nResourceID ? ( LPCWSTR )( size_t )pTextureNode->nResourceID : - // pTextureNode->strFilename; - - // D3DX10_IMAGE_INFO SrcInfo; - // D3DX10GetImageInfoFromResource( NULL, pID, NULL, &SrcInfo, NULL ); - - // // Create texture from resource - // ID3D10Resource* pRes; - // D3DX10_IMAGE_LOAD_INFO loadInfo; - // loadInfo.Width = D3DX10_DEFAULT; - // loadInfo.Height = D3DX10_DEFAULT; - // loadInfo.Depth = D3DX10_DEFAULT; - // loadInfo.FirstMipLevel = 0; - // loadInfo.MipLevels = 1; - // loadInfo.Usage = D3D10_USAGE_DEFAULT; - // loadInfo.BindFlags = D3D10_BIND_SHADER_RESOURCE; - // loadInfo.CpuAccessFlags = 0; - // loadInfo.MiscFlags = 0; - // loadInfo.Format = MAKE_TYPELESS( SrcInfo.Format ); - // loadInfo.Filter = D3DX10_FILTER_NONE; - // loadInfo.MipFilter = D3DX10_FILTER_NONE; - // loadInfo.pSrcInfo = &SrcInfo; - - // hr = D3DX10CreateTextureFromResource( m_pd3d10Device, pTextureNode->hResourceModule, pID, &loadInfo, - // NULL, &pRes, NULL ); - // if( FAILED( hr ) ) - // return DXTRACE_ERR( L"D3DX10CreateResourceFromResource", hr ); - // hr = pRes->QueryInterface( __uuidof( ID3D10Texture2D ), ( LPVOID* )&pTextureNode->pTexture10 ); - // SAFE_RELEASE( pRes ); - // if( FAILED( hr ) ) - // return hr; - //} - } - else - { - // - //// Make sure there's a texture to create - //if( pTextureNode->strFilename[0] == 0 ) - // return S_OK; - - //D3DX10_IMAGE_INFO SrcInfo; - //D3DX10GetImageInfoFromFile( pTextureNode->strFilename, NULL, &SrcInfo, NULL ); - - //// Create texture from file - //ID3D10Resource* pRes; - //D3DX10_IMAGE_LOAD_INFO loadInfo; - //loadInfo.Width = D3DX10_DEFAULT; - //loadInfo.Height = D3DX10_DEFAULT; - //loadInfo.Depth = D3DX10_DEFAULT; - //loadInfo.FirstMipLevel = 0; - //loadInfo.MipLevels = 1; - //loadInfo.Usage = D3D10_USAGE_DEFAULT; - //loadInfo.BindFlags = D3D10_BIND_SHADER_RESOURCE; - //loadInfo.CpuAccessFlags = 0; - //loadInfo.MiscFlags = 0; - //loadInfo.Format = MAKE_TYPELESS( SrcInfo.Format ); - //loadInfo.Filter = D3DX10_FILTER_NONE; - //loadInfo.MipFilter = D3DX10_FILTER_NONE; - //loadInfo.pSrcInfo = &SrcInfo; - //hr = D3DX10CreateTextureFromFile( m_pd3d10Device, pTextureNode->strFilename, &loadInfo, NULL, &pRes, NULL ); - //if( FAILED( hr ) ) - //{ - // return DXTRACE_ERR( L"D3DX10CreateResourceFromFileEx", hr ); - //} - //hr = pRes->QueryInterface( __uuidof( ID3D10Texture2D ), ( LPVOID* )&pTextureNode->pTexture10 ); - //SAFE_RELEASE( pRes ); - //if( FAILED( hr ) ) - // return hr; - // - } - - // Store dimensions - D3D11_TEXTURE2D_DESC desc; - pTextureNode->pTexture11->GetDesc( &desc ); - pTextureNode->dwWidth = desc.Width; - pTextureNode->dwHeight = desc.Height; - - // Create resource view - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; - SRVDesc.Format = MAKE_SRGB( desc.Format ); - SRVDesc.Texture2D.MipLevels = 1; - SRVDesc.Texture2D.MostDetailedMip = 0; - hr = m_pd3d11Device->CreateShaderResourceView( pTextureNode->pTexture11, &SRVDesc, &pTextureNode->pTexResView11 ); - DXUT_SetDebugName( pTextureNode->pTexResView11, "DXUT GUI Texture" ); - - return hr; + pd3dImmediateContext->OMGetDepthStencilState( &m_pDepthStencilStateStored11, &m_StencilRefStored11 ); + pd3dImmediateContext->RSGetState( &m_pRasterizerStateStored11 ); + pd3dImmediateContext->OMGetBlendState( &m_pBlendStateStored11, m_BlendFactorStored11, &m_SampleMaskStored11 ); + pd3dImmediateContext->PSGetSamplers( 0, 1, &m_pSamplerStateStored11 ); } //-------------------------------------------------------------------------------------- -void CDXUTDialog::InitDefaultElements() +void CDXUTDialogResourceManager::RestoreD3D11State( _In_ ID3D11DeviceContext* pd3dImmediateContext ) { - SetFont( 0, L"Arial", 14, FW_NORMAL ); - - CDXUTElement Element; - RECT rcTexture; - - //------------------------------------- - // Element for the caption - //------------------------------------- - m_CapElement.SetFont( 0 ); - SetRect( &rcTexture, 17, 269, 241, 287 ); - m_CapElement.SetTexture( 0, &rcTexture ); - m_CapElement.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); - m_CapElement.FontColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); - m_CapElement.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); - // Pre-blend as we don't need to transition the state - m_CapElement.TextureColor.Blend( DXUT_STATE_NORMAL, 10.0f ); - m_CapElement.FontColor.Blend( DXUT_STATE_NORMAL, 10.0f ); - - //------------------------------------- - // CDXUTStatic - //------------------------------------- - Element.SetFont( 0 ); - Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); + pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateStored11, m_StencilRefStored11 ); + pd3dImmediateContext->RSSetState( m_pRasterizerStateStored11 ); + pd3dImmediateContext->OMSetBlendState( m_pBlendStateStored11, m_BlendFactorStored11, m_SampleMaskStored11 ); + pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateStored11 ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_STATIC, 0, &Element ); + SAFE_RELEASE( m_pDepthStencilStateStored11 ); + SAFE_RELEASE( m_pRasterizerStateStored11 ); + SAFE_RELEASE( m_pBlendStateStored11 ); + SAFE_RELEASE( m_pSamplerStateStored11 ); +} - //------------------------------------- - // CDXUTButton - Button - //------------------------------------- - SetRect( &rcTexture, 0, 0, 136, 54 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0 ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); - Element.FontColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); +//-------------------------------------------------------------------------------------- +void CDXUTDialogResourceManager::ApplyRenderUI11( _In_ ID3D11DeviceContext* pd3dImmediateContext ) +{ + // Shaders + pd3dImmediateContext->VSSetShader( m_pVSRenderUI11, nullptr, 0 ); + pd3dImmediateContext->HSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->DSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->GSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->PSSetShader( m_pPSRenderUI11, nullptr, 0 ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_BUTTON, 0, &Element ); + // States + pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateUI11, 0 ); + pd3dImmediateContext->RSSetState( m_pRasterizerStateUI11 ); + float BlendFactor[4] = { 0, 0, 0, 0 }; + pd3dImmediateContext->OMSetBlendState( m_pBlendStateUI11, BlendFactor, 0xFFFFFFFF ); + pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateUI11 ); +} - //------------------------------------- - // CDXUTButton - Fill layer - //------------------------------------- - SetRect( &rcTexture, 136, 0, 252, 54 ); - Element.SetTexture( 0, &rcTexture, D3DCOLOR_ARGB( 0, 255, 255, 255 ) ); - Element.TextureColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 160, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 60, 0, 0, 0 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 30, 255, 255, 255 ); +//-------------------------------------------------------------------------------------- +void CDXUTDialogResourceManager::ApplyRenderUIUntex11( _In_ ID3D11DeviceContext* pd3dImmediateContext ) +{ + // Shaders + pd3dImmediateContext->VSSetShader( m_pVSRenderUI11, nullptr, 0 ); + pd3dImmediateContext->HSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->DSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->GSSetShader( nullptr, nullptr, 0 ); + pd3dImmediateContext->PSSetShader( m_pPSRenderUIUntex11, nullptr, 0 ); + // States + pd3dImmediateContext->OMSetDepthStencilState( m_pDepthStencilStateUI11, 0 ); + pd3dImmediateContext->RSSetState( m_pRasterizerStateUI11 ); + float BlendFactor[4] = { 0, 0, 0, 0 }; + pd3dImmediateContext->OMSetBlendState( m_pBlendStateUI11, BlendFactor, 0xFFFFFFFF ); + pd3dImmediateContext->PSSetSamplers( 0, 1, &m_pSamplerStateUI11 ); +} - // Assign the Element - SetDefaultElement( DXUT_CONTROL_BUTTON, 1, &Element ); +//-------------------------------------------------------------------------------------- +void CDXUTDialogResourceManager::BeginSprites11( ) +{ + m_SpriteVertices.clear(); +} - //------------------------------------- - // CDXUTCheckBox - Box - //------------------------------------- - SetRect( &rcTexture, 0, 54, 27, 81 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); - Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_CHECKBOX, 0, &Element ); +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +void CDXUTDialogResourceManager::EndSprites11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ) +{ + // ensure our buffer size can hold our sprites + UINT SpriteDataBytes = static_cast( m_SpriteVertices.size() * sizeof( DXUTSpriteVertex ) ); + if( m_SpriteBufferBytes11 < SpriteDataBytes ) + { + SAFE_RELEASE( m_pSpriteBuffer11 ); + m_SpriteBufferBytes11 = SpriteDataBytes; - //------------------------------------- - // CDXUTCheckBox - Check - //------------------------------------- - SetRect( &rcTexture, 27, 54, 54, 81 ); - Element.SetTexture( 0, &rcTexture ); + D3D11_BUFFER_DESC BufferDesc; + BufferDesc.ByteWidth = m_SpriteBufferBytes11; + BufferDesc.Usage = D3D11_USAGE_DYNAMIC; + BufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; + BufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; + BufferDesc.MiscFlags = 0; - // Assign the Element - SetDefaultElement( DXUT_CONTROL_CHECKBOX, 1, &Element ); + if ( FAILED(pd3dDevice->CreateBuffer(&BufferDesc, nullptr, &m_pSpriteBuffer11)) ) + { + m_pSpriteBuffer11 = nullptr; + m_SpriteBufferBytes11 = 0; + return; + } + DXUT_SetDebugName( m_pSpriteBuffer11, "CDXUTDialogResourceManager" ); + } + // Copy the sprites over + D3D11_BOX destRegion; + destRegion.left = 0; + destRegion.right = SpriteDataBytes; + destRegion.top = 0; + destRegion.bottom = 1; + destRegion.front = 0; + destRegion.back = 1; + D3D11_MAPPED_SUBRESOURCE MappedResource; + if ( S_OK == pd3dImmediateContext->Map( m_pSpriteBuffer11, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ) ) + { + memcpy( MappedResource.pData, (const void*)&m_SpriteVertices[0], SpriteDataBytes ); + pd3dImmediateContext->Unmap(m_pSpriteBuffer11, 0); + } - //------------------------------------- - // CDXUTRadioButton - Box - //------------------------------------- - SetRect( &rcTexture, 54, 54, 81, 81 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_VCENTER ); - Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 255, 255, 255 ); + // Draw + UINT Stride = sizeof( DXUTSpriteVertex ); + UINT Offset = 0; + pd3dImmediateContext->IASetVertexBuffers( 0, 1, &m_pSpriteBuffer11, &Stride, &Offset ); + pd3dImmediateContext->IASetInputLayout( m_pInputLayout11 ); + pd3dImmediateContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST ); + pd3dImmediateContext->Draw( static_cast( m_SpriteVertices.size() ), 0 ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_RADIOBUTTON, 0, &Element ); + m_SpriteVertices.clear(); +} - //------------------------------------- - // CDXUTRadioButton - Check - //------------------------------------- - SetRect( &rcTexture, 81, 54, 108, 81 ); - Element.SetTexture( 0, &rcTexture ); +//-------------------------------------------------------------------------------------- +bool CDXUTDialogResourceManager::RegisterDialog( _In_ CDXUTDialog* pDialog ) +{ + // Check that the dialog isn't already registered. + for( auto it = m_Dialogs.cbegin(); it != m_Dialogs.cend(); ++it ) + { + if( *it == pDialog ) + return true; + } - // Assign the Element - SetDefaultElement( DXUT_CONTROL_RADIOBUTTON, 1, &Element ); + // Add to the list. + m_Dialogs.push_back( pDialog ); + // Set up next and prev pointers. + if( m_Dialogs.size() > 1 ) + m_Dialogs[m_Dialogs.size() - 2]->SetNextDialog( pDialog ); + m_Dialogs[m_Dialogs.size() - 1]->SetNextDialog( m_Dialogs[0] ); - //------------------------------------- - // CDXUTComboBox - Main - //------------------------------------- - SetRect( &rcTexture, 7, 81, 247, 123 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0 ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 200, 200, 200 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 170, 230, 230, 230 ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 200, 200, 200 ); - Element.FontColor.States[ DXUT_STATE_MOUSEOVER ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); - Element.FontColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 0, 0, 0 ); - Element.FontColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 200, 200, 200, 200 ); + return true; +} - // Assign the Element - SetDefaultElement( DXUT_CONTROL_COMBOBOX, 0, &Element ); +//-------------------------------------------------------------------------------------- +void CDXUTDialogResourceManager::UnregisterDialog( _In_ CDXUTDialog* pDialog ) +{ + // Search for the dialog in the list. + for( size_t i = 0; i < m_Dialogs.size(); ++i ) + { + if( m_Dialogs[ i ] == pDialog ) + { + m_Dialogs.erase( m_Dialogs.begin() + i ); + if( !m_Dialogs.empty() ) + { + int l, r; + if( 0 == i ) + l = int( m_Dialogs.size() - 1 ); + else + l = int(i) - 1; - //------------------------------------- - // CDXUTComboBox - Button - //------------------------------------- - SetRect( &rcTexture, 98, 189, 151, 238 ); - Element.SetTexture( 0, &rcTexture ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_PRESSED ] = D3DCOLOR_ARGB( 255, 150, 150, 150 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 255, 255, 255 ); + if( m_Dialogs.size() == i ) + r = 0; + else + r = int( i ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_COMBOBOX, 1, &Element ); + m_Dialogs[l]->SetNextDialog( m_Dialogs[r] ); + } + return; + } + } +} - //------------------------------------- - // CDXUTComboBox - Dropdown - //------------------------------------- - SetRect( &rcTexture, 13, 123, 241, 160 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); +//-------------------------------------------------------------------------------------- +void CDXUTDialogResourceManager::EnableKeyboardInputForAllDialogs() +{ + // Enable keyboard input for all registered dialogs + for( auto it = m_Dialogs.begin(); it != m_Dialogs.end(); ++it ) + (*it)->EnableKeyboardInput( true ); +} - // Assign the Element - SetDefaultElement( DXUT_CONTROL_COMBOBOX, 2, &Element ); +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +int CDXUTDialogResourceManager::AddFont( LPCWSTR strFaceName, LONG height, LONG weight ) +{ + // See if this font already exists + for( size_t i = 0; i < m_FontCache.size(); ++i ) + { + auto pFontNode = m_FontCache[ i ]; + size_t nLen = 0; + nLen = wcsnlen( strFaceName, MAX_PATH); + if( 0 == _wcsnicmp( pFontNode->strFace, strFaceName, nLen ) && + pFontNode->nHeight == height && + pFontNode->nWeight == weight ) + { + return static_cast( i ); + } + } - //------------------------------------- - // CDXUTComboBox - Selection - //------------------------------------- - SetRect( &rcTexture, 12, 163, 239, 183 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_TOP ); + // Add a new font and try to create it + auto pNewFontNode = new (std::nothrow) DXUTFontNode; + if( !pNewFontNode ) + return -1; - // Assign the Element - SetDefaultElement( DXUT_CONTROL_COMBOBOX, 3, &Element ); + ZeroMemory( pNewFontNode, sizeof( DXUTFontNode ) ); + wcscpy_s( pNewFontNode->strFace, MAX_PATH, strFaceName ); + pNewFontNode->nHeight = height; + pNewFontNode->nWeight = weight; + m_FontCache.push_back( pNewFontNode ); + int iFont = (int)m_FontCache.size() - 1; - //------------------------------------- - // CDXUTSlider - Track - //------------------------------------- - SetRect( &rcTexture, 1, 187, 93, 228 ); - Element.SetTexture( 0, &rcTexture ); - Element.TextureColor.States[ DXUT_STATE_NORMAL ] = D3DCOLOR_ARGB( 150, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_FOCUS ] = D3DCOLOR_ARGB( 200, 255, 255, 255 ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 70, 255, 255, 255 ); + // If a device is available, try to create immediately + return iFont; +} - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SLIDER, 0, &Element ); - //------------------------------------- - // CDXUTSlider - Button - //------------------------------------- - SetRect( &rcTexture, 151, 193, 192, 234 ); - Element.SetTexture( 0, &rcTexture ); +//-------------------------------------------------------------------------------------- +int CDXUTDialogResourceManager::AddTexture( _In_z_ LPCWSTR strFilename ) +{ + // See if this texture already exists + for( size_t i = 0; i < m_TextureCache.size(); ++i ) + { + auto pTextureNode = m_TextureCache[ i ]; + size_t nLen = 0; + nLen = wcsnlen( strFilename, MAX_PATH); + if( pTextureNode->bFileSource && // Sources must match + 0 == _wcsnicmp( pTextureNode->strFilename, strFilename, nLen ) ) + { + return static_cast( i ); + } + } - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SLIDER, 1, &Element ); + // Add a new texture and try to create it + auto pNewTextureNode = new (std::nothrow) DXUTTextureNode; + if( !pNewTextureNode ) + return -1; - //------------------------------------- - // CDXUTScrollBar - Track - //------------------------------------- - int nScrollBarStartX = 196; - int nScrollBarStartY = 191; - SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 21, nScrollBarStartX + 22, nScrollBarStartY + 32 ); - Element.SetTexture( 0, &rcTexture ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); + ZeroMemory( pNewTextureNode, sizeof( DXUTTextureNode ) ); + pNewTextureNode->bFileSource = true; + wcscpy_s( pNewTextureNode->strFilename, MAX_PATH, strFilename ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 0, &Element ); + m_TextureCache.push_back( pNewTextureNode ); - //------------------------------------- - // CDXUTScrollBar - Up Arrow - //------------------------------------- - SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 1, nScrollBarStartX + 22, nScrollBarStartY + 21 ); - Element.SetTexture( 0, &rcTexture ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); + int iTexture = int( m_TextureCache.size() ) - 1; + // If a device is available, try to create immediately - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 1, &Element ); + return iTexture; +} - //------------------------------------- - // CDXUTScrollBar - Down Arrow - //------------------------------------- - SetRect( &rcTexture, nScrollBarStartX + 0, nScrollBarStartY + 32, nScrollBarStartX + 22, nScrollBarStartY + 53 ); - Element.SetTexture( 0, &rcTexture ); - Element.TextureColor.States[ DXUT_STATE_DISABLED ] = D3DCOLOR_ARGB( 255, 200, 200, 200 ); +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +int CDXUTDialogResourceManager::AddTexture( LPCWSTR strResourceName, HMODULE hResourceModule ) +{ + // See if this texture already exists + for( size_t i = 0; i < m_TextureCache.size(); i++ ) + { + auto pTextureNode = m_TextureCache[ i ]; + if( !pTextureNode->bFileSource && // Sources must match + pTextureNode->hResourceModule == hResourceModule ) // Module handles must match + { + if( IS_INTRESOURCE( strResourceName ) ) + { + // Integer-based ID + if( ( INT_PTR )strResourceName == pTextureNode->nResourceID ) + return static_cast( i ); + } + else + { + // String-based ID + size_t nLen = 0; + nLen = wcsnlen ( strResourceName, MAX_PATH ); + if( 0 == _wcsnicmp( pTextureNode->strFilename, strResourceName, nLen ) ) + return static_cast( i ); + } + } + } + + // Add a new texture and try to create it + auto pNewTextureNode = new (std::nothrow) DXUTTextureNode; + if( !pNewTextureNode ) + return -1; + + ZeroMemory( pNewTextureNode, sizeof( DXUTTextureNode ) ); + pNewTextureNode->hResourceModule = hResourceModule; + if( IS_INTRESOURCE( strResourceName ) ) + { + pNewTextureNode->nResourceID = ( int )( size_t )strResourceName; + } + else + { + pNewTextureNode->nResourceID = 0; + wcscpy_s( pNewTextureNode->strFilename, MAX_PATH, strResourceName ); + } - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 2, &Element ); + m_TextureCache.push_back( pNewTextureNode ); - //------------------------------------- - // CDXUTScrollBar - Button - //------------------------------------- - SetRect( &rcTexture, 220, 192, 238, 234 ); - Element.SetTexture( 0, &rcTexture ); + int iTexture = int( m_TextureCache.size() ) - 1; - // Assign the Element - SetDefaultElement( DXUT_CONTROL_SCROLLBAR, 3, &Element ); + // If a device is available, try to create immediately + return iTexture; +} - //------------------------------------- - // CDXUTEditBox - //------------------------------------- - // Element assignment: - // 0 - text area - // 1 - top left border - // 2 - top border - // 3 - top right border - // 4 - left border - // 5 - right border - // 6 - lower left border - // 7 - lower border - // 8 - lower right border - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); +//-------------------------------------------------------------------------------------- +HRESULT CDXUTDialogResourceManager::CreateTexture11( _In_ UINT iTexture ) +{ + HRESULT hr = S_OK; - // Assign the style - SetRect( &rcTexture, 14, 90, 241, 113 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 0, &Element ); - SetRect( &rcTexture, 8, 82, 14, 90 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 1, &Element ); - SetRect( &rcTexture, 14, 82, 241, 90 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 2, &Element ); - SetRect( &rcTexture, 241, 82, 246, 90 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 3, &Element ); - SetRect( &rcTexture, 8, 90, 14, 113 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 4, &Element ); - SetRect( &rcTexture, 241, 90, 246, 113 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 5, &Element ); - SetRect( &rcTexture, 8, 113, 14, 121 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 6, &Element ); - SetRect( &rcTexture, 14, 113, 241, 121 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 7, &Element ); - SetRect( &rcTexture, 241, 113, 246, 121 ); - Element.SetTexture( 0, &rcTexture ); - SetDefaultElement( DXUT_CONTROL_EDITBOX, 8, &Element ); + auto pTextureNode = m_TextureCache[ iTexture ]; - //------------------------------------- - // CDXUTListBox - Main - //------------------------------------- - SetRect( &rcTexture, 13, 123, 241, 160 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 0, 0, 0 ), DT_LEFT | DT_TOP ); + if( !pTextureNode->bFileSource ) + { + if( pTextureNode->nResourceID == 0xFFFF && pTextureNode->hResourceModule == ( HMODULE )0xFFFF ) + { + hr = DXUTCreateGUITextureFromInternalArray( m_pd3d11Device, &pTextureNode->pTexture11 ); + if( FAILED( hr ) ) + return DXTRACE_ERR( L"DXUTCreateGUITextureFromInternalArray", hr ); + DXUT_SetDebugName( pTextureNode->pTexture11, "DXUT GUI Texture" ); + } + } - // Assign the Element - SetDefaultElement( DXUT_CONTROL_LISTBOX, 0, &Element ); + // Store dimensions + D3D11_TEXTURE2D_DESC desc; + pTextureNode->pTexture11->GetDesc( &desc ); + pTextureNode->dwWidth = desc.Width; + pTextureNode->dwHeight = desc.Height; - //------------------------------------- - // CDXUTListBox - Selection - //------------------------------------- + // Create resource view + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + SRVDesc.Format = desc.Format; + SRVDesc.Texture2D.MipLevels = 1; + SRVDesc.Texture2D.MostDetailedMip = 0; + hr = m_pd3d11Device->CreateShaderResourceView( pTextureNode->pTexture11, &SRVDesc, &pTextureNode->pTexResView11 ); + if ( FAILED(hr) ) + return hr; - SetRect( &rcTexture, 16, 166, 240, 183 ); - Element.SetTexture( 0, &rcTexture ); - Element.SetFont( 0, D3DCOLOR_ARGB( 255, 255, 255, 255 ), DT_LEFT | DT_TOP ); + DXUT_SetDebugName( pTextureNode->pTexResView11, "DXUT GUI Texture" ); - // Assign the Element - SetDefaultElement( DXUT_CONTROL_LISTBOX, 1, &Element ); + return hr; } - -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTControl class -//-------------------------------------------------------------------------------------- +//====================================================================================== -//-------------------------------------------------------------------------------------- -CDXUTControl::CDXUTControl( CDXUTDialog* pDialog ) +CDXUTControl::CDXUTControl( _In_opt_ CDXUTDialog* pDialog ) noexcept { m_Type = DXUT_CONTROL_BUTTON; m_pDialog = pDialog; m_ID = 0; + m_nHotkey = 0; m_Index = 0; - m_pUserData = NULL; + m_pUserData = nullptr; m_bEnabled = true; m_bVisible = true; @@ -3466,7 +2849,7 @@ CDXUTControl::CDXUTControl( CDXUTDialog* pDialog ) m_bHasFocus = false; m_bIsDefault = false; - m_pDialog = NULL; + m_pDialog = nullptr; m_x = 0; m_y = 0; @@ -3477,20 +2860,22 @@ CDXUTControl::CDXUTControl( CDXUTDialog* pDialog ) } +//-------------------------------------------------------------------------------------- CDXUTControl::~CDXUTControl() { - for( int i = 0; i < m_Elements.GetSize(); ++i ) + for( auto it = m_Elements.begin(); it != m_Elements.end(); ++it ) { - delete m_Elements[i]; + auto pElement = *it; + delete pElement; } - m_Elements.RemoveAll(); + m_Elements.clear(); } //-------------------------------------------------------------------------------------- -void CDXUTControl::SetTextColor( D3DCOLOR Color ) +void CDXUTControl::SetTextColor( _In_ DWORD Color ) { - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; if( pElement ) pElement->FontColor.States[DXUT_STATE_NORMAL] = Color; @@ -3498,30 +2883,23 @@ void CDXUTControl::SetTextColor( D3DCOLOR Color ) //-------------------------------------------------------------------------------------- -HRESULT CDXUTControl::SetElement( UINT iElement, CDXUTElement* pElement ) +HRESULT CDXUTControl::SetElement( _In_ UINT iElement, _In_ CDXUTElement* pElement ) { - HRESULT hr = S_OK; - - if( pElement == NULL ) + if( !pElement ) return E_INVALIDARG; // Make certain the array is this large - for( UINT i = m_Elements.GetSize(); i <= iElement; i++ ) + for( size_t i = m_Elements.size(); i <= iElement; i++ ) { - CDXUTElement* pNewElement = new CDXUTElement(); - if( pNewElement == NULL ) + auto pNewElement = new (std::nothrow) CDXUTElement(); + if( !pNewElement ) return E_OUTOFMEMORY; - hr = m_Elements.Add( pNewElement ); - if( FAILED( hr ) ) - { - SAFE_DELETE( pNewElement ); - return hr; - } + m_Elements.push_back( pNewElement ); } // Update the data - CDXUTElement* pCurElement = m_Elements.GetAt( iElement ); + auto pCurElement = m_Elements[ iElement ]; *pCurElement = *pElement; return S_OK; @@ -3534,10 +2912,9 @@ void CDXUTControl::Refresh() m_bMouseOver = false; m_bHasFocus = false; - for( int i = 0; i < m_Elements.GetSize(); i++ ) + for( auto it = m_Elements.begin(); it != m_Elements.end(); ++it ) { - CDXUTElement* pElement = m_Elements.GetAt( i ); - pElement->Refresh(); + (*it)->Refresh(); } } @@ -3549,30 +2926,30 @@ void CDXUTControl::UpdateRects() } -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTStatic class -//-------------------------------------------------------------------------------------- +//====================================================================================== //-------------------------------------------------------------------------------------- -CDXUTStatic::CDXUTStatic( CDXUTDialog* pDialog ) +CDXUTStatic::CDXUTStatic( _In_opt_ CDXUTDialog* pDialog ) noexcept { m_Type = DXUT_CONTROL_STATIC; m_pDialog = pDialog; ZeroMemory( &m_strText, sizeof( m_strText ) ); - for( int i = 0; i < m_Elements.GetSize(); i++ ) + for( auto it = m_Elements.begin(); it != m_Elements.end(); ++it ) { - CDXUTElement* pElement = m_Elements.GetAt( i ); + auto pElement = *it; SAFE_DELETE( pElement ); } - m_Elements.RemoveAll(); + m_Elements.clear(); } //-------------------------------------------------------------------------------------- -void CDXUTStatic::Render( float fElapsedTime ) +void CDXUTStatic::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -3582,20 +2959,20 @@ void CDXUTStatic::Render( float fElapsedTime ) if( m_bEnabled == false ) iState = DXUT_STATE_DISABLED; - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; pElement->FontColor.Blend( iState, fElapsedTime ); - m_pDialog->DrawText( m_strText, pElement, &m_rcBoundingBox, false, -1, false); + m_pDialog->DrawText( m_strText, pElement, &m_rcBoundingBox, false, false); } //-------------------------------------------------------------------------------------- -HRESULT CDXUTStatic::GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, - UINT bufferCount ) +_Use_decl_annotations_ +HRESULT CDXUTStatic::GetTextCopy( LPWSTR strDest, UINT bufferCount ) const { // Validate incoming parameters - if( strDest == NULL || bufferCount == 0 ) + if( !strDest || bufferCount == 0 ) { return E_INVALIDARG; } @@ -3608,9 +2985,9 @@ HRESULT CDXUTStatic::GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, //-------------------------------------------------------------------------------------- -HRESULT CDXUTStatic::SetText( LPCWSTR strText ) +HRESULT CDXUTStatic::SetText( _In_z_ LPCWSTR strText ) { - if( strText == NULL ) + if( !strText ) { m_strText[0] = 0; return S_OK; @@ -3621,12 +2998,11 @@ HRESULT CDXUTStatic::SetText( LPCWSTR strText ) } -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTButton class -//-------------------------------------------------------------------------------------- +//====================================================================================== -//-------------------------------------------------------------------------------------- -CDXUTButton::CDXUTButton( CDXUTDialog* pDialog ) +CDXUTButton::CDXUTButton( _In_opt_ CDXUTDialog* pDialog ) noexcept { m_Type = DXUT_CONTROL_BUTTON; m_pDialog = pDialog; @@ -3636,8 +3012,12 @@ CDXUTButton::CDXUTButton( CDXUTDialog* pDialog ) } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTButton::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) + { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -3672,8 +3052,12 @@ bool CDXUTButton::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTButton::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTButton::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -3722,7 +3106,7 @@ bool CDXUTButton::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam } //-------------------------------------------------------------------------------------- -void CDXUTButton::Render( float fElapsedTime ) +void CDXUTButton::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -3760,7 +3144,7 @@ void CDXUTButton::Render( float fElapsedTime ) } // Background fill layer - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; float fBlendRate = ( iState == DXUT_STATE_PRESSED ) ? 0.0f : 0.8f; @@ -3773,38 +3157,41 @@ void CDXUTButton::Render( float fElapsedTime ) pElement->FontColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &rcWindow, DXUT_FAR_BUTTON_DEPTH ); - m_pDialog->DrawText( m_strText, pElement, &rcWindow, false, -1, true ); + m_pDialog->DrawText( m_strText, pElement, &rcWindow, false, true ); // Main button - pElement = m_Elements.GetAt( 1 ); + pElement = m_Elements[ 1 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); pElement->FontColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &rcWindow, DXUT_NEAR_BUTTON_DEPTH ); - m_pDialog->DrawText( m_strText, pElement, &rcWindow, false, -1, true ); + m_pDialog->DrawText( m_strText, pElement, &rcWindow, false, true ); } -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTCheckBox class -//-------------------------------------------------------------------------------------- +//====================================================================================== -//-------------------------------------------------------------------------------------- -CDXUTCheckBox::CDXUTCheckBox( CDXUTDialog* pDialog ) +CDXUTCheckBox::CDXUTCheckBox( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_bChecked(false), + m_rcButton{}, + m_rcText{} { m_Type = DXUT_CONTROL_CHECKBOX; m_pDialog = pDialog; - - m_bChecked = false; } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTCheckBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -3839,8 +3226,12 @@ bool CDXUTCheckBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTCheckBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTCheckBox::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -3887,6 +3278,7 @@ bool CDXUTCheckBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPar //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTCheckBox::SetCheckedInternal( bool bChecked, bool bFromInput ) { m_bChecked = bChecked; @@ -3896,14 +3288,13 @@ void CDXUTCheckBox::SetCheckedInternal( bool bChecked, bool bFromInput ) //-------------------------------------------------------------------------------------- -BOOL CDXUTCheckBox::ContainsPoint( POINT pt ) +bool CDXUTCheckBox::ContainsPoint( _In_ const POINT& pt ) { return ( PtInRect( &m_rcBoundingBox, pt ) || PtInRect( &m_rcButton, pt ) ); } - //-------------------------------------------------------------------------------------- void CDXUTCheckBox::UpdateRects() { @@ -3917,9 +3308,8 @@ void CDXUTCheckBox::UpdateRects() } - //-------------------------------------------------------------------------------------- -void CDXUTCheckBox::Render( float fElapsedTime ) +void CDXUTCheckBox::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -3936,7 +3326,7 @@ void CDXUTCheckBox::Render( float fElapsedTime ) else if( m_bHasFocus ) iState = DXUT_STATE_FOCUS; - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; float fBlendRate = ( iState == DXUT_STATE_PRESSED ) ? 0.0f : 0.8f; @@ -3944,26 +3334,24 @@ void CDXUTCheckBox::Render( float fElapsedTime ) pElement->FontColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcButton, DXUT_NEAR_BUTTON_DEPTH ); - m_pDialog->DrawText( m_strText, pElement, &m_rcText, false, -1, false ); + m_pDialog->DrawText( m_strText, pElement, &m_rcText, false, false ); if( !m_bChecked ) iState = DXUT_STATE_HIDDEN; - pElement = m_Elements.GetAt( 1 ); + pElement = m_Elements[ 1 ]; pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcButton, DXUT_FAR_BUTTON_DEPTH ); } - - -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTRadioButton class -//-------------------------------------------------------------------------------------- +//====================================================================================== -//-------------------------------------------------------------------------------------- -CDXUTRadioButton::CDXUTRadioButton( CDXUTDialog* pDialog ) +CDXUTRadioButton::CDXUTRadioButton( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_nButtonGroup(0) { m_Type = DXUT_CONTROL_RADIOBUTTON; m_pDialog = pDialog; @@ -3972,8 +3360,11 @@ CDXUTRadioButton::CDXUTRadioButton( CDXUTDialog* pDialog ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTRadioButton::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -4012,8 +3403,12 @@ bool CDXUTRadioButton::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTRadioButton::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTRadioButton::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -4064,6 +3459,7 @@ bool CDXUTRadioButton::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM l } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTRadioButton::SetCheckedInternal( bool bChecked, bool bClearGroup, bool bFromInput ) { if( bChecked && bClearGroup ) @@ -4074,24 +3470,24 @@ void CDXUTRadioButton::SetCheckedInternal( bool bChecked, bool bClearGroup, bool } - - -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTComboBox class -//-------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------- -CDXUTComboBox::CDXUTComboBox( CDXUTDialog* pDialog ) : m_ScrollBar( pDialog ) +//====================================================================================== + +CDXUTComboBox::CDXUTComboBox( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_iSelected(-1), + m_iFocused(-1), + m_nDropHeight(100), + m_ScrollBar( pDialog ), + m_nSBWidth(16), + m_bOpened(false), + m_rcText{}, + m_rcButton{}, + m_rcDropdown{}, + m_rcDropdownText{} { m_Type = DXUT_CONTROL_COMBOBOX; - m_pDialog = pDialog; - - m_nDropHeight = 100; - - m_nSBWidth = 16; - m_bOpened = false; - m_iSelected = -1; - m_iFocused = -1; + m_pDialog = pDialog; } @@ -4103,14 +3499,14 @@ CDXUTComboBox::~CDXUTComboBox() //-------------------------------------------------------------------------------------- -void CDXUTComboBox::SetTextColor( D3DCOLOR Color ) +void CDXUTComboBox::SetTextColor( _In_ DWORD Color ) { - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; if( pElement ) pElement->FontColor.States[DXUT_STATE_NORMAL] = Color; - pElement = m_Elements.GetAt( 2 ); + pElement = m_Elements[ 2 ]; if( pElement ) pElement->FontColor.States[DXUT_STATE_NORMAL] = Color; @@ -4130,20 +3526,20 @@ void CDXUTComboBox::UpdateRects() m_rcText.right = m_rcButton.left; m_rcDropdown = m_rcText; - OffsetRect( &m_rcDropdown, 0, ( int )( 0.90f * RectHeight( m_rcText ) ) ); + OffsetRect( &m_rcDropdown, 0, static_cast( 0.90f * RectHeight( m_rcText ) ) ); m_rcDropdown.bottom += m_nDropHeight; m_rcDropdown.right -= m_nSBWidth; m_rcDropdownText = m_rcDropdown; - m_rcDropdownText.left += ( int )( 0.1f * RectWidth( m_rcDropdown ) ); - m_rcDropdownText.right -= ( int )( 0.1f * RectWidth( m_rcDropdown ) ); - m_rcDropdownText.top += ( int )( 0.1f * RectHeight( m_rcDropdown ) ); - m_rcDropdownText.bottom -= ( int )( 0.1f * RectHeight( m_rcDropdown ) ); + m_rcDropdownText.left += static_cast(0.1f * RectWidth(m_rcDropdown)); + m_rcDropdownText.right -= static_cast(0.1f * RectWidth(m_rcDropdown)); + m_rcDropdownText.top += static_cast(0.1f * RectHeight(m_rcDropdown)); + m_rcDropdownText.bottom -= static_cast(0.1f * RectHeight(m_rcDropdown)); // Update the scrollbar's rects m_ScrollBar.SetLocation( m_rcDropdown.right, m_rcDropdown.top + 2 ); m_ScrollBar.SetSize( m_nSBWidth, RectHeight( m_rcDropdown ) - 2 ); - DXUTFontNode* pFontNode = m_pDialog->GetManager()->GetFontNode( m_Elements.GetAt( 2 )->iFont ); + auto pFontNode = m_pDialog->GetManager()->GetFontNode( m_Elements[ 2 ]->iFont ); if( pFontNode && pFontNode->nHeight ) { m_ScrollBar.SetPageSize( RectHeight( m_rcDropdownText ) / pFontNode->nHeight ); @@ -4165,6 +3561,7 @@ void CDXUTComboBox::OnFocusOut() //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTComboBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { const DWORD REPEAT_MASK = ( 0x40000000 ); @@ -4251,7 +3648,8 @@ bool CDXUTComboBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTComboBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTComboBox::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { if( !m_bEnabled || !m_bVisible ) return false; @@ -4267,13 +3665,13 @@ bool CDXUTComboBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPar if( m_bOpened && PtInRect( &m_rcDropdown, pt ) ) { // Determine which item has been selected - for( int i = 0; i < m_Items.GetSize(); i++ ) + for( size_t i = 0; i < m_Items.size(); i++ ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; if( pItem->bVisible && PtInRect( &pItem->rcActive, pt ) ) { - m_iFocused = i; + m_iFocused = static_cast( i ); } } return true; @@ -4312,13 +3710,13 @@ bool CDXUTComboBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPar if( m_bOpened && PtInRect( &m_rcDropdown, pt ) ) { // Determine which item has been selected - for( int i = m_ScrollBar.GetTrackPos(); i < m_Items.GetSize(); i++ ) + for( size_t i = m_ScrollBar.GetTrackPos(); i < m_Items.size(); i++ ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; if( pItem->bVisible && PtInRect( &pItem->rcActive, pt ) ) { - m_iFocused = m_iSelected = i; + m_iFocused = m_iSelected = static_cast( i ); m_pDialog->SendEvent( EVENT_COMBOBOX_SELECTION_CHANGED, true, this ); m_bOpened = false; @@ -4371,8 +3769,9 @@ bool CDXUTComboBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPar int zDelta = ( short )HIWORD( wParam ) / WHEEL_DELTA; if( m_bOpened ) { - UINT uLines; - SystemParametersInfo( SPI_GETWHEELSCROLLLINES, 0, &uLines, 0 ); + UINT uLines = 0; + if ( !SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &uLines, 0) ) + uLines = 0; m_ScrollBar.Scroll( -zDelta * uLines ); } else @@ -4422,7 +3821,7 @@ void CDXUTComboBox::OnHotkey() m_iSelected++; - if( m_iSelected >= ( int )m_Items.GetSize() ) + if( m_iSelected >= ( int )m_Items.size() ) m_iSelected = 0; m_iFocused = m_iSelected; @@ -4431,17 +3830,18 @@ void CDXUTComboBox::OnHotkey() //-------------------------------------------------------------------------------------- -void CDXUTComboBox::Render( float fElapsedTime ) +void CDXUTComboBox::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; + DXUT_CONTROL_STATE iState = DXUT_STATE_NORMAL; if( !m_bOpened ) iState = DXUT_STATE_HIDDEN; // Dropdown box - CDXUTElement* pElement = m_Elements.GetAt( 2 ); + auto pElement = m_Elements[ 2 ]; // If we have not initialized the scroll bar page size, // do that now. @@ -4468,20 +3868,19 @@ void CDXUTComboBox::Render( float fElapsedTime ) m_pDialog->DrawSprite( pElement, &m_rcDropdown, DXUT_NEAR_BUTTON_DEPTH ); // Selection outline - CDXUTElement* pSelectionElement = m_Elements.GetAt( 3 ); + auto pSelectionElement = m_Elements[ 3 ]; pSelectionElement->TextureColor.Current = pElement->TextureColor.Current; - pSelectionElement->FontColor.Current = pSelectionElement->FontColor.States[ DXUT_STATE_NORMAL ]; + pSelectionElement->FontColor.SetCurrent( pSelectionElement->FontColor.States[ DXUT_STATE_NORMAL ] ); - DXUTFontNode* pFont = m_pDialog->GetFont( pElement->iFont ); + auto pFont = m_pDialog->GetFont( pElement->iFont ); if( pFont ) { int curY = m_rcDropdownText.top; int nRemainingHeight = RectHeight( m_rcDropdownText ); - //WCHAR strDropdown[4096] = {0}; - - for( int i = m_ScrollBar.GetTrackPos(); i < m_Items.GetSize(); i++ ) + + for( size_t i = m_ScrollBar.GetTrackPos(); i < m_Items.size(); i++ ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; // Make sure there's room left in the dropdown nRemainingHeight -= pFont->nHeight; @@ -4494,10 +3893,6 @@ void CDXUTComboBox::Render( float fElapsedTime ) SetRect( &pItem->rcActive, m_rcDropdownText.left, curY, m_rcDropdownText.right, curY + pFont->nHeight ); curY += pFont->nHeight; - //debug - //int blue = 50 * i; - //m_pDialog->DrawRect( &pItem->rcActive, 0xFFFF0000 | blue ); - pItem->bVisible = true; if( m_bOpened ) @@ -4505,7 +3900,7 @@ void CDXUTComboBox::Render( float fElapsedTime ) if( ( int )i == m_iFocused ) { RECT rc; - SetRect( &rc, m_rcDropdown.left, pItem->rcActive.top - 2, m_rcDropdown.right, + SetRect( &rc, m_rcDropdown.left, pItem->rcActive.top, m_rcDropdown.right, pItem->rcActive.bottom + 2 ); m_pDialog->DrawSprite( pSelectionElement, &rc, DXUT_NEAR_BUTTON_DEPTH ); m_pDialog->DrawText( pItem->strText, pSelectionElement, &pItem->rcActive ); @@ -4547,7 +3942,7 @@ void CDXUTComboBox::Render( float fElapsedTime ) float fBlendRate = ( iState == DXUT_STATE_PRESSED ) ? 0.0f : 0.8f; // Button - pElement = m_Elements.GetAt( 1 ); + pElement = m_Elements[ 1 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); @@ -4560,7 +3955,7 @@ void CDXUTComboBox::Render( float fElapsedTime ) iState = DXUT_STATE_PRESSED; // Main text box - pElement = m_Elements.GetAt( 0 ); + pElement = m_Elements[ 0 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); @@ -4568,12 +3963,12 @@ void CDXUTComboBox::Render( float fElapsedTime ) m_pDialog->DrawSprite( pElement, &m_rcText, DXUT_NEAR_BUTTON_DEPTH ); - if( m_iSelected >= 0 && m_iSelected < ( int )m_Items.GetSize() ) + if( m_iSelected >= 0 && m_iSelected < ( int )m_Items.size() ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( m_iSelected ); - if( pItem != NULL ) + auto pItem = m_Items[ m_iSelected ]; + if( pItem ) { - m_pDialog->DrawText( pItem->strText, pElement, &m_rcText, false, -1, true ); + m_pDialog->DrawText( pItem->strText, pElement, &m_rcText, false, true ); } } @@ -4581,17 +3976,18 @@ void CDXUTComboBox::Render( float fElapsedTime ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTComboBox::AddItem( const WCHAR* strText, void* pData ) { // Validate parameters - if( strText == NULL ) + if( !strText ) { return E_INVALIDARG; } // Create a new item and set the data - DXUTComboBoxItem* pItem = new DXUTComboBoxItem; - if( pItem == NULL ) + auto pItem = new (std::nothrow) DXUTComboBoxItem; + if( !pItem ) { return DXTRACE_ERR_MSGBOX( L"new", E_OUTOFMEMORY ); } @@ -4600,10 +3996,10 @@ HRESULT CDXUTComboBox::AddItem( const WCHAR* strText, void* pData ) wcscpy_s( pItem->strText, 256, strText ); pItem->pData = pData; - m_Items.Add( pItem ); + m_Items.push_back( pItem ); // Update the scroll bar with new range - m_ScrollBar.SetTrackRange( 0, m_Items.GetSize() ); + m_ScrollBar.SetTrackRange( 0, (int)m_Items.size() ); // If this is the only item in the list, it's selected if( GetNumItems() == 1 ) @@ -4618,53 +4014,53 @@ HRESULT CDXUTComboBox::AddItem( const WCHAR* strText, void* pData ) //-------------------------------------------------------------------------------------- -void CDXUTComboBox::RemoveItem( UINT index ) +void CDXUTComboBox::RemoveItem( _In_ UINT index ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( index ); + auto it = m_Items.begin() + index; + auto pItem = *it; SAFE_DELETE( pItem ); - m_Items.Remove( index ); - m_ScrollBar.SetTrackRange( 0, m_Items.GetSize() ); - if( m_iSelected >= m_Items.GetSize() ) - m_iSelected = m_Items.GetSize() - 1; + m_Items.erase( it ); + m_ScrollBar.SetTrackRange( 0, (int)m_Items.size() ); + if( m_iSelected >= (int)m_Items.size() ) + m_iSelected = (int)m_Items.size() - 1; } //-------------------------------------------------------------------------------------- void CDXUTComboBox::RemoveAllItems() { - for( int i = 0; i < m_Items.GetSize(); i++ ) + for( auto it = m_Items.begin(); it != m_Items.end(); ++it ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = *it; SAFE_DELETE( pItem ); } - m_Items.RemoveAll(); + m_Items.clear(); m_ScrollBar.SetTrackRange( 0, 1 ); m_iFocused = m_iSelected = -1; } - //-------------------------------------------------------------------------------------- -bool CDXUTComboBox::ContainsItem( const WCHAR* strText, UINT iStart ) +bool CDXUTComboBox::ContainsItem( _In_z_ const WCHAR* strText, _In_ UINT iStart ) { return ( -1 != FindItem( strText, iStart ) ); } //-------------------------------------------------------------------------------------- -int CDXUTComboBox::FindItem( const WCHAR* strText, UINT iStart ) +int CDXUTComboBox::FindItem( _In_z_ const WCHAR* strText, _In_ UINT iStart ) const { - if( strText == NULL ) + if( !strText ) return -1; - for( int i = iStart; i < m_Items.GetSize(); i++ ) + for( size_t i = iStart; i < m_Items.size(); i++ ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; if( 0 == wcscmp( pItem->strText, strText ) ) { - return i; + return static_cast( i ); } } @@ -4673,40 +4069,40 @@ int CDXUTComboBox::FindItem( const WCHAR* strText, UINT iStart ) //-------------------------------------------------------------------------------------- -void* CDXUTComboBox::GetSelectedData() +void* CDXUTComboBox::GetSelectedData() const { if( m_iSelected < 0 ) - return NULL; + return nullptr; - DXUTComboBoxItem* pItem = m_Items.GetAt( m_iSelected ); + auto pItem = m_Items[ m_iSelected ]; return pItem->pData; } //-------------------------------------------------------------------------------------- -DXUTComboBoxItem* CDXUTComboBox::GetSelectedItem() +DXUTComboBoxItem* CDXUTComboBox::GetSelectedItem() const { if( m_iSelected < 0 ) - return NULL; + return nullptr; - return m_Items.GetAt( m_iSelected ); + return m_Items[ m_iSelected ]; } //-------------------------------------------------------------------------------------- -void* CDXUTComboBox::GetItemData( const WCHAR* strText ) +void* CDXUTComboBox::GetItemData( _In_z_ const WCHAR* strText ) const { int index = FindItem( strText ); if( index == -1 ) { - return NULL; + return nullptr; } - DXUTComboBoxItem* pItem = m_Items.GetAt( index ); - if( pItem == NULL ) + auto pItem = m_Items[ index ]; + if( !pItem ) { - DXTRACE_ERR( L"CGrowableArray::GetAt", E_FAIL ); - return NULL; + DXTRACE_ERR( L"CDXUTComboBox::GetItemData", E_FAIL ); + return nullptr; } return pItem->pData; @@ -4714,17 +4110,17 @@ void* CDXUTComboBox::GetItemData( const WCHAR* strText ) //-------------------------------------------------------------------------------------- -void* CDXUTComboBox::GetItemData( int nIndex ) +void* CDXUTComboBox::GetItemData( _In_ int nIndex ) const { - if( nIndex < 0 || nIndex >= m_Items.GetSize() ) - return NULL; + if( nIndex < 0 || nIndex >= (int)m_Items.size() ) + return nullptr; - return m_Items.GetAt( nIndex )->pData; + return m_Items[ nIndex ]->pData; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTComboBox::SetSelectedByIndex( UINT index ) +HRESULT CDXUTComboBox::SetSelectedByIndex( _In_ UINT index ) { if( index >= GetNumItems() ) return E_INVALIDARG; @@ -4738,9 +4134,9 @@ HRESULT CDXUTComboBox::SetSelectedByIndex( UINT index ) //-------------------------------------------------------------------------------------- -HRESULT CDXUTComboBox::SetSelectedByText( const WCHAR* strText ) +HRESULT CDXUTComboBox::SetSelectedByText( _In_z_ const WCHAR* strText ) { - if( strText == NULL ) + if( !strText ) return E_INVALIDARG; int index = FindItem( strText ); @@ -4756,15 +4152,15 @@ HRESULT CDXUTComboBox::SetSelectedByText( const WCHAR* strText ) //-------------------------------------------------------------------------------------- -HRESULT CDXUTComboBox::SetSelectedByData( void* pData ) +HRESULT CDXUTComboBox::SetSelectedByData( _In_ void* pData ) { - for( int i = 0; i < m_Items.GetSize(); i++ ) + for( size_t i = 0; i < m_Items.size(); i++ ) { - DXUTComboBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; if( pItem->pData == pData ) { - m_iFocused = m_iSelected = i; + m_iFocused = m_iSelected = static_cast( i ); m_pDialog->SendEvent( EVENT_COMBOBOX_SELECTION_CHANGED, false, this ); return S_OK; } @@ -4774,23 +4170,27 @@ HRESULT CDXUTComboBox::SetSelectedByData( void* pData ) } +//====================================================================================== +// CDXUTSlider class +//====================================================================================== -//-------------------------------------------------------------------------------------- -CDXUTSlider::CDXUTSlider( CDXUTDialog* pDialog ) +CDXUTSlider::CDXUTSlider( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_nValue(50), + m_nMin(0), + m_nMax(100), + m_nDragX(0), + m_nDragOffset(0), + m_nButtonX(0), + m_bPressed(false), + m_rcButton{} { m_Type = DXUT_CONTROL_SLIDER; m_pDialog = pDialog; - - m_nMin = 0; - m_nMax = 100; - m_nValue = 50; - - m_bPressed = false; } //-------------------------------------------------------------------------------------- -BOOL CDXUTSlider::ContainsPoint( POINT pt ) +bool CDXUTSlider::ContainsPoint( _In_ const POINT& pt ) { return ( PtInRect( &m_rcBoundingBox, pt ) || PtInRect( &m_rcButton, pt ) ); @@ -4810,15 +4210,21 @@ void CDXUTSlider::UpdateRects() OffsetRect( &m_rcButton, m_nButtonX, 0 ); } -int CDXUTSlider::ValueFromPos( int x ) + +//-------------------------------------------------------------------------------------- +int CDXUTSlider::ValueFromPos( _In_ int x ) { float fValuePerPixel = ( float )( m_nMax - m_nMin ) / RectWidth( m_rcBoundingBox ); return ( int )( 0.5f + m_nMin + fValuePerPixel * ( x - m_rcBoundingBox.left ) ); } + //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTSlider::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -4866,8 +4272,11 @@ bool CDXUTSlider::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTSlider::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTSlider::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -4957,7 +4366,7 @@ bool CDXUTSlider::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam //-------------------------------------------------------------------------------------- -void CDXUTSlider::SetRange( int nMin, int nMax ) +void CDXUTSlider::SetRange( _In_ int nMin, _In_ int nMax ) { m_nMin = nMin; m_nMax = nMax; @@ -4967,11 +4376,11 @@ void CDXUTSlider::SetRange( int nMin, int nMax ) //-------------------------------------------------------------------------------------- -void CDXUTSlider::SetValueInternal( int nValue, bool bFromInput ) +void CDXUTSlider::SetValueInternal( _In_ int nValue, _In_ bool bFromInput ) { // Clamp to range - nValue = __max( m_nMin, nValue ); - nValue = __min( m_nMax, nValue ); + nValue = std::max( m_nMin, nValue ); + nValue = std::min( m_nMax, nValue ); if( nValue == m_nValue ) return; @@ -4984,7 +4393,7 @@ void CDXUTSlider::SetValueInternal( int nValue, bool bFromInput ) //-------------------------------------------------------------------------------------- -void CDXUTSlider::Render( float fElapsedTime ) +void CDXUTSlider::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -5023,13 +4432,13 @@ void CDXUTSlider::Render( float fElapsedTime ) float fBlendRate = ( iState == DXUT_STATE_PRESSED ) ? 0.0f : 0.8f; - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcBoundingBox, DXUT_FAR_BUTTON_DEPTH ); - pElement = m_Elements.GetAt( 1 ); + pElement = m_Elements[ 1 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); @@ -5037,29 +4446,27 @@ void CDXUTSlider::Render( float fElapsedTime ) } -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTScrollBar class -//-------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------- -CDXUTScrollBar::CDXUTScrollBar( CDXUTDialog* pDialog ) +//====================================================================================== + +CDXUTScrollBar::CDXUTScrollBar( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_bShowThumb(true), + m_bDrag(false), + m_rcUpButton{}, + m_rcDownButton{}, + m_rcTrack{}, + m_rcThumb{}, + m_nPosition(0), + m_nPageSize(1), + m_nStart(0), + m_nEnd(1), + m_LastMouse{ 0, 0 }, + m_Arrow(CLEAR), + m_dArrowTS(0.0) { m_Type = DXUT_CONTROL_SCROLLBAR; m_pDialog = pDialog; - - m_bShowThumb = true; - m_bDrag = false; - - SetRect( &m_rcUpButton, 0, 0, 0, 0 ); - SetRect( &m_rcDownButton, 0, 0, 0, 0 ); - SetRect( &m_rcTrack, 0, 0, 0, 0 ); - SetRect( &m_rcThumb, 0, 0, 0, 0 ); - m_nPosition = 0; - m_nPageSize = 1; - m_nStart = 0; - m_nEnd = 1; - m_Arrow = CLEAR; - m_dArrowTS = 0.0; } @@ -5095,7 +4502,7 @@ void CDXUTScrollBar::UpdateThumbRect() { if( m_nEnd - m_nStart > m_nPageSize ) { - int nThumbHeight = __max( RectHeight( m_rcTrack ) * m_nPageSize / ( m_nEnd - m_nStart ), + int nThumbHeight = std::max( RectHeight( m_rcTrack ) * m_nPageSize / ( m_nEnd - m_nStart ), SCROLLBAR_MINTHUMBSIZE ); int nMaxPosition = m_nEnd - m_nStart - m_nPageSize; m_rcThumb.top = m_rcTrack.top + ( m_nPosition - m_nStart ) * ( RectHeight( m_rcTrack ) - nThumbHeight ) @@ -5116,7 +4523,7 @@ void CDXUTScrollBar::UpdateThumbRect() //-------------------------------------------------------------------------------------- // Scroll() scrolls by nDelta items. A positive value scrolls down, while a negative // value scrolls up. -void CDXUTScrollBar::Scroll( int nDelta ) +void CDXUTScrollBar::Scroll( _In_ int nDelta ) { // Perform scroll m_nPosition += nDelta; @@ -5130,7 +4537,7 @@ void CDXUTScrollBar::Scroll( int nDelta ) //-------------------------------------------------------------------------------------- -void CDXUTScrollBar::ShowItem( int nIndex ) +void CDXUTScrollBar::ShowItem( _In_ int nIndex ) { // Cap the index @@ -5152,15 +4559,23 @@ void CDXUTScrollBar::ShowItem( int nIndex ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTScrollBar::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(uMsg); + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); return false; } //-------------------------------------------------------------------------------------- -bool CDXUTScrollBar::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTScrollBar::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + static int ThumbOffsetY; m_LastMouse = pt; @@ -5270,8 +4685,11 @@ bool CDXUTScrollBar::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPa //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTScrollBar::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + if( WM_CAPTURECHANGED == uMsg ) { // The application just lost mouse capture. We may not have gotten @@ -5285,7 +4703,7 @@ bool CDXUTScrollBar::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -void CDXUTScrollBar::Render( float fElapsedTime ) +void CDXUTScrollBar::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -5355,28 +4773,28 @@ void CDXUTScrollBar::Render( float fElapsedTime ) float fBlendRate = ( iState == DXUT_STATE_PRESSED ) ? 0.0f : 0.8f; // Background track layer - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcTrack, DXUT_FAR_BUTTON_DEPTH ); // Up Arrow - pElement = m_Elements.GetAt( 1 ); + pElement = m_Elements[ 1 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcUpButton, DXUT_NEAR_BUTTON_DEPTH ); // Down Arrow - pElement = m_Elements.GetAt( 2 ); + pElement = m_Elements[ 2 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); m_pDialog->DrawSprite( pElement, &m_rcDownButton, DXUT_NEAR_BUTTON_DEPTH ); // Thumb button - pElement = m_Elements.GetAt( 3 ); + pElement = m_Elements[ 3 ]; // Blend current color pElement->TextureColor.Blend( iState, fElapsedTime, fBlendRate ); @@ -5386,7 +4804,7 @@ void CDXUTScrollBar::Render( float fElapsedTime ) //-------------------------------------------------------------------------------------- -void CDXUTScrollBar::SetTrackRange( int nStart, int nEnd ) +void CDXUTScrollBar::SetTrackRange( _In_ int nStart, _In_ int nEnd ) { m_nStart = nStart; m_nEnd = nEnd; Cap(); @@ -5406,24 +4824,26 @@ void CDXUTScrollBar::Cap() // Clips position at boundaries. Ensures it stays wi m_nPosition = m_nEnd - m_nPageSize + 1; } -//-------------------------------------------------------------------------------------- -// CDXUTListBox class -//-------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------- -CDXUTListBox::CDXUTListBox( CDXUTDialog* pDialog ) : m_ScrollBar( pDialog ) +//====================================================================================== +// CDXUTListBox class +//====================================================================================== + +CDXUTListBox::CDXUTListBox( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_rcText{}, + m_rcSelection{}, + m_ScrollBar(pDialog), + m_nSBWidth(16), + m_nBorder(6), + m_nMargin(5), + m_nTextHeight(0), + m_dwStyle(0), + m_nSelected(-1), + m_nSelStart(0), + m_bDrag(false) { m_Type = DXUT_CONTROL_LISTBOX; m_pDialog = pDialog; - - m_dwStyle = 0; - m_nSBWidth = 16; - m_nSelected = -1; - m_nSelStart = 0; - m_bDrag = false; - m_nBorder = 6; - m_nMargin = 5; - m_nTextHeight = 0; } @@ -5448,7 +4868,7 @@ void CDXUTListBox::UpdateRects() // Update the scrollbar's rects m_ScrollBar.SetLocation( m_rcBoundingBox.right - m_nSBWidth, m_rcBoundingBox.top ); m_ScrollBar.SetSize( m_nSBWidth, m_height ); - DXUTFontNode* pFontNode = m_pDialog->GetManager()->GetFontNode( m_Elements.GetAt( 0 )->iFont ); + auto pFontNode = m_pDialog->GetManager()->GetFontNode( m_Elements[ 0 ]->iFont ); if( pFontNode && pFontNode->nHeight ) { m_ScrollBar.SetPageSize( RectHeight( m_rcText ) / pFontNode->nHeight ); @@ -5461,9 +4881,10 @@ void CDXUTListBox::UpdateRects() //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTListBox::AddItem( const WCHAR* wszText, void* pData ) { - DXUTListBoxItem* pNewItem = new DXUTListBoxItem; + auto pNewItem = new (std::nothrow) DXUTListBoxItem; if( !pNewItem ) return E_OUTOFMEMORY; @@ -5472,24 +4893,18 @@ HRESULT CDXUTListBox::AddItem( const WCHAR* wszText, void* pData ) SetRect( &pNewItem->rcActive, 0, 0, 0, 0 ); pNewItem->bSelected = false; - HRESULT hr = m_Items.Add( pNewItem ); - if( FAILED( hr ) ) - { - SAFE_DELETE( pNewItem ); - } - else - { - m_ScrollBar.SetTrackRange( 0, m_Items.GetSize() ); - } + m_Items.push_back( pNewItem ); + m_ScrollBar.SetTrackRange( 0, (int)m_Items.size() ); - return hr; + return S_OK; } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTListBox::InsertItem( int nIndex, const WCHAR* wszText, void* pData ) { - DXUTListBoxItem* pNewItem = new DXUTListBoxItem; + auto pNewItem = new (std::nothrow) DXUTListBoxItem; if( !pNewItem ) return E_OUTOFMEMORY; @@ -5498,56 +4913,50 @@ HRESULT CDXUTListBox::InsertItem( int nIndex, const WCHAR* wszText, void* pData SetRect( &pNewItem->rcActive, 0, 0, 0, 0 ); pNewItem->bSelected = false; - HRESULT hr = m_Items.Insert( nIndex, pNewItem ); - if( SUCCEEDED( hr ) ) - m_ScrollBar.SetTrackRange( 0, m_Items.GetSize() ); - else - SAFE_DELETE( pNewItem ); + m_Items[ nIndex ] = pNewItem; + m_ScrollBar.SetTrackRange( 0, (int)m_Items.size() ); - return hr; + return S_OK; } //-------------------------------------------------------------------------------------- -void CDXUTListBox::RemoveItem( int nIndex ) +void CDXUTListBox::RemoveItem( _In_ int nIndex ) { - if( nIndex < 0 || nIndex >= ( int )m_Items.GetSize() ) + if( nIndex < 0 || nIndex >= ( int )m_Items.size() ) return; - DXUTListBoxItem* pItem = m_Items.GetAt( nIndex ); - + auto it = m_Items.begin() + nIndex; + auto pItem = *it; delete pItem; - m_Items.Remove( nIndex ); - m_ScrollBar.SetTrackRange( 0, m_Items.GetSize() ); - if( m_nSelected >= ( int )m_Items.GetSize() ) - m_nSelected = m_Items.GetSize() - 1; + m_Items.erase(it); + m_ScrollBar.SetTrackRange( 0, (int)m_Items.size() ); + if( m_nSelected >= ( int )m_Items.size() ) + m_nSelected = int( m_Items.size() ) - 1; m_pDialog->SendEvent( EVENT_LISTBOX_SELECTION, true, this ); } - - - //-------------------------------------------------------------------------------------- void CDXUTListBox::RemoveAllItems() { - for( int i = 0; i < m_Items.GetSize(); ++i ) + for( auto it = m_Items.begin(); it != m_Items.end(); ++it ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = *it; delete pItem; } - m_Items.RemoveAll(); + m_Items.clear(); m_ScrollBar.SetTrackRange( 0, 1 ); } //-------------------------------------------------------------------------------------- -DXUTListBoxItem* CDXUTListBox::GetItem( int nIndex ) +DXUTListBoxItem* CDXUTListBox::GetItem( _In_ int nIndex ) const { - if( nIndex < 0 || nIndex >= ( int )m_Items.GetSize() ) - return NULL; + if( nIndex < 0 || nIndex >= ( int )m_Items.size() ) + return nullptr; return m_Items[nIndex]; } @@ -5560,7 +4969,7 @@ DXUTListBoxItem* CDXUTListBox::GetItem( int nIndex ) // subsequent searches, the app passes the returned index back to GetSelectedIndex as. // nPreviousSelected. // Returns -1 on error or if no item is selected. -int CDXUTListBox::GetSelectedIndex( int nPreviousSelected ) +int CDXUTListBox::GetSelectedIndex( _In_ int nPreviousSelected ) const { if( nPreviousSelected < -1 ) return -1; @@ -5568,9 +4977,9 @@ int CDXUTListBox::GetSelectedIndex( int nPreviousSelected ) if( m_dwStyle & MULTISELECTION ) { // Multiple selection enabled. Search for the next item with the selected flag. - for( int i = nPreviousSelected + 1; i < ( int )m_Items.GetSize(); ++i ) + for( int i = nPreviousSelected + 1; i < ( int )m_Items.size(); ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; if( pItem->bSelected ) return i; @@ -5587,10 +4996,10 @@ int CDXUTListBox::GetSelectedIndex( int nPreviousSelected ) //-------------------------------------------------------------------------------------- -void CDXUTListBox::SelectItem( int nNewIndex ) +void CDXUTListBox::SelectItem( _In_ int nNewIndex ) { // If no item exists, do nothing. - if( m_Items.GetSize() == 0 ) + if( m_Items.size() == 0 ) return; int nOldSelected = m_nSelected; @@ -5601,8 +5010,8 @@ void CDXUTListBox::SelectItem( int nNewIndex ) // Perform capping if( m_nSelected < 0 ) m_nSelected = 0; - if( m_nSelected >= ( int )m_Items.GetSize() ) - m_nSelected = m_Items.GetSize() - 1; + if( m_nSelected >= ( int )m_Items.size() ) + m_nSelected = int( m_Items.size() ) - 1; if( nOldSelected != m_nSelected ) { @@ -5623,6 +5032,7 @@ void CDXUTListBox::SelectItem( int nNewIndex ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { if( !m_bEnabled || !m_bVisible ) @@ -5645,7 +5055,7 @@ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) case VK_END: { // If no item exists, do nothing. - if( m_Items.GetSize() == 0 ) + if( m_Items.size() == 0 ) return true; int nOldSelected = m_nSelected; @@ -5664,14 +5074,14 @@ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) case VK_HOME: m_nSelected = 0; break; case VK_END: - m_nSelected = m_Items.GetSize() - 1; break; + m_nSelected = int( m_Items.size() ) - 1; break; } // Perform capping if( m_nSelected < 0 ) m_nSelected = 0; - if( m_nSelected >= ( int )m_Items.GetSize() ) - m_nSelected = m_Items.GetSize() - 1; + if( m_nSelected >= ( int )m_Items.size() ) + m_nSelected = int( m_Items.size() ) - 1; if( nOldSelected != m_nSelected ) { @@ -5680,9 +5090,9 @@ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) // Multiple selection // Clear all selection - for( int i = 0; i < ( int )m_Items.GetSize(); ++i ) + for( int i = 0; i < ( int )m_Items.size(); ++i ) { - DXUTListBoxItem* pItem = m_Items[i]; + auto pItem = m_Items[i]; pItem->bSelected = false; } @@ -5690,9 +5100,9 @@ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { // Select all items from m_nSelStart to // m_nSelected - int nEnd = __max( m_nSelStart, m_nSelected ); + int nEnd = std::max( m_nSelStart, m_nSelected ); - for( int n = __min( m_nSelStart, m_nSelected ); n <= nEnd; ++n ) + for( int n = std::min( m_nSelStart, m_nSelected ); n <= nEnd; ++n ) m_Items[n]->bSelected = true; } else @@ -5731,7 +5141,8 @@ bool CDXUTListBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTListBox::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { if( !m_bEnabled || !m_bVisible ) return false; @@ -5750,7 +5161,7 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara case WM_LBUTTONDOWN: case WM_LBUTTONDBLCLK: // Check for clicks in the text area - if( m_Items.GetSize() > 0 && PtInRect( &m_rcSelection, pt ) ) + if( !m_Items.empty() && PtInRect( &m_rcSelection, pt ) ) { // Compute the index of the clicked item @@ -5763,7 +5174,7 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // Only proceed if the click falls on top of an item. if( nClicked >= m_ScrollBar.GetTrackPos() && - nClicked < ( int )m_Items.GetSize() && + nClicked < ( int )m_Items.size() && nClicked < m_ScrollBar.GetTrackPos() + m_ScrollBar.GetPageSize() ) { SetCapture( DXUTGetHWND() ); @@ -5789,7 +5200,7 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara { // Determine behavior based on the state of Shift and Ctrl - DXUTListBoxItem* pSelItem = m_Items.GetAt( m_nSelected ); + auto pSelItem = m_Items[ m_nSelected ]; if( ( wParam & ( MK_SHIFT | MK_CONTROL ) ) == MK_CONTROL ) { // Control click. Reverse the selection of this item. @@ -5802,24 +5213,24 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // from last selected item to the current item. // Clear everything else. - int nBegin = __min( m_nSelStart, m_nSelected ); - int nEnd = __max( m_nSelStart, m_nSelected ); + int nBegin = std::min( m_nSelStart, m_nSelected ); + int nEnd = std::max( m_nSelStart, m_nSelected ); for( int i = 0; i < nBegin; ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; pItem->bSelected = false; } - for( int i = nEnd + 1; i < ( int )m_Items.GetSize(); ++i ) + for( int i = nEnd + 1; i < ( int )m_Items.size(); ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; pItem->bSelected = false; } for( int i = nBegin; i <= nEnd; ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; pItem->bSelected = true; } } @@ -5832,15 +5243,15 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // the same state as m_nSelStart, not including m_nSelected. // Set m_nSelected to selected. - int nBegin = __min( m_nSelStart, m_nSelected ); - int nEnd = __max( m_nSelStart, m_nSelected ); + int nBegin = std::min( m_nSelStart, m_nSelected ); + int nEnd = std::max( m_nSelStart, m_nSelected ); // The two ends do not need to be set here. - bool bLastSelected = m_Items.GetAt( m_nSelStart )->bSelected; + bool bLastSelected = m_Items[ m_nSelStart ]->bSelected; for( int i = nBegin + 1; i < nEnd; ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; pItem->bSelected = bLastSelected; } @@ -5857,9 +5268,9 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // item. - for( int i = 0; i < ( int )m_Items.GetSize(); ++i ) + for( int i = 0; i < ( int )m_Items.size(); ++i ) { - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; pItem->bSelected = false; } @@ -5883,9 +5294,9 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara { // Set all items between m_nSelStart and m_nSelected to // the same state as m_nSelStart - int nEnd = __max( m_nSelStart, m_nSelected ); + int nEnd = std::max( m_nSelStart, m_nSelected ); - for( int n = __min( m_nSelStart, m_nSelected ) + 1; n < nEnd; ++n ) + for( int n = std::min( m_nSelStart, m_nSelected ) + 1; n < nEnd; ++n ) m_Items[n]->bSelected = m_Items[m_nSelStart]->bSelected; m_Items[m_nSelected]->bSelected = m_Items[m_nSelStart]->bSelected; @@ -5914,7 +5325,7 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // Only proceed if the cursor is on top of an item. if( nItem >= ( int )m_ScrollBar.GetTrackPos() && - nItem < ( int )m_Items.GetSize() && + nItem < ( int )m_Items.size() && nItem < m_ScrollBar.GetTrackPos() + m_ScrollBar.GetPageSize() ) { m_nSelected = nItem; @@ -5931,7 +5342,7 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara { // User drags the mouse below window bottom m_ScrollBar.Scroll( 1 ); - m_nSelected = __min( ( int )m_Items.GetSize(), m_ScrollBar.GetTrackPos() + + m_nSelected = std::min( ( int )m_Items.size(), m_ScrollBar.GetTrackPos() + m_ScrollBar.GetPageSize() ) - 1; m_pDialog->SendEvent( EVENT_LISTBOX_SELECTION, true, this ); } @@ -5940,8 +5351,9 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara case WM_MOUSEWHEEL: { - UINT uLines; - SystemParametersInfo( SPI_GETWHEELSCROLLLINES, 0, &uLines, 0 ); + UINT uLines = 0; + if ( !SystemParametersInfo( SPI_GETWHEELSCROLLLINES, 0, &uLines, 0 ) ) + uLines = 0; int nScrollAmount = int( ( short )HIWORD( wParam ) ) / WHEEL_DELTA * uLines; m_ScrollBar.Scroll( -nScrollAmount ); return true; @@ -5953,8 +5365,11 @@ bool CDXUTListBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTListBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + if( WM_CAPTURECHANGED == uMsg ) { // The application just lost mouse capture. We may not have gotten @@ -5968,23 +5383,23 @@ bool CDXUTListBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -void CDXUTListBox::Render( float fElapsedTime ) +void CDXUTListBox::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; - CDXUTElement* pElement = m_Elements.GetAt( 0 ); + auto pElement = m_Elements[ 0 ]; pElement->TextureColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); pElement->FontColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); - CDXUTElement* pSelElement = m_Elements.GetAt( 1 ); + auto pSelElement = m_Elements[ 1 ]; pSelElement->TextureColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); pSelElement->FontColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); m_pDialog->DrawSprite( pElement, &m_rcBoundingBox, DXUT_FAR_BUTTON_DEPTH ); // Render the text - if( m_Items.GetSize() > 0 ) + if( !m_Items.empty() ) { // Find out the height of a single line of text RECT rc = m_rcText; @@ -6006,12 +5421,12 @@ void CDXUTListBox::Render( float fElapsedTime ) } rc.right = m_rcText.right; - for( int i = m_ScrollBar.GetTrackPos(); i < ( int )m_Items.GetSize(); ++i ) + for( int i = m_ScrollBar.GetTrackPos(); i < ( int )m_Items.size(); ++i ) { if( rc.bottom > m_rcText.bottom ) break; - DXUTListBoxItem* pItem = m_Items.GetAt( i ); + auto pItem = m_Items[ i ]; // Determine if we need to render this item with the // selected element. @@ -6048,54 +5463,41 @@ void CDXUTListBox::Render( float fElapsedTime ) } -// Static member initialization -HINSTANCE CUniBuffer::s_hDll = NULL; -HRESULT ( WINAPI*CUniBuffer::_ScriptApplyDigitSubstitution )( const SCRIPT_DIGITSUBSTITUTE*, SCRIPT_CONTROL*, - SCRIPT_STATE* ) = Dummy_ScriptApplyDigitSubstitution; -HRESULT ( WINAPI*CUniBuffer::_ScriptStringAnalyse )( HDC, const void*, int, int, int, DWORD, int, SCRIPT_CONTROL*, - SCRIPT_STATE*, const int*, SCRIPT_TABDEF*, const BYTE*, - SCRIPT_STRING_ANALYSIS* ) = Dummy_ScriptStringAnalyse; -HRESULT ( WINAPI*CUniBuffer::_ScriptStringCPtoX )( SCRIPT_STRING_ANALYSIS, int, BOOL, int* ) = Dummy_ScriptStringCPtoX; -HRESULT ( WINAPI*CUniBuffer::_ScriptStringXtoCP )( SCRIPT_STRING_ANALYSIS, int, int*, int* ) = Dummy_ScriptStringXtoCP; -HRESULT ( WINAPI*CUniBuffer::_ScriptStringFree )( SCRIPT_STRING_ANALYSIS* ) = Dummy_ScriptStringFree; -const SCRIPT_LOGATTR* ( WINAPI*CUniBuffer::_ScriptString_pLogAttr )( SCRIPT_STRING_ANALYSIS ) = - Dummy_ScriptString_pLogAttr; -const int* ( WINAPI*CUniBuffer::_ScriptString_pcOutChars )( SCRIPT_STRING_ANALYSIS ) = - Dummy_ScriptString_pcOutChars; -bool CDXUTEditBox::s_bHideCaret; // If true, we don't render the caret. - - - -//-------------------------------------------------------------------------------------- +//====================================================================================== // CDXUTEditBox class -//-------------------------------------------------------------------------------------- +//====================================================================================== + +// Static member initialization +bool CDXUTEditBox::s_bHideCaret; // If true, we don't render the caret. // When scrolling, EDITBOX_SCROLLEXTENT is reciprocal of the amount to scroll. // If EDITBOX_SCROLLEXTENT = 4, then we scroll 1/4 of the control each time. #define EDITBOX_SCROLLEXTENT 4 //-------------------------------------------------------------------------------------- -CDXUTEditBox::CDXUTEditBox( CDXUTDialog* pDialog ) +CDXUTEditBox::CDXUTEditBox( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_nBorder(5), + m_nSpacing(4), + m_rcText{}, + m_rcRender{}, + m_bCaretOn(true), + m_nCaret(0), + m_bInsertMode(true), + m_nSelStart(0), + m_nFirstVisible(0), + m_bMouseDrag(false) { m_Type = DXUT_CONTROL_EDITBOX; m_pDialog = pDialog; - m_nBorder = 5; // Default border width - m_nSpacing = 4; // Default spacing - - m_bCaretOn = true; - m_dfBlink = GetCaretBlinkTime() * 0.001f; + m_dfBlink = double(GetCaretBlinkTime()) * 0.001; m_dfLastBlink = DXUTGetGlobalTimer()->GetAbsoluteTime(); s_bHideCaret = false; - m_nFirstVisible = 0; + m_TextColor = D3DCOLOR_ARGB( 255, 16, 16, 16 ); m_SelTextColor = D3DCOLOR_ARGB( 255, 255, 255, 255 ); m_SelBkColor = D3DCOLOR_ARGB( 255, 40, 50, 92 ); m_CaretColor = D3DCOLOR_ARGB( 255, 0, 0, 0 ); - m_nCaret = m_nSelStart = 0; - m_bInsertMode = true; - - m_bMouseDrag = false; } @@ -6109,7 +5511,7 @@ CDXUTEditBox::~CDXUTEditBox() // PlaceCaret: Set the caret to a character position, and adjust the scrolling if // necessary. //-------------------------------------------------------------------------------------- -void CDXUTEditBox::PlaceCaret( int nCP ) +void CDXUTEditBox::PlaceCaret( _In_ int nCP ) { assert( nCP >= 0 && nCP <= m_Buffer.GetTextSize() ); m_nCaret = nCP; @@ -6118,7 +5520,7 @@ void CDXUTEditBox::PlaceCaret( int nCP ) int nX1st, nX, nX2; m_Buffer.CPtoX( m_nFirstVisible, FALSE, &nX1st ); // 1st visible char m_Buffer.CPtoX( nCP, FALSE, &nX ); // LEAD - // If nCP is the NULL terminator, get the leading edge instead of trailing. + // If nCP is the nul terminator, get the leading edge instead of trailing. if( nCP == m_Buffer.GetTextSize() ) nX2 = nX; else @@ -6166,9 +5568,9 @@ void CDXUTEditBox::ClearText() //-------------------------------------------------------------------------------------- -void CDXUTEditBox::SetText( LPCWSTR wszText, bool bSelected ) +void CDXUTEditBox::SetText( _In_z_ LPCWSTR wszText, _In_ bool bSelected ) { - assert( wszText != NULL ); + assert( wszText ); m_Buffer.SetText( wszText ); m_nFirstVisible = 0; @@ -6179,8 +5581,8 @@ void CDXUTEditBox::SetText( LPCWSTR wszText, bool bSelected ) //-------------------------------------------------------------------------------------- -HRESULT CDXUTEditBox::GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, - UINT bufferCount ) +_Use_decl_annotations_ +HRESULT CDXUTEditBox::GetTextCopy( LPWSTR strDest, UINT bufferCount ) const { assert( strDest ); @@ -6193,8 +5595,8 @@ HRESULT CDXUTEditBox::GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, //-------------------------------------------------------------------------------------- void CDXUTEditBox::DeleteSelectionText() { - int nFirst = __min( m_nCaret, m_nSelStart ); - int nLast = __max( m_nCaret, m_nSelStart ); + int nFirst = std::min( m_nCaret, m_nSelStart ); + int nLast = std::max( m_nCaret, m_nSelStart ); // Update caret and selection PlaceCaret( nFirst ); m_nSelStart = m_nCaret; @@ -6230,23 +5632,27 @@ void CDXUTEditBox::UpdateRects() } +#pragma warning(push) +#pragma warning( disable : 4616 6386 ) void CDXUTEditBox::CopyToClipboard() { // Copy the selection text to the clipboard - if( m_nCaret != m_nSelStart && OpenClipboard( NULL ) ) + if( m_nCaret != m_nSelStart && OpenClipboard( nullptr ) ) { EmptyClipboard(); HGLOBAL hBlock = GlobalAlloc( GMEM_MOVEABLE, sizeof( WCHAR ) * ( m_Buffer.GetTextSize() + 1 ) ); if( hBlock ) { - WCHAR* pwszText = ( WCHAR* )GlobalLock( hBlock ); + auto pwszText = reinterpret_cast( GlobalLock( hBlock ) ); if( pwszText ) { - int nFirst = __min( m_nCaret, m_nSelStart ); - int nLast = __max( m_nCaret, m_nSelStart ); + int nFirst = std::min( m_nCaret, m_nSelStart ); + int nLast = std::max( m_nCaret, m_nSelStart ); if( nLast - nFirst > 0 ) - CopyMemory( pwszText, m_Buffer.GetBuffer() + nFirst, ( nLast - nFirst ) * sizeof( WCHAR ) ); + { + memcpy( pwszText, m_Buffer.GetBuffer() + nFirst, ( nLast - nFirst ) * sizeof( WCHAR ) ); + } pwszText[nLast - nFirst] = L'\0'; // Terminate it GlobalUnlock( hBlock ); } @@ -6264,19 +5670,19 @@ void CDXUTEditBox::PasteFromClipboard() { DeleteSelectionText(); - if( OpenClipboard( NULL ) ) + if( OpenClipboard( nullptr ) ) { HANDLE handle = GetClipboardData( CF_UNICODETEXT ); if( handle ) { // Convert the ANSI string to Unicode, then // insert to our buffer. - WCHAR* pwszText = ( WCHAR* )GlobalLock( handle ); + auto pwszText = reinterpret_cast( GlobalLock( handle ) ); if( pwszText ) { // Copy all characters up to null. if( m_Buffer.InsertString( m_nCaret, pwszText ) ) - PlaceCaret( m_nCaret + lstrlenW( pwszText ) ); + PlaceCaret( m_nCaret + (int)wcslen( pwszText ) ); m_nSelStart = m_nCaret; GlobalUnlock( handle ); } @@ -6284,11 +5690,15 @@ void CDXUTEditBox::PasteFromClipboard() CloseClipboard(); } } +#pragma warning(pop) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTEditBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -6413,8 +5823,12 @@ bool CDXUTEditBox::HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -bool CDXUTEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTEditBox::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -6434,9 +5848,9 @@ bool CDXUTEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // Determine the character corresponding to the coordinates. int nCP, nTrail, nX1st; m_Buffer.CPtoX( m_nFirstVisible, FALSE, &nX1st ); // X offset of the 1st visible char - if( SUCCEEDED( m_Buffer.XtoCP( pt.x - m_rcText.left + nX1st, &nCP, &nTrail ) ) ) + if( m_Buffer.XtoCP( pt.x - m_rcText.left + nX1st, &nCP, &nTrail ) ) { - // Cap at the NULL character. + // Cap at the nul character. if( nTrail && nCP < m_Buffer.GetTextSize() ) PlaceCaret( nCP + 1 ); else @@ -6458,9 +5872,9 @@ bool CDXUTEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lPara // Determine the character corresponding to the coordinates. int nCP, nTrail, nX1st; m_Buffer.CPtoX( m_nFirstVisible, FALSE, &nX1st ); // X offset of the 1st visible char - if( SUCCEEDED( m_Buffer.XtoCP( pt.x - m_rcText.left + nX1st, &nCP, &nTrail ) ) ) + if( m_Buffer.XtoCP( pt.x - m_rcText.left + nX1st, &nCP, &nTrail ) ) { - // Cap at the NULL character. + // Cap at the nul character. if( nTrail && nCP < m_Buffer.GetTextSize() ) PlaceCaret( nCP + 1 ); else @@ -6484,8 +5898,11 @@ void CDXUTEditBox::OnFocusIn() //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTEditBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(lParam); + if( !m_bEnabled || !m_bVisible ) return false; @@ -6624,15 +6041,14 @@ bool CDXUTEditBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -void CDXUTEditBox::Render( float fElapsedTime ) +void CDXUTEditBox::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; - HRESULT hr; int nSelStartX = 0, nCaretX = 0; // Left and right X cordinates of the selection region - CDXUTElement* pElement = GetElement( 0 ); + auto pElement = GetElement( 0 ); if( pElement ) { m_Buffer.SetFontNode( m_pDialog->GetFont( pElement->iFont ) ); @@ -6643,7 +6059,7 @@ void CDXUTEditBox::Render( float fElapsedTime ) // Render the control graphics for( int e = 0; e < 9; ++e ) { - pElement = m_Elements.GetAt( e ); + pElement = m_Elements[ e ]; pElement->TextureColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); m_pDialog->DrawSprite( pElement, &m_rcRender[e], DXUT_FAR_BUTTON_DEPTH ); @@ -6658,9 +6074,9 @@ void CDXUTEditBox::Render( float fElapsedTime ) // // Compute the X coordinates of the selection rectangle // - hr = m_Buffer.CPtoX( m_nCaret, FALSE, &nCaretX ); + m_Buffer.CPtoX( m_nCaret, FALSE, &nCaretX ); if( m_nCaret != m_nSelStart ) - hr = m_Buffer.CPtoX( m_nSelStart, FALSE, &nSelStartX ); + m_Buffer.CPtoX( m_nSelStart, FALSE, &nSelStartX ); else nSelStartX = nCaretX; @@ -6681,29 +6097,23 @@ void CDXUTEditBox::Render( float fElapsedTime ) OffsetRect( &rcSelection, m_rcText.left - nXFirst, 0 ); IntersectRect( &rcSelection, &m_rcText, &rcSelection ); - IDirect3DDevice9* pd3dDevice = m_pDialog->GetManager()->GetD3D9Device(); - if( pd3dDevice ) - pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE ); m_pDialog->DrawRect( &rcSelection, m_SelBkColor ); - if( pd3dDevice ) - pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE ); } // // Render the text // // Element 0 for text - m_Elements.GetAt( 0 )->FontColor.Current = m_TextColor; - m_pDialog->DrawText( m_Buffer.GetBuffer() + m_nFirstVisible, m_Elements.GetAt( 0 ), &m_rcText ); + m_Elements[ 0 ]->FontColor.SetCurrent( m_TextColor ); + m_pDialog->DrawText( m_Buffer.GetBuffer() + m_nFirstVisible, m_Elements[ 0 ], &m_rcText ); // Render the selected text if( m_nCaret != m_nSelStart ) { - int nFirstToRender = __max( m_nFirstVisible, __min( m_nSelStart, m_nCaret ) ); - int nNumChatToRender = __max( m_nSelStart, m_nCaret ) - nFirstToRender; - m_Elements.GetAt( 0 )->FontColor.Current = m_SelTextColor; + int nFirstToRender = std::max( m_nFirstVisible, std::min( m_nSelStart, m_nCaret ) ); + m_Elements[ 0 ]->FontColor.SetCurrent( m_SelTextColor ); m_pDialog->DrawText( m_Buffer.GetBuffer() + nFirstToRender, - m_Elements.GetAt( 0 ), &rcSelection, false, nNumChatToRender ); + m_Elements[ 0 ], &rcSelection, false ); } // @@ -6745,6 +6155,7 @@ void CDXUTEditBox::Render( float fElapsedTime ) #define IN_FLOAT_CHARSET( c ) \ ( (c) == L'-' || (c) == L'.' || ( (c) >= L'0' && (c) <= L'9' ) ) +_Use_decl_annotations_ void CDXUTEditBox::ParseFloatArray( float* pNumbers, int nCount ) { int nWritten = 0; // Number of floats written @@ -6767,9 +6178,9 @@ void CDXUTEditBox::ParseFloatArray( float* pNumbers, int nCount ) ++pEnd; // Copy the token to our buffer - int nTokenLen = __min( sizeof( wszToken ) / sizeof( wszToken[0] ) - 1, int( pEnd - pToken ) ); + int nTokenLen = std::min( sizeof( wszToken ) / sizeof( wszToken[0] ) - 1, int( pEnd - pToken ) ); wcscpy_s( wszToken, nTokenLen, pToken ); - *pNumbers = ( float )wcstod( wszToken, NULL ); + *pNumbers = ( float )wcstod( wszToken, nullptr ); ++nWritten; ++pNumbers; pToken = pEnd; @@ -6777,6 +6188,8 @@ void CDXUTEditBox::ParseFloatArray( float* pNumbers, int nCount ) } +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTEditBox::SetTextFloatArray( const float* pNumbers, int nCount ) { WCHAR wszBuffer[512] = @@ -6785,7 +6198,7 @@ void CDXUTEditBox::SetTextFloatArray( const float* pNumbers, int nCount ) }; WCHAR wszTmp[64]; - if( pNumbers == NULL ) + if( !pNumbers ) return; for( int i = 0; i < nCount; ++i ) @@ -6802,54 +6215,24 @@ void CDXUTEditBox::SetTextFloatArray( const float* pNumbers, int nCount ) } - - //-------------------------------------------------------------------------------------- -void CUniBuffer::Initialize() +void CDXUTEditBox::ResetCaretBlink() { - if( s_hDll ) // Only need to do once - return; - - s_hDll = LoadLibrary( UNISCRIBE_DLLNAME ); - if( s_hDll ) - { - FARPROC Temp; - GETPROCADDRESS( s_hDll, ScriptApplyDigitSubstitution, Temp ); - GETPROCADDRESS( s_hDll, ScriptStringAnalyse, Temp ); - GETPROCADDRESS( s_hDll, ScriptStringCPtoX, Temp ); - GETPROCADDRESS( s_hDll, ScriptStringXtoCP, Temp ); - GETPROCADDRESS( s_hDll, ScriptStringFree, Temp ); - GETPROCADDRESS( s_hDll, ScriptString_pLogAttr, Temp ); - GETPROCADDRESS( s_hDll, ScriptString_pcOutChars, Temp ); - } + m_bCaretOn = true; + m_dfLastBlink = DXUTGetGlobalTimer()->GetAbsoluteTime(); } -//-------------------------------------------------------------------------------------- -void CUniBuffer::Uninitialize() -{ - if( s_hDll ) - { - PLACEHOLDERPROC( ScriptApplyDigitSubstitution ); - PLACEHOLDERPROC( ScriptStringAnalyse ); - PLACEHOLDERPROC( ScriptStringCPtoX ); - PLACEHOLDERPROC( ScriptStringXtoCP ); - PLACEHOLDERPROC( ScriptStringFree ); - PLACEHOLDERPROC( ScriptString_pLogAttr ); - PLACEHOLDERPROC( ScriptString_pcOutChars ); - - FreeLibrary( s_hDll ); - s_hDll = NULL; - } -} - +//====================================================================================== +// CUniBuffer +//====================================================================================== //-------------------------------------------------------------------------------------- -bool CUniBuffer::SetBufferSize( int nNewSize ) +bool CUniBuffer::SetBufferSize( _In_ int nNewSize ) { // If the current size is already the maximum allowed, // we can't possibly allocate more. - if( m_nBufferSize == DXUT_MAX_EDITBOXLENGTH ) + if( m_nBufferSize >= DXUT_MAX_EDITBOXLENGTH ) return false; int nAllocateSize = ( nNewSize == -1 || nNewSize < m_nBufferSize * 2 ) ? ( m_nBufferSize ? m_nBufferSize * @@ -6859,7 +6242,7 @@ bool CUniBuffer::SetBufferSize( int nNewSize ) if( nAllocateSize > DXUT_MAX_EDITBOXLENGTH ) nAllocateSize = DXUT_MAX_EDITBOXLENGTH; - WCHAR* pTempBuffer = new WCHAR[nAllocateSize]; + auto pTempBuffer = new (std::nothrow) WCHAR[nAllocateSize]; if( !pTempBuffer ) return false; @@ -6867,7 +6250,7 @@ bool CUniBuffer::SetBufferSize( int nNewSize ) if( m_pwszBuffer ) { - CopyMemory( pTempBuffer, m_pwszBuffer, m_nBufferSize * sizeof( WCHAR ) ); + memcpy( pTempBuffer, m_pwszBuffer, m_nBufferSize * sizeof( WCHAR ) ); delete[] m_pwszBuffer; } @@ -6883,32 +6266,35 @@ bool CUniBuffer::SetBufferSize( int nNewSize ) HRESULT CUniBuffer::Analyse() { if( m_Analysis ) - _ScriptStringFree( &m_Analysis ); + (void)ScriptStringFree( &m_Analysis ); + + SCRIPT_CONTROL ScriptControl = {}; // For uniscribe + SCRIPT_STATE ScriptState = {}; // For uniscribe - SCRIPT_CONTROL ScriptControl; // For uniscribe - SCRIPT_STATE ScriptState; // For uniscribe - ZeroMemory( &ScriptControl, sizeof( ScriptControl ) ); - ZeroMemory( &ScriptState, sizeof( ScriptState ) ); - _ScriptApplyDigitSubstitution( NULL, &ScriptControl, &ScriptState ); +#pragma warning(push) +#pragma warning(disable : 4616 6309 6387 ) + HRESULT hr = ScriptApplyDigitSubstitution( nullptr, &ScriptControl, &ScriptState ); + if ( FAILED(hr) ) + return hr; +#pragma warning(pop) if( !m_pFontNode ) return E_FAIL; - HDC hDC = - ( m_pFontNode->pFont9 ? m_pFontNode->pFont9->GetDC() : NULL ); - HRESULT hr = _ScriptStringAnalyse( hDC, - m_pwszBuffer, - lstrlenW( m_pwszBuffer ) + 1, // NULL is also analyzed. - lstrlenW( m_pwszBuffer ) * 3 / 2 + 16, - -1, - SSA_BREAK | SSA_GLYPHS | SSA_FALLBACK | SSA_LINK, - 0, - &ScriptControl, - &ScriptState, - NULL, - NULL, - NULL, - &m_Analysis ); + HDC hDC = nullptr; + hr = ScriptStringAnalyse( hDC, + m_pwszBuffer, + (int)wcslen( m_pwszBuffer ) + 1, // nul is also analyzed. + (int)wcslen( m_pwszBuffer ) * 3 / 2 + 16, + -1, + SSA_BREAK | SSA_GLYPHS | SSA_FALLBACK | SSA_LINK, + 0, + &ScriptControl, + &ScriptState, + nullptr, + nullptr, + nullptr, + &m_Analysis ); if( SUCCEEDED( hr ) ) m_bAnalyseRequired = false; // Analysis is up-to-date return hr; @@ -6916,15 +6302,13 @@ HRESULT CUniBuffer::Analyse() //-------------------------------------------------------------------------------------- -CUniBuffer::CUniBuffer( int nInitialSize ) +CUniBuffer::CUniBuffer( _In_ int nInitialSize ) noexcept { - CUniBuffer::Initialize(); // ensure static vars are properly init'ed first - m_nBufferSize = 0; - m_pwszBuffer = NULL; + m_pwszBuffer = nullptr; m_bAnalyseRequired = true; - m_Analysis = NULL; - m_pFontNode = NULL; + m_Analysis = nullptr; + m_pFontNode = nullptr; if( nInitialSize > 0 ) SetBufferSize( nInitialSize ); @@ -6936,12 +6320,12 @@ CUniBuffer::~CUniBuffer() { delete[] m_pwszBuffer; if( m_Analysis ) - _ScriptStringFree( &m_Analysis ); + (void)ScriptStringFree( &m_Analysis ); } //-------------------------------------------------------------------------------------- -WCHAR& CUniBuffer::operator[]( int n ) // No param checking +WCHAR& CUniBuffer::operator[]( _In_ int n ) // No param checking { // This version of operator[] is called only // if we are asking for write access, so @@ -6963,18 +6347,18 @@ void CUniBuffer::Clear() // Inserts the char at specified index. // If nIndex == -1, insert to the end. //-------------------------------------------------------------------------------------- -bool CUniBuffer::InsertChar( int nIndex, WCHAR wChar ) +bool CUniBuffer::InsertChar( _In_ int nIndex, _In_ WCHAR wChar ) { assert( nIndex >= 0 ); - if( nIndex < 0 || nIndex > lstrlenW( m_pwszBuffer ) ) + if( nIndex < 0 || nIndex > (int)wcslen( m_pwszBuffer ) ) return false; // invalid index // Check for maximum length allowed if( GetTextSize() + 1 >= DXUT_MAX_EDITBOXLENGTH ) return false; - if( lstrlenW( m_pwszBuffer ) + 1 >= m_nBufferSize ) + if( (int)wcslen( m_pwszBuffer ) + 1 >= m_nBufferSize ) { if( !SetBufferSize( -1 ) ) return false; // out of memory @@ -6983,7 +6367,7 @@ bool CUniBuffer::InsertChar( int nIndex, WCHAR wChar ) assert( m_nBufferSize >= 2 ); // Shift the characters after the index, start by copying the null terminator - WCHAR* dest = m_pwszBuffer + lstrlenW( m_pwszBuffer ) + 1; + WCHAR* dest = m_pwszBuffer + wcslen( m_pwszBuffer ) + 1; WCHAR* stop = m_pwszBuffer + nIndex; WCHAR* src = dest - 1; @@ -7004,13 +6388,13 @@ bool CUniBuffer::InsertChar( int nIndex, WCHAR wChar ) // Removes the char at specified index. // If nIndex == -1, remove the last char. //-------------------------------------------------------------------------------------- -bool CUniBuffer::RemoveChar( int nIndex ) +bool CUniBuffer::RemoveChar( _In_ int nIndex ) { - if( !lstrlenW( m_pwszBuffer ) || nIndex < 0 || nIndex >= lstrlenW( m_pwszBuffer ) ) + if( !wcslen( m_pwszBuffer ) || nIndex < 0 || nIndex >= (int)wcslen( m_pwszBuffer ) ) return false; // Invalid index MoveMemory( m_pwszBuffer + nIndex, m_pwszBuffer + nIndex + 1, sizeof( WCHAR ) * - ( lstrlenW( m_pwszBuffer ) - nIndex ) ); + ( wcslen( m_pwszBuffer ) - nIndex ) ); m_bAnalyseRequired = true; return true; } @@ -7021,31 +6405,32 @@ bool CUniBuffer::RemoveChar( int nIndex ) // If nCount == -1, the entire string is inserted. // If nIndex == -1, insert to the end. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CUniBuffer::InsertString( int nIndex, const WCHAR* pStr, int nCount ) { assert( nIndex >= 0 ); if( nIndex < 0 ) return false; - if( nIndex > lstrlenW( m_pwszBuffer ) ) + if( nIndex > (int)wcslen( m_pwszBuffer ) ) return false; // invalid index if( -1 == nCount ) - nCount = lstrlenW( pStr ); + nCount = (int)wcslen( pStr ); // Check for maximum length allowed if( GetTextSize() + nCount >= DXUT_MAX_EDITBOXLENGTH ) return false; - if( lstrlenW( m_pwszBuffer ) + nCount >= m_nBufferSize ) + if( (int)wcslen( m_pwszBuffer ) + nCount >= m_nBufferSize ) { - if( !SetBufferSize( lstrlenW( m_pwszBuffer ) + nCount + 1 ) ) + if( !SetBufferSize( (int)wcslen( m_pwszBuffer ) + nCount + 1 ) ) return false; // out of memory } MoveMemory( m_pwszBuffer + nIndex + nCount, m_pwszBuffer + nIndex, sizeof( WCHAR ) * - ( lstrlenW( m_pwszBuffer ) - nIndex + 1 ) ); - CopyMemory( m_pwszBuffer + nIndex, pStr, nCount * sizeof( WCHAR ) ); + ( wcslen( m_pwszBuffer ) - nIndex + 1 ) ); + memcpy( m_pwszBuffer + nIndex, pStr, nCount * sizeof( WCHAR ) ); m_bAnalyseRequired = true; return true; @@ -7053,11 +6438,11 @@ bool CUniBuffer::InsertString( int nIndex, const WCHAR* pStr, int nCount ) //-------------------------------------------------------------------------------------- -bool CUniBuffer::SetText( LPCWSTR wszText ) +bool CUniBuffer::SetText( _In_z_ LPCWSTR wszText ) { - assert( wszText != NULL ); + assert( wszText ); - int nRequired = int( wcslen( wszText ) + 1 ); + size_t nRequired = wcslen( wszText ) + 1; // Check for maximum length allowed if( nRequired >= DXUT_MAX_EDITBOXLENGTH ) @@ -7079,7 +6464,8 @@ bool CUniBuffer::SetText( LPCWSTR wszText ) //-------------------------------------------------------------------------------------- -HRESULT CUniBuffer::CPtoX( int nCP, BOOL bTrail, int* pX ) +_Use_decl_annotations_ +bool CUniBuffer::CPtoX( int nCP, bool bTrail, int* pX ) { assert( pX ); *pX = 0; // Default @@ -7089,14 +6475,21 @@ HRESULT CUniBuffer::CPtoX( int nCP, BOOL bTrail, int* pX ) hr = Analyse(); if( SUCCEEDED( hr ) ) - hr = _ScriptStringCPtoX( m_Analysis, nCP, bTrail, pX ); + hr = ScriptStringCPtoX( m_Analysis, nCP, bTrail, pX ); - return hr; + if ( FAILED(hr) ) + { + *pX = 0; + return false; + } + + return true; } //-------------------------------------------------------------------------------------- -HRESULT CUniBuffer::XtoCP( int nX, int* pCP, int* pnTrail ) +_Use_decl_annotations_ +bool CUniBuffer::XtoCP( int nX, int* pCP, int* pnTrail ) { assert( pCP && pnTrail ); *pCP = 0; *pnTrail = FALSE; // Default @@ -7105,8 +6498,15 @@ HRESULT CUniBuffer::XtoCP( int nX, int* pCP, int* pnTrail ) if( m_bAnalyseRequired ) hr = Analyse(); - if( SUCCEEDED( hr ) ) - hr = _ScriptStringXtoCP( m_Analysis, nX, pCP, pnTrail ); + if (SUCCEEDED(hr)) + { + hr = ScriptStringXtoCP( m_Analysis, nX, pCP, pnTrail ); + if (FAILED(hr)) + { + *pCP = 0; *pnTrail = FALSE; + return false; + } + } // If the coordinate falls outside the text region, we // can get character positions that don't exist. We must @@ -7115,16 +6515,22 @@ HRESULT CUniBuffer::XtoCP( int nX, int* pCP, int* pnTrail ) { *pCP = 0; *pnTrail = FALSE; } - else if( *pCP > lstrlenW( m_pwszBuffer ) && *pnTrail == FALSE ) + else if( *pCP > (int)wcslen( m_pwszBuffer ) && *pnTrail == FALSE ) { - *pCP = lstrlenW( m_pwszBuffer ); *pnTrail = TRUE; + *pCP = (int)wcslen( m_pwszBuffer ); *pnTrail = TRUE; } - return hr; + if (FAILED(hr)) + { + *pCP = 0; *pnTrail = FALSE; + return false; + } + return true; } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CUniBuffer::GetPriorItemPos( int nCP, int* pPrior ) { *pPrior = nCP; // Default is the char itself @@ -7133,13 +6539,13 @@ void CUniBuffer::GetPriorItemPos( int nCP, int* pPrior ) if( FAILED( Analyse() ) ) return; - const SCRIPT_LOGATTR* pLogAttr = _ScriptString_pLogAttr( m_Analysis ); + const SCRIPT_LOGATTR* pLogAttr = ScriptString_pLogAttr( m_Analysis ); if( !pLogAttr ) return; - if( !_ScriptString_pcOutChars( m_Analysis ) ) + if( !ScriptString_pcOutChars( m_Analysis ) ) return; - int nInitial = *_ScriptString_pcOutChars( m_Analysis ); + int nInitial = *ScriptString_pcOutChars( m_Analysis ); if( nCP - 1 < nInitial ) nInitial = nCP - 1; for( int i = nInitial; i > 0; --i ) @@ -7156,6 +6562,7 @@ void CUniBuffer::GetPriorItemPos( int nCP, int* pPrior ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CUniBuffer::GetNextItemPos( int nCP, int* pPrior ) { *pPrior = nCP; // Default is the char itself @@ -7166,18 +6573,18 @@ void CUniBuffer::GetNextItemPos( int nCP, int* pPrior ) if( FAILED( hr ) ) return; - const SCRIPT_LOGATTR* pLogAttr = _ScriptString_pLogAttr( m_Analysis ); + const SCRIPT_LOGATTR* pLogAttr = ScriptString_pLogAttr( m_Analysis ); if( !pLogAttr ) return; - if( !_ScriptString_pcOutChars( m_Analysis ) ) + if( !ScriptString_pcOutChars( m_Analysis ) ) return; - int nInitial = *_ScriptString_pcOutChars( m_Analysis ); + int nInitial = *ScriptString_pcOutChars( m_Analysis ); if( nCP + 1 < nInitial ) nInitial = nCP + 1; int i = nInitial; - int limit = *_ScriptString_pcOutChars( m_Analysis ); + int limit = *ScriptString_pcOutChars( m_Analysis ); while( limit > 0 && i < limit - 1 ) { if( pLogAttr[i].fWordStop ) // Either the fWordStop flag is set @@ -7193,23 +6600,20 @@ void CUniBuffer::GetNextItemPos( int nCP, int* pPrior ) } ++i; - limit = *_ScriptString_pcOutChars( m_Analysis ); + limit = *ScriptString_pcOutChars( m_Analysis ); } // We have reached the end. It's always a word stop, so simply return it. - *pPrior = *_ScriptString_pcOutChars( m_Analysis ) - 1; + *pPrior = *ScriptString_pcOutChars( m_Analysis ) - 1; } -//-------------------------------------------------------------------------------------- -void CDXUTEditBox::ResetCaretBlink() -{ - m_bCaretOn = true; - m_dfLastBlink = DXUTGetGlobalTimer()->GetAbsoluteTime(); -} - +//====================================================================================== +// DXUTBlendColor +//====================================================================================== //-------------------------------------------------------------------------------------- -void DXUTBlendColor::Init( D3DCOLOR defaultColor, D3DCOLOR disabledColor, D3DCOLOR hiddenColor ) +_Use_decl_annotations_ +void DXUTBlendColor::Init( DWORD defaultColor, DWORD disabledColor, DWORD hiddenColor ) { for( int i = 0; i < MAX_CONTROL_STATES; i++ ) { @@ -7218,23 +6622,38 @@ void DXUTBlendColor::Init( D3DCOLOR defaultColor, D3DCOLOR disabledColor, D3DCOL States[ DXUT_STATE_DISABLED ] = disabledColor; States[ DXUT_STATE_HIDDEN ] = hiddenColor; - Current = hiddenColor; + SetCurrent( hiddenColor ); } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void DXUTBlendColor::Blend( UINT iState, float fElapsedTime, float fRate ) { - D3DXCOLOR destColor = States[ iState ]; - D3DXColorLerp( &Current, &Current, &destColor, 1.0f - powf( fRate, 30 * fElapsedTime ) ); + DirectX::XMFLOAT4 destColor = D3DCOLOR_TO_D3DCOLORVALUE( States[ iState ] ); + XMVECTOR clr1 = XMLoadFloat4( &destColor ); + XMVECTOR clr = XMLoadFloat4( &Current ); + clr = XMVectorLerp( clr, clr1, 1.0f - powf( fRate, 30 * fElapsedTime ) ); + XMStoreFloat4( &Current, clr ); +} + + +//-------------------------------------------------------------------------------------- +void DXUTBlendColor::SetCurrent( DWORD color ) +{ + Current = D3DCOLOR_TO_D3DCOLORVALUE( color ); } +//====================================================================================== +// CDXUTElement +//====================================================================================== //-------------------------------------------------------------------------------------- -void CDXUTElement::SetTexture( UINT iTexture, RECT* prcTexture, D3DCOLOR defaultTextureColor ) +_Use_decl_annotations_ +void CDXUTElement::SetTexture( UINT texture, RECT* prcTexture, DWORD defaultTextureColor ) { - this->iTexture = iTexture; + iTexture = texture; if( prcTexture ) rcTexture = *prcTexture; @@ -7246,10 +6665,11 @@ void CDXUTElement::SetTexture( UINT iTexture, RECT* prcTexture, D3DCOLOR default //-------------------------------------------------------------------------------------- -void CDXUTElement::SetFont( UINT iFont, D3DCOLOR defaultFontColor, DWORD dwTextFormat ) +_Use_decl_annotations_ +void CDXUTElement::SetFont( UINT font, DWORD defaultFontColor, DWORD textFormat ) { - this->iFont = iFont; - this->dwTextFormat = dwTextFormat; + iFont = font; + dwTextFormat = textFormat; FontColor.Init( defaultFontColor ); } @@ -7258,8 +6678,6 @@ void CDXUTElement::SetFont( UINT iFont, D3DCOLOR defaultFontColor, DWORD dwTextF //-------------------------------------------------------------------------------------- void CDXUTElement::Refresh() { - TextureColor.Current = TextureColor.States[ DXUT_STATE_HIDDEN ]; - FontColor.Current = FontColor.States[ DXUT_STATE_HIDDEN ]; + TextureColor.SetCurrent( TextureColor.States[ DXUT_STATE_HIDDEN ] ); + FontColor.SetCurrent( FontColor.States[ DXUT_STATE_HIDDEN ] ); } - - diff --git a/FriedLiver/Source/DXUT/Optional/DXUTgui.h b/FriedLiver/Source/DXUT/Optional/DXUTgui.h index 765020b7..1ce4d530 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTgui.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTgui.h @@ -2,14 +2,18 @@ // File: DXUTgui.h // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_GUI_H -#define DXUT_GUI_H #include #include +#ifdef DXUT_AUTOLIB +#pragma comment( lib, "usp10.lib" ) +#endif //-------------------------------------------------------------------------------------- // Defines and macros @@ -50,8 +54,8 @@ class CDXUTElement; struct DXUTElementHolder; struct DXUTTextureNode; struct DXUTFontNode; -typedef VOID ( CALLBACK*PCALLBACKDXUTGUIEVENT )( UINT nEvent, int nControlID, CDXUTControl* pControl, - void* pUserContext ); +typedef void ( CALLBACK*PCALLBACKDXUTGUIEVENT )( _In_ UINT nEvent, _In_ int nControlID, _In_ CDXUTControl* pControl, + _In_opt_ void* pUserContext ); //-------------------------------------------------------------------------------------- @@ -85,12 +89,13 @@ enum DXUT_CONTROL_STATE struct DXUTBlendColor { - void Init( D3DCOLOR defaultColor, D3DCOLOR disabledColor = D3DCOLOR_ARGB( 200, 128, 128, 128 ), - D3DCOLOR hiddenColor = 0 ); - void Blend( UINT iState, float fElapsedTime, float fRate = 0.7f ); + void Init( _In_ DWORD defaultColor, _In_ DWORD disabledColor = D3DCOLOR_ARGB( 200, 128, 128, 128 ), _In_ DWORD hiddenColor = 0 ); + void Blend( _In_ UINT iState, _In_ float fElapsedTime, _In_ float fRate = 0.7f ); + + DWORD States[ MAX_CONTROL_STATES ]; // Modulate colors for all possible control states + DirectX::XMFLOAT4 Current; - D3DCOLOR States[ MAX_CONTROL_STATES ]; // Modulate colors for all possible control states - D3DXCOLOR Current; + void SetCurrent( DWORD color ); }; @@ -100,13 +105,10 @@ struct DXUTBlendColor class CDXUTElement { public: - void SetTexture( UINT iTexture, RECT* prcTexture, D3DCOLOR defaultTextureColor = D3DCOLOR_ARGB( 255, 255, 255, - 255 ) ); - void SetFont( UINT iFont, D3DCOLOR defaultFontColor = D3DCOLOR_ARGB( 255, 255, 255, - 255 ), DWORD dwTextFormat = DT_CENTER | - DT_VCENTER ); + void SetTexture( _In_ UINT texture, _In_ RECT* prcTexture, _In_ DWORD defaultTextureColor = D3DCOLOR_ARGB( 255, 255, 255, 255 ) ); + void SetFont( _In_ UINT font, _In_ DWORD defaultFontColor = D3DCOLOR_ARGB( 255, 255, 255, 255 ), DWORD textFormat = DT_CENTER | DT_VCENTER ); - void Refresh(); + void Refresh(); UINT iTexture; // Index of the texture for this Element UINT iFont; // Index of the font for this Element @@ -128,219 +130,162 @@ class CDXUTDialog friend class CDXUTDialogResourceManager; public: - CDXUTDialog(); - ~CDXUTDialog(); + CDXUTDialog() noexcept; + ~CDXUTDialog(); // Need to call this now - void Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog = true ); - void Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog, - LPCWSTR pszControlTextureFilename ); - void Init( CDXUTDialogResourceManager* pManager, bool bRegisterDialog, - LPCWSTR szControlTextureResourceName, HMODULE hControlTextureResourceModule ); + void Init( _In_ CDXUTDialogResourceManager* pManager, _In_ bool bRegisterDialog = true ); + void Init( _In_ CDXUTDialogResourceManager* pManager, _In_ bool bRegisterDialog, + _In_z_ LPCWSTR pszControlTextureFilename ); + void Init( _In_ CDXUTDialogResourceManager* pManager, _In_ bool bRegisterDialog, + _In_z_ LPCWSTR szControlTextureResourceName, _In_ HMODULE hControlTextureResourceModule ); // Windows message handler - bool MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); + bool MsgProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); // Control creation - HRESULT AddStatic( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bIsDefault=false, - CDXUTStatic** ppCreated=NULL ); - HRESULT AddButton( int ID, LPCWSTR strText, int x, int y, int width, int height, UINT nHotkey=0, - bool bIsDefault=false, CDXUTButton** ppCreated=NULL ); - HRESULT AddCheckBox( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bChecked=false, - UINT nHotkey=0, bool bIsDefault=false, CDXUTCheckBox** ppCreated=NULL ); - HRESULT AddRadioButton( int ID, UINT nButtonGroup, LPCWSTR strText, int x, int y, int width, - int height, bool bChecked=false, UINT nHotkey=0, bool bIsDefault=false, - CDXUTRadioButton** ppCreated=NULL ); - HRESULT AddComboBox( int ID, int x, int y, int width, int height, UINT nHotKey=0, bool bIsDefault= - false, CDXUTComboBox** ppCreated=NULL ); - HRESULT AddSlider( int ID, int x, int y, int width, int height, int min=0, int max=100, int value=50, - bool bIsDefault=false, CDXUTSlider** ppCreated=NULL ); + HRESULT AddStatic( _In_ int ID, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ bool bIsDefault=false, + _Out_opt_ CDXUTStatic** ppCreated = nullptr ); + HRESULT AddButton( _In_ int ID, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ UINT nHotkey=0, + _In_ bool bIsDefault=false, _Out_opt_ CDXUTButton** ppCreated = nullptr ); + HRESULT AddCheckBox( _In_ int ID, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ bool bChecked=false, + _In_ UINT nHotkey=0, _In_ bool bIsDefault=false, _Out_opt_ CDXUTCheckBox** ppCreated = nullptr ); + HRESULT AddRadioButton( _In_ int ID, _In_ UINT nButtonGroup, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, + _In_ int height, _In_ bool bChecked=false, _In_ UINT nHotkey=0, _In_ bool bIsDefault=false, + _Out_opt_ CDXUTRadioButton** ppCreated = nullptr ); + HRESULT AddComboBox( _In_ int ID, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ UINT nHotKey=0, _In_ bool bIsDefault=false, + _Out_opt_ CDXUTComboBox** ppCreated = nullptr ); + HRESULT AddSlider( _In_ int ID, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ int min=0, _In_ int max=100, _In_ int value=50, + _In_ bool bIsDefault=false, _Out_opt_ CDXUTSlider** ppCreated = nullptr ); // AddIMEEditBox has been renamed into DXUTguiIME.cpp as CDXUTIMEEditBox::CreateIMEEditBox - HRESULT AddEditBox( int ID, LPCWSTR strText, int x, int y, int width, int height, bool bIsDefault= - false, CDXUTEditBox** ppCreated=NULL ); - HRESULT AddListBox( int ID, int x, int y, int width, int height, DWORD dwStyle=0, - CDXUTListBox** ppCreated=NULL ); - HRESULT AddControl( CDXUTControl* pControl ); - HRESULT InitControl( CDXUTControl* pControl ); + HRESULT AddEditBox( _In_ int ID, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ bool bIsDefault=false, + _Out_opt_ CDXUTEditBox** ppCreated = nullptr ); + HRESULT AddListBox( _In_ int ID, _In_ int x, _In_ int y, _In_ int width, _In_ int height, _In_ DWORD dwStyle=0, + _Out_opt_ CDXUTListBox** ppCreated = nullptr ); + HRESULT AddControl( _In_ CDXUTControl* pControl ); + HRESULT InitControl( _In_ CDXUTControl* pControl ); // Control retrieval - CDXUTStatic* GetStatic( int ID ) + CDXUTStatic* GetStatic( _In_ int ID ) const { - return ( CDXUTStatic* )GetControl( ID, DXUT_CONTROL_STATIC ); + return reinterpret_cast( GetControl( ID, DXUT_CONTROL_STATIC ) ); } - CDXUTButton* GetButton( int ID ) + CDXUTButton* GetButton( _In_ int ID ) const { - return ( CDXUTButton* )GetControl( ID, DXUT_CONTROL_BUTTON ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_BUTTON) ); } - CDXUTCheckBox* GetCheckBox( int ID ) + CDXUTCheckBox* GetCheckBox( _In_ int ID ) const { - return ( CDXUTCheckBox* )GetControl( ID, DXUT_CONTROL_CHECKBOX ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_CHECKBOX) ); } - CDXUTRadioButton* GetRadioButton( int ID ) + CDXUTRadioButton* GetRadioButton( _In_ int ID ) const { - return ( CDXUTRadioButton* )GetControl( ID, DXUT_CONTROL_RADIOBUTTON ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_RADIOBUTTON) ); } - CDXUTComboBox* GetComboBox( int ID ) + CDXUTComboBox* GetComboBox( _In_ int ID ) const { - return ( CDXUTComboBox* )GetControl( ID, DXUT_CONTROL_COMBOBOX ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_COMBOBOX) ); } - CDXUTSlider* GetSlider( int ID ) + CDXUTSlider* GetSlider( _In_ int ID ) const { - return ( CDXUTSlider* )GetControl( ID, DXUT_CONTROL_SLIDER ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_SLIDER) ); } - CDXUTEditBox* GetEditBox( int ID ) + CDXUTEditBox* GetEditBox( _In_ int ID ) const { - return ( CDXUTEditBox* )GetControl( ID, DXUT_CONTROL_EDITBOX ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_EDITBOX) ); } - CDXUTListBox* GetListBox( int ID ) + CDXUTListBox* GetListBox( _In_ int ID ) const { - return ( CDXUTListBox* )GetControl( ID, DXUT_CONTROL_LISTBOX ); + return reinterpret_cast( GetControl(ID, DXUT_CONTROL_LISTBOX) ); } - CDXUTControl* GetControl( int ID ); - CDXUTControl* GetControl( int ID, UINT nControlType ); - CDXUTControl* GetControlAtPoint( POINT pt ); + CDXUTControl* GetControl( _In_ int ID ) const; + CDXUTControl* GetControl( _In_ int ID, _In_ UINT nControlType ) const; + CDXUTControl* GetControlAtPoint( _In_ const POINT& pt ) const; - bool GetControlEnabled( int ID ); - void SetControlEnabled( int ID, bool bEnabled ); + bool GetControlEnabled( _In_ int ID ) const; + void SetControlEnabled( _In_ int ID, _In_ bool bEnabled ); - void ClearRadioButtonGroup( UINT nGroup ); - void ClearComboBox( int ID ); + void ClearRadioButtonGroup( _In_ UINT nGroup ); + void ClearComboBox( _In_ int ID ); // Access the default display Elements used when adding new controls - HRESULT SetDefaultElement( UINT nControlType, UINT iElement, CDXUTElement* pElement ); - CDXUTElement* GetDefaultElement( UINT nControlType, UINT iElement ); + HRESULT SetDefaultElement( _In_ UINT nControlType, _In_ UINT iElement, _In_ CDXUTElement* pElement ); + CDXUTElement* GetDefaultElement( _In_ UINT nControlType, _In_ UINT iElement ) const; // Methods called by controls - void SendEvent( UINT nEvent, bool bTriggeredByUser, CDXUTControl* pControl ); - void RequestFocus( CDXUTControl* pControl ); + void SendEvent( _In_ UINT nEvent, _In_ bool bTriggeredByUser, _In_ CDXUTControl* pControl ); + void RequestFocus( _In_ CDXUTControl* pControl ); // Render helpers - HRESULT DrawRect( RECT* pRect, D3DCOLOR color ); - HRESULT DrawRect9( RECT* pRect, D3DCOLOR color ); - HRESULT DrawPolyLine( POINT* apPoints, UINT nNumPoints, D3DCOLOR color ); - HRESULT DrawSprite( CDXUTElement* pElement, RECT* prcDest, float fDepth ); - HRESULT DrawSprite9( CDXUTElement* pElement, RECT* prcDest ); - HRESULT DrawSprite11( CDXUTElement* pElement, RECT* prcDest, float fDepth ); - HRESULT CalcTextRect( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, int nCount = -1 ); - HRESULT DrawText( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow = false, - int nCount = -1, bool bCenter = false ); - HRESULT DrawText9( LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow = false, - int nCount = -1 ); - HRESULT DrawText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext, - LPCWSTR strText, CDXUTElement* pElement, RECT* prcDest, bool bShadow = false, - int nCount = -1, bool bCenter = false ); + HRESULT DrawRect( _In_ const RECT* pRect, _In_ DWORD color ); + HRESULT DrawSprite( _In_ CDXUTElement* pElement, _In_ const RECT* prcDest, _In_ float fDepth ); + HRESULT DrawSprite11( _In_ CDXUTElement* pElement, _In_ const RECT* prcDest, _In_ float fDepth ); + HRESULT CalcTextRect( _In_z_ LPCWSTR strText, _In_ CDXUTElement* pElement, _In_ const RECT* prcDest, _In_ int nCount = -1 ); + HRESULT DrawText( _In_z_ LPCWSTR strText, _In_ CDXUTElement* pElement, _In_ const RECT* prcDest, _In_ bool bShadow = false, + _In_ bool bCenter = false ); // Attributes - bool GetVisible() - { - return m_bVisible; - } - void SetVisible( bool bVisible ) - { - m_bVisible = bVisible; - } - bool GetMinimized() - { - return m_bMinimized; - } - void SetMinimized( bool bMinimized ) - { - m_bMinimized = bMinimized; - } - void SetBackgroundColors( D3DCOLOR colorAllCorners ) - { - SetBackgroundColors( colorAllCorners, colorAllCorners, colorAllCorners, colorAllCorners ); - } - void SetBackgroundColors( D3DCOLOR colorTopLeft, D3DCOLOR colorTopRight, D3DCOLOR colorBottomLeft, - D3DCOLOR colorBottomRight ); - void EnableCaption( bool bEnable ) - { - m_bCaption = bEnable; - } - int GetCaptionHeight() const - { - return m_nCaptionHeight; - } - void SetCaptionHeight( int nHeight ) - { - m_nCaptionHeight = nHeight; - } - void SetCaptionText( const WCHAR* pwszText ) - { - wcscpy_s( m_wszCaption, sizeof( m_wszCaption ) / sizeof( m_wszCaption[0] ), pwszText ); - } - void GetLocation( POINT& Pt ) const - { - Pt.x = m_x; Pt.y = m_y; - } - void SetLocation( int x, int y ) - { - m_x = x; m_y = y; - } - void SetSize( int width, int height ) + bool GetVisible() const { return m_bVisible; } + void SetVisible( _In_ bool bVisible ) { m_bVisible = bVisible; } + bool GetMinimized() const { return m_bMinimized; } + void SetMinimized( _In_ bool bMinimized ) {m_bMinimized = bMinimized; } + void SetBackgroundColors( _In_ DWORD colorAllCorners ) { SetBackgroundColors( colorAllCorners, colorAllCorners, colorAllCorners, colorAllCorners ); } + void SetBackgroundColors( _In_ DWORD colorTopLeft, _In_ DWORD colorTopRight, _In_ DWORD colorBottomLeft, _In_ DWORD colorBottomRight ); + void EnableCaption( _In_ bool bEnable ) { m_bCaption = bEnable; } + int GetCaptionHeight() const { return m_nCaptionHeight; } + void SetCaptionHeight( _In_ int nHeight ) { m_nCaptionHeight = nHeight; } + void SetCaptionText( _In_ const WCHAR* pwszText ) { wcscpy_s( m_wszCaption, sizeof( m_wszCaption ) / sizeof( m_wszCaption[0] ), pwszText ); } + void GetLocation( _Out_ POINT& Pt ) const { - m_width = width; m_height = height; + Pt.x = m_x; + Pt.y = m_y; } - int GetWidth() + void SetLocation( _In_ int x, _In_ int y ) { - return m_width; + m_x = x; + m_y = y; } - int GetHeight() + void SetSize( _In_ int width, _In_ int height ) { - return m_height; + m_width = width; + m_height = height; } + int GetWidth() const { return m_width; } + int GetHeight() const { return m_height; } - static void WINAPI SetRefreshTime( float fTime ) - { - s_fTimeRefresh = fTime; - } + static void WINAPI SetRefreshTime( _In_ float fTime ) { s_fTimeRefresh = fTime; } - static CDXUTControl* WINAPI GetNextControl( CDXUTControl* pControl ); - static CDXUTControl* WINAPI GetPrevControl( CDXUTControl* pControl ); + static CDXUTControl* WINAPI GetNextControl( _In_ CDXUTControl* pControl ); + static CDXUTControl* WINAPI GetPrevControl( _In_ CDXUTControl* pControl ); - void RemoveControl( int ID ); - void RemoveAllControls(); + void RemoveControl( _In_ int ID ); + void RemoveAllControls(); // Sets the callback used to notify the app of control events - void SetCallback( PCALLBACKDXUTGUIEVENT pCallback, void* pUserContext = NULL ); - void EnableNonUserEvents( bool bEnable ) - { - m_bNonUserEvents = bEnable; - } - void EnableKeyboardInput( bool bEnable ) - { - m_bKeyboardInput = bEnable; - } - void EnableMouseInput( bool bEnable ) - { - m_bMouseInput = bEnable; - } - bool IsKeyboardInputEnabled() const - { - return m_bKeyboardInput; - } + void SetCallback( _In_ PCALLBACKDXUTGUIEVENT pCallback, _In_opt_ void* pUserContext = nullptr ); + void EnableNonUserEvents( _In_ bool bEnable ) { m_bNonUserEvents = bEnable; } + void EnableKeyboardInput( _In_ bool bEnable ) { m_bKeyboardInput = bEnable; } + void EnableMouseInput( _In_ bool bEnable ) { m_bMouseInput = bEnable; } + bool IsKeyboardInputEnabled() const { return m_bKeyboardInput; } // Device state notification - void Refresh(); - HRESULT OnRender( float fElapsedTime ); + void Refresh(); + HRESULT OnRender( _In_ float fElapsedTime ); // Shared resource access. Indexed fonts and textures are shared among // all the controls. - HRESULT SetFont( UINT index, LPCWSTR strFaceName, LONG height, LONG weight ); - DXUTFontNode* GetFont( UINT index ); + HRESULT SetFont( _In_ UINT index, _In_z_ LPCWSTR strFaceName, _In_ LONG height, _In_ LONG weight ); + DXUTFontNode* GetFont( _In_ UINT index ) const; - HRESULT SetTexture( UINT index, LPCWSTR strFilename ); - HRESULT SetTexture( UINT index, LPCWSTR strResourceName, HMODULE hResourceModule ); - DXUTTextureNode* GetTexture( UINT index ); + HRESULT SetTexture( _In_ UINT index, _In_z_ LPCWSTR strFilename ); + HRESULT SetTexture( _In_ UINT index, _In_z_ LPCWSTR strResourceName, _In_ HMODULE hResourceModule ); + DXUTTextureNode* GetTexture( _In_ UINT index ) const; - CDXUTDialogResourceManager* GetManager() - { - return m_pManager; - } + CDXUTDialogResourceManager* GetManager() const { return m_pManager; } static void WINAPI ClearFocus(); - void FocusDefaultControl(); + void FocusDefaultControl(); bool m_bNonUserEvents; bool m_bKeyboardInput; @@ -349,24 +294,20 @@ class CDXUTDialog private: int m_nDefaultControlID; - HRESULT OnRender9( float fElapsedTime ); - HRESULT OnRender10( float fElapsedTime ); - HRESULT OnRender11( float fElapsedTime ); - static double s_fTimeRefresh; double m_fTimeLastRefresh; // Initialize default Elements - void InitDefaultElements(); + void InitDefaultElements(); // Windows message handlers - void OnMouseMove( POINT pt ); - void OnMouseUp( POINT pt ); + void OnMouseMove( _In_ const POINT& pt ); + void OnMouseUp( _In_ const POINT& pt ); - void SetNextDialog( CDXUTDialog* pNextDialog ); + void SetNextDialog( _In_ CDXUTDialog* pNextDialog ); // Control events - bool OnCycleFocus( bool bForward ); + bool OnCycleFocus( _In_ bool bForward ); static CDXUTControl* s_pControlFocus; // The control which has focus static CDXUTControl* s_pControlPressed; // The control currently pressed @@ -377,7 +318,7 @@ class CDXUTDialog bool m_bCaption; bool m_bMinimized; bool m_bDrag; - WCHAR m_wszCaption[256]; + WCHAR m_wszCaption[256]; int m_x; int m_y; @@ -385,20 +326,20 @@ class CDXUTDialog int m_height; int m_nCaptionHeight; - D3DCOLOR m_colorTopLeft; - D3DCOLOR m_colorTopRight; - D3DCOLOR m_colorBottomLeft; - D3DCOLOR m_colorBottomRight; + DWORD m_colorTopLeft; + DWORD m_colorTopRight; + DWORD m_colorBottomLeft; + DWORD m_colorBottomRight; CDXUTDialogResourceManager* m_pManager; PCALLBACKDXUTGUIEVENT m_pCallbackEvent; void* m_pCallbackEventUserContext; - CGrowableArray m_Textures; // Index into m_TextureCache; - CGrowableArray m_Fonts; // Index into m_FontCache; + std::vector m_Textures; // Index into m_TextureCache; + std::vector m_Fonts; // Index into m_FontCache; - CGrowableArray m_Controls; - CGrowableArray m_DefaultElements; + std::vector m_Controls; + std::vector m_DefaultElements; CDXUTElement m_CapElement; // Element for the caption @@ -418,7 +359,6 @@ struct DXUTTextureNode WCHAR strFilename[MAX_PATH]; DWORD dwWidth; DWORD dwHeight; - IDirect3DTexture9* pTexture9; ID3D11Texture2D* pTexture11; ID3D11ShaderResourceView* pTexResView11; }; @@ -428,80 +368,55 @@ struct DXUTFontNode WCHAR strFace[MAX_PATH]; LONG nHeight; LONG nWeight; - ID3DXFont* pFont9; }; struct DXUTSpriteVertex { - D3DXVECTOR3 vPos; - D3DXCOLOR vColor; - D3DXVECTOR2 vTex; + DirectX::XMFLOAT3 vPos; + DirectX::XMFLOAT4 vColor; + DirectX::XMFLOAT2 vTex; }; + //----------------------------------------------------------------------------- // Manages shared resources of dialogs //----------------------------------------------------------------------------- class CDXUTDialogResourceManager { public: - CDXUTDialogResourceManager(); - ~CDXUTDialogResourceManager(); + CDXUTDialogResourceManager() noexcept; + ~CDXUTDialogResourceManager(); - bool MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - - // D3D9 specific - HRESULT OnD3D9CreateDevice( LPDIRECT3DDEVICE9 pd3dDevice ); - HRESULT OnD3D9ResetDevice(); - void OnD3D9LostDevice(); - void OnD3D9DestroyDevice(); - IDirect3DDevice9* GetD3D9Device() - { - return m_pd3d9Device; - } + bool MsgProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); // D3D11 specific - HRESULT OnD3D11CreateDevice( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ); - HRESULT OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ); - void OnD3D11ReleasingSwapChain(); - void OnD3D11DestroyDevice(); - void StoreD3D11State( ID3D11DeviceContext* pd3dImmediateContext ); - void RestoreD3D11State( ID3D11DeviceContext* pd3dImmediateContext ); - void ApplyRenderUI11( ID3D11DeviceContext* pd3dImmediateContext ); - void ApplyRenderUIUntex11( ID3D11DeviceContext* pd3dImmediateContext ); - void BeginSprites11( ); - void EndSprites11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext ); - ID3D11Device* GetD3D11Device() - { - return m_pd3d11Device; - } - ID3D11DeviceContext* GetD3D11DeviceContext() - { - return m_pd3d11DeviceContext; - } - - DXUTFontNode* GetFontNode( int iIndex ) - { - return m_FontCache.GetAt( iIndex ); - }; - DXUTTextureNode* GetTextureNode( int iIndex ) - { - return m_TextureCache.GetAt( iIndex ); - }; - - int AddFont( LPCWSTR strFaceName, LONG height, LONG weight ); - int AddTexture( LPCWSTR strFilename ); - int AddTexture( LPCWSTR strResourceName, HMODULE hResourceModule ); - - bool RegisterDialog( CDXUTDialog* pDialog ); - void UnregisterDialog( CDXUTDialog* pDialog ); - void EnableKeyboardInputForAllDialogs(); + HRESULT OnD3D11CreateDevice( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3d11DeviceContext ); + HRESULT OnD3D11ResizedSwapChain( _In_ ID3D11Device* pd3dDevice, _In_ const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ); + void OnD3D11ReleasingSwapChain(); + void OnD3D11DestroyDevice(); + void StoreD3D11State( _In_ ID3D11DeviceContext* pd3dImmediateContext ); + void RestoreD3D11State( _In_ ID3D11DeviceContext* pd3dImmediateContext ); + void ApplyRenderUI11( _In_ ID3D11DeviceContext* pd3dImmediateContext ); + void ApplyRenderUIUntex11( _In_ ID3D11DeviceContext* pd3dImmediateContext ); + void BeginSprites11( ); + void EndSprites11( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3dImmediateContext ); + + ID3D11Device* GetD3D11Device() const { return m_pd3d11Device; } + ID3D11DeviceContext* GetD3D11DeviceContext() const { return m_pd3d11DeviceContext; } + + DXUTFontNode* GetFontNode( _In_ size_t iIndex ) const { return m_FontCache[ iIndex ]; } + DXUTTextureNode* GetTextureNode( _In_ size_t iIndex ) const { return m_TextureCache[ iIndex ]; } + + int AddFont( _In_z_ LPCWSTR strFaceName, _In_ LONG height, _In_ LONG weight ); + int AddTexture( _In_z_ LPCWSTR strFilename ); + int AddTexture( _In_z_ LPCWSTR strResourceName, _In_ HMODULE hResourceModule ); + + bool RegisterDialog( _In_ CDXUTDialog* pDialog ); + void UnregisterDialog( _In_ CDXUTDialog* pDialog ); + void EnableKeyboardInputForAllDialogs(); // Shared between all dialogs - // D3D9 - IDirect3DStateBlock9* m_pStateBlock; - ID3DXSprite* m_pSprite; // Sprite used for drawing - // D3D11 // Shaders ID3D11VertexShader* m_pVSRenderUI11; @@ -529,34 +444,23 @@ class CDXUTDialogResourceManager // Sprite workaround ID3D11Buffer* m_pSpriteBuffer11; UINT m_SpriteBufferBytes11; - CGrowableArray m_SpriteVertices; + std::vector m_SpriteVertices; UINT m_nBackBufferWidth; UINT m_nBackBufferHeight; - CGrowableArray m_Dialogs; // Dialogs registered + std::vector m_Dialogs; // Dialogs registered protected: - // D3D9 specific - IDirect3DDevice9* m_pd3d9Device; - HRESULT CreateFont9( UINT index ); - HRESULT CreateTexture9( UINT index ); - // D3D11 specific ID3D11Device* m_pd3d11Device; ID3D11DeviceContext* m_pd3d11DeviceContext; - HRESULT CreateFont11( UINT index ); - HRESULT CreateTexture11( UINT index ); + HRESULT CreateTexture11( _In_ UINT index ); - CGrowableArray m_TextureCache; // Shared textures - CGrowableArray m_FontCache; // Shared fonts + std::vector m_TextureCache; // Shared textures + std::vector m_FontCache; // Shared fonts }; -void BeginText11(); -void DrawText11DXUT( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext, - LPCWSTR strText, RECT rcScreen, D3DXCOLOR vFontColor, - float fBBWidth, float fBBHeight, bool bCenter ); -void EndText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceContext ); //----------------------------------------------------------------------------- // Base class for controls @@ -564,126 +468,79 @@ void EndText11( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3d11DeviceConte class CDXUTControl { public: - CDXUTControl( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTControl(); + CDXUTControl( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTControl(); - virtual HRESULT OnInit() - { - return S_OK; - } - virtual void Refresh(); - virtual void Render( float fElapsedTime ) - { - }; + virtual HRESULT OnInit() { return S_OK; } + virtual void Refresh(); + virtual void Render( _In_ float fElapsedTime ) { UNREFERENCED_PARAMETER(fElapsedTime); } // Windows message handler - virtual bool MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) + virtual bool MsgProc( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) { + UNREFERENCED_PARAMETER(uMsg); + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); return false; } - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ) + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) { + UNREFERENCED_PARAMETER(uMsg); + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); return false; } - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) { + UNREFERENCED_PARAMETER(uMsg); + UNREFERENCED_PARAMETER(pt); + UNREFERENCED_PARAMETER(wParam); + UNREFERENCED_PARAMETER(lParam); return false; } - virtual bool CanHaveFocus() - { - return false; - } - virtual void OnFocusIn() - { - m_bHasFocus = true; - } - virtual void OnFocusOut() - { - m_bHasFocus = false; - } - virtual void OnMouseEnter() - { - m_bMouseOver = true; - } - virtual void OnMouseLeave() - { - m_bMouseOver = false; - } - virtual void OnHotkey() - { - } + virtual bool CanHaveFocus() { return false; } + virtual void OnFocusIn() { m_bHasFocus = true; } + virtual void OnFocusOut() { m_bHasFocus = false; } + virtual void OnMouseEnter() { m_bMouseOver = true; } + virtual void OnMouseLeave() { m_bMouseOver = false; } + virtual void OnHotkey() { } - virtual BOOL ContainsPoint( POINT pt ) - { - return PtInRect( &m_rcBoundingBox, pt ); - } + virtual bool ContainsPoint( _In_ const POINT& pt ) { return PtInRect( &m_rcBoundingBox, pt ) != 0; } - virtual void SetEnabled( bool bEnabled ) - { - m_bEnabled = bEnabled; - } - virtual bool GetEnabled() - { - return m_bEnabled; - } - virtual void SetVisible( bool bVisible ) - { - m_bVisible = bVisible; - } - virtual bool GetVisible() - { - return m_bVisible; - } + virtual void SetEnabled( _In_ bool bEnabled ) { m_bEnabled = bEnabled; } + virtual bool GetEnabled() const { return m_bEnabled; } + virtual void SetVisible( _In_ bool bVisible ) { m_bVisible = bVisible; } + virtual bool GetVisible() const { return m_bVisible; } - UINT GetType() const - { - return m_Type; - } + UINT GetType() const { return m_Type; } - int GetID() const - { - return m_ID; - } - void SetID( int ID ) - { - m_ID = ID; - } + int GetID() const { return m_ID; } + void SetID( _In_ int ID ) { m_ID = ID; } - void SetLocation( int x, int y ) + void SetLocation( _In_ int x, _In_ int y ) { - m_x = x; m_y = y; UpdateRects(); + m_x = x; + m_y = y; + UpdateRects(); } - void SetSize( int width, int height ) + void SetSize( int width, int height ) { - m_width = width; m_height = height; UpdateRects(); + m_width = width; + m_height = height; + UpdateRects(); } - void SetHotkey( UINT nHotkey ) - { - m_nHotkey = nHotkey; - } - UINT GetHotkey() - { - return m_nHotkey; - } + void SetHotkey( _In_ UINT nHotkey ) { m_nHotkey = nHotkey; } + UINT GetHotkey() const { return m_nHotkey; } - void SetUserData( void* pUserData ) - { - m_pUserData = pUserData; - } - void* GetUserData() const - { - return m_pUserData; - } + void SetUserData( _In_opt_ void* pUserData ) { m_pUserData = pUserData; } + void* GetUserData() const { return m_pUserData; } - virtual void SetTextColor( D3DCOLOR Color ); - CDXUTElement* GetElement( UINT iElement ) - { - return m_Elements.GetAt( iElement ); - } - HRESULT SetElement( UINT iElement, CDXUTElement* pElement ); + virtual void SetTextColor( _In_ DWORD Color ); + CDXUTElement* GetElement( _In_ UINT iElement ) const { return m_Elements[ iElement ]; } + HRESULT SetElement( _In_ UINT iElement, _In_ CDXUTElement* pElement ); bool m_bVisible; // Shown/hidden flag bool m_bMouseOver; // Mouse pointer is above control @@ -698,10 +555,10 @@ class CDXUTControl CDXUTDialog* m_pDialog; // Parent container UINT m_Index; // Index within the control list - CGrowableArray m_Elements; // All display elements + std::vector m_Elements; // All display elements protected: - virtual void UpdateRects(); + virtual void UpdateRects(); int m_ID; // ID number DXUT_CONTROL_TYPE m_Type; // Control type, set once in constructor @@ -732,25 +589,21 @@ struct DXUTElementHolder class CDXUTStatic : public CDXUTControl { public: - CDXUTStatic( CDXUTDialog* pDialog = NULL ); + CDXUTStatic( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; - virtual void Render( float fElapsedTime ); - virtual BOOL ContainsPoint( POINT pt ) + virtual void Render( _In_ float fElapsedTime ) override; + virtual bool ContainsPoint( _In_ const POINT& pt ) override { + UNREFERENCED_PARAMETER( pt ); return false; } - HRESULT GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, - UINT bufferCount ); - LPCWSTR GetText() - { - return m_strText; - } - HRESULT SetText( LPCWSTR strText ); - + HRESULT GetTextCopy( _Out_writes_(bufferCount) LPWSTR strDest, _In_ UINT bufferCount ) const; + LPCWSTR GetText() const { return m_strText; } + HRESULT SetText( _In_z_ LPCWSTR strText ); protected: - WCHAR m_strText[MAX_PATH]; // Window text + WCHAR m_strText[MAX_PATH]; // Window text }; @@ -760,26 +613,26 @@ class CDXUTStatic : public CDXUTControl class CDXUTButton : public CDXUTStatic { public: - CDXUTButton( CDXUTDialog* pDialog = NULL ); + CDXUTButton( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual void OnHotkey() + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void OnHotkey() override { if( m_pDialog->IsKeyboardInputEnabled() ) m_pDialog->RequestFocus( this ); m_pDialog->SendEvent( EVENT_BUTTON_CLICKED, true, this ); } - virtual BOOL ContainsPoint( POINT pt ) + virtual bool ContainsPoint( _In_ const POINT& pt ) override { - return PtInRect( &m_rcBoundingBox, pt ); + return PtInRect( &m_rcBoundingBox, pt ) != 0; } - virtual bool CanHaveFocus() + virtual bool CanHaveFocus() override { return ( m_bVisible && m_bEnabled ); } - virtual void Render( float fElapsedTime ); + virtual void Render( _In_ float fElapsedTime ) override; protected: bool m_bPressed; @@ -792,32 +645,26 @@ class CDXUTButton : public CDXUTStatic class CDXUTCheckBox : public CDXUTButton { public: - CDXUTCheckBox( CDXUTDialog* pDialog = NULL ); + CDXUTCheckBox( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual void OnHotkey() + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void OnHotkey() override { if( m_pDialog->IsKeyboardInputEnabled() ) m_pDialog->RequestFocus( this ); SetCheckedInternal( !m_bChecked, true ); } - virtual BOOL ContainsPoint( POINT pt ); - virtual void UpdateRects(); + virtual bool ContainsPoint( _In_ const POINT& pt ) override; + virtual void UpdateRects() override; - virtual void Render( float fElapsedTime ); + virtual void Render( _In_ float fElapsedTime ) override; - bool GetChecked() - { - return m_bChecked; - } - void SetChecked( bool bChecked ) - { - SetCheckedInternal( bChecked, false ); - } + bool GetChecked() const { return m_bChecked; } + void SetChecked( _In_ bool bChecked ) { SetCheckedInternal( bChecked, false ); } protected: - virtual void SetCheckedInternal( bool bChecked, bool bFromInput ); + virtual void SetCheckedInternal( _In_ bool bChecked, _In_ bool bFromInput ); bool m_bChecked; RECT m_rcButton; @@ -831,31 +678,22 @@ class CDXUTCheckBox : public CDXUTButton class CDXUTRadioButton : public CDXUTCheckBox { public: - CDXUTRadioButton( CDXUTDialog* pDialog = NULL ); + CDXUTRadioButton( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual void OnHotkey() + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void OnHotkey() override { if( m_pDialog->IsKeyboardInputEnabled() ) m_pDialog->RequestFocus( this ); SetCheckedInternal( true, true, true ); } - void SetChecked( bool bChecked, bool bClearGroup=true ) - { - SetCheckedInternal( bChecked, bClearGroup, false ); - } - void SetButtonGroup( UINT nButtonGroup ) - { - m_nButtonGroup = nButtonGroup; - } - UINT GetButtonGroup() - { - return m_nButtonGroup; - } + void SetChecked( _In_ bool bChecked, _In_ bool bClearGroup=true ) { SetCheckedInternal( bChecked, bClearGroup, false ); } + void SetButtonGroup( _In_ UINT nButtonGroup ) { m_nButtonGroup = nButtonGroup; } + UINT GetButtonGroup() const { return m_nButtonGroup; } protected: - virtual void SetCheckedInternal( bool bChecked, bool bClearGroup, bool bFromInput ); + virtual void SetCheckedInternal( _In_ bool bChecked, _In_ bool bClearGroup, _In_ bool bFromInput ); UINT m_nButtonGroup; }; @@ -866,36 +704,34 @@ class CDXUTRadioButton : public CDXUTCheckBox class CDXUTScrollBar : public CDXUTControl { public: - CDXUTScrollBar( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTScrollBar(); + CDXUTScrollBar( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTScrollBar(); - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual bool MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ); + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool MsgProc( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; - virtual void Render( float fElapsedTime ); - virtual void UpdateRects(); + virtual void Render( _In_ float fElapsedTime ) override; + virtual void UpdateRects() override; - void SetTrackRange( int nStart, int nEnd ); - int GetTrackPos() - { - return m_nPosition; - } - void SetTrackPos( int nPosition ) - { - m_nPosition = nPosition; Cap(); UpdateThumbRect(); - } - int GetPageSize() + void SetTrackRange( _In_ int nStart, _In_ int nEnd ); + int GetTrackPos() const { return m_nPosition; } + void SetTrackPos( _In_ int nPosition ) { - return m_nPageSize; + m_nPosition = nPosition; + Cap(); + UpdateThumbRect(); } - void SetPageSize( int nPageSize ) + int GetPageSize() const { return m_nPageSize; } + void SetPageSize( _In_ int nPageSize ) { - m_nPageSize = nPageSize; Cap(); UpdateThumbRect(); + m_nPageSize = nPageSize; + Cap(); + UpdateThumbRect(); } - void Scroll( int nDelta ); // Scroll by nDelta items (plus or minus) - void ShowItem( int nIndex ); // Ensure that item nIndex is displayed, scroll if necessary + void Scroll( _In_ int nDelta ); // Scroll by nDelta items (plus or minus) + void ShowItem( _In_ int nIndex ); // Ensure that item nIndex is displayed, scroll if necessary protected: // ARROWSTATE indicates the state of the arrow buttons. @@ -947,60 +783,50 @@ struct DXUTListBoxItem class CDXUTListBox : public CDXUTControl { public: - CDXUTListBox( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTListBox(); + CDXUTListBox( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTListBox(); - virtual HRESULT OnInit() + virtual HRESULT OnInit() override { return m_pDialog->InitControl( &m_ScrollBar ); } - virtual bool CanHaveFocus() + virtual bool CanHaveFocus() override { return ( m_bVisible && m_bEnabled ); } - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual bool MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ); + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool MsgProc( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; - virtual void Render( float fElapsedTime ); - virtual void UpdateRects(); + virtual void Render( _In_ float fElapsedTime ) override; + virtual void UpdateRects() override; - DWORD GetStyle() const + DWORD GetStyle() const { return m_dwStyle; } + size_t GetSize() const { return m_Items.size(); } + void SetStyle( _In_ DWORD dwStyle ) { m_dwStyle = dwStyle; } + int GetScrollBarWidth() const{ return m_nSBWidth; } + void SetScrollBarWidth( _In_ int nWidth ) { - return m_dwStyle; + m_nSBWidth = nWidth; + UpdateRects(); } - int GetSize() const + void SetBorder( _In_ int nBorder, _In_ int nMargin ) { - return m_Items.GetSize(); + m_nBorder = nBorder; + m_nMargin = nMargin; } - void SetStyle( DWORD dwStyle ) - { - m_dwStyle = dwStyle; - } - int GetScrollBarWidth() const - { - return m_nSBWidth; - } - void SetScrollBarWidth( int nWidth ) - { - m_nSBWidth = nWidth; UpdateRects(); - } - void SetBorder( int nBorder, int nMargin ) - { - m_nBorder = nBorder; m_nMargin = nMargin; - } - HRESULT AddItem( const WCHAR* wszText, void* pData ); - HRESULT InsertItem( int nIndex, const WCHAR* wszText, void* pData ); - void RemoveItem( int nIndex ); - void RemoveAllItems(); - - DXUTListBoxItem* GetItem( int nIndex ); - int GetSelectedIndex( int nPreviousSelected = -1 ); - DXUTListBoxItem* GetSelectedItem( int nPreviousSelected = -1 ) + HRESULT AddItem( _In_z_ const WCHAR* wszText, _In_opt_ void* pData ); + HRESULT InsertItem( _In_ int nIndex, _In_z_ const WCHAR* wszText, _In_opt_ void* pData ); + void RemoveItem( _In_ int nIndex ); + void RemoveAllItems(); + + DXUTListBoxItem* GetItem( _In_ int nIndex ) const; + int GetSelectedIndex( _In_ int nPreviousSelected = -1 ) const; + DXUTListBoxItem* GetSelectedItem( _In_ int nPreviousSelected = -1 ) const { return GetItem( GetSelectedIndex( nPreviousSelected ) ); } - void SelectItem( int nNewIndex ); + void SelectItem( _In_ int nNewIndex ); enum STYLE { @@ -1020,7 +846,7 @@ class CDXUTListBox : public CDXUTControl int m_nSelStart; // Index of the item where selection starts (for handling multi-selection) bool m_bDrag; // Whether the user is dragging the mouse to select - CGrowableArray m_Items; + std::vector m_Items; }; @@ -1036,71 +862,60 @@ struct DXUTComboBoxItem bool bVisible; }; - class CDXUTComboBox : public CDXUTButton { public: - CDXUTComboBox( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTComboBox(); + CDXUTComboBox( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTComboBox(); - virtual void SetTextColor( D3DCOLOR Color ); - virtual HRESULT OnInit() + virtual void SetTextColor( _In_ DWORD Color ) override; + virtual HRESULT OnInit() override { return m_pDialog->InitControl( &m_ScrollBar ); } - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual void OnHotkey(); + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void OnHotkey() override; - virtual bool CanHaveFocus() + virtual bool CanHaveFocus() override { return ( m_bVisible && m_bEnabled ); } - virtual void OnFocusOut(); - virtual void Render( float fElapsedTime ); - - virtual void UpdateRects(); - - HRESULT AddItem( const WCHAR* strText, void* pData ); - void RemoveAllItems(); - void RemoveItem( UINT index ); - bool ContainsItem( const WCHAR* strText, UINT iStart=0 ); - int FindItem( const WCHAR* strText, UINT iStart=0 ); - void* GetItemData( const WCHAR* strText ); - void* GetItemData( int nIndex ); - void SetDropHeight( UINT nHeight ) - { - m_nDropHeight = nHeight; UpdateRects(); - } - int GetScrollBarWidth() const - { - return m_nSBWidth; - } - void SetScrollBarWidth( int nWidth ) - { - m_nSBWidth = nWidth; UpdateRects(); - } + virtual void OnFocusOut() override; + virtual void Render( _In_ float fElapsedTime ) override; - int GetSelectedIndex() const - { - return m_iSelected; - } - void* GetSelectedData(); - DXUTComboBoxItem* GetSelectedItem(); + virtual void UpdateRects() override; - UINT GetNumItems() + HRESULT AddItem( _In_z_ const WCHAR* strText, _In_opt_ void* pData ); + void RemoveAllItems(); + void RemoveItem( _In_ UINT index ); + bool ContainsItem( _In_z_ const WCHAR* strText, _In_ UINT iStart=0 ); + int FindItem( _In_z_ const WCHAR* strText, _In_ UINT iStart=0 ) const; + void* GetItemData( _In_z_ const WCHAR* strText ) const; + void* GetItemData( _In_ int nIndex ) const; + void SetDropHeight( _In_ UINT nHeight ) { - return m_Items.GetSize(); + m_nDropHeight = nHeight; + UpdateRects(); } - DXUTComboBoxItem* GetItem( UINT index ) + int GetScrollBarWidth() const { return m_nSBWidth; } + void SetScrollBarWidth( _In_ int nWidth ) { - return m_Items.GetAt( index ); + m_nSBWidth = nWidth; + UpdateRects(); } - HRESULT SetSelectedByIndex( UINT index ); - HRESULT SetSelectedByText( const WCHAR* strText ); - HRESULT SetSelectedByData( void* pData ); + int GetSelectedIndex() const { return m_iSelected; } + void* GetSelectedData() const; + DXUTComboBoxItem* GetSelectedItem() const; + + UINT GetNumItems() { return static_cast( m_Items.size() ); } + DXUTComboBoxItem* GetItem( _In_ UINT index ) { return m_Items[ index ]; } + + HRESULT SetSelectedByIndex( _In_ UINT index ); + HRESULT SetSelectedByText( _In_z_ const WCHAR* strText ); + HRESULT SetSelectedByData( _In_ void* pData ); protected: int m_iSelected; @@ -1116,8 +931,7 @@ class CDXUTComboBox : public CDXUTButton RECT m_rcDropdown; RECT m_rcDropdownText; - - CGrowableArray m_Items; + std::vector m_Items; }; @@ -1127,38 +941,33 @@ class CDXUTComboBox : public CDXUTButton class CDXUTSlider : public CDXUTControl { public: - CDXUTSlider( CDXUTDialog* pDialog = NULL ); + CDXUTSlider( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; - virtual BOOL ContainsPoint( POINT pt ); - virtual bool CanHaveFocus() + virtual bool ContainsPoint( _In_ const POINT& pt ) override; + virtual bool CanHaveFocus() override { return ( m_bVisible && m_bEnabled ); } - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; - virtual void UpdateRects(); + virtual void UpdateRects() override; - virtual void Render( float fElapsedTime ); + virtual void Render( _In_ float fElapsedTime ) override; - void SetValue( int nValue ) - { - SetValueInternal( nValue, false ); - } - int GetValue() const - { - return m_nValue; - }; + void SetValue( int nValue ) { SetValueInternal( nValue, false ); } + int GetValue() const { return m_nValue; } - void GetRange( int& nMin, int& nMax ) const + void GetRange( _Out_ int& nMin, _Out_ int& nMax ) const { - nMin = m_nMin; nMax = m_nMax; + nMin = m_nMin; + nMax = m_nMax; } - void SetRange( int nMin, int nMax ); + void SetRange( _In_ int nMin, _In_ int nMax ); protected: - void SetValueInternal( int nValue, bool bFromInput ); - int ValueFromPos( int x ); + void SetValueInternal( _In_ int nValue, _In_ bool bFromInput ); + int ValueFromPos( _In_ int x ); int m_nValue; @@ -1180,53 +989,44 @@ class CDXUTSlider : public CDXUTControl class CUniBuffer { public: - CUniBuffer( int nInitialSize = 1 ); - ~CUniBuffer(); - - static void WINAPI Initialize(); - static void WINAPI Uninitialize(); + CUniBuffer( _In_ int nInitialSize = 1 ) noexcept; + ~CUniBuffer(); - int GetBufferSize() - { - return m_nBufferSize; - } - bool SetBufferSize( int nSize ); - int GetTextSize() - { - return lstrlenW( m_pwszBuffer ); - } - const WCHAR* GetBuffer() + size_t GetBufferSize() const { return m_nBufferSize; } + bool SetBufferSize( _In_ int nSize ); + int GetTextSize() const { return (int)wcslen( m_pwszBuffer ); } + const WCHAR* GetBuffer() const { return m_pwszBuffer; } - const WCHAR& operator[]( int n ) const + const WCHAR& operator[]( _In_ int n ) const { return m_pwszBuffer[n]; } - WCHAR& operator[]( int n ); - DXUTFontNode* GetFontNode() - { - return m_pFontNode; - } - void SetFontNode( DXUTFontNode* pFontNode ) - { - m_pFontNode = pFontNode; - } - void Clear(); + WCHAR& operator[]( _In_ int n ); + DXUTFontNode* GetFontNode() const { return m_pFontNode; } + void SetFontNode( _In_opt_ DXUTFontNode* pFontNode ) { m_pFontNode = pFontNode; } + void Clear(); + + bool InsertChar( _In_ int nIndex, _In_ WCHAR wChar ); + // Inserts the char at specified index. If nIndex == -1, insert to the end. - bool InsertChar( int nIndex, WCHAR wChar ); // Inserts the char at specified index. If nIndex == -1, insert to the end. - bool RemoveChar( int nIndex ); // Removes the char at specified index. If nIndex == -1, remove the last char. - bool InsertString( int nIndex, const WCHAR* pStr, int nCount = -1 ); // Inserts the first nCount characters of the string pStr at specified index. If nCount == -1, the entire string is inserted. If nIndex == -1, insert to the end. - bool SetText( LPCWSTR wszText ); + bool RemoveChar( _In_ int nIndex ); + // Removes the char at specified index. If nIndex == -1, remove the last char. + + bool InsertString( _In_ int nIndex, _In_z_ const WCHAR* pStr, _In_ int nCount = -1 ); + // Inserts the first nCount characters of the string pStr at specified index. If nCount == -1, the entire string is inserted. If nIndex == -1, insert to the end. + + bool SetText( _In_z_ LPCWSTR wszText ); // Uniscribe - HRESULT CPtoX( int nCP, BOOL bTrail, int* pX ); - HRESULT XtoCP( int nX, int* pCP, int* pnTrail ); - void GetPriorItemPos( int nCP, int* pPrior ); - void GetNextItemPos( int nCP, int* pPrior ); + bool CPtoX( _In_ int nCP, _In_ bool bTrail, _Out_ int* pX ); + bool XtoCP( _In_ int nX, _Out_ int* pCP, _Out_ int* pnTrail ); + void GetPriorItemPos( _In_ int nCP, _Out_ int* pPrior ); + void GetNextItemPos( _In_ int nCP, _Out_ int* pPrior ); private: - HRESULT Analyse(); // Uniscribe -- Analyse() analyses the string in the buffer + HRESULT Analyse(); // Uniscribe -- Analyse() analyses the string in the buffer WCHAR* m_pwszBuffer; // Buffer to hold text int m_nBufferSize; // Size of the buffer allocated, in characters @@ -1235,123 +1035,58 @@ class CUniBuffer DXUTFontNode* m_pFontNode; // Font node for the font that this buffer uses bool m_bAnalyseRequired; // True if the string has changed since last analysis. SCRIPT_STRING_ANALYSIS m_Analysis; // Analysis for the current string - -private: - // Empty implementation of the Uniscribe API - static HRESULT WINAPI Dummy_ScriptApplyDigitSubstitution( const SCRIPT_DIGITSUBSTITUTE*, SCRIPT_CONTROL*, - SCRIPT_STATE* ) - { - return E_NOTIMPL; - } - static HRESULT WINAPI Dummy_ScriptStringAnalyse( HDC, const void*, int, int, int, DWORD, int, SCRIPT_CONTROL*, - SCRIPT_STATE*, const int*, SCRIPT_TABDEF*, const BYTE*, - SCRIPT_STRING_ANALYSIS* ) - { - return E_NOTIMPL; - } - static HRESULT WINAPI Dummy_ScriptStringCPtoX( SCRIPT_STRING_ANALYSIS, int, BOOL, int* ) - { - return E_NOTIMPL; - } - static HRESULT WINAPI Dummy_ScriptStringXtoCP( SCRIPT_STRING_ANALYSIS, int, int*, int* ) - { - return E_NOTIMPL; - } - static HRESULT WINAPI Dummy_ScriptStringFree( SCRIPT_STRING_ANALYSIS* ) - { - return E_NOTIMPL; - } - static const SCRIPT_LOGATTR* WINAPI Dummy_ScriptString_pLogAttr( SCRIPT_STRING_ANALYSIS ) - { - return NULL; - } - static const int* WINAPI Dummy_ScriptString_pcOutChars( SCRIPT_STRING_ANALYSIS ) - { - return NULL; - } - - // Function pointers - static HRESULT( WINAPI* _ScriptApplyDigitSubstitution )( const SCRIPT_DIGITSUBSTITUTE*, - SCRIPT_CONTROL*, SCRIPT_STATE* ); - static HRESULT( WINAPI* _ScriptStringAnalyse )( HDC, const void*, int, int, int, DWORD, int, - SCRIPT_CONTROL*, SCRIPT_STATE*, const int*, - SCRIPT_TABDEF*, const BYTE*, - SCRIPT_STRING_ANALYSIS* ); - static HRESULT( WINAPI* _ScriptStringCPtoX )( SCRIPT_STRING_ANALYSIS, int, BOOL, int* ); - static HRESULT( WINAPI* _ScriptStringXtoCP )( SCRIPT_STRING_ANALYSIS, int, int*, int* ); - static HRESULT( WINAPI* _ScriptStringFree )( SCRIPT_STRING_ANALYSIS* ); - static const SCRIPT_LOGATTR* ( WINAPI*_ScriptString_pLogAttr )( SCRIPT_STRING_ANALYSIS ); - static const int* ( WINAPI*_ScriptString_pcOutChars )( SCRIPT_STRING_ANALYSIS ); - - static HINSTANCE s_hDll; // Uniscribe DLL handle - }; + //----------------------------------------------------------------------------- // EditBox control //----------------------------------------------------------------------------- class CDXUTEditBox : public CDXUTControl { public: - CDXUTEditBox( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTEditBox(); - - virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual bool MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual void UpdateRects(); - virtual bool CanHaveFocus() + CDXUTEditBox( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTEditBox(); + + virtual bool HandleKeyboard( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool MsgProc( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void UpdateRects() override; + virtual bool CanHaveFocus() override { return ( m_bVisible && m_bEnabled ); } - virtual void Render( float fElapsedTime ); - virtual void OnFocusIn(); + virtual void Render( _In_ float fElapsedTime ) override; + virtual void OnFocusIn() override; - void SetText( LPCWSTR wszText, bool bSelected = false ); - LPCWSTR GetText() - { - return m_Buffer.GetBuffer(); - } - int GetTextLength() - { - return m_Buffer.GetTextSize(); - } // Returns text length in chars excluding NULL. - HRESULT GetTextCopy( __out_ecount(bufferCount) LPWSTR strDest, - UINT bufferCount ); - void ClearText(); - virtual void SetTextColor( D3DCOLOR Color ) - { - m_TextColor = Color; - } // Text color - void SetSelectedTextColor( D3DCOLOR Color ) - { - m_SelTextColor = Color; - } // Selected text color - void SetSelectedBackColor( D3DCOLOR Color ) - { - m_SelBkColor = Color; - } // Selected background color - void SetCaretColor( D3DCOLOR Color ) - { - m_CaretColor = Color; - } // Caret color - void SetBorderWidth( int nBorder ) + void SetText( _In_z_ LPCWSTR wszText, _In_ bool bSelected = false ); + LPCWSTR GetText() const { return m_Buffer.GetBuffer(); } + size_t GetTextLength() const { return m_Buffer.GetTextSize(); } // Returns text length in chars excluding nul. + HRESULT GetTextCopy( _Out_writes_(bufferCount) LPWSTR strDest, _In_ UINT bufferCount ) const; + void ClearText(); + + virtual void SetTextColor( _In_ DWORD Color ) override { m_TextColor = Color; } // Text color + void SetSelectedTextColor( _In_ DWORD Color ) { m_SelTextColor = Color; } // Selected text color + void SetSelectedBackColor( _In_ DWORD Color ) { m_SelBkColor = Color; } // Selected background color + void SetCaretColor( _In_ DWORD Color ) { m_CaretColor = Color; } // Caret color + void SetBorderWidth( _In_ int nBorder ) { - m_nBorder = nBorder; UpdateRects(); + m_nBorder = nBorder; + UpdateRects(); } // Border of the window - void SetSpacing( int nSpacing ) + void SetSpacing( _In_ int nSpacing ) { - m_nSpacing = nSpacing; UpdateRects(); + m_nSpacing = nSpacing; + UpdateRects(); } - void ParseFloatArray( float* pNumbers, int nCount ); - void SetTextFloatArray( const float* pNumbers, int nCount ); + void ParseFloatArray( _In_reads_(nCount) float* pNumbers, _In_ int nCount ); + void SetTextFloatArray( _In_reads_(nCount) const float* pNumbers, _In_ int nCount ); protected: - void PlaceCaret( int nCP ); - void DeleteSelectionText(); - void ResetCaretBlink(); - void CopyToClipboard(); - void PasteFromClipboard(); + void PlaceCaret( _In_ int nCP ); + void DeleteSelectionText(); + void ResetCaretBlink(); + void CopyToClipboard(); + void PasteFromClipboard(); CUniBuffer m_Buffer; // Buffer to hold text int m_nBorder; // Border of the window @@ -1365,10 +1100,10 @@ class CDXUTEditBox : public CDXUTControl bool m_bInsertMode; // If true, control is in insert mode. Else, overwrite mode. int m_nSelStart; // Starting position of the selection. The caret marks the end. int m_nFirstVisible;// First visible character in the edit control - D3DCOLOR m_TextColor; // Text color - D3DCOLOR m_SelTextColor; // Selected text color - D3DCOLOR m_SelBkColor; // Selected background color - D3DCOLOR m_CaretColor; // Caret color + DWORD m_TextColor; // Text color + DWORD m_SelTextColor; // Selected text color + DWORD m_SelBkColor; // Selected background color + DWORD m_CaretColor; // Caret color // Mouse-specific bool m_bMouseDrag; // True to indicate drag in progress @@ -1378,6 +1113,9 @@ class CDXUTEditBox : public CDXUTControl }; - - -#endif // DXUT_GUI_H +//----------------------------------------------------------------------------- +void BeginText11(); +void DrawText11DXUT( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3d11DeviceContext, + _In_z_ LPCWSTR strText, _In_ const RECT& rcScreen, _In_ DirectX::XMFLOAT4 vFontColor, + _In_ float fBBWidth, _In_ float fBBHeight, _In_ bool bCenter ); +void EndText11( _In_ ID3D11Device* pd3dDevice, _In_ ID3D11DeviceContext* pd3d11DeviceContext ); diff --git a/FriedLiver/Source/DXUT/Optional/DXUTguiIME.cpp b/FriedLiver/Source/DXUT/Optional/DXUTguiIME.cpp index 11961795..c73eb7a2 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTguiIME.cpp +++ b/FriedLiver/Source/DXUT/Optional/DXUTguiIME.cpp @@ -2,6 +2,9 @@ // File: DXUTguiIME.cpp // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" #include "DXUTgui.h" @@ -10,8 +13,6 @@ #include "DXUTgui.h" #include "DXUTguiIME.h" -#undef min // use __min instead -#undef max // use __max instead #define DXUT_NEAR_BUTTON_DEPTH 0.6f @@ -35,15 +36,16 @@ bool CDXUTIMEEditBox::m_bIMEStaticMsgProcCalled = false; //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTIMEEditBox::CreateIMEEditBox( CDXUTDialog* pDialog, int ID, LPCWSTR strText, int x, int y, int width, int height, bool bIsDefault, CDXUTIMEEditBox** ppCreated ) { - CDXUTIMEEditBox* pEditBox = new CDXUTIMEEditBox( pDialog ); + auto pEditBox = new (std::nothrow) CDXUTIMEEditBox( pDialog ); - if( ppCreated != NULL ) + if( ppCreated ) *ppCreated = pEditBox; - if( pEditBox == NULL ) + if( !pEditBox ) return E_OUTOFMEMORY; // Set the ID and position @@ -60,7 +62,7 @@ HRESULT CDXUTIMEEditBox::CreateIMEEditBox( CDXUTDialog* pDialog, int ID, LPCWSTR //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::InitDefaultElements( CDXUTDialog* pDialog ) +void CDXUTIMEEditBox::InitDefaultElements( _In_ CDXUTDialog* pDialog ) { //------------------------------------- // CDXUTIMEEditBox @@ -108,12 +110,13 @@ void CDXUTIMEEditBox::InitDefaultElements( CDXUTDialog* pDialog ) //-------------------------------------------------------------------------------------- -CDXUTIMEEditBox::CDXUTIMEEditBox( CDXUTDialog* pDialog ) +CDXUTIMEEditBox::CDXUTIMEEditBox( _In_opt_ CDXUTDialog* pDialog ) noexcept : + m_nIndicatorWidth(0), + m_rcIndicator{} { m_Type = DXUT_CONTROL_IMEEDITBOX; m_pDialog = pDialog; - m_nIndicatorWidth = 0; m_ReadingColor = D3DCOLOR_ARGB( 188, 255, 255, 255 ); m_ReadingWinColor = D3DCOLOR_ARGB( 128, 0, 0, 0 ); m_ReadingSelColor = D3DCOLOR_ARGB( 255, 255, 0, 0 ); @@ -142,7 +145,7 @@ CDXUTIMEEditBox::~CDXUTIMEEditBox() //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::SendKey( BYTE nVirtKey ) +void CDXUTIMEEditBox::SendKey( _In_ BYTE nVirtKey ) { keybd_event( nVirtKey, 0, 0, 0 ); keybd_event( nVirtKey, 0, KEYEVENTF_KEYUP, 0 ); @@ -193,7 +196,7 @@ void CDXUTIMEEditBox::UpdateRects() //-------------------------------------------------------------------------------------- // Enable/disable the entire IME system. When disabled, the default IME handling // kicks in. -void CDXUTIMEEditBox::EnableImeSystem( bool bEnable ) +void CDXUTIMEEditBox::EnableImeSystem( _In_ bool bEnable ) { ImeUi_EnableIme( bEnable ); } @@ -214,9 +217,9 @@ void CDXUTIMEEditBox::PumpMessage() { MSG msg; - while( PeekMessageW( &msg, NULL, 0, 0, PM_NOREMOVE ) ) + while( PeekMessageW( &msg, nullptr, 0, 0, PM_NOREMOVE ) ) { - if( !GetMessageW( &msg, NULL, 0, 0 ) ) + if( !GetMessageW( &msg, nullptr, 0, 0 ) ) { PostQuitMessage( ( int )msg.wParam ); return; @@ -245,8 +248,11 @@ void CDXUTIMEEditBox::OnFocusOut() //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTIMEEditBox::StaticMsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { + UNREFERENCED_PARAMETER(hWnd); + UNREFERENCED_PARAMETER(wParam); if( !ImeUi_IsEnabled() ) return false; @@ -295,7 +301,8 @@ bool CDXUTIMEEditBox::StaticMsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM //-------------------------------------------------------------------------------------- -bool CDXUTIMEEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ) +_Use_decl_annotations_ +bool CDXUTIMEEditBox::HandleMouse( UINT uMsg, const POINT& pt, WPARAM wParam, LPARAM lParam ) { if( !m_bEnabled || !m_bVisible ) return false; @@ -305,7 +312,7 @@ bool CDXUTIMEEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lP case WM_LBUTTONDOWN: case WM_LBUTTONDBLCLK: { - DXUTFontNode* pFont = m_pDialog->GetFont( m_Elements.GetAt( 9 )->iFont ); + auto pFont = m_pDialog->GetFont( m_Elements[ 9 ]->iFont ); // Check if this click is on top of the composition string int nCompStrWidth; @@ -430,7 +437,7 @@ bool CDXUTIMEEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lP if( nCharHit >= nEntryStart ) { // Haven't found it. - nEntryStart += lstrlenW( ImeUi_GetCandidate( i ) ) + 1; // plus space separator + nEntryStart += (int)wcslen( ImeUi_GetCandidate( i ) ) + 1; // plus space separator } else { @@ -463,6 +470,7 @@ bool CDXUTIMEEditBox::HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lP //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool CDXUTIMEEditBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) { if( !m_bEnabled || !m_bVisible ) @@ -497,15 +505,16 @@ bool CDXUTIMEEditBox::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bReading ) +_Use_decl_annotations_ +void CDXUTIMEEditBox::RenderCandidateReadingWindow( bool bReading ) { RECT rc; UINT nNumEntries = bReading ? 4 : MAX_CANDLIST; - D3DCOLOR TextColor, TextBkColor, SelTextColor, SelBkColor; int nX, nXFirst, nXComp; m_Buffer.CPtoX( m_nCaret, FALSE, &nX ); m_Buffer.CPtoX( m_nFirstVisible, FALSE, &nXFirst ); + DWORD TextColor, TextBkColor, SelTextColor, SelBkColor; if( bReading ) { TextColor = m_ReadingColor; @@ -545,9 +554,9 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe if( *( ImeUi_GetCandidate( i ) ) == L'\0' ) break; SetRect( &rc, 0, 0, 0, 0 ); - m_pDialog->CalcTextRect( ImeUi_GetCandidate( i ), m_Elements.GetAt( 1 ), &rc ); - nWidthRequired = __max( nWidthRequired, rc.right - rc.left ); - nSingleLineHeight = __max( nSingleLineHeight, rc.bottom - rc.top ); + m_pDialog->CalcTextRect( ImeUi_GetCandidate( i ), m_Elements[ 1 ], &rc ); + nWidthRequired = std::max( nWidthRequired, rc.right - rc.left ); + nSingleLineHeight = std::max( nSingleLineHeight, rc.bottom - rc.top ); } nHeightRequired = nSingleLineHeight * nNumEntries; } @@ -556,7 +565,7 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe // Horizontal window SetRect( &rc, 0, 0, 0, 0 ); if( bReading ) - m_pDialog->CalcTextRect( s_wszReadingString, m_Elements.GetAt( 1 ), &rc ); + m_pDialog->CalcTextRect( s_wszReadingString, m_Elements[ 1 ], &rc ); else { @@ -570,19 +579,19 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe break; WCHAR wszEntry[32]; - swprintf_s( wszEntry, 32, L"%s ", ImeUi_GetCandidate( i ) ); + swprintf_s( wszEntry, 32, L"%ls ", ImeUi_GetCandidate( i ) ); // If this is the selected entry, mark its char position. if( ImeUi_GetCandidateSelection() == i ) { - s_CandList.nFirstSelected = lstrlen( wszCand ); - s_CandList.nHoriSelectedLen = lstrlen( wszEntry ) - 1; // Minus space + s_CandList.nFirstSelected = (int)wcslen( wszCand ); + s_CandList.nHoriSelectedLen = (int)wcslen( wszEntry ) - 1; // Minus space } wcscat_s( wszCand, 256, wszEntry ); } - wszCand[lstrlen( wszCand ) - 1] = L'\0'; // Remove the last space + wszCand[wcslen( wszCand ) - 1] = L'\0'; // Remove the last space s_CandList.HoriCand.SetText( wszCand ); - m_pDialog->CalcTextRect( s_CandList.HoriCand.GetBuffer(), m_Elements.GetAt( 1 ), &rc ); + m_pDialog->CalcTextRect( s_CandList.HoriCand.GetBuffer(), m_Elements[ 1 ], &rc ); } nWidthRequired = rc.right - rc.left; nSingleLineHeight = nHeightRequired = rc.bottom - rc.top; @@ -670,12 +679,12 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe if( ImeUi_GetCandidateSelection() == i ) { m_pDialog->DrawRect( &rc, SelBkColor ); - m_Elements.GetAt( 1 )->FontColor.Current = SelTextColor; + m_Elements[ 1 ]->FontColor.SetCurrent( SelTextColor ); } else - m_Elements.GetAt( 1 )->FontColor.Current = TextColor; + m_Elements[ 1 ]->FontColor.SetCurrent( TextColor ); - m_pDialog->DrawText( ImeUi_GetCandidate( i ), m_Elements.GetAt( 1 ), &rc ); + m_pDialog->DrawText( ImeUi_GetCandidate( i ), m_Elements[ 1 ], &rc ); rc.top += nSingleLineHeight; } @@ -683,11 +692,11 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe else { // Horizontal candidate window - m_Elements.GetAt( 1 )->FontColor.Current = TextColor; + m_Elements[ 1 ]->FontColor.SetCurrent( TextColor ); if( bReading ) - m_pDialog->DrawText( s_wszReadingString, m_Elements.GetAt( 1 ), &rc ); + m_pDialog->DrawText( s_wszReadingString, m_Elements[ 1 ], &rc ); else - m_pDialog->DrawText( s_CandList.HoriCand.GetBuffer(), m_Elements.GetAt( 1 ), &rc ); + m_pDialog->DrawText( s_CandList.HoriCand.GetBuffer(), m_Elements[ 1 ], &rc ); // Render the selected entry differently if( !bReading ) @@ -699,16 +708,16 @@ void CDXUTIMEEditBox::RenderCandidateReadingWindow( float fElapsedTime, bool bRe rc.right = rc.left + nXRight; rc.left += nXLeft; m_pDialog->DrawRect( &rc, SelBkColor ); - m_Elements.GetAt( 1 )->FontColor.Current = SelTextColor; + m_Elements[ 1 ]->FontColor.SetCurrent( SelTextColor ); m_pDialog->DrawText( s_CandList.HoriCand.GetBuffer() + s_CandList.nFirstSelected, - m_Elements.GetAt( 1 ), &rc, false, s_CandList.nHoriSelectedLen ); + m_Elements[ 1 ], &rc, false ); } } } //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) +void CDXUTIMEEditBox::RenderComposition() { s_CompString.SetText( ImeUi_GetCompositionString() ); @@ -720,7 +729,7 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) int nX, nXFirst; m_Buffer.CPtoX( m_nCaret, FALSE, &nX ); m_Buffer.CPtoX( m_nFirstVisible, FALSE, &nXFirst ); - CDXUTElement* pElement = m_Elements.GetAt( 1 ); + auto pElement = m_Elements[ 1 ]; // Get the required width RECT rc = @@ -743,10 +752,10 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) s_ptCompString.x = rc.left; s_ptCompString.y = rc.top; - D3DCOLOR TextColor = m_CompColor; + DWORD TextColor = m_CompColor; // Render the window and string. // If the string is too long, we must wrap the line. - pElement->FontColor.Current = TextColor; + pElement->FontColor.SetCurrent( TextColor ); const WCHAR* pwszComp = s_CompString.GetBuffer(); int nCharLeft = s_CompString.GetTextSize(); for(; ; ) @@ -755,7 +764,7 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) int nLastInLine; int bTrail; s_CompString.XtoCP( m_rcText.right - rc.left, &nLastInLine, &bTrail ); - int nNumCharToDraw = __min( nCharLeft, nLastInLine ); + int nNumCharToDraw = std::min( nCharLeft, nLastInLine ); m_pDialog->CalcTextRect( pwszComp, pElement, &rc, nNumCharToDraw ); // Draw the background @@ -772,7 +781,7 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) // Not drawing composition string background. We // use the editbox's text color for composition // string text. - TextColor = m_Elements.GetAt( 0 )->FontColor.States[DXUT_STATE_NORMAL]; + TextColor = m_Elements[ 0 ]->FontColor.States[DXUT_STATE_NORMAL]; } } else @@ -782,8 +791,8 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) } // Draw the text - pElement->FontColor.Current = TextColor; - m_pDialog->DrawText( pwszComp, pElement, &rc, false, nNumCharToDraw ); + pElement->FontColor.SetCurrent( TextColor ); + m_pDialog->DrawText( pwszComp, pElement, &rc, false ); // Advance pointer and counter nCharLeft -= nNumCharToDraw; @@ -809,7 +818,7 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) for( pcComp = s_CompString.GetBuffer(), pAttr = ImeUi_GetCompStringAttr(); *pcComp != L'\0'; ++pcComp, ++pAttr ) { - D3DCOLOR bkColor; + DWORD bkColor; // Render a different background for this character int nXLeft, nXRight; @@ -840,12 +849,12 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) // Set up color based on the character attribute if( *pAttr == ATTR_TARGET_CONVERTED ) { - pElement->FontColor.Current = m_CompTargetColor; + pElement->FontColor.SetCurrent( m_CompTargetColor ); bkColor = m_CompTargetBkColor; } else if( *pAttr == ATTR_TARGET_NOTCONVERTED ) { - pElement->FontColor.Current = m_CompTargetNonColor; + pElement->FontColor.SetCurrent( m_CompTargetNonColor ); bkColor = m_CompTargetNonBkColor; } else @@ -884,22 +893,22 @@ void CDXUTIMEEditBox::RenderComposition( float fElapsedTime ) //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::RenderIndicator( float fElapsedTime ) +void CDXUTIMEEditBox::RenderIndicator( _In_ float fElapsedTime ) { - CDXUTElement* pElement = m_Elements.GetAt( 9 ); + auto pElement = m_Elements[ 9 ]; pElement->TextureColor.Blend( DXUT_STATE_NORMAL, fElapsedTime ); m_pDialog->DrawSprite( pElement, &m_rcIndicator, DXUT_NEAR_BUTTON_DEPTH ); RECT rc = m_rcIndicator; InflateRect( &rc, -m_nSpacing, -m_nSpacing ); - pElement->FontColor.Current = m_IndicatorImeColor; + pElement->FontColor.SetCurrent( m_IndicatorImeColor ); RECT rcCalc = { 0, 0, 0, 0 }; // If IME system is off, draw English indicator. - WCHAR* pwszIndicator = ImeUi_IsEnabled() ? ImeUi_GetIndicatior() : L"En"; + const WCHAR* pwszIndicator = ImeUi_IsEnabled() ? ImeUi_GetIndicatior() : L"En"; m_pDialog->CalcTextRect( pwszIndicator, pElement, &rcCalc ); m_pDialog->DrawText( pwszIndicator, pElement, &rc ); @@ -907,7 +916,7 @@ void CDXUTIMEEditBox::RenderIndicator( float fElapsedTime ) //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::Render( float fElapsedTime ) +void CDXUTIMEEditBox::Render( _In_ float fElapsedTime ) { if( m_bVisible == false ) return; @@ -920,7 +929,7 @@ void CDXUTIMEEditBox::Render( float fElapsedTime ) { 0, 0, 0, 0 }; - m_pDialog->CalcTextRect( L"En", m_Elements.GetAt( 9 ), &rc ); + m_pDialog->CalcTextRect( L"En", m_Elements[ 9 ], &rc ); m_nIndicatorWidth = rc.right - rc.left; // Update the rectangles now that we have the indicator's width @@ -930,7 +939,7 @@ void CDXUTIMEEditBox::Render( float fElapsedTime ) // Let the parent render first (edit control) CDXUTEditBox::Render( fElapsedTime ); - CDXUTElement* pElement = GetElement( 1 ); + auto pElement = GetElement( 1 ); if( pElement ) { s_CompString.SetFontNode( m_pDialog->GetFont( pElement->iFont ) ); @@ -951,35 +960,35 @@ void CDXUTIMEEditBox::Render( float fElapsedTime ) // Display the composition string. // This method should also update s_ptCompString // for RenderCandidateReadingWindow. - RenderComposition( fElapsedTime ); + RenderComposition(); // Display the reading/candidate window. RenderCandidateReadingWindow() // uses s_ptCompString to position itself. s_ptCompString must have // been filled in by RenderComposition(). if( ImeUi_IsShowReadingWindow() ) // Reading window - RenderCandidateReadingWindow( fElapsedTime, true ); + RenderCandidateReadingWindow( true ); else if( ImeUi_IsShowCandListWindow() ) // Candidate list window - RenderCandidateReadingWindow( fElapsedTime, false ); + RenderCandidateReadingWindow( false ); } } //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::SetImeEnableFlag( bool bFlag ) +void CDXUTIMEEditBox::SetImeEnableFlag( _In_ bool bFlag ) { s_bImeFlag = bFlag; } //-------------------------------------------------------------------------------------- -void CDXUTIMEEditBox::Initialize( HWND hWnd ) +void CDXUTIMEEditBox::Initialize( _In_ HWND hWnd ) { - ImeUiCallback_DrawRect = NULL; + ImeUiCallback_DrawRect = nullptr; ImeUiCallback_Malloc = malloc; ImeUiCallback_Free = free; - ImeUiCallback_DrawFans = NULL; + ImeUiCallback_DrawFans = nullptr; ImeUi_Initialize( hWnd ); diff --git a/FriedLiver/Source/DXUT/Optional/DXUTguiIME.h b/FriedLiver/Source/DXUT/Optional/DXUTguiIME.h index d5a35a5b..aaa9a323 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTguiIME.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTguiIME.h @@ -2,16 +2,16 @@ // File: DXUTguiIME.h // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_IME_H -#define DXUT_IME_H #include #include #include "ImeUi.h" - //-------------------------------------------------------------------------------------- // Forward declarations //-------------------------------------------------------------------------------------- @@ -28,37 +28,37 @@ class CDXUTIMEEditBox : public CDXUTEditBox { public: - static HRESULT CreateIMEEditBox( CDXUTDialog* pDialog, int ID, LPCWSTR strText, int x, int y, int width, - int height, bool bIsDefault=false, CDXUTIMEEditBox** ppCreated=NULL ); + static HRESULT CreateIMEEditBox( _In_ CDXUTDialog* pDialog, _In_ int ID, _In_z_ LPCWSTR strText, _In_ int x, _In_ int y, _In_ int width, + _In_ int height, _In_ bool bIsDefault=false, _Outptr_opt_ CDXUTIMEEditBox** ppCreated=nullptr ); - CDXUTIMEEditBox( CDXUTDialog* pDialog = NULL ); - virtual ~CDXUTIMEEditBox(); + CDXUTIMEEditBox( _In_opt_ CDXUTDialog* pDialog = nullptr ) noexcept; + virtual ~CDXUTIMEEditBox(); - static void InitDefaultElements( CDXUTDialog* pDialog ); + static void InitDefaultElements( _In_ CDXUTDialog* pDialog ); - static void WINAPI Initialize( HWND hWnd ); - static void WINAPI Uninitialize(); + static void WINAPI Initialize( _In_ HWND hWnd ); + static void WINAPI Uninitialize(); static HRESULT WINAPI StaticOnCreateDevice(); - static bool WINAPI StaticMsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); + static bool WINAPI StaticMsgProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); - static void WINAPI SetImeEnableFlag( bool bFlag ); + static void WINAPI SetImeEnableFlag( _In_ bool bFlag ); - virtual void Render( float fElapsedTime ); - virtual bool MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam ); - virtual bool HandleMouse( UINT uMsg, POINT pt, WPARAM wParam, LPARAM lParam ); - virtual void UpdateRects(); - virtual void OnFocusIn(); - virtual void OnFocusOut(); + virtual void Render( _In_ float fElapsedTime ) override; + virtual bool MsgProc( _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual bool HandleMouse( _In_ UINT uMsg, _In_ const POINT& pt, _In_ WPARAM wParam, _In_ LPARAM lParam ) override; + virtual void UpdateRects() override; + virtual void OnFocusIn() override; + virtual void OnFocusOut() override; - void PumpMessage(); + void PumpMessage(); - virtual void RenderCandidateReadingWindow( float fElapsedTime, bool bReading ); - virtual void RenderComposition( float fElapsedTime ); - virtual void RenderIndicator( float fElapsedTime ); + virtual void RenderCandidateReadingWindow( _In_ bool bReading ); + virtual void RenderComposition(); + virtual void RenderIndicator( _In_ float fElapsedTime ); protected: - static void WINAPI EnableImeSystem( bool bEnable ); + static void WINAPI EnableImeSystem( _In_ bool bEnable ); static WORD WINAPI GetLanguage() { @@ -68,8 +68,8 @@ class CDXUTIMEEditBox : public CDXUTEditBox { return ImeUi_GetPrimaryLanguage(); } - static void WINAPI SendKey( BYTE nVirtKey ); - static DWORD WINAPI GetImeId( UINT uIndex = 0 ) + static void WINAPI SendKey( _In_ BYTE nVirtKey ); + static DWORD WINAPI GetImeId( _In_ UINT uIndex = 0 ) { return ImeUi_GetImeId( uIndex ); }; @@ -97,6 +97,12 @@ class CDXUTIMEEditBox : public CDXUTEditBox int nFirstSelected; // First character position of the selected string in HoriCand int nHoriSelectedLen; // Length of the selected string in HoriCand RECT rcCandidate; // Candidate rectangle computed and filled each time before rendered + + CCandList() noexcept : + nFirstSelected(0), + nHoriSelectedLen(0), + rcCandidate{} + {} }; static POINT s_ptCompString; // Composition string position. Updated every frame. @@ -108,24 +114,24 @@ class CDXUTIMEEditBox : public CDXUTEditBox static bool s_bImeFlag; // Is ime enabled // Color of various IME elements - D3DCOLOR m_ReadingColor; // Reading string color - D3DCOLOR m_ReadingWinColor; // Reading window color - D3DCOLOR m_ReadingSelColor; // Selected character in reading string - D3DCOLOR m_ReadingSelBkColor; // Background color for selected char in reading str - D3DCOLOR m_CandidateColor; // Candidate string color - D3DCOLOR m_CandidateWinColor; // Candidate window color - D3DCOLOR m_CandidateSelColor; // Selected candidate string color - D3DCOLOR m_CandidateSelBkColor; // Selected candidate background color - D3DCOLOR m_CompColor; // Composition string color - D3DCOLOR m_CompWinColor; // Composition string window color - D3DCOLOR m_CompCaretColor; // Composition string caret color - D3DCOLOR m_CompTargetColor; // Composition string target converted color - D3DCOLOR m_CompTargetBkColor; // Composition string target converted background - D3DCOLOR m_CompTargetNonColor; // Composition string target non-converted color - D3DCOLOR m_CompTargetNonBkColor;// Composition string target non-converted background - D3DCOLOR m_IndicatorImeColor; // Indicator text color for IME - D3DCOLOR m_IndicatorEngColor; // Indicator text color for English - D3DCOLOR m_IndicatorBkColor; // Indicator text background color + DWORD m_ReadingColor; // Reading string color + DWORD m_ReadingWinColor; // Reading window color + DWORD m_ReadingSelColor; // Selected character in reading string + DWORD m_ReadingSelBkColor; // Background color for selected char in reading str + DWORD m_CandidateColor; // Candidate string color + DWORD m_CandidateWinColor; // Candidate window color + DWORD m_CandidateSelColor; // Selected candidate string color + DWORD m_CandidateSelBkColor; // Selected candidate background color + DWORD m_CompColor; // Composition string color + DWORD m_CompWinColor; // Composition string window color + DWORD m_CompCaretColor; // Composition string caret color + DWORD m_CompTargetColor; // Composition string target converted color + DWORD m_CompTargetBkColor; // Composition string target converted background + DWORD m_CompTargetNonColor; // Composition string target non-converted color + DWORD m_CompTargetNonBkColor;// Composition string target non-converted background + DWORD m_IndicatorImeColor; // Indicator text color for IME + DWORD m_IndicatorEngColor; // Indicator text color for English + DWORD m_IndicatorBkColor; // Indicator text background color // Edit-control-specific data int m_nIndicatorWidth; // Width of the indicator symbol @@ -135,7 +141,3 @@ class CDXUTIMEEditBox : public CDXUTEditBox static bool m_bIMEStaticMsgProcCalled; #endif }; - - - -#endif // DXUT_IME_H diff --git a/FriedLiver/Source/DXUT/Optional/DXUTres.cpp b/FriedLiver/Source/DXUT/Optional/DXUTres.cpp index 95bc43ac..9b00bd14 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTres.cpp +++ b/FriedLiver/Source/DXUT/Optional/DXUTres.cpp @@ -1,11 +1,16 @@ //---------------------------------------------------------------------------- // File: DXUTRes.cpp // -// Copyright (c) Microsoft Corp. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //----------------------------------------------------------------------------- #include "DXUT.h" #include "DXUTres.h" +#include "DDSTextureLoader.h" + static const DWORD g_DXUTGUITextureSrcData[] = { 0x20534444, 0x0000007c, 0x00001007, 0x00000100, 0x00000100, 0x00000000, 0x00000000, 0x00000000, @@ -8283,57 +8288,24 @@ static const DWORD g_DXUTArrowMeshSrcData[] = static const UINT g_DXUTArrowMeshSrcDataSizeInBytes = 2193; -//----------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateGUITextureFromInternalArray9( LPDIRECT3DDEVICE9 pd3dDevice, IDirect3DTexture9** ppTexture, D3DXIMAGE_INFO* pInfo ) -{ - return D3DXCreateTextureFromFileInMemoryEx( pd3dDevice, g_DXUTGUITextureSrcData, g_DXUTGUITextureSrcDataSizeInBytes, - D3DX_DEFAULT, D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, - D3DX_DEFAULT, D3DX_DEFAULT, 0, pInfo, NULL, ppTexture ); -} - //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateGUITextureFromInternalArray11(ID3D11Device* pd3dDevice, ID3D11Texture2D** ppTexture, D3DX11_IMAGE_INFO* pInfo) +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateGUITextureFromInternalArray(ID3D11Device* pd3dDevice, ID3D11Texture2D** ppTexture) { - HRESULT hr; - - D3DX11_IMAGE_INFO SrcInfo; - if( !pInfo ) - { - D3DX11GetImageInfoFromMemory( g_DXUTGUITextureSrcData, g_DXUTGUITextureSrcDataSizeInBytes, NULL, &SrcInfo, NULL ); - pInfo = &SrcInfo; - } - - ID3D11Resource *pRes; - D3DX11_IMAGE_LOAD_INFO loadInfo; - loadInfo.Width = D3DX11_DEFAULT; - loadInfo.Height = D3DX11_DEFAULT; - loadInfo.Depth = D3DX11_DEFAULT; - loadInfo.FirstMipLevel = 0; - loadInfo.MipLevels = 1; - loadInfo.Usage = D3D11_USAGE_DEFAULT; - loadInfo.BindFlags = D3D11_BIND_SHADER_RESOURCE; - loadInfo.CpuAccessFlags = 0; - loadInfo.MiscFlags = 0; - //loadInfo.Format = MAKE_TYPELESS( pInfo->Format ); - loadInfo.Format = MAKE_SRGB( pInfo->Format ); - loadInfo.Filter = D3DX11_FILTER_NONE; - loadInfo.MipFilter = D3DX11_FILTER_NONE; - loadInfo.pSrcInfo = pInfo; + if ( !ppTexture ) + return E_INVALIDARG; - hr = D3DX11CreateTextureFromMemory( pd3dDevice, g_DXUTGUITextureSrcData, g_DXUTGUITextureSrcDataSizeInBytes, &loadInfo, NULL, &pRes, NULL ); - if( FAILED( hr ) ) + ID3D11Resource *pRes = nullptr; + HRESULT hr = DirectX::CreateDDSTextureFromMemory( pd3dDevice, + reinterpret_cast(g_DXUTGUITextureSrcData), g_DXUTGUITextureSrcDataSizeInBytes, + &pRes, nullptr ); + if ( FAILED(hr) ) return hr; + DXUT_SetDebugName( pRes, "DXUT" ); + hr = pRes->QueryInterface( __uuidof( ID3D11Texture2D ), (LPVOID*)ppTexture ); SAFE_RELEASE( pRes ); - return S_OK; + return hr; } - -//----------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateArrowMeshFromInternalArray( LPDIRECT3DDEVICE9 pd3dDevice, ID3DXMesh** ppMesh ) -{ - return D3DXLoadMeshFromXInMemory( g_DXUTArrowMeshSrcData, g_DXUTArrowMeshSrcDataSizeInBytes, - D3DXMESH_MANAGED, pd3dDevice, NULL, NULL, NULL, NULL, ppMesh ); -} - diff --git a/FriedLiver/Source/DXUT/Optional/DXUTres.h b/FriedLiver/Source/DXUT/Optional/DXUTres.h index beab017d..3259f67b 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTres.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTres.h @@ -3,16 +3,11 @@ // // Functions to create DXUT media from arrays in memory // -// Copyright (c) Microsoft Corp. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //----------------------------------------------------------------------------- #pragma once -#ifndef DXUT_RES_H -#define DXUT_RES_H - -HRESULT WINAPI DXUTCreateGUITextureFromInternalArray9( LPDIRECT3DDEVICE9 pd3dDevice, IDirect3DTexture9** ppTexture, - D3DXIMAGE_INFO* pInfo ); -HRESULT WINAPI DXUTCreateGUITextureFromInternalArray11( ID3D11Device* pd3dDevice, ID3D11Texture2D** ppTexture, - D3DX11_IMAGE_INFO* pInfo ); -HRESULT WINAPI DXUTCreateArrowMeshFromInternalArray( LPDIRECT3DDEVICE9 pd3dDevice, ID3DXMesh** ppMesh ); -#endif +HRESULT WINAPI DXUTCreateGUITextureFromInternalArray( _In_ ID3D11Device* pd3dDevice, _Outptr_ ID3D11Texture2D** ppTexture ); diff --git a/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.cpp b/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.cpp index 334fa26b..d438b361 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.cpp +++ b/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.cpp @@ -3,24 +3,21 @@ // // Dialog for selection of device settings // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" #include "DXUTgui.h" #include "DXUTsettingsDlg.h" -#undef min // use __min instead -#undef max // use __max instead - //-------------------------------------------------------------------------------------- // Internal functions forward declarations //-------------------------------------------------------------------------------------- -WCHAR* DXUTAPIVersionToString( DXUTDeviceVersion version ); -WCHAR* DXUTPresentIntervalToString( UINT pi ); -WCHAR* DXUTMultisampleTypeToString( D3DMULTISAMPLE_TYPE MultiSampleType ); -WCHAR* DXUTD3DDeviceTypeToString( D3DDEVTYPE devType ); -WCHAR* DXUTD3DX11DeviceTypeToString( D3D_DRIVER_TYPE devType ); -WCHAR* DXUTVertexProcessingTypeToString( DWORD vpt ); +const WCHAR* DXUTPresentIntervalToString( _In_ UINT pi ); +const WCHAR* DXUTDeviceTypeToString( _In_ D3D_DRIVER_TYPE devType ); +const WCHAR* DXUTVertexProcessingTypeToString( _In_ DWORD vpt ); HRESULT DXUTSnapDeviceSettingsToEnumDevice( DXUTDeviceSettings* pDeviceSettings, bool forceEnum, D3D_FEATURE_LEVEL forceFL = D3D_FEATURE_LEVEL(0) ); @@ -39,19 +36,28 @@ CD3DSettingsDlg* WINAPI DXUTGetD3DSettingsDialog() //-------------------------------------------------------------------------------------- -CD3DSettingsDlg::CD3DSettingsDlg() +CD3DSettingsDlg::CD3DSettingsDlg() noexcept : + m_pActiveDialog(nullptr), + m_Dialog{}, + m_nRevertModeTimeout(0), + m_nIDEvent(0), + m_bActive( false ), + m_Levels{} { - m_pStateBlock = NULL; - m_bActive = false; - m_pActiveDialog = NULL; - m_Levels[0] = D3D_FEATURE_LEVEL_9_1; m_Levels[1] = D3D_FEATURE_LEVEL_9_2; m_Levels[2] = D3D_FEATURE_LEVEL_9_3; m_Levels[3] = D3D_FEATURE_LEVEL_10_0; m_Levels[4] = D3D_FEATURE_LEVEL_10_1; m_Levels[5] = D3D_FEATURE_LEVEL_11_0; - + m_Levels[6] = D3D_FEATURE_LEVEL_11_1; +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + m_Levels[7] = D3D_FEATURE_LEVEL_12_0; + m_Levels[8] = D3D_FEATURE_LEVEL_12_1; +#else + m_Levels[7] = static_cast(0xc000); + m_Levels[8] = static_cast(0xc100); +#endif } @@ -59,18 +65,18 @@ CD3DSettingsDlg::CD3DSettingsDlg() CD3DSettingsDlg::~CD3DSettingsDlg() { // Release the memory used to hold the D3D11 refresh data in the combo box - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); if( pComboBox ) for( UINT i = 0; i < pComboBox->GetNumItems(); ++i ) { - DXGI_RATIONAL* pRate = reinterpret_cast( pComboBox->GetItemData( i ) ); + auto pRate = reinterpret_cast( pComboBox->GetItemData( i ) ); delete pRate; } } //-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::Init( CDXUTDialogResourceManager* pManager ) +void CD3DSettingsDlg::Init( _In_ CDXUTDialogResourceManager* pManager ) { assert( pManager ); m_Dialog.Init( pManager, false ); // Don't register this dialog. @@ -80,6 +86,7 @@ void CD3DSettingsDlg::Init( CDXUTDialogResourceManager* pManager ) } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CD3DSettingsDlg::Init( CDXUTDialogResourceManager* pManager, LPCWSTR szControlTextureFileName ) { assert( pManager ); @@ -91,6 +98,7 @@ void CD3DSettingsDlg::Init( CDXUTDialogResourceManager* pManager, LPCWSTR szCont //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CD3DSettingsDlg::Init( CDXUTDialogResourceManager* pManager, LPCWSTR pszControlTextureResourcename, HMODULE hModule ) { @@ -111,89 +119,44 @@ void CD3DSettingsDlg::CreateControls() m_Dialog.SetFont( 1, L"Arial", 28, FW_BOLD ); // Right-justify static controls - CDXUTElement* pElement = m_Dialog.GetDefaultElement( DXUT_CONTROL_STATIC, 0 ); + auto pElement = m_Dialog.GetDefaultElement( DXUT_CONTROL_STATIC, 0 ); if( pElement ) { pElement->dwTextFormat = DT_VCENTER | DT_RIGHT; // Title - CDXUTStatic* pStatic = NULL; + CDXUTStatic* pStatic = nullptr; m_Dialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"Direct3D Settings", 10, 5, 400, 50, false, &pStatic ); pElement = pStatic->GetElement( 0 ); pElement->iFont = 1; pElement->dwTextFormat = DT_TOP | DT_LEFT; } - // DXUTSETTINGSDLG_API_VERSION - m_Dialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"API Version", 10, 35, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_API_VERSION, 200, 35, 300, 23 ); - - //DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL_LABEL, L"Feature Level", 10, 60, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL, 200, 60, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL, 200, 60, 400, 23 ); m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL )->SetDropHeight( 106 ); - // DXUTSETTINGSDLG_ADAPTER m_Dialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"Display Adapter", 10, 85, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_ADAPTER, 200, 85, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_ADAPTER, 200, 85, 400, 23 ); // DXUTSETTINGSDLG_DEVICE_TYPE m_Dialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"Render Device", 10, 110, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_DEVICE_TYPE, 200, 110, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_DEVICE_TYPE, 200, 110, 400, 23 ); // DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_FULLSCREEN - m_Dialog.AddCheckBox( DXUTSETTINGSDLG_DEVICECLIP, L"Clip to device when window spans across multiple monitors", - 250, 136, 500, 16 ); m_Dialog.AddRadioButton( DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_WINDOWED_GROUP, L"Windowed", 360, 157, 100, 16 ); m_Dialog.AddRadioButton( DXUTSETTINGSDLG_FULLSCREEN, DXUTSETTINGSDLG_WINDOWED_GROUP, L"Full Screen", 220, 157, 100, 16 ); - // DXUTSETTINGSDLG_ADAPTER_FORMAT - m_Dialog.AddStatic( DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL, L"Adapter Format", 10, 175, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT, 200, 175, 300, 23 ); - - // DXUTSETTINGSDLG_RESOLUTION - m_Dialog.AddStatic( DXUTSETTINGSDLG_RESOLUTION_LABEL, L"Resolution", 10, 200, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_RESOLUTION, 200, 200, 200, 23 ); - m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION )->SetDropHeight( 106 ); - // DXUTSETTINGSDLG_RES_SHOW_ALL m_Dialog.AddCheckBox( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL, L"Show All Aspect Ratios", 420, 200, 200, 23, false ); - // DXUTSETTINGSDLG_REFRESH_RATE - m_Dialog.AddStatic( DXUTSETTINGSDLG_REFRESH_RATE_LABEL, L"Refresh Rate", 10, 225, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_REFRESH_RATE, 200, 225, 300, 23 ); - - // DXUTSETTINGSDLG_BACK_BUFFER_FORMAT - m_Dialog.AddStatic( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT_LABEL, L"Back Buffer Format", 10, 260, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT, 200, 260, 300, 23 ); - - // DXUTSETTINGSDLG_DEPTH_STENCIL - m_Dialog.AddStatic( DXUTSETTINGSDLG_DEPTH_STENCIL_LABEL, L"Depth/Stencil Format", 10, 285, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL, 200, 285, 300, 23 ); - - // DXUTSETTINGSDLG_MULTISAMPLE_TYPE - m_Dialog.AddStatic( DXUTSETTINGSDLG_MULTISAMPLE_TYPE_LABEL, L"Multisample Type", 10, 310, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE, 200, 310, 300, 23 ); - - // DXUTSETTINGSDLG_MULTISAMPLE_QUALITY - m_Dialog.AddStatic( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY_LABEL, L"Multisample Quality", 10, 335, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY, 200, 335, 300, 23 ); - - // DXUTSETTINGSDLG_VERTEX_PROCESSING - m_Dialog.AddStatic( DXUTSETTINGSDLG_VERTEX_PROCESSING_LABEL, L"Vertex Processing", 10, 360, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_VERTEX_PROCESSING, 200, 360, 300, 23 ); - - // DXUTSETTINGSDLG_PRESENT_INTERVAL - m_Dialog.AddStatic( DXUTSETTINGSDLG_PRESENT_INTERVAL_LABEL, L"Vertical Sync", 10, 385, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_PRESENT_INTERVAL, 200, 385, 300, 23 ); - // DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL, L"Adapter Output", 10, 175, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT, 200, 175, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT, 200, 175, 400, 23 ); // DXUTSETTINGSDLG_D3D11_RESOLUTION m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_RESOLUTION_LABEL, L"Resolution", 10, 200, 180, 23 ); @@ -202,23 +165,30 @@ void CD3DSettingsDlg::CreateControls() // DXUTSETTINGSDLG_D3D11_REFRESH_RATE m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_REFRESH_RATE_LABEL, L"Refresh Rate", 10, 225, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE, 200, 225, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE, 200, 225, 400, 23 ); // DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT_LABEL, L"Back Buffer Format", 10, 260, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT, 200, 260, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT, 200, 260, 400, 23 ); // DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT_LABEL, L"Multisample Count", 10, 285, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT, 200, 285, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT, 200, 285, 400, 23 ); // DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY_LABEL, L"Multisample Quality", 10, 310, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY, 200, 310, 300, 23 ); + m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY, 200, 310, 400, 23 ); // DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL m_Dialog.AddStatic( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL_LABEL, L"Vertical Sync", 10, 335, 180, 23 ); - m_Dialog.AddComboBox( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL, 200, 335, 300, 23 ); + m_Dialog.AddComboBox(DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL, 200, 335, 400, 23); + + auto pPresentIntervalComboBox = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL); + if (pPresentIntervalComboBox) + { + pPresentIntervalComboBox->AddItem(L"On", ULongToPtr(1)); + pPresentIntervalComboBox->AddItem(L"Off", ULongToPtr(0)); + } // DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE m_Dialog.AddCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE, L"Create Debug Device", 200, 365, 180, 23 ); @@ -239,17 +209,17 @@ void CD3DSettingsDlg::CreateControls() pElement->dwTextFormat = DT_VCENTER | DT_RIGHT; // Title - CDXUTStatic* pStatic = NULL; - m_RevertModeDialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"Do you want to keep these display settings?", 10, 5, - 640, 50, false, &pStatic ); - pElement = pStatic->GetElement( 0 ); + CDXUTStatic* pStatic = nullptr; + if ( SUCCEEDED(m_RevertModeDialog.AddStatic( DXUTSETTINGSDLG_STATIC, L"Do you want to keep these display settings?", 10, 5, + 640, 50, false, &pStatic ) ) ) + pElement = pStatic->GetElement( 0 ); pElement->iFont = 1; pElement->dwTextFormat = DT_TOP | DT_LEFT; // Timeout static text control - m_RevertModeDialog.AddStatic( DXUTSETTINGSDLG_STATIC_MODE_CHANGE_TIMEOUT, L"", 10, 90, 640, 30, - false, &pStatic ); - pElement = pStatic->GetElement( 0 ); + if ( SUCCEEDED(m_RevertModeDialog.AddStatic( DXUTSETTINGSDLG_STATIC_MODE_CHANGE_TIMEOUT, L"", 10, 90, 640, 30, + false, &pStatic ) ) ) + pElement = pStatic->GetElement( 0 ); pElement->iFont = 0; pElement->dwTextFormat = DT_TOP | DT_LEFT; } @@ -261,224 +231,180 @@ void CD3DSettingsDlg::CreateControls() //-------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnD3D9CreateDevice( IDirect3DDevice9* pd3dDevice ) +// Changes the UI defaults to the current device settings +//-------------------------------------------------------------------------------------- +HRESULT CD3DSettingsDlg::Refresh() { - if( pd3dDevice == NULL ) - return DXUT_ERR_MSGBOX( L"CD3DSettingsDlg::OnCreatedDevice", E_INVALIDARG ); + g_DeviceSettings = DXUTGetDeviceSettings(); - // Create the fonts/textures - m_Dialog.SetCallback( StaticOnEvent, ( void* )this ); - m_RevertModeDialog.SetCallback( StaticOnEvent, ( void* )this ); + auto pD3DEnum = DXUTGetD3D11Enumeration(); - return S_OK; -} + // Fill the UI with the current settings + AddD3D11DeviceType( g_DeviceSettings.d3d11.DriverType ); + m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, true ); + m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_FULLSCREEN, (g_DeviceSettings.d3d11.DriverType != D3D_DRIVER_TYPE_WARP) ); -//-------------------------------------------------------------------------------------- -// Changes the UI defaults to the current device settings -//-------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::Refresh() -{ - HRESULT hr = S_OK; + SetWindowed( FALSE != g_DeviceSettings.d3d11.sd.Windowed ); + auto pOutputInfo = GetCurrentD3D11OutputInfo(); + AddD3D11AdapterOutput( pOutputInfo->Desc.DeviceName, g_DeviceSettings.d3d11.Output ); + + AddD3D11Resolution( g_DeviceSettings.d3d11.sd.BufferDesc.Width, + g_DeviceSettings.d3d11.sd.BufferDesc.Height ); + AddD3D11RefreshRate( g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate ); + AddD3D11BackBufferFormat( g_DeviceSettings.d3d11.sd.BufferDesc.Format ); + AddD3D11MultisampleCount( g_DeviceSettings.d3d11.sd.SampleDesc.Count ); + AddD3D11MultisampleQuality( g_DeviceSettings.d3d11.sd.SampleDesc.Quality ); + + auto pBestDeviceSettingsCombo = pD3DEnum->GetDeviceSettingsCombo( + g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.sd.BufferDesc.Format, + ( g_DeviceSettings.d3d11.sd.Windowed != 0 ) ); - g_DeviceSettings = DXUTGetDeviceSettings(); + if( !pBestDeviceSettingsCombo ) + return DXUT_ERR_MSGBOX( L"GetDeviceSettingsCombo", E_INVALIDARG ); - CDXUTComboBox* pAPIComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_API_VERSION ); - pAPIComboBox->RemoveAllItems(); - if( DXUTDoesAppSupportD3D9() ) - { - // Ensure that at least one adapter got enumerated. - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - if( pD3DEnum->GetAdapterInfoList()->GetSize() > 0 ) - AddAPIVersion( DXUT_D3D9_DEVICE ); - } - if( DXUTDoesAppSupportD3D11() && DXUTIsD3D11Available() ) - { - // Ensure that at least one adapter got enumerated. - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - if( pD3DEnum->GetAdapterInfoList()->GetSize() > 0 ) - AddAPIVersion( DXUT_D3D11_DEVICE ); - } + CDXUTComboBox *pFeatureLevelBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); + pFeatureLevelBox->RemoveAllItems(); - // If no API has been added, something has gone wrong. Exit the dialog. - if( pAPIComboBox->GetNumItems() == 0 ) + D3D_FEATURE_LEVEL clampFL; + if ( g_DeviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + clampFL = DXUTGetD3D11Enumeration()->GetWARPFeaturevel(); + else if ( g_DeviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) + clampFL = DXUTGetD3D11Enumeration()->GetREFFeaturevel(); + else + clampFL = pBestDeviceSettingsCombo->pDeviceInfo->MaxLevel; + + for (int fli = 0; fli < TOTAL_FEATURE_LEVELS; fli++) { - SetActive( false ); - return S_OK; - } + if (m_Levels[fli] >= g_DeviceSettings.MinimumFeatureLevel + && m_Levels[fli] <= clampFL) + { + AddD3D11FeatureLevel( m_Levels[fli] ); + } + } + pFeatureLevelBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.DeviceFeatureLevel ) ); + + // Get the adapters list from CD3D11Enumeration object + auto pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); + + if( pAdapterInfoList->empty() ) + return DXUT_ERR_MSGBOX( L"CD3DSettingsDlg::OnCreatedDevice", DXUTERR_NOCOMPATIBLEDEVICES ); - pAPIComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.ver ) ); + auto pAdapterCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); + pAdapterCombo->RemoveAllItems(); - switch( g_DeviceSettings.ver ) + // Add adapters + for( auto it = pAdapterInfoList->cbegin(); it != pAdapterInfoList->cend(); ++it ) { - case DXUT_D3D9_DEVICE: - { - // Show all D3D9-specific controls and hide controls for all other D3D versions. - ShowControlSet( DXUT_D3D9_DEVICE ); - - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - - // Fill the UI with the current settings - AddDeviceType( g_DeviceSettings.d3d9.DeviceType ); - SetWindowed( FALSE != g_DeviceSettings.d3d9.pp.Windowed ); - SetDeviceClip( 0 != ( g_DeviceSettings.d3d9.pp.Flags & D3DPRESENTFLAG_DEVICECLIP ) ); - AddAdapterFormat( g_DeviceSettings.d3d9.AdapterFormat ); - AddResolution( g_DeviceSettings.d3d9.pp.BackBufferWidth, g_DeviceSettings.d3d9.pp.BackBufferHeight ); - AddRefreshRate( g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz ); - AddBackBufferFormat( g_DeviceSettings.d3d9.pp.BackBufferFormat ); - AddDepthStencilBufferFormat( g_DeviceSettings.d3d9.pp.AutoDepthStencilFormat ); - AddMultisampleType( g_DeviceSettings.d3d9.pp.MultiSampleType ); - AddMultisampleQuality( g_DeviceSettings.d3d9.pp.MultiSampleQuality ); - - if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_PUREDEVICE ) - AddVertexProcessingType( D3DCREATE_PUREDEVICE ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_HARDWARE_VERTEXPROCESSING ) - AddVertexProcessingType( D3DCREATE_HARDWARE_VERTEXPROCESSING ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_SOFTWARE_VERTEXPROCESSING ) - AddVertexProcessingType( D3DCREATE_SOFTWARE_VERTEXPROCESSING ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_MIXED_VERTEXPROCESSING ) - AddVertexProcessingType( D3DCREATE_MIXED_VERTEXPROCESSING ); - - CD3D9EnumDeviceSettingsCombo* pBestDeviceSettingsCombo = pD3DEnum->GetDeviceSettingsCombo( - g_DeviceSettings.d3d9.AdapterOrdinal, g_DeviceSettings.d3d9.DeviceType, - g_DeviceSettings.d3d9.AdapterFormat, g_DeviceSettings.d3d9.pp.BackBufferFormat, - ( g_DeviceSettings.d3d9.pp.Windowed != 0 ) ); - if( NULL == pBestDeviceSettingsCombo ) - return DXUT_ERR_MSGBOX( L"GetDeviceSettingsCombo", E_INVALIDARG ); - - // Get the adapters list from CD3D9Enumeration object - CGrowableArray * pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); - - if( pAdapterInfoList->GetSize() == 0 ) - return DXUT_ERR_MSGBOX( L"CD3DSettingsDlg::OnCreatedDevice", DXUTERR_NOCOMPATIBLEDEVICES ); - - CDXUTComboBox* pAdapterCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - pAdapterCombo->RemoveAllItems(); - - // Add adapters - for( int iAdapter = 0; iAdapter < pAdapterInfoList->GetSize(); iAdapter++ ) - { - CD3D9EnumAdapterInfo* pAdapterInfo = pAdapterInfoList->GetAt( iAdapter ); - AddAdapter( pAdapterInfo->szUniqueDescription, pAdapterInfo->AdapterOrdinal ); - } + AddAdapter( (*it)->szUniqueDescription, (*it)->AdapterOrdinal ); + } - pAdapterCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.AdapterOrdinal ) ); + pAdapterCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.AdapterOrdinal ) ); - hr = OnAPIVersionChanged( true ); - if( FAILED( hr ) ) - return hr; + // DXUTSETTINGSDLG_D3D11_RESOLUTION + HRESULT hr = UpdateD3D11Resolutions(); + if ( FAILED(hr) ) + return hr; - //m_Dialog.Refresh(); - CDXUTDialog::SetRefreshTime( ( float )DXUTGetTime() ); - break; - } - case DXUT_D3D11_DEVICE: - { - // Show all D3D11-specific controls and hide controls for all other D3D versions. - ShowControlSet( DXUT_D3D11_DEVICE ); + // DXUTSETTINGSDLG_D3D11_REFRESH_RATE + hr = UpdateD3D11RefreshRates(); + if ( FAILED(hr) ) + return hr; - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); + // Windowed mode + bool bWindowed = IsWindowed(); - // Fill the UI with the current settings - AddD3D11DeviceType( g_DeviceSettings.d3d11.DriverType ); - SetWindowed( FALSE != g_DeviceSettings.d3d11.sd.Windowed ); - CD3D11EnumOutputInfo* pOutputInfo = GetCurrentD3D11OutputInfo(); - AddD3D11AdapterOutput( pOutputInfo->Desc.DeviceName, g_DeviceSettings.d3d11.Output ); - + // Backbuffer Format/Driver Type + auto pAdapterInfo = GetCurrentD3D11AdapterInfo(); + if (pAdapterInfo) + { + auto pBackBufferFormatComboBox = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT); + pBackBufferFormatComboBox->RemoveAllItems(); + for (size_t idc = 0; idc < pAdapterInfo->deviceSettingsComboList.size(); idc++) + { + auto pDeviceCombo = pAdapterInfo->deviceSettingsComboList[idc]; + if ((pDeviceCombo->Windowed == TRUE) == bWindowed) + { + AddD3D11BackBufferFormat(pDeviceCombo->BackBufferFormat); + } + } - AddD3D11Resolution( g_DeviceSettings.d3d11.sd.BufferDesc.Width, - g_DeviceSettings.d3d11.sd.BufferDesc.Height ); - AddD3D11RefreshRate( g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate ); - AddD3D11BackBufferFormat( g_DeviceSettings.d3d11.sd.BufferDesc.Format ); - AddD3D11MultisampleCount( g_DeviceSettings.d3d11.sd.SampleDesc.Count ); - AddD3D11MultisampleQuality( g_DeviceSettings.d3d11.sd.SampleDesc.Quality ); + pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.d3d11.sd.BufferDesc.Format) ); - CD3D11EnumDeviceSettingsCombo* pBestDeviceSettingsCombo = pD3DEnum->GetDeviceSettingsCombo( - g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.DriverType, - g_DeviceSettings.d3d11.Output, g_DeviceSettings.d3d11.sd.BufferDesc.Format, - ( g_DeviceSettings.d3d11.sd.Windowed != 0 ) ); + auto pDeviceTypeComboBox = m_Dialog.GetComboBox(DXUTSETTINGSDLG_DEVICE_TYPE); + pDeviceTypeComboBox->RemoveAllItems(); - if( NULL == pBestDeviceSettingsCombo ) - return DXUT_ERR_MSGBOX( L"GetDeviceSettingsCombo", E_INVALIDARG ); + for (size_t iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.size(); iDeviceInfo++) + { + auto pDeviceInfo = pAdapterInfo->deviceInfoList[iDeviceInfo]; + AddD3D11DeviceType(pDeviceInfo->DeviceType); + } - CDXUTComboBox *pFeatureLevelBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); - pFeatureLevelBox->RemoveAllItems(); - for (int fli = 0; fli < TOTAL_FEATURE_LEVLES; fli++) { - if (m_Levels[fli] >= g_DeviceSettings.MinimumFeatureLevel - && m_Levels[fli] <=pBestDeviceSettingsCombo->pDeviceInfo->MaxLevel) { - AddD3D11FeatureLevel( m_Levels[fli] ); - } - } - pFeatureLevelBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.DeviceFeatureLevel ) ); + pDeviceTypeComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.d3d11.DriverType) ); + } - - // Get the adapters list from CD3D11Enumeration object - CGrowableArray * pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); + // MSAA settings + auto pDeviceSettingsCombo = GetCurrentD3D11DeviceSettingsCombo(); + if ( pDeviceSettingsCombo ) + { + auto pMultisampleCountCombo = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT); + pMultisampleCountCombo->RemoveAllItems(); - if( pAdapterInfoList->GetSize() == 0 ) - return DXUT_ERR_MSGBOX( L"CD3DSettingsDlg::OnCreatedDevice", DXUTERR_NOCOMPATIBLEDEVICES ); + for (auto it = pDeviceSettingsCombo->multiSampleCountList.cbegin(); it != pDeviceSettingsCombo->multiSampleCountList.cend(); ++it) + AddD3D11MultisampleCount(*it); - CDXUTComboBox* pAdapterCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - pAdapterCombo->RemoveAllItems(); + pMultisampleCountCombo->SetSelectedByData( ULongToPtr(g_DeviceSettings.d3d11.sd.SampleDesc.Count) ); - // Add adapters - for( int iAdapter = 0; iAdapter < pAdapterInfoList->GetSize(); iAdapter++ ) + UINT MaxQuality = 0; + for (size_t iCount = 0; iCount < pDeviceSettingsCombo->multiSampleCountList.size(); iCount++) + { + UINT Count = pDeviceSettingsCombo->multiSampleCountList[iCount]; + if ( Count == g_DeviceSettings.d3d11.sd.SampleDesc.Count ) { - CD3D11EnumAdapterInfo* pAdapterInfo = pAdapterInfoList->GetAt( iAdapter ); - AddAdapter( pAdapterInfo->szUniqueDescription, pAdapterInfo->AdapterOrdinal ); + MaxQuality = pDeviceSettingsCombo->multiSampleQualityList[iCount]; + break; } + } - pAdapterCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.AdapterOrdinal ) ); - - hr = OnAPIVersionChanged( true ); - if( FAILED( hr ) ) - return hr; + auto pMultisampleQualityCombo = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY); + pMultisampleQualityCombo->RemoveAllItems(); - //m_Dialog.Refresh(); - CDXUTDialog::SetRefreshTime( ( float )DXUTGetTime() ); - break; + for (UINT iQuality = 0; iQuality < MaxQuality; iQuality++) + { + AddD3D11MultisampleQuality(iQuality); } - } - - return S_OK; -} + pMultisampleQualityCombo->SetSelectedByData(ULongToPtr(g_DeviceSettings.d3d11.sd.SampleDesc.Quality)); + } -//-------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnD3D9ResetDevice() -{ - const D3DSURFACE_DESC* pDesc = DXUTGetD3D9BackBufferSurfaceDesc(); - m_Dialog.SetLocation( 0, 0 ); - m_Dialog.SetSize( pDesc->Width, pDesc->Height ); - m_Dialog.SetBackgroundColors( D3DCOLOR_ARGB( 255, 98, 138, 206 ), - D3DCOLOR_ARGB( 255, 54, 105, 192 ), - D3DCOLOR_ARGB( 255, 54, 105, 192 ), - D3DCOLOR_ARGB( 255, 10, 73, 179 ) ); + // Misc settings + auto pDebugCheckBox = m_Dialog.GetCheckBox(DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE); + if ( pDebugCheckBox ) + { + pDebugCheckBox->SetChecked(0 != (g_DeviceSettings.d3d11.CreateFlags & D3D11_CREATE_DEVICE_DEBUG)); + } - m_RevertModeDialog.SetLocation( 0, 0 ); - m_RevertModeDialog.SetSize( pDesc->Width, pDesc->Height ); - m_RevertModeDialog.SetBackgroundColors( D3DCOLOR_ARGB( 255, 98, 138, 206 ), - D3DCOLOR_ARGB( 255, 54, 105, 192 ), - D3DCOLOR_ARGB( 255, 54, 105, 192 ), - D3DCOLOR_ARGB( 255, 10, 73, 179 ) ); + auto pPresentIntervalComboBox = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL); + if ( pPresentIntervalComboBox ) + { + pPresentIntervalComboBox->SetSelectedByData(ULongToPtr(g_DeviceSettings.d3d11.SyncInterval) ); + } - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - pd3dDevice->BeginStateBlock(); - pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); - pd3dDevice->EndStateBlock( &m_pStateBlock ); + CDXUTDialog::SetRefreshTime( ( float )DXUTGetTime() ); return S_OK; } + //-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::SetSelectedD3D11RefreshRate( DXGI_RATIONAL RefreshRate ) +void CD3DSettingsDlg::SetSelectedD3D11RefreshRate( _In_ DXGI_RATIONAL RefreshRate ) { - CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); + auto pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); for( UINT i = 0; i < pRefreshRateComboBox->GetNumItems(); ++i ) { - DXGI_RATIONAL* pRate = ( DXGI_RATIONAL* )pRefreshRateComboBox->GetItemData( i ); + auto pRate = reinterpret_cast( pRefreshRateComboBox->GetItemData( i ) ); if( pRate && pRate->Numerator == RefreshRate.Numerator && pRate->Denominator == RefreshRate.Denominator ) { @@ -489,38 +415,7 @@ void CD3DSettingsDlg::SetSelectedD3D11RefreshRate( DXGI_RATIONAL RefreshRate ) } //-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnRender( float fElapsedTime ) -{ - if( DXUTGetD3D11Device() ) - OnRender11( fElapsedTime ); - else - OnRender9( fElapsedTime ); -} - - -//-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnRender9( float fElapsedTime ) -{ - IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device(); - - // Clear the render target and the zbuffer - pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, 0x00003F3F, 1.0f, 0 ); - - // Render the scene - if( SUCCEEDED( pd3dDevice->BeginScene() ) ) - { - m_pStateBlock->Capture(); - pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); - m_pActiveDialog->OnRender( fElapsedTime ); - m_pStateBlock->Apply(); - pd3dDevice->EndScene(); - } -} - - - -//-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnRender11( float fElapsedTime ) +void CD3DSettingsDlg::OnRender( _In_ float fElapsedTime ) { // Render the scene m_pActiveDialog->OnRender( fElapsedTime ); @@ -528,6 +423,7 @@ void CD3DSettingsDlg::OnRender11( float fElapsedTime ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ LRESULT CD3DSettingsDlg::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { m_pActiveDialog->MsgProc( hWnd, uMsg, wParam, lParam ); @@ -536,27 +432,10 @@ LRESULT CD3DSettingsDlg::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP return 0; } - -//-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnD3D9LostDevice() -{ - SAFE_RELEASE( m_pStateBlock ); -} - - -//-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnD3D9DestroyDevice() -{ -} - - - //-------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnD3D11CreateDevice( ID3D11Device* pd3dDevice ) +HRESULT CD3DSettingsDlg::OnD3D11CreateDevice( _In_ ID3D11Device* pd3dDevice ) { - //HRESULT hr; - - if( pd3dDevice == NULL ) + if( !pd3dDevice ) return DXUT_ERR_MSGBOX( L"CD3DSettingsDlg::OnCreatedDevice", E_INVALIDARG ); // Create the fonts/textures @@ -568,9 +447,11 @@ HRESULT CD3DSettingsDlg::OnD3D11CreateDevice( ID3D11Device* pd3dDevice ) //-------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, - const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ) +_Use_decl_annotations_ +HRESULT CD3DSettingsDlg::OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ) { + UNREFERENCED_PARAMETER(pd3dDevice); + m_Dialog.SetLocation( 0, 0 ); m_Dialog.SetSize( pBackBufferSurfaceDesc->Width, pBackBufferSurfaceDesc->Height ); m_Dialog.SetBackgroundColors( D3DCOLOR_ARGB( 255, 98, 138, 206 ), @@ -596,101 +477,13 @@ void CD3DSettingsDlg::OnD3D11DestroyDevice() } -//-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::ShowControlSet( DXUTDeviceVersion ver ) -{ - switch( ver ) - { - case DXUT_D3D9_DEVICE: - - m_Dialog.GetControl( DXUTSETTINGSDLG_ADAPTER_FORMAT )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_RESOLUTION )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_RESOLUTION_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_REFRESH_RATE )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_REFRESH_RATE_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEPTH_STENCIL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEPTH_STENCIL_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_TYPE )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_TYPE_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_VERTEX_PROCESSING )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_VERTEX_PROCESSING_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_PRESENT_INTERVAL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_PRESENT_INTERVAL_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEVICECLIP )->SetVisible( true ); - - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_RESOLUTION )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_RESOLUTION_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_REFRESH_RATE )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_REFRESH_RATE_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE )->SetVisible( false ); - - break; - - case DXUT_D3D11_DEVICE: - m_Dialog.GetControl( DXUTSETTINGSDLG_ADAPTER_FORMAT )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_RESOLUTION )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_RESOLUTION_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_REFRESH_RATE )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_REFRESH_RATE_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEPTH_STENCIL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEPTH_STENCIL_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_TYPE )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_TYPE_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_VERTEX_PROCESSING )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_VERTEX_PROCESSING_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_PRESENT_INTERVAL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_PRESENT_INTERVAL_LABEL )->SetVisible( false ); - m_Dialog.GetControl( DXUTSETTINGSDLG_DEVICECLIP )->SetVisible( false ); - - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_RESOLUTION )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_RESOLUTION_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_REFRESH_RATE )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_REFRESH_RATE_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL_LABEL )->SetVisible( true ); - m_Dialog.GetControl( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE )->SetVisible( true ); - break; - } -} - //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void WINAPI CD3DSettingsDlg::StaticOnEvent( UINT nEvent, int nControlID, CDXUTControl* pControl, void* pUserData ) { - CD3DSettingsDlg* pD3DSettings = ( CD3DSettingsDlg* )pUserData; + auto pD3DSettings = reinterpret_cast( pUserData ); if( pD3DSettings ) pD3DSettings->OnEvent( nEvent, nControlID, pControl ); } @@ -700,26 +493,34 @@ void WINAPI CD3DSettingsDlg::StaticOnEvent( UINT nEvent, int nControlID, // Desc: Timer callback registered by a call to DXUTSetTimer. It is called each second // until mode change timeout limit. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void WINAPI CD3DSettingsDlg::StaticOnModeChangeTimer( UINT nIDEvent, void* pUserContext ) { - CD3DSettingsDlg* pD3DSettings = ( CD3DSettingsDlg* )pUserContext; + UNREFERENCED_PARAMETER(nIDEvent); + + auto pD3DSettings = reinterpret_cast( pUserContext ); assert( pD3DSettings ); + _Analysis_assume_( pD3DSettings ); assert( pD3DSettings->m_pActiveDialog == &pD3DSettings->m_RevertModeDialog ); assert( pD3DSettings->m_nIDEvent == nIDEvent ); if( 0 == --pD3DSettings->m_nRevertModeTimeout ) { - CDXUTControl* pControl = pD3DSettings->m_RevertModeDialog.GetControl( DXUTSETTINGSDLG_MODE_CHANGE_REVERT ); + auto pControl = pD3DSettings->m_RevertModeDialog.GetControl( DXUTSETTINGSDLG_MODE_CHANGE_REVERT ); assert( pControl ); + _Analysis_assume_( pControl ); pD3DSettings->m_RevertModeDialog.SendEvent( EVENT_BUTTON_CLICKED, false, pControl ); } pD3DSettings->UpdateModeChangeTimeoutText( pD3DSettings->m_nRevertModeTimeout ); } //-------------------------------------------------------------------------------------- -void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, - CDXUTControl* pControl ) +_Use_decl_annotations_ +void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, CDXUTControl* pControl ) { + UNREFERENCED_PARAMETER(nEvent); + UNREFERENCED_PARAMETER(pControl); + switch( nControlID ) { case DXUTSETTINGSDLG_ADAPTER: @@ -730,42 +531,10 @@ void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, OnWindowedFullScreenChanged(); break; case DXUTSETTINGSDLG_FULLSCREEN: OnWindowedFullScreenChanged(); break; - case DXUTSETTINGSDLG_ADAPTER_FORMAT: - OnAdapterFormatChanged(); break; case DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL: - { - if( g_DeviceSettings.ver == DXUT_D3D9_DEVICE ) - { - OnAdapterFormatChanged(); - } - else - { - OnBackBufferFormatChanged(); - } - break; - } + OnBackBufferFormatChanged(); break; case DXUTSETTINGSDLG_D3D11_RESOLUTION: OnD3D11ResolutionChanged(); break; - case DXUTSETTINGSDLG_RESOLUTION: - OnResolutionChanged(); break; - case DXUTSETTINGSDLG_REFRESH_RATE: - OnRefreshRateChanged(); break; - case DXUTSETTINGSDLG_BACK_BUFFER_FORMAT: - OnBackBufferFormatChanged(); break; - case DXUTSETTINGSDLG_DEPTH_STENCIL: - OnDepthStencilBufferFormatChanged(); break; - case DXUTSETTINGSDLG_MULTISAMPLE_TYPE: - OnMultisampleTypeChanged(); break; - case DXUTSETTINGSDLG_MULTISAMPLE_QUALITY: - OnMultisampleQualityChanged(); break; - case DXUTSETTINGSDLG_VERTEX_PROCESSING: - OnVertexProcessingChanged(); break; - case DXUTSETTINGSDLG_PRESENT_INTERVAL: - OnPresentIntervalChanged(); break; - case DXUTSETTINGSDLG_DEVICECLIP: - OnDeviceClipChanged(); break; - case DXUTSETTINGSDLG_API_VERSION: - OnAPIVersionChanged(); break; case DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL: OnFeatureLevelChanged(); break; case DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT: @@ -786,69 +555,34 @@ void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, case DXUTSETTINGSDLG_OK: { bool bFullScreenModeChange = false; - DXUTDeviceSettings currentSettings = DXUTGetDeviceSettings(); + auto currentSettings = DXUTGetDeviceSettings(); g_DeviceSettings.MinimumFeatureLevel = currentSettings.MinimumFeatureLevel; - if( g_DeviceSettings.ver == DXUT_D3D9_DEVICE ) + if( g_DeviceSettings.d3d11.sd.Windowed ) { - if( g_DeviceSettings.d3d9.pp.Windowed ) - { - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = 0; - - RECT rcClient; - if( DXUTIsWindowed() ) - GetClientRect( DXUTGetHWND(), &rcClient ); - else - rcClient = DXUTGetWindowClientRectAtModeChange(); - DWORD dwWindowWidth = rcClient.right - rcClient.left; - DWORD dwWindowHeight = rcClient.bottom - rcClient.top; - - g_DeviceSettings.d3d9.pp.BackBufferWidth = dwWindowWidth; - g_DeviceSettings.d3d9.pp.BackBufferHeight = dwWindowHeight; - } + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator = + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator = 0; + + RECT rcClient; + if( DXUTIsWindowed() ) + GetClientRect( DXUTGetHWND(), &rcClient ); else - { - // Check for fullscreen mode change - bFullScreenModeChange = g_DeviceSettings.d3d9.pp.BackBufferWidth != - currentSettings.d3d9.pp.BackBufferWidth || - g_DeviceSettings.d3d9.pp.BackBufferHeight != currentSettings.d3d9.pp.BackBufferHeight || - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz != - currentSettings.d3d9.pp.FullScreen_RefreshRateInHz; - } + rcClient = DXUTGetWindowClientRectAtModeChange(); + DWORD dwWindowWidth = rcClient.right - rcClient.left; + DWORD dwWindowHeight = rcClient.bottom - rcClient.top; - if( g_DeviceSettings.d3d9.pp.MultiSampleType != D3DMULTISAMPLE_NONE ) - { - g_DeviceSettings.d3d9.pp.Flags &= ~D3DPRESENTFLAG_LOCKABLE_BACKBUFFER; - } + g_DeviceSettings.d3d11.sd.BufferDesc.Width = dwWindowWidth; + g_DeviceSettings.d3d11.sd.BufferDesc.Height = dwWindowHeight; } - else // D3D11 + else { - if( g_DeviceSettings.d3d11.sd.Windowed ) - { - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator = - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator = 0; - - RECT rcClient; - if( DXUTIsWindowed() ) - GetClientRect( DXUTGetHWND(), &rcClient ); - else - rcClient = DXUTGetWindowClientRectAtModeChange(); - DWORD dwWindowWidth = rcClient.right - rcClient.left; - DWORD dwWindowHeight = rcClient.bottom - rcClient.top; - - g_DeviceSettings.d3d11.sd.BufferDesc.Width = dwWindowWidth; - g_DeviceSettings.d3d11.sd.BufferDesc.Height = dwWindowHeight; - } - else - { - // Check for fullscreen mode change - bFullScreenModeChange = g_DeviceSettings.d3d11.sd.BufferDesc.Width != - currentSettings.d3d11.sd.BufferDesc.Width || - g_DeviceSettings.d3d11.sd.BufferDesc.Height != currentSettings.d3d11.sd.BufferDesc.Height || - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator != - currentSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator || - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator != - currentSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator; - } + // Check for fullscreen mode change + bFullScreenModeChange = g_DeviceSettings.d3d11.sd.BufferDesc.Width != + currentSettings.d3d11.sd.BufferDesc.Width || + g_DeviceSettings.d3d11.sd.BufferDesc.Height != currentSettings.d3d11.sd.BufferDesc.Height || + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator != + currentSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator || + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator != + currentSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator; } if( bFullScreenModeChange ) @@ -857,20 +591,6 @@ void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, // settings. These will get set to the user-defined settings once the // user accepts the mode change DXUTDeviceSettings tSettings = g_DeviceSettings; - if( g_DeviceSettings.ver == DXUT_D3D9_DEVICE ) - { - g_DeviceSettings.d3d9.pp.BackBufferWidth = - currentSettings.d3d9.pp.BackBufferWidth; - g_DeviceSettings.d3d9.pp.BackBufferHeight = - currentSettings.d3d9.pp.BackBufferHeight; - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = - currentSettings.d3d9.pp.FullScreen_RefreshRateInHz; - g_DeviceSettings.d3d9.pp.Windowed = - currentSettings.d3d9.pp.Windowed; - } - else - { - g_DeviceSettings.d3d11.sd.BufferDesc.Width = currentSettings.d3d11.sd.BufferDesc.Width; g_DeviceSettings.d3d11.sd.BufferDesc.Height = @@ -880,8 +600,6 @@ void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator = currentSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator; g_DeviceSettings.d3d11.sd.Windowed = currentSettings.d3d11.sd.Windowed; - - } // apply the user-defined settings DXUTCreateDeviceFromSettings( &tSettings ); @@ -930,324 +648,154 @@ void CD3DSettingsDlg::OnEvent( UINT nEvent, int nControlID, //------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::SetDeviceSettingsFromUI() -{ - CDXUTComboBox* pComboBox; - CDXUTRadioButton* pRadioButton; - - // DXUTSETTINGSDLG_DEVICE_TYPE - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); - g_DeviceSettings.d3d9.DeviceType = ( D3DDEVTYPE )PtrToUlong( pComboBox->GetSelectedData() ); - - // DXUTSETTINGSDLG_WINDOWED - pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED ); - g_DeviceSettings.d3d9.pp.Windowed = pRadioButton->GetChecked(); - - // DXUTSETTINGSDLG_ADAPTER_FORMAT - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT ); - g_DeviceSettings.d3d9.AdapterFormat = ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); - - if( g_DeviceSettings.d3d9.pp.Windowed ) - { - g_DeviceSettings.d3d9.pp.BackBufferFormat = D3DFMT_UNKNOWN; - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = 0; - } - else - { - // DXUTSETTINGSDLG_BACK_BUFFER_FORMAT - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT ); - g_DeviceSettings.d3d9.pp.BackBufferFormat = ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); - - // DXUTSETTINGSDLG_RESOLUTION - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION ); - DWORD dwResolution = PtrToUlong( pComboBox->GetSelectedData() ); - g_DeviceSettings.d3d9.pp.BackBufferWidth = HIWORD( dwResolution ); - g_DeviceSettings.d3d9.pp.BackBufferHeight = LOWORD( dwResolution ); - - // DXUTSETTINGSDLG_REFRESH_RATE - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE ); - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = PtrToUlong( pComboBox->GetSelectedData() ); - } - - // DXUTSETTINGSDLG_DEPTH_STENCIL - pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL ); - g_DeviceSettings.d3d9.pp.AutoDepthStencilFormat = ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); - - return S_OK; -} - - -//------------------------------------------------------------------------------------- -CD3D9EnumAdapterInfo* CD3DSettingsDlg::GetCurrentAdapterInfo() -{ - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - return pD3DEnum->GetAdapterInfo( g_DeviceSettings.d3d9.AdapterOrdinal ); -} - - -//------------------------------------------------------------------------------------- -CD3D9EnumDeviceInfo* CD3DSettingsDlg::GetCurrentDeviceInfo() -{ - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - return pD3DEnum->GetDeviceInfo( g_DeviceSettings.d3d9.AdapterOrdinal, - g_DeviceSettings.d3d9.DeviceType ); -} - -//------------------------------------------------------------------------------------- -CD3D11EnumAdapterInfo* CD3DSettingsDlg::GetCurrentD3D11AdapterInfo() +CD3D11EnumAdapterInfo* CD3DSettingsDlg::GetCurrentD3D11AdapterInfo() const { - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); + auto pD3DEnum = DXUTGetD3D11Enumeration(); return pD3DEnum->GetAdapterInfo( g_DeviceSettings.d3d11.AdapterOrdinal ); } //------------------------------------------------------------------------------------- -CD3D11EnumDeviceInfo* CD3DSettingsDlg::GetCurrentD3D11DeviceInfo() +CD3D11EnumDeviceInfo* CD3DSettingsDlg::GetCurrentD3D11DeviceInfo() const { - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); + auto pD3DEnum = DXUTGetD3D11Enumeration(); return pD3DEnum->GetDeviceInfo( g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.DriverType ); } //------------------------------------------------------------------------------------- -CD3D11EnumOutputInfo* CD3DSettingsDlg::GetCurrentD3D11OutputInfo() +CD3D11EnumOutputInfo* CD3DSettingsDlg::GetCurrentD3D11OutputInfo() const { - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); + auto pD3DEnum = DXUTGetD3D11Enumeration(); return pD3DEnum->GetOutputInfo( g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.Output ); } - -//------------------------------------------------------------------------------------- -CD3D9EnumDeviceSettingsCombo* CD3DSettingsDlg::GetCurrentDeviceSettingsCombo() -{ - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - return pD3DEnum->GetDeviceSettingsCombo( g_DeviceSettings.d3d9.AdapterOrdinal, - g_DeviceSettings.d3d9.DeviceType, - g_DeviceSettings.d3d9.AdapterFormat, - g_DeviceSettings.d3d9.pp.BackBufferFormat, - ( g_DeviceSettings.d3d9.pp.Windowed == TRUE ) ); -} - //------------------------------------------------------------------------------------- -CD3D11EnumDeviceSettingsCombo* CD3DSettingsDlg::GetCurrentD3D11DeviceSettingsCombo() +CD3D11EnumDeviceSettingsCombo* CD3DSettingsDlg::GetCurrentD3D11DeviceSettingsCombo() const { - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); + auto pD3DEnum = DXUTGetD3D11Enumeration(); return pD3DEnum->GetDeviceSettingsCombo( g_DeviceSettings.d3d11.AdapterOrdinal, - g_DeviceSettings.d3d11.DriverType, - g_DeviceSettings.d3d11.Output, g_DeviceSettings.d3d11.sd.BufferDesc.Format, ( g_DeviceSettings.d3d11.sd.Windowed == TRUE ) ); } -HRESULT CD3DSettingsDlg::OnD3D11ResolutionChanged () { +HRESULT CD3DSettingsDlg::OnD3D11ResolutionChanged () +{ + if ( g_DeviceSettings.d3d11.sd.Windowed ) + return S_OK; + DWORD dwWidth, dwHeight; GetSelectedD3D11Resolution( &dwWidth, &dwHeight ); - g_DeviceSettings.d3d11.sd.BufferDesc.Width= dwWidth; + g_DeviceSettings.d3d11.sd.BufferDesc.Width = dwWidth; g_DeviceSettings.d3d11.sd.BufferDesc.Height = dwHeight; - + + // DXUTSETTINGSDLG_D3D11_REFRESH_RATE + HRESULT hr = UpdateD3D11RefreshRates(); + if ( FAILED(hr) ) + return hr; + return S_OK; } -HRESULT CD3DSettingsDlg::OnFeatureLevelChanged () { +HRESULT CD3DSettingsDlg::OnFeatureLevelChanged () +{ HRESULT hr = E_FAIL; - if (g_DeviceSettings.ver == DXUT_D3D11_DEVICE) { - if (g_DeviceSettings.d3d11.DeviceFeatureLevel == GetSelectedFeatureLevel()) return S_OK; - //if( !bRefresh ) - //{ - // Obtain a set of valid D3D10 device settings. - UINT CreateFlags = g_DeviceSettings.d3d11.CreateFlags; - ZeroMemory( &g_DeviceSettings, sizeof( g_DeviceSettings ) ); - - DXUTApplyDefaultDeviceSettings(&g_DeviceSettings); - g_DeviceSettings.d3d11.CreateFlags = CreateFlags; - g_DeviceSettings.ver = DXUT_D3D11_DEVICE; - //g_DeviceSettings.d3d11.fl = GetSelectedFeatureLevel(); - hr = DXUTSnapDeviceSettingsToEnumDevice(&g_DeviceSettings, true, GetSelectedFeatureLevel()); - - //} - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - CGrowableArray * pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); + if (g_DeviceSettings.d3d11.DeviceFeatureLevel == GetSelectedFeatureLevel()) return S_OK; - CDXUTComboBox* pAdapterComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - pAdapterComboBox->RemoveAllItems(); + // Obtain a set of valid D3D11 device settings. + UINT CreateFlags = g_DeviceSettings.d3d11.CreateFlags; + DXGI_FORMAT BackBufferFormat = g_DeviceSettings.d3d11.sd.BufferDesc.Format; + UINT Count = g_DeviceSettings.d3d11.sd.SampleDesc.Count; + UINT Quality = g_DeviceSettings.d3d11.sd.SampleDesc.Quality; + DXGI_RATIONAL RefreshRate = g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate; + ZeroMemory(&g_DeviceSettings, sizeof(g_DeviceSettings)); - for( int iAdapter = 0; iAdapter < pAdapterInfoList->GetSize(); ++iAdapter ) - { - CD3D11EnumAdapterInfo* pAdapterInfo = pAdapterInfoList->GetAt( iAdapter ); - AddAdapter( pAdapterInfo->szUniqueDescription, pAdapterInfo->AdapterOrdinal ); - } + DXUTApplyDefaultDeviceSettings(&g_DeviceSettings); + g_DeviceSettings.d3d11.CreateFlags = CreateFlags; + hr = DXUTSnapDeviceSettingsToEnumDevice(&g_DeviceSettings, true, GetSelectedFeatureLevel()); + g_DeviceSettings.d3d11.sd.BufferDesc.Format = BackBufferFormat; + g_DeviceSettings.d3d11.sd.SampleDesc.Count = Count; + g_DeviceSettings.d3d11.sd.SampleDesc.Quality = Quality; + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate = RefreshRate; - pAdapterComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.AdapterOrdinal ) ); + auto pD3DEnum = DXUTGetD3D11Enumeration(); + auto pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); - CDXUTCheckBox* pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE ); - pCheckBox->SetChecked( 0 != ( g_DeviceSettings.d3d11.CreateFlags & D3D11_CREATE_DEVICE_DEBUG ) ); + // DXUTSETTINGSDLG_ADAPTER + auto pAdapterComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); + pAdapterComboBox->RemoveAllItems(); - hr = OnAdapterChanged(); - if( FAILED( hr ) ) - return hr; + for( auto it = pAdapterInfoList->cbegin(); it != pAdapterInfoList->cend(); ++it ) + { + AddAdapter( (*it)->szUniqueDescription, (*it)->AdapterOrdinal ); } - - return hr; -} -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnAPIVersionChanged( bool bRefresh ) -{ - HRESULT hr; + pAdapterComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.AdapterOrdinal ) ); - // Store the API version - g_DeviceSettings.ver = GetSelectedAPIVersion(); + // DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT + auto pBackBufferFormatComboBox = m_Dialog.GetComboBox(DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT); + pBackBufferFormatComboBox->RemoveAllItems(); + + auto pAdapterInfo = GetCurrentD3D11AdapterInfo(); + if (!pAdapterInfo) + return E_FAIL; - // Show/hide appropriate dialog controls based on version. - ShowControlSet( g_DeviceSettings.ver ); + bool bWindowed = IsWindowed(); - switch( g_DeviceSettings.ver ) + for (size_t idc = 0; idc < pAdapterInfo->deviceSettingsComboList.size(); idc++) { - case DXUT_D3D9_DEVICE: + auto pDeviceCombo = pAdapterInfo->deviceSettingsComboList[idc]; + if ((pDeviceCombo->Windowed == TRUE) == bWindowed) { - if( !bRefresh ) - { - // Obtain a set of valid D3D9 device settings. - UINT CreateFlags = g_DeviceSettings.d3d11.CreateFlags; - ZeroMemory( &g_DeviceSettings, sizeof( g_DeviceSettings ) ); - // We want a specific API version, so set up match option to preserve it. - DXUTApplyDefaultDeviceSettings(&g_DeviceSettings); - g_DeviceSettings.d3d11.CreateFlags = CreateFlags; - g_DeviceSettings.ver = DXUT_D3D9_DEVICE; - DXUTSnapDeviceSettingsToEnumDevice ( &g_DeviceSettings, true); - } - - CD3D9Enumeration* pD3DEnum = DXUTGetD3D9Enumeration(); - CGrowableArray * pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); + AddD3D11BackBufferFormat(pDeviceCombo->BackBufferFormat); + } + } - CDXUTComboBox* pAdapterComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - pAdapterComboBox->RemoveAllItems(); + pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.d3d11.sd.BufferDesc.Format) ); - for( int iAdapter = 0; iAdapter < pAdapterInfoList->GetSize(); ++iAdapter ) - { - CD3D9EnumAdapterInfo* pAdapterInfo = pAdapterInfoList->GetAt( iAdapter ); - AddAdapter( pAdapterInfo->szUniqueDescription, pAdapterInfo->AdapterOrdinal ); - } + hr = OnBackBufferFormatChanged(); + if (FAILED(hr)) + return hr; - pAdapterComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.AdapterOrdinal ) ); + auto pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE ); + pCheckBox->SetChecked( 0 != ( g_DeviceSettings.d3d11.CreateFlags & D3D11_CREATE_DEVICE_DEBUG ) ); - hr = OnAdapterChanged(); - if( FAILED( hr ) ) - return hr; - - break; - } - - case DXUT_D3D11_DEVICE: - { - if( !bRefresh ) - { - // Obtain a set of valid D3D10 device settings. - UINT CreateFlags = g_DeviceSettings.d3d11.CreateFlags; - ZeroMemory( &g_DeviceSettings, sizeof( g_DeviceSettings ) ); - // We want a specific API version, so set up match option to preserve it. - DXUTApplyDefaultDeviceSettings(&g_DeviceSettings); - g_DeviceSettings.d3d11.CreateFlags = CreateFlags; - g_DeviceSettings.ver = DXUT_D3D11_DEVICE; - DXUTSnapDeviceSettingsToEnumDevice(&g_DeviceSettings, true); - - } - - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - CGrowableArray * pAdapterInfoList = pD3DEnum->GetAdapterInfoList(); - - CDXUTComboBox* pAdapterComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - pAdapterComboBox->RemoveAllItems(); - - for( int iAdapter = 0; iAdapter < pAdapterInfoList->GetSize(); ++iAdapter ) - { - CD3D11EnumAdapterInfo* pAdapterInfo = pAdapterInfoList->GetAt( iAdapter ); - AddAdapter( pAdapterInfo->szUniqueDescription, pAdapterInfo->AdapterOrdinal ); - } - - pAdapterComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.AdapterOrdinal ) ); - - CDXUTCheckBox* pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE ); - pCheckBox->SetChecked( 0 != ( g_DeviceSettings.d3d11.CreateFlags & D3D11_CREATE_DEVICE_DEBUG ) ); - - hr = OnAdapterChanged(); - if( FAILED( hr ) ) - return hr; - - break; - } - } - - return S_OK; + hr = OnAdapterChanged(); + if( FAILED( hr ) ) + return hr; + + return hr; } //------------------------------------------------------------------------------------- HRESULT CD3DSettingsDlg::OnAdapterChanged() { - HRESULT hr = S_OK; - - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - { - // Store the adapter index - g_DeviceSettings.d3d9.AdapterOrdinal = GetSelectedAdapter(); - - // DXUTSETTINGSDLG_DEVICE_TYPE - CDXUTComboBox* pDeviceTypeComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); - pDeviceTypeComboBox->RemoveAllItems(); - - CD3D9EnumAdapterInfo* pAdapterInfo = GetCurrentAdapterInfo(); - if( pAdapterInfo == NULL ) - return E_FAIL; - - for( int iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.GetSize(); iDeviceInfo++ ) - { - CD3D9EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( iDeviceInfo ); - AddDeviceType( pDeviceInfo->DeviceType ); - } + // Store the adapter index + g_DeviceSettings.d3d11.AdapterOrdinal = GetSelectedAdapter(); - pDeviceTypeComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.DeviceType ) ); - - hr = OnDeviceTypeChanged(); - if( FAILED( hr ) ) - return hr; - - break; - } - - case DXUT_D3D11_DEVICE: - { - // Store the adapter index - g_DeviceSettings.d3d11.AdapterOrdinal = GetSelectedAdapter(); - - // DXUTSETTINGSDLG_DEVICE_TYPE - CDXUTComboBox* pDeviceTypeComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); - pDeviceTypeComboBox->RemoveAllItems(); - - CD3D11EnumAdapterInfo* pAdapterInfo = GetCurrentD3D11AdapterInfo(); - if( pAdapterInfo == NULL ) - return E_FAIL; + // DXUTSETTINGSDLG_DEVICE_TYPE + auto pDeviceTypeComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); + pDeviceTypeComboBox->RemoveAllItems(); - for( int iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.GetSize(); iDeviceInfo++ ) - { - CD3D11EnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt( iDeviceInfo ); - AddD3D11DeviceType( pDeviceInfo->DeviceType ); - } + auto pAdapterInfo = GetCurrentD3D11AdapterInfo(); + if( !pAdapterInfo ) + return E_FAIL; - pDeviceTypeComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.DriverType ) ); + for( size_t iDeviceInfo = 0; iDeviceInfo < pAdapterInfo->deviceInfoList.size(); iDeviceInfo++ ) + { + auto pDeviceInfo = pAdapterInfo->deviceInfoList[ iDeviceInfo ]; + AddD3D11DeviceType( pDeviceInfo->DeviceType ); + } - hr = OnDeviceTypeChanged(); - if( FAILED( hr ) ) - return hr; + pDeviceTypeComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.DriverType ) ); - break; - } - } + HRESULT hr = OnDeviceTypeChanged(); + if( FAILED( hr ) ) + return hr; return S_OK; } @@ -1259,60 +807,64 @@ HRESULT CD3DSettingsDlg::OnDeviceTypeChanged() { HRESULT hr = S_OK; - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - { - g_DeviceSettings.d3d9.DeviceType = GetSelectedDeviceType(); - - // Update windowed/full screen radio buttons - bool bHasWindowedDeviceCombo = false; - bool bHasFullScreenDeviceCombo = false; + g_DeviceSettings.d3d11.DriverType = GetSelectedD3D11DeviceType(); - CD3D9EnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo(); - if( pDeviceInfo == NULL ) - return E_FAIL; - - for( int idc = 0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ ) - { - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc ); + // DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_FULLSCREEN + m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, true ); + if (g_DeviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + { + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_FULLSCREEN, false ); + g_DeviceSettings.d3d11.sd.Windowed = TRUE; + } + else + { + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_FULLSCREEN, true ); + } - if( pDeviceSettingsCombo->Windowed ) - bHasWindowedDeviceCombo = true; - else - bHasFullScreenDeviceCombo = true; - } + SetWindowed( g_DeviceSettings.d3d11.sd.Windowed != 0 ); - // DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_FULLSCREEN - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, bHasWindowedDeviceCombo ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_FULLSCREEN, bHasFullScreenDeviceCombo ); + auto pBestDeviceSettingsCombo = DXUTGetD3D11Enumeration()->GetDeviceSettingsCombo( + g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.sd.BufferDesc.Format, + ( g_DeviceSettings.d3d11.sd.Windowed != 0 ) ); - SetWindowed( g_DeviceSettings.d3d9.pp.Windowed && bHasWindowedDeviceCombo ); + if( !pBestDeviceSettingsCombo ) + return DXUT_ERR_MSGBOX( L"GetDeviceSettingsCombo", E_INVALIDARG ); - hr = OnWindowedFullScreenChanged(); - if( FAILED( hr ) ) - return hr; + D3D_FEATURE_LEVEL clampFL; + if ( g_DeviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_WARP ) + clampFL = DXUTGetD3D11Enumeration()->GetWARPFeaturevel(); + else if ( g_DeviceSettings.d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE ) + clampFL = DXUTGetD3D11Enumeration()->GetREFFeaturevel(); + else + clampFL = pBestDeviceSettingsCombo->pDeviceInfo->MaxLevel; - break; - } - case DXUT_D3D11_DEVICE: + if ( g_DeviceSettings.d3d11.DeviceFeatureLevel > clampFL + || clampFL > pBestDeviceSettingsCombo->pDeviceInfo->MaxLevel ) + { + g_DeviceSettings.d3d11.DeviceFeatureLevel = std::min( g_DeviceSettings.d3d11.DeviceFeatureLevel, + clampFL ); + + CDXUTComboBox *pFeatureLevelBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); + pFeatureLevelBox->RemoveAllItems(); + for (int fli = 0; fli < TOTAL_FEATURE_LEVELS; fli++) { - g_DeviceSettings.d3d11.DriverType = GetSelectedD3D11DeviceType(); - - // DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_FULLSCREEN - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, true ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_FULLSCREEN, true ); - - SetWindowed( g_DeviceSettings.d3d11.sd.Windowed != 0 ); - - hr = OnWindowedFullScreenChanged(); - if( FAILED( hr ) ) - return hr; + if (m_Levels[fli] >= g_DeviceSettings.MinimumFeatureLevel + && m_Levels[fli] <= clampFL) + { + AddD3D11FeatureLevel( m_Levels[fli] ); + } + } + pFeatureLevelBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.DeviceFeatureLevel ) ); - break; - } + hr = OnFeatureLevelChanged(); + if( FAILED( hr ) ) + return hr; } + hr = OnWindowedFullScreenChanged(); + if( FAILED( hr ) ) + return hr; + return S_OK; } @@ -1324,157 +876,43 @@ HRESULT CD3DSettingsDlg::OnWindowedFullScreenChanged() HRESULT hr = S_OK; bool bWindowed = IsWindowed(); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION_LABEL, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_REFRESH_RATE_LABEL, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_RESOLUTION_LABEL, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_REFRESH_RATE_LABEL, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_ADAPTER_FORMAT, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_REFRESH_RATE, !bWindowed ); - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_DEVICECLIP, bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_RESOLUTION, !bWindowed ); m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_D3D11_REFRESH_RATE, !bWindowed ); - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - { - g_DeviceSettings.d3d9.pp.Windowed = bWindowed; - bool bDeviceClip = ( 0x0 != ( g_DeviceSettings.d3d9.pp.Flags & D3DPRESENTFLAG_DEVICECLIP ) ); + g_DeviceSettings.d3d11.sd.Windowed = bWindowed; - // If windowed, get the appropriate adapter format from Direct3D - if( g_DeviceSettings.d3d9.pp.Windowed ) - { - IDirect3D9* pD3D = DXUTGetD3D9Object(); - if( pD3D == NULL ) - return DXTRACE_ERR( L"DXUTGetD3DObject", E_FAIL ); - - D3DDISPLAYMODE mode; - hr = pD3D->GetAdapterDisplayMode( g_DeviceSettings.d3d9.AdapterOrdinal, &mode ); - if( FAILED( hr ) ) - return DXTRACE_ERR( L"GetAdapterDisplayMode", hr ); - - // Default resolution to the fullscreen res that was last used - RECT rc = DXUTGetFullsceenClientRectAtModeChange(); - if( rc.right == 0 || rc.bottom == 0 ) - { - // If nothing last used, then default to the adapter desktop res - g_DeviceSettings.d3d9.pp.BackBufferWidth = mode.Width; - g_DeviceSettings.d3d9.pp.BackBufferHeight = mode.Height; - } - else - { - g_DeviceSettings.d3d9.pp.BackBufferWidth = rc.right; - g_DeviceSettings.d3d9.pp.BackBufferHeight = rc.bottom; - } + // Get available adapter output + auto pD3DEnum = DXUTGetD3D11Enumeration(); - g_DeviceSettings.d3d9.AdapterFormat = mode.Format; - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = mode.RefreshRate; - } - - const D3DFORMAT adapterFormat = g_DeviceSettings.d3d9.AdapterFormat; - const DWORD dwWidth = g_DeviceSettings.d3d9.pp.BackBufferWidth; - const DWORD dwHeight = g_DeviceSettings.d3d9.pp.BackBufferHeight; - const DWORD dwRefreshRate = g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz; - - // DXUTSETTINGSDLG_DEVICECLIP - SetDeviceClip( bDeviceClip ); - - // DXUTSETTINGSDLG_ADAPTER_FORMAT - CDXUTComboBox* pAdapterFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT ); - if( pAdapterFormatComboBox == NULL ) - return E_FAIL; - pAdapterFormatComboBox->RemoveAllItems(); - - CD3D9EnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo(); - if( pDeviceInfo == NULL ) - return E_FAIL; - - if( bWindowed ) - { - AddAdapterFormat( adapterFormat ); - } - else - { - for( int iSettingsCombo = 0; iSettingsCombo < pDeviceInfo->deviceSettingsComboList.GetSize(); - iSettingsCombo++ ) - { - CD3D9EnumDeviceSettingsCombo* pSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt( - iSettingsCombo ); - AddAdapterFormat( pSettingsCombo->AdapterFormat ); - } - } - - pAdapterFormatComboBox->SetSelectedByData( ULongToPtr( adapterFormat ) ); - - hr = OnAdapterFormatChanged(); - if( FAILED( hr ) ) - return hr; - - // DXUTSETTINGSDLG_RESOLUTION - CDXUTComboBox* pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION ); - - if( bWindowed ) - { - pResolutionComboBox->RemoveAllItems(); - AddResolution( dwWidth, dwHeight ); - } - - pResolutionComboBox->SetSelectedByData( ULongToPtr( MAKELONG( dwWidth, dwHeight ) ) ); - - hr = OnResolutionChanged(); - if( FAILED( hr ) ) - return hr; - - // DXUTSETTINGSDLG_REFRESH_RATE - CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE ); + auto pOutputComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); + pOutputComboBox->RemoveAllItems(); - if( bWindowed ) - { - pRefreshRateComboBox->RemoveAllItems(); - AddRefreshRate( dwRefreshRate ); - } - - pRefreshRateComboBox->SetSelectedByData( ULongToPtr( dwRefreshRate ) ); - - hr = OnRefreshRateChanged(); - if( FAILED( hr ) ) - return hr; - - break; - } - - case DXUT_D3D11_DEVICE: - { - g_DeviceSettings.d3d11.sd.Windowed = bWindowed; - - // Get available adapter output - CD3D11Enumeration* pD3DEnum = DXUTGetD3D11Enumeration(); - - CDXUTComboBox* pOutputComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); - pOutputComboBox->RemoveAllItems(); + auto pAdapterInfo = pD3DEnum->GetAdapterInfo( g_DeviceSettings.d3d11.AdapterOrdinal ); + for( size_t ioutput = 0; ioutput < pAdapterInfo->outputInfoList.size(); ++ioutput ) + { + auto pOutputInfo = pAdapterInfo->outputInfoList[ ioutput ]; + AddD3D11AdapterOutput( pOutputInfo->Desc.DeviceName, pOutputInfo->Output ); + } - CD3D11EnumAdapterInfo* pAdapterInfo = pD3DEnum->GetAdapterInfo( g_DeviceSettings.d3d11.AdapterOrdinal ); - for( int ioutput = 0; ioutput < pAdapterInfo->outputInfoList.GetSize(); ++ioutput ) - { - CD3D11EnumOutputInfo* pOutputInfo = pAdapterInfo->outputInfoList.GetAt( ioutput ); - AddD3D11AdapterOutput( pOutputInfo->Desc.DeviceName, pOutputInfo->Output ); - } + pOutputComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.Output ) ); - pOutputComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.Output ) ); + hr = OnAdapterOutputChanged(); + if( FAILED( hr ) ) + return hr; - hr = OnAdapterOutputChanged(); - if( FAILED( hr ) ) - return hr; + hr = UpdateD3D11Resolutions(); + if (FAILED(hr)) + return hr; - break; - } - } + hr = UpdateD3D11RefreshRates(); + if ( FAILED(hr) ) + return hr; return S_OK; } @@ -1485,235 +923,68 @@ HRESULT CD3DSettingsDlg::OnAdapterOutputChanged() { HRESULT hr; - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D11_DEVICE: - { - bool bWindowed = IsWindowed(); - g_DeviceSettings.d3d11.sd.Windowed = bWindowed; - - // If windowed, get the appropriate adapter format from Direct3D - if( g_DeviceSettings.d3d11.sd.Windowed ) - { - DXGI_MODE_DESC mode; - hr = DXUTGetD3D11AdapterDisplayMode( g_DeviceSettings.d3d11.AdapterOrdinal, - g_DeviceSettings.d3d11.Output, &mode ); - if( FAILED( hr ) ) - return DXTRACE_ERR( L"GetD3D11AdapterDisplayMode", hr ); - - // Default resolution to the fullscreen res that was last used - RECT rc = DXUTGetFullsceenClientRectAtModeChange(); - if( rc.right == 0 || rc.bottom == 0 ) - { - // If nothing last used, then default to the adapter desktop res - g_DeviceSettings.d3d11.sd.BufferDesc.Width = mode.Width; - g_DeviceSettings.d3d11.sd.BufferDesc.Height = mode.Height; - } - else - { - g_DeviceSettings.d3d11.sd.BufferDesc.Width = rc.right; - g_DeviceSettings.d3d11.sd.BufferDesc.Height = rc.bottom; - } - - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate = mode.RefreshRate; - } - - const DXGI_RATIONAL RefreshRate = g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate; - - CD3D11EnumAdapterInfo* pAdapterInfo = GetCurrentD3D11AdapterInfo(); - if( pAdapterInfo == NULL ) - return E_FAIL; - - // DXUTSETTINGSDLG_D3D11_RESOLUTION - hr = UpdateD3D11Resolutions(); - if( FAILED( hr ) ) - return hr; - - // DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT - CDXUTComboBox* pBackBufferFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT - ); - pBackBufferFormatComboBox->RemoveAllItems(); - - for( int idc = 0; idc < pAdapterInfo->deviceSettingsComboList.GetSize(); idc++ ) - { - CD3D11EnumDeviceSettingsCombo* pDeviceCombo = pAdapterInfo->deviceSettingsComboList.GetAt( idc ); - if( ( pDeviceCombo->Windowed == TRUE ) == bWindowed ) - { - AddD3D11BackBufferFormat( pDeviceCombo->BackBufferFormat ); - } - } - - pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.sd.BufferDesc.Format ) ); - - hr = OnBackBufferFormatChanged(); - if( FAILED( hr ) ) - return hr; + bool bWindowed = IsWindowed(); + g_DeviceSettings.d3d11.sd.Windowed = bWindowed; - // DXUTSETTINGSDLG_D3D11_REFRESH_RATE - if( bWindowed ) - { - CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); - for( UINT i = 0; i < pRefreshRateComboBox->GetNumItems(); ++i ) - { - DXGI_RATIONAL* pRefreshRate = reinterpret_cast( - pRefreshRateComboBox->GetItemData( i ) ); - delete pRefreshRate; - } - pRefreshRateComboBox->RemoveAllItems(); - AddD3D11RefreshRate( RefreshRate ); - } + // If windowed, get the appropriate adapter format from Direct3D + if( g_DeviceSettings.d3d11.sd.Windowed ) + { + DXGI_MODE_DESC mode; + hr = DXUTGetD3D11AdapterDisplayMode( g_DeviceSettings.d3d11.AdapterOrdinal, + g_DeviceSettings.d3d11.Output, &mode ); + if( FAILED( hr ) ) + return DXTRACE_ERR( L"GetD3D11AdapterDisplayMode", hr ); - SetSelectedD3D11RefreshRate( RefreshRate ); - break; + // Default resolution to the fullscreen res that was last used + RECT rc = DXUTGetFullsceenClientRectAtModeChange(); + if( rc.right == 0 || rc.bottom == 0 ) + { + // If nothing last used, then default to the adapter desktop res + g_DeviceSettings.d3d11.sd.BufferDesc.Width = mode.Width; + g_DeviceSettings.d3d11.sd.BufferDesc.Height = mode.Height; } - }; - - hr = OnRefreshRateChanged(); - if( FAILED( hr ) ) - return hr; - - return S_OK; -} - - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnAdapterFormatChanged() -{ - HRESULT hr = S_OK; - - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: + else { - // DXUTSETTINGSDLG_ADAPTER_FORMAT - D3DFORMAT adapterFormat = GetSelectedAdapterFormat(); - g_DeviceSettings.d3d9.AdapterFormat = adapterFormat; - - // DXUTSETTINGSDLG_RESOLUTION - CDXUTComboBox* pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION ); - pResolutionComboBox->RemoveAllItems(); - - CD3D9EnumAdapterInfo* pAdapterInfo = GetCurrentAdapterInfo(); - if( pAdapterInfo == NULL ) - return E_FAIL; - - bool bShowAll = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL )->GetChecked(); - - // Get the desktop aspect ratio - D3DDISPLAYMODE dmDesktop; - DXUTGetDesktopResolution( g_DeviceSettings.d3d9.AdapterOrdinal, &dmDesktop.Width, &dmDesktop.Height ); - float fDesktopAspectRatio = dmDesktop.Width / ( float )dmDesktop.Height; - - for( int idm = 0; idm < pAdapterInfo->displayModeList.GetSize(); idm++ ) - { - D3DDISPLAYMODE DisplayMode = pAdapterInfo->displayModeList.GetAt( idm ); - float fAspect = ( float )DisplayMode.Width / ( float )DisplayMode.Height; - - if( DisplayMode.Format == g_DeviceSettings.d3d9.AdapterFormat ) - { - // If "Show All" is not checked, then hide all resolutions - // that don't match the aspect ratio of the desktop resolution - if( bShowAll || ( !bShowAll && fabsf( fDesktopAspectRatio - fAspect ) < 0.05f ) ) - { - AddResolution( DisplayMode.Width, DisplayMode.Height ); - } - } - } - - const DWORD dwCurResolution = MAKELONG( g_DeviceSettings.d3d9.pp.BackBufferWidth, - g_DeviceSettings.d3d9.pp.BackBufferHeight ); - - pResolutionComboBox->SetSelectedByData( ULongToPtr( dwCurResolution ) ); - - hr = OnResolutionChanged(); - if( FAILED( hr ) ) - return hr; - - // DXUTSETTINGSDLG_BACK_BUFFER_FORMAT - CDXUTComboBox* pBackBufferFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT ); - pBackBufferFormatComboBox->RemoveAllItems(); - - CD3D9EnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo(); - if( pDeviceInfo == NULL ) - return E_FAIL; - - const BOOL bWindowed = IsWindowed(); - bool bHasWindowedBackBuffer = false; - - for( int idc = 0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ ) - { - CD3D9EnumDeviceSettingsCombo* pDeviceCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc ); - if( pDeviceCombo->Windowed == bWindowed && - pDeviceCombo->AdapterFormat == g_DeviceSettings.d3d9.AdapterFormat ) - { - AddBackBufferFormat( pDeviceCombo->BackBufferFormat ); - bHasWindowedBackBuffer = true; - } - } - - pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.pp.BackBufferFormat ) ); - - hr = OnBackBufferFormatChanged(); - if( FAILED( hr ) ) - return hr; - - if( !bHasWindowedBackBuffer ) - { - m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, false ); - - if( g_DeviceSettings.d3d9.pp.Windowed ) - { - SetWindowed( false ); - - hr = OnWindowedFullScreenChanged(); - if( FAILED( hr ) ) - return hr; - } - } - - break; + g_DeviceSettings.d3d11.sd.BufferDesc.Width = rc.right; + g_DeviceSettings.d3d11.sd.BufferDesc.Height = rc.bottom; } - } - - return S_OK; -} - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnResolutionChanged() -{ - HRESULT hr = S_OK; + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Numerator = + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate.Denominator = 0; + } - CD3D9EnumAdapterInfo* pAdapterInfo = GetCurrentAdapterInfo(); - if( pAdapterInfo == NULL ) + auto pAdapterInfo = GetCurrentD3D11AdapterInfo(); + if( !pAdapterInfo ) return E_FAIL; - // Set resolution - DWORD dwWidth, dwHeight; - GetSelectedResolution( &dwWidth, &dwHeight ); - g_DeviceSettings.d3d9.pp.BackBufferWidth = dwWidth; - g_DeviceSettings.d3d9.pp.BackBufferHeight = dwHeight; + // DXUTSETTINGSDLG_D3D11_RESOLUTION + hr = UpdateD3D11Resolutions(); + if( FAILED( hr ) ) + return hr; - DWORD dwRefreshRate = g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz; + // DXUTSETTINGSDLG_D3D11_REFRESH_RATE + hr = UpdateD3D11RefreshRates(); + if ( FAILED(hr) ) + return hr; - // Update the refresh rate list - CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE ); - pRefreshRateComboBox->RemoveAllItems(); + // DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT + auto pBackBufferFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT ); + pBackBufferFormatComboBox->RemoveAllItems(); - D3DFORMAT adapterFormat = g_DeviceSettings.d3d9.AdapterFormat; - for( int idm = 0; idm < pAdapterInfo->displayModeList.GetSize(); idm++ ) + for( size_t idc = 0; idc < pAdapterInfo->deviceSettingsComboList.size(); idc++ ) { - D3DDISPLAYMODE displayMode = pAdapterInfo->displayModeList.GetAt( idm ); - - if( displayMode.Format == adapterFormat && - displayMode.Width == dwWidth && - displayMode.Height == dwHeight ) + auto pDeviceCombo = pAdapterInfo->deviceSettingsComboList[ idc ]; + if( ( pDeviceCombo->Windowed == TRUE ) == bWindowed ) { - AddRefreshRate( displayMode.RefreshRate ); + AddD3D11BackBufferFormat( pDeviceCombo->BackBufferFormat ); } } - pRefreshRateComboBox->SetSelectedByData( ULongToPtr( dwRefreshRate ) ); + pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.sd.BufferDesc.Format ) ); + + hr = OnBackBufferFormatChanged(); + if( FAILED( hr ) ) + return hr; hr = OnRefreshRateChanged(); if( FAILED( hr ) ) @@ -1723,21 +994,11 @@ HRESULT CD3DSettingsDlg::OnResolutionChanged() } - //------------------------------------------------------------------------------------- HRESULT CD3DSettingsDlg::OnRefreshRateChanged() { // Set refresh rate - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - g_DeviceSettings.d3d9.pp.FullScreen_RefreshRateInHz = GetSelectedRefreshRate(); - break; - - case DXUT_D3D11_DEVICE: - g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate = GetSelectedD3D11RefreshRate(); - break; - } + g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate = GetSelectedD3D11RefreshRate(); return S_OK; } @@ -1748,310 +1009,50 @@ HRESULT CD3DSettingsDlg::OnBackBufferFormatChanged() { HRESULT hr = S_OK; - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - { - g_DeviceSettings.d3d9.pp.BackBufferFormat = GetSelectedBackBufferFormat(); - - D3DFORMAT adapterFormat = g_DeviceSettings.d3d9.AdapterFormat; - D3DFORMAT backBufferFormat = g_DeviceSettings.d3d9.pp.BackBufferFormat; - - CD3D9EnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo(); - if( pDeviceInfo == NULL ) - return E_FAIL; + g_DeviceSettings.d3d11.sd.BufferDesc.Format = GetSelectedD3D11BackBufferFormat(); - bool bAllowSoftwareVP, bAllowHardwareVP, bAllowPureHardwareVP, bAllowMixedVP; - DXUTGetD3D9Enumeration()->GetPossibleVertexProcessingList( &bAllowSoftwareVP, &bAllowHardwareVP, - &bAllowPureHardwareVP, &bAllowMixedVP ); - - for( int idc = 0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ ) - { - CD3D9EnumDeviceSettingsCombo* pDeviceCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc ); - - if( pDeviceCombo->Windowed == ( g_DeviceSettings.d3d9.pp.Windowed == TRUE ) && - pDeviceCombo->AdapterFormat == adapterFormat && - pDeviceCombo->BackBufferFormat == backBufferFormat ) - { - CDXUTComboBox* pDepthStencilComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL ); - pDepthStencilComboBox->RemoveAllItems(); - pDepthStencilComboBox->SetEnabled( ( g_DeviceSettings.d3d9.pp.EnableAutoDepthStencil == TRUE ) ); - - if( g_DeviceSettings.d3d9.pp.EnableAutoDepthStencil ) - { - for( int ifmt = 0; ifmt < pDeviceCombo->depthStencilFormatList.GetSize(); ifmt++ ) - { - D3DFORMAT fmt = pDeviceCombo->depthStencilFormatList.GetAt( ifmt ); - - AddDepthStencilBufferFormat( fmt ); - } - - pDepthStencilComboBox->SetSelectedByData( ULongToPtr( - g_DeviceSettings.d3d9.pp.AutoDepthStencilFormat ) ); - } - else - { - if( !pDepthStencilComboBox->ContainsItem( L"(not used)" ) ) - pDepthStencilComboBox->AddItem( L"(not used)", NULL ); - } - - hr = OnDepthStencilBufferFormatChanged(); - if( FAILED( hr ) ) - return hr; - - CDXUTComboBox* pVertexProcessingComboBox = - m_Dialog.GetComboBox( DXUTSETTINGSDLG_VERTEX_PROCESSING ); - pVertexProcessingComboBox->RemoveAllItems(); - - // Add valid vertex processing types - if( bAllowSoftwareVP ) - AddVertexProcessingType( D3DCREATE_SOFTWARE_VERTEXPROCESSING ); - - if( bAllowHardwareVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) - AddVertexProcessingType( D3DCREATE_HARDWARE_VERTEXPROCESSING ); - - if( bAllowPureHardwareVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_PUREDEVICE ) - AddVertexProcessingType( D3DCREATE_PUREDEVICE ); - - if( bAllowMixedVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) - AddVertexProcessingType( D3DCREATE_MIXED_VERTEXPROCESSING ); - - if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_PUREDEVICE ) - pVertexProcessingComboBox->SetSelectedByData( ULongToPtr( D3DCREATE_PUREDEVICE ) ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_SOFTWARE_VERTEXPROCESSING ) - pVertexProcessingComboBox->SetSelectedByData( ULongToPtr( - D3DCREATE_SOFTWARE_VERTEXPROCESSING ) ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_HARDWARE_VERTEXPROCESSING ) - pVertexProcessingComboBox->SetSelectedByData( ULongToPtr( - D3DCREATE_HARDWARE_VERTEXPROCESSING ) ); - else if( g_DeviceSettings.d3d9.BehaviorFlags & D3DCREATE_MIXED_VERTEXPROCESSING ) - pVertexProcessingComboBox->SetSelectedByData( ULongToPtr( D3DCREATE_MIXED_VERTEXPROCESSING ) ); - - hr = OnVertexProcessingChanged(); - if( FAILED( hr ) ) - return hr; - - CDXUTComboBox* pPresentIntervalComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_PRESENT_INTERVAL ); - pPresentIntervalComboBox->RemoveAllItems(); - pPresentIntervalComboBox->AddItem( L"On", ULongToPtr( D3DPRESENT_INTERVAL_DEFAULT ) ); - pPresentIntervalComboBox->AddItem( L"Off", ULongToPtr( D3DPRESENT_INTERVAL_IMMEDIATE ) ); - - pPresentIntervalComboBox->SetSelectedByData( ULongToPtr( - g_DeviceSettings.d3d9.pp.PresentationInterval ) ); - - hr = OnPresentIntervalChanged(); - if( FAILED( hr ) ) - return hr; - } - } - - break; - } - - case DXUT_D3D11_DEVICE: - { - g_DeviceSettings.d3d11.sd.BufferDesc.Format = GetSelectedD3D11BackBufferFormat(); + DXGI_FORMAT backBufferFormat = g_DeviceSettings.d3d11.sd.BufferDesc.Format; - DXGI_FORMAT backBufferFormat = g_DeviceSettings.d3d11.sd.BufferDesc.Format; - - CD3D11EnumAdapterInfo* pAdapterInfo = GetCurrentD3D11AdapterInfo(); - if( pAdapterInfo == NULL ) - return E_FAIL; - - for( int idc = 0; idc < pAdapterInfo->deviceSettingsComboList.GetSize(); idc++ ) - { - CD3D11EnumDeviceSettingsCombo* pDeviceCombo = pAdapterInfo->deviceSettingsComboList.GetAt( idc ); - - if( pDeviceCombo->Windowed == ( g_DeviceSettings.d3d11.sd.Windowed == TRUE ) && - pDeviceCombo->BackBufferFormat == backBufferFormat && - pDeviceCombo->DeviceType == g_DeviceSettings.d3d11.DriverType ) - { - CDXUTComboBox* pMultisampleCountCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT - ); - pMultisampleCountCombo->RemoveAllItems(); - for( int i = 0; i < pDeviceCombo->multiSampleCountList.GetSize(); ++i ) - AddD3D11MultisampleCount( pDeviceCombo->multiSampleCountList.GetAt( i ) ); - pMultisampleCountCombo->SetSelectedByData( ULongToPtr( - g_DeviceSettings.d3d11.sd.SampleDesc.Count ) ); - - hr = OnMultisampleTypeChanged(); - if( FAILED( hr ) ) - return hr; - - CDXUTComboBox* pPresentIntervalComboBox = - m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL ); - pPresentIntervalComboBox->RemoveAllItems(); - pPresentIntervalComboBox->AddItem( L"On", ULongToPtr( 1 ) ); - pPresentIntervalComboBox->AddItem( L"Off", ULongToPtr( 0 ) ); - - pPresentIntervalComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.SyncInterval ) ); - - hr = OnPresentIntervalChanged(); - if( FAILED( hr ) ) - return hr; - - hr = UpdateD3D11Resolutions(); - if( FAILED( hr ) ) - return hr; - } - } - - break; - } - } - - return S_OK; -} - - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnDepthStencilBufferFormatChanged() -{ - HRESULT hr = S_OK; - - D3DFORMAT depthStencilBufferFormat = GetSelectedDepthStencilBufferFormat(); - - if( g_DeviceSettings.d3d9.pp.EnableAutoDepthStencil ) - g_DeviceSettings.d3d9.pp.AutoDepthStencilFormat = depthStencilBufferFormat; - - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = GetCurrentDeviceSettingsCombo(); - if( pDeviceSettingsCombo == NULL ) + auto pAdapterInfo = GetCurrentD3D11AdapterInfo(); + if( !pAdapterInfo ) return E_FAIL; - CDXUTComboBox* pMultisampleTypeCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE ); - pMultisampleTypeCombo->RemoveAllItems(); - - for( int ims = 0; ims < pDeviceSettingsCombo->multiSampleTypeList.GetSize(); ims++ ) + for( size_t idc = 0; idc < pAdapterInfo->deviceSettingsComboList.size(); idc++ ) { - D3DMULTISAMPLE_TYPE msType = pDeviceSettingsCombo->multiSampleTypeList.GetAt( ims ); - - bool bConflictFound = false; - for( int iConf = 0; iConf < pDeviceSettingsCombo->DSMSConflictList.GetSize(); iConf++ ) - { - CD3D9EnumDSMSConflict DSMSConf = pDeviceSettingsCombo->DSMSConflictList.GetAt( iConf ); - if( DSMSConf.DSFormat == depthStencilBufferFormat && - DSMSConf.MSType == msType ) - { - bConflictFound = true; - break; - } - } - - if( !bConflictFound ) - AddMultisampleType( msType ); - } - - CDXUTComboBox* pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE ); - pMultisampleQualityCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.pp.MultiSampleType ) ); - - hr = OnMultisampleTypeChanged(); - if( FAILED( hr ) ) - return hr; - - return S_OK; -} + auto pDeviceCombo = pAdapterInfo->deviceSettingsComboList[ idc ]; - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnMultisampleTypeChanged() -{ - HRESULT hr = S_OK; - - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: + if( pDeviceCombo->Windowed == ( g_DeviceSettings.d3d11.sd.Windowed == TRUE ) && + pDeviceCombo->BackBufferFormat == backBufferFormat && + pDeviceCombo->DeviceType == g_DeviceSettings.d3d11.DriverType ) { - D3DMULTISAMPLE_TYPE multisampleType = GetSelectedMultisampleType(); - g_DeviceSettings.d3d9.pp.MultiSampleType = multisampleType; - - CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo = GetCurrentDeviceSettingsCombo(); - if( pDeviceSettingsCombo == NULL ) - return E_FAIL; - - DWORD dwMaxQuality = 0; - for( int iType = 0; iType < pDeviceSettingsCombo->multiSampleTypeList.GetSize(); iType++ ) - { - D3DMULTISAMPLE_TYPE msType = pDeviceSettingsCombo->multiSampleTypeList.GetAt( iType ); - if( msType == multisampleType ) - { - dwMaxQuality = pDeviceSettingsCombo->multiSampleQualityList.GetAt( iType ); - break; - } - } + auto pMultisampleCountCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT ); + pMultisampleCountCombo->RemoveAllItems(); - // DXUTSETTINGSDLG_MULTISAMPLE_QUALITY - CDXUTComboBox* pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY ); - pMultisampleQualityCombo->RemoveAllItems(); + for( auto it = pDeviceCombo->multiSampleCountList.cbegin(); it != pDeviceCombo->multiSampleCountList.cend(); ++it ) + AddD3D11MultisampleCount( *it ); + pMultisampleCountCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.sd.SampleDesc.Count ) ); - for( UINT iQuality = 0; iQuality < dwMaxQuality; iQuality++ ) - { - AddMultisampleQuality( iQuality ); - } - - pMultisampleQualityCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d9.pp.MultiSampleQuality ) ); - - hr = OnMultisampleQualityChanged(); + hr = OnMultisampleTypeChanged(); if( FAILED( hr ) ) return hr; - break; - } - case DXUT_D3D11_DEVICE: - { - UINT multisampleCount = GetSelectedD3D11MultisampleCount(); - g_DeviceSettings.d3d11.sd.SampleDesc.Count = multisampleCount; - - CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo = GetCurrentD3D11DeviceSettingsCombo(); - if( pDeviceSettingsCombo == NULL ) - return E_FAIL; - - UINT MaxQuality = 0; - for( int iCount = 0; iCount < pDeviceSettingsCombo->multiSampleCountList.GetSize(); iCount++ ) - { - UINT Count = pDeviceSettingsCombo->multiSampleCountList.GetAt( iCount ); - if( Count == multisampleCount ) - { - MaxQuality = pDeviceSettingsCombo->multiSampleQualityList.GetAt( iCount ); - break; - } - } - - // DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY - CDXUTComboBox* pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY - ); - pMultisampleQualityCombo->RemoveAllItems(); - - for( UINT iQuality = 0; iQuality < MaxQuality; iQuality++ ) - { - AddD3D11MultisampleQuality( iQuality ); - } + auto pPresentIntervalComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL ); + pPresentIntervalComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.SyncInterval ) ); - pMultisampleQualityCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.sd.SampleDesc.Quality ) ); - - hr = OnMultisampleQualityChanged(); + hr = OnPresentIntervalChanged(); if( FAILED( hr ) ) return hr; - break; - } - } - - return S_OK; -} - + hr = UpdateD3D11Resolutions(); + if( FAILED( hr ) ) + return hr; -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnMultisampleQualityChanged() -{ - switch( g_DeviceSettings.ver ) - { - case DXUT_D3D9_DEVICE: - g_DeviceSettings.d3d9.pp.MultiSampleQuality = GetSelectedMultisampleQuality(); - break; + hr = UpdateD3D11RefreshRates(); + if ( FAILED(hr) ) + return hr; - case DXUT_D3D11_DEVICE: - g_DeviceSettings.d3d11.sd.SampleDesc.Quality = GetSelectedD3D11MultisampleQuality(); break; + } } return S_OK; @@ -2059,170 +1060,130 @@ HRESULT CD3DSettingsDlg::OnMultisampleQualityChanged() //------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnVertexProcessingChanged() +HRESULT CD3DSettingsDlg::OnMultisampleTypeChanged() { - DWORD dwBehavior = g_DeviceSettings.d3d9.BehaviorFlags; - - // Clear vertex processing flags - dwBehavior &= ~D3DCREATE_HARDWARE_VERTEXPROCESSING; - dwBehavior &= ~D3DCREATE_SOFTWARE_VERTEXPROCESSING; - dwBehavior &= ~D3DCREATE_MIXED_VERTEXPROCESSING; - dwBehavior &= ~D3DCREATE_PUREDEVICE; - - // Determine new flags - DWORD dwNewFlags = GetSelectedVertexProcessingType(); - if( dwNewFlags & D3DCREATE_PUREDEVICE ) - dwNewFlags |= D3DCREATE_HARDWARE_VERTEXPROCESSING; - - // Make changes - g_DeviceSettings.d3d9.BehaviorFlags = dwBehavior | dwNewFlags; + HRESULT hr = S_OK; - return S_OK; -} + UINT multisampleCount = GetSelectedD3D11MultisampleCount(); + g_DeviceSettings.d3d11.sd.SampleDesc.Count = multisampleCount; + auto pDeviceSettingsCombo = GetCurrentD3D11DeviceSettingsCombo(); + if( !pDeviceSettingsCombo ) + return E_FAIL; -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnPresentIntervalChanged() -{ - switch( g_DeviceSettings.ver ) + UINT MaxQuality = 0; + for( size_t iCount = 0; iCount < pDeviceSettingsCombo->multiSampleCountList.size(); iCount++ ) { - case DXUT_D3D9_DEVICE: - g_DeviceSettings.d3d9.pp.PresentationInterval = GetSelectedPresentInterval(); - break; - - case DXUT_D3D11_DEVICE: - g_DeviceSettings.d3d11.SyncInterval = GetSelectedD3D11PresentInterval(); + UINT Count = pDeviceSettingsCombo->multiSampleCountList[ iCount ]; + if( Count == multisampleCount ) + { + MaxQuality = pDeviceSettingsCombo->multiSampleQualityList[ iCount ]; break; + } } - return S_OK; -} - - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnDebugDeviceChanged() -{ - bool bDebugDevice = GetSelectedDebugDeviceValue(); - - if( bDebugDevice ) - g_DeviceSettings.d3d11.CreateFlags |= D3D11_CREATE_DEVICE_DEBUG; - else - g_DeviceSettings.d3d11.CreateFlags &= ~D3D11_CREATE_DEVICE_DEBUG; - - return S_OK; -} - -//------------------------------------------------------------------------------------- -HRESULT CD3DSettingsDlg::OnDeviceClipChanged() -{ - if( IsDeviceClip() ) - g_DeviceSettings.d3d9.pp.Flags |= D3DPRESENTFLAG_DEVICECLIP; - else - g_DeviceSettings.d3d9.pp.Flags &= ~D3DPRESENTFLAG_DEVICECLIP; + // DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY + auto pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY ); + pMultisampleQualityCombo->RemoveAllItems(); - return S_OK; -} + for( UINT iQuality = 0; iQuality < MaxQuality; iQuality++ ) + { + AddD3D11MultisampleQuality( iQuality ); + } + pMultisampleQualityCombo->SetSelectedByData( ULongToPtr( g_DeviceSettings.d3d11.sd.SampleDesc.Quality ) ); -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddAPIVersion( DXUTDeviceVersion version ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_API_VERSION ); + hr = OnMultisampleQualityChanged(); + if( FAILED( hr ) ) + return hr; - if( !pComboBox->ContainsItem( DXUTAPIVersionToString( version ) ) ) - pComboBox->AddItem( DXUTAPIVersionToString( version ), ULongToPtr( version ) ); + return S_OK; } //------------------------------------------------------------------------------------- -DXUTDeviceVersion CD3DSettingsDlg::GetSelectedAPIVersion() +HRESULT CD3DSettingsDlg::OnMultisampleQualityChanged() { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_API_VERSION ); + g_DeviceSettings.d3d11.sd.SampleDesc.Quality = GetSelectedD3D11MultisampleQuality(); - return ( DXUTDeviceVersion )PtrToUlong( pComboBox->GetSelectedData() ); + return S_OK; } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddAdapter( const WCHAR* strDescription, UINT iAdapter ) +HRESULT CD3DSettingsDlg::OnPresentIntervalChanged() { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); + g_DeviceSettings.d3d11.SyncInterval = GetSelectedD3D11PresentInterval(); - if( !pComboBox->ContainsItem( strDescription ) ) - pComboBox->AddItem( strDescription, ULongToPtr( iAdapter ) ); + return S_OK; } //------------------------------------------------------------------------------------- -UINT CD3DSettingsDlg::GetSelectedAdapter() +HRESULT CD3DSettingsDlg::OnDebugDeviceChanged() { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); + bool bDebugDevice = GetSelectedDebugDeviceValue(); - return PtrToUlong( pComboBox->GetSelectedData() ); + if( bDebugDevice ) + g_DeviceSettings.d3d11.CreateFlags |= D3D11_CREATE_DEVICE_DEBUG; + else + g_DeviceSettings.d3d11.CreateFlags &= ~D3D11_CREATE_DEVICE_DEBUG; + + return S_OK; } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddDeviceType( D3DDEVTYPE devType ) +void CD3DSettingsDlg::AddAdapter( _In_z_ const WCHAR* strDescription, _In_ UINT iAdapter ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - if( !pComboBox->ContainsItem( DXUTD3DDeviceTypeToString( devType ) ) ) - pComboBox->AddItem( DXUTD3DDeviceTypeToString( devType ), ULongToPtr( devType ) ); + if( !pComboBox->ContainsItem( strDescription ) ) + pComboBox->AddItem( strDescription, ULongToPtr( iAdapter ) ); } //------------------------------------------------------------------------------------- -D3DDEVTYPE CD3DSettingsDlg::GetSelectedDeviceType() +UINT CD3DSettingsDlg::GetSelectedAdapter() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER ); - return ( D3DDEVTYPE )PtrToUlong( pComboBox->GetSelectedData() ); + return PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::SetWindowed( bool bWindowed ) +void CD3DSettingsDlg::SetWindowed( _In_ bool bWindowed ) { - CDXUTRadioButton* pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED ); + auto pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED ); pRadioButton->SetChecked( bWindowed ); pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_FULLSCREEN ); pRadioButton->SetChecked( !bWindowed ); -} - - -//------------------------------------------------------------------------------------- -bool CD3DSettingsDlg::IsWindowed() -{ - CDXUTRadioButton* pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED ); - return pRadioButton->GetChecked(); -} + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL, !bWindowed); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_RESOLUTION_LABEL, !bWindowed); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_REFRESH_RATE_LABEL, !bWindowed); -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddAdapterFormat( D3DFORMAT format ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT ); - - if( !pComboBox->ContainsItem( DXUTD3DFormatToString( format, TRUE ) ) ) - pComboBox->AddItem( DXUTD3DFormatToString( format, TRUE ), ULongToPtr( format ) ); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL, !bWindowed); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT, !bWindowed); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_RESOLUTION, !bWindowed); + m_Dialog.SetControlEnabled(DXUTSETTINGSDLG_D3D11_REFRESH_RATE, !bWindowed); } //------------------------------------------------------------------------------------- -D3DFORMAT CD3DSettingsDlg::GetSelectedAdapterFormat() +bool CD3DSettingsDlg::IsWindowed() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT ); - - return ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); + auto pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED ); + return pRadioButton->GetChecked(); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11AdapterOutput( const WCHAR* strName, UINT Output ) +void CD3DSettingsDlg::AddD3D11AdapterOutput( _In_z_ const WCHAR* strName, _In_ UINT Output ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); if( !pComboBox->ContainsItem( strName ) ) pComboBox->AddItem( strName, ULongToPtr( Output ) ); @@ -2230,23 +1191,24 @@ void CD3DSettingsDlg::AddD3D11AdapterOutput( const WCHAR* strName, UINT Output ) //------------------------------------------------------------------------------------- -UINT CD3DSettingsDlg::GetSelectedD3D11AdapterOutput() +UINT CD3DSettingsDlg::GetSelectedD3D11AdapterOutput() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT ); return PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddResolution( DWORD dwWidth, DWORD dwHeight ) +_Use_decl_annotations_ +void CD3DSettingsDlg::AddD3D11Resolution( DWORD dwWidth, DWORD dwHeight ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); DWORD dwResolutionData; WCHAR strResolution[50]; dwResolutionData = MAKELONG( dwWidth, dwHeight ); - swprintf_s( strResolution, 50, L"%d by %d", dwWidth, dwHeight ); + swprintf_s( strResolution, 50, L"%u by %u", dwWidth, dwHeight ); if( !pComboBox->ContainsItem( strResolution ) ) pComboBox->AddItem( strResolution, ULongToPtr( dwResolutionData ) ); @@ -2254,9 +1216,10 @@ void CD3DSettingsDlg::AddResolution( DWORD dwWidth, DWORD dwHeight ) //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::GetSelectedResolution( DWORD* pdwWidth, DWORD* pdwHeight ) +_Use_decl_annotations_ +void CD3DSettingsDlg::GetSelectedD3D11Resolution( DWORD* pdwWidth, DWORD* pdwHeight ) const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); DWORD dwResolution = PtrToUlong( pComboBox->GetSelectedData() ); @@ -2266,33 +1229,9 @@ void CD3DSettingsDlg::GetSelectedResolution( DWORD* pdwWidth, DWORD* pdwHeight ) //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11Resolution( DWORD dwWidth, DWORD dwHeight ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); - - DWORD dwResolutionData; - WCHAR strResolution[50]; - dwResolutionData = MAKELONG( dwWidth, dwHeight ); - swprintf_s( strResolution, 50, L"%d by %d", dwWidth, dwHeight ); - - if( !pComboBox->ContainsItem( strResolution ) ) - pComboBox->AddItem( strResolution, ULongToPtr( dwResolutionData ) ); -} - - -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::GetSelectedD3D11Resolution( DWORD* pdwWidth, DWORD* pdwHeight ) +void CD3DSettingsDlg::AddD3D11FeatureLevel( _In_ D3D_FEATURE_LEVEL fl) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); - - DWORD dwResolution = PtrToUlong( pComboBox->GetSelectedData() ); - - *pdwWidth = LOWORD( dwResolution ); - *pdwHeight = HIWORD( dwResolution ); -} - -void CD3DSettingsDlg::AddD3D11FeatureLevel(D3D_FEATURE_LEVEL fl) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); switch( fl ) { case D3D_FEATURE_LEVEL_9_1: @@ -2331,56 +1270,53 @@ void CD3DSettingsDlg::AddD3D11FeatureLevel(D3D_FEATURE_LEVEL fl) { pComboBox->AddItem( L"D3D_FEATURE_LEVEL_11_0", ULongToPtr( D3D_FEATURE_LEVEL_11_0 ) ); } break; + case D3D_FEATURE_LEVEL_11_1: + { + if( !pComboBox->ContainsItem( L"D3D_FEATURE_LEVEL_11_1" ) ) + pComboBox->AddItem( L"D3D_FEATURE_LEVEL_11_1", ULongToPtr( D3D_FEATURE_LEVEL_11_1 ) ); + } + break; +#if defined(USE_DIRECT3D11_3) || defined(USE_DIRECT3D11_4) + case D3D_FEATURE_LEVEL_12_0: + { + if (!pComboBox->ContainsItem(L"D3D_FEATURE_LEVEL_12_0")) + pComboBox->AddItem(L"D3D_FEATURE_LEVEL_12_0", ULongToPtr(D3D_FEATURE_LEVEL_12_0)); + } + break; + case D3D_FEATURE_LEVEL_12_1: + { + if (!pComboBox->ContainsItem(L"D3D_FEATURE_LEVEL_12_1")) + pComboBox->AddItem(L"D3D_FEATURE_LEVEL_12_1", ULongToPtr(D3D_FEATURE_LEVEL_12_1)); + } + break; +#endif } } -D3D_FEATURE_LEVEL CD3DSettingsDlg::GetSelectedFeatureLevel() { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); - - return (D3D_FEATURE_LEVEL)PtrToUlong( pComboBox->GetSelectedData() ); -} -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddRefreshRate( DWORD dwRate ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE ); - - WCHAR strRefreshRate[50]; - - if( dwRate == 0 ) - wcscpy_s( strRefreshRate, 50, L"Default Rate" ); - else - swprintf_s( strRefreshRate, 50, L"%d Hz", dwRate ); - - if( !pComboBox->ContainsItem( strRefreshRate ) ) - pComboBox->AddItem( strRefreshRate, ULongToPtr( dwRate ) ); -} - - -//------------------------------------------------------------------------------------- -DWORD CD3DSettingsDlg::GetSelectedRefreshRate() +D3D_FEATURE_LEVEL CD3DSettingsDlg::GetSelectedFeatureLevel() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_FEATURE_LEVEL ); - return PtrToUlong( pComboBox->GetSelectedData() ); + return (D3D_FEATURE_LEVEL)PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11RefreshRate( DXGI_RATIONAL RefreshRate ) +void CD3DSettingsDlg::AddD3D11RefreshRate( _In_ DXGI_RATIONAL RefreshRate ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); WCHAR strRefreshRate[50]; if( RefreshRate.Numerator == 0 && RefreshRate.Denominator == 0 ) wcscpy_s( strRefreshRate, 50, L"Default Rate" ); else - swprintf_s( strRefreshRate, 50, L"%d Hz", RefreshRate.Numerator / RefreshRate.Denominator ); + swprintf_s( strRefreshRate, 50, L"%u Hz", RefreshRate.Numerator / RefreshRate.Denominator ); if( !pComboBox->ContainsItem( strRefreshRate ) ) { - DXGI_RATIONAL* pNewRate = new DXGI_RATIONAL; + auto pNewRate = new (std::nothrow) DXGI_RATIONAL; if( pNewRate ) { *pNewRate = RefreshRate; @@ -2391,42 +1327,23 @@ void CD3DSettingsDlg::AddD3D11RefreshRate( DXGI_RATIONAL RefreshRate ) //------------------------------------------------------------------------------------- -DXGI_RATIONAL CD3DSettingsDlg::GetSelectedD3D11RefreshRate() +DXGI_RATIONAL CD3DSettingsDlg::GetSelectedD3D11RefreshRate() const { - DXGI_RATIONAL dxgiR; - dxgiR.Numerator = 0; - dxgiR.Denominator = 1; - - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); - + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); return *reinterpret_cast( pComboBox->GetSelectedData() ); - -} - - -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddBackBufferFormat( D3DFORMAT format ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT ); - - if( !pComboBox->ContainsItem( DXUTD3DFormatToString( format, TRUE ) ) ) - pComboBox->AddItem( DXUTD3DFormatToString( format, TRUE ), ULongToPtr( format ) ); } //------------------------------------------------------------------------------------- -D3DFORMAT CD3DSettingsDlg::GetSelectedBackBufferFormat() +void CD3DSettingsDlg::AddD3D11BackBufferFormat( _In_ DXGI_FORMAT format ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT ); - - return ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); -} - + if ( g_DeviceSettings.d3d11.DeviceFeatureLevel < D3D_FEATURE_LEVEL_10_0 ) + { + if ( (format == DXGI_FORMAT_R16G16B16A16_FLOAT) || (format == DXGI_FORMAT_R10G10B10A2_UNORM) ) + return; + } -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11BackBufferFormat( DXGI_FORMAT format ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT ); if( !pComboBox->ContainsItem( DXUTDXGIFormatToString( format, TRUE ) ) ) pComboBox->AddItem( DXUTDXGIFormatToString( format, TRUE ), ULongToPtr( format ) ); @@ -2434,78 +1351,18 @@ void CD3DSettingsDlg::AddD3D11BackBufferFormat( DXGI_FORMAT format ) //------------------------------------------------------------------------------------- -DXGI_FORMAT CD3DSettingsDlg::GetSelectedD3D11BackBufferFormat() +DXGI_FORMAT CD3DSettingsDlg::GetSelectedD3D11BackBufferFormat() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_BACK_BUFFER_FORMAT ); return ( DXGI_FORMAT )PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddDepthStencilBufferFormat( D3DFORMAT format ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL ); - - if( !pComboBox->ContainsItem( DXUTD3DFormatToString( format, TRUE ) ) ) - pComboBox->AddItem( DXUTD3DFormatToString( format, TRUE ), ULongToPtr( format ) ); -} - - -//------------------------------------------------------------------------------------- -D3DFORMAT CD3DSettingsDlg::GetSelectedDepthStencilBufferFormat() -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL ); - - return ( D3DFORMAT )PtrToUlong( pComboBox->GetSelectedData() ); -} - - -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddMultisampleType( D3DMULTISAMPLE_TYPE type ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE ); - - if( !pComboBox->ContainsItem( DXUTMultisampleTypeToString( type ) ) ) - pComboBox->AddItem( DXUTMultisampleTypeToString( type ), ULongToPtr( type ) ); -} - - -//------------------------------------------------------------------------------------- -D3DMULTISAMPLE_TYPE CD3DSettingsDlg::GetSelectedMultisampleType() -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE ); - - return ( D3DMULTISAMPLE_TYPE )PtrToUlong( pComboBox->GetSelectedData() ); -} - - -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddMultisampleQuality( DWORD dwQuality ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY ); - - WCHAR strQuality[50]; - swprintf_s( strQuality, 50, L"%d", dwQuality ); - - if( !pComboBox->ContainsItem( strQuality ) ) - pComboBox->AddItem( strQuality, ULongToPtr( dwQuality ) ); -} - - -//------------------------------------------------------------------------------------- -DWORD CD3DSettingsDlg::GetSelectedMultisampleQuality() -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY ); - - return PtrToUlong( pComboBox->GetSelectedData() ); -} - - -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11MultisampleCount( UINT Count ) +void CD3DSettingsDlg::AddD3D11MultisampleCount( _In_ UINT Count ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT ); WCHAR str[50]; swprintf_s( str, 50, L"%u", Count ); @@ -2516,21 +1373,21 @@ void CD3DSettingsDlg::AddD3D11MultisampleCount( UINT Count ) //------------------------------------------------------------------------------------- -UINT CD3DSettingsDlg::GetSelectedD3D11MultisampleCount() +UINT CD3DSettingsDlg::GetSelectedD3D11MultisampleCount() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_COUNT ); return ( UINT )PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11MultisampleQuality( UINT Quality ) +void CD3DSettingsDlg::AddD3D11MultisampleQuality( _In_ UINT Quality ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY ); WCHAR strQuality[50]; - swprintf_s( strQuality, 50, L"%d", Quality ); + swprintf_s( strQuality, 50, L"%u", Quality ); if( !pComboBox->ContainsItem( strQuality ) ) pComboBox->AddItem( strQuality, ULongToPtr( Quality ) ); @@ -2538,129 +1395,140 @@ void CD3DSettingsDlg::AddD3D11MultisampleQuality( UINT Quality ) //------------------------------------------------------------------------------------- -UINT CD3DSettingsDlg::GetSelectedD3D11MultisampleQuality() +UINT CD3DSettingsDlg::GetSelectedD3D11MultisampleQuality() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_MULTISAMPLE_QUALITY ); return ( UINT )PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddVertexProcessingType( DWORD dwType ) -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_VERTEX_PROCESSING ); - - if( !pComboBox->ContainsItem( DXUTVertexProcessingTypeToString( dwType ) ) ) - pComboBox->AddItem( DXUTVertexProcessingTypeToString( dwType ), ULongToPtr( dwType ) ); -} - - -//------------------------------------------------------------------------------------- -DWORD CD3DSettingsDlg::GetSelectedVertexProcessingType() -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_VERTEX_PROCESSING ); - - return PtrToUlong( pComboBox->GetSelectedData() ); -} - - -//------------------------------------------------------------------------------------- -DWORD CD3DSettingsDlg::GetSelectedPresentInterval() -{ - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_PRESENT_INTERVAL ); - - return PtrToUlong( pComboBox->GetSelectedData() ); -} - - -//------------------------------------------------------------------------------------- -DWORD CD3DSettingsDlg::GetSelectedD3D11PresentInterval() +DWORD CD3DSettingsDlg::GetSelectedD3D11PresentInterval() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_PRESENT_INTERVAL ); return PtrToUlong( pComboBox->GetSelectedData() ); } //------------------------------------------------------------------------------------- -bool CD3DSettingsDlg::GetSelectedDebugDeviceValue() +bool CD3DSettingsDlg::GetSelectedDebugDeviceValue() const { - CDXUTCheckBox* pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE ); + auto pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_D3D11_DEBUG_DEVICE ); return pCheckBox->GetChecked(); } -//------------------------------------------------------------------------------------- -void CD3DSettingsDlg::SetDeviceClip( bool bDeviceClip ) -{ - CDXUTCheckBox* pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_DEVICECLIP ); - pCheckBox->SetChecked( bDeviceClip ); -} - - -//------------------------------------------------------------------------------------- -bool CD3DSettingsDlg::IsDeviceClip() -{ - CDXUTCheckBox* pCheckBox = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_DEVICECLIP ); - return pCheckBox->GetChecked(); -} - //-------------------------------------------------------------------------------------- // Updates the resolution list for D3D11 //-------------------------------------------------------------------------------------- HRESULT CD3DSettingsDlg::UpdateD3D11Resolutions() { - const DWORD dwWidth = g_DeviceSettings.d3d11.sd.BufferDesc.Width; const DWORD dwHeight = g_DeviceSettings.d3d11.sd.BufferDesc.Height; // DXUTSETTINGSDLG_D3D11_RESOLUTION - CDXUTComboBox* pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); + auto pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_RESOLUTION ); pResolutionComboBox->RemoveAllItems(); - CD3D11EnumOutputInfo* pOutputInfo = GetCurrentD3D11OutputInfo(); - if( pOutputInfo == NULL ) + auto pOutputInfo = GetCurrentD3D11OutputInfo(); + if( !pOutputInfo ) return E_FAIL; - bool bShowAll = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL )->GetChecked(); + bool bWindowed = IsWindowed(); + if ( !bWindowed ) + { + auto pShowAllCB = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL ); + bool bShowAll = pShowAllCB->GetChecked(); - // Get the desktop aspect ratio - DXGI_MODE_DESC dmDesktop; - DXUTGetDesktopResolution( g_DeviceSettings.d3d11.AdapterOrdinal, &dmDesktop.Width, &dmDesktop.Height ); - float fDesktopAspectRatio = dmDesktop.Width / ( float )dmDesktop.Height; + // Get the desktop aspect ratio + DXGI_MODE_DESC dmDesktop; + DXUTGetDesktopResolution(g_DeviceSettings.d3d11.AdapterOrdinal, &dmDesktop.Width, &dmDesktop.Height); + float fDesktopAspectRatio = dmDesktop.Width / (float) dmDesktop.Height; - for( int idm = 0; idm < pOutputInfo->displayModeList.GetSize(); idm++ ) - { - DXGI_MODE_DESC DisplayMode = pOutputInfo->displayModeList.GetAt( idm ); - float fAspect = ( float )DisplayMode.Width / ( float )DisplayMode.Height; + if ( !bShowAll && !DXUTIsWindowed() ) + { + float fAspect = (float) dwWidth / (float) dwHeight; + if ( fabsf(fDesktopAspectRatio - fAspect) >= 0.05f ) + { + // Our current fullscren resolution should be listed in the combo box despite the aspect ratio + pShowAllCB->SetChecked(true); + bShowAll = true; + } + } - if( DisplayMode.Format == g_DeviceSettings.d3d11.sd.BufferDesc.Format ) + for (size_t idm = 0; idm < pOutputInfo->displayModeList.size(); idm++) { - // If "Show All" is not checked, then hide all resolutions - // that don't match the aspect ratio of the desktop resolution - if( bShowAll || ( !bShowAll && fabsf( fDesktopAspectRatio - fAspect ) < 0.05f ) ) + auto DisplayMode = pOutputInfo->displayModeList[idm]; + float fAspect = (float) DisplayMode.Width / (float) DisplayMode.Height; + + if (DisplayMode.Format == g_DeviceSettings.d3d11.sd.BufferDesc.Format) { - AddD3D11Resolution( DisplayMode.Width, DisplayMode.Height ); + // If "Show All" is not checked, then hide all resolutions + // that don't match the aspect ratio of the desktop resolution + if (bShowAll || (!bShowAll && fabsf(fDesktopAspectRatio - fAspect) < 0.05f)) + { + AddD3D11Resolution(DisplayMode.Width, DisplayMode.Height); + } } } } + else + { + pResolutionComboBox->RemoveAllItems(); + AddD3D11Resolution( dwWidth, dwHeight ); + } + + pResolutionComboBox->SetSelectedByData(ULongToPtr(MAKELONG(dwWidth, dwHeight))); + OnD3D11ResolutionChanged(); - const DWORD dwCurResolution = MAKELONG( g_DeviceSettings.d3d11.sd.BufferDesc.Width, - g_DeviceSettings.d3d11.sd.BufferDesc.Height ); + return S_OK; +} - pResolutionComboBox->SetSelectedByData( ULongToPtr( dwCurResolution ) ); +//-------------------------------------------------------------------------------------- +// Updates the refresh list for D3D11 +//-------------------------------------------------------------------------------------- +HRESULT CD3DSettingsDlg::UpdateD3D11RefreshRates() +{ + const DWORD dwWidth = g_DeviceSettings.d3d11.sd.BufferDesc.Width; + const DWORD dwHeight = g_DeviceSettings.d3d11.sd.BufferDesc.Height; + DXGI_FORMAT backBuffer = g_DeviceSettings.d3d11.sd.BufferDesc.Format; + const DXGI_RATIONAL RefreshRate = g_DeviceSettings.d3d11.sd.BufferDesc.RefreshRate; + + auto pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_D3D11_REFRESH_RATE ); + for( UINT i = 0; i < pRefreshRateComboBox->GetNumItems(); ++i ) + { + auto pRefreshRate = reinterpret_cast( pRefreshRateComboBox->GetItemData( i ) ); + delete pRefreshRate; + } + pRefreshRateComboBox->RemoveAllItems(); bool bWindowed = IsWindowed(); if( bWindowed ) { - pResolutionComboBox->RemoveAllItems(); - AddD3D11Resolution( dwWidth, dwHeight ); + DXGI_RATIONAL def; + def.Denominator = def.Numerator = 0; + AddD3D11RefreshRate(def); + } + else + { + auto pD3DEnum = DXUTGetD3D11Enumeration(); + if ( !pD3DEnum ) + return E_POINTER; - pResolutionComboBox->SetSelectedByData( ULongToPtr( MAKELONG( dwWidth, dwHeight ) ) ); + auto pOutputInfo = pD3DEnum->GetOutputInfo( g_DeviceSettings.d3d11.AdapterOrdinal, g_DeviceSettings.d3d11.Output ); + if ( !pOutputInfo ) + return E_POINTER; + for( auto it = pOutputInfo->displayModeList.cbegin(); it != pOutputInfo->displayModeList.cend(); ++it ) + { + if ( it->Width == dwWidth && it->Height == dwHeight && it->Format == backBuffer ) + AddD3D11RefreshRate( it->RefreshRate ); + } + SetSelectedD3D11RefreshRate( RefreshRate ); } return S_OK; @@ -2669,25 +1537,25 @@ HRESULT CD3DSettingsDlg::UpdateD3D11Resolutions() // //------------------------------------------------------------------------------------- -void CD3DSettingsDlg::AddD3D11DeviceType( D3D_DRIVER_TYPE devType ) +void CD3DSettingsDlg::AddD3D11DeviceType( _In_ D3D_DRIVER_TYPE devType ) { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); - if( !pComboBox->ContainsItem( DXUTD3DX11DeviceTypeToString( devType ) ) ) - pComboBox->AddItem( DXUTD3DX11DeviceTypeToString( devType ), ULongToPtr( devType ) ); + if( !pComboBox->ContainsItem( DXUTDeviceTypeToString( devType ) ) ) + pComboBox->AddItem( DXUTDeviceTypeToString( devType ), ULongToPtr( devType ) ); } //------------------------------------------------------------------------------------- -D3D_DRIVER_TYPE CD3DSettingsDlg::GetSelectedD3D11DeviceType() +D3D_DRIVER_TYPE CD3DSettingsDlg::GetSelectedD3D11DeviceType() const { - CDXUTComboBox* pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); + auto pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE ); return ( D3D_DRIVER_TYPE )PtrToUlong( pComboBox->GetSelectedData() ); } -void CD3DSettingsDlg::UpdateModeChangeTimeoutText( int nSecRemaining ) +void CD3DSettingsDlg::UpdateModeChangeTimeoutText( _In_ int nSecRemaining ) { const WCHAR StrTimeout[] = L"Reverting to previous display settings in %d seconds"; const DWORD CchBuf = sizeof( StrTimeout ) / sizeof( WCHAR ) + 16; @@ -2695,52 +1563,14 @@ void CD3DSettingsDlg::UpdateModeChangeTimeoutText( int nSecRemaining ) swprintf_s( buf, CchBuf, StrTimeout, nSecRemaining ); - CDXUTStatic* pStatic = m_RevertModeDialog.GetStatic( DXUTSETTINGSDLG_STATIC_MODE_CHANGE_TIMEOUT ); + auto pStatic = m_RevertModeDialog.GetStatic( DXUTSETTINGSDLG_STATIC_MODE_CHANGE_TIMEOUT ); pStatic->SetText( buf ); } -//-------------------------------------------------------------------------------------- -// Returns the string for the given DXUTDeviceVersion. -//-------------------------------------------------------------------------------------- -WCHAR* DXUTAPIVersionToString( DXUTDeviceVersion version ) -{ - switch( version ) - { - case DXUT_D3D9_DEVICE: - return L"Direct3D 9"; - case DXUT_D3D11_DEVICE: - return L"Direct3D 11"; - default: - return L"Unknown version"; - } -} - - -//-------------------------------------------------------------------------------------- -// Returns the string for the given D3DDEVTYPE. -//-------------------------------------------------------------------------------------- -WCHAR* DXUTD3DDeviceTypeToString( D3DDEVTYPE devType ) -{ - switch( devType ) - { - case D3DDEVTYPE_HAL: - return L"D3DDEVTYPE_HAL"; - case D3DDEVTYPE_SW: - return L"D3DDEVTYPE_SW"; - case D3DDEVTYPE_REF: - return L"D3DDEVTYPE_REF"; - default: - return L"Unknown devType"; - } -} - - - - //-------------------------------------------------------------------------------------- // Returns the string for the given D3D_DRIVER_TYPE. //-------------------------------------------------------------------------------------- -WCHAR* DXUTD3DX11DeviceTypeToString( D3D_DRIVER_TYPE devType ) +const WCHAR* DXUTDeviceTypeToString( _In_ D3D_DRIVER_TYPE devType ) { switch( devType ) { @@ -2758,96 +1588,3 @@ WCHAR* DXUTD3DX11DeviceTypeToString( D3D_DRIVER_TYPE devType ) } -//-------------------------------------------------------------------------------------- -// Returns the string for the given D3DMULTISAMPLE_TYPE. -//-------------------------------------------------------------------------------------- -WCHAR* DXUTMultisampleTypeToString( D3DMULTISAMPLE_TYPE MultiSampleType ) -{ - switch( MultiSampleType ) - { - case D3DMULTISAMPLE_NONE: - return L"D3DMULTISAMPLE_NONE"; - case D3DMULTISAMPLE_NONMASKABLE: - return L"D3DMULTISAMPLE_NONMASKABLE"; - case D3DMULTISAMPLE_2_SAMPLES: - return L"D3DMULTISAMPLE_2_SAMPLES"; - case D3DMULTISAMPLE_3_SAMPLES: - return L"D3DMULTISAMPLE_3_SAMPLES"; - case D3DMULTISAMPLE_4_SAMPLES: - return L"D3DMULTISAMPLE_4_SAMPLES"; - case D3DMULTISAMPLE_5_SAMPLES: - return L"D3DMULTISAMPLE_5_SAMPLES"; - case D3DMULTISAMPLE_6_SAMPLES: - return L"D3DMULTISAMPLE_6_SAMPLES"; - case D3DMULTISAMPLE_7_SAMPLES: - return L"D3DMULTISAMPLE_7_SAMPLES"; - case D3DMULTISAMPLE_8_SAMPLES: - return L"D3DMULTISAMPLE_8_SAMPLES"; - case D3DMULTISAMPLE_9_SAMPLES: - return L"D3DMULTISAMPLE_9_SAMPLES"; - case D3DMULTISAMPLE_10_SAMPLES: - return L"D3DMULTISAMPLE_10_SAMPLES"; - case D3DMULTISAMPLE_11_SAMPLES: - return L"D3DMULTISAMPLE_11_SAMPLES"; - case D3DMULTISAMPLE_12_SAMPLES: - return L"D3DMULTISAMPLE_12_SAMPLES"; - case D3DMULTISAMPLE_13_SAMPLES: - return L"D3DMULTISAMPLE_13_SAMPLES"; - case D3DMULTISAMPLE_14_SAMPLES: - return L"D3DMULTISAMPLE_14_SAMPLES"; - case D3DMULTISAMPLE_15_SAMPLES: - return L"D3DMULTISAMPLE_15_SAMPLES"; - case D3DMULTISAMPLE_16_SAMPLES: - return L"D3DMULTISAMPLE_16_SAMPLES"; - default: - return L"Unknown Multisample Type"; - } -} - - -//-------------------------------------------------------------------------------------- -// Returns the string for the given vertex processing type -//-------------------------------------------------------------------------------------- -WCHAR* DXUTVertexProcessingTypeToString( DWORD vpt ) -{ - switch( vpt ) - { - case D3DCREATE_SOFTWARE_VERTEXPROCESSING: - return L"Software vertex processing"; - case D3DCREATE_MIXED_VERTEXPROCESSING: - return L"Mixed vertex processing"; - case D3DCREATE_HARDWARE_VERTEXPROCESSING: - return L"Hardware vertex processing"; - case D3DCREATE_PUREDEVICE: - return L"Pure hardware vertex processing"; - default: - return L"Unknown vertex processing type"; - } -} - - -//-------------------------------------------------------------------------------------- -// Returns the string for the given present interval. -//-------------------------------------------------------------------------------------- -WCHAR* DXUTPresentIntervalToString( UINT pi ) -{ - switch( pi ) - { - case D3DPRESENT_INTERVAL_IMMEDIATE: - return L"D3DPRESENT_INTERVAL_IMMEDIATE"; - case D3DPRESENT_INTERVAL_DEFAULT: - return L"D3DPRESENT_INTERVAL_DEFAULT"; - case D3DPRESENT_INTERVAL_ONE: - return L"D3DPRESENT_INTERVAL_ONE"; - case D3DPRESENT_INTERVAL_TWO: - return L"D3DPRESENT_INTERVAL_TWO"; - case D3DPRESENT_INTERVAL_THREE: - return L"D3DPRESENT_INTERVAL_THREE"; - case D3DPRESENT_INTERVAL_FOUR: - return L"D3DPRESENT_INTERVAL_FOUR"; - default: - return L"Unknown PresentInterval"; - } -} - - diff --git a/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.h b/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.h index fee91f3a..45ffdb5b 100644 --- a/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.h +++ b/FriedLiver/Source/DXUT/Optional/DXUTsettingsdlg.h @@ -1,16 +1,18 @@ //-------------------------------------------------------------------------------------- -// File: DXUTSettingsDlg.cpp +// File: DXUTSettingsDlg.h // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef DXUT_SETTINGS_H -#define DXUT_SETTINGS_H //-------------------------------------------------------------------------------------- // Header Includes //-------------------------------------------------------------------------------------- #include "DXUTgui.h" + //-------------------------------------------------------------------------------------- // Control IDs //-------------------------------------------------------------------------------------- @@ -21,27 +23,7 @@ #define DXUTSETTINGSDLG_DEVICE_TYPE 4 #define DXUTSETTINGSDLG_WINDOWED 5 #define DXUTSETTINGSDLG_FULLSCREEN 6 -#define DXUTSETTINGSDLG_ADAPTER_FORMAT 7 -#define DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL 8 -#define DXUTSETTINGSDLG_RESOLUTION 9 -#define DXUTSETTINGSDLG_RESOLUTION_LABEL 10 -#define DXUTSETTINGSDLG_REFRESH_RATE 11 -#define DXUTSETTINGSDLG_REFRESH_RATE_LABEL 12 -#define DXUTSETTINGSDLG_BACK_BUFFER_FORMAT 13 -#define DXUTSETTINGSDLG_BACK_BUFFER_FORMAT_LABEL 14 -#define DXUTSETTINGSDLG_DEPTH_STENCIL 15 -#define DXUTSETTINGSDLG_DEPTH_STENCIL_LABEL 16 -#define DXUTSETTINGSDLG_MULTISAMPLE_TYPE 17 -#define DXUTSETTINGSDLG_MULTISAMPLE_TYPE_LABEL 18 -#define DXUTSETTINGSDLG_MULTISAMPLE_QUALITY 19 -#define DXUTSETTINGSDLG_MULTISAMPLE_QUALITY_LABEL 20 -#define DXUTSETTINGSDLG_VERTEX_PROCESSING 21 -#define DXUTSETTINGSDLG_VERTEX_PROCESSING_LABEL 22 -#define DXUTSETTINGSDLG_PRESENT_INTERVAL 23 -#define DXUTSETTINGSDLG_PRESENT_INTERVAL_LABEL 24 -#define DXUTSETTINGSDLG_DEVICECLIP 25 #define DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL 26 -#define DXUTSETTINGSDLG_API_VERSION 27 #define DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT 28 #define DXUTSETTINGSDLG_D3D11_ADAPTER_OUTPUT_LABEL 29 #define DXUTSETTINGSDLG_D3D11_RESOLUTION 30 @@ -65,169 +47,109 @@ #define DXUTSETTINGSDLG_STATIC_MODE_CHANGE_TIMEOUT 60 #define DXUTSETTINGSDLG_WINDOWED_GROUP 0x0100 -#define TOTAL_FEATURE_LEVLES 6 +#define TOTAL_FEATURE_LEVELS 9 + //-------------------------------------------------------------------------------------- // Dialog for selection of device settings // Use DXUTGetD3DSettingsDialog() to access global instance -// To control the contents of the dialog, use the CD3D9Enumeration class. +// To control the contents of the dialog, use the CD3D11Enumeration class. //-------------------------------------------------------------------------------------- class CD3DSettingsDlg { public: - CD3DSettingsDlg(); - ~CD3DSettingsDlg(); - - void Init( CDXUTDialogResourceManager* pManager ); - void Init( CDXUTDialogResourceManager* pManager, LPCWSTR szControlTextureFileName ); - void Init( CDXUTDialogResourceManager* pManager, LPCWSTR pszControlTextureResourcename, - HMODULE hModule ); - - HRESULT Refresh(); - void OnRender( float fElapsedTime ); - void OnRender9( float fElapsedTime ); - void OnRender10( float fElapsedTime ); - void OnRender11( float fElapsedTime ); - - HRESULT OnD3D9CreateDevice( IDirect3DDevice9* pd3dDevice ); - HRESULT OnD3D9ResetDevice(); - void OnD3D9LostDevice(); - void OnD3D9DestroyDevice(); - - HRESULT OnD3D11CreateDevice( ID3D11Device* pd3dDevice ); - HRESULT OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, - const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ); - void OnD3D11DestroyDevice(); - - CDXUTDialog* GetDialogControl() - { - return &m_Dialog; - } - bool IsActive() - { - return m_bActive; - } - void SetActive( bool bActive ) - { - m_bActive = bActive; if( bActive ) Refresh(); - } - void ShowControlSet( DXUTDeviceVersion ver ); - - LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -protected: - friend CD3DSettingsDlg* WINAPI DXUTGetD3DSettingsDialog(); - - void CreateControls(); - HRESULT SetDeviceSettingsFromUI(); - void SetSelectedD3D11RefreshRate( DXGI_RATIONAL RefreshRate ); - HRESULT UpdateD3D11Resolutions(); - - void OnEvent( UINT nEvent, int nControlID, CDXUTControl* pControl ); - static void WINAPI StaticOnEvent( UINT nEvent, int nControlID, CDXUTControl* pControl, void* pUserData ); - static void WINAPI StaticOnModeChangeTimer( UINT nIDEvent, void* pUserContext ); + CD3DSettingsDlg() noexcept; + ~CD3DSettingsDlg(); - CD3D9EnumAdapterInfo* GetCurrentAdapterInfo(); - CD3D9EnumDeviceInfo* GetCurrentDeviceInfo(); - CD3D9EnumDeviceSettingsCombo* GetCurrentDeviceSettingsCombo(); + void Init( _In_ CDXUTDialogResourceManager* pManager ); + void Init( _In_ CDXUTDialogResourceManager* pManager, _In_z_ LPCWSTR szControlTextureFileName ); + void Init( _In_ CDXUTDialogResourceManager* pManager, _In_z_ LPCWSTR pszControlTextureResourcename, + _In_ HMODULE hModule ); - CD3D11EnumAdapterInfo* GetCurrentD3D11AdapterInfo(); - CD3D11EnumDeviceInfo* GetCurrentD3D11DeviceInfo(); - CD3D11EnumOutputInfo* GetCurrentD3D11OutputInfo(); - CD3D11EnumDeviceSettingsCombo* GetCurrentD3D11DeviceSettingsCombo(); + HRESULT Refresh(); + void OnRender( _In_ float fElapsedTime ); - void AddAPIVersion( DXUTDeviceVersion version ); - DXUTDeviceVersion GetSelectedAPIVersion(); + HRESULT OnD3D11CreateDevice( _In_ ID3D11Device* pd3dDevice ); + HRESULT OnD3D11ResizedSwapChain( _In_ ID3D11Device* pd3dDevice, + _In_ const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc ); + void OnD3D11DestroyDevice(); - void AddAdapter( const WCHAR* strDescription, UINT iAdapter ); - UINT GetSelectedAdapter(); - - void AddDeviceType( D3DDEVTYPE devType ); - D3DDEVTYPE GetSelectedDeviceType(); - - void SetWindowed( bool bWindowed ); - bool IsWindowed(); - - void AddAdapterFormat( D3DFORMAT format ); - D3DFORMAT GetSelectedAdapterFormat(); - - void AddResolution( DWORD dwWidth, DWORD dwHeight ); - void GetSelectedResolution( DWORD* pdwWidth, DWORD* pdwHeight ); + CDXUTDialog* GetDialogControl() { return &m_Dialog; } + bool IsActive() const { return m_bActive; } + void SetActive( _In_ bool bActive ) + { + m_bActive = bActive; + if( bActive ) Refresh(); + } - void AddRefreshRate( DWORD dwRate ); - DWORD GetSelectedRefreshRate(); + LRESULT MsgProc( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ); - void AddBackBufferFormat( D3DFORMAT format ); - D3DFORMAT GetSelectedBackBufferFormat(); +protected: + friend CD3DSettingsDlg* WINAPI DXUTGetD3DSettingsDialog(); - void AddDepthStencilBufferFormat( D3DFORMAT format ); - D3DFORMAT GetSelectedDepthStencilBufferFormat(); + void CreateControls(); + void SetSelectedD3D11RefreshRate( _In_ DXGI_RATIONAL RefreshRate ); + HRESULT UpdateD3D11Resolutions(); + HRESULT UpdateD3D11RefreshRates(); - void AddMultisampleType( D3DMULTISAMPLE_TYPE type ); - D3DMULTISAMPLE_TYPE GetSelectedMultisampleType(); + void OnEvent( _In_ UINT nEvent, _In_ int nControlID, _In_ CDXUTControl* pControl ); - void AddMultisampleQuality( DWORD dwQuality ); - DWORD GetSelectedMultisampleQuality(); + static void WINAPI StaticOnEvent( _In_ UINT nEvent, _In_ int nControlID, _In_ CDXUTControl* pControl, _In_opt_ void* pUserData ); + static void WINAPI StaticOnModeChangeTimer( _In_ UINT nIDEvent, _In_opt_ void* pUserContext ); - void AddVertexProcessingType( DWORD dwType ); - DWORD GetSelectedVertexProcessingType(); + CD3D11EnumAdapterInfo* GetCurrentD3D11AdapterInfo() const; + CD3D11EnumDeviceInfo* GetCurrentD3D11DeviceInfo() const; + CD3D11EnumOutputInfo* GetCurrentD3D11OutputInfo() const; + CD3D11EnumDeviceSettingsCombo* GetCurrentD3D11DeviceSettingsCombo() const; - DWORD GetSelectedPresentInterval(); + void AddAdapter( _In_z_ const WCHAR* strDescription, _In_ UINT iAdapter ); + UINT GetSelectedAdapter() const; - void SetDeviceClip( bool bDeviceClip ); - bool IsDeviceClip(); + void SetWindowed( _In_ bool bWindowed ); + bool IsWindowed() const; // D3D11 - void AddD3D11DeviceType( D3D_DRIVER_TYPE devType ); - D3D_DRIVER_TYPE GetSelectedD3D11DeviceType(); + void AddD3D11DeviceType( _In_ D3D_DRIVER_TYPE devType ); + D3D_DRIVER_TYPE GetSelectedD3D11DeviceType() const; - void AddD3D11AdapterOutput( const WCHAR* strName, UINT nOutput ); - UINT GetSelectedD3D11AdapterOutput(); + void AddD3D11AdapterOutput( _In_z_ const WCHAR* strName, _In_ UINT nOutput ); + UINT GetSelectedD3D11AdapterOutput() const; - void AddD3D11Resolution( DWORD dwWidth, DWORD dwHeight ); - void GetSelectedD3D11Resolution( DWORD* pdwWidth, DWORD* pdwHeight ); + void AddD3D11Resolution( _In_ DWORD dwWidth, _In_ DWORD dwHeight ); + void GetSelectedD3D11Resolution( _Out_ DWORD* pdwWidth, _Out_ DWORD* pdwHeight ) const; - void AddD3D11FeatureLevel(D3D_FEATURE_LEVEL); - D3D_FEATURE_LEVEL GetSelectedFeatureLevel(); + void AddD3D11FeatureLevel( _In_ D3D_FEATURE_LEVEL fl ); + D3D_FEATURE_LEVEL GetSelectedFeatureLevel() const; - void AddD3D11RefreshRate( DXGI_RATIONAL RefreshRate ); - DXGI_RATIONAL GetSelectedD3D11RefreshRate(); + void AddD3D11RefreshRate( _In_ DXGI_RATIONAL RefreshRate ); + DXGI_RATIONAL GetSelectedD3D11RefreshRate() const; - void AddD3D11BackBufferFormat( DXGI_FORMAT format ); - DXGI_FORMAT GetSelectedD3D11BackBufferFormat(); - - void AddD3D11MultisampleCount( UINT count ); - UINT GetSelectedD3D11MultisampleCount(); - - void AddD3D11MultisampleQuality( UINT Quality ); - UINT GetSelectedD3D11MultisampleQuality(); - - DWORD GetSelectedD3D11PresentInterval(); - bool GetSelectedDebugDeviceValue(); + void AddD3D11BackBufferFormat( _In_ DXGI_FORMAT format ); + DXGI_FORMAT GetSelectedD3D11BackBufferFormat() const; + void AddD3D11MultisampleCount( _In_ UINT count ); + UINT GetSelectedD3D11MultisampleCount() const; + void AddD3D11MultisampleQuality( _In_ UINT Quality ); + UINT GetSelectedD3D11MultisampleQuality() const; + DWORD GetSelectedD3D11PresentInterval() const; + bool GetSelectedDebugDeviceValue() const; + HRESULT OnD3D11ResolutionChanged (); - HRESULT OnAPIVersionChanged( bool bRefresh=false ); HRESULT OnFeatureLevelChanged(); HRESULT OnAdapterChanged(); HRESULT OnDeviceTypeChanged(); HRESULT OnWindowedFullScreenChanged(); HRESULT OnAdapterOutputChanged(); - HRESULT OnAdapterFormatChanged(); - HRESULT OnResolutionChanged(); HRESULT OnRefreshRateChanged(); HRESULT OnBackBufferFormatChanged(); - HRESULT OnDepthStencilBufferFormatChanged(); HRESULT OnMultisampleTypeChanged(); HRESULT OnMultisampleQualityChanged(); - HRESULT OnVertexProcessingChanged(); HRESULT OnPresentIntervalChanged(); HRESULT OnDebugDeviceChanged(); - HRESULT OnDeviceClipChanged(); - void UpdateModeChangeTimeoutText( int nSecRemaining ); + void UpdateModeChangeTimeoutText( _In_ int nSecRemaining ); - IDirect3DStateBlock9* m_pStateBlock; CDXUTDialog* m_pActiveDialog; CDXUTDialog m_Dialog; CDXUTDialog m_RevertModeDialog; @@ -235,14 +157,9 @@ class CD3DSettingsDlg UINT m_nIDEvent; bool m_bActive; - D3D_FEATURE_LEVEL m_Levels[TOTAL_FEATURE_LEVLES]; + D3D_FEATURE_LEVEL m_Levels[TOTAL_FEATURE_LEVELS]; }; CD3DSettingsDlg* WINAPI DXUTGetD3DSettingsDialog(); - - - -#endif - diff --git a/FriedLiver/Source/DXUT/Optional/ImeUi.cpp b/FriedLiver/Source/DXUT/Optional/ImeUi.cpp index 912c6d6a..d23ceee4 100644 --- a/FriedLiver/Source/DXUT/Optional/ImeUi.cpp +++ b/FriedLiver/Source/DXUT/Optional/ImeUi.cpp @@ -2,19 +2,22 @@ // File: ImeUi.cpp // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "dxut.h" #include "ImeUi.h" #include #include #include -#include // Ignore typecast warnings #pragma warning( disable : 4312 ) #pragma warning( disable : 4244 ) #pragma warning( disable : 4311 ) +#pragma prefast( disable : 28159, "GetTickCount() is fine for a blinking cursor" ) #define MAX_CANDIDATE_LENGTH 256 #define COUNTOF(a) ( sizeof( a ) / sizeof( ( a )[0] ) ) @@ -61,7 +64,7 @@ static IMEUI_APPEARANCE gSkinIME = 24, // symbolHeight; 0xa0, // symbolTranslucence; 0, // symbolPlacement; - NULL, // symbolFont; + nullptr, // symbolFont; 0xffffffff, // candColorBase; 0xff000000, // candColorBorder; 0, // candColorText; @@ -121,14 +124,15 @@ FAR* LPINPUTCONTEXT2; class CDisableCicero { public: - CDisableCicero() : m_ptim( NULL ), - m_bComInit( false ) - { - } - ~CDisableCicero() - { - Uninitialize(); - } + CDisableCicero() noexcept : + m_ptim( nullptr ), + m_bComInit( false ) + {} + ~CDisableCicero() + { + Uninitialize(); + } + void Initialize() { if( m_bComInit ) @@ -136,12 +140,12 @@ class CDisableCicero return; } HRESULT hr; - hr = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED ); + hr = CoInitializeEx( nullptr, COINIT_APARTMENTTHREADED ); if( SUCCEEDED( hr ) ) { m_bComInit = true; hr = CoCreateInstance( CLSID_TF_ThreadMgr, - NULL, + nullptr, CLSCTX_INPROC_SERVER, __uuidof( ITfThreadMgr ), ( void** )&m_ptim ); @@ -152,7 +156,7 @@ class CDisableCicero if( m_ptim ) { m_ptim->Release(); - m_ptim = NULL; + m_ptim = nullptr; } if( m_bComInit ) CoUninitialize(); @@ -161,13 +165,13 @@ class CDisableCicero void DisableCiceroOnThisWnd( HWND hwnd ) { - if( m_ptim == NULL ) + if( !m_ptim ) return; ITfDocumentMgr* pdimPrev; // the dim that is associated previously. - // Associate NULL dim to the window. + // Associate nullptr dim to the window. // When this window gets the focus, Cicero does not work and IMM32 IME // will be activated. - if( SUCCEEDED( m_ptim->AssociateFocus( hwnd, NULL, &pdimPrev ) ) ) + if( SUCCEEDED( m_ptim->AssociateFocus( hwnd, nullptr, &pdimPrev ) ) ) { if( pdimPrev ) pdimPrev->Release(); @@ -255,7 +259,7 @@ static DWORD g_hCompChar; static int g_iCandListIndexBase; static DWORD g_dwImeUiFlags = IMEUI_FLAG_SUPPORT_CARET; static bool g_bUILessMode = false; -static HMODULE g_hImmDll = NULL; +static HMODULE g_hImmDll = nullptr; #define IsNT() (g_osi.dwPlatformId == VER_PLATFORM_WIN32_NT) @@ -289,36 +293,29 @@ static double lastSwirl; static HKL g_hklCurrent = 0; static UINT g_uCodePage = 0; -static LPTSTR g_aszIndicator[] = +static LPCTSTR g_aszIndicator[] = { TEXT( "A" ), -#ifdef UNICODE - L"\x7B80", - L"\x7E41", - L"\xac00", - L"\x3042", -#else - "\xd6\xd0", - "\xa4\xa4", - "\xb0\xa1", - "\x82\xa0", -#endif + L"\x7B80", + L"\x7E41", + L"\xac00", + L"\x3042", }; -static LPTSTR g_pszIndicatior = g_aszIndicator[0]; +static LPCTSTR g_pszIndicatior = g_aszIndicator[0]; -static void GetReadingString( HWND hWnd ); -static DWORD GetImeId( UINT uIndex = 0 ); +static void GetReadingString( _In_ HWND hWnd ); +static DWORD GetImeId( _In_ UINT uIndex = 0 ); static void CheckToggleState(); static void DrawImeIndicator(); static void DrawCandidateList(); -static void DrawCompositionString( bool bDrawCompAttr ); -static void GetReadingWindowOrientation( DWORD dwId ); +static void DrawCompositionString( _In_ bool bDrawCompAttr ); +static void GetReadingWindowOrientation( _In_ DWORD dwId ); static void OnInputLangChangeWorker(); static void OnInputLangChange(); static void SetImeApi(); static void CheckInputLocale(); -static void SetSupportLevel( DWORD dwImeLevel ); -void ImeUi_SetSupportLevel( DWORD dwImeLevel ); +static void SetSupportLevel( _In_ DWORD dwImeLevel ); +void ImeUi_SetSupportLevel( _In_ DWORD dwImeLevel ); // @@ -352,15 +349,15 @@ class CTsfUiLessMode public ITfCompartmentEventSink { public: - CUIElementSink(); - ~CUIElementSink(); + CUIElementSink() noexcept; + virtual ~CUIElementSink(); // IUnknown - STDMETHODIMP QueryInterface( REFIID riid, void** ppvObj ); - STDMETHODIMP_( ULONG ) - AddRef( void ); - STDMETHODIMP_( ULONG ) - Release( void ); + STDMETHODIMP QueryInterface( _In_ REFIID riid, _COM_Outptr_ void** ppvObj ); + STDMETHODIMP_( ULONG ) + AddRef(); + STDMETHODIMP_( ULONG ) + Release(); // ITfUIElementSink // Notifications for Reading Window events. We could process candidate as well, but we'll use IMM for simplicity sake. @@ -370,12 +367,12 @@ class CTsfUiLessMode // ITfInputProcessorProfileActivationSink // Notification for keyboard input locale change - STDMETHODIMP OnActivated( DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID catid, - REFGUID guidProfile, HKL hkl, DWORD dwFlags ); + STDMETHODIMP OnActivated( DWORD dwProfileType, LANGID langid, _In_ REFCLSID clsid, _In_ REFGUID catid, + _In_ REFGUID guidProfile, HKL hkl, DWORD dwFlags ); // ITfCompartmentEventSink // Notification for open mode (toggle state) change - STDMETHODIMP OnChange( REFGUID rguid ); + STDMETHODIMP OnChange( _In_ REFGUID rguid ); private: LONG _cRef; @@ -386,8 +383,8 @@ class CTsfUiLessMode static ITfUIElement* GetUIElement( DWORD dwUIElementId ); static BOOL GetCompartments( ITfCompartmentMgr** ppcm, ITfCompartment** ppTfOpenMode, ITfCompartment** ppTfConvMode ); - static BOOL SetupCompartmentSinks( BOOL bResetOnly = FALSE, ITfCompartment* pTfOpenMode = NULL, - ITfCompartment* ppTfConvMode = NULL ); + static BOOL SetupCompartmentSinks( BOOL bResetOnly = FALSE, ITfCompartment* pTfOpenMode = nullptr, + ITfCompartment* ppTfConvMode = nullptr ); static ITfThreadMgrEx* m_tm; static DWORD m_dwUIElementSinkCookie; @@ -397,9 +394,7 @@ class CTsfUiLessMode static CUIElementSink* m_TsfSink; static int m_nCandidateRefCount; // Some IME shows multiple candidate lists but the Library doesn't support multiple candidate list. // So track open / close events to make sure the candidate list opened last is shown. - CTsfUiLessMode() - { - } // this class can't be instanciated + CTsfUiLessMode() = default; // this class can't be instanciated public: static BOOL SetupSinks(); @@ -414,8 +409,8 @@ DWORD CTsfUiLessMode::m_dwUIElementSinkCookie = TF_INV DWORD CTsfUiLessMode::m_dwAlpnSinkCookie = TF_INVALID_COOKIE; DWORD CTsfUiLessMode::m_dwOpenModeSinkCookie = TF_INVALID_COOKIE; DWORD CTsfUiLessMode::m_dwConvModeSinkCookie = TF_INVALID_COOKIE; -CTsfUiLessMode::CUIElementSink* CTsfUiLessMode::m_TsfSink = NULL; -int CTsfUiLessMode::m_nCandidateRefCount = NULL; +CTsfUiLessMode::CUIElementSink* CTsfUiLessMode::m_TsfSink = nullptr; +int CTsfUiLessMode::m_nCandidateRefCount = 0; static unsigned long _strtoul( LPCSTR psz, LPTSTR*, int ) { @@ -452,282 +447,8 @@ static unsigned long _strtoul( LPCSTR psz, LPTSTR*, int ) return ulRet; } -#ifdef UNICODE -#define GetCharCount(psz) lstrlen(psz) +#define GetCharCount(psz) (int)wcslen(psz) #define GetCharCountFromBytes(psz,iBytes) (iBytes) -static void AW_SendCompString() -{ - int i, iLen; - if ( ImeUiCallback_OnChar ) - { - for ( i = 0; g_szCompositionString[i]; i++ ) - { - ImeUiCallback_OnChar( g_szCompositionString[i] ); - } - return; - } - - BYTE szCompStr[COUNTOF(g_szCompositionString) * 2]; - iLen = WideCharToMultiByte(g_uCodePage, 0, g_szCompositionString, -1, - (LPSTR)szCompStr, COUNTOF(szCompStr), NULL, NULL) - 1; // don't need to send NUL terminator; - for (i = 0; i < iLen; i++) - { - SendKeyMsg(g_hwndCurr, WM_CHAR, szCompStr[i]); - } -} - -// The following AW_Imm* functions are there to support Win95/98 first version. -// They can be deleted if the game doesn't supports them (i.e. games requires Win98 SE or later). -static DWORD AW_GetCandidateList(HIMC himc, DWORD dwIndex, LPCANDIDATELIST* ppCandList) -{ - DWORD dwBufLen = ImmGetCandidateListA( himc, dwIndex, NULL, 0 ); - if (dwBufLen) - { - LPCANDIDATELIST pCandList = (LPCANDIDATELIST)ImeUiCallback_Malloc(dwBufLen); - if (pCandList) { - dwBufLen = ImmGetCandidateListA( himc, dwIndex, pCandList, dwBufLen ); - if (dwBufLen) { - int i; - int wideBufLen = 0; - for (i = 0; i < (int)pCandList->dwCount; i++) { - wideBufLen += MultiByteToWideChar(g_uCodePage, 0, (LPSTR)pCandList + pCandList->dwOffset[i], -1, NULL, 0) * sizeof(WCHAR); - } - wideBufLen += pCandList->dwOffset[0]; - *ppCandList = (LPCANDIDATELIST)ImeUiCallback_Malloc(wideBufLen); - LPCANDIDATELIST pCandListW = *ppCandList; - memcpy(pCandListW, pCandList, pCandList->dwOffset[0]); - LPWSTR pwz = (LPWSTR)((LPSTR)pCandListW + pCandList->dwOffset[0]); - for (i = 0; i < (int)pCandList->dwCount; i++) { - pCandListW->dwOffset[i] = (LPSTR)pwz - (LPSTR)pCandListW; - pwz += MultiByteToWideChar(g_uCodePage, 0, (LPSTR)pCandList + pCandList->dwOffset[i], -1, pwz, 256); - } - dwBufLen = wideBufLen; - } - ImeUiCallback_Free(pCandList); - } - } - return dwBufLen; -} - -static LONG WINAPI AW_ImmGetCompositionString(HIMC himc, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen) -{ - char pszMb[COUNTOF(g_szCompositionString) * 2]; - DWORD dwRet = ImmGetCompositionStringA(himc, dwIndex, pszMb, sizeof(pszMb)); - switch (dwIndex) { - case GCS_RESULTSTR: - case GCS_COMPSTR: - if (dwRet) { - pszMb[dwRet] = 0; - dwRet = (DWORD)MultiByteToWideChar(g_uCodePage, 0, pszMb, -1, (LPWSTR)lpBuf, dwBufLen); - if (dwRet) { - // Note that ImmGetCompositionString() returns number of bytes copied, regardless of the width of character. - dwRet = (dwRet - 1) * sizeof(WCHAR); - } - } - break; - case GCS_CURSORPOS: - dwRet /= 2; - break; - case GCS_COMPATTR: { - char pszMb2[COUNTOF(g_szCompositionString) * 2]; - DWORD dwRet2 = ImmGetCompositionStringA(himc, GCS_COMPSTR, pszMb2, sizeof(pszMb2)); - if (!dwRet2) { - dwRet2 = ImmGetCompositionStringA(himc, GCS_RESULTSTR, pszMb2, sizeof(pszMb2)); - if (!dwRet2) { - return 0; - } - } - char* pOut = (char*)lpBuf; - for (DWORD i = 0; i < dwRet; i++) { - *pOut++ = pszMb[i]; // copy attribute - if (_IsLeadByte(pszMb2[i])) - i++; - } - dwRet = pOut - (char*)lpBuf; - } - break; - } - return dwRet; -} - -#else // !UNICODE -// returns number of characters from number of bytes -static int GetCharCountFromBytes( LPCSTR pszString, int iBytes ) -{ - int iCount = 0; - int i; - for( i = 0; pszString[i] && i < iBytes; i++ ) - { - iCount++; - if( _IsLeadByte(pszString[i]) ) - i++; - } - if( i != iBytes ) - iCount = -iCount; // indicate error - iBytes specifies wrong boundary (i.e. the last byte is leadbyte) - return iCount; -} - -static int GetCharCount( LPTSTR psz ) -{ - int i = 0; - while( *psz ) - { - if( _IsLeadByte(*psz) ) - { - psz++; - } - psz++; - i++; - } - return i; -} - -static DWORD WA_GetCandidateList( HIMC himc, DWORD dwIndex, LPCANDIDATELIST* ppCandList ) -{ - DWORD dwBufLen = ImmGetCandidateListW( himc, dwIndex, NULL, 0 ); - if( dwBufLen ) - { - LPCANDIDATELIST pCandList = ( LPCANDIDATELIST )ImeUiCallback_Malloc( dwBufLen ); - if( pCandList ) - { - dwBufLen = ImmGetCandidateListW( himc, dwIndex, pCandList, dwBufLen ); - if( dwBufLen ) - { - int i; - int mbBufLen = 0; - for( i = 0; i < ( int )pCandList->dwCount; i++ ) - { - mbBufLen += WideCharToMultiByte( g_uCodePage, 0, ( LPWSTR )( ( LPSTR )pCandList + - pCandList->dwOffset[i] ), -1, NULL, 0, - NULL, NULL ); - } - mbBufLen += pCandList->dwOffset[0]; - *ppCandList = ( LPCANDIDATELIST )ImeUiCallback_Malloc( mbBufLen ); - LPCANDIDATELIST pCandListA = *ppCandList; - memcpy( pCandListA, pCandList, pCandList->dwOffset[0] ); - LPSTR psz = ( LPSTR )pCandListA + pCandList->dwOffset[0]; - for( i = 0; i < ( int )pCandList->dwCount; i++ ) - { - pCandListA->dwOffset[i] = ( LPSTR )psz - ( LPSTR )pCandListA; - psz += WideCharToMultiByte( g_uCodePage, 0, ( LPWSTR )( ( LPSTR )pCandList + - pCandList->dwOffset[i] ), -1, psz, 256, - NULL, NULL ); - } - dwBufLen = mbBufLen; - } - ImeUiCallback_Free( pCandList ); - } - } - return dwBufLen; -} - -static LONG WINAPI WA_ImmGetCompositionString( HIMC himc, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen ) -{ - WCHAR pwzUc[COUNTOF(g_szCompositionString)]; - DWORD dwRet = ImmGetCompositionStringW( himc, dwIndex, pwzUc, sizeof( pwzUc ) ); - switch( dwIndex ) - { - case GCS_RESULTSTR: - case GCS_COMPSTR: - if( dwRet ) - { - pwzUc[dwRet / sizeof( WCHAR )] = 0; - dwRet = ( DWORD )WideCharToMultiByte( g_uCodePage, 0, pwzUc, -1, ( LPSTR )lpBuf, dwBufLen, NULL, - NULL ); - if( dwRet ) - { - dwRet = dwRet - 1; - } - } - break; - - case GCS_CURSORPOS: - { - WCHAR pwzUc2[COUNTOF(g_szCompositionString)]; - DWORD dwRet2 = ImmGetCompositionStringW( himc, GCS_COMPSTR, pwzUc2, sizeof( pwzUc2 ) ); - if( !dwRet2 ) - { - dwRet2 = ImmGetCompositionStringW( himc, GCS_RESULTSTR, pwzUc2, sizeof( pwzUc2 ) ); - if( !dwRet2 ) - { - return 0; - } - } - dwRet2 /= 2; - //The return value of WideCharToMultiByte() should probably be checked/asserted for success. - //bounds violation (overflow) 'pszMb[iRc]' - const int bufSize = COUNTOF(g_szCompositionString) * 2; - char pszMb[bufSize]; - int iRc = WideCharToMultiByte( g_uCodePage, 0, pwzUc2, dwRet2, pszMb, sizeof( pszMb ), NULL, NULL ); - assert( iRc > 0 ); //WideCharToMultiByte returns 0 if it failed, and it should *never* be negative in the first place - if( iRc >= bufSize ) //if we wrote more bytes than the length of the buffer, we need to terminate it - { - pszMb[ bufSize - 1] = 0; //0 terminate the end of the buffer - } - else - { - pszMb[ iRc ] = 0; - } - char* psz = pszMb; - for( dwRet2 = 0; dwRet2 != dwRet; dwRet2++ ) - { - if( _IsLeadByte( *psz ) ) - psz++; - psz++; - } - dwRet = psz - pszMb; - } - break; - - case GCS_COMPATTR: - { - WCHAR pwzUc2[COUNTOF(g_szCompositionString)]; - DWORD dwRet2 = ImmGetCompositionStringW( himc, GCS_COMPSTR, pwzUc2, sizeof( pwzUc2 ) ); - if( !dwRet2 ) - { - dwRet2 = ImmGetCompositionStringW( himc, GCS_RESULTSTR, pwzUc2, sizeof( pwzUc2 ) ); - if( !dwRet2 ) - { - return 0; - } - } - dwRet2 /= 2; - const int bufSize = COUNTOF(g_szCompositionString) * 2; - char pszMb[bufSize]; - int iRc = WideCharToMultiByte( g_uCodePage, 0, pwzUc2, dwRet2, pszMb, sizeof( pszMb ), NULL, NULL ); - assert( iRc > 0 ); //WideCharToMultiByte returns 0 if it failed, and it should *never* be negative in the first place - if( iRc >= bufSize ) //if we wrote more bytes than the length of the buffer, we need to terminate it - { - pszMb[ bufSize - 1] = 0; //0 terminate the end of the buffer - } - else - { - pszMb[ iRc ] = 0; - } - char* pSrc = ( char* )pwzUc; - char* pOut = ( char* )lpBuf; - for( char* psz = pszMb; *psz; psz++, pSrc++ ) - { - *pOut++ = *pSrc; // copy attribute - if( _IsLeadByte( *psz ) ) - { - *pOut++ = *pSrc; - psz++; - } - // buffer overrun protection, pOut is incremented in the loop, but not part of the - // loop invariant test. To make the code more readable we have a test rather than - // rolling this into the for stmt. - if( ( DWORD )( pOut - ( char* )lpBuf ) >= dwBufLen ) - break; - } - dwRet = pOut - ( char* )lpBuf; - } - break; - } - return dwRet; -} - -#endif // UNICODE static void ComposeCandidateLine( int index, LPCTSTR pszCandidate ) { @@ -746,17 +467,11 @@ static void ComposeCandidateLine( int index, LPCTSTR pszCandidate ) static void SendCompString() { - int i, iLen = lstrlen( g_szCompositionString ); + int i, iLen = (int)wcslen( g_szCompositionString ); if( ImeUiCallback_OnChar ) { LPCWSTR pwz; -#ifdef UNICODE - pwz = g_szCompositionString; -#else - WCHAR szUnicode[COUNTOF( g_szCompositionString ) ]; - pwz = szUnicode; - iLen = MultiByteToWideChar( g_uCodePage, 0, g_szCompositionString, -1, szUnicode, COUNTOF(szUnicode) ) - 1; -#endif + pwz = g_szCompositionString; for( i = 0; i < iLen; i++ ) { ImeUiCallback_OnChar( pwz[i] ); @@ -766,18 +481,14 @@ static void SendCompString() for( i = 0; i < iLen; i++ ) { SendKeyMsg( g_hwndCurr, WM_CHAR, -#ifdef UNICODE - (WPARAM)g_szCompositionString[i] -#else - ( WPARAM )( BYTE )g_szCompositionString[i] -#endif + (WPARAM)g_szCompositionString[i] ); } } static DWORD GetCandidateList( HIMC himc, DWORD dwIndex, LPCANDIDATELIST* ppCandList ) { - DWORD dwBufLen = _ImmGetCandidateList( himc, dwIndex, NULL, 0 ); + DWORD dwBufLen = _ImmGetCandidateList( himc, dwIndex, nullptr, 0 ); if( dwBufLen ) { *ppCandList = ( LPCANDIDATELIST )ImeUiCallback_Malloc( dwBufLen ); @@ -833,7 +544,7 @@ static void CancelCompString( HWND hwnd, bool bUseBackSpace = true, int iNewStrL } // initialize composition string data. -static void InitCompStringData( void ) +static void InitCompStringData() { g_IMECursorBytes = 0; g_IMECursorChars = 0; @@ -856,7 +567,7 @@ static void DrawCaret( DWORD x, DWORD y, DWORD height ) // // Draw text in the edit box; // ImeUi_RenderUi(false, true); // paint the rest of IME UI; // -void ImeUi_RenderUI( bool bDrawCompAttr, bool bDrawOtherUi ) +void ImeUi_RenderUI( _In_ bool bDrawCompAttr, _In_ bool bDrawOtherUi ) { if( !g_bInitialized || !g_bImeEnabled || !g_CaretInfo.pFont ) return; @@ -936,7 +647,7 @@ static void DrawImeIndicator() swirl = 0; for( int t1 = 1; t1 < 16; t1++ ) { - float radian = 2.0f * 3.1415926f * ( t1 - 1 + ( bOn * swirl ) ) / 14.0f; + float radian = 2.0f * 3.1415926f * ( t1 - 1 + ( DWORD(bOn) * swirl ) ) / 14.0f; PieData[t1].sx = ( float )( PieData[0].sx + SizeOfPie / 2 * cos( radian ) ); PieData[t1].sy = ( float )( PieData[0].sy + SizeOfPie / 2 * sin( radian ) ); PieData[t1].rhw = 1.0f; @@ -987,9 +698,9 @@ static void DrawImeIndicator() if( gSkinIME.symbolFont ) { #ifdef DS2 - // save the font height here since DS2 shares editbox font and indicator font - DWORD _w, _h; - g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h ); + // save the font height here since DS2 shares editbox font and indicator font + DWORD _w, _h; + g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h ); #endif //DS2 // GOS deals height in points that is 1/72nd inch and assumes display device is 96dpi. @@ -1008,33 +719,33 @@ static void DrawImeIndicator() gSkinIME.symbolFont->DrawText( cszSymbol ); #ifdef DS2 - // revert the height. - g_CaretInfo.pFont->SetHeight( _h ); - - // Double-check: Confirm match by testing a range of font heights to find best fit - DWORD _h2; - g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); - if ( _h2 < _h ) - { - for ( int i=1; _h2<_h && i<10; i++ ) - { - g_CaretInfo.pFont->SetHeight( _h+i ); - g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); - } - } - else if ( _h2 > _h ) - { - for ( int i=1; _h2>_h && i<10; i++ ) - { - g_CaretInfo.pFont->SetHeight( _h-i ); - g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); - } - } + // revert the height. + g_CaretInfo.pFont->SetHeight( _h ); + + // Double-check: Confirm match by testing a range of font heights to find best fit + DWORD _h2; + g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); + if ( _h2 < _h ) + { + for ( int i=1; _h2<_h && i<10; i++ ) + { + g_CaretInfo.pFont->SetHeight( _h+i ); + g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); + } + } + else if ( _h2 > _h ) + { + for ( int i=1; _h2>_h && i<10; i++ ) + { + g_CaretInfo.pFont->SetHeight( _h-i ); + g_CaretInfo.pFont->GetTextExtent( TEXT(" "), &_w, &_h2 ); + } + } #endif //DS2 } } -static void DrawCompositionString( bool bDrawCompAttr ) +static void DrawCompositionString( _In_ bool bDrawCompAttr ) { // Process timer for caret blink UINT uCurrentTime = GetTickCount(); @@ -1050,7 +761,7 @@ static void DrawCompositionString( bool bDrawCompAttr ) DWORD uDummy; - int len = lstrlen( g_szCompositionString ); + int len = (int)wcslen( g_szCompositionString ); DWORD bgX = g_CaretInfo.caretX; DWORD bgY = g_CaretInfo.caretY; @@ -1089,11 +800,6 @@ static void DrawCompositionString( bool bDrawCompAttr ) TCHAR szChar[3]; szChar[0] = g_szCompositionString[i]; szChar[1] = szChar[2] = 0; -#ifndef UNICODE - cType = 1 + ( ( _IsLeadByte(g_szCompositionString[i]) ) ? 1 : 0 ); - if( cType == 2 && g_szCompositionString[i + 1] ) // in case we have 0 in trailbyte, we don't count it. - szChar[1] = g_szCompositionString[i + 1]; -#endif bgX = bgXnext; TCHAR cSave = g_szCompositionString[i + cType]; g_szCompositionString[i + cType] = 0; @@ -1169,10 +875,6 @@ static void DrawCompositionString( bool bDrawCompAttr ) if( bWrite ) { *pszMlcs++ = g_szCompositionString[i]; -#ifndef UNICODE - if( cType == 2 ) - *pszMlcs++ = g_szCompositionString[i + 1]; -#endif } if( ( DWORD )i == g_IMECursorBytes ) { @@ -1214,7 +916,7 @@ static void DrawCompositionString( bool bDrawCompAttr ) { g_CaretInfo.pFont->SetPosition( x, y ); g_CaretInfo.pFont->DrawText( pszMlcs ); - pszMlcs += lstrlen( pszMlcs ) + 1; + pszMlcs += wcslen( pszMlcs ) + 1; x = g_CaretInfo.margins.left; y += hCompChar; } @@ -1231,6 +933,8 @@ static void DrawCompositionString( bool bDrawCompAttr ) static void DrawCandidateList() { + assert( g_CaretInfo.pFont != nullptr ); + _Analysis_assume_( g_CaretInfo.pFont != nullptr ); DWORD candX = g_dwCandX; DWORD candY = g_dwCandY; DWORD hCompChar = g_hCompChar; @@ -1267,7 +971,7 @@ static void DrawCandidateList() static DWORD uDigitWidth = 0; DWORD uSpaceWidth = 0; static DWORD uDigitWidthList[10]; - static CImeUiFont_Base* pPrevFont = NULL; + static CImeUiFont_Base* pPrevFont = nullptr; // find out the widest width of the digits if( pPrevFont != g_CaretInfo.pFont ) { @@ -1406,13 +1110,9 @@ static void DrawCandidateList() TCHAR szTemp[COUNTOF( g_szReadingString ) ]; if( g_iReadingError >= 0 ) { - StringCchCopy( szTemp, COUNTOF(szTemp), g_szReadingString ); + wcscpy_s( szTemp, COUNTOF(szTemp), g_szReadingString ); LPTSTR psz = szTemp + g_iReadingError; -#ifdef UNICODE - psz++; -#else - psz += ( _IsLeadByte( szTemp[g_iReadingError] ) ) ? 2 : 1; -#endif + psz++; *psz = 0; g_CaretInfo.pFont->GetTextExtent( szTemp, ( DWORD* )&iEnd, ( DWORD* )&iDummy ); TCHAR cSave = szTemp[ g_iReadingError ]; @@ -1477,7 +1177,7 @@ static void DrawCandidateList() int dx = candX + ( seperateLineX - candX - uDigitWidthList[nOneDigit] ) / 2; int dy = candY + largest.cy * i; - + g_CaretInfo.pFont->SetPosition( dx, dy ); g_CaretInfo.pFont->DrawText( szOneDigit ); g_CaretInfo.pFont->SetPosition( seperateLineX + dwMarginX, dy ); @@ -1519,6 +1219,9 @@ static void CloseCandidateList() // ProcessIMEMessages() // Processes IME related messages and acquire information // +#pragma warning(push) +#pragma warning( disable : 4616 6305 ) +_Use_decl_annotations_ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam, bool* trapped ) { HIMC himc; @@ -1559,7 +1262,8 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam TCHAR szCompStr[COUNTOF(g_szCompositionString)]; *trapped = true; - if( NULL == ( himc = _ImmGetContext( hWnd ) ) ) + himc = ImmGetContext( hWnd ); + if( !himc ) { break; } @@ -1571,7 +1275,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam COUNTOF( szCompStr ) ) / sizeof( TCHAR ); szCompStr[lRet] = 0; CancelCompString( g_hwndCurr, false, GetCharCount( szCompStr ) ); - StringCchCopy( g_szCompositionString, COUNTOF(g_szCompositionString), szCompStr ); + wcscpy_s( g_szCompositionString, COUNTOF(g_szCompositionString), szCompStr ); _SendCompString(); InitCompStringData(); } @@ -1590,14 +1294,14 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam // CancelCompString( g_hwndCurr, false, GetCharCount( szCompStr ) ); - StringCchCopy( g_szCompositionString, COUNTOF(g_szCompositionString), szCompStr ); + wcscpy_s( g_szCompositionString, COUNTOF(g_szCompositionString), szCompStr ); lRet = _ImmGetCompositionString( himc, GCS_COMPATTR, g_szCompAttrString, COUNTOF( g_szCompAttrString ) ); g_szCompAttrString[lRet] = 0; // Older CHT IME uses composition string for reading string if( GETLANG() == LANG_CHT && !GetImeId() ) { - int i, chars = lstrlen( g_szCompositionString ) / ( 3 - sizeof( TCHAR ) ); + int i, chars = (int)wcslen( g_szCompositionString ) / ( 3 - sizeof( TCHAR ) ); if( chars ) { g_dwCount = 4; @@ -1609,14 +1313,8 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam g_szCandidate[i][0] = 0; else { -#ifdef UNICODE - g_szCandidate[i][0] = g_szCompositionString[i]; - g_szCandidate[i][1] = 0; -#else - g_szCandidate[i][0] = g_szCompositionString[i * 2]; - g_szCandidate[i][1] = g_szCompositionString[i * 2 + 1]; - g_szCandidate[i][2] = 0; -#endif + g_szCandidate[i][0] = g_szCompositionString[i]; + g_szCandidate[i][1] = 0; } } g_uCandPageSize = MAX_CANDLIST; @@ -1630,7 +1328,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam for( i = 0; i < ( int )g_dwCount; i++ ) { if( g_dwSelection == ( DWORD )i ) - g_iReadingError = lstrlen( g_szReadingString ); + g_iReadingError = (int)wcslen( g_szReadingString ); LPCTSTR pszTmp = g_szCandidate[i]; wcscat_s( g_szReadingString, COUNTOF(g_szReadingString), pszTmp ); } @@ -1641,7 +1339,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam } // get caret position in composition string - g_IMECursorBytes = _ImmGetCompositionString( himc, GCS_CURSORPOS, NULL, 0 ); + g_IMECursorBytes = _ImmGetCompositionString( himc, GCS_CURSORPOS, nullptr, 0 ); g_IMECursorChars = GetCharCountFromBytes( g_szCompositionString, g_IMECursorBytes ); if( g_dwIMELevel == 3 ) @@ -1686,7 +1384,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam break; CheckToggleState(); break; - + case IMN_OPENCANDIDATE: case IMN_CHANGECANDIDATE: if( g_bUILessMode ) @@ -1696,9 +1394,10 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam { g_bCandList = true; *trapped = true; - if( NULL == ( himc = _ImmGetContext( hWnd ) ) ) + himc = _ImmGetContext( hWnd ); + if( !himc ) break; - + LPCANDIDATELIST lpCandList; DWORD dwIndex, dwBufLen; @@ -1721,8 +1420,8 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam UINT i; for( i = 0; i < g_dwCount; i++ ) { - UINT uLen = lstrlen( - ( LPTSTR )( ( DWORD )lpCandList + lpCandList->dwOffset[i] ) ) + + UINT uLen = (int)wcslen( + ( LPTSTR )( (UINT_PTR)lpCandList + lpCandList->dwOffset[i] ) ) + ( 3 - sizeof( TCHAR ) ); if( uLen + cChars > maxCandChar ) { @@ -1742,7 +1441,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam } else { - g_uCandPageSize = min( lpCandList->dwPageSize, MAX_CANDLIST ); + g_uCandPageSize = std::min( lpCandList->dwPageSize, MAX_CANDLIST ); startOfPage = g_bUILessMode ? lpCandList->dwPageStart : ( g_dwSelection / g_uCandPageSize ) * g_uCandPageSize; } @@ -1756,7 +1455,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam i++, j++ ) { ComposeCandidateLine( j, - ( LPTSTR )( ( DWORD )lpCandList + lpCandList->dwOffset[i] ) ); + ( LPTSTR )( (UINT_PTR)lpCandList + lpCandList->dwOffset[i] ) ); } ImeUiCallback_Free( ( HANDLE )lpCandList ); _ImmReleaseContext( hWnd, himc ); @@ -1768,7 +1467,7 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam } break; } - + case IMN_CLOSECANDIDATE: if( g_bUILessMode ) { @@ -1859,7 +1558,9 @@ LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam } return 0; } +#pragma warning(pop) +_Use_decl_annotations_ void ImeUi_SetCaretPosition( UINT x, UINT y ) { if( !g_bInitialized ) @@ -1868,6 +1569,7 @@ void ImeUi_SetCaretPosition( UINT x, UINT y ) g_CaretInfo.caretY = y; } +_Use_decl_annotations_ void ImeUi_SetCompStringAppearance( CImeUiFont_Base* pFont, DWORD color, const RECT* prc ) { if( !g_bInitialized ) @@ -1885,7 +1587,7 @@ void ImeUi_SetCompStringAppearance( CImeUiFont_Base* pFont, DWORD color, const R g_CaretInfo.colorComp = gSkinIME.compColorText; } -void ImeUi_SetState( DWORD dwState ) +void ImeUi_SetState( _In_ DWORD dwState ) { if( !g_bInitialized ) return; @@ -1894,7 +1596,8 @@ void ImeUi_SetState( DWORD dwState ) { ImeUi_EnableIme( true ); } - if( NULL != ( himc = _ImmGetContext( g_hwndCurr ) ) ) + himc = _ImmGetContext( g_hwndCurr ); + if( himc ) { if( g_bDisableImeCompletely ) dwState = IMEUI_STATE_OFF; @@ -1951,7 +1654,7 @@ DWORD ImeUi_GetState() return g_dwState; } -void ImeUi_EnableIme( bool bEnable ) +void ImeUi_EnableIme( _In_ bool bEnable ) { if( !g_bInitialized || !g_hwndCurr ) return; @@ -1961,7 +1664,7 @@ void ImeUi_EnableIme( bool bEnable ) if( g_hwndCurr == g_hwndMain ) { HIMC himcDbg; - himcDbg = _ImmAssociateContext( g_hwndCurr, bEnable? g_himcOrg : NULL ); + himcDbg = _ImmAssociateContext( g_hwndCurr, bEnable? g_himcOrg : nullptr ); } g_bImeEnabled = bEnable; if( bEnable ) @@ -1971,12 +1674,12 @@ void ImeUi_EnableIme( bool bEnable ) CTsfUiLessMode::EnableUiUpdates( bEnable ); } -bool ImeUi_IsEnabled( void ) +bool ImeUi_IsEnabled() { return g_bImeEnabled; } -bool ImeUi_Initialize( HWND hwnd, bool bDisable ) +bool ImeUi_Initialize(_In_ HWND hwnd, _In_ bool bDisable ) { if( g_bInitialized ) { @@ -1985,29 +1688,17 @@ bool ImeUi_Initialize( HWND hwnd, bool bDisable ) g_hwndMain = hwnd; g_disableCicero.Initialize(); - g_osi.dwOSVersionInfoSize = sizeof( OSVERSIONINFOA ); - GetVersionExA( &g_osi ); - - bool bUnicodeImm = false; - // IMM in NT or Win98 supports Unicode - if( g_osi.dwPlatformId == VER_PLATFORM_WIN32_NT || - ( g_osi.dwMajorVersion > 4 ) || - ( g_osi.dwMajorVersion == 4 ) && ( g_osi.dwMinorVersion > 0 ) ) - { - bUnicodeImm = true; - } - - g_hImmDll = LoadLibraryA( "imm32.dll" ); + g_hImmDll = LoadLibraryEx( L"imm32.dll", nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); g_bDisableImeCompletely = false; if( g_hImmDll ) { - _ImmLockIMC = ( LPINPUTCONTEXT2 ( WINAPI* )( HIMC hIMC ) )GetProcAddress( g_hImmDll, "ImmLockIMC" ); - _ImmUnlockIMC = ( BOOL ( WINAPI* )( HIMC hIMC ) )GetProcAddress( g_hImmDll, "ImmUnlockIMC" ); - _ImmLockIMCC = ( LPVOID ( WINAPI* )( HIMCC hIMCC ) )GetProcAddress( g_hImmDll, "ImmLockIMCC" ); - _ImmUnlockIMCC = ( BOOL ( WINAPI* )( HIMCC hIMCC ) )GetProcAddress( g_hImmDll, "ImmUnlockIMCC" ); - BOOL ( WINAPI* _ImmDisableTextFrameService )( DWORD ) = ( BOOL ( WINAPI* )( DWORD ) )GetProcAddress( g_hImmDll, - "ImmDisableTextFrameService" ); + _ImmLockIMC = reinterpret_cast( reinterpret_cast( GetProcAddress( g_hImmDll, "ImmLockIMC" ) ) ); + _ImmUnlockIMC = reinterpret_cast( reinterpret_cast( GetProcAddress( g_hImmDll, "ImmUnlockIMC" ) ) ); + _ImmLockIMCC = reinterpret_cast( reinterpret_cast( GetProcAddress( g_hImmDll, "ImmLockIMCC" ) ) ); + _ImmUnlockIMCC = reinterpret_cast( reinterpret_cast( GetProcAddress( g_hImmDll, "ImmUnlockIMCC" ) ) ); + BOOL ( WINAPI* _ImmDisableTextFrameService )( DWORD ) = reinterpret_cast( reinterpret_cast( GetProcAddress( g_hImmDll, + "ImmDisableTextFrameService" ) ) ); if( _ImmDisableTextFrameService ) { _ImmDisableTextFrameService( ( DWORD )-1 ); @@ -2018,52 +1709,11 @@ bool ImeUi_Initialize( HWND hwnd, bool bDisable ) g_bDisableImeCompletely = true; return false; } -#ifdef UNICODE - if ( bUnicodeImm ) - { - _ImmGetCompositionString = ImmGetCompositionStringW; - _ImmGetCandidateList = ImmGetCandidateListW; - _GetCandidateList = GetCandidateList; - } - else - { - _ImmGetCandidateList = ImmGetCandidateListA; - _ImmGetCompositionString = AW_ImmGetCompositionString; - _GetCandidateList = AW_GetCandidateList; - } -#else - if( bUnicodeImm ) - { - _ImmGetCompositionString = WA_ImmGetCompositionString; - _ImmGetCandidateList = ImmGetCandidateListA; - _GetCandidateList = WA_GetCandidateList; - } - else - { - _ImmGetCompositionString = ImmGetCompositionStringA; - _ImmGetCandidateList = ImmGetCandidateListA; - _GetCandidateList = GetCandidateList; - } -#endif - - // There are the following combinations of code config, window type, and the method of sending characters. - // Wnd: Unicode, Code: Unicode, Method: SendMessageW (SendMessageW must be supported since RegisterClassW is successful) - // Wnd: non Uni, Code: Unicode, Method: AW_SendCompString (Send characters in multibyte after W->A conversion) - // Wnd: Unicode, Code: non Uni, Method: SendMessageA (System does A->W conversion) - possible, but unlikely to be used. - // Wnd: non Uni, Code: non Uni, Method: SendMessageA -#ifdef UNICODE - if ( !IsWindowUnicode( hwnd ) ) - { - _SendCompString = AW_SendCompString; - } - else -#endif - { - _SendCompString = SendCompString; -#ifdef UNICODE - _SendMessage = SendMessageW; -#endif - } + _ImmGetCompositionString = ImmGetCompositionStringW; + _ImmGetCandidateList = ImmGetCandidateListW; + _GetCandidateList = GetCandidateList; + _SendCompString = SendCompString; + _SendMessage = SendMessageW; // turn init flag on so that subsequent calls to ImeUi functions work. g_bInitialized = true; @@ -2091,19 +1741,6 @@ bool ImeUi_Initialize( HWND hwnd, bool bDisable ) g_uCaretBlinkTime = GetCaretBlinkTime(); -#ifndef UNICODE - // Check if system is SBCS system - CPINFO cpi; - BOOL bRc = GetCPInfo( CP_ACP, &cpi ); - if( bRc ) - { - if( cpi.MaxCharSize == 1 ) - { - g_bDisableImeCompletely = true; // SBCS system. Disable IME. - } - } -#endif - g_CaretInfo.caretX = 0; g_CaretInfo.caretY = 0; g_CaretInfo.pFont = 0; @@ -2142,12 +1779,12 @@ void ImeUi_Uninitialize() { ImmAssociateContext( g_hwndMain, g_himcOrg ); } - g_hwndMain = NULL; - g_himcOrg = NULL; + g_hwndMain = nullptr; + g_himcOrg = nullptr; if( g_hImmDll ) { FreeLibrary( g_hImmDll ); - g_hImmDll = NULL; + g_hImmDll = nullptr; } g_disableCicero.Uninitialize(); g_bInitialized = false; @@ -2172,14 +1809,14 @@ void ImeUi_Uninitialize() // // Use IMEID_VER and IMEID_LANG macro to extract version and language information. // -static DWORD GetImeId( UINT uIndex ) +static DWORD GetImeId( _In_ UINT uIndex ) { static HKL hklPrev = 0; static DWORD dwRet[2] = { 0, 0 }; - + DWORD dwVerSize; DWORD dwVerHandle; LPVOID lpVerBuffer; @@ -2196,7 +1833,7 @@ static DWORD GetImeId( UINT uIndex ) return dwRet[uIndex]; } hklPrev = kl; - DWORD dwLang = ( ( DWORD )kl & 0xffff ); + DWORD dwLang = ( static_cast(reinterpret_cast(kl)) & 0xffff ); if( g_bUILessMode && GETLANG() == LANG_CHT ) { @@ -2211,7 +1848,7 @@ static DWORD GetImeId( UINT uIndex ) { goto error; } - + if( _ImmGetIMEFileNameA( kl, szTmp, sizeof( szTmp ) - 1 ) <= 0 ) { goto error; @@ -2237,7 +1874,7 @@ static DWORD GetImeId( UINT uIndex ) lpVerBuffer = ( LPVOID )ImeUiCallback_Malloc( dwVerSize ); if( lpVerBuffer ) { - if( GetFileVersionInfoA( szTmp, dwVerHandle, dwVerSize, lpVerBuffer ) ) + if( GetFileVersionInfoA( szTmp, 0, dwVerSize, lpVerBuffer ) ) { if( VerQueryValueA( lpVerBuffer, "\\", &lpVerData, &cbVerData ) ) { @@ -2267,10 +1904,9 @@ static DWORD GetImeId( UINT uIndex ) #undef pVerFixedInfo } } + ImeUiCallback_Free( lpVerBuffer ); } - ImeUiCallback_Free( lpVerBuffer ); } - // The flow comes here in the following conditions // - Non Chinese IME input locale // - Older Chinese IME @@ -2280,7 +1916,7 @@ static DWORD GetImeId( UINT uIndex ) return dwRet[uIndex]; } -static void GetReadingString( HWND hWnd ) +static void GetReadingString( _In_ HWND hWnd ) { if( g_bUILessMode ) { @@ -2291,7 +1927,7 @@ static void GetReadingString( HWND hWnd ) { return; } - + HIMC himc; himc = _ImmGetContext( hWnd ); if( !himc ) @@ -2302,13 +1938,13 @@ static void GetReadingString( HWND hWnd ) WCHAR wzBuf[16]; // We believe 16 wchars are big enough to hold reading string after having discussion with CHT IME team. WCHAR* wstr = wzBuf; bool unicode = FALSE; - LPINPUTCONTEXT2 lpIMC = NULL; + LPINPUTCONTEXT2 lpIMC = nullptr; if( _GetReadingString ) { BOOL bVertical; UINT uMaxUiLen; - dwlen = _GetReadingString( himc, 0, NULL, ( PINT )&dwerr, &bVertical, &uMaxUiLen ); + dwlen = _GetReadingString( himc, 0, nullptr, ( PINT )&dwerr, &bVertical, &uMaxUiLen ); if( dwlen ) { if( dwlen > COUNTOF(wzBuf) ) @@ -2324,18 +1960,18 @@ static void GetReadingString( HWND hWnd ) else // IMEs that doesn't implement Reading String API { lpIMC = _ImmLockIMC( himc ); - + // *** hacking code from Michael Yang *** - + LPBYTE p = 0; - + switch( dwId ) { - + case IMEID_CHT_VER42: // New(Phonetic/ChanJie)IME98 : 4.2.x.x // Win98 case IMEID_CHT_VER43: // New(Phonetic/ChanJie)IME98a : 4.3.x.x // WinMe, Win2k case IMEID_CHT_VER44: // New ChanJie IME98b : 4.4.x.x // WinXP - + p = *( LPBYTE* )( ( LPBYTE )_ImmLockIMCC( lpIMC->hPrivate ) + 24 ); if( !p ) break; dwlen = *( DWORD* )( p + 7 * 4 + 32 * 4 ); //m_dwInputReadStrLen @@ -2343,9 +1979,9 @@ static void GetReadingString( HWND hWnd ) wstr = ( WCHAR* )( p + 56 ); unicode = TRUE; break; - + case IMEID_CHT_VER50: // 5.0.x.x // WinME - + p = *( LPBYTE* )( ( LPBYTE )_ImmLockIMCC( lpIMC->hPrivate ) + 3 * 4 ); // PCKeyCtrlManager if( !p ) break; p = *( LPBYTE* )( ( LPBYTE )p + 1 * 4 + 5 * 4 + 4 * 2 ); // = PCReading = &STypingInfo @@ -2380,7 +2016,7 @@ static void GetReadingString( HWND hWnd ) if( !p ) break; dwlen = *( DWORD* )( p + 7 * 4 + 16 * 2 * 4 ); dwerr = *( DWORD* )( p + 8 * 4 + 16 * 2 * 4 ); - dwerr = min( dwerr, dwlen ); + dwerr = std::min( dwerr, dwlen ); wstr = ( WCHAR* )( p + 6 * 4 + 16 * 2 * 1 ); unicode = TRUE; break; @@ -2397,7 +2033,7 @@ static void GetReadingString( HWND hWnd ) unicode = IsNT() ? TRUE : FALSE; } } // switch - + g_szCandidate[0][0] = 0; g_szCandidate[1][0] = 0; g_szCandidate[2][0] = 0; @@ -2414,19 +2050,8 @@ static void GetReadingString( HWND hWnd ) { // select error char g_dwSelection = i; } -#ifdef UNICODE - g_szCandidate[i][0] = wstr[i]; - g_szCandidate[i][1] = 0; -#else - char mbc[3]; - mbc[1] = 0; - mbc[2] = 0; - WideCharToMultiByte( g_uCodePage, 0, wstr + i, 1, mbc, sizeof( mbc ), NULL, NULL ); - - g_szCandidate[i][0] = mbc[0]; - g_szCandidate[i][1] = mbc[1]; - g_szCandidate[i][2] = 0; -#endif + g_szCandidate[i][0] = wstr[i]; + g_szCandidate[i][1] = 0; } g_szCandidate[i][0] = 0; } @@ -2440,23 +2065,12 @@ static void GetReadingString( HWND hWnd ) { g_dwSelection = ( DWORD )j; } -#ifdef UNICODE - MultiByteToWideChar( g_uCodePage, 0, p + i, 1 + ( _IsLeadByte( p[i] ) ? 1 : 0 ), - g_szCandidate[j], 1 ); - if ( _IsLeadByte( p[i] ) ) - { - i++; - } -#else - g_szCandidate[j][0] = p[i]; - g_szCandidate[j][1] = 0; - g_szCandidate[j][2] = 0; - if( _IsLeadByte(p[i]) ) + MultiByteToWideChar( g_uCodePage, 0, p + i, 1 + ( _IsLeadByte( p[i] ) ? 1 : 0 ), + g_szCandidate[j], 1 ); + if ( _IsLeadByte( p[i] ) ) { i++; - g_szCandidate[j][1] = p[i]; } -#endif } g_szCandidate[j][0] = 0; g_dwCount = j; @@ -2477,7 +2091,7 @@ static void GetReadingString( HWND hWnd ) for( UINT i = 0; i < g_dwCount; i++ ) { if( g_dwSelection == ( DWORD )i ) - g_iReadingError = lstrlen( g_szReadingString ); + g_iReadingError = (int)wcslen( g_szReadingString ); LPCTSTR pszTmp = g_szCandidate[i]; wcscat_s( g_szReadingString, COUNTOF(g_szReadingString), pszTmp ); } @@ -2525,7 +2139,7 @@ static struct // - Caller doesn't have to check whether IME is on. // - This function must be called before TranslateMessage() is called. // -bool ImeUi_IgnoreHotKey( const MSG* pmsg ) +bool ImeUi_IgnoreHotKey( _In_ const MSG* pmsg ) { if( !g_bInitialized || !pmsg ) return false; @@ -2567,34 +2181,29 @@ bool ImeUi_IgnoreHotKey( const MSG* pmsg ) return false; } -void ImeUi_FinalizeString( bool bSend ) +void ImeUi_FinalizeString( _In_ bool bSend ) { HIMC himc; static bool bProcessing = false; // to avoid infinite recursion - if( !g_bInitialized || bProcessing || NULL == ( himc = _ImmGetContext( g_hwndCurr ) ) ) + if( !g_bInitialized || bProcessing ) + return; + + himc = _ImmGetContext( g_hwndCurr ); + if ( !himc ) return; bProcessing = true; if( g_dwIMELevel == 2 && bSend ) { // Send composition string to app. - LONG lRet = lstrlen( g_szCompositionString ); + LONG lRet = (int)wcslen( g_szCompositionString ); assert( lRet >= 2 ); // In case of CHT IME, don't send the trailing double byte space, if it exists. -#ifdef UNICODE - if ( GETLANG() == LANG_CHT && (lRet >= 1) - && g_szCompositionString[lRet - 1] == 0x3000 ) - { - lRet--; - } -#else - if( GETLANG() == LANG_CHT && ( lRet >= 2 ) - && ( BYTE )( g_szCompositionString[lRet - 2] ) == 0xa1 - && ( BYTE )( g_szCompositionString[lRet - 1] ) == 0x40 ) + if ( GETLANG() == LANG_CHT && (lRet >= 1) + && g_szCompositionString[lRet - 1] == 0x3000 ) { - lRet -= 2; + lRet--; } -#endif _SendCompString(); } @@ -2604,7 +2213,7 @@ void ImeUi_FinalizeString( bool bSend ) if( g_bUILessMode ) { // For some reason ImmNotifyIME doesn't work on DaYi and Array CHT IMEs. Cancel composition string by setting zero-length string. - ImmSetCompositionString( himc, SCS_SETSTR, TEXT( "" ), sizeof( TCHAR ), TEXT( "" ), sizeof( TCHAR ) ); + ImmSetCompositionString( himc, SCS_SETSTR, const_cast(L""), sizeof(wchar_t), const_cast(""), sizeof(wchar_t) ); } // the following line is necessary as Korean IME doesn't close cand list when comp string is cancelled. _ImmNotifyIME( himc, NI_CLOSECANDIDATE, 0, 0 ); @@ -2627,7 +2236,7 @@ static void SetCompStringColor() gSkinCompStr.colorInputErr = dwTranslucency | gSkinIME.compColorInputErr; } -static void SetSupportLevel( DWORD dwImeLevel ) +static void SetSupportLevel( _In_ DWORD dwImeLevel ) { if( dwImeLevel < 2 || 3 < dwImeLevel ) return; @@ -2641,7 +2250,7 @@ static void SetSupportLevel( DWORD dwImeLevel ) SetCompStringColor(); } -void ImeUi_SetSupportLevel( DWORD dwImeLevel ) +void ImeUi_SetSupportLevel( _In_ DWORD dwImeLevel ) { if( !g_bInitialized ) return; @@ -2649,9 +2258,9 @@ void ImeUi_SetSupportLevel( DWORD dwImeLevel ) SetSupportLevel( dwImeLevel ); } -void ImeUi_SetAppearance( const IMEUI_APPEARANCE* pia ) +void ImeUi_SetAppearance( _In_opt_ const IMEUI_APPEARANCE* pia ) { - if( !g_bInitialized || NULL == pia ) + if( !g_bInitialized || !pia ) return; gSkinIME = *pia; gSkinIME.symbolColor &= 0xffffff; // mask translucency @@ -2665,11 +2274,18 @@ void ImeUi_SetAppearance( const IMEUI_APPEARANCE* pia ) SetCompStringColor(); } -void ImeUi_GetAppearance( IMEUI_APPEARANCE* pia ) +void ImeUi_GetAppearance( _Out_opt_ IMEUI_APPEARANCE* pia ) { - if( g_bInitialized && pia ) + if ( pia ) { - *pia = gSkinIME; + if ( g_bInitialized ) + { + *pia = gSkinIME; + } + else + { + memset( pia, 0, sizeof(IMEUI_APPEARANCE) ); + } } } @@ -2686,11 +2302,11 @@ static void CheckToggleState() } bool bIme = _ImmIsIME( g_hklCurrent ) != 0 - && ( ( 0xF0000000 & ( DWORD )g_hklCurrent ) == 0xE0000000 ); // Hack to detect IME correctly. When IME is running as TIP, ImmIsIME() returns true for CHT US keyboard. + && ( ( 0xF0000000 & static_cast( reinterpret_cast( g_hklCurrent ) ) ) == 0xE0000000 ); // Hack to detect IME correctly. When IME is running as TIP, ImmIsIME() returns true for CHT US keyboard. g_bChineseIME = ( GETPRIMLANG() == LANG_CHINESE ) && bIme; - HIMC himc; - if( NULL != ( himc = _ImmGetContext( g_hwndCurr ) ) ) + HIMC himc = _ImmGetContext( g_hwndCurr ); + if( himc ) { if( g_bChineseIME ) { @@ -2708,7 +2324,7 @@ static void CheckToggleState() g_dwState = IMEUI_STATE_OFF; } -void ImeUi_SetInsertMode( bool bInsert ) +void ImeUi_SetInsertMode( _In_ bool bInsert ) { if( !g_bInitialized ) return; @@ -2720,7 +2336,7 @@ bool ImeUi_GetCaretStatus() return !g_bInitialized || !g_szCompositionString[0]; } -void ImeUi_SetScreenDimension( UINT width, UINT height ) +void ImeUi_SetScreenDimension( _In_ UINT width, _In_ UINT height ) { if( !g_bInitialized ) return; @@ -2732,9 +2348,9 @@ void ImeUi_SetScreenDimension( UINT width, UINT height ) static void _PumpMessage() { MSG msg; - while( PeekMessageA( &msg, NULL, 0, 0, PM_NOREMOVE ) ) + while( PeekMessageA( &msg, nullptr, 0, 0, PM_NOREMOVE ) ) { - if( !GetMessageA( &msg, NULL, 0, 0 ) ) + if( !GetMessageA( &msg, nullptr, 0, 0 ) ) { PostQuitMessage( msg.wParam ); return; @@ -2746,7 +2362,7 @@ static void _PumpMessage() } } -static void GetReadingWindowOrientation( DWORD dwId ) +static void GetReadingWindowOrientation( _In_ DWORD dwId ) { g_bHorizontalReading = ( g_hklCurrent == _CHS_HKL ) || ( g_hklCurrent == _CHT_HKL_NEW_CHANG_JIE ) || ( dwId == 0 ); if( !g_bHorizontalReading && IMEID_LANG( dwId ) == LANG_CHT ) @@ -2754,13 +2370,13 @@ static void GetReadingWindowOrientation( DWORD dwId ) char szRegPath[MAX_PATH]; HKEY hkey; DWORD dwVer = IMEID_VER( dwId ); - StringCchCopyA( szRegPath, COUNTOF(szRegPath), "software\\microsoft\\windows\\currentversion\\" ); + strcpy_s( szRegPath, COUNTOF(szRegPath), "software\\microsoft\\windows\\currentversion\\" ); strcat_s( szRegPath, COUNTOF(szRegPath), ( dwVer >= MAKEIMEVERSION(5, 1) ) ? "MSTCIPH" : "TINTLGNT" ); LONG lRc = RegOpenKeyExA( HKEY_CURRENT_USER, szRegPath, 0, KEY_READ, &hkey ); if( lRc == ERROR_SUCCESS ) { DWORD dwSize = sizeof( DWORD ), dwMapping, dwType; - lRc = RegQueryValueExA( hkey, "keyboard mapping", NULL, &dwType, ( PBYTE )&dwMapping, &dwSize ); + lRc = RegQueryValueExA( hkey, "keyboard mapping", nullptr, &dwType, ( PBYTE )&dwMapping, &dwSize ); if( lRc == ERROR_SUCCESS ) { if( @@ -2780,7 +2396,7 @@ static void GetReadingWindowOrientation( DWORD dwId ) } } -void ImeUi_ToggleLanguageBar( BOOL bRestore ) +void ImeUi_ToggleLanguageBar( _In_ BOOL bRestore ) { static BOOL prevRestore = TRUE; bool bCheck = ( prevRestore == TRUE || bRestore == TRUE ); @@ -2792,17 +2408,17 @@ void ImeUi_ToggleLanguageBar( BOOL bRestore ) if( iShowStatusWindow == -1 ) { iShowStatusWindow = IsNT() && g_osi.dwMajorVersion >= 5 && - ( g_osi.dwMinorVersion > 1 || ( g_osi.dwMinorVersion == 1 && lstrlenA( g_osi.szCSDVersion ) ) ) ? 1 : 0; + ( g_osi.dwMinorVersion > 1 || ( g_osi.dwMinorVersion == 1 && strlen( g_osi.szCSDVersion ) ) ) ? 1 : 0; } HWND hwndImeDef = _ImmGetDefaultIMEWnd( g_hwndCurr ); if( hwndImeDef && bRestore && iShowStatusWindow ) SendMessageA( hwndImeDef, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0 ); HRESULT hr; - hr = CoInitialize( NULL ); + hr = CoInitialize( nullptr ); if( SUCCEEDED( hr ) ) { - ITfLangBarMgr* plbm = NULL; - hr = CoCreateInstance( CLSID_TF_LangBarMgr, NULL, CLSCTX_INPROC_SERVER, __uuidof( ITfLangBarMgr ), + ITfLangBarMgr* plbm = nullptr; + hr = CoCreateInstance( CLSID_TF_LangBarMgr, nullptr, CLSCTX_INPROC_SERVER, __uuidof( ITfLangBarMgr ), ( void** )&plbm ); if( SUCCEEDED( hr ) && plbm ) { @@ -2874,8 +2490,8 @@ static void OnInputLangChange() static void SetImeApi() { - _GetReadingString = NULL; - _ShowReadingWindow = NULL; + _GetReadingString = nullptr; + _ShowReadingWindow = nullptr; if( g_bUILessMode ) return; @@ -2883,17 +2499,15 @@ static void SetImeApi() HKL kl = g_hklCurrent; if( _ImmGetIMEFileNameA( kl, szImeFile, sizeof( szImeFile ) - 1 ) <= 0 ) return; - HMODULE hIme = LoadLibraryA( szImeFile ); + HMODULE hIme = LoadLibraryExA( szImeFile, nullptr, 0x00000800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); if( !hIme ) return; - _GetReadingString = ( UINT ( WINAPI* )( HIMC, UINT, LPWSTR, PINT, BOOL*, PUINT ) ) - ( GetProcAddress( hIme, "GetReadingString" ) ); - _ShowReadingWindow = ( BOOL ( WINAPI* )( HIMC himc, BOOL ) ) - ( GetProcAddress( hIme, "ShowReadingWindow" ) ); + _GetReadingString = reinterpret_cast( reinterpret_cast( GetProcAddress( hIme, "GetReadingString" ) ) ); + _ShowReadingWindow = reinterpret_cast( reinterpret_cast( GetProcAddress( hIme, "ShowReadingWindow" ) ) ); if( _ShowReadingWindow ) { - HIMC himc; - if( NULL != ( himc = _ImmGetContext( g_hwndCurr ) ) ) + HIMC himc = _ImmGetContext( g_hwndCurr ); + if( himc ) { _ShowReadingWindow( himc, false ); _ImmReleaseContext( g_hwndCurr, himc ); @@ -2944,16 +2558,16 @@ static void CheckInputLocale() g_pszIndicatior = g_aszIndicator[INDICATOR_NON_IME]; } char szCodePage[8]; - int iRc = GetLocaleInfoA( MAKELCID( GETLANG(), SORT_DEFAULT ), LOCALE_IDEFAULTANSICODEPAGE, szCodePage, - COUNTOF( szCodePage ) ); iRc; - g_uCodePage = _strtoul( szCodePage, NULL, 0 ); + (void)GetLocaleInfoA( MAKELCID( GETLANG(), SORT_DEFAULT ), LOCALE_IDEFAULTANSICODEPAGE, szCodePage, + COUNTOF( szCodePage ) ); + g_uCodePage = _strtoul( szCodePage, nullptr, 0 ); for( int i = 0; i < 256; i++ ) { LeadByteTable[i] = ( BYTE )IsDBCSLeadByteEx( g_uCodePage, ( BYTE )i ); } } -void ImeUi_SetWindow( HWND hwnd ) +void ImeUi_SetWindow( _In_ HWND hwnd ) { g_hwndCurr = hwnd; g_disableCicero.DisableCiceroOnThisWnd( hwnd ); @@ -2969,7 +2583,7 @@ DWORD ImeUi_GetFlags() return g_dwImeUiFlags; } -void ImeUi_SetFlags( DWORD dwFlags, bool bSet ) +void ImeUi_SetFlags( _In_ DWORD dwFlags, _In_ bool bSet ) { if( bSet ) { @@ -2997,7 +2611,7 @@ BOOL CTsfUiLessMode::SetupSinks() // ITfThreadMgrEx is available on Vista or later. HRESULT hr; hr = CoCreateInstance( CLSID_TF_ThreadMgr, - NULL, + nullptr, CLSCTX_INPROC_SERVER, __uuidof( ITfThreadMgrEx ), ( void** )&m_tm ); @@ -3016,7 +2630,7 @@ BOOL CTsfUiLessMode::SetupSinks() // Setup sinks BOOL bRc = FALSE; - m_TsfSink = new CUIElementSink(); + m_TsfSink = new (std::nothrow) CUIElementSink(); if( m_TsfSink ) { ITfSource* srcTm; @@ -3061,9 +2675,8 @@ void CTsfUiLessMode::ReleaseSinks() } } -CTsfUiLessMode::CUIElementSink::CUIElementSink() +CTsfUiLessMode::CUIElementSink::CUIElementSink() noexcept : _cRef(1) { - _cRef = 1; } @@ -3071,16 +2684,16 @@ CTsfUiLessMode::CUIElementSink::~CUIElementSink() { } -STDAPI CTsfUiLessMode::CUIElementSink::QueryInterface( REFIID riid, void** ppvObj ) +STDAPI CTsfUiLessMode::CUIElementSink::QueryInterface( _In_ REFIID riid, _COM_Outptr_ void** ppvObj ) { - if( ppvObj == NULL ) + if( !ppvObj ) return E_INVALIDARG; - *ppvObj = NULL; + *ppvObj = nullptr; if( IsEqualIID( riid, IID_IUnknown ) ) { - *ppvObj = reinterpret_cast( this ); + *ppvObj = static_cast( static_cast( this ) ); } else if( IsEqualIID( riid, __uuidof( ITfUIElementSink ) ) ) { @@ -3125,12 +2738,12 @@ CTsfUiLessMode::CUIElementSink::Release() STDAPI CTsfUiLessMode::CUIElementSink::BeginUIElement( DWORD dwUIElementId, BOOL* pbShow ) { - ITfUIElement* pElement = GetUIElement( dwUIElementId ); + auto pElement = GetUIElement( dwUIElementId ); if( !pElement ) return E_INVALIDARG; - ITfReadingInformationUIElement* preading = NULL; - ITfCandidateListUIElement* pcandidate = NULL; + ITfReadingInformationUIElement* preading = nullptr; + ITfCandidateListUIElement* pcandidate = nullptr; *pbShow = FALSE; if( !g_bCandList && SUCCEEDED( pElement->QueryInterface( __uuidof( ITfReadingInformationUIElement ), ( void** )&preading ) ) ) @@ -3152,12 +2765,12 @@ STDAPI CTsfUiLessMode::CUIElementSink::BeginUIElement( DWORD dwUIElementId, BOOL STDAPI CTsfUiLessMode::CUIElementSink::UpdateUIElement( DWORD dwUIElementId ) { - ITfUIElement* pElement = GetUIElement( dwUIElementId ); + auto pElement = GetUIElement( dwUIElementId ); if( !pElement ) return E_INVALIDARG; - ITfReadingInformationUIElement* preading = NULL; - ITfCandidateListUIElement* pcandidate = NULL; + ITfReadingInformationUIElement* preading = nullptr; + ITfCandidateListUIElement* pcandidate = nullptr; if( !g_bCandList && SUCCEEDED( pElement->QueryInterface( __uuidof( ITfReadingInformationUIElement ), ( void** )&preading ) ) ) { @@ -3177,11 +2790,11 @@ STDAPI CTsfUiLessMode::CUIElementSink::UpdateUIElement( DWORD dwUIElementId ) STDAPI CTsfUiLessMode::CUIElementSink::EndUIElement( DWORD dwUIElementId ) { - ITfUIElement* pElement = GetUIElement( dwUIElementId ); + auto pElement = GetUIElement( dwUIElementId ); if( !pElement ) return E_INVALIDARG; - ITfReadingInformationUIElement* preading = NULL; + ITfReadingInformationUIElement* preading = nullptr; if( !g_bCandList && SUCCEEDED( pElement->QueryInterface( __uuidof( ITfReadingInformationUIElement ), ( void** )&preading ) ) ) { @@ -3189,7 +2802,7 @@ STDAPI CTsfUiLessMode::CUIElementSink::EndUIElement( DWORD dwUIElementId ) preading->Release(); } - ITfCandidateListUIElement* pcandidate = NULL; + ITfCandidateListUIElement* pcandidate = nullptr; if( SUCCEEDED( pElement->QueryInterface( __uuidof( ITfCandidateListUIElement ), ( void** )&pcandidate ) ) ) { @@ -3206,27 +2819,31 @@ STDAPI CTsfUiLessMode::CUIElementSink::EndUIElement( DWORD dwUIElementId ) void CTsfUiLessMode::UpdateImeState( BOOL bResetCompartmentEventSink ) { ITfCompartmentMgr* pcm; - ITfCompartment* pTfOpenMode = NULL; - ITfCompartment* pTfConvMode = NULL; + ITfCompartment* pTfOpenMode = nullptr; + ITfCompartment* pTfConvMode = nullptr; if( GetCompartments( &pcm, &pTfOpenMode, &pTfConvMode ) ) { VARIANT valOpenMode; - VARIANT valConvMode; - pTfOpenMode->GetValue( &valOpenMode ); - pTfConvMode->GetValue( &valConvMode ); - if( valOpenMode.vt == VT_I4 ) + if ( SUCCEEDED(pTfOpenMode->GetValue(&valOpenMode)) ) { - if( g_bChineseIME ) + VARIANT valConvMode; + if (SUCCEEDED(pTfConvMode->GetValue(&valConvMode))) { - g_dwState = valOpenMode.lVal != 0 && valConvMode.lVal != 0 ? IMEUI_STATE_ON : IMEUI_STATE_ENGLISH; - } - else - { - g_dwState = valOpenMode.lVal != 0 ? IMEUI_STATE_ON : IMEUI_STATE_OFF; + if (valOpenMode.vt == VT_I4) + { + if (g_bChineseIME) + { + g_dwState = valOpenMode.lVal != 0 && valConvMode.lVal != 0 ? IMEUI_STATE_ON : IMEUI_STATE_ENGLISH; + } + else + { + g_dwState = valOpenMode.lVal != 0 ? IMEUI_STATE_ON : IMEUI_STATE_OFF; + } + } + VariantClear(&valConvMode); } + VariantClear(&valOpenMode); } - VariantClear( &valOpenMode ); - VariantClear( &valConvMode ); if( bResetCompartmentEventSink ) { @@ -3238,14 +2855,17 @@ void CTsfUiLessMode::UpdateImeState( BOOL bResetCompartmentEventSink ) } } -STDAPI CTsfUiLessMode::CUIElementSink::OnActivated( DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID catid, - REFGUID guidProfile, HKL hkl, DWORD dwFlags ) +STDAPI CTsfUiLessMode::CUIElementSink::OnActivated( DWORD dwProfileType, LANGID langid, _In_ REFCLSID clsid, _In_ REFGUID catid, + _In_ REFGUID guidProfile, HKL hkl, DWORD dwFlags ) { - static GUID TF_PROFILE_DAYI = + UNREFERENCED_PARAMETER(clsid); + UNREFERENCED_PARAMETER(hkl); + + static GUID s_TF_PROFILE_DAYI = { 0x037B2C25, 0x480C, 0x4D7F, 0xB0, 0x27, 0xD6, 0xCA, 0x6B, 0x69, 0x78, 0x8A }; - g_iCandListIndexBase = IsEqualGUID( TF_PROFILE_DAYI, guidProfile ) ? 0 : 1; + g_iCandListIndexBase = IsEqualGUID( s_TF_PROFILE_DAYI, guidProfile ) ? 0 : 1; if( IsEqualIID( catid, GUID_TFCAT_TIP_KEYBOARD ) && ( dwFlags & TF_IPSINK_FLAG_ACTIVE ) ) { g_bChineseIME = ( dwProfileType & TF_PROFILETYPE_INPUTPROCESSOR ) && langid == LANG_CHT; @@ -3260,8 +2880,9 @@ STDAPI CTsfUiLessMode::CUIElementSink::OnActivated( DWORD dwProfileType, LANGID return S_OK; } -STDAPI CTsfUiLessMode::CUIElementSink::OnChange( REFGUID rguid ) +STDAPI CTsfUiLessMode::CUIElementSink::OnChange( _In_ REFGUID rguid ) { + UNREFERENCED_PARAMETER(rguid); UpdateImeState(); return S_OK; } @@ -3283,39 +2904,13 @@ void CTsfUiLessMode::MakeReadingInformationString( ITfReadingInformationUIElemen g_uCandPageSize = MAX_CANDLIST; g_dwSelection = g_iReadingError ? g_iReadingError - 1 : ( DWORD )-1; g_iReadingError--; // g_iReadingError is used only in horizontal window, and has to be -1 if there's no error. -#ifndef UNICODE - if( g_iReadingError > 0 ) - { - // convert g_iReadingError to byte based - LPCSTR pszNext = g_szReadingString; - for( int i = 0; i < g_iReadingError && pszNext && *pszNext; ++i ) - { - pszNext = CharNext( pszNext ); - } - if( pszNext ) // should be non-NULL, but just in case - { - g_iReadingError = pszNext - g_szReadingString; - } - } -#endif BSTR bstr; if( SUCCEEDED( preading->GetString( &bstr ) ) ) { if( bstr ) { -#ifndef UNICODE - char szStr[COUNTOF(g_szReadingString)*2]; - szStr[0] = 0; - int iRc = WideCharToMultiByte( CP_ACP, 0, bstr, -1, szStr, sizeof( szStr ), NULL, NULL ); - if( iRc >= sizeof( szStr ) ) - { - szStr[sizeof( szStr ) - 1] = 0; - } - StringCchCopy( g_szReadingString, COUNTOF(g_szReadingString), szStr ); -#else - StringCchCopy( g_szReadingString, COUNTOF(g_szReadingString), bstr ); -#endif + wcscpy_s( g_szReadingString, COUNTOF(g_szReadingString), bstr ); g_dwCount = cchMax; LPCTSTR pszSource = g_szReadingString; if( fVertical ) @@ -3328,7 +2923,7 @@ void CTsfUiLessMode::MakeReadingInformationString( ITfReadingInformationUIElemen { LPTSTR pszNextSrc = CharNext( pszSource ); SIZE_T size = ( LPSTR )pszNextSrc - ( LPSTR )pszSource; - CopyMemory( pszDest, pszSource, size ); + memcpy( pszDest, pszSource, size ); pszSource = pszNextSrc; pszDest += size; } @@ -3349,7 +2944,7 @@ void CTsfUiLessMode::MakeCandidateStrings( ITfCandidateListUIElement* pcandidate UINT uIndex = 0; UINT uCount = 0; UINT uCurrentPage = 0; - UINT* IndexList = NULL; + UINT* IndexList = nullptr; UINT uPageCnt = 0; DWORD dwPageStart = 0; DWORD dwPageSize = 0; @@ -3363,7 +2958,7 @@ void CTsfUiLessMode::MakeCandidateStrings( ITfCandidateListUIElement* pcandidate g_bCandList = true; g_bReadingWindow = false; - pcandidate->GetPageIndex( NULL, 0, &uPageCnt ); + pcandidate->GetPageIndex( nullptr, 0, &uPageCnt ); if( uPageCnt > 0 ) { IndexList = ( UINT* )ImeUiCallback_Malloc( sizeof( UINT ) * uPageCnt ); @@ -3372,12 +2967,12 @@ void CTsfUiLessMode::MakeCandidateStrings( ITfCandidateListUIElement* pcandidate pcandidate->GetPageIndex( IndexList, uPageCnt, &uPageCnt ); dwPageStart = IndexList[uCurrentPage]; dwPageSize = ( uCurrentPage < uPageCnt - 1 ) ? - min( uCount, IndexList[uCurrentPage + 1] ) - dwPageStart: + std::min( uCount, IndexList[uCurrentPage + 1] ) - dwPageStart: uCount - dwPageStart; } } - g_uCandPageSize = min( dwPageSize, MAX_CANDLIST ); + g_uCandPageSize = std::min( dwPageSize, MAX_CANDLIST ); g_dwSelection = g_dwSelection - dwPageStart; memset( &g_szCandidate, 0, sizeof( g_szCandidate ) ); @@ -3387,18 +2982,7 @@ void CTsfUiLessMode::MakeCandidateStrings( ITfCandidateListUIElement* pcandidate { if( bstr ) { -#ifndef UNICODE - char szStr[COUNTOF(g_szCandidate[0])*2]; - szStr[0] = 0; - int iRc = WideCharToMultiByte( CP_ACP, 0, bstr, -1, szStr, sizeof( szStr ), NULL, NULL ); - if( iRc >= sizeof( szStr ) ) - { - szStr[sizeof( szStr ) - 1] = 0; - } - ComposeCandidateLine( j, szStr ); -#else - ComposeCandidateLine( j, bstr ); -#endif + ComposeCandidateLine( j, bstr ); SysFreeString( bstr ); } } @@ -3418,7 +3002,7 @@ void CTsfUiLessMode::MakeCandidateStrings( ITfCandidateListUIElement* pcandidate ITfUIElement* CTsfUiLessMode::GetUIElement( DWORD dwUIElementId ) { ITfUIElementMgr* puiem; - ITfUIElement* pElement = NULL; + ITfUIElement* pElement = nullptr; if( SUCCEEDED( m_tm->QueryInterface( __uuidof( ITfUIElementMgr ), ( void** )&puiem ) ) ) { @@ -3435,7 +3019,7 @@ BOOL CTsfUiLessMode::CurrentInputLocaleIsIme() HRESULT hr; ITfInputProcessorProfiles* pProfiles; - hr = CoCreateInstance( CLSID_TF_InputProcessorProfiles, NULL, CLSCTX_INPROC_SERVER, + hr = CoCreateInstance( CLSID_TF_InputProcessorProfiles, nullptr, CLSCTX_INPROC_SERVER, __uuidof( ITfInputProcessorProfiles ), ( LPVOID* )&pProfiles ); if( SUCCEEDED( hr ) ) { @@ -3461,13 +3045,13 @@ BOOL CTsfUiLessMode::CurrentInputLocaleIsIme() // otherwise the sink can be triggered when a game has multiple instances of IME UI library. void CTsfUiLessMode::EnableUiUpdates( bool bEnable ) { - if( m_tm == NULL || + if( !m_tm || ( bEnable && m_dwUIElementSinkCookie != TF_INVALID_COOKIE ) || ( !bEnable && m_dwUIElementSinkCookie == TF_INVALID_COOKIE ) ) { return; } - ITfSource* srcTm = NULL; + ITfSource* srcTm = nullptr; HRESULT hr = E_FAIL; if( SUCCEEDED( hr = m_tm->QueryInterface( __uuidof( ITfSource ), ( void** )&srcTm ) ) ) { @@ -3490,9 +3074,9 @@ void CTsfUiLessMode::EnableUiUpdates( bool bEnable ) BOOL CTsfUiLessMode::GetCompartments( ITfCompartmentMgr** ppcm, ITfCompartment** ppTfOpenMode, ITfCompartment** ppTfConvMode ) { - ITfCompartmentMgr* pcm = NULL; - ITfCompartment* pTfOpenMode = NULL; - ITfCompartment* pTfConvMode = NULL; + ITfCompartmentMgr* pcm = nullptr; + ITfCompartment* pTfOpenMode = nullptr; + ITfCompartment* pTfConvMode = nullptr; static GUID _GUID_COMPARTMENT_KEYBOARD_INPUTMODE_CONVERSION = { @@ -3527,7 +3111,7 @@ BOOL CTsfUiLessMode::SetupCompartmentSinks( BOOL bRemoveOnly, ITfCompartment* pT ITfCompartment* pTfConvMode ) { bool bLocalCompartments = false; - ITfCompartmentMgr* pcm = NULL; + ITfCompartmentMgr* pcm = nullptr; BOOL bRc = FALSE; HRESULT hr = E_FAIL; @@ -3541,7 +3125,7 @@ BOOL CTsfUiLessMode::SetupCompartmentSinks( BOOL bRemoveOnly, ITfCompartment* pT // Invalid parameters or GetCompartments() has failed. return FALSE; } - ITfSource* srcOpenMode = NULL; + ITfSource* srcOpenMode = nullptr; if( SUCCEEDED( hr = pTfOpenMode->QueryInterface( IID_ITfSource, ( void** )&srcOpenMode ) ) ) { // Remove existing sink for open mode @@ -3555,7 +3139,7 @@ BOOL CTsfUiLessMode::SetupCompartmentSinks( BOOL bRemoveOnly, ITfCompartment* pT ( ITfCompartmentEventSink* )m_TsfSink, &m_dwOpenModeSinkCookie ) ) ) { - ITfSource* srcConvMode = NULL; + ITfSource* srcConvMode = nullptr; if( SUCCEEDED( hr = pTfConvMode->QueryInterface( IID_ITfSource, ( void** )&srcConvMode ) ) ) { // Remove existing sink for open mode @@ -3591,7 +3175,7 @@ WORD ImeUi_GetPrimaryLanguage() return GETPRIMLANG(); }; -DWORD ImeUi_GetImeId( UINT uIndex ) +DWORD ImeUi_GetImeId( _In_ UINT uIndex ) { return GetImeId( uIndex ); }; @@ -3601,7 +3185,7 @@ WORD ImeUi_GetLanguage() return GETLANG(); }; -PTSTR ImeUi_GetIndicatior() +PCTSTR ImeUi_GetIndicatior() { return g_pszIndicatior; }; @@ -3627,7 +3211,7 @@ bool ImeUi_IsHorizontalReading() return g_bHorizontalReading; }; -TCHAR* ImeUi_GetCandidate( UINT idx ) +TCHAR* ImeUi_GetCandidate( _In_ UINT idx ) { if( idx < MAX_CANDLIST ) return g_szCandidate[idx]; diff --git a/FriedLiver/Source/DXUT/Optional/ImeUi.h b/FriedLiver/Source/DXUT/Optional/ImeUi.h index c8d2b2f0..908b5ae1 100644 --- a/FriedLiver/Source/DXUT/Optional/ImeUi.h +++ b/FriedLiver/Source/DXUT/Optional/ImeUi.h @@ -2,25 +2,25 @@ // File: ImeUi.h // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- -#ifndef _IMEUI_H_ -#define _IMEUI_H_ -#if _WIN32_WINNT < 0x0400 -#error IMEUI requires _WIN32_WINNT to be 0x0400 or higher. Please add "_WIN32_WINNT=0x0400" to your project's preprocessor setting. -#endif +#pragma once + #include class CImeUiFont_Base { public: - virtual void SetHeight( UINT uHeight ) + virtual void SetHeight( _In_ UINT uHeight ) { - uHeight; + UNREFERENCED_PARAMETER(uHeight); }; // for backward compatibility - virtual void SetColor( DWORD color ) = 0; - virtual void SetPosition( int x, int y ) = 0; - virtual void GetTextExtent( LPCTSTR szText, DWORD* puWidth, DWORD* puHeight ) = 0; - virtual void DrawText( LPCTSTR pszText ) = 0; + virtual void SetColor( _In_ DWORD color ) = 0; + virtual void SetPosition( _In_ int x, _In_ int y ) = 0; + virtual void GetTextExtent( _In_z_ LPCTSTR szText, _Out_ DWORD* puWidth, _Out_ DWORD* puHeight ) = 0; + virtual void DrawText( _In_z_ LPCTSTR pszText ) = 0; }; typedef struct @@ -76,49 +76,47 @@ typedef struct // D3DTLVERTEX compatible // IME Flags #define IMEUI_FLAG_SUPPORT_CARET 0x00000001 -bool ImeUi_Initialize( HWND hwnd, bool bDisable = false ); +bool ImeUi_Initialize( _In_ HWND hwnd, _In_ bool bDisable = false ); void ImeUi_Uninitialize(); -void ImeUi_SetAppearance( const IMEUI_APPEARANCE* pia ); -void ImeUi_GetAppearance( IMEUI_APPEARANCE* pia ); -bool ImeUi_IgnoreHotKey( const MSG* pmsg ); -LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam, bool* trapped ); -void ImeUi_SetScreenDimension( UINT width, UINT height ); -void ImeUi_RenderUI( bool bDrawCompAttr = true, bool bDrawOtherUi = true ); -void ImeUi_SetCaretPosition( UINT x, UINT y ); -void ImeUi_SetCompStringAppearance( CImeUiFont_Base* pFont, DWORD color, const RECT* prc ); +void ImeUi_SetAppearance( _In_opt_ const IMEUI_APPEARANCE* pia ); +void ImeUi_GetAppearance( _Out_opt_ IMEUI_APPEARANCE* pia ); +bool ImeUi_IgnoreHotKey( _In_ const MSG* pmsg ); +LPARAM ImeUi_ProcessMessage( _In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _Inout_ LPARAM& lParam, _Out_ bool* trapped ); +void ImeUi_SetScreenDimension( _In_ UINT width, _In_ UINT height ); +void ImeUi_RenderUI( _In_ bool bDrawCompAttr = true, _In_ bool bDrawOtherUi = true ); +void ImeUi_SetCaretPosition( _In_ UINT x, _In_ UINT y ); +void ImeUi_SetCompStringAppearance( _In_ CImeUiFont_Base* pFont, _In_ DWORD color, _In_ const RECT* prc ); bool ImeUi_GetCaretStatus(); -void ImeUi_SetInsertMode( bool bInsert ); -void ImeUi_SetState( DWORD dwState ); +void ImeUi_SetInsertMode( _In_ bool bInsert ); +void ImeUi_SetState( _In_ DWORD dwState ); DWORD ImeUi_GetState(); -void ImeUi_EnableIme( bool bEnable ); -bool ImeUi_IsEnabled( void ); -void ImeUi_FinalizeString( bool bSend = false ); -void ImeUi_ToggleLanguageBar( BOOL bRestore ); +void ImeUi_EnableIme( _In_ bool bEnable ); +bool ImeUi_IsEnabled(); +void ImeUi_FinalizeString( _In_ bool bSend = false ); +void ImeUi_ToggleLanguageBar( _In_ BOOL bRestore ); bool ImeUi_IsSendingKeyMessage(); -void ImeUi_SetWindow( HWND hwnd ); +void ImeUi_SetWindow( _In_ HWND hwnd ); UINT ImeUi_GetInputCodePage(); DWORD ImeUi_GetFlags(); -void ImeUi_SetFlags( DWORD dwFlags, bool bSet ); +void ImeUi_SetFlags( _In_ DWORD dwFlags, _In_ bool bSet ); WORD ImeUi_GetPrimaryLanguage(); -DWORD ImeUi_GetImeId( UINT uIndex ); +DWORD ImeUi_GetImeId( _In_ UINT uIndex ); WORD ImeUi_GetLanguage(); -LPTSTR ImeUi_GetIndicatior(); +LPCTSTR ImeUi_GetIndicatior(); bool ImeUi_IsShowReadingWindow(); bool ImeUi_IsShowCandListWindow(); bool ImeUi_IsVerticalCand(); bool ImeUi_IsHorizontalReading(); -TCHAR* ImeUi_GetCandidate( UINT idx ); +TCHAR* ImeUi_GetCandidate( _In_ UINT idx ); TCHAR* ImeUi_GetCompositionString(); DWORD ImeUi_GetCandidateSelection(); DWORD ImeUi_GetCandidateCount(); BYTE* ImeUi_GetCompStringAttr(); DWORD ImeUi_GetImeCursorChars(); -extern void ( CALLBACK*ImeUiCallback_DrawRect )( int x1, int y1, int x2, int y2, DWORD color ); -extern void* ( __cdecl*ImeUiCallback_Malloc )( size_t bytes ); -extern void ( __cdecl*ImeUiCallback_Free )( void* ptr ); -extern void ( CALLBACK*ImeUiCallback_DrawFans )( const IMEUI_VERTEX* paVertex, UINT uNum ); -extern void ( CALLBACK*ImeUiCallback_OnChar )( WCHAR wc ); - -#endif //_IMEUI_H_ +extern void ( CALLBACK*ImeUiCallback_DrawRect )( _In_ int x1, _In_ int y1, _In_ int x2, _In_ int y2, _In_ DWORD color ); +extern void* ( __cdecl*ImeUiCallback_Malloc )( _In_ size_t bytes ); +extern void ( __cdecl*ImeUiCallback_Free )( _In_ void* ptr ); +extern void ( CALLBACK*ImeUiCallback_DrawFans )( _In_ const IMEUI_VERTEX* paVertex, _In_ UINT uNum ); +extern void ( CALLBACK*ImeUiCallback_OnChar )( _In_ WCHAR wc ); diff --git a/FriedLiver/Source/DXUT/Optional/SDKmesh.cpp b/FriedLiver/Source/DXUT/Optional/SDKmesh.cpp index 18b72ca1..9df5d119 100644 --- a/FriedLiver/Source/DXUT/Optional/SDKmesh.cpp +++ b/FriedLiver/Source/DXUT/Optional/SDKmesh.cpp @@ -7,12 +7,18 @@ // meets the specific needs of the application. // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "DXUT.h" #include "SDKMesh.h" #include "SDKMisc.h" +using namespace DirectX; + //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::LoadMaterials( ID3D11Device* pd3dDevice, SDKMESH_MATERIAL* pMaterials, UINT numMaterials, SDKMESH_CALLBACKS11* pLoaderCallbacks ) { @@ -22,12 +28,12 @@ void CDXUTSDKMesh::LoadMaterials( ID3D11Device* pd3dDevice, SDKMESH_MATERIAL* pM { for( UINT m = 0; m < numMaterials; m++ ) { - pMaterials[m].pDiffuseTexture11 = NULL; - pMaterials[m].pNormalTexture11 = NULL; - pMaterials[m].pSpecularTexture11 = NULL; - pMaterials[m].pDiffuseRV11 = NULL; - pMaterials[m].pNormalRV11 = NULL; - pMaterials[m].pSpecularRV11 = NULL; + pMaterials[m].pDiffuseTexture11 = nullptr; + pMaterials[m].pNormalTexture11 = nullptr; + pMaterials[m].pSpecularTexture11 = nullptr; + pMaterials[m].pDiffuseRV11 = nullptr; + pMaterials[m].pNormalRV11 = nullptr; + pMaterials[m].pSpecularRV11 = nullptr; // load textures if( pMaterials[m].DiffuseTexture[0] != 0 ) @@ -54,12 +60,12 @@ void CDXUTSDKMesh::LoadMaterials( ID3D11Device* pd3dDevice, SDKMESH_MATERIAL* pM { for( UINT m = 0; m < numMaterials; m++ ) { - pMaterials[m].pDiffuseTexture11 = NULL; - pMaterials[m].pNormalTexture11 = NULL; - pMaterials[m].pSpecularTexture11 = NULL; - pMaterials[m].pDiffuseRV11 = NULL; - pMaterials[m].pNormalRV11 = NULL; - pMaterials[m].pSpecularRV11 = NULL; + pMaterials[m].pDiffuseTexture11 = nullptr; + pMaterials[m].pNormalTexture11 = nullptr; + pMaterials[m].pSpecularTexture11 = nullptr; + pMaterials[m].pDiffuseRV11 = nullptr; + pMaterials[m].pNormalRV11 = nullptr; + pMaterials[m].pSpecularRV11 = nullptr; // load textures if( pMaterials[m].DiffuseTexture[0] != 0 ) @@ -92,84 +98,7 @@ void CDXUTSDKMesh::LoadMaterials( ID3D11Device* pd3dDevice, SDKMESH_MATERIAL* pM } //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::LoadMaterials( IDirect3DDevice9* pd3dDevice, SDKMESH_MATERIAL* pMaterials, UINT numMaterials, - SDKMESH_CALLBACKS9* pLoaderCallbacks ) -{ - char strPath[MAX_PATH]; - - if( pLoaderCallbacks && pLoaderCallbacks->pCreateTextureFromFile ) - { - for( UINT m = 0; m < numMaterials; m++ ) - { - pMaterials[m].pDiffuseTexture9 = NULL; - pMaterials[m].pNormalTexture9 = NULL; - pMaterials[m].pSpecularTexture9 = NULL; - - // load textures - if( pMaterials[m].DiffuseTexture[0] != 0 ) - { - pLoaderCallbacks->pCreateTextureFromFile( pd3dDevice, - pMaterials[m].DiffuseTexture, - &pMaterials[m].pDiffuseTexture9, - pLoaderCallbacks->pContext ); - } - if( pMaterials[m].NormalTexture[0] != 0 ) - { - pLoaderCallbacks->pCreateTextureFromFile( pd3dDevice, - pMaterials[m].NormalTexture, &pMaterials[m].pNormalTexture9, - pLoaderCallbacks->pContext ); - } - if( pMaterials[m].SpecularTexture[0] != 0 ) - { - pLoaderCallbacks->pCreateTextureFromFile( pd3dDevice, - pMaterials[m].SpecularTexture, - &pMaterials[m].pSpecularTexture9, - pLoaderCallbacks->pContext ); - } - } - } - else - { - for( UINT m = 0; m < numMaterials; m++ ) - { - pMaterials[m].pDiffuseTexture9 = NULL; - pMaterials[m].pNormalTexture9 = NULL; - pMaterials[m].pSpecularTexture9 = NULL; - pMaterials[m].pDiffuseRV11 = NULL; - pMaterials[m].pNormalRV11 = NULL; - pMaterials[m].pSpecularRV11 = NULL; - - // load textures - if( pMaterials[m].DiffuseTexture[0] != 0 ) - { - sprintf_s( strPath, MAX_PATH, "%s%s", m_strPath, pMaterials[m].DiffuseTexture ); - if( FAILED( DXUTGetGlobalResourceCache().CreateTextureFromFile( pd3dDevice, - strPath, - &pMaterials[m].pDiffuseTexture9 ) ) ) - pMaterials[m].pDiffuseTexture9 = ( IDirect3DTexture9* )ERROR_RESOURCE_VALUE; - } - if( pMaterials[m].NormalTexture[0] != 0 ) - { - sprintf_s( strPath, MAX_PATH, "%s%s", m_strPath, pMaterials[m].NormalTexture ); - if( FAILED( DXUTGetGlobalResourceCache().CreateTextureFromFile( pd3dDevice, - strPath, - &pMaterials[m].pNormalTexture9 ) ) ) - pMaterials[m].pNormalTexture9 = ( IDirect3DTexture9* )ERROR_RESOURCE_VALUE; - } - if( pMaterials[m].SpecularTexture[0] != 0 ) - { - sprintf_s( strPath, MAX_PATH, "%s%s", m_strPath, pMaterials[m].SpecularTexture ); - if( FAILED( DXUTGetGlobalResourceCache().CreateTextureFromFile( pd3dDevice, - strPath, - &pMaterials[m].pSpecularTexture9 ) ) ) - pMaterials[m].pSpecularTexture9 = ( IDirect3DTexture9* )ERROR_RESOURCE_VALUE; - } - - } - } -} - -//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTSDKMesh::CreateVertexBuffer( ID3D11Device* pd3dDevice, SDKMESH_VERTEX_BUFFER_HEADER* pHeader, void* pVertices, SDKMESH_CALLBACKS11* pLoaderCallbacks ) { @@ -193,7 +122,10 @@ HRESULT CDXUTSDKMesh::CreateVertexBuffer( ID3D11Device* pd3dDevice, SDKMESH_VERT D3D11_SUBRESOURCE_DATA InitData; InitData.pSysMem = pVertices; hr = pd3dDevice->CreateBuffer( &bufferDesc, &InitData, &pHeader->pVB11 ); - DXUT_SetDebugName( pHeader->pVB11, "CDXUTSDKMesh" ); + if (SUCCEEDED(hr)) + { + DXUT_SetDebugName(pHeader->pVB11, "CDXUTSDKMesh"); + } } return hr; @@ -201,6 +133,7 @@ HRESULT CDXUTSDKMesh::CreateVertexBuffer( ID3D11Device* pd3dDevice, SDKMESH_VERT //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTSDKMesh::CreateIndexBuffer( ID3D11Device* pd3dDevice, SDKMESH_INDEX_BUFFER_HEADER* pHeader, void* pIndices, SDKMESH_CALLBACKS11* pLoaderCallbacks ) { @@ -224,101 +157,21 @@ HRESULT CDXUTSDKMesh::CreateIndexBuffer( ID3D11Device* pd3dDevice, SDKMESH_INDEX D3D11_SUBRESOURCE_DATA InitData; InitData.pSysMem = pIndices; hr = pd3dDevice->CreateBuffer( &bufferDesc, &InitData, &pHeader->pIB11 ); - DXUT_SetDebugName( pHeader->pIB11, "CDXUTSDKMesh" ); - } - - return hr; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::CreateVertexBuffer( IDirect3DDevice9* pd3dDevice, SDKMESH_VERTEX_BUFFER_HEADER* pHeader, - void* pVertices, SDKMESH_CALLBACKS9* pLoaderCallbacks ) -{ - HRESULT hr = S_OK; - - pHeader->DataOffset = 0; - if( pLoaderCallbacks && pLoaderCallbacks->pCreateVertexBuffer ) - { - pLoaderCallbacks->pCreateVertexBuffer( pd3dDevice, &pHeader->pVB9, ( UINT )pHeader->SizeBytes, - D3DUSAGE_WRITEONLY, 0, D3DPOOL_DEFAULT, pVertices, - pLoaderCallbacks->pContext ); - } - else - { - hr = pd3dDevice->CreateVertexBuffer( ( UINT )pHeader->SizeBytes, - D3DUSAGE_WRITEONLY, - 0, - D3DPOOL_DEFAULT, - &pHeader->pVB9, - NULL ); - - //lock - if( SUCCEEDED( hr ) ) + if (SUCCEEDED(hr)) { - void* pLockedVerts = NULL; - V_RETURN( pHeader->pVB9->Lock( 0, 0, &pLockedVerts, 0 ) ); - CopyMemory( pLockedVerts, pVertices, ( size_t )pHeader->SizeBytes ); - pHeader->pVB9->Unlock(); + DXUT_SetDebugName(pHeader->pIB11, "CDXUTSDKMesh"); } } return hr; } -//-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::CreateIndexBuffer( IDirect3DDevice9* pd3dDevice, SDKMESH_INDEX_BUFFER_HEADER* pHeader, - void* pIndices, SDKMESH_CALLBACKS9* pLoaderCallbacks ) -{ - HRESULT hr = S_OK; - - pHeader->DataOffset = 0; - - D3DFORMAT ibFormat = D3DFMT_INDEX16; - switch( pHeader->IndexType ) - { - case IT_16BIT: - ibFormat = D3DFMT_INDEX16; - break; - case IT_32BIT: - ibFormat = D3DFMT_INDEX32; - break; - }; - - if( pLoaderCallbacks && pLoaderCallbacks->pCreateIndexBuffer ) - { - pLoaderCallbacks->pCreateIndexBuffer( pd3dDevice, &pHeader->pIB9, ( UINT )pHeader->SizeBytes, - D3DUSAGE_WRITEONLY, ibFormat, D3DPOOL_DEFAULT, pIndices, - pLoaderCallbacks->pContext ); - } - else - { - hr = pd3dDevice->CreateIndexBuffer( ( UINT )( pHeader->SizeBytes ), - D3DUSAGE_WRITEONLY, - ibFormat, - D3DPOOL_DEFAULT, - &pHeader->pIB9, - NULL ); - - if( SUCCEEDED( hr ) ) - { - void* pLockedIndices = NULL; - V_RETURN( pHeader->pIB9->Lock( 0, 0, &pLockedIndices, 0 ) ); - CopyMemory( pLockedIndices, pIndices, ( size_t )( pHeader->SizeBytes ) ); - pHeader->pIB9->Unlock(); - } - } - - return hr; -} //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, - IDirect3DDevice9* pDev9, - LPCTSTR szFileName, - bool bCreateAdjacencyIndices, - SDKMESH_CALLBACKS11* pLoaderCallbacks11, - SDKMESH_CALLBACKS9* pLoaderCallbacks9 ) + LPCWSTR szFileName, + SDKMESH_CALLBACKS11* pLoaderCallbacks11 ) { HRESULT hr = S_OK; @@ -326,8 +179,8 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, V_RETURN( DXUTFindDXSDKMediaFileCch( m_strPathW, sizeof( m_strPathW ) / sizeof( WCHAR ), szFileName ) ); // Open the file - m_hFile = CreateFile( m_strPathW, FILE_READ_DATA, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, - NULL ); + m_hFile = CreateFile( m_strPathW, FILE_READ_DATA, FILE_SHARE_READ, nullptr, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, + nullptr ); if( INVALID_HANDLE_VALUE == m_hFile ) return DXUTERR_MEDIANOTFOUND; @@ -338,7 +191,7 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, else *m_strPathW = L'\0'; - WideCharToMultiByte( CP_ACP, 0, m_strPathW, -1, m_strPath, MAX_PATH, NULL, FALSE ); + WideCharToMultiByte( CP_ACP, 0, m_strPathW, -1, m_strPath, MAX_PATH, nullptr, FALSE ); // Get the file size LARGE_INTEGER FileSize; @@ -346,7 +199,7 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, UINT cBytes = FileSize.LowPart; // Allocate memory - m_pStaticMeshData = new BYTE[ cBytes ]; + m_pStaticMeshData = new (std::nothrow) BYTE[ cBytes ]; if( !m_pStaticMeshData ) { CloseHandle( m_hFile ); @@ -355,7 +208,7 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, // Read in the file DWORD dwBytesRead; - if( !ReadFile( m_hFile, m_pStaticMeshData, cBytes, &dwBytesRead, NULL ) ) + if( !ReadFile( m_hFile, m_pStaticMeshData, cBytes, &dwBytesRead, nullptr ) ) hr = E_FAIL; CloseHandle( m_hFile ); @@ -363,13 +216,10 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, if( SUCCEEDED( hr ) ) { hr = CreateFromMemory( pDev11, - pDev9, m_pStaticMeshData, cBytes, - bCreateAdjacencyIndices, false, - pLoaderCallbacks11, - pLoaderCallbacks9 ); + pLoaderCallbacks11 ); if( FAILED( hr ) ) delete []m_pStaticMeshData; } @@ -377,37 +227,39 @@ HRESULT CDXUTSDKMesh::CreateFromFile( ID3D11Device* pDev11, return hr; } +_Use_decl_annotations_ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, - IDirect3DDevice9* pDev9, BYTE* pData, - UINT DataBytes, - bool bCreateAdjacencyIndices, + size_t DataBytes, bool bCopyStatic, - SDKMESH_CALLBACKS11* pLoaderCallbacks11, - SDKMESH_CALLBACKS9* pLoaderCallbacks9 ) + SDKMESH_CALLBACKS11* pLoaderCallbacks11 ) { - HRESULT hr = E_FAIL; - D3DXVECTOR3 lower; - D3DXVECTOR3 upper; + DirectX::XMFLOAT3 lower; + DirectX::XMFLOAT3 upper; - m_pDev9 = pDev9; - m_pDev11 = pDev11; + m_pDev11 = pDev11; + + if ( DataBytes < sizeof(SDKMESH_HEADER) ) + return E_FAIL; // Set outstanding resources to zero m_NumOutstandingResources = 0; if( bCopyStatic ) { - SDKMESH_HEADER* pHeader = ( SDKMESH_HEADER* )pData; + auto pHeader = reinterpret_cast( pData ); SIZE_T StaticSize = ( SIZE_T )( pHeader->HeaderSize + pHeader->NonBufferDataSize ); - m_pHeapData = new BYTE[ StaticSize ]; + if ( DataBytes < StaticSize ) + return E_FAIL; + + m_pHeapData = new (std::nothrow) BYTE[ StaticSize ]; if( !m_pHeapData ) - return hr; + return E_OUTOFMEMORY; m_pStaticMeshData = m_pHeapData; - CopyMemory( m_pStaticMeshData, pData, StaticSize ); + memcpy( m_pStaticMeshData, pData, StaticSize ); } else { @@ -416,7 +268,8 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, } // Pointer fixup - m_pMeshHeader = ( SDKMESH_HEADER* )m_pStaticMeshData; + m_pMeshHeader = reinterpret_cast( m_pStaticMeshData ); + m_pVertexBufferArray = ( SDKMESH_VERTEX_BUFFER_HEADER* )( m_pStaticMeshData + m_pMeshHeader->VertexStreamHeadersOffset ); m_pIndexBufferArray = ( SDKMESH_INDEX_BUFFER_HEADER* )( m_pStaticMeshData + @@ -436,8 +289,7 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, // error condition if( m_pMeshHeader->Version != SDKMESH_FILE_VERSION ) { - hr = E_NOINTERFACE; - goto Error; + return E_NOINTERFACE; } // Setup buffer data pointer @@ -447,31 +299,36 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, UINT64 BufferDataStart = m_pMeshHeader->HeaderSize + m_pMeshHeader->NonBufferDataSize; // Create VBs - m_ppVertices = new BYTE*[m_pMeshHeader->NumVertexBuffers]; + m_ppVertices = new (std::nothrow) BYTE*[m_pMeshHeader->NumVertexBuffers]; + if ( !m_ppVertices ) + { + return E_OUTOFMEMORY; + } for( UINT i = 0; i < m_pMeshHeader->NumVertexBuffers; i++ ) { - BYTE* pVertices = NULL; + BYTE* pVertices = nullptr; pVertices = ( BYTE* )( pBufferData + ( m_pVertexBufferArray[i].DataOffset - BufferDataStart ) ); if( pDev11 ) CreateVertexBuffer( pDev11, &m_pVertexBufferArray[i], pVertices, pLoaderCallbacks11 ); - else if( pDev9 ) - CreateVertexBuffer( pDev9, &m_pVertexBufferArray[i], pVertices, pLoaderCallbacks9 ); m_ppVertices[i] = pVertices; } // Create IBs - m_ppIndices = new BYTE*[m_pMeshHeader->NumIndexBuffers]; + m_ppIndices = new (std::nothrow) BYTE*[m_pMeshHeader->NumIndexBuffers]; + if ( !m_ppIndices ) + { + return E_OUTOFMEMORY; + } + for( UINT i = 0; i < m_pMeshHeader->NumIndexBuffers; i++ ) { - BYTE* pIndices = NULL; + BYTE* pIndices = nullptr; pIndices = ( BYTE* )( pBufferData + ( m_pIndexBufferArray[i].DataOffset - BufferDataStart ) ); if( pDev11 ) CreateIndexBuffer( pDev11, &m_pIndexBufferArray[i], pIndices, pLoaderCallbacks11 ); - else if( pDev9 ) - CreateIndexBuffer( pDev9, &m_pIndexBufferArray[i], pIndices, pLoaderCallbacks9 ); m_ppIndices[i] = pIndices; } @@ -479,23 +336,28 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, // Load Materials if( pDev11 ) LoadMaterials( pDev11, m_pMaterialArray, m_pMeshHeader->NumMaterials, pLoaderCallbacks11 ); - else if( pDev9 ) - LoadMaterials( pDev9, m_pMaterialArray, m_pMeshHeader->NumMaterials, pLoaderCallbacks9 ); // Create a place to store our bind pose frame matrices - m_pBindPoseFrameMatrices = new D3DXMATRIX[ m_pMeshHeader->NumFrames ]; + m_pBindPoseFrameMatrices = new (std::nothrow) DirectX::XMFLOAT4X4[ m_pMeshHeader->NumFrames ]; if( !m_pBindPoseFrameMatrices ) - goto Error; + { + return E_OUTOFMEMORY; + } // Create a place to store our transformed frame matrices - m_pTransformedFrameMatrices = new D3DXMATRIX[ m_pMeshHeader->NumFrames ]; + m_pTransformedFrameMatrices = new (std::nothrow) DirectX::XMFLOAT4X4[ m_pMeshHeader->NumFrames ]; if( !m_pTransformedFrameMatrices ) - goto Error; - m_pWorldPoseFrameMatrices = new D3DXMATRIX[ m_pMeshHeader->NumFrames ]; + { + return E_OUTOFMEMORY; + } + + m_pWorldPoseFrameMatrices = new (std::nothrow) DirectX::XMFLOAT4X4[ m_pMeshHeader->NumFrames ]; if( !m_pWorldPoseFrameMatrices ) - goto Error; + { + return E_OUTOFMEMORY; + } - SDKMESH_SUBSET* pSubset = NULL; + SDKMESH_SUBSET* pSubset = nullptr; D3D11_PRIMITIVE_TOPOLOGY PrimType; // update bounding volume @@ -528,10 +390,10 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, IndexStart *= 2; }*/ - //BYTE* pIndices = NULL; + //BYTE* pIndices = nullptr; //m_ppIndices[i] UINT *ind = ( UINT * )m_ppIndices[currentMesh->IndexBuffer]; - FLOAT *verts = ( FLOAT* )m_ppVertices[currentMesh->VertexBuffers[0]]; + float *verts = ( float* )m_ppVertices[currentMesh->VertexBuffers[0]]; UINT stride = (UINT)m_pVertexBufferArray[currentMesh->VertexBuffers[0]].StrideBytes; assert (stride % 4 == 0); stride /=4; @@ -550,7 +412,7 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, current_ind = ind[vertind]; } tris++; - D3DXVECTOR3 *pt = (D3DXVECTOR3*)&(verts[stride * current_ind]); + DirectX::XMFLOAT3 *pt = (DirectX::XMFLOAT3*)&(verts[stride * current_ind]); if (pt->x < lower.x) { lower.x = pt->x; } @@ -575,153 +437,137 @@ HRESULT CDXUTSDKMesh::CreateFromMemory( ID3D11Device* pDev11, //pd3dDeviceContext->DrawIndexed( IndexCount, IndexStart, VertexStart ); } - D3DXVECTOR3 half = upper - lower; - half *=0.5f; + DirectX::XMFLOAT3 half( ( upper.x - lower.x ) * 0.5f, + ( upper.y - lower.y ) * 0.5f, + ( upper.z - lower.z ) * 0.5f ); + + currentMesh->BoundingBoxCenter.x = lower.x + half.x; + currentMesh->BoundingBoxCenter.y = lower.y + half.y; + currentMesh->BoundingBoxCenter.z = lower.z + half.z; - currentMesh->BoundingBoxCenter = lower + half; currentMesh->BoundingBoxExtents = half; } // Update - - - hr = S_OK; -Error: - - if( !pLoaderCallbacks9 ) - { - CheckLoadDone(); - } - - return hr; + return S_OK; } + //-------------------------------------------------------------------------------------- // transform bind pose frame using a recursive traversal //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::TransformBindPoseFrame( UINT iFrame, D3DXMATRIX* pParentWorld ) +_Use_decl_annotations_ +void CDXUTSDKMesh::TransformBindPoseFrame( UINT iFrame, CXMMATRIX parentWorld ) { if( !m_pBindPoseFrameMatrices ) return; // Transform ourselves - D3DXMATRIX LocalWorld; - D3DXMatrixMultiply( &LocalWorld, &m_pFrameArray[iFrame].Matrix, pParentWorld ); - m_pBindPoseFrameMatrices[iFrame] = LocalWorld; + XMMATRIX m = XMLoadFloat4x4( &m_pFrameArray[iFrame].Matrix ); + XMMATRIX mLocalWorld = XMMatrixMultiply( m, parentWorld ); + XMStoreFloat4x4( &m_pBindPoseFrameMatrices[iFrame], mLocalWorld ); // Transform our siblings if( m_pFrameArray[iFrame].SiblingFrame != INVALID_FRAME ) - TransformBindPoseFrame( m_pFrameArray[iFrame].SiblingFrame, pParentWorld ); + { + TransformBindPoseFrame( m_pFrameArray[iFrame].SiblingFrame, parentWorld ); + } // Transform our children if( m_pFrameArray[iFrame].ChildFrame != INVALID_FRAME ) - TransformBindPoseFrame( m_pFrameArray[iFrame].ChildFrame, &LocalWorld ); + { + TransformBindPoseFrame( m_pFrameArray[iFrame].ChildFrame, mLocalWorld ); + } } + //-------------------------------------------------------------------------------------- // transform frame using a recursive traversal //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::TransformFrame( UINT iFrame, D3DXMATRIX* pParentWorld, double fTime ) +_Use_decl_annotations_ +void CDXUTSDKMesh::TransformFrame( UINT iFrame, CXMMATRIX parentWorld, double fTime ) { // Get the tick data - D3DXMATRIX LocalTransform; + XMMATRIX mLocalTransform; + UINT iTick = GetAnimationKeyFromTime( fTime ); if( INVALID_ANIMATION_DATA != m_pFrameArray[iFrame].AnimationDataIndex ) { - SDKANIMATION_FRAME_DATA* pFrameData = &m_pAnimationFrameData[ m_pFrameArray[iFrame].AnimationDataIndex ]; - SDKANIMATION_DATA* pData = &pFrameData->pAnimationData[ iTick ]; + auto pFrameData = &m_pAnimationFrameData[ m_pFrameArray[iFrame].AnimationDataIndex ]; + auto pData = &pFrameData->pAnimationData[ iTick ]; // turn it into a matrix (Ignore scaling for now) - D3DXVECTOR3 parentPos = pData->Translation; - D3DXMATRIX mTranslate; - D3DXMatrixTranslation( &mTranslate, parentPos.x, parentPos.y, parentPos.z ); - - D3DXQUATERNION quat; - D3DXMATRIX mQuat; - quat.w = pData->Orientation.w; - quat.x = pData->Orientation.x; - quat.y = pData->Orientation.y; - quat.z = pData->Orientation.z; - if( quat.w == 0 && quat.x == 0 && quat.y == 0 && quat.z == 0 ) - D3DXQuaternionIdentity( &quat ); - D3DXQuaternionNormalize( &quat, &quat ); - D3DXMatrixRotationQuaternion( &mQuat, &quat ); - LocalTransform = ( mQuat * mTranslate ); + DirectX::XMFLOAT3 parentPos = pData->Translation; + XMMATRIX mTranslate = XMMatrixTranslation( parentPos.x, parentPos.y, parentPos.z ); + + XMVECTOR quat = XMVectorSet( pData->Orientation.x, pData->Orientation.y, pData->Orientation.z, pData->Orientation.w ); + if ( XMVector4Equal( quat, g_XMZero ) ) + quat = XMQuaternionIdentity(); + quat = XMQuaternionNormalize( quat ); + XMMATRIX mQuat = XMMatrixRotationQuaternion( quat ); + mLocalTransform = ( mQuat * mTranslate ); } else { - LocalTransform = m_pFrameArray[iFrame].Matrix; + mLocalTransform = XMLoadFloat4x4( &m_pFrameArray[iFrame].Matrix ); } // Transform ourselves - D3DXMATRIX LocalWorld; - D3DXMatrixMultiply( &LocalWorld, &LocalTransform, pParentWorld ); - m_pTransformedFrameMatrices[iFrame] = LocalWorld; - m_pWorldPoseFrameMatrices[iFrame] = LocalWorld; + XMMATRIX mLocalWorld = XMMatrixMultiply( mLocalTransform, parentWorld ); + XMStoreFloat4x4( &m_pTransformedFrameMatrices[iFrame], mLocalWorld ); + XMStoreFloat4x4( &m_pWorldPoseFrameMatrices[iFrame], mLocalWorld ); // Transform our siblings if( m_pFrameArray[iFrame].SiblingFrame != INVALID_FRAME ) - TransformFrame( m_pFrameArray[iFrame].SiblingFrame, pParentWorld, fTime ); + { + TransformFrame( m_pFrameArray[iFrame].SiblingFrame, parentWorld, fTime ); + } // Transform our children if( m_pFrameArray[iFrame].ChildFrame != INVALID_FRAME ) - TransformFrame( m_pFrameArray[iFrame].ChildFrame, &LocalWorld, fTime ); + { + TransformFrame( m_pFrameArray[iFrame].ChildFrame, mLocalWorld, fTime ); + } } + //-------------------------------------------------------------------------------------- // transform frame assuming that it is an absolute transformation //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::TransformFrameAbsolute( UINT iFrame, double fTime ) { - D3DXMATRIX mTrans1; - D3DXMATRIX mTrans2; - D3DXMATRIX mRot1; - D3DXMATRIX mRot2; - D3DXQUATERNION quat1; - D3DXQUATERNION quat2; - D3DXMATRIX mTo; - D3DXMATRIX mInvTo; - D3DXMATRIX mFrom; - UINT iTick = GetAnimationKeyFromTime( fTime ); if( INVALID_ANIMATION_DATA != m_pFrameArray[iFrame].AnimationDataIndex ) { - SDKANIMATION_FRAME_DATA* pFrameData = &m_pAnimationFrameData[ m_pFrameArray[iFrame].AnimationDataIndex ]; - SDKANIMATION_DATA* pData = &pFrameData->pAnimationData[ iTick ]; - SDKANIMATION_DATA* pDataOrig = &pFrameData->pAnimationData[ 0 ]; - - D3DXMatrixTranslation( &mTrans1, -pDataOrig->Translation.x, - -pDataOrig->Translation.y, - -pDataOrig->Translation.z ); - D3DXMatrixTranslation( &mTrans2, pData->Translation.x, - pData->Translation.y, - pData->Translation.z ); - - quat1.x = pDataOrig->Orientation.x; - quat1.y = pDataOrig->Orientation.y; - quat1.z = pDataOrig->Orientation.z; - quat1.w = pDataOrig->Orientation.w; - D3DXQuaternionInverse( &quat1, &quat1 ); - D3DXMatrixRotationQuaternion( &mRot1, &quat1 ); - mInvTo = mTrans1 * mRot1; - - quat2.x = pData->Orientation.x; - quat2.y = pData->Orientation.y; - quat2.z = pData->Orientation.z; - quat2.w = pData->Orientation.w; - D3DXMatrixRotationQuaternion( &mRot2, &quat2 ); - mFrom = mRot2 * mTrans2; - - D3DXMATRIX mOutput = mInvTo * mFrom; - m_pTransformedFrameMatrices[iFrame] = mOutput; + auto pFrameData = &m_pAnimationFrameData[ m_pFrameArray[iFrame].AnimationDataIndex ]; + auto pData = &pFrameData->pAnimationData[ iTick ]; + auto pDataOrig = &pFrameData->pAnimationData[ 0 ]; + + XMMATRIX mTrans1 = XMMatrixTranslation( -pDataOrig->Translation.x, -pDataOrig->Translation.y, -pDataOrig->Translation.z ); + XMMATRIX mTrans2 = XMMatrixTranslation( pData->Translation.x, pData->Translation.y, pData->Translation.z ); + + XMVECTOR quat1 = XMVectorSet( pDataOrig->Orientation.x, pDataOrig->Orientation.y, pDataOrig->Orientation.z, pDataOrig->Orientation.w ); + quat1 = XMQuaternionInverse( quat1 ); + XMMATRIX mRot1 = XMMatrixRotationQuaternion( quat1 ); + XMMATRIX mInvTo = mTrans1 * mRot1; + + XMVECTOR quat2 = XMVectorSet( pData->Orientation.x, pData->Orientation.y, pData->Orientation.z, pData->Orientation.w ); + XMMATRIX mRot2 = XMMatrixRotationQuaternion( quat2 ); + XMMATRIX mFrom = mRot2 * mTrans2; + + XMMATRIX mOutput = mInvTo * mFrom; + XMStoreFloat4x4( &m_pTransformedFrameMatrices[iFrame], mOutput ); } } #define MAX_D3D11_VERTEX_STREAMS D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT + //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::RenderMesh( UINT iMesh, bool bAdjacent, ID3D11DeviceContext* pd3dDeviceContext, @@ -732,7 +578,7 @@ void CDXUTSDKMesh::RenderMesh( UINT iMesh, if( 0 < GetOutstandingBufferResources() ) return; - SDKMESH_MESH* pMesh = &m_pMeshArray[iMesh]; + auto pMesh = &m_pMeshArray[iMesh]; UINT Strides[MAX_D3D11_VERTEX_STREAMS]; UINT Offsets[MAX_D3D11_VERTEX_STREAMS]; @@ -754,7 +600,7 @@ void CDXUTSDKMesh::RenderMesh( UINT iMesh, else pIndexBufferArray = m_pIndexBufferArray; - ID3D11Buffer* pIB = pIndexBufferArray[ pMesh->IndexBuffer ].pIB11; + auto pIB = pIndexBufferArray[ pMesh->IndexBuffer ].pIB11; DXGI_FORMAT ibFormat = DXGI_FORMAT_R16_UINT; switch( pIndexBufferArray[ pMesh->IndexBuffer ].IndexType ) { @@ -769,8 +615,8 @@ void CDXUTSDKMesh::RenderMesh( UINT iMesh, pd3dDeviceContext->IASetVertexBuffers( 0, pMesh->NumVertexBuffers, pVB, Strides, Offsets ); pd3dDeviceContext->IASetIndexBuffer( pIB, ibFormat, 0 ); - SDKMESH_SUBSET* pSubset = NULL; - SDKMESH_MATERIAL* pMat = NULL; + SDKMESH_SUBSET* pSubset = nullptr; + SDKMESH_MATERIAL* pMat = nullptr; D3D11_PRIMITIVE_TOPOLOGY PrimType; for( UINT subset = 0; subset < pMesh->NumSubsets; subset++ ) @@ -821,6 +667,7 @@ void CDXUTSDKMesh::RenderMesh( UINT iMesh, } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::RenderFrame( UINT iFrame, bool bAdjacent, ID3D11DeviceContext* pd3dDeviceContext, @@ -853,140 +700,33 @@ void CDXUTSDKMesh::RenderFrame( UINT iFrame, } //-------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::RenderMesh( UINT iMesh, - LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse, - D3DXHANDLE htxNormal, - D3DXHANDLE htxSpecular ) -{ - if( 0 < GetOutstandingBufferResources() ) - return; - - SDKMESH_MESH* pMesh = &m_pMeshArray[iMesh]; - - // set vb streams - for( UINT i = 0; i < ( UINT )pMesh->NumVertexBuffers; i++ ) - { - pd3dDevice->SetStreamSource( i, - m_pVertexBufferArray[ pMesh->VertexBuffers[i] ].pVB9, - 0, - ( UINT )m_pVertexBufferArray[ pMesh->VertexBuffers[i] ].StrideBytes ); - } - - // Set our index buffer as well - pd3dDevice->SetIndices( m_pIndexBufferArray[ pMesh->IndexBuffer ].pIB9 ); - - // Render the scene with this technique - pEffect->SetTechnique( hTechnique ); - - SDKMESH_SUBSET* pSubset = NULL; - SDKMESH_MATERIAL* pMat = NULL; - D3DPRIMITIVETYPE PrimType; - UINT cPasses = 0; - pEffect->Begin( &cPasses, 0 ); - - for( UINT p = 0; p < cPasses; ++p ) - { - pEffect->BeginPass( p ); - - for( UINT subset = 0; subset < pMesh->NumSubsets; subset++ ) - { - pSubset = &m_pSubsetArray[ pMesh->pSubsets[subset] ]; - - PrimType = GetPrimitiveType9( ( SDKMESH_PRIMITIVE_TYPE )pSubset->PrimitiveType ); - - if( INVALID_MATERIAL != pSubset->MaterialID && m_pMeshHeader->NumMaterials > 0 ) - { - pMat = &m_pMaterialArray[ pSubset->MaterialID ]; - if( htxDiffuse && !IsErrorResource( pMat->pDiffuseTexture9 ) ) - pEffect->SetTexture( htxDiffuse, pMat->pDiffuseTexture9 ); - if( htxNormal && !IsErrorResource( pMat->pNormalTexture9 ) ) - pEffect->SetTexture( htxNormal, pMat->pNormalTexture9 ); - if( htxSpecular && !IsErrorResource( pMat->pSpecularTexture9 ) ) - pEffect->SetTexture( htxSpecular, pMat->pSpecularTexture9 ); - } - - pEffect->CommitChanges(); - - UINT PrimCount = ( UINT )pSubset->IndexCount; - UINT IndexStart = ( UINT )pSubset->IndexStart; - UINT VertexStart = ( UINT )pSubset->VertexStart; - UINT VertexCount = ( UINT )pSubset->VertexCount; - if( D3DPT_TRIANGLELIST == PrimType ) - PrimCount /= 3; - if( D3DPT_LINELIST == PrimType ) - PrimCount /= 2; - if( D3DPT_TRIANGLESTRIP == PrimType ) - PrimCount = ( PrimCount - 3 ) + 1; - if( D3DPT_LINESTRIP == PrimType ) - PrimCount -= 1; - - pd3dDevice->DrawIndexedPrimitive( PrimType, VertexStart, 0, VertexCount, IndexStart, PrimCount ); - } - - pEffect->EndPass(); - } - - pEffect->End(); -} - -//-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::RenderFrame( UINT iFrame, - LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse, - D3DXHANDLE htxNormal, - D3DXHANDLE htxSpecular ) -{ - if( !m_pStaticMeshData || !m_pFrameArray ) - return; - - if( m_pFrameArray[iFrame].Mesh != INVALID_MESH ) - { - RenderMesh( m_pFrameArray[iFrame].Mesh, - pd3dDevice, - pEffect, - hTechnique, - htxDiffuse, - htxNormal, - htxSpecular ); - } - - // Render our children - if( m_pFrameArray[iFrame].ChildFrame != INVALID_FRAME ) - RenderFrame( m_pFrameArray[iFrame].ChildFrame, pd3dDevice, pEffect, hTechnique, htxDiffuse, htxNormal, - htxSpecular ); - - // Render our siblings - if( m_pFrameArray[iFrame].SiblingFrame != INVALID_FRAME ) - RenderFrame( m_pFrameArray[iFrame].SiblingFrame, pd3dDevice, pEffect, hTechnique, htxDiffuse, htxNormal, - htxSpecular ); -} - - -//-------------------------------------------------------------------------------------- -CDXUTSDKMesh::CDXUTSDKMesh() : m_NumOutstandingResources( 0 ), - m_bLoading( false ), - m_hFile( 0 ), - m_hFileMappingObject( 0 ), - m_pMeshHeader( NULL ), - m_pStaticMeshData( NULL ), - m_pHeapData( NULL ), - m_pAdjacencyIndexBufferArray( NULL ), - m_pAnimationData( NULL ), - m_pAnimationHeader( NULL ), - m_ppVertices( NULL ), - m_ppIndices( NULL ), - m_pBindPoseFrameMatrices( NULL ), - m_pTransformedFrameMatrices( NULL ), - m_pWorldPoseFrameMatrices( NULL ), - m_pDev9( NULL ), - m_pDev11( NULL ) +CDXUTSDKMesh::CDXUTSDKMesh() noexcept : + m_NumOutstandingResources(0), + m_bLoading(false), + m_hFile(0), + m_hFileMappingObject(0), + m_pDev11(nullptr), + m_pDevContext11(nullptr), + m_pStaticMeshData(nullptr), + m_pHeapData(nullptr), + m_pAnimationData(nullptr), + m_ppVertices(nullptr), + m_ppIndices(nullptr), + m_strPathW{}, + m_strPath{}, + m_pMeshHeader(nullptr), + m_pVertexBufferArray(nullptr), + m_pIndexBufferArray(nullptr), + m_pMeshArray(nullptr), + m_pSubsetArray(nullptr), + m_pFrameArray(nullptr), + m_pMaterialArray(nullptr), + m_pAdjacencyIndexBufferArray(nullptr), + m_pAnimationHeader(nullptr), + m_pAnimationFrameData(nullptr), + m_pBindPoseFrameMatrices(nullptr), + m_pTransformedFrameMatrices(nullptr), + m_pWorldPoseFrameMatrices(nullptr) { } @@ -998,38 +738,22 @@ CDXUTSDKMesh::~CDXUTSDKMesh() } //-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::Create( ID3D11Device* pDev11, LPCTSTR szFileName, bool bCreateAdjacencyIndices, - SDKMESH_CALLBACKS11* pLoaderCallbacks ) +_Use_decl_annotations_ +HRESULT CDXUTSDKMesh::Create( ID3D11Device* pDev11, LPCWSTR szFileName, SDKMESH_CALLBACKS11* pLoaderCallbacks ) { - return CreateFromFile( pDev11, NULL, szFileName, bCreateAdjacencyIndices, pLoaderCallbacks, NULL ); + return CreateFromFile( pDev11, szFileName, pLoaderCallbacks ); } //-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::Create( IDirect3DDevice9* pDev9, LPCTSTR szFileName, bool bCreateAdjacencyIndices, - SDKMESH_CALLBACKS9* pLoaderCallbacks ) +_Use_decl_annotations_ +HRESULT CDXUTSDKMesh::Create( ID3D11Device* pDev11, BYTE* pData, size_t DataBytes, bool bCopyStatic, SDKMESH_CALLBACKS11* pLoaderCallbacks ) { - return CreateFromFile( NULL, pDev9, szFileName, bCreateAdjacencyIndices, NULL, pLoaderCallbacks ); + return CreateFromMemory( pDev11, pData, DataBytes, bCopyStatic, pLoaderCallbacks ); } -//-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::Create( ID3D11Device* pDev11, BYTE* pData, UINT DataBytes, bool bCreateAdjacencyIndices, - bool bCopyStatic, SDKMESH_CALLBACKS11* pLoaderCallbacks ) -{ - return CreateFromMemory( pDev11, NULL, pData, DataBytes, bCreateAdjacencyIndices, bCopyStatic, - pLoaderCallbacks, NULL ); -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::Create( IDirect3DDevice9* pDev9, BYTE* pData, UINT DataBytes, bool bCreateAdjacencyIndices, - bool bCopyStatic, SDKMESH_CALLBACKS9* pLoaderCallbacks ) -{ - return CreateFromMemory( NULL, pDev9, pData, DataBytes, bCreateAdjacencyIndices, bCopyStatic, NULL, - pLoaderCallbacks ); -} //-------------------------------------------------------------------------------------- -HRESULT CDXUTSDKMesh::LoadAnimation( WCHAR* szFileName ) +HRESULT CDXUTSDKMesh::LoadAnimation( _In_z_ const WCHAR* szFileName ) { HRESULT hr = E_FAIL; DWORD dwBytesRead = 0; @@ -1040,32 +764,42 @@ HRESULT CDXUTSDKMesh::LoadAnimation( WCHAR* szFileName ) V_RETURN( DXUTFindDXSDKMediaFileCch( strPath, MAX_PATH, szFileName ) ); // Open the file - HANDLE hFile = CreateFile( strPath, FILE_READ_DATA, FILE_SHARE_READ, NULL, OPEN_EXISTING, - FILE_FLAG_SEQUENTIAL_SCAN, NULL ); + HANDLE hFile = CreateFile( strPath, FILE_READ_DATA, FILE_SHARE_READ, nullptr, OPEN_EXISTING, + FILE_FLAG_SEQUENTIAL_SCAN, nullptr ); if( INVALID_HANDLE_VALUE == hFile ) return DXUTERR_MEDIANOTFOUND; ///////////////////////// // Header SDKANIMATION_FILE_HEADER fileheader; - if( !ReadFile( hFile, &fileheader, sizeof( SDKANIMATION_FILE_HEADER ), &dwBytesRead, NULL ) ) - goto Error; + if( !ReadFile( hFile, &fileheader, sizeof( SDKANIMATION_FILE_HEADER ), &dwBytesRead, nullptr ) ) + { + CloseHandle(hFile); + return HRESULT_FROM_WIN32(GetLastError()); + } //allocate - m_pAnimationData = new BYTE[ ( size_t )( sizeof( SDKANIMATION_FILE_HEADER ) + fileheader.AnimationDataSize ) ]; + m_pAnimationData = new (std::nothrow) BYTE[ ( size_t )( sizeof( SDKANIMATION_FILE_HEADER ) + fileheader.AnimationDataSize ) ]; if( !m_pAnimationData ) { - hr = E_OUTOFMEMORY; - goto Error; + CloseHandle(hFile); + return E_OUTOFMEMORY; } // read it all in liMove.QuadPart = 0; - if( !SetFilePointerEx( hFile, liMove, NULL, FILE_BEGIN ) ) - goto Error; + if( !SetFilePointerEx( hFile, liMove, nullptr, FILE_BEGIN ) ) + { + CloseHandle(hFile); + return HRESULT_FROM_WIN32(GetLastError()); + } + if( !ReadFile( hFile, m_pAnimationData, ( DWORD )( sizeof( SDKANIMATION_FILE_HEADER ) + - fileheader.AnimationDataSize ), &dwBytesRead, NULL ) ) - goto Error; + fileheader.AnimationDataSize ), &dwBytesRead, nullptr ) ) + { + CloseHandle(hFile); + return HRESULT_FROM_WIN32(GetLastError()); + } // pointer fixup m_pAnimationHeader = ( SDKANIMATION_FILE_HEADER* )m_pAnimationData; @@ -1077,17 +811,14 @@ HRESULT CDXUTSDKMesh::LoadAnimation( WCHAR* szFileName ) m_pAnimationFrameData[i].pAnimationData = ( SDKANIMATION_DATA* )( m_pAnimationData + m_pAnimationFrameData[i].DataOffset + BaseOffset ); - SDKMESH_FRAME* pFrame = FindFrame( m_pAnimationFrameData[i].FrameName ); + auto pFrame = FindFrame( m_pAnimationFrameData[i].FrameName ); if( pFrame ) { pFrame->AnimationDataIndex = i; } } - hr = S_OK; -Error: - CloseHandle( hFile ); - return hr; + return S_OK; } //-------------------------------------------------------------------------------------- @@ -1102,18 +833,8 @@ void CDXUTSDKMesh::Destroy() { for( UINT64 m = 0; m < m_pMeshHeader->NumMaterials; m++ ) { - if( m_pDev9 ) - { - if( !IsErrorResource( m_pMaterialArray[m].pDiffuseTexture9 ) ) - SAFE_RELEASE( m_pMaterialArray[m].pDiffuseTexture9 ); - if( !IsErrorResource( m_pMaterialArray[m].pNormalTexture9 ) ) - SAFE_RELEASE( m_pMaterialArray[m].pNormalTexture9 ); - if( !IsErrorResource( m_pMaterialArray[m].pSpecularTexture9 ) ) - SAFE_RELEASE( m_pMaterialArray[m].pSpecularTexture9 ); - } - else if( m_pDev11 ) + if( m_pDev11 ) { - //ID3D11Resource* pRes = NULL; if( m_pMaterialArray[m].pDiffuseRV11 && !IsErrorResource( m_pMaterialArray[m].pDiffuseRV11 ) ) { //m_pMaterialArray[m].pDiffuseRV11->GetResource( &pRes ); @@ -1138,17 +859,14 @@ void CDXUTSDKMesh::Destroy() } } } - for( UINT64 i = 0; i < m_pMeshHeader->NumVertexBuffers; i++ ) { - if( !IsErrorResource( m_pVertexBufferArray[i].pVB9 ) ) - SAFE_RELEASE( m_pVertexBufferArray[i].pVB9 ); + SAFE_RELEASE( m_pVertexBufferArray[i].pVB11 ); } for( UINT64 i = 0; i < m_pMeshHeader->NumIndexBuffers; i++ ) { - if( !IsErrorResource( m_pIndexBufferArray[i].pIB9 ) ) - SAFE_RELEASE( m_pIndexBufferArray[i].pIB9 ); + SAFE_RELEASE( m_pIndexBufferArray[i].pIB11 ); } } @@ -1162,7 +880,7 @@ void CDXUTSDKMesh::Destroy() SAFE_DELETE_ARRAY( m_pAdjacencyIndexBufferArray ); SAFE_DELETE_ARRAY( m_pHeapData ); - m_pStaticMeshData = NULL; + m_pStaticMeshData = nullptr; SAFE_DELETE_ARRAY( m_pAnimationData ); SAFE_DELETE_ARRAY( m_pBindPoseFrameMatrices ); SAFE_DELETE_ARRAY( m_pTransformedFrameMatrices ); @@ -1171,45 +889,39 @@ void CDXUTSDKMesh::Destroy() SAFE_DELETE_ARRAY( m_ppVertices ); SAFE_DELETE_ARRAY( m_ppIndices ); - m_pMeshHeader = NULL; - m_pVertexBufferArray = NULL; - m_pIndexBufferArray = NULL; - m_pMeshArray = NULL; - m_pSubsetArray = NULL; - m_pFrameArray = NULL; - m_pMaterialArray = NULL; + m_pMeshHeader = nullptr; + m_pVertexBufferArray = nullptr; + m_pIndexBufferArray = nullptr; + m_pMeshArray = nullptr; + m_pSubsetArray = nullptr; + m_pFrameArray = nullptr; + m_pMaterialArray = nullptr; - m_pAnimationHeader = NULL; - m_pAnimationFrameData = NULL; + m_pAnimationHeader = nullptr; + m_pAnimationFrameData = nullptr; } -//-------------------------------------------------------------------------------------- -// transform the bind pose -//-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::TransformBindPose( D3DXMATRIX* pWorld ) -{ - TransformBindPoseFrame( 0, pWorld ); -} //-------------------------------------------------------------------------------------- // transform the mesh frames according to the animation for time fTime //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::TransformMesh( D3DXMATRIX* pWorld, double fTime ) +_Use_decl_annotations_ +void CDXUTSDKMesh::TransformMesh( CXMMATRIX world, double fTime ) { - if( m_pAnimationHeader == NULL || FTT_RELATIVE == m_pAnimationHeader->FrameTransformType ) + if( !m_pAnimationHeader || FTT_RELATIVE == m_pAnimationHeader->FrameTransformType ) { - TransformFrame( 0, pWorld, fTime ); + TransformFrame( 0, world, fTime ); // For each frame, move the transform to the bind pose, then // move it to the final position - D3DXMATRIX mInvBindPose; - D3DXMATRIX mFinal; for( UINT i = 0; i < m_pMeshHeader->NumFrames; i++ ) { - D3DXMatrixInverse( &mInvBindPose, NULL, &m_pBindPoseFrameMatrices[i] ); - mFinal = mInvBindPose * m_pTransformedFrameMatrices[i]; - m_pTransformedFrameMatrices[i] = mFinal; + XMMATRIX m = XMLoadFloat4x4( &m_pBindPoseFrameMatrices[i] ); + XMMATRIX mInvBindPose = XMMatrixInverse( nullptr, m ); + m = XMLoadFloat4x4( &m_pTransformedFrameMatrices[i] ); + XMMATRIX mFinal = mInvBindPose * m; + XMStoreFloat4x4( &m_pTransformedFrameMatrices[i], mFinal ); } } else if( FTT_ABSOLUTE == m_pAnimationHeader->FrameTransformType ) @@ -1221,6 +933,7 @@ void CDXUTSDKMesh::TransformMesh( D3DXMATRIX* pWorld, double fTime ) //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::Render( ID3D11DeviceContext* pd3dDeviceContext, UINT iDiffuseSlot, UINT iNormalSlot, @@ -1230,6 +943,7 @@ void CDXUTSDKMesh::Render( ID3D11DeviceContext* pd3dDeviceContext, } //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ void CDXUTSDKMesh::RenderAdjacent( ID3D11DeviceContext* pd3dDeviceContext, UINT iDiffuseSlot, UINT iNormalSlot, @@ -1240,18 +954,7 @@ void CDXUTSDKMesh::RenderAdjacent( ID3D11DeviceContext* pd3dDeviceContext, //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::Render( LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse, - D3DXHANDLE htxNormal, - D3DXHANDLE htxSpecular ) -{ - RenderFrame( 0, pd3dDevice, pEffect, hTechnique, htxDiffuse, htxNormal, htxSpecular ); -} - -//-------------------------------------------------------------------------------------- -D3D11_PRIMITIVE_TOPOLOGY CDXUTSDKMesh::GetPrimitiveType11( SDKMESH_PRIMITIVE_TYPE PrimType ) +D3D11_PRIMITIVE_TOPOLOGY CDXUTSDKMesh::GetPrimitiveType11( _In_ SDKMESH_PRIMITIVE_TYPE PrimType ) { D3D11_PRIMITIVE_TOPOLOGY retType = D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST; @@ -1290,7 +993,7 @@ D3D11_PRIMITIVE_TOPOLOGY CDXUTSDKMesh::GetPrimitiveType11( SDKMESH_PRIMITIVE_TYP } //-------------------------------------------------------------------------------------- -DXGI_FORMAT CDXUTSDKMesh::GetIBFormat11( UINT iMesh ) +DXGI_FORMAT CDXUTSDKMesh::GetIBFormat11( _In_ UINT iMesh ) const { switch( m_pIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].IndexType ) { @@ -1303,100 +1006,48 @@ DXGI_FORMAT CDXUTSDKMesh::GetIBFormat11( UINT iMesh ) } //-------------------------------------------------------------------------------------- -ID3D11Buffer* CDXUTSDKMesh::GetVB11( UINT iMesh, UINT iVB ) +ID3D11Buffer* CDXUTSDKMesh::GetVB11( _In_ UINT iMesh, _In_ UINT iVB ) const { return m_pVertexBufferArray[ m_pMeshArray[ iMesh ].VertexBuffers[iVB] ].pVB11; } //-------------------------------------------------------------------------------------- -ID3D11Buffer* CDXUTSDKMesh::GetIB11( UINT iMesh ) +ID3D11Buffer* CDXUTSDKMesh::GetIB11( _In_ UINT iMesh ) const { return m_pIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].pIB11; } -SDKMESH_INDEX_TYPE CDXUTSDKMesh::GetIndexType( UINT iMesh ) +SDKMESH_INDEX_TYPE CDXUTSDKMesh::GetIndexType( _In_ UINT iMesh ) const { return ( SDKMESH_INDEX_TYPE ) m_pIndexBufferArray[m_pMeshArray[ iMesh ].IndexBuffer].IndexType; } //-------------------------------------------------------------------------------------- -ID3D11Buffer* CDXUTSDKMesh::GetAdjIB11( UINT iMesh ) +ID3D11Buffer* CDXUTSDKMesh::GetAdjIB11( _In_ UINT iMesh ) const { return m_pAdjacencyIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].pIB11; } //-------------------------------------------------------------------------------------- -D3DPRIMITIVETYPE CDXUTSDKMesh::GetPrimitiveType9( SDKMESH_PRIMITIVE_TYPE PrimType ) +const char* CDXUTSDKMesh::GetMeshPathA() const { - D3DPRIMITIVETYPE retType = D3DPT_TRIANGLELIST; - - switch( PrimType ) - { - case PT_TRIANGLE_LIST: - retType = D3DPT_TRIANGLELIST; - break; - case PT_TRIANGLE_STRIP: - retType = D3DPT_TRIANGLESTRIP; - break; - case PT_LINE_LIST: - retType = D3DPT_LINELIST; - break; - case PT_LINE_STRIP: - retType = D3DPT_LINESTRIP; - break; - case PT_POINT_LIST: - retType = D3DPT_POINTLIST; - break; - }; - - return retType; + return m_strPath; } //-------------------------------------------------------------------------------------- -D3DFORMAT CDXUTSDKMesh::GetIBFormat9( UINT iMesh ) +const WCHAR* CDXUTSDKMesh::GetMeshPathW() const { - switch( m_pIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].IndexType ) - { - case IT_16BIT: - return D3DFMT_INDEX16; - case IT_32BIT: - return D3DFMT_INDEX32; - }; - return D3DFMT_INDEX16; + return m_strPathW; } //-------------------------------------------------------------------------------------- -IDirect3DVertexBuffer9* CDXUTSDKMesh::GetVB9( UINT iMesh, UINT iVB ) +UINT CDXUTSDKMesh::GetNumMeshes() const { - return m_pVertexBufferArray[ m_pMeshArray[ iMesh ].VertexBuffers[iVB] ].pVB9; + if( !m_pMeshHeader ) + return 0; + return m_pMeshHeader->NumMeshes; } //-------------------------------------------------------------------------------------- -IDirect3DIndexBuffer9* CDXUTSDKMesh::GetIB9( UINT iMesh ) -{ - return m_pIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].pIB9; -} - -//-------------------------------------------------------------------------------------- -char* CDXUTSDKMesh::GetMeshPathA() -{ - return m_strPath; -} - -//-------------------------------------------------------------------------------------- -WCHAR* CDXUTSDKMesh::GetMeshPathW() -{ - return m_strPathW; -} - -//-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumMeshes() -{ - if( !m_pMeshHeader ) - return 0; - return m_pMeshHeader->NumMeshes; -} - -//-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumMaterials() +UINT CDXUTSDKMesh::GetNumMaterials() const { if( !m_pMeshHeader ) return 0; @@ -1404,7 +1055,7 @@ UINT CDXUTSDKMesh::GetNumMaterials() } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumVBs() +UINT CDXUTSDKMesh::GetNumVBs() const { if( !m_pMeshHeader ) return 0; @@ -1412,7 +1063,7 @@ UINT CDXUTSDKMesh::GetNumVBs() } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumIBs() +UINT CDXUTSDKMesh::GetNumIBs() const { if( !m_pMeshHeader ) return 0; @@ -1420,86 +1071,74 @@ UINT CDXUTSDKMesh::GetNumIBs() } //-------------------------------------------------------------------------------------- -ID3D11Buffer* CDXUTSDKMesh::GetVB11At( UINT iVB ) +ID3D11Buffer* CDXUTSDKMesh::GetVB11At( _In_ UINT iVB ) const { return m_pVertexBufferArray[ iVB ].pVB11; } //-------------------------------------------------------------------------------------- -ID3D11Buffer* CDXUTSDKMesh::GetIB11At( UINT iIB ) +ID3D11Buffer* CDXUTSDKMesh::GetIB11At( _In_ UINT iIB ) const { return m_pIndexBufferArray[ iIB ].pIB11; } //-------------------------------------------------------------------------------------- -IDirect3DVertexBuffer9* CDXUTSDKMesh::GetVB9At( UINT iVB ) -{ - return m_pVertexBufferArray[ iVB ].pVB9; -} - -//-------------------------------------------------------------------------------------- -IDirect3DIndexBuffer9* CDXUTSDKMesh::GetIB9At( UINT iIB ) -{ - return m_pIndexBufferArray[ iIB ].pIB9; -} - -//-------------------------------------------------------------------------------------- -BYTE* CDXUTSDKMesh::GetRawVerticesAt( UINT iVB ) +BYTE* CDXUTSDKMesh::GetRawVerticesAt( _In_ UINT iVB ) const { return m_ppVertices[iVB]; } //-------------------------------------------------------------------------------------- -BYTE* CDXUTSDKMesh::GetRawIndicesAt( UINT iIB ) +BYTE* CDXUTSDKMesh::GetRawIndicesAt( _In_ UINT iIB ) const { return m_ppIndices[iIB]; } //-------------------------------------------------------------------------------------- -SDKMESH_MATERIAL* CDXUTSDKMesh::GetMaterial( UINT iMaterial ) +SDKMESH_MATERIAL* CDXUTSDKMesh::GetMaterial( _In_ UINT iMaterial ) const { return &m_pMaterialArray[ iMaterial ]; } //-------------------------------------------------------------------------------------- -SDKMESH_MESH* CDXUTSDKMesh::GetMesh( UINT iMesh ) +SDKMESH_MESH* CDXUTSDKMesh::GetMesh( _In_ UINT iMesh ) const { return &m_pMeshArray[ iMesh ]; } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumSubsets( UINT iMesh ) +UINT CDXUTSDKMesh::GetNumSubsets( _In_ UINT iMesh ) const { return m_pMeshArray[ iMesh ].NumSubsets; } //-------------------------------------------------------------------------------------- -SDKMESH_SUBSET* CDXUTSDKMesh::GetSubset( UINT iMesh, UINT iSubset ) +SDKMESH_SUBSET* CDXUTSDKMesh::GetSubset( _In_ UINT iMesh, _In_ UINT iSubset ) const { return &m_pSubsetArray[ m_pMeshArray[ iMesh ].pSubsets[iSubset] ]; } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetVertexStride( UINT iMesh, UINT iVB ) +UINT CDXUTSDKMesh::GetVertexStride( _In_ UINT iMesh, _In_ UINT iVB ) const { return ( UINT )m_pVertexBufferArray[ m_pMeshArray[ iMesh ].VertexBuffers[iVB] ].StrideBytes; } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumFrames() +UINT CDXUTSDKMesh::GetNumFrames() const { return m_pMeshHeader->NumFrames; } //-------------------------------------------------------------------------------------- -SDKMESH_FRAME* CDXUTSDKMesh::GetFrame( UINT iFrame ) +SDKMESH_FRAME* CDXUTSDKMesh::GetFrame( _In_ UINT iFrame ) const { assert( iFrame < m_pMeshHeader->NumFrames ); return &m_pFrameArray[ iFrame ]; } //-------------------------------------------------------------------------------------- -SDKMESH_FRAME* CDXUTSDKMesh::FindFrame( char* pszName ) +SDKMESH_FRAME* CDXUTSDKMesh::FindFrame( _In_z_ const char* pszName ) const { for( UINT i = 0; i < m_pMeshHeader->NumFrames; i++ ) { @@ -1508,35 +1147,35 @@ SDKMESH_FRAME* CDXUTSDKMesh::FindFrame( char* pszName ) return &m_pFrameArray[i]; } } - return NULL; + return nullptr; } //-------------------------------------------------------------------------------------- -UINT64 CDXUTSDKMesh::GetNumVertices( UINT iMesh, UINT iVB ) +UINT64 CDXUTSDKMesh::GetNumVertices( _In_ UINT iMesh, _In_ UINT iVB ) const { return m_pVertexBufferArray[ m_pMeshArray[ iMesh ].VertexBuffers[iVB] ].NumVertices; } //-------------------------------------------------------------------------------------- -UINT64 CDXUTSDKMesh::GetNumIndices( UINT iMesh ) +UINT64 CDXUTSDKMesh::GetNumIndices( _In_ UINT iMesh ) const { return m_pIndexBufferArray[ m_pMeshArray[ iMesh ].IndexBuffer ].NumIndices; } //-------------------------------------------------------------------------------------- -D3DXVECTOR3 CDXUTSDKMesh::GetMeshBBoxCenter( UINT iMesh ) +XMVECTOR CDXUTSDKMesh::GetMeshBBoxCenter( _In_ UINT iMesh ) const { - return m_pMeshArray[iMesh].BoundingBoxCenter; + return XMLoadFloat3( &m_pMeshArray[iMesh].BoundingBoxCenter ); } //-------------------------------------------------------------------------------------- -D3DXVECTOR3 CDXUTSDKMesh::GetMeshBBoxExtents( UINT iMesh ) +XMVECTOR CDXUTSDKMesh::GetMeshBBoxExtents( _In_ UINT iMesh ) const { - return m_pMeshArray[iMesh].BoundingBoxExtents; + return XMLoadFloat3( &m_pMeshArray[iMesh].BoundingBoxExtents ); } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetOutstandingResources() +UINT CDXUTSDKMesh::GetOutstandingResources() const { UINT outstandingResources = 0; if( !m_pMeshHeader ) @@ -1544,9 +1183,9 @@ UINT CDXUTSDKMesh::GetOutstandingResources() outstandingResources += GetOutstandingBufferResources(); - if( m_pDev11 ) - { - for( UINT i = 0; i < m_pMeshHeader->NumMaterials; i++ ) + if( m_pDev11 ) + { + for( UINT i = 0; i < m_pMeshHeader->NumMaterials; i++ ) { if( m_pMaterialArray[i].DiffuseTexture[0] != 0 ) { @@ -1566,54 +1205,18 @@ UINT CDXUTSDKMesh::GetOutstandingResources() outstandingResources ++; } } - } - else - { - for( UINT i = 0; i < m_pMeshHeader->NumMaterials; i++ ) - { - if( m_pMaterialArray[i].DiffuseTexture[0] != 0 ) - { - if( !m_pMaterialArray[i].pDiffuseTexture9 && !IsErrorResource( m_pMaterialArray[i].pDiffuseTexture9 ) ) - outstandingResources ++; - } - - if( m_pMaterialArray[i].NormalTexture[0] != 0 ) - { - if( !m_pMaterialArray[i].pNormalTexture9 && !IsErrorResource( m_pMaterialArray[i].pNormalTexture9 ) ) - outstandingResources ++; - } - - if( m_pMaterialArray[i].SpecularTexture[0] != 0 ) - { - if( !m_pMaterialArray[i].pSpecularTexture9 && - !IsErrorResource( m_pMaterialArray[i].pSpecularTexture9 ) ) - outstandingResources ++; - } - } } return outstandingResources; } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetOutstandingBufferResources() +UINT CDXUTSDKMesh::GetOutstandingBufferResources() const { UINT outstandingResources = 0; if( !m_pMeshHeader ) return 1; - for( UINT i = 0; i < m_pMeshHeader->NumVertexBuffers; i++ ) - { - if( !m_pVertexBufferArray[i].pVB9 && !IsErrorResource( m_pVertexBufferArray[i].pVB9 ) ) - outstandingResources ++; - } - - for( UINT i = 0; i < m_pMeshHeader->NumIndexBuffers; i++ ) - { - if( !m_pIndexBufferArray[i].pIB9 && !IsErrorResource( m_pIndexBufferArray[i].pIB9 ) ) - outstandingResources ++; - } - return outstandingResources; } @@ -1630,7 +1233,7 @@ bool CDXUTSDKMesh::CheckLoadDone() } //-------------------------------------------------------------------------------------- -bool CDXUTSDKMesh::IsLoaded() +bool CDXUTSDKMesh::IsLoaded() const { if( m_pStaticMeshData && !m_bLoading ) { @@ -1641,65 +1244,51 @@ bool CDXUTSDKMesh::IsLoaded() } //-------------------------------------------------------------------------------------- -bool CDXUTSDKMesh::IsLoading() +bool CDXUTSDKMesh::IsLoading() const { return m_bLoading; } //-------------------------------------------------------------------------------------- -void CDXUTSDKMesh::SetLoading( bool bLoading ) +void CDXUTSDKMesh::SetLoading( _In_ bool bLoading ) { m_bLoading = bLoading; } //-------------------------------------------------------------------------------------- -BOOL CDXUTSDKMesh::HadLoadingError() +BOOL CDXUTSDKMesh::HadLoadingError() const { - if( m_pMeshHeader ) - { - for( UINT i = 0; i < m_pMeshHeader->NumVertexBuffers; i++ ) - { - if( IsErrorResource( m_pVertexBufferArray[i].pVB9 ) ) - return TRUE; - } - - for( UINT i = 0; i < m_pMeshHeader->NumIndexBuffers; i++ ) - { - if( IsErrorResource( m_pIndexBufferArray[i].pIB9 ) ) - return TRUE; - } - } - return FALSE; } //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetNumInfluences( UINT iMesh ) +UINT CDXUTSDKMesh::GetNumInfluences( _In_ UINT iMesh ) const { return m_pMeshArray[iMesh].NumFrameInfluences; } //-------------------------------------------------------------------------------------- -const D3DXMATRIX* CDXUTSDKMesh::GetMeshInfluenceMatrix( UINT iMesh, UINT iInfluence ) +XMMATRIX CDXUTSDKMesh::GetMeshInfluenceMatrix( _In_ UINT iMesh, _In_ UINT iInfluence ) const { UINT iFrame = m_pMeshArray[iMesh].pFrameInfluences[ iInfluence ]; - return &m_pTransformedFrameMatrices[iFrame]; + return XMLoadFloat4x4( &m_pTransformedFrameMatrices[iFrame] ); } -const D3DXMATRIX* CDXUTSDKMesh::GetWorldMatrix( UINT iFrameIndex ) +XMMATRIX CDXUTSDKMesh::GetWorldMatrix( _In_ UINT iFrameIndex ) const { - return &m_pWorldPoseFrameMatrices[iFrameIndex]; + return XMLoadFloat4x4( &m_pWorldPoseFrameMatrices[iFrameIndex] ); } -const D3DXMATRIX* CDXUTSDKMesh::GetInfluenceMatrix( UINT iFrameIndex ) +XMMATRIX CDXUTSDKMesh::GetInfluenceMatrix( _In_ UINT iFrameIndex ) const { - return &m_pTransformedFrameMatrices[iFrameIndex]; + return XMLoadFloat4x4( &m_pTransformedFrameMatrices[iFrameIndex] ); } + //-------------------------------------------------------------------------------------- -UINT CDXUTSDKMesh::GetAnimationKeyFromTime( double fTime ) +UINT CDXUTSDKMesh::GetAnimationKeyFromTime( _In_ double fTime ) const { - if( m_pAnimationHeader == NULL ) + if( !m_pAnimationHeader ) { return 0; } @@ -1712,638 +1301,18 @@ UINT CDXUTSDKMesh::GetAnimationKeyFromTime( double fTime ) return iTick; } -bool CDXUTSDKMesh::GetAnimationProperties( UINT* pNumKeys, FLOAT* pFrameTime ) +_Use_decl_annotations_ +bool CDXUTSDKMesh::GetAnimationProperties( UINT* pNumKeys, float* pFrameTime ) const { - if( m_pAnimationHeader == NULL ) + if( !m_pAnimationHeader ) { + *pNumKeys = 0; + *pFrameTime = 0; return false; } *pNumKeys = m_pAnimationHeader->NumAnimationKeys; - *pFrameTime = 1.0f / (FLOAT)m_pAnimationHeader->AnimationFPS; + *pFrameTime = 1.0f / (float)m_pAnimationHeader->AnimationFPS; return true; } - - -//------------------------------------------------------------------------------------- -// CDXUTXFileMesh implementation. -//------------------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -CDXUTXFileMesh::CDXUTXFileMesh( LPCWSTR strName ) -{ - wcscpy_s( m_strName, 512, strName ); - m_pMesh = NULL; - m_pMaterials = NULL; - m_pTextures = NULL; - m_bUseMaterials = TRUE; - m_pVB = NULL; - m_pIB = NULL; - m_pDecl = NULL; - m_strMaterials = NULL; - m_dwNumMaterials = 0; - m_dwNumVertices = 0; - m_dwNumFaces = 0; - m_dwBytesPerVertex = 0; -} - - - - -//----------------------------------------------------------------------------- -CDXUTXFileMesh::~CDXUTXFileMesh() -{ - Destroy(); -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Create( LPDIRECT3DDEVICE9 pd3dDevice, LPCWSTR strFilename ) -{ - WCHAR strPath[MAX_PATH]; - LPD3DXBUFFER pAdjacencyBuffer = NULL; - LPD3DXBUFFER pMtrlBuffer = NULL; - HRESULT hr; - - // Cleanup previous mesh if any - Destroy(); - - // Find the path for the file, and convert it to ANSI (for the D3DX API) - DXUTFindDXSDKMediaFileCch( strPath, sizeof( strPath ) / sizeof( WCHAR ), strFilename ); - - // Load the mesh - if( FAILED( hr = D3DXLoadMeshFromX( strPath, D3DXMESH_MANAGED, pd3dDevice, - &pAdjacencyBuffer, &pMtrlBuffer, NULL, - &m_dwNumMaterials, &m_pMesh ) ) ) - { - return hr; - } - - // Optimize the mesh for performance - if( FAILED( hr = m_pMesh->OptimizeInplace( - D3DXMESHOPT_COMPACT | D3DXMESHOPT_ATTRSORT | D3DXMESHOPT_VERTEXCACHE, - ( DWORD* )pAdjacencyBuffer->GetBufferPointer(), NULL, NULL, NULL ) ) ) - { - SAFE_RELEASE( pAdjacencyBuffer ); - SAFE_RELEASE( pMtrlBuffer ); - return hr; - } - - // Set strPath to the path of the mesh file - WCHAR* pLastBSlash = wcsrchr( strPath, L'\\' ); - if( pLastBSlash ) - *( pLastBSlash + 1 ) = L'\0'; - else - *strPath = L'\0'; - - D3DXMATERIAL* d3dxMtrls = ( D3DXMATERIAL* )pMtrlBuffer->GetBufferPointer(); - hr = CreateMaterials( strPath, pd3dDevice, d3dxMtrls, m_dwNumMaterials ); - - SAFE_RELEASE( pAdjacencyBuffer ); - SAFE_RELEASE( pMtrlBuffer ); - - // Extract data from m_pMesh for easy access - D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE]; - m_dwNumVertices = m_pMesh->GetNumVertices(); - m_dwNumFaces = m_pMesh->GetNumFaces(); - m_dwBytesPerVertex = m_pMesh->GetNumBytesPerVertex(); - m_pMesh->GetIndexBuffer( &m_pIB ); - m_pMesh->GetVertexBuffer( &m_pVB ); - m_pMesh->GetDeclaration( decl ); - pd3dDevice->CreateVertexDeclaration( decl, &m_pDecl ); - - return hr; -} - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Create( LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXFILEDATA pFileData ) -{ - LPD3DXBUFFER pMtrlBuffer = NULL; - LPD3DXBUFFER pAdjacencyBuffer = NULL; - HRESULT hr; - - // Cleanup previous mesh if any - Destroy(); - - // Load the mesh from the DXFILEDATA object - if( FAILED( hr = D3DXLoadMeshFromXof( pFileData, D3DXMESH_MANAGED, pd3dDevice, - &pAdjacencyBuffer, &pMtrlBuffer, NULL, - &m_dwNumMaterials, &m_pMesh ) ) ) - { - return hr; - } - - // Optimize the mesh for performance - if( FAILED( hr = m_pMesh->OptimizeInplace( - D3DXMESHOPT_COMPACT | D3DXMESHOPT_ATTRSORT | D3DXMESHOPT_VERTEXCACHE, - ( DWORD* )pAdjacencyBuffer->GetBufferPointer(), NULL, NULL, NULL ) ) ) - { - SAFE_RELEASE( pAdjacencyBuffer ); - SAFE_RELEASE( pMtrlBuffer ); - return hr; - } - - D3DXMATERIAL* d3dxMtrls = ( D3DXMATERIAL* )pMtrlBuffer->GetBufferPointer(); - hr = CreateMaterials( L"", pd3dDevice, d3dxMtrls, m_dwNumMaterials ); - - SAFE_RELEASE( pAdjacencyBuffer ); - SAFE_RELEASE( pMtrlBuffer ); - - // Extract data from m_pMesh for easy access - D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE]; - m_dwNumVertices = m_pMesh->GetNumVertices(); - m_dwNumFaces = m_pMesh->GetNumFaces(); - m_dwBytesPerVertex = m_pMesh->GetNumBytesPerVertex(); - m_pMesh->GetIndexBuffer( &m_pIB ); - m_pMesh->GetVertexBuffer( &m_pVB ); - m_pMesh->GetDeclaration( decl ); - pd3dDevice->CreateVertexDeclaration( decl, &m_pDecl ); - - return hr; -} - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Create( LPDIRECT3DDEVICE9 pd3dDevice, ID3DXMesh* pInMesh, - D3DXMATERIAL* pd3dxMaterials, DWORD dwMaterials ) -{ - // Cleanup previous mesh if any - Destroy(); - - // Optimize the mesh for performance - DWORD* rgdwAdjacency = NULL; - rgdwAdjacency = new DWORD[pInMesh->GetNumFaces() * 3]; - if( rgdwAdjacency == NULL ) - return E_OUTOFMEMORY; - pInMesh->GenerateAdjacency( 1e-6f, rgdwAdjacency ); - - D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE]; - pInMesh->GetDeclaration( decl ); - - DWORD dwOptions = pInMesh->GetOptions(); - dwOptions &= ~( D3DXMESH_32BIT | D3DXMESH_SYSTEMMEM | D3DXMESH_WRITEONLY ); - dwOptions |= D3DXMESH_MANAGED; - dwOptions |= D3DXMESHOPT_COMPACT | D3DXMESHOPT_ATTRSORT | D3DXMESHOPT_VERTEXCACHE; - - ID3DXMesh* pTempMesh = NULL; - if( FAILED( pInMesh->Optimize( dwOptions, rgdwAdjacency, NULL, NULL, NULL, &pTempMesh ) ) ) - { - SAFE_DELETE_ARRAY( rgdwAdjacency ); - return E_FAIL; - } - - SAFE_DELETE_ARRAY( rgdwAdjacency ); - SAFE_RELEASE( m_pMesh ); - m_pMesh = pTempMesh; - - HRESULT hr; - hr = CreateMaterials( L"", pd3dDevice, pd3dxMaterials, dwMaterials ); - - // Extract data from m_pMesh for easy access - m_dwNumVertices = m_pMesh->GetNumVertices(); - m_dwNumFaces = m_pMesh->GetNumFaces(); - m_dwBytesPerVertex = m_pMesh->GetNumBytesPerVertex(); - m_pMesh->GetIndexBuffer( &m_pIB ); - m_pMesh->GetVertexBuffer( &m_pVB ); - m_pMesh->GetDeclaration( decl ); - pd3dDevice->CreateVertexDeclaration( decl, &m_pDecl ); - - return hr; -} - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::CreateMaterials( LPCWSTR strPath, IDirect3DDevice9* pd3dDevice, D3DXMATERIAL* d3dxMtrls, - DWORD dwNumMaterials ) -{ - // Get material info for the mesh - // Get the array of materials out of the buffer - m_dwNumMaterials = dwNumMaterials; - if( d3dxMtrls && m_dwNumMaterials > 0 ) - { - // Allocate memory for the materials and textures - m_pMaterials = new D3DMATERIAL9[m_dwNumMaterials]; - if( m_pMaterials == NULL ) - return E_OUTOFMEMORY; - m_pTextures = new LPDIRECT3DBASETEXTURE9[m_dwNumMaterials]; - if( m_pTextures == NULL ) - return E_OUTOFMEMORY; - m_strMaterials = new CHAR[m_dwNumMaterials][MAX_PATH]; - if( m_strMaterials == NULL ) - return E_OUTOFMEMORY; - - // Copy each material and create its texture - for( DWORD i = 0; i < m_dwNumMaterials; i++ ) - { - // Copy the material - m_pMaterials[i] = d3dxMtrls[i].MatD3D; - m_pTextures[i] = NULL; - - // Create a texture - if( d3dxMtrls[i].pTextureFilename ) - { - strcpy_s( m_strMaterials[i], MAX_PATH, d3dxMtrls[i].pTextureFilename ); - - WCHAR strTexture[MAX_PATH]; - WCHAR strTextureTemp[MAX_PATH]; - D3DXIMAGE_INFO ImgInfo; - - // First attempt to look for texture in the same folder as the input folder. - MultiByteToWideChar( CP_ACP, 0, d3dxMtrls[i].pTextureFilename, -1, strTextureTemp, MAX_PATH ); - strTextureTemp[MAX_PATH - 1] = 0; - - wcscpy_s( strTexture, MAX_PATH, strPath ); - wcscat_s( strTexture, MAX_PATH, strTextureTemp ); - - // Inspect the texture file to determine the texture type. - if( FAILED( D3DXGetImageInfoFromFile( strTexture, &ImgInfo ) ) ) - { - // Search the media folder - if( FAILED( DXUTFindDXSDKMediaFileCch( strTexture, MAX_PATH, strTextureTemp ) ) ) - continue; // Can't find. Skip. - - D3DXGetImageInfoFromFile( strTexture, &ImgInfo ); - } - - // Call the appropriate loader according to the texture type. - switch( ImgInfo.ResourceType ) - { - case D3DRTYPE_TEXTURE: - { - IDirect3DTexture9* pTex; - if( SUCCEEDED( D3DXCreateTextureFromFile( pd3dDevice, strTexture, &pTex ) ) ) - { - // Obtain the base texture interface - pTex->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&m_pTextures[i] ); - // Release the specialized instance - pTex->Release(); - } - break; - } - case D3DRTYPE_CUBETEXTURE: - { - IDirect3DCubeTexture9* pTex; - if( SUCCEEDED( D3DXCreateCubeTextureFromFile( pd3dDevice, strTexture, &pTex ) ) ) - { - // Obtain the base texture interface - pTex->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&m_pTextures[i] ); - // Release the specialized instance - pTex->Release(); - } - break; - } - case D3DRTYPE_VOLUMETEXTURE: - { - IDirect3DVolumeTexture9* pTex; - if( SUCCEEDED( D3DXCreateVolumeTextureFromFile( pd3dDevice, strTexture, &pTex ) ) ) - { - // Obtain the base texture interface - pTex->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&m_pTextures[i] ); - // Release the specialized instance - pTex->Release(); - } - break; - } - } - } - } - } - return S_OK; -} - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::SetFVF( LPDIRECT3DDEVICE9 pd3dDevice, DWORD dwFVF ) -{ - LPD3DXMESH pTempMesh = NULL; - - if( m_pMesh ) - { - if( FAILED( m_pMesh->CloneMeshFVF( m_pMesh->GetOptions(), dwFVF, - pd3dDevice, &pTempMesh ) ) ) - { - SAFE_RELEASE( pTempMesh ); - return E_FAIL; - } - - DWORD dwOldFVF = 0; - dwOldFVF = m_pMesh->GetFVF(); - SAFE_RELEASE( m_pMesh ); - m_pMesh = pTempMesh; - - // Compute normals if they are being requested and - // the old mesh does not have them. - if( !( dwOldFVF & D3DFVF_NORMAL ) && dwFVF & D3DFVF_NORMAL ) - { - D3DXComputeNormals( m_pMesh, NULL ); - } - } - - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -// Convert the mesh to the format specified by the given vertex declarations. -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::SetVertexDecl( LPDIRECT3DDEVICE9 pd3dDevice, const D3DVERTEXELEMENT9* pDecl, - bool bAutoComputeNormals, bool bAutoComputeTangents, - bool bSplitVertexForOptimalTangents ) -{ - LPD3DXMESH pTempMesh = NULL; - - if( m_pMesh ) - { - if( FAILED( m_pMesh->CloneMesh( m_pMesh->GetOptions(), pDecl, - pd3dDevice, &pTempMesh ) ) ) - { - SAFE_RELEASE( pTempMesh ); - return E_FAIL; - } - } - - - // Check if the old declaration contains a normal. - bool bHadNormal = false; - bool bHadTangent = false; - D3DVERTEXELEMENT9 aOldDecl[MAX_FVF_DECL_SIZE]; - if( m_pMesh && SUCCEEDED( m_pMesh->GetDeclaration( aOldDecl ) ) ) - { - for( UINT index = 0; index < D3DXGetDeclLength( aOldDecl ); ++index ) - { - if( aOldDecl[index].Usage == D3DDECLUSAGE_NORMAL ) - { - bHadNormal = true; - } - if( aOldDecl[index].Usage == D3DDECLUSAGE_TANGENT ) - { - bHadTangent = true; - } - } - } - - // Check if the new declaration contains a normal. - bool bHaveNormalNow = false; - bool bHaveTangentNow = false; - D3DVERTEXELEMENT9 aNewDecl[MAX_FVF_DECL_SIZE]; - if( pTempMesh && SUCCEEDED( pTempMesh->GetDeclaration( aNewDecl ) ) ) - { - for( UINT index = 0; index < D3DXGetDeclLength( aNewDecl ); ++index ) - { - if( aNewDecl[index].Usage == D3DDECLUSAGE_NORMAL ) - { - bHaveNormalNow = true; - } - if( aNewDecl[index].Usage == D3DDECLUSAGE_TANGENT ) - { - bHaveTangentNow = true; - } - } - } - - SAFE_RELEASE( m_pMesh ); - - if( pTempMesh ) - { - m_pMesh = pTempMesh; - - if( !bHadNormal && bHaveNormalNow && bAutoComputeNormals ) - { - // Compute normals in case the meshes have them - D3DXComputeNormals( m_pMesh, NULL ); - } - - if( bHaveNormalNow && !bHadTangent && bHaveTangentNow && bAutoComputeTangents ) - { - ID3DXMesh* pNewMesh; - HRESULT hr; - - DWORD* rgdwAdjacency = NULL; - rgdwAdjacency = new DWORD[m_pMesh->GetNumFaces() * 3]; - if( rgdwAdjacency == NULL ) - return E_OUTOFMEMORY; - V( m_pMesh->GenerateAdjacency( 1e-6f, rgdwAdjacency ) ); - - float fPartialEdgeThreshold; - float fSingularPointThreshold; - float fNormalEdgeThreshold; - if( bSplitVertexForOptimalTangents ) - { - fPartialEdgeThreshold = 0.01f; - fSingularPointThreshold = 0.25f; - fNormalEdgeThreshold = 0.01f; - } - else - { - fPartialEdgeThreshold = -1.01f; - fSingularPointThreshold = 0.01f; - fNormalEdgeThreshold = -1.01f; - } - - // Compute tangents, which are required for normal mapping - hr = D3DXComputeTangentFrameEx( m_pMesh, - D3DDECLUSAGE_TEXCOORD, 0, - D3DDECLUSAGE_TANGENT, 0, - D3DX_DEFAULT, 0, - D3DDECLUSAGE_NORMAL, 0, - 0, rgdwAdjacency, - fPartialEdgeThreshold, fSingularPointThreshold, fNormalEdgeThreshold, - &pNewMesh, NULL ); - - SAFE_DELETE_ARRAY( rgdwAdjacency ); - if( FAILED( hr ) ) - return hr; - - SAFE_RELEASE( m_pMesh ); - m_pMesh = pNewMesh; - } - } - - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::RestoreDeviceObjects( LPDIRECT3DDEVICE9 pd3dDevice ) -{ - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::InvalidateDeviceObjects() -{ - SAFE_RELEASE( m_pIB ); - SAFE_RELEASE( m_pVB ); - SAFE_RELEASE( m_pDecl ); - - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Destroy() -{ - InvalidateDeviceObjects(); - for( UINT i = 0; i < m_dwNumMaterials; i++ ) - SAFE_RELEASE( m_pTextures[i] ); - SAFE_DELETE_ARRAY( m_pTextures ); - SAFE_DELETE_ARRAY( m_pMaterials ); - SAFE_DELETE_ARRAY( m_strMaterials ); - - SAFE_RELEASE( m_pMesh ); - - m_dwNumMaterials = 0L; - - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Render( LPDIRECT3DDEVICE9 pd3dDevice, bool bDrawOpaqueSubsets, - bool bDrawAlphaSubsets ) -{ - if( NULL == m_pMesh ) - return E_FAIL; - - // Frist, draw the subsets without alpha - if( bDrawOpaqueSubsets ) - { - for( DWORD i = 0; i < m_dwNumMaterials; i++ ) - { - if( m_bUseMaterials ) - { - if( m_pMaterials[i].Diffuse.a < 1.0f ) - continue; - pd3dDevice->SetMaterial( &m_pMaterials[i] ); - pd3dDevice->SetTexture( 0, m_pTextures[i] ); - } - m_pMesh->DrawSubset( i ); - } - } - - // Then, draw the subsets with alpha - if( bDrawAlphaSubsets && m_bUseMaterials ) - { - for( DWORD i = 0; i < m_dwNumMaterials; i++ ) - { - if( m_pMaterials[i].Diffuse.a == 1.0f ) - continue; - - // Set the material and texture - pd3dDevice->SetMaterial( &m_pMaterials[i] ); - pd3dDevice->SetTexture( 0, m_pTextures[i] ); - m_pMesh->DrawSubset( i ); - } - } - - return S_OK; -} - - - - -//----------------------------------------------------------------------------- -HRESULT CDXUTXFileMesh::Render( ID3DXEffect* pEffect, - D3DXHANDLE hTexture, - D3DXHANDLE hDiffuse, - D3DXHANDLE hAmbient, - D3DXHANDLE hSpecular, - D3DXHANDLE hEmissive, - D3DXHANDLE hPower, - bool bDrawOpaqueSubsets, - bool bDrawAlphaSubsets ) -{ - if( NULL == m_pMesh ) - return E_FAIL; - - UINT cPasses; - // Frist, draw the subsets without alpha - if( bDrawOpaqueSubsets ) - { - pEffect->Begin( &cPasses, 0 ); - for( UINT p = 0; p < cPasses; ++p ) - { - pEffect->BeginPass( p ); - for( DWORD i = 0; i < m_dwNumMaterials; i++ ) - { - if( m_bUseMaterials ) - { - if( m_pMaterials[i].Diffuse.a < 1.0f ) - continue; - if( hTexture ) - pEffect->SetTexture( hTexture, m_pTextures[i] ); - // D3DCOLORVALUE and D3DXVECTOR4 are data-wise identical. - // No conversion is needed. - if( hDiffuse ) - pEffect->SetVector( hDiffuse, ( D3DXVECTOR4* )&m_pMaterials[i].Diffuse ); - if( hAmbient ) - pEffect->SetVector( hAmbient, ( D3DXVECTOR4* )&m_pMaterials[i].Ambient ); - if( hSpecular ) - pEffect->SetVector( hSpecular, ( D3DXVECTOR4* )&m_pMaterials[i].Specular ); - if( hEmissive ) - pEffect->SetVector( hEmissive, ( D3DXVECTOR4* )&m_pMaterials[i].Emissive ); - if( hPower ) - pEffect->SetFloat( hPower, m_pMaterials[i].Power ); - pEffect->CommitChanges(); - } - m_pMesh->DrawSubset( i ); - } - pEffect->EndPass(); - } - pEffect->End(); - } - - // Then, draw the subsets with alpha - if( bDrawAlphaSubsets && m_bUseMaterials ) - { - pEffect->Begin( &cPasses, 0 ); - for( UINT p = 0; p < cPasses; ++p ) - { - pEffect->BeginPass( p ); - for( DWORD i = 0; i < m_dwNumMaterials; i++ ) - { - if( m_bUseMaterials ) - { - if( m_pMaterials[i].Diffuse.a == 1.0f ) - continue; - if( hTexture ) - pEffect->SetTexture( hTexture, m_pTextures[i] ); - // D3DCOLORVALUE and D3DXVECTOR4 are data-wise identical. - // No conversion is needed. - if( hDiffuse ) - pEffect->SetVector( hDiffuse, ( D3DXVECTOR4* )&m_pMaterials[i].Diffuse ); - if( hAmbient ) - pEffect->SetVector( hAmbient, ( D3DXVECTOR4* )&m_pMaterials[i].Ambient ); - if( hSpecular ) - pEffect->SetVector( hSpecular, ( D3DXVECTOR4* )&m_pMaterials[i].Specular ); - if( hEmissive ) - pEffect->SetVector( hEmissive, ( D3DXVECTOR4* )&m_pMaterials[i].Emissive ); - if( hPower ) - pEffect->SetFloat( hPower, m_pMaterials[i].Power ); - pEffect->CommitChanges(); - } - m_pMesh->DrawSubset( i ); - } - pEffect->EndPass(); - } - pEffect->End(); - } - - return S_OK; -} diff --git a/FriedLiver/Source/DXUT/Optional/SDKmesh.h b/FriedLiver/Source/DXUT/Optional/SDKmesh.h index 79a41d0a..bed6cad2 100644 --- a/FriedLiver/Source/DXUT/Optional/SDKmesh.h +++ b/FriedLiver/Source/DXUT/Optional/SDKmesh.h @@ -8,10 +8,14 @@ // meets the specific needs of the application. // // Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef _SDKMESH_ -#define _SDKMESH_ + +#undef D3DCOLOR_ARGB +#include //-------------------------------------------------------------------------------------- // Hard Defines for the various structures @@ -40,7 +44,7 @@ template BOOL IsErrorResource( TYPE data ) return FALSE; } //-------------------------------------------------------------------------------------- -// Enumerated Types. These will have mirrors in both D3D9 and D3D11 +// Enumerated Types. //-------------------------------------------------------------------------------------- enum SDKMESH_PRIMITIVE_TYPE { @@ -72,6 +76,8 @@ enum FRAME_TRANSFORM_TYPE //-------------------------------------------------------------------------------------- // Structures. Unions with pointers are forced to 64bit. //-------------------------------------------------------------------------------------- +#pragma pack(push,8) + struct SDKMESH_HEADER { //Basic Info and sizes @@ -107,7 +113,6 @@ struct SDKMESH_VERTEX_BUFFER_HEADER union { UINT64 DataOffset; //(This also forces the union to 64bits) - IDirect3DVertexBuffer9* pVB9; ID3D11Buffer* pVB11; }; }; @@ -120,7 +125,6 @@ struct SDKMESH_INDEX_BUFFER_HEADER union { UINT64 DataOffset; //(This also forces the union to 64bits) - IDirect3DIndexBuffer9* pIB9; ID3D11Buffer* pIB11; }; }; @@ -134,8 +138,8 @@ struct SDKMESH_MESH UINT NumSubsets; UINT NumFrameInfluences; //aka bones - D3DXVECTOR3 BoundingBoxCenter; - D3DXVECTOR3 BoundingBoxExtents; + DirectX::XMFLOAT3 BoundingBoxCenter; + DirectX::XMFLOAT3 BoundingBoxExtents; union { @@ -167,7 +171,7 @@ struct SDKMESH_FRAME UINT ParentFrame; UINT ChildFrame; UINT SiblingFrame; - D3DXMATRIX Matrix; + DirectX::XMFLOAT4X4 Matrix; UINT AnimationDataIndex; //Used to index which set of keyframes transforms this frame }; @@ -183,28 +187,25 @@ struct SDKMESH_MATERIAL char NormalTexture[MAX_TEXTURE_NAME]; char SpecularTexture[MAX_TEXTURE_NAME]; - D3DXVECTOR4 Diffuse; - D3DXVECTOR4 Ambient; - D3DXVECTOR4 Specular; - D3DXVECTOR4 Emissive; - FLOAT Power; + DirectX::XMFLOAT4 Diffuse; + DirectX::XMFLOAT4 Ambient; + DirectX::XMFLOAT4 Specular; + DirectX::XMFLOAT4 Emissive; + float Power; union { UINT64 Force64_1; //Force the union to 64bits - IDirect3DTexture9* pDiffuseTexture9; ID3D11Texture2D* pDiffuseTexture11; }; union { UINT64 Force64_2; //Force the union to 64bits - IDirect3DTexture9* pNormalTexture9; ID3D11Texture2D* pNormalTexture11; }; union { UINT64 Force64_3; //Force the union to 64bits - IDirect3DTexture9* pSpecularTexture9; ID3D11Texture2D* pSpecularTexture11; }; @@ -240,9 +241,9 @@ struct SDKANIMATION_FILE_HEADER struct SDKANIMATION_DATA { - D3DXVECTOR3 Translation; - D3DXVECTOR4 Orientation; - D3DXVECTOR3 Scaling; + DirectX::XMFLOAT3 Translation; + DirectX::XMFLOAT4 Orientation; + DirectX::XMFLOAT3 Scaling; }; struct SDKANIMATION_FRAME_DATA @@ -255,34 +256,31 @@ struct SDKANIMATION_FRAME_DATA }; }; +#pragma pack(pop) + +static_assert( sizeof(D3DVERTEXELEMENT9) == 8, "Direct3D9 Decl structure size incorrect" ); +static_assert( sizeof(SDKMESH_HEADER)== 104, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_VERTEX_BUFFER_HEADER) == 288, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_INDEX_BUFFER_HEADER) == 32, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_MESH) == 224, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_SUBSET) == 144, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_FRAME) == 184, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKMESH_MATERIAL) == 1256, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKANIMATION_FILE_HEADER) == 40, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKANIMATION_DATA) == 40, "SDK Mesh structure size incorrect" ); +static_assert( sizeof(SDKANIMATION_FRAME_DATA) == 112, "SDK Mesh structure size incorrect" ); + #ifndef _CONVERTER_APP_ //-------------------------------------------------------------------------------------- // AsyncLoading callbacks //-------------------------------------------------------------------------------------- -typedef void ( CALLBACK*LPCREATETEXTUREFROMFILE9 )( IDirect3DDevice9* pDev, char* szFileName, - IDirect3DTexture9** ppTexture, void* pContext ); -typedef void ( CALLBACK*LPCREATEVERTEXBUFFER9 )( IDirect3DDevice9* pDev, IDirect3DVertexBuffer9** ppBuffer, - UINT iSizeBytes, DWORD Usage, DWORD FVF, D3DPOOL Pool, void* pData, - void* pContext ); -typedef void ( CALLBACK*LPCREATEINDEXBUFFER9 )( IDirect3DDevice9* pDev, IDirect3DIndexBuffer9** ppBuffer, - UINT iSizeBytes, DWORD Usage, D3DFORMAT ibFormat, D3DPOOL Pool, - void* pData, void* pContext ); -struct SDKMESH_CALLBACKS9 -{ - LPCREATETEXTUREFROMFILE9 pCreateTextureFromFile; - LPCREATEVERTEXBUFFER9 pCreateVertexBuffer; - LPCREATEINDEXBUFFER9 pCreateIndexBuffer; - void* pContext; -}; - - -typedef void ( CALLBACK*LPCREATETEXTUREFROMFILE11 )( ID3D11Device* pDev, char* szFileName, - ID3D11ShaderResourceView** ppRV, void* pContext ); -typedef void ( CALLBACK*LPCREATEVERTEXBUFFER11 )( ID3D11Device* pDev, ID3D11Buffer** ppBuffer, - D3D11_BUFFER_DESC BufferDesc, void* pData, void* pContext ); -typedef void ( CALLBACK*LPCREATEINDEXBUFFER11 )( ID3D11Device* pDev, ID3D11Buffer** ppBuffer, - D3D11_BUFFER_DESC BufferDesc, void* pData, void* pContext ); +typedef void ( CALLBACK*LPCREATETEXTUREFROMFILE11 )( _In_ ID3D11Device* pDev, _In_z_ char* szFileName, + _Outptr_ ID3D11ShaderResourceView** ppRV, _In_opt_ void* pContext ); +typedef void ( CALLBACK*LPCREATEVERTEXBUFFER11 )( _In_ ID3D11Device* pDev, _Outptr_ ID3D11Buffer** ppBuffer, + _In_ D3D11_BUFFER_DESC BufferDesc, _In_ void* pData, _In_opt_ void* pContext ); +typedef void ( CALLBACK*LPCREATEINDEXBUFFER11 )( _In_ ID3D11Device* pDev, _Outptr_ ID3D11Buffer** ppBuffer, + _In_ D3D11_BUFFER_DESC BufferDesc, _In_ void* pData, _In_opt_ void* pContext ); struct SDKMESH_CALLBACKS11 { LPCREATETEXTUREFROMFILE11 pCreateTextureFromFile; @@ -302,8 +300,7 @@ class CDXUTSDKMesh //BYTE* m_pBufferData; HANDLE m_hFile; HANDLE m_hFileMappingObject; - CGrowableArray m_MappedPointers; - IDirect3DDevice9* m_pDev9; + std::vector m_MappedPointers; ID3D11Device* m_pDev11; ID3D11DeviceContext* m_pDevContext11; @@ -331,259 +328,129 @@ class CDXUTSDKMesh // Adjacency information (not part of the m_pStaticMeshData, so it must be created and destroyed separately ) SDKMESH_INDEX_BUFFER_HEADER* m_pAdjacencyIndexBufferArray; - //Animation (TODO: Add ability to load/track multiple animation sets) + //Animation SDKANIMATION_FILE_HEADER* m_pAnimationHeader; SDKANIMATION_FRAME_DATA* m_pAnimationFrameData; - D3DXMATRIX* m_pBindPoseFrameMatrices; - D3DXMATRIX* m_pTransformedFrameMatrices; - D3DXMATRIX* m_pWorldPoseFrameMatrices; + DirectX::XMFLOAT4X4* m_pBindPoseFrameMatrices; + DirectX::XMFLOAT4X4* m_pTransformedFrameMatrices; + DirectX::XMFLOAT4X4* m_pWorldPoseFrameMatrices; protected: - void LoadMaterials( ID3D11Device* pd3dDevice, SDKMESH_MATERIAL* pMaterials, - UINT NumMaterials, SDKMESH_CALLBACKS11* pLoaderCallbacks=NULL ); - - void LoadMaterials( IDirect3DDevice9* pd3dDevice, SDKMESH_MATERIAL* pMaterials, - UINT NumMaterials, SDKMESH_CALLBACKS9* pLoaderCallbacks=NULL ); - - HRESULT CreateVertexBuffer( ID3D11Device* pd3dDevice, - SDKMESH_VERTEX_BUFFER_HEADER* pHeader, void* pVertices, - SDKMESH_CALLBACKS11* pLoaderCallbacks=NULL ); - HRESULT CreateVertexBuffer( IDirect3DDevice9* pd3dDevice, - SDKMESH_VERTEX_BUFFER_HEADER* pHeader, void* pVertices, - SDKMESH_CALLBACKS9* pLoaderCallbacks=NULL ); - - HRESULT CreateIndexBuffer( ID3D11Device* pd3dDevice, SDKMESH_INDEX_BUFFER_HEADER* pHeader, - void* pIndices, SDKMESH_CALLBACKS11* pLoaderCallbacks=NULL ); - HRESULT CreateIndexBuffer( IDirect3DDevice9* pd3dDevice, - SDKMESH_INDEX_BUFFER_HEADER* pHeader, void* pIndices, - SDKMESH_CALLBACKS9* pLoaderCallbacks=NULL ); - - virtual HRESULT CreateFromFile( ID3D11Device* pDev11, - IDirect3DDevice9* pDev9, - LPCTSTR szFileName, - bool bCreateAdjacencyIndices, - SDKMESH_CALLBACKS11* pLoaderCallbacks11 = NULL, - SDKMESH_CALLBACKS9* pLoaderCallbacks9 = NULL ); - - virtual HRESULT CreateFromMemory( ID3D11Device* pDev11, - IDirect3DDevice9* pDev9, - BYTE* pData, - UINT DataBytes, - bool bCreateAdjacencyIndices, - bool bCopyStatic, - SDKMESH_CALLBACKS11* pLoaderCallbacks11 = NULL, - SDKMESH_CALLBACKS9* pLoaderCallbacks9 = NULL ); + void LoadMaterials( _In_ ID3D11Device* pd3dDevice, _In_reads_(NumMaterials) SDKMESH_MATERIAL* pMaterials, + _In_ UINT NumMaterials, _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks = nullptr ); + + HRESULT CreateVertexBuffer( _In_ ID3D11Device* pd3dDevice, + _In_ SDKMESH_VERTEX_BUFFER_HEADER* pHeader, _In_reads_(pHeader->SizeBytes) void* pVertices, + _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks = nullptr ); + + HRESULT CreateIndexBuffer( _In_ ID3D11Device* pd3dDevice, + _In_ SDKMESH_INDEX_BUFFER_HEADER* pHeader, _In_reads_(pHeader->SizeBytes) void* pIndices, + _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks = nullptr ); + + virtual HRESULT CreateFromFile( _In_opt_ ID3D11Device* pDev11, + _In_z_ LPCWSTR szFileName, + _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks11 = nullptr ); + + virtual HRESULT CreateFromMemory( _In_opt_ ID3D11Device* pDev11, + _In_reads_(DataBytes) BYTE* pData, + _In_ size_t DataBytes, + _In_ bool bCopyStatic, + _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks11 = nullptr ); //frame manipulation - void TransformBindPoseFrame( UINT iFrame, D3DXMATRIX* pParentWorld ); - void TransformFrame( UINT iFrame, D3DXMATRIX* pParentWorld, double fTime ); - void TransformFrameAbsolute( UINT iFrame, double fTime ); + void TransformBindPoseFrame( _In_ UINT iFrame, _In_ DirectX::CXMMATRIX parentWorld ); + void TransformFrame( _In_ UINT iFrame, _In_ DirectX::CXMMATRIX parentWorld, _In_ double fTime ); + void TransformFrameAbsolute( _In_ UINT iFrame, _In_ double fTime ); //Direct3D 11 rendering helpers - void RenderMesh( UINT iMesh, - bool bAdjacent, - ID3D11DeviceContext* pd3dDeviceContext, - UINT iDiffuseSlot, - UINT iNormalSlot, - UINT iSpecularSlot ); - void RenderFrame( UINT iFrame, - bool bAdjacent, - ID3D11DeviceContext* pd3dDeviceContext, - UINT iDiffuseSlot, - UINT iNormalSlot, - UINT iSpecularSlot ); - - - //Direct3D 9 rendering helpers - void RenderMesh( UINT iMesh, - LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse, - D3DXHANDLE htxNormal, - D3DXHANDLE htxSpecular ); - void RenderFrame( UINT iFrame, - LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse, - D3DXHANDLE htxNormal, - D3DXHANDLE htxSpecular ); + void RenderMesh( _In_ UINT iMesh, + _In_ bool bAdjacent, + _In_ ID3D11DeviceContext* pd3dDeviceContext, + _In_ UINT iDiffuseSlot, + _In_ UINT iNormalSlot, + _In_ UINT iSpecularSlot ); + void RenderFrame( _In_ UINT iFrame, + _In_ bool bAdjacent, + _In_ ID3D11DeviceContext* pd3dDeviceContext, + _In_ UINT iDiffuseSlot, + _In_ UINT iNormalSlot, + _In_ UINT iSpecularSlot ); public: - CDXUTSDKMesh(); - virtual ~CDXUTSDKMesh(); - - virtual HRESULT Create( ID3D11Device* pDev11, LPCTSTR szFileName, bool bCreateAdjacencyIndices= - false, SDKMESH_CALLBACKS11* pLoaderCallbacks=NULL ); - virtual HRESULT Create( IDirect3DDevice9* pDev9, LPCTSTR szFileName, bool bCreateAdjacencyIndices= - false, SDKMESH_CALLBACKS9* pLoaderCallbacks=NULL ); - virtual HRESULT Create( ID3D11Device* pDev11, BYTE* pData, UINT DataBytes, - bool bCreateAdjacencyIndices=false, bool bCopyStatic=false, - SDKMESH_CALLBACKS11* pLoaderCallbacks=NULL ); - virtual HRESULT Create( IDirect3DDevice9* pDev9, BYTE* pData, UINT DataBytes, - bool bCreateAdjacencyIndices=false, bool bCopyStatic=false, - SDKMESH_CALLBACKS9* pLoaderCallbacks=NULL ); - virtual HRESULT LoadAnimation( WCHAR* szFileName ); - virtual void Destroy(); + CDXUTSDKMesh() noexcept; + virtual ~CDXUTSDKMesh(); - //Frame manipulation - void TransformBindPose( D3DXMATRIX* pWorld ); - void TransformMesh( D3DXMATRIX* pWorld, double fTime ); + virtual HRESULT Create( _In_ ID3D11Device* pDev11, _In_z_ LPCWSTR szFileName, _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks = nullptr ); + virtual HRESULT Create( _In_ ID3D11Device* pDev11, BYTE* pData, size_t DataBytes, _In_ bool bCopyStatic=false, + _In_opt_ SDKMESH_CALLBACKS11* pLoaderCallbacks = nullptr ); + virtual HRESULT LoadAnimation( _In_z_ const WCHAR* szFileName ); + virtual void Destroy(); + //Frame manipulation + void TransformBindPose( _In_ DirectX::CXMMATRIX world ) { TransformBindPoseFrame( 0, world ); }; + void TransformMesh( _In_ DirectX::CXMMATRIX world, _In_ double fTime ); //Direct3D 11 Rendering - virtual void Render( ID3D11DeviceContext* pd3dDeviceContext, - UINT iDiffuseSlot = INVALID_SAMPLER_SLOT, - UINT iNormalSlot = INVALID_SAMPLER_SLOT, - UINT iSpecularSlot = INVALID_SAMPLER_SLOT ); - virtual void RenderAdjacent( ID3D11DeviceContext* pd3dDeviceContext, - UINT iDiffuseSlot = INVALID_SAMPLER_SLOT, - UINT iNormalSlot = INVALID_SAMPLER_SLOT, - UINT iSpecularSlot = INVALID_SAMPLER_SLOT ); - - //Direct3D 9 Rendering - virtual void Render( LPDIRECT3DDEVICE9 pd3dDevice, - LPD3DXEFFECT pEffect, - D3DXHANDLE hTechnique, - D3DXHANDLE htxDiffuse = 0, - D3DXHANDLE htxNormal = 0, - D3DXHANDLE htxSpecular = 0 ); + virtual void Render( _In_ ID3D11DeviceContext* pd3dDeviceContext, + _In_ UINT iDiffuseSlot = INVALID_SAMPLER_SLOT, + _In_ UINT iNormalSlot = INVALID_SAMPLER_SLOT, + _In_ UINT iSpecularSlot = INVALID_SAMPLER_SLOT ); + virtual void RenderAdjacent( _In_ ID3D11DeviceContext* pd3dDeviceContext, + _In_ UINT iDiffuseSlot = INVALID_SAMPLER_SLOT, + _In_ UINT iNormalSlot = INVALID_SAMPLER_SLOT, + _In_ UINT iSpecularSlot = INVALID_SAMPLER_SLOT ); //Helpers (D3D11 specific) - static D3D11_PRIMITIVE_TOPOLOGY GetPrimitiveType11( SDKMESH_PRIMITIVE_TYPE PrimType ); - DXGI_FORMAT GetIBFormat11( UINT iMesh ); - ID3D11Buffer* GetVB11( UINT iMesh, UINT iVB ); - ID3D11Buffer* GetIB11( UINT iMesh ); - SDKMESH_INDEX_TYPE GetIndexType( UINT iMesh ); + static D3D11_PRIMITIVE_TOPOLOGY GetPrimitiveType11( _In_ SDKMESH_PRIMITIVE_TYPE PrimType ); + DXGI_FORMAT GetIBFormat11( _In_ UINT iMesh ) const; + ID3D11Buffer* GetVB11( _In_ UINT iMesh, _In_ UINT iVB ) const; + ID3D11Buffer* GetIB11( _In_ UINT iMesh ) const; + SDKMESH_INDEX_TYPE GetIndexType( _In_ UINT iMesh ) const; - ID3D11Buffer* GetAdjIB11( UINT iMesh ); - - //Helpers (D3D9 specific) - static D3DPRIMITIVETYPE GetPrimitiveType9( SDKMESH_PRIMITIVE_TYPE PrimType ); - D3DFORMAT GetIBFormat9( UINT iMesh ); - IDirect3DVertexBuffer9* GetVB9( UINT iMesh, UINT iVB ); - IDirect3DIndexBuffer9* GetIB9( UINT iMesh ); + ID3D11Buffer* GetAdjIB11( _In_ UINT iMesh ) const; //Helpers (general) - char* GetMeshPathA(); - WCHAR* GetMeshPathW(); - UINT GetNumMeshes(); - UINT GetNumMaterials(); - UINT GetNumVBs(); - UINT GetNumIBs(); - - ID3D11Buffer* GetVB11At( UINT iVB ); - ID3D11Buffer* GetIB11At( UINT iIB ); - - IDirect3DVertexBuffer9* GetVB9At( UINT iVB ); - IDirect3DIndexBuffer9* GetIB9At( UINT iIB ); - - BYTE* GetRawVerticesAt( UINT iVB ); - BYTE* GetRawIndicesAt( UINT iIB ); - SDKMESH_MATERIAL* GetMaterial( UINT iMaterial ); - SDKMESH_MESH* GetMesh( UINT iMesh ); - UINT GetNumSubsets( UINT iMesh ); - SDKMESH_SUBSET* GetSubset( UINT iMesh, UINT iSubset ); - UINT GetVertexStride( UINT iMesh, UINT iVB ); - UINT GetNumFrames(); - SDKMESH_FRAME* GetFrame( UINT iFrame ); - SDKMESH_FRAME* FindFrame( char* pszName ); - UINT64 GetNumVertices( UINT iMesh, UINT iVB ); - UINT64 GetNumIndices( UINT iMesh ); - D3DXVECTOR3 GetMeshBBoxCenter( UINT iMesh ); - D3DXVECTOR3 GetMeshBBoxExtents( UINT iMesh ); - UINT GetOutstandingResources(); - UINT GetOutstandingBufferResources(); - bool CheckLoadDone(); - bool IsLoaded(); - bool IsLoading(); - void SetLoading( bool bLoading ); - BOOL HadLoadingError(); + const char* GetMeshPathA() const; + const WCHAR* GetMeshPathW() const; + UINT GetNumMeshes() const; + UINT GetNumMaterials() const; + UINT GetNumVBs() const; + UINT GetNumIBs() const; + + ID3D11Buffer* GetVB11At( _In_ UINT iVB ) const; + ID3D11Buffer* GetIB11At( _In_ UINT iIB ) const; + + BYTE* GetRawVerticesAt( _In_ UINT iVB ) const; + BYTE* GetRawIndicesAt( _In_ UINT iIB ) const; + + SDKMESH_MATERIAL* GetMaterial( _In_ UINT iMaterial ) const; + SDKMESH_MESH* GetMesh( _In_ UINT iMesh ) const; + UINT GetNumSubsets( _In_ UINT iMesh ) const; + SDKMESH_SUBSET* GetSubset( _In_ UINT iMesh, _In_ UINT iSubset ) const; + UINT GetVertexStride( _In_ UINT iMesh, _In_ UINT iVB ) const; + UINT GetNumFrames() const; + SDKMESH_FRAME* GetFrame( _In_ UINT iFrame ) const; + SDKMESH_FRAME* FindFrame( _In_z_ const char* pszName ) const; + UINT64 GetNumVertices( _In_ UINT iMesh, _In_ UINT iVB ) const; + UINT64 GetNumIndices( _In_ UINT iMesh ) const; + DirectX::XMVECTOR GetMeshBBoxCenter( _In_ UINT iMesh ) const; + DirectX::XMVECTOR GetMeshBBoxExtents( _In_ UINT iMesh ) const; + UINT GetOutstandingResources() const; + UINT GetOutstandingBufferResources() const; + bool CheckLoadDone(); + bool IsLoaded() const; + bool IsLoading() const; + void SetLoading( _In_ bool bLoading ); + BOOL HadLoadingError() const; //Animation - UINT GetNumInfluences( UINT iMesh ); - const D3DXMATRIX* GetMeshInfluenceMatrix( UINT iMesh, UINT iInfluence ); - UINT GetAnimationKeyFromTime( double fTime ); - const D3DXMATRIX* GetWorldMatrix( UINT iFrameIndex ); - const D3DXMATRIX* GetInfluenceMatrix( UINT iFrameIndex ); - bool GetAnimationProperties( UINT* pNumKeys, FLOAT* pFrameTime ); + UINT GetNumInfluences( _In_ UINT iMesh ) const; + DirectX::XMMATRIX GetMeshInfluenceMatrix( _In_ UINT iMesh, _In_ UINT iInfluence ) const; + UINT GetAnimationKeyFromTime( _In_ double fTime ) const; + DirectX::XMMATRIX GetWorldMatrix( _In_ UINT iFrameIndex ) const; + DirectX::XMMATRIX GetInfluenceMatrix( _In_ UINT iFrameIndex ) const; + bool GetAnimationProperties( _Out_ UINT* pNumKeys, _Out_ float* pFrameTime ) const; }; -//----------------------------------------------------------------------------- -// Name: class CDXUTXFileMesh -// Desc: Class for loading and rendering file-based meshes -//----------------------------------------------------------------------------- -class CDXUTXFileMesh -{ -public: - WCHAR m_strName[512]; - LPD3DXMESH m_pMesh; // Managed mesh - - // Cache of data in m_pMesh for easy access - IDirect3DVertexBuffer9* m_pVB; - IDirect3DIndexBuffer9* m_pIB; - IDirect3DVertexDeclaration9* m_pDecl; - DWORD m_dwNumVertices; - DWORD m_dwNumFaces; - DWORD m_dwBytesPerVertex; - - DWORD m_dwNumMaterials; // Materials for the mesh - D3DMATERIAL9* m_pMaterials; - CHAR (*m_strMaterials )[MAX_PATH]; - IDirect3DBaseTexture9** m_pTextures; - bool m_bUseMaterials; - -public: - // Rendering - HRESULT Render( LPDIRECT3DDEVICE9 pd3dDevice, - bool bDrawOpaqueSubsets = true, - bool bDrawAlphaSubsets = true ); - HRESULT Render( ID3DXEffect* pEffect, - D3DXHANDLE hTexture = NULL, - D3DXHANDLE hDiffuse = NULL, - D3DXHANDLE hAmbient = NULL, - D3DXHANDLE hSpecular = NULL, - D3DXHANDLE hEmissive = NULL, - D3DXHANDLE hPower = NULL, - bool bDrawOpaqueSubsets = true, - bool bDrawAlphaSubsets = true ); - - // Mesh access - LPD3DXMESH GetMesh() - { - return m_pMesh; - } - - // Rendering options - void UseMeshMaterials( bool bFlag ) - { - m_bUseMaterials = bFlag; - } - HRESULT SetFVF( LPDIRECT3DDEVICE9 pd3dDevice, DWORD dwFVF ); - HRESULT SetVertexDecl( LPDIRECT3DDEVICE9 pd3dDevice, const D3DVERTEXELEMENT9* pDecl, - bool bAutoComputeNormals = true, bool bAutoComputeTangents = true, - bool bSplitVertexForOptimalTangents = false ); - - // Initializing - HRESULT RestoreDeviceObjects( LPDIRECT3DDEVICE9 pd3dDevice ); - HRESULT InvalidateDeviceObjects(); - - // Creation/destruction - HRESULT Create( LPDIRECT3DDEVICE9 pd3dDevice, LPCWSTR strFilename ); - HRESULT Create( LPDIRECT3DDEVICE9 pd3dDevice, LPD3DXFILEDATA pFileData ); - HRESULT Create( LPDIRECT3DDEVICE9 pd3dDevice, ID3DXMesh* pInMesh, D3DXMATERIAL* pd3dxMaterials, - DWORD dwMaterials ); - HRESULT CreateMaterials( LPCWSTR strPath, IDirect3DDevice9* pd3dDevice, D3DXMATERIAL* d3dxMtrls, - DWORD dwNumMaterials ); - HRESULT Destroy(); - - CDXUTXFileMesh( LPCWSTR strName = L"CDXUTXMeshFile_Mesh" ); - virtual ~CDXUTXFileMesh(); -}; - - -#endif - #endif diff --git a/FriedLiver/Source/DXUT/Optional/SDKmisc.cpp b/FriedLiver/Source/DXUT/Optional/SDKmisc.cpp index 9558f28a..3246eb02 100644 --- a/FriedLiver/Source/DXUT/Optional/SDKmisc.cpp +++ b/FriedLiver/Source/DXUT/Optional/SDKmisc.cpp @@ -3,61 +3,82 @@ // // Various helper functionality that is shared between SDK samples // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #include "dxut.h" #include "SDKmisc.h" #include "DXUTres.h" -#undef min // use __min instead -#undef max // use __max instead #include "DXUTGui.h" +#include "DDSTextureLoader.h" +#include "WICTextureLoader.h" +#include "ScreenGrab.h" + +using namespace DirectX; + //-------------------------------------------------------------------------------------- // Global/Static Members //-------------------------------------------------------------------------------------- CDXUTResourceCache& WINAPI DXUTGetGlobalResourceCache() { // Using an accessor function gives control of the construction order - static CDXUTResourceCache cache; - return cache; + static CDXUTResourceCache* s_cache = nullptr; + if ( !s_cache ) + { +#if defined(DEBUG) || defined(_DEBUG) + int flag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); + _CrtSetDbgFlag( flag & ~_CRTDBG_ALLOC_MEM_DF ); +#endif + s_cache = new CDXUTResourceCache; +#if defined(DEBUG) || defined(_DEBUG) + _CrtSetDbgFlag( flag ); +#endif + } + return *s_cache; } //-------------------------------------------------------------------------------------- // Internal functions forward declarations //-------------------------------------------------------------------------------------- -bool DXUTFindMediaSearchTypicalDirs( __out_ecount(cchSearch) WCHAR* strSearchPath, - __in int cchSearch, - __in LPCWSTR strLeaf, - __in WCHAR* strExePath, - __in WCHAR* strExeName ); -bool DXUTFindMediaSearchParentDirs( __out_ecount(cchSearch) WCHAR* strSearchPath, - __in int cchSearch, - __in WCHAR* strStartAt, - __in WCHAR* strLeafName ); -INT_PTR CALLBACK DisplaySwitchToREFWarningProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); +bool DXUTFindMediaSearchTypicalDirs( _Out_writes_(cchSearch) WCHAR* strSearchPath, + _In_ int cchSearch, + _In_ LPCWSTR strLeaf, + _In_ const WCHAR* strExePath, + _In_ const WCHAR* strExeName ); +bool DXUTFindMediaSearchParentDirs( _Out_writes_(cchSearch) WCHAR* strSearchPath, + _In_ int cchSearch, + _In_ const WCHAR* strStartAt, + _In_ const WCHAR* strLeafName ); + +INT_PTR CALLBACK DisplaySwitchToREFWarningProc( _In_ HWND hDlg, _In_ UINT message, _In_ WPARAM wParam, _In_ LPARAM lParam ); //-------------------------------------------------------------------------------------- // Shared code for samples to ask user if they want to use a REF device or quit //-------------------------------------------------------------------------------------- -void WINAPI DXUTDisplaySwitchingToREFWarning( DXUTDeviceVersion ver ) +void WINAPI DXUTDisplaySwitchingToREFWarning() { if( DXUTGetShowMsgBoxOnError() ) { DWORD dwSkipWarning = 0, dwRead = 0, dwWritten = 0; - HANDLE hFile = NULL; + HANDLE hFile = nullptr; // Read previous user settings WCHAR strPath[MAX_PATH]; - SHGetFolderPath( DXUTGetHWND(), CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, strPath ); - wcscat_s( strPath, MAX_PATH, L"\\DXUT\\SkipRefWarning.dat" ); - if( ( hFile = CreateFile( strPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, - NULL ) ) != INVALID_HANDLE_VALUE ) + if ( SUCCEEDED(SHGetFolderPath(DXUTGetHWND(), CSIDL_LOCAL_APPDATA, nullptr, SHGFP_TYPE_CURRENT, strPath)) ) { - ReadFile( hFile, &dwSkipWarning, sizeof( DWORD ), &dwRead, NULL ); - CloseHandle( hFile ); + wcscat_s( strPath, MAX_PATH, L"\\DXUT\\SkipRefWarning.dat" ); + if( ( hFile = CreateFile( strPath, GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, + nullptr ) ) != INVALID_HANDLE_VALUE ) + { + (void)ReadFile( hFile, &dwSkipWarning, sizeof( DWORD ), &dwRead, nullptr ); + CloseHandle( hFile ); + } } if( dwSkipWarning == 0 ) @@ -102,10 +123,7 @@ void WINAPI DXUTDisplaySwitchingToREFWarning( DXUTDeviceVersion ver ) }; LPARAM lParam; - if( ver == DXUT_D3D9_DEVICE ) - lParam = 9; - else - lParam = 11; + lParam = 11; int nResult = ( int )DialogBoxIndirectParam( DXUTGetHINSTANCE(), ( DLGTEMPLATE* )&dtp, DXUTGetHWND(), DisplaySwitchToREFWarningProc, lParam ); @@ -113,15 +131,17 @@ void WINAPI DXUTDisplaySwitchingToREFWarning( DXUTDeviceVersion ver ) { // Save user settings dwSkipWarning = 1; - SHGetFolderPath( DXUTGetHWND(), CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, strPath ); - wcscat_s( strPath, MAX_PATH, L"\\DXUT" ); - CreateDirectory( strPath, NULL ); - wcscat_s( strPath, MAX_PATH, L"\\SkipRefWarning.dat" ); - if( ( hFile = CreateFile( strPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, - NULL ) ) != INVALID_HANDLE_VALUE ) + if ( SUCCEEDED(SHGetFolderPath(DXUTGetHWND(), CSIDL_LOCAL_APPDATA, nullptr, SHGFP_TYPE_CURRENT, strPath)) ) { - WriteFile( hFile, &dwSkipWarning, sizeof( DWORD ), &dwWritten, NULL ); - CloseHandle( hFile ); + wcscat_s( strPath, MAX_PATH, L"\\DXUT" ); + CreateDirectory( strPath, nullptr ); + wcscat_s( strPath, MAX_PATH, L"\\SkipRefWarning.dat" ); + if( ( hFile = CreateFile( strPath, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, 0, + nullptr ) ) != INVALID_HANDLE_VALUE ) + { + WriteFile( hFile, &dwSkipWarning, sizeof( DWORD ), &dwWritten, nullptr ); + CloseHandle( hFile ); + } } } @@ -136,6 +156,7 @@ void WINAPI DXUTDisplaySwitchingToREFWarning( DXUTDeviceVersion ver ) //-------------------------------------------------------------------------------------- // MsgProc for DXUTDisplaySwitchingToREFWarning() dialog box //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ INT_PTR CALLBACK DisplaySwitchToREFWarningProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) @@ -146,7 +167,7 @@ INT_PTR CALLBACK DisplaySwitchToREFWarningProc( HWND hDlg, UINT message, WPARAM SendMessage( GetDlgItem( hDlg, 0x100 ), STM_SETIMAGE, IMAGE_ICON, ( LPARAM )LoadIcon( 0, IDI_QUESTION ) ); WCHAR sz[512]; swprintf_s( sz, 512, - L"This program needs to use the Direct3D %d reference device. This device implements the entire Direct3D %d feature set, but runs very slowly. Do you wish to continue?", lParam, lParam ); + L"This program needs to use the Direct3D %zu reference device. This device implements the entire Direct3D %zu feature set, but runs very slowly. Do you wish to continue?", lParam, lParam ); SetDlgItemText( hDlg, 0x101, sz ); SetDlgItemText( hDlg, IDYES, L"&Yes" ); SetDlgItemText( hDlg, IDNO, L"&No" ); @@ -189,6 +210,7 @@ WCHAR* DXUTMediaSearchPath() } + //-------------------------------------------------------------------------------------- LPCWSTR WINAPI DXUTGetMediaSearchPath() { @@ -197,7 +219,7 @@ LPCWSTR WINAPI DXUTGetMediaSearchPath() //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTSetMediaSearchPath( LPCWSTR strPath ) +HRESULT WINAPI DXUTSetMediaSearchPath( _In_z_ LPCWSTR strPath ) { HRESULT hr; @@ -224,13 +246,14 @@ HRESULT WINAPI DXUTSetMediaSearchPath( LPCWSTR strPath ) // cchDest is the size in WCHARs of strDestPath. Be careful not to // pass in sizeof(strDest) on UNICODE builds. //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ HRESULT WINAPI DXUTFindDXSDKMediaFileCch( WCHAR* strDestPath, int cchDest, LPCWSTR strFilename ) { bool bFound; WCHAR strSearchFor[MAX_PATH]; - if( NULL == strFilename || strFilename[0] == 0 || NULL == strDestPath || cchDest < 10 ) + if( !strFilename || strFilename[0] == 0 || !strDestPath || cchDest < 10 ) return E_INVALIDARG; // Get the exe name, and exe path @@ -242,8 +265,8 @@ HRESULT WINAPI DXUTFindDXSDKMediaFileCch( WCHAR* strDestPath, int cchDest, { 0 }; - WCHAR* strLastSlash = NULL; - GetModuleFileName( NULL, strExePath, MAX_PATH ); + WCHAR* strLastSlash = nullptr; + GetModuleFileName( nullptr, strExePath, MAX_PATH ); strExePath[MAX_PATH - 1] = 0; strLastSlash = wcsrchr( strExePath, TEXT( '\\' ) ); if( strLastSlash ) @@ -275,7 +298,7 @@ HRESULT WINAPI DXUTFindDXSDKMediaFileCch( WCHAR* strDestPath, int cchDest, return S_OK; // Typical directory search again, but also look in a subdir called "\media\" - swprintf_s( strSearchFor, MAX_PATH, L"media\\%s", strFilename ); + swprintf_s( strSearchFor, MAX_PATH, L"media\\%ls", strFilename ); bFound = DXUTFindMediaSearchTypicalDirs( strDestPath, cchDest, strSearchFor, strExePath, strExeName ); if( bFound ) return S_OK; @@ -297,7 +320,7 @@ HRESULT WINAPI DXUTFindDXSDKMediaFileCch( WCHAR* strDestPath, int cchDest, return S_OK; // Search all parent directories starting at .\ and using "media\strFilename" as the leaf name - swprintf_s( strLeafName, MAX_PATH, L"media\\%s", strFilename ); + swprintf_s( strLeafName, MAX_PATH, L"media\\%ls", strFilename ); bFound = DXUTFindMediaSearchParentDirs( strDestPath, cchDest, L".", strLeafName ); if( bFound ) return S_OK; @@ -317,8 +340,9 @@ HRESULT WINAPI DXUTFindDXSDKMediaFileCch( WCHAR* strDestPath, int cchDest, //-------------------------------------------------------------------------------------- // Search a set of typical directories //-------------------------------------------------------------------------------------- +_Use_decl_annotations_ bool DXUTFindMediaSearchTypicalDirs( WCHAR* strSearchPath, int cchSearch, LPCWSTR strLeaf, - WCHAR* strExePath, WCHAR* strExeName ) + const WCHAR* strExePath, const WCHAR* strExeName ) { // Typical directories: // .\ @@ -337,42 +361,42 @@ bool DXUTFindMediaSearchTypicalDirs( WCHAR* strSearchPath, int cchSearch, LPCWST return true; // Search in ..\ - swprintf_s( strSearchPath, cchSearch, L"..\\%s", strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"..\\%ls", strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in ..\..\ - swprintf_s( strSearchPath, cchSearch, L"..\\..\\%s", strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"..\\..\\%ls", strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in ..\..\ - swprintf_s( strSearchPath, cchSearch, L"..\\..\\%s", strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"..\\..\\%ls", strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in the %EXE_DIR%\ - swprintf_s( strSearchPath, cchSearch, L"%s\\%s", strExePath, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls\\%ls", strExePath, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in the %EXE_DIR%\..\ - swprintf_s( strSearchPath, cchSearch, L"%s\\..\\%s", strExePath, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls\\..\\%ls", strExePath, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in the %EXE_DIR%\..\..\ - swprintf_s( strSearchPath, cchSearch, L"%s\\..\\..\\%s", strExePath, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls\\..\\..\\%ls", strExePath, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in "%EXE_DIR%\..\%EXE_NAME%\". This matches the DirectX SDK layout - swprintf_s( strSearchPath, cchSearch, L"%s\\..\\%s\\%s", strExePath, strExeName, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls\\..\\%ls\\%ls", strExePath, strExeName, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; // Search in "%EXE_DIR%\..\..\%EXE_NAME%\". This matches the DirectX SDK layout - swprintf_s( strSearchPath, cchSearch, L"%s\\..\\..\\%s\\%s", strExePath, strExeName, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls\\..\\..\\%ls\\%ls", strExePath, strExeName, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; @@ -380,7 +404,7 @@ bool DXUTFindMediaSearchTypicalDirs( WCHAR* strSearchPath, int cchSearch, LPCWST WCHAR* s_strSearchPath = DXUTMediaSearchPath(); if( s_strSearchPath[0] != 0 ) { - swprintf_s( strSearchPath, cchSearch, L"%s%s", s_strSearchPath, strLeaf ); + swprintf_s( strSearchPath, cchSearch, L"%ls%ls", s_strSearchPath, strLeaf ); if( GetFileAttributes( strSearchPath ) != 0xFFFFFFFF ) return true; } @@ -389,13 +413,13 @@ bool DXUTFindMediaSearchTypicalDirs( WCHAR* strSearchPath, int cchSearch, LPCWST } - //-------------------------------------------------------------------------------------- // Search parent directories starting at strStartAt, and appending strLeafName // at each parent directory. It stops at the root directory. //-------------------------------------------------------------------------------------- -bool DXUTFindMediaSearchParentDirs( WCHAR* strSearchPath, int cchSearch, WCHAR* strStartAt, - WCHAR* strLeafName ) +_Use_decl_annotations_ +bool DXUTFindMediaSearchParentDirs( WCHAR* strSearchPath, int cchSearch, const WCHAR* strStartAt, + const WCHAR* strLeafName ) { WCHAR strFullPath[MAX_PATH] = { @@ -409,23 +433,24 @@ bool DXUTFindMediaSearchParentDirs( WCHAR* strSearchPath, int cchSearch, WCHAR* { 0 }; - WCHAR* strFilePart = NULL; + WCHAR* strFilePart = nullptr; - GetFullPathName( strStartAt, MAX_PATH, strFullPath, &strFilePart ); - if( strFilePart == NULL ) + if ( !GetFullPathName( strStartAt, MAX_PATH, strFullPath, &strFilePart ) ) return false; - while( strFilePart != NULL && *strFilePart != '\0' ) +#pragma warning( disable : 6102 ) + while( strFilePart && *strFilePart != '\0' ) { - swprintf_s( strFullFileName, MAX_PATH, L"%s\\%s", strFullPath, strLeafName ); + swprintf_s( strFullFileName, MAX_PATH, L"%ls\\%ls", strFullPath, strLeafName ); if( GetFileAttributes( strFullFileName ) != 0xFFFFFFFF ) { wcscpy_s( strSearchPath, cchSearch, strFullFileName ); return true; } - swprintf_s( strSearch, MAX_PATH, L"%s\\..", strFullPath ); - GetFullPathName( strSearch, MAX_PATH, strFullPath, &strFilePart ); + swprintf_s( strSearch, MAX_PATH, L"%ls\\..", strFullPath ); + if ( !GetFullPathName( strSearch, MAX_PATH, strFullPath, &strFilePart ) ) + return false; } return false; @@ -433,1188 +458,483 @@ bool DXUTFindMediaSearchParentDirs( WCHAR* strSearchPath, int cchSearch, WCHAR* //-------------------------------------------------------------------------------------- -// CDXUTResourceCache +// Compiles HLSL shaders //-------------------------------------------------------------------------------------- +#if D3D_COMPILER_VERSION < 46 -//-------------------------------------------------------------------------------------- -CDXUTResourceCache::~CDXUTResourceCache() +namespace { - OnDestroyDevice(); - m_TextureCache.RemoveAll(); - m_EffectCache.RemoveAll(); - m_FontCache.RemoveAll(); -} +struct handle_closer { void operator()(HANDLE h) { if (h) CloseHandle(h); } }; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DTEXTURE9* ppTexture ) -{ - return CreateTextureFromFileEx( pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, - 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, - 0, NULL, NULL, ppTexture ); -} +typedef std::unique_ptr ScopedHandle; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, - LPDIRECT3DTEXTURE9* ppTexture ) -{ - WCHAR szSrcFile[MAX_PATH]; - MultiByteToWideChar( CP_ACP, 0, pSrcFile, -1, szSrcFile, MAX_PATH ); - szSrcFile[MAX_PATH - 1] = 0; +inline HANDLE safe_handle( HANDLE h ) { return (h == INVALID_HANDLE_VALUE) ? nullptr : h; } - return CreateTextureFromFile( pDevice, szSrcFile, ppTexture ); -} - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCTSTR pSrcFile, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ) +class CIncludeHandler : public ID3DInclude + // Not as robust as D3D_COMPILE_STANDARD_FILE_INCLUDE, but it works in most cases { - return CreateTextureFromFileEx( pDevice, pContext, pSrcFile, NULL, NULL, ppOutputRV, bSRGB ); -} +private: + static const unsigned int MAX_INCLUDES = 9; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCSTR pSrcFile, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ) -{ - WCHAR szSrcFile[MAX_PATH]; - MultiByteToWideChar( CP_ACP, 0, pSrcFile, -1, szSrcFile, MAX_PATH ); - szSrcFile[MAX_PATH - 1] = 0; + struct sInclude + { + HANDLE hFile; + HANDLE hFileMap; + LARGE_INTEGER FileSize; + void *pMapData; + }; - return CreateTextureFromFile( pDevice, pContext, szSrcFile, ppOutputRV, bSRGB ); -} + struct sInclude m_includeFiles[MAX_INCLUDES]; + size_t m_nIncludes; + bool m_reset; + WCHAR m_workingPath[MAX_PATH]; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Width, - UINT Height, UINT MipLevels, DWORD Usage, D3DFORMAT Format, - D3DPOOL Pool, DWORD Filter, DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DTEXTURE9* ppTexture ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) +public: + CIncludeHandler() : m_nIncludes(0), m_reset(false) { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_FILE && - !lstrcmpW( Entry.wszSource, pSrcFile ) && - Entry.Width == Width && - Entry.Height == Height && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_TEXTURE ) + if ( !GetCurrentDirectoryW( MAX_PATH, m_workingPath ) ) + *m_workingPath = 0; + + for ( size_t i = 0; i < MAX_INCLUDES; ++i ) { - // A match is found. Obtain the IDirect3DTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DTexture9, ( LPVOID* )ppTexture ); + m_includeFiles[i].hFile = INVALID_HANDLE_VALUE; + m_includeFiles[i].hFileMap = INVALID_HANDLE_VALUE; + m_includeFiles[i].pMapData = nullptr; } } + virtual ~CIncludeHandler() + { + for ( size_t i = 0; i < m_nIncludes; ++i ) + { + UnmapViewOfFile( m_includeFiles[i].pMapData ); -#if defined(PROFILE) || defined(DEBUG) - CHAR strFileA[MAX_PATH]; - WideCharToMultiByte( CP_ACP, 0, pSrcFile, -1, strFileA, MAX_PATH, NULL, FALSE ); - CHAR* pstrName = strrchr( strFileA, '\\' ); - if( pstrName == NULL ) - pstrName = strFileA; - else - pstrName++; -#endif - - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateTextureFromFileEx( pDevice, pSrcFile, Width, Height, MipLevels, Usage, Format, - Pool, Filter, MipFilter, ColorKey, pSrcInfo, pPalette, ppTexture ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_FILE; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcFile ); - NewEntry.Width = Width; - NewEntry.Height = Height; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_TEXTURE; - ( *ppTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - DXUT_SetDebugName( *ppTexture, pstrName ); - - m_TextureCache.Add( NewEntry ); - return S_OK; -} - - + if ( m_includeFiles[i].hFileMap != INVALID_HANDLE_VALUE) + CloseHandle( m_includeFiles[i].hFileMap ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromFileEx( ID3D11Device* pDevice, ID3D11DeviceContext* pContext, LPCTSTR pSrcFile, - D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11ThreadPump* pPump, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ) -{ + if ( m_includeFiles[i].hFile != INVALID_HANDLE_VALUE) + CloseHandle( m_includeFiles[i].hFile ); + } - bool is10L9 = DXUTGetDeviceSettings().d3d11.DeviceFeatureLevel < D3D_FEATURE_LEVEL_10_0; - HRESULT hr = S_OK; - D3DX11_IMAGE_LOAD_INFO ZeroInfo; //D3DX11_IMAGE_LOAD_INFO has a default constructor - D3DX11_IMAGE_INFO SrcInfo; + m_nIncludes = 0; - if( !pLoadInfo ) - { - pLoadInfo = &ZeroInfo; + if ( m_reset && *m_workingPath ) + { + SetCurrentDirectoryW( m_workingPath ); + } } - if( !pLoadInfo->pSrcInfo ) + STDMETHOD(Open( D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes ) ) { - D3DX11GetImageInfoFromFile( pSrcFile, NULL, &SrcInfo, NULL ); - pLoadInfo->pSrcInfo = &SrcInfo; + UNREFERENCED_PARAMETER(IncludeType); + UNREFERENCED_PARAMETER(pParentData); - pLoadInfo->Format = pLoadInfo->pSrcInfo->Format; - } + size_t incIndex = m_nIncludes+1; - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) - { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_FILE && - !lstrcmpW( Entry.wszSource, pSrcFile ) && - Entry.Width == pLoadInfo->Width && - Entry.Height == pLoadInfo->Height && - Entry.MipLevels == pLoadInfo->MipLevels && - Entry.Usage11 == pLoadInfo->Usage && - Entry.Format == pLoadInfo->Format && - Entry.CpuAccessFlags == pLoadInfo->CpuAccessFlags && - Entry.BindFlags == pLoadInfo->BindFlags && - Entry.MiscFlags == pLoadInfo->MiscFlags ) + // Make sure we have enough room for this include file + if ( incIndex >= MAX_INCLUDES ) + return E_FAIL; + + // try to open the file + m_includeFiles[incIndex].hFile = CreateFileA( pFileName, GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, nullptr ); + if( INVALID_HANDLE_VALUE == m_includeFiles[incIndex].hFile ) { - // A match is found. Obtain the IDirect3DTexture9 interface and return that. - return Entry.pSRV11->QueryInterface( __uuidof( ID3D11ShaderResourceView ), ( LPVOID* )ppOutputRV ); + return E_FAIL; } - } -#if defined(PROFILE) || defined(DEBUG) - CHAR strFileA[MAX_PATH]; - WideCharToMultiByte( CP_ACP, 0, pSrcFile, -1, strFileA, MAX_PATH, NULL, FALSE ); - CHAR* pstrName = strrchr( strFileA, '\\' ); - if( pstrName == NULL ) - pstrName = strFileA; - else - pstrName++; -#endif + // Get the file size + GetFileSizeEx( m_includeFiles[incIndex].hFile, &m_includeFiles[incIndex].FileSize ); - //Ready a new entry to the texture cache - //Do this before creating the texture since pLoadInfo may be volatile - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_FILE; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcFile ); - NewEntry.Width = pLoadInfo->Width; - NewEntry.Height = pLoadInfo->Height; - NewEntry.MipLevels = pLoadInfo->MipLevels; - NewEntry.Usage11 = pLoadInfo->Usage; - // 10L9 can't handle typesless, so we cant make a typesless format - if (is10L9 && bSRGB) { - NewEntry.Format = MAKE_SRGB(pLoadInfo->Format); - }else { - NewEntry.Format = pLoadInfo->Format; - } - NewEntry.CpuAccessFlags = pLoadInfo->CpuAccessFlags; - NewEntry.BindFlags = pLoadInfo->BindFlags; - NewEntry.MiscFlags = pLoadInfo->MiscFlags; + // Use Memory Mapped File I/O for the header data + m_includeFiles[incIndex].hFileMap = CreateFileMappingA( m_includeFiles[incIndex].hFile, nullptr, PAGE_READONLY, m_includeFiles[incIndex].FileSize.HighPart, m_includeFiles[incIndex].FileSize.LowPart, pFileName); + if( !m_includeFiles[incIndex].hFileMap ) + { + if (m_includeFiles[incIndex].hFile != INVALID_HANDLE_VALUE) + CloseHandle( m_includeFiles[incIndex].hFile ); + return E_FAIL; + } - //Create the rexture - ID3D11Texture2D* pRes = NULL; - hr = D3DX11CreateTextureFromFile( pDevice, pSrcFile, pLoadInfo, pPump, ( ID3D11Resource** )&pRes, NULL ); + // Create Map view + *ppData = MapViewOfFile( m_includeFiles[incIndex].hFileMap, FILE_MAP_READ, 0, 0, 0 ); + *pBytes = m_includeFiles[incIndex].FileSize.LowPart; - if( FAILED( hr ) ) - return hr; - D3D11_TEXTURE2D_DESC tex_dsc; - pRes->GetDesc(&tex_dsc); - - - - if (bSRGB ) { - // This is a workaround so that we can load linearly, but sample in SRGB. Right now, we can't load - // as linear since D3DX will try to do conversion on load. Loading as TYPELESS doesn't work either, and - // loading as typed _UNORM doesn't allow us to create an SRGB view. - - // on d3d11 featuer levels this is just a copy, but on 10L9 we must use a cpu side copy with 2 staging resources. - ID3D11Texture2D* unormStaging = NULL; - ID3D11Texture2D* srgbStaging = NULL; - - D3D11_TEXTURE2D_DESC CopyDesc; - pRes->GetDesc( &CopyDesc ); - - pLoadInfo->BindFlags = 0; - pLoadInfo->CpuAccessFlags = D3D11_CPU_ACCESS_WRITE | D3D11_CPU_ACCESS_READ; - pLoadInfo->Depth = 0; - pLoadInfo->Filter = D3DX11_FILTER_LINEAR; - pLoadInfo->FirstMipLevel = 0; - pLoadInfo->Format = CopyDesc.Format; - pLoadInfo->Height = CopyDesc.Height; - pLoadInfo->MipFilter = D3DX11_FILTER_LINEAR; - pLoadInfo->MiscFlags = CopyDesc.MiscFlags; - pLoadInfo->Usage = D3D11_USAGE_STAGING; - pLoadInfo->Width = CopyDesc.Width; - - CopyDesc.BindFlags = 0; - CopyDesc.Usage = D3D11_USAGE_STAGING; - CopyDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE | D3D11_CPU_ACCESS_READ; - CopyDesc.Format = MAKE_SRGB(CopyDesc.Format); - - hr = D3DX11CreateTextureFromFile( pDevice, pSrcFile, pLoadInfo, pPump, ( ID3D11Resource** )&unormStaging, NULL ); - DXUT_SetDebugName( unormStaging, "CDXUTResourceCache" ); - - hr = pDevice->CreateTexture2D(&CopyDesc, NULL, &srgbStaging); - DXUT_SetDebugName( srgbStaging, "CDXUTResourceCache" ); - pContext->CopyResource( srgbStaging, unormStaging ); - ID3D11Texture2D* srgbGPU; - - pRes->GetDesc( &CopyDesc ); - CopyDesc.Format = MAKE_SRGB(CopyDesc.Format); - hr = pDevice->CreateTexture2D(&CopyDesc, NULL, &srgbGPU); - pContext->CopyResource( srgbGPU, srgbStaging ); - - SAFE_RELEASE(pRes); - SAFE_RELEASE(srgbStaging); - SAFE_RELEASE(unormStaging); - pRes = srgbGPU; - } + // Success - Increment the include file count + m_nIncludes = incIndex; - DXUT_SetDebugName( pRes, pstrName ); + return S_OK; + } - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - if( bSRGB ) - SRVDesc.Format = MAKE_SRGB( ZeroInfo.Format ); - else - SRVDesc.Format = ZeroInfo.Format; - if( pLoadInfo->pSrcInfo->ResourceDimension == D3D11_RESOURCE_DIMENSION_TEXTURE1D ) + STDMETHOD(Close( LPCVOID pData )) { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; - SRVDesc.Texture1D.MostDetailedMip = 0; - SRVDesc.Texture1D.MipLevels = pLoadInfo->pSrcInfo->MipLevels; + UNREFERENCED_PARAMETER(pData); + // Defer Closure until the container destructor + return S_OK; } - else if( pLoadInfo->pSrcInfo->ResourceDimension == D3D11_RESOURCE_DIMENSION_TEXTURE2D ) + + void SetCWD( LPCWSTR pFileName ) { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; - SRVDesc.Texture2D.MostDetailedMip = 0; - SRVDesc.Texture2D.MipLevels = pLoadInfo->pSrcInfo->MipLevels; + WCHAR filePath[MAX_PATH]; + wcscpy_s( filePath, MAX_PATH, pFileName ); - if( pLoadInfo->pSrcInfo->MiscFlags & D3D11_RESOURCE_MISC_TEXTURECUBE ) + WCHAR *strLastSlash = wcsrchr( filePath, L'\\' ); + if( strLastSlash ) { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE; - SRVDesc.TextureCube.MostDetailedMip = 0; - SRVDesc.TextureCube.MipLevels = pLoadInfo->pSrcInfo->MipLevels; + // Chop the exe name from the exe path + *strLastSlash = 0; + m_reset = true; + SetCurrentDirectoryW( filePath ); } } - else if( pLoadInfo->pSrcInfo->ResourceDimension == D3D11_RESOURCE_DIMENSION_TEXTURE3D ) - { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; - SRVDesc.Texture3D.MostDetailedMip = 0; - SRVDesc.Texture3D.MipLevels = pLoadInfo->pSrcInfo->MipLevels; - } - if (bSRGB) { - SRVDesc.Format = MAKE_SRGB(tex_dsc.Format); - }else { - SRVDesc.Format = tex_dsc.Format; - } - SRVDesc.Texture2D.MipLevels = tex_dsc.MipLevels; - SRVDesc.Texture2D.MostDetailedMip = 0; - hr = pDevice->CreateShaderResourceView( pRes, &SRVDesc, ppOutputRV ); - pRes->Release(); - if( FAILED( hr ) ) - return hr; - - DXUT_SetDebugName( *ppOutputRV, pstrName ); - - ( *ppOutputRV )->QueryInterface( __uuidof( ID3D11ShaderResourceView ), ( LPVOID* )&NewEntry.pSRV11 ); - - m_TextureCache.Add( NewEntry ); - - return S_OK; -} - +}; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, LPDIRECT3DTEXTURE9* ppTexture ) -{ - return CreateTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, D3DX_DEFAULT, D3DX_DEFAULT, - D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, - D3DX_DEFAULT, 0, NULL, NULL, ppTexture ); -} +}; // namespace +#endif -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Width, UINT Height, UINT MipLevels, - DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, D3DXIMAGE_INFO* pSrcInfo, - PALETTEENTRY* pPalette, LPDIRECT3DTEXTURE9* ppTexture ) +_Use_decl_annotations_ +HRESULT WINAPI DXUTCompileFromFile( LPCWSTR pFileName, + const D3D_SHADER_MACRO* pDefines, + LPCSTR pEntrypoint, LPCSTR pTarget, + UINT Flags1, UINT Flags2, + ID3DBlob** ppCode ) { - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) - { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_RESOURCE && - Entry.hSrcModule == hSrcModule && - !lstrcmpW( Entry.wszSource, pSrcResource ) && - Entry.Width == Width && - Entry.Height == Height && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_TEXTURE ) - { - // A match is found. Obtain the IDirect3DTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DTexture9, ( LPVOID* )ppTexture ); - } - } - HRESULT hr; + WCHAR str[MAX_PATH]; + V_RETURN( DXUTFindDXSDKMediaFileCch( str, MAX_PATH, pFileName ) ); + +#if defined( DEBUG ) || defined( _DEBUG ) + // Set the D3DCOMPILE_DEBUG flag to embed debug information in the shaders. + // Setting this flag improves the shader debugging experience, but still allows + // the shaders to be optimized and to run exactly the way they will run in + // the release configuration of this program. + Flags1 |= D3DCOMPILE_DEBUG; +#endif - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, Width, Height, MipLevels, Usage, - Format, Pool, Filter, MipFilter, ColorKey, pSrcInfo, pPalette, ppTexture ); - if( FAILED( hr ) ) - return hr; + ID3DBlob* pErrorBlob = nullptr; - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_RESOURCE; - NewEntry.hSrcModule = hSrcModule; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcResource ); - NewEntry.Width = Width; - NewEntry.Height = Height; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_TEXTURE; - ( *ppTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - m_TextureCache.Add( NewEntry ); - return S_OK; -} +#if D3D_COMPILER_VERSION >= 46 + hr = D3DCompileFromFile( str, pDefines, D3D_COMPILE_STANDARD_FILE_INCLUDE, + pEntrypoint, pTarget, Flags1, Flags2, + ppCode, &pErrorBlob ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateCubeTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) -{ - return CreateCubeTextureFromFileEx( pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, 0, - D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, - 0, NULL, NULL, ppCubeTexture ); -} +#else + ScopedHandle hFile( safe_handle( CreateFileW( str, GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr ) ) ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateCubeTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Size, - UINT MipLevels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, - DWORD Filter, DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) + if ( !hFile ) + return HRESULT_FROM_WIN32( GetLastError() ); + + FILE_STANDARD_INFO fileInfo; + if ( !GetFileInformationByHandleEx( hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo) ) ) { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_FILE && - !lstrcmpW( Entry.wszSource, pSrcFile ) && - Entry.Width == Size && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_CUBETEXTURE ) - { - // A match is found. Obtain the IDirect3DCubeTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DCubeTexture9, ( LPVOID* )ppCubeTexture ); - } + return HRESULT_FROM_WIN32( GetLastError() ); } - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateCubeTextureFromFileEx( pDevice, pSrcFile, Size, MipLevels, Usage, Format, Pool, Filter, - MipFilter, ColorKey, pSrcInfo, pPalette, ppCubeTexture ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_FILE; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcFile ); - NewEntry.Width = Size; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_CUBETEXTURE; - ( *ppCubeTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - m_TextureCache.Add( NewEntry ); - return S_OK; -} + if ( !fileInfo.EndOfFile.LowPart || fileInfo.EndOfFile.HighPart > 0 ) + return E_FAIL; + std::unique_ptr fxData; + fxData.reset( new (std::nothrow) char[ fileInfo.EndOfFile.LowPart ] ); + if ( !fxData ) + return E_OUTOFMEMORY; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateCubeTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) -{ - return CreateCubeTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, D3DX_DEFAULT, D3DX_DEFAULT, - 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, - 0, NULL, NULL, ppCubeTexture ); -} + DWORD BytesRead = 0; + if ( !ReadFile( hFile.get(), fxData.get(), fileInfo.EndOfFile.LowPart, &BytesRead, nullptr ) ) + return HRESULT_FROM_WIN32( GetLastError() ); + if (BytesRead < fileInfo.EndOfFile.LowPart) + return E_FAIL; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateCubeTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Size, UINT MipLevels, - DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) + char pSrcName[MAX_PATH]; + int result = WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, str, -1, pSrcName, MAX_PATH, nullptr, FALSE ); + if ( !result ) + return E_FAIL; + + const CHAR* pstrName = strrchr( pSrcName, '\\' ); + if (!pstrName) { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_RESOURCE && - Entry.hSrcModule == hSrcModule && - !lstrcmpW( Entry.wszSource, pSrcResource ) && - Entry.Width == Size && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_CUBETEXTURE ) - { - // A match is found. Obtain the IDirect3DCubeTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DCubeTexture9, ( LPVOID* )ppCubeTexture ); - } + pstrName = pSrcName; } - - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateCubeTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, Size, MipLevels, Usage, Format, - Pool, Filter, MipFilter, ColorKey, pSrcInfo, pPalette, ppCubeTexture ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_RESOURCE; - NewEntry.hSrcModule = hSrcModule; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcResource ); - NewEntry.Width = Size; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_CUBETEXTURE; - ( *ppCubeTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - m_TextureCache.Add( NewEntry ); - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateVolumeTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) -{ - return CreateVolumeTextureFromFileEx( pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, - 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, - 0, NULL, NULL, ppVolumeTexture ); -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateVolumeTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Width, - UINT Height, UINT Depth, UINT MipLevels, DWORD Usage, - D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DVOLUMETEXTURE9* ppTexture ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) + else { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_FILE && - !lstrcmpW( Entry.wszSource, pSrcFile ) && - Entry.Width == Width && - Entry.Height == Height && - Entry.Depth == Depth && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_VOLUMETEXTURE ) - { - // A match is found. Obtain the IDirect3DVolumeTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DVolumeTexture9, ( LPVOID* )ppTexture ); - } + pstrName++; } - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateVolumeTextureFromFileEx( pDevice, pSrcFile, Width, Height, Depth, MipLevels, Usage, Format, - Pool, Filter, MipFilter, ColorKey, pSrcInfo, pPalette, ppTexture ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_FILE; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcFile ); - NewEntry.Width = Width; - NewEntry.Height = Height; - NewEntry.Depth = Depth; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_VOLUMETEXTURE; - ( *ppTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - m_TextureCache.Add( NewEntry ); - return S_OK; -} + std::unique_ptr includes( new (std::nothrow) CIncludeHandler ); + if ( !includes ) + return E_OUTOFMEMORY; + includes->SetCWD( str ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateVolumeTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) -{ - return CreateVolumeTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, D3DX_DEFAULT, D3DX_DEFAULT, - D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, - D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, ppVolumeTexture ); -} + hr = D3DCompile( fxData.get(), BytesRead, pstrName, pDefines, includes.get(), + pEntrypoint, pTarget, Flags1, Flags2, + ppCode, &pErrorBlob ); +#endif -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateVolumeTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Width, UINT Height, - UINT Depth, UINT MipLevels, DWORD Usage, - D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_TextureCache.GetSize(); ++i ) +#pragma warning( suppress : 6102 ) + if ( pErrorBlob ) { - DXUTCache_Texture& Entry = m_TextureCache[i]; - if( Entry.Location == DXUTCACHE_LOCATION_RESOURCE && - Entry.hSrcModule == hSrcModule && - !lstrcmpW( Entry.wszSource, pSrcResource ) && - Entry.Width == Width && - Entry.Height == Height && - Entry.Depth == Depth && - Entry.MipLevels == MipLevels && - Entry.Usage9 == Usage && - Entry.Format9 == Format && - Entry.Pool9 == Pool && - Entry.Type9 == D3DRTYPE_VOLUMETEXTURE ) - { - // A match is found. Obtain the IDirect3DVolumeTexture9 interface and return that. - return Entry.pTexture9->QueryInterface( IID_IDirect3DVolumeTexture9, ( LPVOID* )ppVolumeTexture ); - } + OutputDebugStringA( reinterpret_cast( pErrorBlob->GetBufferPointer() ) ); + pErrorBlob->Release(); } - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateVolumeTextureFromResourceEx( pDevice, hSrcModule, pSrcResource, Width, Height, Depth, MipLevels, - Usage, - Format, Pool, Filter, MipFilter, ColorKey, pSrcInfo, pPalette, - ppVolumeTexture ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Texture NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_RESOURCE; - NewEntry.hSrcModule = hSrcModule; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcResource ); - NewEntry.Width = Width; - NewEntry.Height = Height; - NewEntry.Depth = Depth; - NewEntry.MipLevels = MipLevels; - NewEntry.Usage9 = Usage; - NewEntry.Format9 = Format; - NewEntry.Pool9 = Pool; - NewEntry.Type9 = D3DRTYPE_VOLUMETEXTURE; - ( *ppVolumeTexture )->QueryInterface( IID_IDirect3DBaseTexture9, ( LPVOID* )&NewEntry.pTexture9 ); - - m_TextureCache.Add( NewEntry ); - return S_OK; + return hr; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateFont( LPDIRECT3DDEVICE9 pDevice, UINT Height, UINT Width, UINT Weight, - UINT MipLevels, BOOL Italic, DWORD CharSet, DWORD OutputPrecision, - DWORD Quality, DWORD PitchAndFamily, LPCTSTR pFacename, LPD3DXFONT* ppFont ) -{ - D3DXFONT_DESCW Desc; - - Desc.Height = Height; - Desc.Width = Width; - Desc.Weight = Weight; - Desc.MipLevels = MipLevels; - Desc.Italic = Italic; - Desc.CharSet = ( BYTE )CharSet; - Desc.OutputPrecision = ( BYTE )OutputPrecision; - Desc.Quality = ( BYTE )Quality; - Desc.PitchAndFamily = ( BYTE )PitchAndFamily; - wcscpy_s( Desc.FaceName, LF_FACESIZE, pFacename ); - - return CreateFontIndirect( pDevice, &Desc, ppFont ); -} - - +// Texture utilities //-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateFontIndirect( LPDIRECT3DDEVICE9 pDevice, CONST D3DXFONT_DESC *pDesc, LPD3DXFONT *ppFont ) - { - // Search the cache for a matching entry. - for( int i = 0; i < m_FontCache.GetSize(); ++i ) - { - DXUTCache_Font &Entry = m_FontCache[i]; - - if( Entry.Width == pDesc->Width && - Entry.Height == pDesc->Height && - Entry.Weight == pDesc->Weight && - Entry.MipLevels == pDesc->MipLevels && - Entry.Italic == pDesc->Italic && - Entry.CharSet == pDesc->CharSet && - Entry.OutputPrecision == pDesc->OutputPrecision && - Entry.Quality == pDesc->Quality && - Entry.PitchAndFamily == pDesc->PitchAndFamily && - CompareString( LOCALE_USER_DEFAULT, NORM_IGNORECASE, - Entry.FaceName, -1, - pDesc->FaceName, -1 ) == CSTR_EQUAL ) - { - // A match is found. Increment the reference and return the ID3DXFont object. - Entry.pFont->AddRef(); - *ppFont = Entry.pFont; - return S_OK; - } - } - HRESULT hr; +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateShaderResourceViewFromFile( ID3D11Device* d3dDevice, const wchar_t* szFileName, ID3D11ShaderResourceView** textureView ) +{ + if ( !d3dDevice || !szFileName || !textureView ) + return E_INVALIDARG; - // No matching entry. Load the resource and create a new entry. - hr = D3DXCreateFontIndirect( pDevice, pDesc, ppFont ); - if( FAILED( hr ) ) + WCHAR str[MAX_PATH]; + HRESULT hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, szFileName ); + if ( FAILED(hr) ) return hr; - DXUTCache_Font NewEntry; - ( D3DXFONT_DESC & )NewEntry = *pDesc; - NewEntry.pFont = *ppFont; - NewEntry.pFont->AddRef(); - - m_FontCache.Add( NewEntry ); - return S_OK; -} - + WCHAR ext[_MAX_EXT]; + _wsplitpath_s( str, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT ); -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateEffectFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - const D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, - LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT* ppEffect, - LPD3DXBUFFER* ppCompilationErrors ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_EffectCache.GetSize(); ++i ) + if ( _wcsicmp( ext, L".dds" ) == 0 ) { - DXUTCache_Effect& Entry = m_EffectCache[i]; - - if( Entry.Location == DXUTCACHE_LOCATION_FILE && - !lstrcmpW( Entry.wszSource, pSrcFile ) && - Entry.dwFlags == Flags ) - { - // A match is found. Increment the ref coutn and return the ID3DXEffect object. - *ppEffect = Entry.pEffect; - ( *ppEffect )->AddRef(); - return S_OK; - } + hr = DirectX::CreateDDSTextureFromFile( d3dDevice, str, nullptr, textureView ); } - - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. -#ifdef D3DXFX_LARGEADDRESS_HANDLE - Flags |= D3DXFX_LARGEADDRESSAWARE; -#endif - - hr = D3DXCreateEffectFromFile( pDevice, pSrcFile, pDefines, pInclude, Flags, pPool, ppEffect, - ppCompilationErrors ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Effect NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_FILE; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcFile ); - NewEntry.dwFlags = Flags; - NewEntry.pEffect = *ppEffect; - NewEntry.pEffect->AddRef(); - - m_EffectCache.Add( NewEntry ); - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::CreateEffectFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, const D3DXMACRO* pDefines, - LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, - LPD3DXEFFECT* ppEffect, LPD3DXBUFFER* ppCompilationErrors ) -{ - // Search the cache for a matching entry. - for( int i = 0; i < m_EffectCache.GetSize(); ++i ) + else { - DXUTCache_Effect& Entry = m_EffectCache[i]; - - if( Entry.Location == DXUTCACHE_LOCATION_RESOURCE && - Entry.hSrcModule == hSrcModule && - !lstrcmpW( Entry.wszSource, pSrcResource ) && - Entry.dwFlags == Flags ) - { - // A match is found. Increment the ref coutn and return the ID3DXEffect object. - *ppEffect = Entry.pEffect; - ( *ppEffect )->AddRef(); - return S_OK; - } + hr = DirectX::CreateWICTextureFromFile( d3dDevice, nullptr, str, nullptr, textureView ); } - HRESULT hr; - - // No matching entry. Load the resource and create a new entry. -#ifdef D3DXFX_LARGEADDRESS_HANDLE - Flags |= D3DXFX_LARGEADDRESSAWARE; -#endif - - hr = D3DXCreateEffectFromResource( pDevice, hSrcModule, pSrcResource, pDefines, pInclude, Flags, - pPool, ppEffect, ppCompilationErrors ); - if( FAILED( hr ) ) - return hr; - - DXUTCache_Effect NewEntry; - NewEntry.Location = DXUTCACHE_LOCATION_RESOURCE; - NewEntry.hSrcModule = hSrcModule; - wcscpy_s( NewEntry.wszSource, MAX_PATH, pSrcResource ); - NewEntry.dwFlags = Flags; - NewEntry.pEffect = *ppEffect; - NewEntry.pEffect->AddRef(); - - m_EffectCache.Add( NewEntry ); - return S_OK; + return hr; } - -//-------------------------------------------------------------------------------------- -// Device event callbacks -//-------------------------------------------------------------------------------------- - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::OnCreateDevice( IDirect3DDevice9* pd3dDevice ) +_Use_decl_annotations_ +HRESULT WINAPI DXUTCreateTextureFromFile( ID3D11Device* d3dDevice, const wchar_t* szFileName, ID3D11Resource** texture ) { - return S_OK; -} + if ( !d3dDevice || !szFileName || !texture ) + return E_INVALIDARG; + WCHAR str[MAX_PATH]; + HRESULT hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, szFileName ); + if ( FAILED(hr) ) + return hr; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::OnResetDevice( IDirect3DDevice9* pd3dDevice ) -{ - // Call OnResetDevice on all effect and font objects - for( int i = 0; i < m_EffectCache.GetSize(); ++i ) - m_EffectCache[i].pEffect->OnResetDevice(); - for( int i = 0; i < m_FontCache.GetSize(); ++i ) - m_FontCache[i].pFont->OnResetDevice(); + WCHAR ext[_MAX_EXT]; + _wsplitpath_s( str, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT ); + if ( _wcsicmp( ext, L".dds" ) == 0 ) + { + hr = DirectX::CreateDDSTextureFromFile( d3dDevice, str, texture, nullptr ); + } + else + { + hr = DirectX::CreateWICTextureFromFile( d3dDevice, nullptr, str, texture, nullptr ); + } - return S_OK; + return hr; } - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::OnLostDevice() +_Use_decl_annotations_ +HRESULT WINAPI DXUTSaveTextureToFile( ID3D11DeviceContext* pContext, ID3D11Resource* pSource, bool usedds, const wchar_t* szFileName ) { - // Call OnLostDevice on all effect and font objects - for( int i = 0; i < m_EffectCache.GetSize(); ++i ) - m_EffectCache[i].pEffect->OnLostDevice(); - for( int i = 0; i < m_FontCache.GetSize(); ++i ) - m_FontCache[i].pFont->OnLostDevice(); - - // Release all the default pool textures - for( int i = m_TextureCache.GetSize() - 1; i >= 0; --i ) - if( m_TextureCache[i].Pool9 == D3DPOOL_DEFAULT ) - { - SAFE_RELEASE( m_TextureCache[i].pTexture9 ); - m_TextureCache.Remove( i ); // Remove the entry - } - - return S_OK; -} + if ( !pContext || !pSource || !szFileName ) + return E_INVALIDARG; + HRESULT hr; -//-------------------------------------------------------------------------------------- -HRESULT CDXUTResourceCache::OnDestroyDevice() -{ - // Release all resources - for( int i = m_EffectCache.GetSize() - 1; i >= 0; --i ) + if ( usedds ) { - SAFE_RELEASE( m_EffectCache[i].pEffect ); - m_EffectCache.Remove( i ); + hr = DirectX::SaveDDSTextureToFile( pContext, pSource, szFileName ); } - for( int i = m_FontCache.GetSize() - 1; i >= 0; --i ) - { - SAFE_RELEASE( m_FontCache[i].pFont ); - m_FontCache.Remove( i ); - } - for( int i = m_TextureCache.GetSize() - 1; i >= 0; --i ) + else { - SAFE_RELEASE( m_TextureCache[i].pTexture9 ); - SAFE_RELEASE( m_TextureCache[i].pSRV11 ); - m_TextureCache.Remove( i ); + hr = DirectX::SaveWICTextureToFile( pContext, pSource, GUID_ContainerFormatBmp, szFileName ); } - return S_OK; + return hr; } //-------------------------------------------------------------------------------------- // Desc: Returns a view matrix for rendering to a face of a cubemap. //-------------------------------------------------------------------------------------- -D3DXMATRIX WINAPI DXUTGetCubeMapViewMatrix( DWORD dwFace ) +XMMATRIX WINAPI DXUTGetCubeMapViewMatrix( _In_ DWORD dwFace ) { - D3DXVECTOR3 vEyePt = D3DXVECTOR3( 0.0f, 0.0f, 0.0f ); - D3DXVECTOR3 vLookDir; - D3DXVECTOR3 vUpDir; - - switch( dwFace ) + static const XMVECTORF32 s_vLookDir[] = { - case D3DCUBEMAP_FACE_POSITIVE_X: - vLookDir = D3DXVECTOR3( 1.0f, 0.0f, 0.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); - break; - case D3DCUBEMAP_FACE_NEGATIVE_X: - vLookDir = D3DXVECTOR3( -1.0f, 0.0f, 0.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); - break; - case D3DCUBEMAP_FACE_POSITIVE_Y: - vLookDir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 0.0f, -1.0f ); - break; - case D3DCUBEMAP_FACE_NEGATIVE_Y: - vLookDir = D3DXVECTOR3( 0.0f, -1.0f, 0.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 0.0f, 1.0f ); - break; - case D3DCUBEMAP_FACE_POSITIVE_Z: - vLookDir = D3DXVECTOR3( 0.0f, 0.0f, 1.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); - break; - case D3DCUBEMAP_FACE_NEGATIVE_Z: - vLookDir = D3DXVECTOR3( 0.0f, 0.0f, -1.0f ); - vUpDir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); - break; - } + { 1.0f, 0.0f, 0.0f, 0.0f }, + { -1.0f, 0.0f, 0.0f, 0.0f }, + { 0.0f, 1.0f, 0.0f, 0.0f }, + { 0.0f, -1.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 1.0f, 0.0f }, + { 0.0f, 0.0f, -1.0f, 0.0f }, + }; - // Set the view transform for this cubemap surface - D3DXMATRIXA16 mView; - D3DXMatrixLookAtLH( &mView, &vEyePt, &vLookDir, &vUpDir ); - return mView; -} + static const XMVECTORF32 s_vUpDir[] = + { + { 0.0f, 1.0f, 0.0f, 0.0f }, + { 0.0f, 1.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, -1.0f, 0.0f }, + { 0.0f, 0.0f, 1.0f, 0.0f }, + { 0.0f, 1.0f, 0.0f, 0.0f }, + { 0.0f, 1.0f, 0.0f, 0.0f }, + }; + static_assert( _countof(s_vLookDir) == _countof(s_vUpDir), "arrays mismatch" ); -//-------------------------------------------------------------------------------------- -CDXUTLineManager::CDXUTLineManager() -{ - m_pd3dDevice = NULL; - m_pD3DXLine = NULL; -} - + if ( dwFace >= _countof(s_vLookDir) + || dwFace >= _countof(s_vUpDir) ) + return XMMatrixIdentity(); -//-------------------------------------------------------------------------------------- -CDXUTLineManager::~CDXUTLineManager() -{ - OnDeletedDevice(); + // Set the view transform for this cubemap surface + return XMMatrixLookAtLH( g_XMZero, s_vLookDir[ dwFace ], s_vUpDir[ dwFace ] ); } -//-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::OnCreatedDevice( IDirect3DDevice9* pd3dDevice ) -{ - m_pd3dDevice = pd3dDevice; - - HRESULT hr; - hr = D3DXCreateLine( m_pd3dDevice, &m_pD3DXLine ); - if( FAILED( hr ) ) - return hr; - - return S_OK; -} - +//====================================================================================== +// CDXUTResourceCache +//====================================================================================== -//-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::OnResetDevice() +CDXUTResourceCache::~CDXUTResourceCache() { - if( m_pD3DXLine ) - m_pD3DXLine->OnResetDevice(); - - return S_OK; + OnDestroyDevice(); } - //-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::OnRender() +_Use_decl_annotations_ +HRESULT CDXUTResourceCache::CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCWSTR pSrcFile, + ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ) { - HRESULT hr; - if( NULL == m_pD3DXLine ) + if ( !ppOutputRV ) return E_INVALIDARG; - bool bDrawingHasBegun = false; - float fLastWidth = 0.0f; - bool bLastAntiAlias = false; + *ppOutputRV = nullptr; - for( int i = 0; i < m_LinesList.GetSize(); i++ ) + for( auto it = m_TextureCache.cbegin(); it != m_TextureCache.cend(); ++it ) { - LINE_NODE* pLineNode = m_LinesList.GetAt( i ); - if( pLineNode ) + if( !wcscmp( it->wszSource, pSrcFile ) + && it->bSRGB == bSRGB + && it->pSRV11 ) { - if( !bDrawingHasBegun || - fLastWidth != pLineNode->fWidth || - bLastAntiAlias != pLineNode->bAntiAlias ) - { - if( bDrawingHasBegun ) - { - hr = m_pD3DXLine->End(); - if( FAILED( hr ) ) - return hr; - } - - m_pD3DXLine->SetWidth( pLineNode->fWidth ); - m_pD3DXLine->SetAntialias( pLineNode->bAntiAlias ); - - fLastWidth = pLineNode->fWidth; - bLastAntiAlias = pLineNode->bAntiAlias; - - hr = m_pD3DXLine->Begin(); - if( FAILED( hr ) ) - return hr; - bDrawingHasBegun = true; - } - - hr = m_pD3DXLine->Draw( pLineNode->pVertexList, pLineNode->dwVertexListCount, pLineNode->Color ); - if( FAILED( hr ) ) - return hr; + it->pSRV11->AddRef(); + *ppOutputRV = it->pSRV11; + return S_OK; } } - if( bDrawingHasBegun ) - { - hr = m_pD3DXLine->End(); - if( FAILED( hr ) ) - return hr; - } - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::OnLostDevice() -{ - if( m_pD3DXLine ) - m_pD3DXLine->OnLostDevice(); - - return S_OK; -} + WCHAR ext[_MAX_EXT]; + _wsplitpath_s( pSrcFile, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT ); - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::OnDeletedDevice() -{ - RemoveAllLines(); - SAFE_RELEASE( m_pD3DXLine ); - - return S_OK; -} - - -//-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::AddLine( int* pnLineID, D3DXVECTOR2* pVertexList, DWORD dwVertexListCount, D3DCOLOR Color, - float fWidth, float fScaleRatio, bool bAntiAlias ) -{ - if( pVertexList == NULL || dwVertexListCount == 0 ) - return E_INVALIDARG; - - LINE_NODE* pLineNode = new LINE_NODE; - if( pLineNode == NULL ) - return E_OUTOFMEMORY; - ZeroMemory( pLineNode, sizeof( LINE_NODE ) ); - - pLineNode->nLineID = m_LinesList.GetSize(); - pLineNode->Color = Color; - pLineNode->fWidth = fWidth; - pLineNode->bAntiAlias = bAntiAlias; - pLineNode->dwVertexListCount = dwVertexListCount; - - if( pnLineID ) - *pnLineID = pLineNode->nLineID; - - pLineNode->pVertexList = new D3DXVECTOR2[dwVertexListCount]; - if( pLineNode->pVertexList == NULL ) + HRESULT hr; + if ( _wcsicmp( ext, L".dds" ) == 0 ) { - delete pLineNode; - return E_OUTOFMEMORY; + hr = DirectX::CreateDDSTextureFromFileEx( pDevice, pSrcFile, 0, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, bSRGB, + nullptr, ppOutputRV, nullptr ); } - for( DWORD i = 0; i < dwVertexListCount; i++ ) + else { - pLineNode->pVertexList[i] = pVertexList[i] * fScaleRatio; + hr = DirectX::CreateWICTextureFromFileEx( pDevice, pContext, pSrcFile, 0, + D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, bSRGB, + nullptr, ppOutputRV ); } - m_LinesList.Add( pLineNode ); + if ( FAILED(hr) ) + return hr; + + DXUTCache_Texture entry; + wcscpy_s( entry.wszSource, MAX_PATH, pSrcFile ); + entry.bSRGB = bSRGB; + entry.pSRV11 = *ppOutputRV; + entry.pSRV11->AddRef(); + m_TextureCache.push_back( entry ); return S_OK; } //-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::AddRect( int* pnLineID, RECT rc, D3DCOLOR Color, float fWidth, float fScaleRatio, - bool bAntiAlias ) +_Use_decl_annotations_ +HRESULT CDXUTResourceCache::CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCSTR pSrcFile, + ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ) { - if( fWidth > 2.0f ) - { - D3DXVECTOR2 vertexList[8]; - - vertexList[0].x = ( float )rc.left; - vertexList[0].y = ( float )rc.top - ( fWidth / 2.0f ); - - vertexList[1].x = ( float )rc.left; - vertexList[1].y = ( float )rc.bottom + ( fWidth / 2.0f ); - - vertexList[2].x = ( float )rc.left; - vertexList[2].y = ( float )rc.bottom - 0.5f; - - vertexList[3].x = ( float )rc.right; - vertexList[3].y = ( float )rc.bottom - 0.5f; - - vertexList[4].x = ( float )rc.right; - vertexList[4].y = ( float )rc.bottom + ( fWidth / 2.0f ); - - vertexList[5].x = ( float )rc.right; - vertexList[5].y = ( float )rc.top - ( fWidth / 2.0f ); - - vertexList[6].x = ( float )rc.right; - vertexList[6].y = ( float )rc.top; - - vertexList[7].x = ( float )rc.left; - vertexList[7].y = ( float )rc.top; - - return AddLine( pnLineID, vertexList, 8, Color, fWidth, fScaleRatio, bAntiAlias ); - } - else - { - D3DXVECTOR2 vertexList[5]; - vertexList[0].x = ( float )rc.left; - vertexList[0].y = ( float )rc.top; - - vertexList[1].x = ( float )rc.left; - vertexList[1].y = ( float )rc.bottom; - - vertexList[2].x = ( float )rc.right; - vertexList[2].y = ( float )rc.bottom; - - vertexList[3].x = ( float )rc.right; - vertexList[3].y = ( float )rc.top; - - vertexList[4].x = ( float )rc.left; - vertexList[4].y = ( float )rc.top; + WCHAR szSrcFile[MAX_PATH]; + MultiByteToWideChar( CP_ACP, 0, pSrcFile, -1, szSrcFile, MAX_PATH ); + szSrcFile[MAX_PATH - 1] = 0; - return AddLine( pnLineID, vertexList, 5, Color, fWidth, fScaleRatio, bAntiAlias ); - } + return CreateTextureFromFile( pDevice, pContext, szSrcFile, ppOutputRV, bSRGB ); } - //-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::RemoveLine( int nLineID ) -{ - for( int i = 0; i < m_LinesList.GetSize(); i++ ) - { - LINE_NODE* pLineNode = m_LinesList.GetAt( i ); - if( pLineNode && pLineNode->nLineID == nLineID ) - { - SAFE_DELETE_ARRAY( pLineNode->pVertexList ); - delete pLineNode; - m_LinesList.SetAt( i, NULL ); - } - } - - return S_OK; -} +// Device event callbacks +//-------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------- -HRESULT CDXUTLineManager::RemoveAllLines() +HRESULT CDXUTResourceCache::OnDestroyDevice() { - for( int i = 0; i < m_LinesList.GetSize(); i++ ) + // Release all resources + for( size_t j = 0; j < m_TextureCache.size(); ++j ) { - LINE_NODE* pLineNode = m_LinesList.GetAt( i ); - if( pLineNode ) - { - SAFE_DELETE_ARRAY( pLineNode->pVertexList ); - delete pLineNode; - } + SAFE_RELEASE( m_TextureCache[ j ].pSRV11 ); } - m_LinesList.RemoveAll(); + m_TextureCache.clear(); + m_TextureCache.shrink_to_fit(); return S_OK; } -//-------------------------------------------------------------------------------------- -CDXUTTextHelper::CDXUTTextHelper( ID3DXFont* pFont9, ID3DXSprite* pSprite9, int nLineHeight ) -{ - Init( pFont9, pSprite9, nLineHeight ); -} +//====================================================================================== +// CDXUTTextHelper +//====================================================================================== -CDXUTTextHelper::CDXUTTextHelper( ID3D11Device* pd3d11Device, ID3D11DeviceContext* pd3d11DeviceContext, CDXUTDialogResourceManager* pManager, int nLineHeight ) +_Use_decl_annotations_ +CDXUTTextHelper::CDXUTTextHelper( ID3D11Device* pd3d11Device, ID3D11DeviceContext* pd3d11DeviceContext, CDXUTDialogResourceManager* pManager, int nLineHeight ) : + m_clr(0, 0, 0, 0), + m_pt{ 0, 0 }, + m_nLineHeight{}, + m_pd3d11Device(nullptr), + m_pd3d11DeviceContext(nullptr), + m_pManager(nullptr) { - Init( NULL, NULL, nLineHeight ); + Init( nLineHeight ); + m_pd3d11Device = pd3d11Device; m_pd3d11DeviceContext = pd3d11DeviceContext; m_pManager = pManager; } + CDXUTTextHelper::~CDXUTTextHelper() { } + //-------------------------------------------------------------------------------------- -void CDXUTTextHelper::Init( ID3DXFont* pFont9, ID3DXSprite* pSprite9, - int nLineHeight ) +void CDXUTTextHelper::Init( _In_ int nLineHeight ) { - m_pFont9 = pFont9; - m_pSprite9 = pSprite9; - m_clr = D3DXCOLOR( 1, 1, 1, 1 ); + m_clr = DirectX::XMFLOAT4( 1, 1, 1, 1 ); m_pt.x = 0; m_pt.y = 0; m_nLineHeight = nLineHeight; - m_pd3d11Device = NULL; - m_pd3d11DeviceContext = NULL; - m_pManager = NULL; + m_pd3d11Device = nullptr; + m_pd3d11DeviceContext = nullptr; + m_pManager = nullptr; // Create a blend state if a sprite is passed in } //-------------------------------------------------------------------------------------- -HRESULT CDXUTTextHelper::DrawFormattedTextLine( const WCHAR* strMsg, ... ) +HRESULT CDXUTTextHelper::DrawFormattedTextLine( _In_z_ const WCHAR* strMsg, ... ) { WCHAR strBuffer[512]; @@ -1629,19 +949,16 @@ HRESULT CDXUTTextHelper::DrawFormattedTextLine( const WCHAR* strMsg, ... ) //-------------------------------------------------------------------------------------- -HRESULT CDXUTTextHelper::DrawTextLine( const WCHAR* strMsg ) +HRESULT CDXUTTextHelper::DrawTextLine( _In_z_ const WCHAR* strMsg ) { - if( NULL == m_pFont9 && NULL == m_pd3d11DeviceContext ) + if( !m_pd3d11DeviceContext ) return DXUT_ERR_MSGBOX( L"DrawTextLine", E_INVALIDARG ); HRESULT hr = S_OK; RECT rc; SetRect( &rc, m_pt.x, m_pt.y, 0, 0 ); - if( m_pFont9 ) - hr = m_pFont9->DrawText( m_pSprite9, strMsg, -1, &rc, DT_NOCLIP, m_clr ); - else if( m_pd3d11DeviceContext ) - DrawText11DXUT( m_pd3d11Device, m_pd3d11DeviceContext, strMsg, rc, m_clr, - (float)m_pManager->m_nBackBufferWidth, (float)m_pManager->m_nBackBufferHeight, false ); + DrawText11DXUT( m_pd3d11Device, m_pd3d11DeviceContext, strMsg, rc, m_clr, + (float)m_pManager->m_nBackBufferWidth, (float)m_pManager->m_nBackBufferHeight, false ); if( FAILED( hr ) ) return DXTRACE_ERR_MSGBOX( L"DrawText", hr ); @@ -1652,7 +969,9 @@ HRESULT CDXUTTextHelper::DrawTextLine( const WCHAR* strMsg ) } -HRESULT CDXUTTextHelper::DrawFormattedTextLine( RECT& rc, DWORD dwFlags, const WCHAR* strMsg, ... ) +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT CDXUTTextHelper::DrawFormattedTextLine( const RECT& rc, const WCHAR* strMsg, ... ) { WCHAR strBuffer[512]; @@ -1662,21 +981,20 @@ HRESULT CDXUTTextHelper::DrawFormattedTextLine( RECT& rc, DWORD dwFlags, const W strBuffer[511] = L'\0'; va_end( args ); - return DrawTextLine( rc, dwFlags, strBuffer ); + return DrawTextLine( rc, strBuffer ); } -HRESULT CDXUTTextHelper::DrawTextLine( RECT& rc, DWORD dwFlags, const WCHAR* strMsg ) +//-------------------------------------------------------------------------------------- +_Use_decl_annotations_ +HRESULT CDXUTTextHelper::DrawTextLine( const RECT& rc, const WCHAR* strMsg ) { - if( NULL == m_pFont9 && NULL == m_pd3d11DeviceContext ) + if( !m_pd3d11DeviceContext ) return DXUT_ERR_MSGBOX( L"DrawTextLine", E_INVALIDARG ); HRESULT hr = S_OK; - if( m_pFont9 ) - hr = m_pFont9->DrawText( m_pSprite9, strMsg, -1, &rc, dwFlags, m_clr ); - else if( m_pd3d11DeviceContext ) - DrawText11DXUT( m_pd3d11Device, m_pd3d11DeviceContext, strMsg, rc, m_clr, - (float)m_pManager->m_nBackBufferWidth, (float)m_pManager->m_nBackBufferHeight, false ); + DrawText11DXUT( m_pd3d11Device, m_pd3d11DeviceContext, strMsg, rc, m_clr, + (float)m_pManager->m_nBackBufferWidth, (float)m_pManager->m_nBackBufferHeight, false ); if( FAILED( hr ) ) return DXTRACE_ERR_MSGBOX( L"DrawText", hr ); @@ -1690,9 +1008,6 @@ HRESULT CDXUTTextHelper::DrawTextLine( RECT& rc, DWORD dwFlags, const WCHAR* str //-------------------------------------------------------------------------------------- void CDXUTTextHelper::Begin() { - if( m_pSprite9 ) - m_pSprite9->Begin( D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_TEXTURE ); - if( m_pd3d11DeviceContext ) { m_pManager->StoreD3D11State( m_pd3d11DeviceContext ); @@ -1701,11 +1016,11 @@ void CDXUTTextHelper::Begin() } + + +//-------------------------------------------------------------------------------------- void CDXUTTextHelper::End() { - if( m_pSprite9 ) - m_pSprite9->End(); - if( m_pd3d11DeviceContext ) { m_pManager->RestoreD3D11State( m_pd3d11DeviceContext ); diff --git a/FriedLiver/Source/DXUT/Optional/SDKmisc.h b/FriedLiver/Source/DXUT/Optional/SDKmisc.h index ec7de8e0..37814043 100644 --- a/FriedLiver/Source/DXUT/Optional/SDKmisc.h +++ b/FriedLiver/Source/DXUT/Optional/SDKmisc.h @@ -3,159 +3,44 @@ // // Various helper functionality that is shared between SDK samples // -// Copyright (c) Microsoft Corporation. All rights reserved +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// +// http://go.microsoft.com/fwlink/?LinkId=320437 //-------------------------------------------------------------------------------------- #pragma once -#ifndef SDKMISC_H -#define SDKMISC_H - //----------------------------------------------------------------------------- // Resource cache for textures, fonts, meshs, and effects. // Use DXUTGetGlobalResourceCache() to access the global cache //----------------------------------------------------------------------------- -enum DXUTCACHE_SOURCELOCATION -{ - DXUTCACHE_LOCATION_FILE, - DXUTCACHE_LOCATION_RESOURCE -}; - struct DXUTCache_Texture { - DXUTCACHE_SOURCELOCATION Location; WCHAR wszSource[MAX_PATH]; - HMODULE hSrcModule; - UINT Width; - UINT Height; - UINT Depth; - UINT MipLevels; - UINT MiscFlags; - union - { - DWORD Usage9; - D3D11_USAGE Usage11; - }; - union - { - D3DFORMAT Format9; - DXGI_FORMAT Format; - }; - union - { - D3DPOOL Pool9; - UINT CpuAccessFlags; - }; - union - { - D3DRESOURCETYPE Type9; - UINT BindFlags; - }; - IDirect3DBaseTexture9* pTexture9; + bool bSRGB; ID3D11ShaderResourceView* pSRV11; - DXUTCache_Texture() - { - pTexture9 = NULL; - pSRV11 = NULL; - } -}; - -struct DXUTCache_Font : public D3DXFONT_DESC -{ - ID3DXFont* pFont; -}; - -struct DXUTCache_Effect -{ - DXUTCACHE_SOURCELOCATION Location; - WCHAR wszSource[MAX_PATH]; - HMODULE hSrcModule; - DWORD dwFlags; - ID3DXEffect* pEffect; + DXUTCache_Texture() noexcept : + wszSource{}, + bSRGB(false), + pSRV11(nullptr) + { + } }; class CDXUTResourceCache { public: - ~CDXUTResourceCache(); - - HRESULT CreateTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DTEXTURE9* ppTexture ); - HRESULT CreateTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, - LPDIRECT3DTEXTURE9* ppTexture ); - HRESULT CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCTSTR pSrcFile, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB=false ); - HRESULT CreateTextureFromFile( ID3D11Device* pDevice, ID3D11DeviceContext *pContext, LPCSTR pSrcFile, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB=false ); - HRESULT CreateTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Width, - UINT Height, UINT MipLevels, DWORD Usage, D3DFORMAT Format, - D3DPOOL Pool, DWORD Filter, DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DTEXTURE9* ppTexture ); - HRESULT CreateTextureFromFileEx( ID3D11Device* pDevice, ID3D11DeviceContext* pContext, LPCTSTR pSrcFile, - D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11ThreadPump* pPump, - ID3D11ShaderResourceView** ppOutputRV, bool bSRGB ); - HRESULT CreateTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, LPDIRECT3DTEXTURE9* ppTexture ); - HRESULT CreateTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Width, UINT Height, UINT MipLevels, - DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, D3DXIMAGE_INFO* pSrcInfo, - PALETTEENTRY* pPalette, LPDIRECT3DTEXTURE9* ppTexture ); - HRESULT CreateCubeTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ); - HRESULT CreateCubeTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Size, - UINT MipLevels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, - DWORD Filter, DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ); - HRESULT CreateCubeTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ); - HRESULT CreateCubeTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Size, UINT MipLevels, - DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DCUBETEXTURE9* ppCubeTexture ); - HRESULT CreateVolumeTextureFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ); - HRESULT CreateVolumeTextureFromFileEx( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Width, - UINT Height, UINT Depth, UINT MipLevels, DWORD Usage, - D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DVOLUMETEXTURE9* ppTexture ); - HRESULT CreateVolumeTextureFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ); - HRESULT CreateVolumeTextureFromResourceEx( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, UINT Width, UINT Height, - UINT Depth, UINT MipLevels, DWORD Usage, - D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, - DWORD MipFilter, D3DCOLOR ColorKey, - D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, - LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ); - HRESULT CreateFont( LPDIRECT3DDEVICE9 pDevice, UINT Height, UINT Width, UINT Weight, - UINT MipLevels, BOOL Italic, DWORD CharSet, DWORD OutputPrecision, - DWORD Quality, DWORD PitchAndFamily, LPCTSTR pFacename, LPD3DXFONT* ppFont ); - HRESULT CreateFontIndirect( LPDIRECT3DDEVICE9 pDevice, CONST D3DXFONT_DESC *pDesc, LPD3DXFONT *ppFont ); - HRESULT CreateEffectFromFile( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, - const D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, - LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT* ppEffect, - LPD3DXBUFFER* ppCompilationErrors ); - HRESULT CreateEffectFromResource( LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, - LPCTSTR pSrcResource, const D3DXMACRO* pDefines, - LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, - LPD3DXEFFECT* ppEffect, LPD3DXBUFFER* ppCompilationErrors ); + ~CDXUTResourceCache(); + HRESULT CreateTextureFromFile( _In_ ID3D11Device* pDevice, _In_ ID3D11DeviceContext *pContext, _In_z_ LPCWSTR pSrcFile, + _Outptr_ ID3D11ShaderResourceView** ppOutputRV, _In_ bool bSRGB=false ); + HRESULT CreateTextureFromFile( _In_ ID3D11Device* pDevice, _In_ ID3D11DeviceContext *pContext, _In_z_ LPCSTR pSrcFile, + _Outptr_ ID3D11ShaderResourceView** ppOutputRV, _In_ bool bSRGB=false ); public: - HRESULT OnCreateDevice( IDirect3DDevice9* pd3dDevice ); - HRESULT OnResetDevice( IDirect3DDevice9* pd3dDevice ); - HRESULT OnLostDevice(); - HRESULT OnDestroyDevice(); + HRESULT OnDestroyDevice(); protected: friend CDXUTResourceCache& WINAPI DXUTGetGlobalResourceCache(); @@ -163,15 +48,11 @@ class CDXUTResourceCache friend HRESULT WINAPI DXUTReset3DEnvironment(); friend void WINAPI DXUTCleanup3DEnvironment( bool bReleaseSettings ); - CDXUTResourceCache() - { - } + CDXUTResourceCache() = default; - CGrowableArray m_TextureCache; - CGrowableArray m_EffectCache; - CGrowableArray m_FontCache; + std::vector m_TextureCache; }; - + CDXUTResourceCache& WINAPI DXUTGetGlobalResourceCache(); @@ -182,187 +63,70 @@ class CDXUTDialogResourceManager; class CDXUTTextHelper { public: - CDXUTTextHelper( ID3DXFont* pFont9 = NULL, ID3DXSprite* pSprite9 = NULL, - int nLineHeight = 15 ); - CDXUTTextHelper( ID3D11Device* pd3d11Device, ID3D11DeviceContext* pd3dDeviceContext, CDXUTDialogResourceManager* pManager, int nLineHeight ); - ~CDXUTTextHelper(); + CDXUTTextHelper( _In_ ID3D11Device* pd3d11Device, _In_ ID3D11DeviceContext* pd3dDeviceContext, _In_ CDXUTDialogResourceManager* pManager, _In_ int nLineHeight ); + ~CDXUTTextHelper(); - void Init( ID3DXFont* pFont9 = NULL, ID3DXSprite* pSprite9 = NULL, - int nLineHeight = 15 ); + void Init( _In_ int nLineHeight = 15 ); - void SetInsertionPos( int x, int y ) - { - m_pt.x = x; m_pt.y = y; - } - void SetForegroundColor( D3DXCOLOR clr ) + void SetInsertionPos( _In_ int x, _In_ int y ) { - m_clr = clr; + m_pt.x = x; + m_pt.y = y; } + void SetForegroundColor( _In_ DirectX::XMFLOAT4 clr ) { m_clr = clr; } + void SetForegroundColor( _In_ DirectX::FXMVECTOR clr ) { XMStoreFloat4( &m_clr, clr ); } void Begin(); - HRESULT DrawFormattedTextLine( const WCHAR* strMsg, ... ); - HRESULT DrawTextLine( const WCHAR* strMsg ); - HRESULT DrawFormattedTextLine( RECT& rc, DWORD dwFlags, const WCHAR* strMsg, ... ); - HRESULT DrawTextLine( RECT& rc, DWORD dwFlags, const WCHAR* strMsg ); + HRESULT DrawFormattedTextLine( _In_z_ const WCHAR* strMsg, ... ); + HRESULT DrawTextLine( _In_z_ const WCHAR* strMsg ); + HRESULT DrawFormattedTextLine( _In_ const RECT& rc, _In_z_ const WCHAR* strMsg, ... ); + HRESULT DrawTextLine( _In_ const RECT& rc, _In_z_ const WCHAR* strMsg ); void End(); protected: - ID3DXFont* m_pFont9; - ID3DXSprite* m_pSprite9; - D3DXCOLOR m_clr; + DirectX::XMFLOAT4 m_clr; POINT m_pt; int m_nLineHeight; - // D3D11 font - ID3D11Device* m_pd3d11Device; - ID3D11DeviceContext* m_pd3d11DeviceContext; - CDXUTDialogResourceManager* m_pManager; -}; - - -//-------------------------------------------------------------------------------------- -// Manages a persistent list of lines and draws them using ID3DXLine -//-------------------------------------------------------------------------------------- -class CDXUTLineManager -{ -public: - CDXUTLineManager(); - ~CDXUTLineManager(); - - HRESULT OnCreatedDevice( IDirect3DDevice9* pd3dDevice ); - HRESULT OnResetDevice(); - HRESULT OnRender(); - HRESULT OnLostDevice(); - HRESULT OnDeletedDevice(); - - HRESULT AddLine( int* pnLineID, D3DXVECTOR2* pVertexList, DWORD dwVertexListCount, D3DCOLOR Color, float fWidth, - float fScaleRatio, bool bAntiAlias ); - HRESULT AddRect( int* pnLineID, RECT rc, D3DCOLOR Color, float fWidth, float fScaleRatio, bool bAntiAlias ); - HRESULT RemoveLine( int nLineID ); - HRESULT RemoveAllLines(); - -protected: - struct LINE_NODE - { - int nLineID; - D3DCOLOR Color; - float fWidth; - bool bAntiAlias; - float fScaleRatio; - D3DXVECTOR2* pVertexList; - DWORD dwVertexListCount; - }; - - CGrowableArray m_LinesList; - IDirect3DDevice9* m_pd3dDevice; - ID3DXLine* m_pD3DXLine; + // D3D11 font + ID3D11Device* m_pd3d11Device; + ID3D11DeviceContext* m_pd3d11DeviceContext; + CDXUTDialogResourceManager* m_pManager; }; //-------------------------------------------------------------------------------------- // Shared code for samples to ask user if they want to use a REF device or quit //-------------------------------------------------------------------------------------- -void WINAPI DXUTDisplaySwitchingToREFWarning( DXUTDeviceVersion ver ); +void WINAPI DXUTDisplaySwitchingToREFWarning(); //-------------------------------------------------------------------------------------- // Tries to finds a media file by searching in common locations //-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTFindDXSDKMediaFileCch( __out_ecount(cchDest) WCHAR* strDestPath, - __in int cchDest, - __in LPCWSTR strFilename ); -HRESULT WINAPI DXUTSetMediaSearchPath( LPCWSTR strPath ); +HRESULT WINAPI DXUTFindDXSDKMediaFileCch( _Out_writes_(cchDest) WCHAR* strDestPath, + _In_ int cchDest, + _In_z_ LPCWSTR strFilename ); +HRESULT WINAPI DXUTSetMediaSearchPath( _In_z_ LPCWSTR strPath ); LPCWSTR WINAPI DXUTGetMediaSearchPath(); //-------------------------------------------------------------------------------------- -// Returns a view matrix for rendering to a face of a cubemap. +// Compiles HLSL shaders //-------------------------------------------------------------------------------------- -D3DXMATRIX WINAPI DXUTGetCubeMapViewMatrix( DWORD dwFace ); - +HRESULT WINAPI DXUTCompileFromFile( _In_z_ LPCWSTR pFileName, + _In_reads_opt_(_Inexpressible_(pDefines->Name != NULL)) const D3D_SHADER_MACRO* pDefines, + _In_z_ LPCSTR pEntrypoint, _In_z_ LPCSTR pTarget, + _In_ UINT Flags1, _In_ UINT Flags2, + _Outptr_ ID3DBlob** ppCode ); //-------------------------------------------------------------------------------------- -// Simple helper stack class +// Texture utilities //-------------------------------------------------------------------------------------- -template class CDXUTStack -{ -private: - UINT m_MemorySize; - UINT m_NumElements; - T* m_pData; - - bool EnsureStackSize( UINT64 iElements ) - { - if( m_MemorySize > iElements ) - return true; - - T* pTemp = new T[ ( size_t )( iElements * 2 + 256 ) ]; - if( !pTemp ) - return false; - - if( m_NumElements ) - { - CopyMemory( pTemp, m_pData, ( size_t )( m_NumElements * sizeof( T ) ) ); - } - - if( m_pData ) delete []m_pData; - m_pData = pTemp; - return true; - } - -public: - CDXUTStack() - { - m_pData = NULL; m_NumElements = 0; m_MemorySize = 0; - } - ~CDXUTStack() - { - if( m_pData ) delete []m_pData; - } - - UINT GetCount() - { - return m_NumElements; - } - T GetAt( UINT i ) - { - return m_pData[i]; - } - T GetTop() - { - if( m_NumElements < 1 ) - return NULL; - - return m_pData[ m_NumElements - 1 ]; - } +HRESULT WINAPI DXUTCreateShaderResourceViewFromFile( _In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName, _Outptr_ ID3D11ShaderResourceView** textureView ); +HRESULT WINAPI DXUTCreateTextureFromFile( _In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName, _Outptr_ ID3D11Resource** texture ); +HRESULT WINAPI DXUTSaveTextureToFile( _In_ ID3D11DeviceContext* pContext, _In_ ID3D11Resource* pSource, _In_ bool usedds, _In_z_ const wchar_t* szFileName ); - T GetRelative( INT i ) - { - INT64 iVal = m_NumElements - 1 + i; - if( iVal < 0 ) - return NULL; - return m_pData[ iVal ]; - } - - bool Push( T pElem ) - { - if( !EnsureStackSize( m_NumElements + 1 ) ) - return false; - - m_pData[m_NumElements] = pElem; - m_NumElements++; - - return true; - } - - T Pop() - { - if( m_NumElements < 1 ) - return NULL; - - m_NumElements --; - return m_pData[m_NumElements]; - } -}; - - -#endif +//-------------------------------------------------------------------------------------- +// Returns a view matrix for rendering to a face of a cubemap. +//-------------------------------------------------------------------------------------- +DirectX::XMMATRIX WINAPI DXUTGetCubeMapViewMatrix( _In_ DWORD dwFace ); diff --git a/FriedLiver/Source/DXUT/Optional/directx.ico b/FriedLiver/Source/DXUT/Optional/directx.ico new file mode 100644 index 0000000000000000000000000000000000000000..bc43c1b2085df668dffff26d80adcb0ef73f23a9 GIT binary patch literal 25214 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 = useMaterial ? 1 : 0; - cbufferConstant->overlayColor = D3DXVECTOR3(overlayColor.x, overlayColor.y, overlayColor.z); + cbufferConstant->overlayColor = DirectX::XMFLOAT3(overlayColor.x, overlayColor.y, overlayColor.z); pd3dDeviceContext->Unmap(s_ConstantBuffer, 0); // copy lightbuffer to gpu diff --git a/FriedLiver/Source/DepthSensing/DX11PhongLighting.h b/FriedLiver/Source/DepthSensing/DX11PhongLighting.h index 7f82e19f..3dcb56bd 100644 --- a/FriedLiver/Source/DepthSensing/DX11PhongLighting.h +++ b/FriedLiver/Source/DepthSensing/DX11PhongLighting.h @@ -10,28 +10,28 @@ class DX11PhongLighting struct ConstantBufferLight : ConstantBufferBase { - D3DXVECTOR4 lightAmbient; - D3DXVECTOR4 lightDiffuse; - D3DXVECTOR4 lightSpecular; + DirectX::XMFLOAT4 lightAmbient; + DirectX::XMFLOAT4 lightDiffuse; + DirectX::XMFLOAT4 lightSpecular; - D3DXVECTOR3 lightDirection; + DirectX::XMFLOAT3 lightDirection; float materialShininess; - D3DXVECTOR4 materialAmbient; - D3DXVECTOR4 materialSpecular; - D3DXVECTOR4 materialDiffuse; + DirectX::XMFLOAT4 materialAmbient; + DirectX::XMFLOAT4 materialSpecular; + DirectX::XMFLOAT4 materialDiffuse; void SetDefault() { // default light settings - lightAmbient = D3DXVECTOR4(GlobalAppState::get().s_lightAmbient.getData()); - lightDiffuse = D3DXVECTOR4(GlobalAppState::get().s_lightDiffuse.getData()); - lightSpecular = D3DXVECTOR4(GlobalAppState::get().s_lightSpecular.getData()); - lightDirection = D3DXVECTOR3(GlobalAppState::get().s_lightDirection.getData()); + lightAmbient = DirectX::XMFLOAT4(GlobalAppState::get().s_lightAmbient.getData()); + lightDiffuse = DirectX::XMFLOAT4(GlobalAppState::get().s_lightDiffuse.getData()); + lightSpecular = DirectX::XMFLOAT4(GlobalAppState::get().s_lightSpecular.getData()); + lightDirection = DirectX::XMFLOAT3(GlobalAppState::get().s_lightDirection.getData()); - materialAmbient = D3DXVECTOR4(GlobalAppState::get().s_materialAmbient.getData()); - materialSpecular = D3DXVECTOR4(GlobalAppState::get().s_materialSpecular.getData()); - materialDiffuse = D3DXVECTOR4(GlobalAppState::get().s_materialDiffuse.getData()); + materialAmbient = DirectX::XMFLOAT4(GlobalAppState::get().s_materialAmbient.getData()); + materialSpecular = DirectX::XMFLOAT4(GlobalAppState::get().s_materialSpecular.getData()); + materialDiffuse = DirectX::XMFLOAT4(GlobalAppState::get().s_materialDiffuse.getData()); materialShininess = GlobalAppState::get().s_materialShininess; } }; @@ -71,7 +71,7 @@ class DX11PhongLighting struct cbConstant { unsigned int useMaterial; - D3DXVECTOR3 overlayColor; + DirectX::XMFLOAT3 overlayColor; }; static ID3D11Buffer* s_ConstantBuffer; diff --git a/FriedLiver/Source/DepthSensing/DX11QuadDrawer.cpp b/FriedLiver/Source/DepthSensing/DX11QuadDrawer.cpp index b850a47d..c9d3320e 100644 --- a/FriedLiver/Source/DepthSensing/DX11QuadDrawer.cpp +++ b/FriedLiver/Source/DepthSensing/DX11QuadDrawer.cpp @@ -105,10 +105,10 @@ HRESULT DX11QuadDrawer::OnD3D11CreateDevice( ID3D11Device* pd3dDevice ) SimpleVertex vertices[] = { - { D3DXVECTOR3( -1.0f, -1.0f, 0.0f ), D3DXVECTOR2( 0.0f, 1.0f ) }, - { D3DXVECTOR3( 1.0f, -1.0f, 0.0f ), D3DXVECTOR2( 1.0f, 1.0f ) }, - { D3DXVECTOR3( 1.0f, 1.0f, 0.0f ), D3DXVECTOR2( 1.0f, 0.0f ) }, - { D3DXVECTOR3( -1.0f, 1.0f, 0.0f ), D3DXVECTOR2( 0.0f, 0.0f ) } + { DirectX::XMFLOAT3( -1.0f, -1.0f, 0.0f ), DirectX::XMFLOAT2( 0.0f, 1.0f ) }, + { DirectX::XMFLOAT3( 1.0f, -1.0f, 0.0f ), DirectX::XMFLOAT2( 1.0f, 1.0f ) }, + { DirectX::XMFLOAT3( 1.0f, 1.0f, 0.0f ), DirectX::XMFLOAT2( 1.0f, 0.0f ) }, + { DirectX::XMFLOAT3( -1.0f, 1.0f, 0.0f ), DirectX::XMFLOAT2( 0.0f, 0.0f ) } }; D3D11_BUFFER_DESC desc; @@ -262,7 +262,7 @@ void DX11QuadDrawer::OnD3D11DestroyDevice() cutilSafeCall(cudaGraphicsUnregisterResource(s_dCuda2)); } -HRESULT DX11QuadDrawer::RenderQuadDynamicDEPTHasHSV(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const float* d_data, float minDepth, float maxDepth, unsigned int width, unsigned int height, float scale /*= 1.0f*/, D3DXVECTOR2 Pow2Ratios /*= D3DXVECTOR2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) +HRESULT DX11QuadDrawer::RenderQuadDynamicDEPTHasHSV(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const float* d_data, float minDepth, float maxDepth, unsigned int width, unsigned int height, float scale /*= 1.0f*/, DirectX::XMFLOAT2 Pow2Ratios /*= DirectX::XMFLOAT2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) { //TODO this function is not very efficient... float4* d_dataFloat4; @@ -274,7 +274,7 @@ HRESULT DX11QuadDrawer::RenderQuadDynamicDEPTHasHSV(ID3D11Device* pd3dDevice, ID } -HRESULT DX11QuadDrawer::RenderQuadDynamicUCHAR4(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const uchar4* d_data, unsigned int width, unsigned int height, float scale /*= 1.0f*/, D3DXVECTOR2 Pow2Ratios /*= D3DXVECTOR2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) +HRESULT DX11QuadDrawer::RenderQuadDynamicUCHAR4(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const uchar4* d_data, unsigned int width, unsigned int height, float scale /*= 1.0f*/, DirectX::XMFLOAT2 Pow2Ratios /*= DirectX::XMFLOAT2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) { //TODO this function is not very efficient... float4* d_dataFloat4; @@ -286,7 +286,7 @@ HRESULT DX11QuadDrawer::RenderQuadDynamicUCHAR4(ID3D11Device* pd3dDevice, ID3D11 } -HRESULT DX11QuadDrawer::RenderQuadDynamic(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale /*= 1.0f */, D3DXVECTOR2 Pow2Ratios /*= D3DXVECTOR2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) +HRESULT DX11QuadDrawer::RenderQuadDynamic(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale /*= 1.0f */, DirectX::XMFLOAT2 Pow2Ratios /*= DirectX::XMFLOAT2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) { HRESULT hr = S_OK; @@ -329,7 +329,7 @@ HRESULT DX11QuadDrawer::RenderQuadDynamic(ID3D11Device* pd3dDevice, ID3D11Device return hr; } -void DX11QuadDrawer::RenderQuadHelper(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, cudaGraphicsResource* pCuda, ID3D11ShaderResourceView* pTmpTextureSRV, unsigned int size, float scale, D3DXVECTOR2 Pow2Ratios , ID3D11PixelShader* pixelShader) +void DX11QuadDrawer::RenderQuadHelper(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, cudaGraphicsResource* pCuda, ID3D11ShaderResourceView* pTmpTextureSRV, unsigned int size, float scale, DirectX::XMFLOAT2 Pow2Ratios , ID3D11PixelShader* pixelShader) { cudaArray* in_array; cutilSafeCall(cudaGraphicsMapResources(1, &pCuda, 0)); // Map DX texture to Cuda @@ -339,7 +339,7 @@ void DX11QuadDrawer::RenderQuadHelper(ID3D11DeviceContext* pd3dDeviceContext, fl RenderQuad(pd3dDeviceContext, pTmpTextureSRV, scale, Pow2Ratios, pixelShader); } -void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale /*= 1.0f */, D3DXVECTOR2 Pow2Ratios /*= float2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) +void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale /*= 1.0f */, DirectX::XMFLOAT2 Pow2Ratios /*= float2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) { if(nChannels == 4) { @@ -359,7 +359,7 @@ void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, float* d } } -void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11ShaderResourceView* srv, float scale /*= 1.0f */, D3DXVECTOR2 Pow2Ratios /*= float2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) +void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11ShaderResourceView* srv, float scale /*= 1.0f */, DirectX::XMFLOAT2 Pow2Ratios /*= float2(1.0f, 1.0f)*/, ID3D11PixelShader* pixelShader /*= NULL*/) { D3D11_MAPPED_SUBRESOURCE MappedResource; pd3dDeviceContext->Map( s_pcbVSPowTwoRatios, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ); @@ -412,7 +412,7 @@ void DX11QuadDrawer::RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11Sh pd3dDeviceContext->PSSetShaderResources(10, 1, srvNULL); } -void DX11QuadDrawer::RenderQuad( ID3D11DeviceContext* pd3dDeviceContext, ID3D11PixelShader* pixelShader, ID3D11ShaderResourceView** srvs, UINT numShaderResourceViews, D3DXVECTOR2 Pow2Ratios /*= float2(1.0f, 1.0f)*/ ) +void DX11QuadDrawer::RenderQuad( ID3D11DeviceContext* pd3dDeviceContext, ID3D11PixelShader* pixelShader, ID3D11ShaderResourceView** srvs, UINT numShaderResourceViews, DirectX::XMFLOAT2 Pow2Ratios /*= float2(1.0f, 1.0f)*/ ) { D3D11_MAPPED_SUBRESOURCE MappedResource; pd3dDeviceContext->Map( s_pcbVSPowTwoRatios, 0, D3D11_MAP_WRITE_DISCARD, 0, &MappedResource ); diff --git a/FriedLiver/Source/DepthSensing/DX11QuadDrawer.h b/FriedLiver/Source/DepthSensing/DX11QuadDrawer.h index 8c038e3f..5e46845a 100644 --- a/FriedLiver/Source/DepthSensing/DX11QuadDrawer.h +++ b/FriedLiver/Source/DepthSensing/DX11QuadDrawer.h @@ -7,15 +7,15 @@ #include struct SimpleVertex { - D3DXVECTOR3 pos; - D3DXVECTOR2 pex; + DirectX::XMFLOAT3 pos; + DirectX::XMFLOAT2 pex; }; struct CB_QUAD { - D3DXMATRIX mWorldViewProjection; + DirectX::XMFLOAT4X4 mWorldViewProjection; UINT width; UINT height; - D3DXVECTOR2 dummy; + DirectX::XMFLOAT2 dummy; }; class DX11QuadDrawer @@ -27,17 +27,17 @@ class DX11QuadDrawer static HRESULT OnD3D11CreateDevice(ID3D11Device* pd3dDevice); static void OnD3D11DestroyDevice(); - static HRESULT RenderQuadDynamicDEPTHasHSV(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const float* d_data, float minDepth, float maxDepth, unsigned int width, unsigned int height, float scale = 1.0f, D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); - static HRESULT RenderQuadDynamicUCHAR4(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const uchar4* d_data, unsigned int width, unsigned int height, float scale = 1.0f, D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); - static HRESULT RenderQuadDynamic(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale = 1.0f, D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); + static HRESULT RenderQuadDynamicDEPTHasHSV(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const float* d_data, float minDepth, float maxDepth, unsigned int width, unsigned int height, float scale = 1.0f, DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); + static HRESULT RenderQuadDynamicUCHAR4(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, const uchar4* d_data, unsigned int width, unsigned int height, float scale = 1.0f, DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); + static HRESULT RenderQuadDynamic(ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale = 1.0f, DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); - static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale = 1.0f , D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL ); - static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11PixelShader* pixelShader, ID3D11ShaderResourceView** srvs, UINT numShaderResourceViews, D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f)); - static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11ShaderResourceView* srv, float scale = 1.0f, D3DXVECTOR2 Pow2Ratios = D3DXVECTOR2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); + static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, unsigned int nChannels, unsigned int width, unsigned int height, float scale = 1.0f , DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL ); + static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11PixelShader* pixelShader, ID3D11ShaderResourceView** srvs, UINT numShaderResourceViews, DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f)); + static void RenderQuad(ID3D11DeviceContext* pd3dDeviceContext, ID3D11ShaderResourceView* srv, float scale = 1.0f, DirectX::XMFLOAT2 Pow2Ratios = DirectX::XMFLOAT2(1.0f, 1.0f), ID3D11PixelShader* pixelShader = NULL); private: - static void RenderQuadHelper(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, cudaGraphicsResource* pCuda, ID3D11ShaderResourceView* pTmpTextureSRV, unsigned int size, float scale, D3DXVECTOR2 Pow2Ratios , ID3D11PixelShader* pixelShader); + static void RenderQuadHelper(ID3D11DeviceContext* pd3dDeviceContext, float* d_data, cudaGraphicsResource* pCuda, ID3D11ShaderResourceView* pTmpTextureSRV, unsigned int size, float scale, DirectX::XMFLOAT2 Pow2Ratios , ID3D11PixelShader* pixelShader); static ID3D11InputLayout* s_VertexLayout; static ID3D11Buffer* s_VertexBuffer; diff --git a/FriedLiver/Source/DepthSensing/DX11RGBDRenderer.h b/FriedLiver/Source/DepthSensing/DX11RGBDRenderer.h index b09b1e7a..b9568602 100644 --- a/FriedLiver/Source/DepthSensing/DX11RGBDRenderer.h +++ b/FriedLiver/Source/DepthSensing/DX11RGBDRenderer.h @@ -10,10 +10,10 @@ struct CB_RGBDRenderer { - D3DXMATRIX m_mIntrinsicInverse; - D3DXMATRIX m_mExtrinsic; //model-view - D3DXMATRIX m_mIntrinsicNew; //for 'real-world' depth range - D3DXMATRIX m_mProjection; //for graphics rendering + DirectX::XMFLOAT4X4 m_mIntrinsicInverse; + DirectX::XMFLOAT4X4 m_mExtrinsic; //model-view + DirectX::XMFLOAT4X4 m_mIntrinsicNew; //for 'real-world' depth range + DirectX::XMFLOAT4X4 m_mProjection; //for graphics rendering unsigned int m_uScreenWidth; unsigned int m_uScreenHeight; diff --git a/FriedLiver/Source/DepthSensing/DX11Utils.cpp b/FriedLiver/Source/DepthSensing/DX11Utils.cpp index a746409f..26beaad7 100644 --- a/FriedLiver/Source/DepthSensing/DX11Utils.cpp +++ b/FriedLiver/Source/DepthSensing/DX11Utils.cpp @@ -170,8 +170,8 @@ HRESULT CompileShaderFromFile( WCHAR* szFileName, LPCSTR szEntryPoint, LPCSTR sz dwShaderFlags |= pCompilerFlags; ID3DBlob* pErrorBlob; - hr = D3DX11CompileFromFile( str, pDefines, NULL, szEntryPoint, szShaderModel, - dwShaderFlags, 0, NULL, ppBlobOut, &pErrorBlob, NULL ); + hr = D3DCompileFromFile( str, pDefines, NULL, szEntryPoint, szShaderModel, + dwShaderFlags, 0, ppBlobOut, &pErrorBlob); if( FAILED(hr) ) { if( pErrorBlob != NULL ) @@ -386,7 +386,7 @@ void LoadCamera( CModelViewerCamera &camera, const char* filename ) std::ifstream file; file.open(filename); if (file.is_open() && file.good()) { - D3DXVECTOR3 eye, lookAt; + DirectX::XMFLOAT3 eye, lookAt; D3DXQUATERNION world, view; file >> eye.x >> eye.y >> eye.z; diff --git a/FriedLiver/Source/DepthSensing/DepthSensing.cpp b/FriedLiver/Source/DepthSensing/DepthSensing.cpp index f9b71dd5..eccf4554 100644 --- a/FriedLiver/Source/DepthSensing/DepthSensing.cpp +++ b/FriedLiver/Source/DepthSensing/DepthSensing.cpp @@ -8,7 +8,8 @@ #include #include -#include +#include +#include #include "DX11Utils.h" #include "GlobalAppState.h" @@ -134,7 +135,7 @@ int startDepthSensing(OnlineBundler* bundler, RGBDSensor* sensor, CUDAImageManag DXUTInit(true, true); // Parse the command line, show msgboxes on error, and an extra cmd line param to force REF for now DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen - DXUTCreateWindow(GlobalAppState::get().s_windowWidth, GlobalAppState::get().s_windowHeight, L"Fried Liver", false); + DXUTCreateWindow(L"Fried Liver", NULL, NULL, NULL, GlobalAppState::get().s_windowWidth, GlobalAppState::get().s_windowHeight); DXUTSetIsInGammaCorrectMode(false); //gamma fix (for kinect color) @@ -155,11 +156,9 @@ bool CALLBACK ModifyDeviceSettings(DXUTDeviceSettings* pDeviceSettings, void* pU if (s_bFirstTime) { s_bFirstTime = false; - if ((DXUT_D3D9_DEVICE == pDeviceSettings->ver && pDeviceSettings->d3d9.DeviceType == D3DDEVTYPE_REF) || - (DXUT_D3D11_DEVICE == pDeviceSettings->ver && - pDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE)) + if (pDeviceSettings->d3d11.DriverType == D3D_DRIVER_TYPE_REFERENCE) { - DXUTDisplaySwitchingToREFWarning(pDeviceSettings->ver); + DXUTDisplaySwitchingToREFWarning(); } } @@ -182,11 +181,11 @@ void RenderText() { g_pTxtHelper->Begin(); g_pTxtHelper->SetInsertionPos(2, 0); - g_pTxtHelper->SetForegroundColor(D3DXCOLOR(1.0f, 1.0f, 0.0f, 1.0f)); + g_pTxtHelper->SetForegroundColor(DirectX::XMFLOAT4(1.0f, 1.0f, 0.0f, 1.0f)); g_pTxtHelper->DrawTextLine(DXUTGetFrameStats(DXUTIsVsyncEnabled())); g_pTxtHelper->DrawTextLine(DXUTGetDeviceStats()); if (!g_bRenderHelp) { - g_pTxtHelper->SetForegroundColor(D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f)); + g_pTxtHelper->SetForegroundColor(DirectX::XMFLOAT4(1.0f, 1.0f, 1.0f, 1.0f)); g_pTxtHelper->DrawTextLine(L"\tPress F1 for help"); } g_pTxtHelper->End(); @@ -201,7 +200,7 @@ void RenderHelp() { g_pTxtHelper->Begin(); g_pTxtHelper->SetInsertionPos(2, 40); - g_pTxtHelper->SetForegroundColor(D3DXCOLOR(1.0f, 0.0f, 0.0f, 1.0f)); + g_pTxtHelper->SetForegroundColor(DirectX::XMFLOAT4(1.0f, 0.0f, 0.0f, 1.0f)); g_pTxtHelper->DrawTextLine(L"Controls "); g_pTxtHelper->DrawTextLine(L" \tF1:\t Hide help"); g_pTxtHelper->DrawTextLine(L" \tF2:\t Screenshot"); @@ -441,7 +440,7 @@ void CALLBACK OnKeyboard(UINT nChar, bool bKeyDown, bool bAltDown, void* pUserCo break; case VK_F2: swprintf_s(sz, 200, L"screenshot%d.bmp", whichScreenshot++); - DXUTSnapD3D11Screenshot(sz, D3DX11_IFF_BMP); + DXUTSnapD3D11Screenshot(sz, false); std::wcout << std::wstring(sz) << std::endl; break; case '\t': @@ -606,9 +605,9 @@ HRESULT CALLBACK OnD3D11CreateDevice(ID3D11Device* pd3dDevice, const DXGI_SURFAC V_RETURN(g_RGBDRenderer.OnD3D11CreateDevice(pd3dDevice, GlobalAppState::get().s_rayCastWidth, GlobalAppState::get().s_rayCastHeight)); V_RETURN(g_CustomRenderTarget.OnD3D11CreateDevice(pd3dDevice, GlobalAppState::get().s_rayCastWidth, GlobalAppState::get().s_rayCastHeight, formats)); - D3DXVECTOR3 vecEye(0.0f, 0.0f, 0.0f); - D3DXVECTOR3 vecAt(0.0f, 0.0f, 1.0f); - g_Camera.SetViewParams(&vecEye, &vecAt); + DirectX::XMFLOAT3 vecEye(0.0f, 0.0f, 0.0f); + DirectX::XMFLOAT3 vecAt(0.0f, 0.0f, 1.0f); + g_Camera.SetViewParams(XMLoadFloat3(&vecEye), XMLoadFloat3(&vecAt)); g_sceneRep = new CUDASceneRepHashSDF(CUDASceneRepHashSDF::parametersFromGlobalAppState(GlobalAppState::get())); @@ -700,10 +699,10 @@ HRESULT CALLBACK OnD3D11ResizedSwapChain(ID3D11Device* pd3dDevice, IDXGISwapChai //g_Camera.SetRotateButtons(true, false, false); float fAspectRatio = pBackBufferSurfaceDesc->Width / (FLOAT)pBackBufferSurfaceDesc->Height; - //D3DXVECTOR3 vecEye ( 0.0f, 0.0f, 0.0f ); - //D3DXVECTOR3 vecAt ( 0.0f, 0.0f, 1.0f ); + //DirectX::XMFLOAT3 vecEye ( 0.0f, 0.0f, 0.0f ); + //DirectX::XMFLOAT3 vecAt ( 0.0f, 0.0f, 1.0f ); //g_Camera.SetViewParams( &vecEye, &vecAt ); - g_Camera.SetProjParams(D3DX_PI / 4, fAspectRatio, 0.1f, 10.0f); + g_Camera.SetProjParams(3.141592654f / 4, fAspectRatio, 0.1f, 10.0f); V_RETURN(DX11PhongLighting::OnResize(pd3dDevice, pBackBufferSurfaceDesc->Width, pBackBufferSurfaceDesc->Height)); @@ -782,7 +781,9 @@ void visualizeFrame(ID3D11DeviceContext* pd3dImmediateContext, ID3D11Device* pd3 pd3dImmediateContext->ClearRenderTargetView(pRTV, ClearColor); pd3dImmediateContext->ClearDepthStencilView(pDSV, D3D11_CLEAR_DEPTH, 1.0f, 0); - mat4f view = MatrixConversion::toMlib(*g_Camera.GetViewMatrix()); + DirectX::XMFLOAT4X4 temp; + DirectX::XMStoreFloat4x4(&temp, g_Camera.GetViewMatrix()); + mat4f view = MatrixConversion::toMlib(temp); view.setIdentity(); //wanna disable that for the video.. mat4f t = mat4f::identity(); t(1, 1) *= -1.0f; view = t * view * t; //t is self-inverse diff --git a/FriedLiver/Source/SiftGPU/MatrixConversion.h b/FriedLiver/Source/SiftGPU/MatrixConversion.h index e1924de4..a7527832 100644 --- a/FriedLiver/Source/SiftGPU/MatrixConversion.h +++ b/FriedLiver/Source/SiftGPU/MatrixConversion.h @@ -31,13 +31,13 @@ namespace MatrixConversion } // dx/cuda conversion - static vec3f toMlib(const D3DXVECTOR3& v) { + static vec3f toMlib(const DirectX::XMFLOAT3& v) { return vec3f(v.x, v.y, v.z); } - static vec4f toMlib(const D3DXVECTOR4& v) { + static vec4f toMlib(const DirectX::XMFLOAT4& v) { return vec4f(v.x, v.y, v.z, v.w); } - static mat4f toMlib(const D3DXMATRIX& m) { + static mat4f toMlib(const DirectX::XMFLOAT4X4& m) { mat4f c((const float*)&m); return c.getTranspose(); } diff --git a/FriedLiver/Source/SiftGPU/ProgramCU.cu b/FriedLiver/Source/SiftGPU/ProgramCU.cu index 963cb0d0..601928e9 100644 --- a/FriedLiver/Source/SiftGPU/ProgramCU.cu +++ b/FriedLiver/Source/SiftGPU/ProgramCU.cu @@ -979,23 +979,22 @@ void __global__ ComputeOrientation_Kernel(float4* d_list, //filter the vote const float one_third = 1.0 / 3.0; __shared__ float vote_tmp[36]; - if (tidx < 36) { - volatile float* source = vote; - volatile float* target = vote_tmp; -#pragma unroll - for (int i = 0; i < 6; i++) { - const unsigned int m = (tidx + 36 - 1) % 36; - const unsigned int c = (tidx); - const unsigned int p = (tidx + 1) % 36; - target[tidx] = (source[m] + source[c] + source[p])*one_third; - - __syncthreads(); - volatile float *tmp = source; - source = target; - target = tmp; - } - } + volatile float* source = vote; + volatile float* target = vote_tmp; +#pragma unroll + for (int i = 0; i < 6; i++) { + const unsigned int m = (tidx + 36 - 1) % 36; + const unsigned int c = (tidx); + const unsigned int p = (tidx + 1) % 36; + if (tidx < 36) + target[tidx] = (source[m] + source[c] + source[p])*one_third; + + __syncthreads(); + volatile float *tmp = source; + source = target; + target = tmp; + } // if (num_orientation == 1) // { @@ -1022,7 +1021,7 @@ void __global__ ComputeOrientation_Kernel(float4* d_list, //__syncthreads(); <- not quite sure if we need that ( probably not ) - max_vote = warpReduceMax(max_vote); + max_vote = warpReduceMax(max_vote); const unsigned int numWarps = (COMPUTE_ORIENTATION_BLOCK + 32 - 1) / 32; __shared__ float sMax[numWarps]; @@ -1036,9 +1035,8 @@ void __global__ ComputeOrientation_Kernel(float4* d_list, __syncthreads(); } - - max_vote = sMax[0]; + float vote_threshold = max_vote * 0.8f; @@ -1100,8 +1098,8 @@ void __global__ ComputeOrientation_Kernel(float4* d_list, __syncthreads(); if (tidx == 0) { weights[maxIndex] = -1.0f; - __syncthreads(); } + __syncthreads(); // 2nd reduction to compute 2nd max weight for (unsigned int stride = COMPUTE_ORIENTATION_BLOCK / 2; stride > 0; stride /= 2) { diff --git a/FriedLiver/Source/SiftGPU/SiftPyramid.cpp b/FriedLiver/Source/SiftGPU/SiftPyramid.cpp index c4fe4c6c..a5a85af9 100644 --- a/FriedLiver/Source/SiftGPU/SiftPyramid.cpp +++ b/FriedLiver/Source/SiftGPU/SiftPyramid.cpp @@ -193,7 +193,7 @@ void SiftPyramid::RunSIFT(float* d_colorData, const float* d_depthData) if (GlobalUtil::_EnableDetailedTimings) { _timer->startEvent("GetFeatureOrientations"); } - GetFeatureOrientations(); + GetFeatureOrientations(); if (GlobalUtil::_EnableDetailedTimings) { _timer->endEvent(); } diff --git a/FriedLiver/Source/SiftGPU/cudaUtil.h b/FriedLiver/Source/SiftGPU/cudaUtil.h index 27a3e527..59d6f1ce 100644 --- a/FriedLiver/Source/SiftGPU/cudaUtil.h +++ b/FriedLiver/Source/SiftGPU/cudaUtil.h @@ -13,56 +13,112 @@ #define cudaAssert(condition) if (!(condition)) { printf("ASSERT: %s %s\n", #condition, __FILE__); } //#define cudaAssert(condition) -#if defined(__CUDA_ARCH__) +# if defined(__CUDA_ARCH__) #define __CONDITIONAL_UNROLL__ #pragma unroll -#else +# else #define __CONDITIONAL_UNROLL__ -#endif +# endif + +# if __CUDACC_VER_MAJOR__ >= 9 +// Note: From CUDA 9, warp-level api has changed. Turing cards will hang forever if warp-level operation not treated correctly. +// (https://devblogs.nvidia.com/using-cuda-warp-level-primitives/) +// (https://github.com/opencv/opencv/pull/13658/commits/970293a229ef314603ffaf77fc62495bf849aba8) -#ifdef __CUDACC__ -__inline__ __device__ +#define FULL_MASK 0xffffffff + +__forceinline__ __device__ float warpReduceSum(float val) { - for (int offset = warpSize / 2; offset > 0; offset /= 2) - val += __shfl_down(val, offset); - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) + val += __shfl_down_sync(mask, val, offset); + return val; } -__inline__ __device__ +__forceinline__ __device__ float warpReduceMax(float val) { - for (int offset = 32 / 2; offset > 0; offset /= 2) { - val = max(val, __shfl_down(val, offset, 32)); - } - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) { + float temp = __shfl_down_sync(mask, val, offset); + val = max(val, temp); + } + return val; } -__inline__ __device__ +__forceinline__ __device__ float warpReduceMin(float val) { - for (int offset = 32 / 2; offset > 0; offset /= 2) { - val = min(val, __shfl_down(val, offset, 32)); - } - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) { + val = min(val, __shfl_down_sync(mask, val, offset)); + } + return val; } -__inline__ __device__ +__forceinline__ __device__ float warpReduceSumAll(float val) { - for (int offset = 32 / 2; offset > 0; offset /= 2) { - val += __shfl_xor(val, offset, 32); - } - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) { + val += __shfl_xor_sync(mask, val, offset); + } + return val; } -__inline__ __device__ +__forceinline__ __device__ float warpReduceMaxAll(float val) { - for (int offset = 32 / 2; offset > 0; offset /= 2) { - val = max(val, __shfl_xor(val, offset, 32)); - } - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) { + val = max(val, __shfl_xor_sync(mask, val, offset)); + } + return val; } -__inline__ __device__ +__forceinline__ __device__ float warpReduceMinAll(float val) { - for (int offset = 32 / 2; offset > 0; offset /= 2) { - val = min(val, __shfl_xor(val, offset, 32)); - } - return val; + unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize); + for (int offset = warpSize / 2; offset > 0; offset /= 2) { + val = min(val, __shfl_xor_sync(mask, val, offset)); + } + return val; } -#endif +# elif __CUDACC__ // __CUDACC_VER_MAJOR__ < 9 +//__inline__ __device__ +//float warpReduceSum(float val) { +// for (int offset = warpSize / 2; offset > 0; offset /= 2) +// val += __shfl_down(val, offset); +// return val; +//} +//__inline__ __device__ +//float warpReduceMax(float val) { +// for (int offset = 32 / 2; offset > 0; offset /= 2) { +// val = max(val, __shfl_down(val, offset, 32)); +// } +// return val; +//} +//__inline__ __device__ +//float warpReduceMin(float val) { +// for (int offset = 32 / 2; offset > 0; offset /= 2) { +// val = min(val, __shfl_down(val, offset, 32)); +// } +// return val; +//} +// +//__inline__ __device__ +//float warpReduceSumAll(float val) { +// for (int offset = 32 / 2; offset > 0; offset /= 2) { +// val += __shfl_xor(val, offset, 32); +// } +// return val; +//} +//__inline__ __device__ +//float warpReduceMaxAll(float val) { +// for (int offset = 32 / 2; offset > 0; offset /= 2) { +// val = max(val, __shfl_xor(val, offset, 32)); +// } +// return val; +//} +//__inline__ __device__ +//float warpReduceMinAll(float val) { +// for (int offset = 32 / 2; offset > 0; offset /= 2) { +// val = min(val, __shfl_xor(val, offset, 32)); +// } +// return val; +//} +# endif #endif diff --git a/FriedLiver/Source/mLib.h b/FriedLiver/Source/mLib.h index 63202f41..2bc2fea3 100644 --- a/FriedLiver/Source/mLib.h +++ b/FriedLiver/Source/mLib.h @@ -1,4 +1,4 @@ - +#pragma once // // mLib config options // @@ -11,7 +11,6 @@ // mLib includes // - #include "mLibCore.h" #include "mLibFreeImage.h" #include "mLibDepthCamera.h" diff --git a/FriedLiver/zParametersDefault.txt b/FriedLiver/zParametersDefault.txt index b57f56a1..72be9447 100644 --- a/FriedLiver/zParametersDefault.txt +++ b/FriedLiver/zParametersDefault.txt @@ -1,5 +1,5 @@ // 0=Kinect; 1=PrimeSense; 2=KinectOne; 3=BinaryDumpReader; 4=NetworkSensor; 5=IntelSensor; 6=RealSense; 7=StructureSensor; 8=SensorDataReader (for offline processing) -s_sensorIdx = 7; +s_sensorIdx = 8; s_numSolveFramesBeforeExit = 30;//-1 //#frames to run after solve done, then saves and exits; -1 to stop after no more reintegration ops @@ -45,8 +45,8 @@ s_SDFIntegrationWeightSample = 1; //weight for an integrated depth value s_SDFIntegrationWeightMax = 99999999; //maximum integration weight for a voxel // s_SDFBlockSize is pound defined (SDF_BLOCK_SIZE) // s_hashBucketSize is pound defined (HASH_BUCKET_SIZE) -s_hashNumBuckets = 800000; //smaller voxels require more space -s_hashNumSDFBlocks = 200000;//100000; //smaller voxels require more space +s_hashNumBuckets = 400000; //smaller voxels require more space +s_hashNumSDFBlocks = 100000;//100000; //smaller voxels require more space s_hashMaxCollisionLinkedListSize = 7; // raycast From e4e156bc90482d10fe5e7ea638333bd33750cd56 Mon Sep 17 00:00:00 2001 From: Yingnan Wu Date: Fri, 10 May 2019 21:55:13 +0800 Subject: [PATCH 2/5] Modified README.md --- README.md | 54 +++++++++++++++++++++++++-------------------------- README.md.old | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 README.md.old diff --git a/README.md b/README.md index 93b5cabc..8de9aac6 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,36 @@ # BundleFusion -![BundleFusion](img/teaser.jpg) +![BundleFusion](img/test.gif) -You are free to use this code with proper attribution in non-commercial applications (Please see [License.txt](License.txt)). +This is a modern port for [BundleFusion](http://graphics.stanford.edu/projects/bundlefusion/). Since DirectX SDK has been deprecated and Nvidia changed some CUDA apis, original BundleFusion code would not run smoothly on latest platforms. For example, code compiled in VS2017 does not run in Release mode. Also, the original code hangs on GPU synchronize function if you use new volta/turing GPUs. -More information about this project can be found in our [paper](https://arxiv.org/pdf/1604.01093.pdf) and [project website](http://graphics.stanford.edu/projects/bundlefusion/). +The license is the same with original BundleFusion. (Please see [License.txt](License.txt)). ## Installation -The code was developed under VS2013, and tested with a Structure Sensor. +The modified code was tested under VS2017 with CUDA10.1 and a RTX2060. Requirements: -- DirectX SDK June 2010 -- NVIDIA CUDA 7.0 -- our research library mLib, a git submodule in external/mLib +- Windows SDK (Install it from your Visual Studio) +- DirectX SDK **IS NOT NEEDED** +- NVIDIA CUDA 10.1 +- research library mLib, a git submodule in external/mLib - mLib external libraries can be downloaded [here](http://kaldir.vc.in.tum.de/mLib/mLibExternal.zip) -Optional: -- Kinect SDK (2.0 and above) -- Prime sense SDK - - -## Citation: -``` -@article{dai2017bundlefusion, - title={BundleFusion: Real-time Globally Consistent 3D Reconstruction using On-the-fly Surface Re-integration}, - author={Dai, Angela and Nie{\ss}ner, Matthias and Zoll{\"o}fer, Michael and Izadi, Shahram and Theobalt, Christian}, - journal={ACM Transactions on Graphics 2017 (TOG)}, - year={2017} -} -``` - -## Contact: -If you have any questions, please email Angela Dai at adai@cs.stanford.edu. - - - -We are also looking for active participation in this open source effort making large-scale 3D scanning publically accessible. Please contact us :) +Default file tree: +''' +BundleFusion-master +├──BundleFusion +│ │──data +│ │──external +│ │──FriedLiver +│ └──img +└──mlibExternal + │──include + │──libsLinux + │──libsOSX + └──libsWindows +''' +Put sequence.sens in BundleFusion-master/BundleFusion/data/. + +## End +You may star me if you find it useful. :) diff --git a/README.md.old b/README.md.old new file mode 100644 index 00000000..93b5cabc --- /dev/null +++ b/README.md.old @@ -0,0 +1,38 @@ +# BundleFusion + +![BundleFusion](img/teaser.jpg) + +You are free to use this code with proper attribution in non-commercial applications (Please see [License.txt](License.txt)). + +More information about this project can be found in our [paper](https://arxiv.org/pdf/1604.01093.pdf) and [project website](http://graphics.stanford.edu/projects/bundlefusion/). + +## Installation +The code was developed under VS2013, and tested with a Structure Sensor. + +Requirements: +- DirectX SDK June 2010 +- NVIDIA CUDA 7.0 +- our research library mLib, a git submodule in external/mLib +- mLib external libraries can be downloaded [here](http://kaldir.vc.in.tum.de/mLib/mLibExternal.zip) + +Optional: +- Kinect SDK (2.0 and above) +- Prime sense SDK + + +## Citation: +``` +@article{dai2017bundlefusion, + title={BundleFusion: Real-time Globally Consistent 3D Reconstruction using On-the-fly Surface Re-integration}, + author={Dai, Angela and Nie{\ss}ner, Matthias and Zoll{\"o}fer, Michael and Izadi, Shahram and Theobalt, Christian}, + journal={ACM Transactions on Graphics 2017 (TOG)}, + year={2017} +} +``` + +## Contact: +If you have any questions, please email Angela Dai at adai@cs.stanford.edu. + + + +We are also looking for active participation in this open source effort making large-scale 3D scanning publically accessible. Please contact us :) From bd9bdd6e0c988ac1e979f1899a9eaa6e1768ba1c Mon Sep 17 00:00:00 2001 From: Yingnan Wu Date: Fri, 10 May 2019 21:59:12 +0800 Subject: [PATCH 3/5] gif updated --- README.md | 4 ++-- img/test.gif | Bin 0 -> 6991359 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 img/test.gif diff --git a/README.md b/README.md index 8de9aac6..d1903dd6 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Requirements: - mLib external libraries can be downloaded [here](http://kaldir.vc.in.tum.de/mLib/mLibExternal.zip) Default file tree: -''' +``` BundleFusion-master ├──BundleFusion │ │──data @@ -29,7 +29,7 @@ BundleFusion-master │──libsLinux │──libsOSX └──libsWindows -''' +``` Put sequence.sens in BundleFusion-master/BundleFusion/data/. ## End diff --git a/img/test.gif b/img/test.gif new file mode 100644 index 0000000000000000000000000000000000000000..91fa525114d75c7bbc8ae0e9d1d0c9c3aa02ec92 GIT binary patch literal 6991359 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

By*3EdIF5%eDs92-kvG1sv_Qjsy|b3x#V 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%0ArLX)iV_YbV7Di9thPZo>U$#p-H#pNr3`U3-w5i zG#ZlBH~5oD|5F%#6iRc`F?Na~s8ld1&1|5c5Q)<-xK!kj^Gm}pOvQ9e@np`-v@B^+ zO;N+iz|c+C4^9s!CL1va+09O4H530YB9+e+At>x>jwq3BFXuBz8TB^nVG=HHKKJ1~ zo#FC~R35C=N2~SnO5q+jRZ+{;TyHd72?1NP^;>gcTK8dE&$An>l^1%H5R6n^X;fRe zRb6K@8m_e+p0r5!;ZPejUj7@EU-8u^)RhpH)IasLV9ym{Zxddf0T2M85FkM^sBKjD z!Z!&*PTy+KJP*`6Q`*3w5b_34VZ#!8@U((}~cybM)Y6c+` z!KMT$1CCjvq#Fay=lG6!0*^}gbRn@O53%7=<#iH_6dUHVT9b4=^??}#6l(?cT&EUY zb(B-9^=h-$YJUP=t9CYfbZZk9JtdYGv^HK{(_kHSY<&Vh#Z^GrHen}WYhANifAkn0 zwjJ!#Mgf#t|F#|Ep%TskDjY2^Iu-!3?+@ieWWR@G;qGcwGDFWWOi7ew+io&J6lTv< zCTBJyYBrB<78X|H_2GG$cW$$nVky=>y%#<274vezdC_47%MX_@N>v8IF(jwjG} zZ)tRS^|N4~mwdgoh8uNYY4l0?GkdQW9k$nf<@S4t_=Xu)Zim=Z z_G*`uiLqBdqaj)+R#Jl$8)o=yd2~r9Azj5`J#jQ^k2sdmfpC2S84%Z#%eP$RfgH3r zUK5pI_W^8OIh1d?igS3CCH8P>c^_6M94i;ebvx(!gZ-2s}>C;=K7e_BoqKi3OWjS8I zHC=Jpqi2(E6?%w|R6gl5dO@0egZc6n!5I#hq%ZGAAr+<%))+8$6ed^d9AY^v><_sa z0K9p>z_~*SnREwO6Sv8n)dQUwA`LH5X9LBZl>?qD`RC?YhZ2R&6nPRP8HA&6pP$A- zBIKWqG5`fSkqcU^5E`L7#!}(6LM)Z6^4fYnRX49|H!hbiILO{!XsMTa?5vvRCU~ig zM^Fl*oA-r%c8b~nIFDh+^t zvQz1dCcEM)`?_EPvkzLcea*CW1GYb#swo>G#j3Ocpm|WcLsVP6T|1xKyPp9dw$WOy zY5Sl%rbpQoHv8$f7bCc{A}}=vRYI2XBbrsPhxbknQ3=Vda#`A+IP!X%*njW?YqbuY{bVnvxNIVnOq5(1j->(%BQ@AuzZfM{IeGubz4?W z$Ix)hJkSMw&lIj(=k1PS4z}zJ=b-8*DJ=v9g*_plBo&DLNJ=&#x+NoXg0s;Ub`2+zD04M+~ssJAVd;;JBrvLx| z8~^|u8~`x@04pm1I5+@2H7`^E07N`Cb^ri#IyFWV0J1kSus%|fL_M!VJB3U{j7MFDQ%Zk|*@8W;Ns2m1>U`VkHH8WsR$K$^ekA|3f69Ofw`<}xhfIy3txBKS2d`8zVm zI!EFB+}kVG z)iL1TEav6_>*^l+`v>~^80FRA2xNc;9#>f&Yg?P>SxdHeHd`}1>;iGrJqft`?o zp^ky3m4>68le>k0w48*roRhDhjHaTQx}u4?rIWt1hPSY$(3*t7r;Wv{lfkuw%(0o* zqm0?9l+w1H#jc>ox2MFsv)8+$(7&+jn1$!7mEydo@wled!iUent;)i;-NC5U%DLOn zz2L~4>Dh?w*P8I&j`7`=i2!(*E<>|NG)y@Fx3Ay7fCK;iMfjI5UwIE7rhE9%*d0A_IwMuUd84cKi=(a z^5n~xp)*$qy?)q(_6fc;$G^Y-|K_;o9$EyZBjACOp~cRE3@%t;gAhh2;e-@cXyJtz zW~gCx9Cqm8halq9;93iINZg70{P71t)3i8^V=x}W3oqo^XQPeBJ$EBThs}5xc|aD1 z-eQ2+<(+tb$yG>2Ln;;*k`BccBzi#-=2%b*M%7P0{B-H%mtRJe+0Ml6@)3WRt!;DPEL?OsSZrS9+7>KK@&RDXW)aB1d1PxaNuiU2XOn z;F}K3IcJ>?8Yo$x$R-=1L(1wI=(EsPHRzz#9Xb_S202ztF`5Rc>$kb8nrXK{qBrA= zpr#v$Lv+RE5UHik1?sru7AA}^8u3@vma)z%>xo@%MGyp*6l@6u;3jNiAh6Vej;{dD z8LVWu)MBy4=)6fRJ8~Y|EIYa6vQC5Upnwa8xSZTz$RjtHvda#&T;Vz*Ge~nTC^Yy^ z$nr2KPcA)E`{BRM8C7v&LOi?Rnkuv-SmP<>zs=_Yb9-MI`0^42`tSZ14}H; zzygaaggIjNDQPS0wvFQY667gnJ5re1u$-b8{x7GT!i&0~vKxrID8OqflJwU5%f0!U zvoF8?{!3iIZ&$AHOF{W6?1ANga!cp8__w)$8(+vQgt*Y+4ucTIbD=w>#B;hstCL(x zEew|IjxM=eh_mYpqM(cJ3&Os8?+o$|p`f~;5Kla{C=IeM@sxr!KGi=Ty@*E39*>C4 zYcIXg#4i{RDbZE6PxrLUb0`3Fd}0Y5pTt5~ET9;J|0IN&EeR=-u$%zLqBtO>f)uHU z1uP0PwgaMqFus@s3M6r^zX|3@>Wa%@-bJc(C9Yfda!g406BU2>qhFEZ$Dt@Uz!pLZ zbKcP0=q6(hQnaInH|)<0CsR5LovuOt7HbehFw_oGu!C78%Nc~)fdbqusEF)5icid$6rX5Bp?!#1_^_CWY{(89;zJ&_xZd-|cttbf1Bzj+g@{nl#w)TeefZc1 zDd3?;KB5Q!1^C1r0?7)(u;LS}UfO%AkdC+{VL(wxPC^g` zpzzzdzJtMZY0wuOj0xF`pI#*wm= z{c46dOr|-?fs2O(s2#;j**ee>&5WHTnzfq{HjC#FT*$0>xv(RJ*6|PqF)>2xs6`Xa zX+$YPGny@9qVrgHMLK3Nic0=8A1%bmpz0K=Dqs|28S98W=dop=1FZ@i1!_++X0aCX zP~RT=c%p&?@(zXwrQA+|0#Td-6o%l1C`2(MN1z}A0Jy^^3IKpkbRw5-t0Z|Ifr3X6 zMi#Ol3Cm7{zvW(H)=&XJ#3s&UrpDdb9xEInN11%J%c1 zPE(6R-ti9AiD+l7{r;Z!ssr25Dij5*buBw;TgA?%Zy&I&1wATCkc(ziZ@=IuDPRFo zk&=`bCPk@AD^ZD0*deP4lWAdSYSUlfRHr;GHP_PYW=vAI5 zK&v^%;gDMJ=dI1e3OeX$7RVMcKo&#GI@$r)(k_UcEeqliA<|+A!MH(?)hmN=k&D~0 zv$8u5XK3{qzT^p6v|3CoJ7g@h2mw@hxOLiYk6cjKmGyeOy=`2vHf6H{FCP2EnN)TL z4_eTpOHnz<{zV;fia_w~6RrTIAp$W{x|q}vftc=C?sYHhCP$IlB@B0On$utO)FI?C zX?M$|7{KM_aDpKcQduc!yf_tKP_2ek_hG^m;x{V(QrLh2EZ_n6x4?`5#UT7kg5+Rg z0}z%lg_*(3TRcR=9ByKNh*^o8cL)!t0BuZtXdqnd- z)GSCgyZNIu1u30HVQ2E@`4e;4GoSs896$$p(B3Wdp;3_NnpUa3jvk!6zEkPHWUAwV zxU@$8=xbkpeLBChDsX=>@d*<20TiXyLmx=J@|M56)Er zD~4QTpp7AmLOw#1zwl&Fw`*~7fxKNC&p2NM_h`9%9F@DWGzc-xp9S%YmXbU9i7Nim z-x6rz6O7P=CPZLh@uyl59PmE)#ZP_?DB}B!;6s1;z=%(1ViE24dCtMV2=p7+A$kA` zcu;g3fCqa(fZ~@2-~s^<&4>3#1SaMFc#$Fg!!X4q#@2`vgA2V^H$YJX#2O>`;Y8NQI=ZJI)go zRX7i3mSzY+01kl)02By@z+94G3Z_RFW+R7^K!=v_33PA=TQPgJ#|*cp75=}FK%jsM zc2gLs(1_jQKqz28I)wtLfCBte7_8t(^>Ta~r+j|Fe0ZTG&nJo^#|+iS4%cUL+P8fa z(O-KYe&V+W{uPUwP-?a~i~U6cn;?se&|ixni<_`>`o{smD2pPn0UKb8m~eEOFn|<5 z0RTWSmf#T42rg!m3+VtcY*G%P(;wwPSD_;r4)H5@B{dx=HSQ26X9qGxQ#(D#GOQCa zODG{*^hENQJ0X)zAy_j}BsKmxhDKvE^oV0TgJWI9Ak{;I5b}k(&KSD3Khg3-1sW4#`Ki;t+X57mctsk^l>Mv63kn{s@gwFqJ?DxVJd8 zM;gvB3p{yZDdW_gxq*EssD75A>8B#21h@mC?s>q;i#gp_RfQLe9{YvlJ#_`95R$5NX+)zG;?gxt4CZ zOVL=I(pVexDurPx zQc@-JrD^A|inJ1z4sj^l_nQ=2p~111j_TxdcO>?xTPaW929pEa=+_6aHY>7P8>qe3#EjL~S|0dfUupoD>-siL5mMqdu9 zZ><=iC^DfHI;CkDoWuE+8fu&j0UaLdoRstnA?hY+^&cb3mvMrkXqu+Z5-sE@G*fYs zFzRSBS`jrm8@fRg_TeL}a8qroR#~WjaHBsivlSs(!+zEUG?I0jCg=adS!$b$X{a zS|57)r+wO)xT-3#Sr~&#pnZ|3fGVUP#HbAVm5_Q%UNWJ35DL!fteXIfp}-04*R0RV z2|Kq5&l;^9V6EFKt=KB9&#DO_umK46tjw9I8oFO7U6-yyk z10g+#As@Rm8i`sg`lju<6@5XKeDR`NvHlFppb;)XtF@XOx4Nq~d$Yd)X#whSdxI&8 z>MgBlsEX@O@aTwHq)9_J;?0fC7A=u3EaA5P@*e@r(i(jSxUTmLLgW${)6-ub;z2 z4-+xDRt|(au-93lxx;NI$amyKZ+nM3@!+`JRw3kLcT8wK&0{nBR7J)^n3%hrSm?M+ zg@1`N{M0;3CLx!XGi$Ms{v;u+>V~oUs>>I&eZjI?;j%Dmr!t$PH0!fCd%SuTRJi@hCTT@t zTBo=OQmP1bWA3mHHe`aIRc#G>L?bhA*tQ@!7ZYk|Y- zxx0PQ!@7(DKrFnvF~mij8At4&Nvy=U%EZ3v#OH+MK7+1`oS^TI<%f(ma z#oJqR=L^1Pi~^zXy_kRrpuh;^D`01w#w-`k#5m6749@7R2l4v}p#Tb@K*ts!b9ww= z`Wz7iPzjwt&|QHEfGo%Z9AN<96uIVMy`sqd0b*rEV$)d*x3hsJ6IbnU4(WC7q_tpvKK$!mj4b#yckh+KSGrwtt&|0-Hd7W{k!;_YhTkU=9Wf zY3$c1kO>=b&-uL1SenPh$#R-t5weB?v9}cn9msqz$OPQbf3Q}x&{l0yj_-sH97a}5 zR0|D^0vXM9&}J54=YiCjbud<99j#7&HQUqiAkv>aah<(%-6eJn##IYo4mQRtHwc8i&K%Ir zg{{9k$KdZ=b7%b7_lya8V9%3H*%a_#b$|k&pmfmT+0sbJ4IKzI4GJjGD;6_swl)sA zR!opwR$}MdwLN0hncI_r(bW{eHe_rH63W^JAwM)dr#x+yS6S%*MePV7It`JGHQf>d z%Q$`AGF%nt)}}^HDaw%-qG%UO4c@z%7lvR6G)fvadY9?#A2y*8j-e?PG$Zt_%!P5^ z{(Ro&_`R!@mMOuisE9hCR&opi{?@cK*9ZP3U#Yz)@V)B0;Q0KsrN(m2iV1>UzUNDe zU+WNoO}?RE={1+>k1f9zFammDzak!u54H!MaN_oX37${_D<0ZF;NoKi{=gd&&RdVONkmq{-3w~bk zW4*)!D(C=8=>AllY{%Hxj3ke(-G4$WA=g@vV6JuS3?4kFYoNP>?F1GyxK3a@gt!EvJ9jQ!I)n&GQ8ef< zmo9`T2Id0U(V)A5Bn>JQ$S|SIm%41a!RLHbPs)Y^4bfq=NJntF%d^35kwO~wCcaUtf~yK7PXpY z8nHV2>@*ueTP?>N_d^Oc-F^fzNZx+)%{U{E91gkuTx%}5xu}B@O75nla=Y-r^KLxy z^5e3j^{#6V1%%eA1)?s`oX;jS4dQW0*ZvD|z^Do={^Y;}yZS1c2F-eKLO&^d>q5Es z(r`mwTI}n?6YCDU zoDw23thBPT!UZMNOfzrCC09^xh3U&s4l$LquSeg77qNB$Q!!I^0oydAoIGRgQyfKA ztx0K3O|{@3S1r<2g_CS9Rtjbns@7bi!*yb@c;z)rVA;8HSYo|HC|RFGmTy^-p+z}m z^Q4{DKgg{80o!Z?v1(gx5gd2IaGfEy=Rhz1JU3l+52bA05aUG}UZeS{ce0{E%=esq z{pr_VfCCn|$Jh+!8aIT2TR80Clw58&h@rArtcue%3uErWTuWCyxu>}MWI<1=PTm%tR(A&njT0C-N&b3o3#)dZZUP+NIrkKP!2R(Gp<6ZhO z0EbX2Ltj|zFfgq&%P2K|`|%gGPz6p->#ldN?Q09f78`Ka%swh8w9{UjZFAhV(pMDX zZZ_Dur!Q9e=)2S#J-+?s9zEd$AKa5KnVMn65Q%$V4ufVsbVZ6XzSxjb)J2rL z%EH*| zSe+0$4@}J}p$XqetQ6v{g?GdwP=pdVq%cK>Gqg$#v4TS#>JW#L`e6_QF+>y;v0X=8 zBIuMD$<8&=iHm}w)9g1FDrV%0w9Dd+wy2!mc+ra!6r;k(XcUI+2P)q1#u{b0JnUQy zV|AOOc(g-DWL3{g*UMut(f+hbH_gzPfDB|ZZMaMuCexYEEW|NqNIzcmq8E#T7bUfc z#Lsc_T_)1YW#pI40t&+`G0MolLMa+{wsRlEBuXhw$vaf0(t>;JPb-u2%2>`)joGnf z#^{#I=Be-}yi`f{gt^f8z_UNngec9R$xLQK)1uLg=u)U@O>Dkvn;(@VVwR{h5QTFo zhx`RO7o(MPP9vTCz@oq0=}w2rbDq4rzy-o+Pa}m`5dI z6%>wQ8krq`$xy0BH9ZdHPe!%6Rjx`Cb4H98B_}CX!;rO`l{Ae1C{<3cq(xu&0L@J0 zD%YIkq^1_QX#{h+{!^Y7$EQeOW-0Sc9>eq(3 zCWA(45@C-z+M44CXlc z*=&}UFlIfkc}1H#ARTk`k}|H6^P6{8toY(2PK3&OQx{;Ndp-pAW85n3{V~ zsZO`TExhn$d#qt|1VsEZEbS*~jBohNpUkI=-aRG~1 z5R#Mo>KGq?t1eRHd4({9K@33F4WW@>8zJwO$VS#6k_Af?;WF9DAB1w0oj2vE%FVJ@ z&SRE&oMG#7_{-c4^AE<%-7*{M%-6hM($?(ekkT5hwyrg4=Umb{2O=n01~`F1R{K43I&sa6=cvgBWxiJxTz;kh1Y-vKsvB(f=XIoDeePbT9%n!Y#pfw z>V^Iy)O%azvdgpz6(H0b2&)cYSIrD-6RWw+Y-TU6O&jp^&RSk{*-%~1)z)g**v}9D zb4PT-4jq#k1;LR)7_Q9$W*5u`D6m1-K45KZ6UotA=C-$i3hp0}o7}`T_ZrdNJatcx z-NJPDc`&;quF~7y`2H?e_YGEm6I|c`XED;>tn^&(+AereIJX$?aER+zB@?fBppO!q zkB7WAR{;AJh`<3Eg#8NBmdzDVV1n) zb9prcIWU9V zqaX~r=KvePzy>xDdIlV*JIQ6k2Hn4)_cGu+1^pgrz_%&ogYPY+mppE@9KI-t$MoVE z-*^;0KA7&7d`2jrRm)#qvm4U9#o#>iBE6$Cz=Crz(;F?+J2Tab3)XW6SaLntqd-5) zFx&IG*(fyG=sFHagDpUU5BvZQygk}@J|aMZMcY6Q__!N@JMBw0-AjWRn1bu$fbc60 zNK-l9GK%wqv@NQ%muoWkQy%%-CHliZU$Q@EX}s;&zsmE!h*Fo1f+Phr{yGG_!U7z< zj|x32RKU1MhGdA5F`S0^I){G2u{3A~ZtwK*GpV!X?ZbIns_NQaf(*<<4p_k(K!HB|L)qxKG`IpQ7{S@dHVQz*9TX0-IX`{kphsjfq?*LE zSt_G&8|dj6B-BJ`QAft&4o`$aWTF(I!;91dk@8|ig4-sdz%@$#3d4X*27naEfZU&g zM974Uk#1nfZh)n4_=b(hiBO8GS|m1mu!jo@4vs^C6hwh*O9L`U!88bi8Hl@%RJ*ZT zK8;&8KSTneK!R%w$rNORlH`CJK!Po}0_95sFc?YSqm69b#zZ6zZxlRmL?dyuv~o-= zw?W5S(k01b$981GsQj2Ik;hM@M~t$^%xl1WB*lG9x_(4~e~cuABuKOrorGk|fLzFi ze8`AQhl!-fT3kcXz(|dx01*%YYD59G69J>x$>lSAV#@xuIfq}VMCCdms!W*^>KLq~ zy?ApOd6TFbnu{NLx_!gP%?nFyLPgUf3b9PfwnWb4EJ!k>25NxCF@#8P0Ec?02kDf~ zjlf9Jphz1LjePLV@5IRP3{UD5p5Wli^E^+Y;7dg78lmLO&iqUX2u;B|GT|xBa-$dq zOHEx_O%!NN*VLtrfz4-;O<|!;+f)vvz)fYkpb=bVPM9&$eQQe@?8x?_562IVpwDTj1 zp`1_A^vo^$gFlEwNUR2!+t2C9h^PF|OgomG8~)JrC{VYtI0W6W+$ZDFMrA~}w(H6A_?`)?OB@GsJ(ead1I4#e; z#L*kI(LzN}9px)+G%_D8vTY1f`iwN;DbgclKP6pK{&dnOeXuCa#3`*Kg2I?9MNk^r zQV{7qiP(^m~hHBHktUDIw*Q#hs5K#kLSu+uy3)jj1?e(=*jwFfz^2SJTd zLPb;@r495XfoFx*XJuBd={wL2()YAhMy$`~P>Qzj)+EKxObsYbT|7^fQc#U5C_4)* z<&U6Hsi*_a0c_P$gjHCb)qADYTI~j0{@qn$HCAE`PwxZ`feqGB(uaf92Y~h0WBrCT zg-C`Z8yQ_zL!Aw0jaF!#R)eWl`Mg$aolis@OXQdhHJ z*X3~6KBp8EU6oF_>RNDZ)LMyc5Lrf~*03v~bFrWer(5>KzR3D6jFkpcm z?N|zM0k#cUp$IpUEm{0T&6sOa|FjO2O<7)XthtdcmVLZsS*lx!+2wdw9@2{8%-J#B z*~~@A80p!3t<_x3)rBouqs3GHJspiKx*E?=pru9FKOI_K{n=V=6N#PJlSBd{(Ap0` z0W#PEuLaxlyp6cq0wTDA;hhZ`7&{{I04vx6w;hhSrB4;u0x7WDkJTUzpn~QdQsn4c zzcoC-)lVWE-0Lvh!>y9Utv~A#HT!d1=7HSEb&bhA7t6ieV$j_Cb<1h!+}H)(e)ZSU z9ahr~rPNj3nEDi^b=}ux*w|gu*`?Zv9mZZXg1JjJwY$btp~K!~G$NS-?d4I9MF0e_ zUJaVw>Xp>s=wJ_^0YMgIZA4-1m4F9$f=Ye@HfUiN{$3bPu)w9^0~0?py} zof5WbW!tP-VGxwf1yLt%&Rb^ST&ChG4qBomT7bn<@kCKz4Q2)!=9m8BVlLo*09IsH zV1I>LeQoCE48v!JX15|ra@#^5c`<_qp%aHatipaBcuXD#poL8bx}Amk8^XA=Gb zqKE=UMgb}iWG~QyeU@YiSb;4V000<+F(~M^IOxMlXmdN;*uGO8U zhMq18{@R^bHh9Jvq>XAu6%kBoMn5PC~#+OJ!C0x02J7273gY5uG>gf z;S4J4vrg-^W(!zqYfOD>5Gr5u-C@XDx4Wh?Dx+wOQKO5Fx1hiwL3vKZp3}ru;9f@Q z#tztgkgd{SY0^N^0rq06q3p@F?0@(N&%jF;UDznr>7GSnXWlwCMpV-7McgCm)b8EY z#=F+GfY)|v?bQM;;5G$df!dZ-62@)a=IVNu0Cg7Y;3jLcMr*Y;?)LMBwJ`hHP=#qZA6Z)WCipN3}J?L)*YUL?r!Wb1O<_yFcb0_IgoA`o*J*Z>%Cwin3W zx@Bi|W`TAV;R$DfEuexrr-BE#XDLu;Es%oXV1YJw0pSK{fo1~+3GuWbafHqlPtMd7 z*ODw_@lLzM{ChBensGitj_p2%mV!tV70+P>^7>Z8icIhIwvpA4Y*5mXRZntNPxV)a zY0FNHoX7}%jq?3&=KT&s2mWahU`()6K0h?OVUN3Ezl~_KOv^k>E1-gBCjvfZ^Jn*J z32*=^fP!pifkK|}D4_OdSAYfxbZQrlZ?D@9uVgj&0Yp#qMR#jkar7mHbW8q}bQ5~< zN)KY?!gRi7*G;$aPG^P~`Sf(~W$-NTcFN8)H1#2`NF)a(VP^FladlaL_%5dSVW#zd zu=R7m^;~DuU8nM1uP)K1SoZvpjpep?o^x#FSRwVR1Ni3@0Du!X0d`jlq9|wti+2-u zuz9EVOBB$`ddIn0yqJTfOb;C7Kw^MzEsP{KRA=wg=$BS^>50Gis|OfRxg7v#pym)2 zqL3Y`(Rh5w2=?>YT=#5zB?^(Z@XN%e5?okBad|* z35u>qj;}|7u&;HpKL@i_gWuu-0Ivv&w-ODEpXso-Y~(2B&>!Z~#~P|n4e|#K z@=vm$D2>y{8nQWm+~NB6=7)`drH)q9*adl_VAI(bNTUD<2@*sQENGA*hlC0jGHmGZ zAw&)qCR(6ikwSw82sU!eDA1z7kRdaAlyLDR1%UuovOIAjTC{31XVR=`vzoV@I&-2x zVeTi;phAZV?b(wk(xgg}o@?s#Db%P^r&6tYE*;i%PqT8>{z{dr)v!>Pl1;jkB>S`?K*dv4rsGS-~aRKyT7d_Li->6a zxbY1eC{|1FhK(cG&iZ$rA%Mu^wYF(T5BzSXpW_=o85X_)wSzMtJ9oyn)_CwXhFErU+ZS* zuDj{VJ1>Ts3CNZ``Pze*U3N9)j58ws@{9h6(n#YPZYWlouxz%u$lF@Naf*;aX>9QU z2Syl?5E3?gutgfJazFzLG$a&jt+pbGkw!}PdXh-NhIEn!#U6`Rve7_;LbEnK3+=en zo)<3B?qwU*Pv0uNv{OZsH7f$j|``ynuo)c!3272p|hAr-cVR;0u#O zpafX31<`py1r2zB79LnY3WP2S6$HQmu<(Qxtbhz`fC(i~5Ql5P4rsDl5AAj*L!jiY zhVz->P@v`w-$^Zaz?&2FkoP@pg$`Im3l&UY1GLZu$588c!4&wGkQw+0jSYF@8*f!dEnG(n6BJz(9so!|N?~*qSfm3M zDIFC=feKXuT_rV8$xCK(lbzJrCqe1LFO|tBt~@AHP{}k^vJ#XtpE z-tqthy@_&^PQVoAG>B=;Um#PN%#>8ao{55Js>pnHt7iHx#*qHWz?(Bbf;M~N#!^`T zfEvh%7RX7GpbA9(11!)0AYEXQ1RgR9@kD_H9&pqLc+g7voWfQ4iAke)@)_6YnLr0B zCQ>@|piSwCLUmWx{6KU(FnMb>ULX1+71=0+x zpx-klk9L7Fi1u8I@atdHDgCB4a2&fR(S4+cAgApijg zdj4kb6^)#X)~qH|wvlh922E&@89LF3UUZ|O1ZgZw8q$@v>!mT>LQRXh)86`Yd_v7> zQopjzutRmKtI_IllRK}l?vAW!ZR=YLHrIXT^)!5qWM__#$vtuMu%lcMV;j5J6r0Gh z1CEkrN1AlJM1e~H_8n&K%mb*hQH>aQlbo=uMOlzVaI@>Yw;jDm!MTmeU7P(q@|fCQO8gvwSJ{?a`m z%^ZMJdS(LOs8N0no)mA1?_w4ujg?N8r(jDef?qn*bt2HGzZvgSfBeU-F8LqS`qqH8 zA~1mQUW92e*eIChTEgCwG!(=LTeyM|*g%FGAR1(BcLwCykztxksdgb+edG2L?^KJX{l7aJi zm!bfDF_(FwyTFF@um1=rI0B;8f9#r1S!Ek2mIX*ggWL0e?%GM}vfUd6_+ED`9Eycm zSaHeF#YuTEp98K{TYbsmMc>cC*}+vG2GUt~xWx5^9M-X0AoM~n49v;?y;u352sF*x z@0j1dp&z0l0qezI`@P=_#vln01QA>T#w>)bEXVy#LH?DD1-!t2O@R*{PU1{N4)(<7 zSVSLH7?<^g<2*qMl+F{d1skwI9Jo$3K*Q?vL|hq#m?_|Xu$jX>AR3lZ1UB8bQJ^!x z)%0bc9G2Gxod1-PKGxr9p?TMl%A7^Fej%>chGgblnv zL@37=gaHb?od@s;Z6S~aAP@`mPi*x>0&NflNC65+ft7HXCq4ld96$(N;aX%NC9DB9 zR6{htK~KOz90c8pHDK|TA$FBn8qSae@}f*I9>64{GCD(e&EfvJ7~%;?6#79UHQJ%o z0Z7%2*d4xFt-)IMfuJ(&VPUmK`Lxt*2qGaS8Z;uJBBGWNydIEHq9vBh$e_R#*pC;4 z!4P_Z{m8%^kxV5`ffsy%MF1eA1rTi|zzPsoCSf5PP=Xh5Aw*I_3IUxlnui&tM=);M zFd|ej8Y40;qcS$5Gu8<-N~6qGBQ#1LHj11!ZX@LZfj6!jIELT|jw5T7;})G`4^70O zxkL~2K-C2$tQ}$wfXo}go~g#M&R%7t9S*_;&{fr&sm8k<_E zBsF%&Oa4GL2Ifzmz+!SBOg<)L)|zBWCJ163FYtmmdQVR7PG)5efihiYW@6E1{@SF}4GJg+X@;CK)gfsf+6NGUWyyeLc|Z>;2P6)d zLm24ZoZbg;6B}R_8H7w4kO5}(4-CM-tnANh{#gVi31li>*%W9&0<8cRBtUT;S6f_z z7sLTfpyf6E%tf9d13ITLN@vl%<)~p?bz0}fVP`UG=U#GWUQwBcy~UyFTVpaNqOk>e z7A9hb{gq+?wFGLN0TZ?{qHB$v>U9#SGqkI_!Yh&*#k|%l@Z75f<9EI9Bpj19>=b3siM&zLujkWUIfYh zfV3GPnDHI8A)XGgtkSuxw}t+zkb;}c&MeL9<-G2#F{lM#83N!M0@eKh&mvJ)x?<^zzq&-HxUTS_K$bqnbh%n=punV5B3#PEaDlH4Qu$h7&45NSy<0K8&aQg1B zv9<4^1?36!0LTPb7+8TB*@_1g3q-^!G#i&4bM zXZ9}U`4Q!bc-X-$H!<`&axSc5fOkG|N$J=}vJdUB$HG6{$>DgRAnO@Rkgk}9+E zL*O$|s^1CZfD+_DEf>cPkdZ#?G6nE5?nwY31v5Vnv(vp50?Nc2ya6%;#oUfrPfRl< z=)^R?K^%0!QpcrwkbySiP&SCOIdF4Qq!65V10|4wHM{IOw=-P5GdxT1Jkzs1yM;>E z^b{Zd=068?ArEx@F0w%%G$fm+UQcpEKdq2KbWKY1G*Glf>q|zX<423;UH469#Zj@W zGOZ}Y3s4q87=aqx;FB6+52#-j9vTm*0ce9Z8;HQCT;kuzz=7T4qiVnu=obqB91-f5 zq*6d1jgT;(XA{JMZp)}G?)D0Gp>IROTlsc#T|*g^K^*i9C2S!@b}=?kBy@A(GV4SN zbusXgfl);Db2s;SL^mZ^_jXexP>_LgRdrT3H&9$dbOS|rQ^GYM1va2SH=9Fqqc?rW zsCaibbfa;58*n&BHFX{}NRsu95w9Mt-V|Dr{)wWKn|HNXDe zEUm8RlrHi?NA4tdU_)23o;7s%wwGMUL}7CX_24jRE;d9cNB>L#N;?EW+`!t+uS#yV z806!j<-izh!4ZcFX{Uibo{B8-);z0duc`>&zlW z#=#p1H!k*sj7Ec(FL#(%!!xV_murc7_rw`z11^5C7c|#&=Wd%}H=IK=MaJ=)qrewu zgPgnfHN3%ln*(;wB7aY0dJB-Eo5P@+n0&+cqz46zx_3nW#6(hpp?gE2LpK@2F`;+5 zP7JlF#t!hRD}i&Dffp}=C%7>zc&s;8ChIC*;b zhih+$Pu_@MZizeei4RPQSHp^PMvKGLu=yj6NA`ENU}mplJB9(G9RV1y0jhjJalmFm zEUE=CISu5dR@%&MMv_kV)AYK96Q~eHt^rXGwM^_xv!qZ@fB{Urff;-`m+(7H#P@f9 zw^ygwR|}mtn7ZQWIiU0T7o$Kn{Di_kcQ(X#7n{R196IYLd{6*-$&<0kdpv!YGkaHh zP*C+KRrObonyJ45moK+`!|@hkL&)!h#0z-r0C+%$zl`;&m$l5&tUSNEOxTjSXh=dN znt%8+AOvWJ3%gP1tG^yQvL`$C0YR9$@QJfm*9X}Z$wX7+%U?{!eZAbrX#TstX(@S< z0B5fsqRrzCAOyN|fV%g{&9Oj0!h6XK+)iJ)THHHxA2Y)Hdo=*OXbn7|Q{=%Db;8T{ zPJHth@1mDP{2SzX>r}j)Zy_#bd{#?7G)sO_XtT)!#p#!c>1(sfb2X*UH=?h;rjr59 zXFkD4w{tHy7^m~kD_%{c`W+AbTbZ@09zB95eMK#OhBSSYz6I1vz2H~<&t5&&v!~We zUafUKiGO|AJ1p6sgW3B7+DD88yd1}P0TFEb*AnKTshdi5j0_tVW4q zv}h>an1n_tn#MP8R%)z<4Fxut)x5oth|SwgpVeM^6WWsurD{dJ(d0>qOg5oPheAz? z&73)jRw-4jiXy94uI7+pdqe43928p34fSSDY*%bl!BWEJg_2OFID-cDmhD4xOuZl&L>WACP6|(X%P@BqS&w@b?b?o zIdhQBq4em{6o2IY0SHi_KthD%M(w)wZ4{u9BhL-mc5~;?n}gOpoqBca*RkgY0>t7e79{ckbW|75eq-*fEXg&f&wiZy!H?^eIY^Fq?n=fB*hJKmv>@{4-62(QZ&; zwB(W_!H6xcK!ObvZkXYUEs(g72-#!^V+t>bxWI!Kyzt_M4hot=i-WeHq5~MTnBt%q z6Y2nq6}CuWIN~M>LJYF58Ox(LIHClmXyBmenrMtHQlydIfCCPV0^`aijl3c04W1M; zlCY#uh~t_t0UN8Vnvx<(uBXflGAo);xCV?kvSCZkIN-u&&O7VGCXP6CLQAcxXu77Y zs{Yi8&TQfUgQKysB=Qyw#+i=s3H{XC0E+SbeGLAvzeqau|W1s$$F1ux!&F;HE%p*_QX`@9?J@(wI z20r=dvk$+C^!rcTac8jNiVti(&^aZpSdc;6(zrrid1tUtUMs91P&Oj+<-h_Ms0f$} z7z)xrU@9as=-`6%OW}zpHUpL-DdC8trD)=yxFcvJl9H=xFxI#wkTcF`B#Mo?si;j? z)`*fnVdlwCnCp7^&r89SD2}aQ{!`|jtFk#}v`DH-t)qobE2*B}>NyUas$u%6o^i5^ z3{J6D4AiZ+7L_tuH@o%J^n?*+w6f6_#t=h%3zh`gR$I-2xh;?w1&HE~`#FiG+cgm0 ze0`NicR`a#+1w;TR&m=7Z`SeawwvzR?*7i3)^hN+8)As?eDS61_TD=uopiX}C$(_L zO~$T{w+VxQrdaxpYPuLsHeGizJV+FB)o@uY{1 zg$Pftevrod@sEGNqM>RwphDXK&^LgKBMAi8y96q$K`UgSyCR4kzF}vA+NogXHg~zs zb#6Qx6p#BZ6FPRVLq35tp$k{1#}(S9g`o5o3}tA$JEro6cFWfR1#u zW8Ls5N)qrAO)G6{4i&G{#O{3>_u@>_lM7*<9cPFtk7_Evh>S6r`0Bd!?pmDZF9+L?S}@Nib15 zJ?^EHrBWPer$#2r@}W;uj`@jY#JHI@j%ICXTU&a<<40y0%YH7j+iH&0gC69@Z+-*~ zX9UT>VHMJUt|L}Fe=yHwnWtKmo7}Y0LrDw<0+YH?Bf8NMbx($Rbohmj#8N#K&P$>ow7RM>!9P#=v+0PT6GpzzuHx>7DB8TEbCbb znwo;hbu?o@LUaCZAOE(jg~gCvA{HGcGG<-n@{LyYjy&Gn|+Ah4}J7au!GqMVd_992Wseog_G0i zE^xR%aYI3rHFUUV;Vos#@@m45OlobK=gRGWdpJ~ zgginb8pVfkI!zQtNAbpAX)V)kadyOQ_sEjSE0e}Rc zAOUAw8{5PK#|SSj4WDM*2}r;Ok5iLB`vbrLwy=WDpnL_aUJZXtI~sBd^^axl-K}H1 z{y2E|$XuOPgiVMZUM& z?;{hMStcTvIHcJui$5%&dqRnq(d8+UUsF#SkF&r?zRpL(h8fIo`H@(@^FtXu=PPe{ zoCvKhJ4yWXBtMZfNq+H)xkeev5QqJmgzt|@IAwa~Xv#k04RNT9GJJN}0XzW(PjG`Y zFP`zb*S!fp2*UK$zysT;f%{S(O&YeqeKq8OIU>(NtBe5l0RUhFQ+Qa)SH1%NEVz6F zFz??Ub*0)B*Sy?<#5t~!W#@RVI&iBzfDUsGFzBRZ=&(g2j1K9NZX)K!*`6Z}!r%(P zfa+4m23|mQm~09_FhneX1`Z+&tl;ckU<*7%1v{VvJmes}fCa?G16aTdP#_Fq&>*~E z1r%)l%xw%-Mld7~(V(IDV$UdqP$B?N-jWHvz+hyMq+^6=Ot=ER;DijY0S>OlWw-*) z5X(r0@KQEUc_Ob1qeAj3#?IDY4Oqf1*bog%FH$TI4&DL|EDur+jVo%x9J0XPq%L6U8P;&!m;?@<(Dx{TGKBDD-ryNXB@>ka1(g25;U+^FC}9Uz zj`^HVJg9>W$YA=!fCnZF1;Aho)W9~_APv&M3yh#Nz%LEh01Tonw!rKHas*MJ>^>w6#AR-9 zkOUDz3wBV!<_-m#fDJn0B|s+OLSpeq0tJQyWZaG3T;>U7A{4n|3q67(l|mw}<}RqD zCKMwl-he2?5Dl;9DbVB$;fo`?=igwmCF9T#IZrNV;_ucVCjLEw4!@!gIgcaEK}rZ^ z56$5X27@CW&xcIn;2wh#BGEC_jWXUK^j?M&Gm%s_u@kq53{-A2CN2TSgF3{37wb+U zPk;@OOyuB&7NZOow_r4^OBP4Y1`3iEy#OJt>*SCzkV=dh^=6!&G1j6nICP^qS_@dL zQ8%#Bfwqww8Oa+t^XJ5Ix7uipuH_sxA{`;{=-AN$+|f3ujoRo@Tm*s!Jir96%pWaa z1FXP9K!hOk1q3^AT&ydGD8M1%?gr;iPI zU@kw+E=fQMh*1qt4FJH;IAjq8&W{9+ATVjM1GmisBw{l0=;gSn{y3mHc3=l!?K&j0 z*3v06se`IMPBWRM*Oc_0cFe&%u@dwLl9X;s93QIK@jj z!cY*SC&v>!@4_ar0a2lXB-*oiUgA+*B0gvS;wJfRDKh3H3F9sJa6hwxFZfU}sKP1P z0xApCDi1UzvhoQRbP^l%4K8CDC?P^6lo=?LR4i02DK0}H(=ElISaN_3$j|&l)VdDj zL{pRm4rxMK^hIreG>l+FX0%3yR2gv;M|spoe?UVc(>83BGKusW*~vKs5J@S>tIp%+ znv@*Fg8`#-O1+^jNxM%k5XrcyBWTI!_EZ{QuPvlEyU?yms zCL7LSX8r^|&Vgz8kZEAbBp{f7!3arEW-=mSe=%c!^EOxY77R!w5{h&EQX_GX12iI+ z!p1;BCJc$k!28s0?M60z3v&CASV2Y@co{%Bl$RkA${-RzIZADgN7M%Z6o-sp zL!3q<2U>KLIKT)@BvvM(K%}b~$(TBn>N&=hIMldE%XN*1_nwIDtAdUJJ1btVC7|G= zj!{zrRWo|`_?kmWq2B2P{+I&-xvvJfcM3T%*p0n75>T#|kss^N+zXNs%o`@TDlmDT zEm@NfgOdf!lXF#+MOjKt*%(rpI99oppUIhyMV9keUTRk&bh(sxS$BQ82Y?xVWo4Mn z)tI}{0F(KGgpHXE0jR8HJ)rpbJU-*r9K1Ek^jnVErkHwmrmSm~TCrC0izOG%H6rIcb?0s@+* zv&K_!+NW<~-UzFw1$&9iA*e5Ts0}$(jQXgPTB)0wsrwqLe?_Wkg{o({muC$+vYLOk z`Ukptv&}fFd{?Y9+Kt7-tjCH0)7rDhimlyRnuTlWP&#(%T6Od&T_6gUZ9_KpT96}> zBM*bH*_Mll+mHo2@REDEog3dWSt|-IF{Yuqt$X3Z2(lx4vM1ZGZZ2PuMV51;M;+%_ zx*7hIFms~Mm_bn6aoklri0!P=`nAKu9EIUB+*&^Ld%y9aww+B3oUAmcOSu4iHm(i3 zOliQC3&9hrIe2@ne7mTE8=QxGf(iH}H~BG)8?v5z!=GEHg(AB5jGYm~y006%aZ006>k6+y|1@jdX)6~q7p(s_?n{s>IVu9mTsD; z$JxUbL(V_kr%4=ZP~2;d8mU*D#g}?AP#HFWMVu;AwB$;>tphj|Jy1wZKdbj}#r^`9R(9vzQH5ZfveQz!^ztTbn6FR zGEkwK&N+-A78M8AZNrwmAp5p&UMiOd#E<)sMFi4sUSvZ9rXUI^o&_MnVdm}!*x*k_ z1{!+CWH9FAZHk8go4H5I*pGdrMt*!~>N4`V*)ikUqdiKo6>KD8ZD>va{uiA$cw^Cb z4H|j=F@0V)yxKX=yFVB@M+@SiNr1-9)zZ)1$F=Il*j<^)BiP1qzURBXmA9>xJROrM^AK$c6l?o#nsfbj}uabr241`i?% zwBP^$pdm7z4ImK;lSF4+<_%SL_XMltcN&q2J>_+J<&_J)22B)i0~k@g$xridC&S`Pk24CRHWFkWXpQwiZ-p6jvc>sTeU! z!-PqCxycDOU3#3@{1vQH4o0S25rgEZ=fn*f066gE$>ILpWQ$S)6K$Z#Xp~R{fAgkV zG%%E+Ie#8}AoS_c2U@?5J-hbp+`D_1{+v5>fzT6LFNhxfd4mZNMsyf4{z8fsGupSf zu_MU+B1sCHnbJyk(InGJGzB$OPYUYvQy>WDB!pU(H5FA^N1SohP_hOk z#WhErbHhD%5Ovy#^j)BW4k})rh8o(QGX*8eDE_1JJsKZ<^xc<{egP# z>y9x7lk2woE)P>~vBVN&u#u&fVWfcs5@1Zh!4z7sz_1nxB!I;V#qRdQ5^#8N4K&JK zd=1CS#Q|~`c;>mMbA3+tCklkF%yOWIzC2x`i#AHLLXh4(pQIB}su4+-ev~POn|eyL zf1rv=5~-%Dlqw)VvAU|O5yC3#W4P9O{_9j$>52lcJ?8Lhus?W}6tNSRb!@UGE~~7w zDN0M1i_`{UEw(0U>&#!>c3YMO7KAJA8098K_F`Twp+*m;eZ^G|YS25z5?21;_!#k? zP&vIz6vf6CW2})lh)RiogcYV=VU-nBPyq!C9;J|*ZfBDPNA1^C15NF^Q)1n6Bl`*7 zc;5lqa`7&QryR`6n_P4Ajp7`U&O7r==|&b|N`3Yi=}dj6N(UGL3lyk_lJmooWi0y$MM5MP2?IG=YKvSajxW_Z^l?r^V5?><7XTGVSuWF9D zT7}#v7Wi#IeiWeJV(cdw{JF3!`{Q5#+#>i$liMKU((*w=@?bM+_+SZZ6+a57kcDe}A@Z&h4LBet4nYJScZk=+ zLanTntmKn>nBhE;z{iLZk)9KgwvnfJ#3Io{qNHj$sVI6%B;O+tsm7PIL}alju_}t< zc;v+ki6m=V+t5|CvKao6giR@_>7-cNxHdWd4}dCqQ32?A6_(wHhTyW>l&X0F0hv>1!+h*HPVeNgn9BgY4?gov|~;0X#us3$3n?bBIH=7VpPIj)wEF zYqLb*{%pJ3^{98h3#v|m1aIE(23|j^MD?n-y##u%faJTMq@>SkSu68pag|92IKYfz zbL3LYR$u@eMZf|^R)ZIemjv6fC3}f&H7MMz+gdoc7&eNA*W!f`8zl(;>aa7tKw^NJ z*egfaf*O{vE*@l1HACgW5_oijE8L*C6$*nFsIUcz;TQk`NP(KXS>zwDwV^GGwU3Vs zk&G7cW=z(rlcD@qDSw2@R=zGnu&g~TBbLiuHWf?2Jl`=B*Ua~&X08&WW;XlxL!6GR zXyZI*qyC`IC%UtjobHepjm85v{8DnhBX8MtUc%gz(`n`9Qd35 z1W;AVefkvGvAe>cQst$3Nuj36;NP>G%%b4iGlb4J_5TZq@buFcFr|G1~NQh zJ`OevA`qF!@oIQHcp!hM$c>!cl1D`4Dc9@DS?(W~3uCa+i20LmN%LjfyxIOL$$224 z{gM0q+_GgJI)013=A$nr=|g3V#hWhfr?<@|Q-7A#uRfQolXL4V>biqo`wOr;L+n+> zN7>6RZ>Y1)L|^HF7sSAZe@7BDcMo_M#ISeE<$w)fK!F&*aCiGR23=4!IUoio@P1eD z0V41LQ-A_j5F6~{Hy+`5kjG<1H5}0J25~?MaDW2MK__++2X6okbCnR(@mx71QKe^s zclA7~#}F#_dNY?yEMzuURv*chd%AaXFtI8y@(Yl46+I_>*(4T80Y*jWd}yXwSm7a% z6-h;sKP}=LH}}2L5sN?wzQD=o%NPR=Fg?In^8z?fC8qG6n^N3PZ5Y@HAWObfm`r+aF&Qh1tl8u8_z)raZo3YSc#0{ zdCk>{%kzmevt+Gz45SEBu?GMsaaJ2)UVWuy0Mdg{<7Lk1{t``dK3tI$wg`_)@l2G_ z6qC`5V}*QPa}>X_Pa@$JOh<0vwp1(vN90t6>h^sm5kBNaRf92&f>st!!ByAjZ`rtw ziy?5{xESDgPvS_9Bw&tP@B!$ka4#T;nYE7X_>SKek3SFuZ(t{I036Y94K~z)a8QCF zM>GBSasLQ20r`U3MUV!GdnDlz3aL;GiF!E$UPS|uHz$!k=!^n#6RC2MN0E^mK!iR= z0v)M7Ac>12i4{gCj3&u#D0u=ZDQ;+yT5sc$Ku~=$ITue=le5=O)$kX!m6K){MjX(S zWaA@apafumE|hTtuQ?e?umvcfVnq=I{=zOyf;le!wgpO1E?&ZiSFi!Wdjc^?YiP zTAOJ=5^9B8NRwR%RiFumq?wZdiUK^jKcd3}^iqG7p#)dJMUR1EiBl9jkZ)^XITwUt ztVsf)b_J$m1qh=dFOZ|x)SMuZ0I?&T@wjjH*p;EAJDo?CHS?XA7@k5jo{mzU=b4_u zw4R>Qo>uvu@o6BucPeyYpZBRnMxmc4!k_+*aiAV5U_nU&1gbt;gP;k@0SmfqUX>+G z2canNlFE1&6bdcq1b(ZcP7AT2(m0JCs-Pd#L5;IGJiqBji6?V{hcccV=ABv6l~W6c#zA z5)vfLl%hQ1QyYS92)Y|=$|F3rHGboxNXKnI~v)e&h;|ffQDYx@r3~RBd#o z2e)_{2>=FQ0JY(?wo!4P`b|F|o(8LNQQADQ=7Oh6a-ql!ueXD^q-+q&Mkivjv{*uu zVIflyE-~g)euF|}BtOXYu_2p%`6{&+mnW@ywOCu0MYgr5=Yn4QwJR64 zus60gNHJ!+d`3ZBYHKTO{tIJzixqHd0dhOHP+PZZbhn0yQ)1MtN)c{$nv#NBt$a#H z*&1~oh5V@kGRlEgSAiEmsh_6hmLMmjw2q3k^BD&OJs;=~^uyndm zTDqn?M6A0IJwt=v)rxQ#wTIytg4DL8hP)hdA@n*@8{!d!_@5sUryfe6?8>HiyNeq_ zvJ85LC!nS(+p^Rf2;3L5m>IJmOfA;C5LGsshMJQi5pO5}w1xA%Xt4%uV2zJ4Nt_WR z9{?NVi;6n-1X{2#=bOIk%fVGkx~SKIaqx)?!KBL5fiYvhL^Ohtz`FXIWuf9%{ksvK z${PW!jk}w){B^+oWENu{p}+vZzzzTs4?Lt1j6onv!EGu67Hk0|nJiwh!P45n$e4XF z3oRmig+M^UFJi*XfWkF0uBFMs@)SW9uxaR;7D8Ze^12jhK$J^SO&(wcTi^jrC`KNz z1yf*6_=*5gurLjy0OyMUOiRQfG8&}hzU^_f&`>AJfT|nyN_NGMqk9m~V9Qaw#LD0W zalpE(=$01IA6jgRpi345ytXB@x9Vt%I`w7%z;pQ8sSWI*9wNRw0;kD`!R+Ut`IBKl zP<1czKVxBTRR_Iy@nBdSuF=S$ii`p+>^F}buaP{-M`6jG@fnNZQ+wFS8zKW%AOlhf z%A$P6S&IGuK&)mDzyhf(#0JpH#v%r9z{^LB5RCW?8pTmeyvwl+%<&5b#O$@ke9XzL z%%sB1A(^+&Tu{-xU(?(^LZ=iSan0D=p4vR5+}zES@y&K@jm=BWgL}>_lFnkW&VSI( z+zNi=6VHJ$&nsNdj0{K?fGkT9cZ*>JUVsE2(3D;61y>*gSK$GJcLk!H7*enWrt<{v zh#PMW5(BUTs|I;bphBM80BS}74y|Ujp#V`J*ig_q2%uvXJr+&i1!WKi{knO|0L2L5 zfp9{Do2SbMF&3Ct+0lS`3DMc5?F{$0c^%Cts?C84aoQlm5Fq1$ zCjK1>o^3=ZeWm@|UM;Zao>V;6#oIjz&Oivm5jNj=@Sg89?XypC5f+()%W zp)?VNRX;9W1-~lgS$zJdRYaPlg z5HXOq-<_HQE0EWo%hxR61yUf`D$oE5paomN0#Cr;hJAsE-2`M%Cu13jBiOI1tJx^< z+RiYEYk&eCSlJg&g3GXhc2Xw|fe>TSfnG4$9S8>UtAQLCf~oBVlzrpS&?uAuX((U@ zw)_ky9)ipei5$)hCQjoi4n4YUkSontzFmaFE#1@%&jX z%P8>6qWF+5H%Z=)>!CoK=ec731!2JFSK;R* z`vP8&8>wdKh_2|+xgU;87qJo!;f2E*7DF5Tm|`jcDr5z=)}y z@^6q3Z!qg10}a(K+PA)WIxg!;oDjZ#>eill!!8z-aO@6|>_*P)&Ti|`KJ7T4c{sD} zq{!Qh6%$a7i(@=iRBrB2f$qw!?uWtdWZ@C-{x|XNX7f%0^{%{Ih3`K=A_X)S{qFBx zm$L^U@Y@TyLkcdAv9V{I7%=b!D^Qh(js*!o_=XPv10eB*=#Gl-5fB65=NqTMYx!iv zFp1#;Am0EgP@5*{<}W0)higZ3@9*9E3k&2Nvy~3%Km zvZWL)ELgyN(4c`96ev`TY`|h;PM|@B4kcO?1(`K)qB)DRhSJkF(4tLU>ddM$N+>8P zvkEP%R%lk6KFtd4*_$|#BCUzTEaz3YIo~|H8VQaUO8#`uK3&_EnKHS|1P>-0$qP_8 z%l4{e%dDwd6p5FiW$c%*;ANRLZ_aGY^JmbZMSm7n+VpAEsf8tCoygE@*slp1B}&5f zZQQs;?B_ihdvxVNp#uRD z$ozTq=>r8--@bjJLciqyI(BTTIdkdK;lsDj|9}4Y`)|N~7y=+Dn*`!uK@J2W$RGFad~idV(Ycpitl>lUz!P1u8U9u_XPRHx{;=wqB;hF1t;m$L%C00YW5&rNBe@Dn zB*kQgOC$%Q5)R9}bgW7%&#ZDVIG2$#Njop&OtaDY^wTrd0u{71*J3jiIUuc@?l#_p zyKT|kDnv9$N@?3+ha57^0X^q3{Z2aIt`pU|1tT;`Anra@^#=oi9Irh0VwF`rUwnaY zzF$fcteR@@V}~690Ss_hVgp1j!3`K}aG-(?l2B4;qlGpnl1M@^#TT>HmI9M(s2 zcVVM0)pXPII?Z9#9~K?;;@e8K;MDE@NT68NaFu&?R+49}_15`xWrkN@f$dM&Vq?Y! zxskM!_U4;|`qtWOd*1fvlyWkt+Xi+XDP)F|BNyGN-g5WdcEN-fE_$oB`s#Y^-7H_O zN#i#)LRtHFY(tP%ZeU1zs}9=T7IaPsA>cc0D6-*WZ&pA6fqQQux;ywgi!l~lJ5)XX z7-RsP6FIt))60oulyQ~Mvt6q>=bT?<);wn7YR(R4&=m&C=#qNA7HFV_=GMldjW#>! zqLwbVX%wD@TCj5Cr5bDAdzV-1t-I#>Yp}y6``_1TLmOeWsbgCNw|{_JZqw)<+isvp z&YN$z{eJWWzzG%{W5PQ=9C7}|lk2W=^d6rza>*%Q*>cQX-u(WV0}dVMpe7y3bO4$T zbw5*`L2Tl!Z`ov0up5f(#`Gm;IL&tRdXn!fNSK^lFkZmplkoCIJk|K?cw|dnZL0H| zz>$gr6|#+a^raff{i1I0DMaJ8$Gz@72R8)4O?Of_zJmerd_TwubSUK<@{ospC4(QX zC79z-$$e0takewG zl%tzCcrOqB353NH+X%;2!l5khVhds+30&y4)WmRx@UfxZaM(8;-iC*_@uB#D7{u`n zv53z(;t!Gtt0l^+iT?9>BK@R@KmSzmKUb8NNmz+SqVS{v*wW6>y!b^h4v>tbTVNW2 zvPRq8u8zYL3>}F%m^&^bkHgzz@%(r^Kni7fISEeNRwya+2qsW5#ML5eSh5_x4U*33 zK@V)>AcpiXIw-Ux#@P8z=4mHYLj+HFeuG3%#>#z=E5vJXRhs%(#T(wxPq7GeP=s2s zI5%@8P@*YIT4u+Vx6EZOcj-D<`cf#s3?{mcc}!z|G?~l%U^DwwsAnRNA&EL63aQB` z-VhR-fzT!lxhWrSHZGjf8|M$oc}`|ca-Pm%=Osx1&!UoGH}W(bJ?p8QdwMdT?%C)2 z`e}%N3L~J-{upRMiIq^W5-2CFbihz-LNqd>s3qD_R{1LWq6pj%UV`a(Agn{7Bp1v zAXT)Z4V*wUpn(s3;5&RvAL3{e)lY^pRy2$cDUDIND7q}HyIrM2qt#FZ&60I#J;_?L z(^kU0RYh?H<6P@Xl4!#2H+$V(U*8B=>|Ri?gVkeU4U5$zi!}v2YMuG2YY_%KX7+>D~E{}UGu$BV3U@^TWkpp35(;%6$N?!72f8b;X zK-p0gqjHr=aODkT89F#L;()z8WiTH&pJZmAnX!uI2J=eIYX&QF3}67Yx}=H5}(5@y<LzVKeSCbp_4aGee5^6CeI)Kkl@)a z7}x^!#;=IYW>_9O*~XRgf}A~XibZ<^)26nauRY>y?<~3u^mZHz9d5q%j@*rgS5VMR z7_F_FuhI%1Iy6zW7ZsRx^0A^80- z`4|XSr4Bg5pkI)c?$S~W0Cx@e_PpZMG3WUUi{xxY!2@fkD^+TO( zDXXgW8vP48&_g8eB0T_1DI!F@?;))iG%%8Z7Wlxr3Mq;O0TPXA zi3m|Aanikrk+}TwJ(X*rPy2=9JHAc&jW0w2*jhV_ySNfW4+fix2U|fFRH&SI!8yx9 zcACKMggxnWYmpJPI1h_oj(hW?YnDTFuo zJDV#Utt=eAS>eJ$@Ind!Lkmt{bEDK%MLe`k2pNITcg8Sw8Ig^ zL$=$)^XS89_`^UvsGx`t4g8o-0>2~*Ga&E*A7H0NG>`fIGCya*yA7K}pmDCq`<5zX z7~7B^MB_wa5{=FStYpfJoCuy#3_TtDzf%mrOGJTZ12WMHA1r#QM%j(1BF1k5KIFSb zgUcbffw=S_540n#@UgOGu?@Jvm0koD+X$CyBteX$EtF9iD5@Xn3q<~?Mhk$*Rmn!e z+eTgUMsQ4`-BUR-j6}lu!E~gnb=)=q#H)8~uz36{ddxqOy2pI%pnW98DD=mF46jsN zER>_Sf<(T96iB5?$c2Q%hNQRffypz3q=_`UiUfj-9IcFewT&c!j+~E=e2zsCNdsHH z5;V!$LP=B7t!YdpdKN>#KBVw#`MdxW!nIs{24!M$Az(t z(x^uy?43vJ6VBA2djy`RyU1l?uqP`DIt&-{kUGz(5Bp;m(Ks?B z^9=Lg8^engi+oL_LOYG*jw1VoxzscguuHs@6<$*hlsQRZs2s0a$$iL)j~j}?)HTB# zf;VV`8eD=g=z(_{gCsZs#azr2Xv`*4gD{BC_;i5_qkrG?$&Akau_ZZF%d?({{OXPgR<)pWe zysJATndnT9>D^rNWWS>c)HE7YqbyW;0gOn+n$TlZ6d2eI(hNzpmr4bLIN%IpSO$mvlSn{; zPX$$B@Pbh_jfyo@!%75=WmVO5RoH-4*0jP|t)yDzG-=7zT_rSm@m1Ue)?5(=Vco@N zRS#n&PO_xc?|D{LVOEB4)($M0Xnn?M6^3fP*1w!mp;(Y@1p;_l0vz}a#XN&BJ<~G< zfflF%tv%BsI0JMgLAdDxHfYy(MF=afg8RHMDOg*!-2fP{0u-2ADWFUZcv~x&0vNg1 zp@{;(B@w{&kO3G_6kr4XH7FC$;F37-i^h$TJc)$HjRQ`EgUIlULq!r4@Qa{G3&B7W zI1mQUuv|773@(9C%!q>|iG*bUj4Y{84tk8uNRlqlRAT_$&&UZlaD&f4lTUSn2L)b_ z&Df1CjW+;_(@2CiSOY{T(UPU1S2f9#CD5K_PHVb=3s5!ZunJzGu8xA)tI0Q;Rq_wyfZA=Ejf5xW zP|=NqE@*>_Eneb14a-FVH%Q)&b>7z?S-qTIE3954?aBqgUhVw>?yUyz{a%~H8u7iU z^8J+a{e$#X-$G7V_YDgZ5;50p85*)lH z$cZqB%nd++DWG64n1Z^Uf)3aKUl!&Mjx$~MWxh2C4M2es#@8rF;i6H1C{TbWz=8wd zSDIUfIQ~$Ej*VC_4n-tZ28V534&7$85DbC6j5p|Epy1+%b=bc+SkHLk#g*r#gg-FO z4ALwOn6znxvpLz)n73XAFc| zi6Op}M!LgJr_BjemfF!;<-}~|tbOILjpfFqWn0E&U5-Rw)@2$Hh+&ps%6x%d&WU8E zfMssxxq9Y5BMBBz2tfuC{p;q*cmr^L=Z9Se$-PicOlQLQW-M`MiERskE!cxr24lGA z{&Qo7d~V%*%twC)=zAe(cRuJUk>YOl3^cybhc1nXzGH~CGpW(=1iRDkm;H}ob-h!oc2YXhF_j`#-Em)pjJt2 zRpi$&*yh19{&Ys}c( zOpRy3zFkx8SV)aner^l72|K!GkPq1ARSOEe;v3e-j1U9K*^-%QEUlzM zy2iATuODc}JuGfedp@orsB{?R-3kic3JT{=YF3VJ0d9dR*n$>_0qPc095CSP&Td~2 zM>gn!9LNqDcmeY!Zwv6{@xJPu_-Yim&neJ?@y>}3pa2-CU>aEwD%b)R*ohL6bST(@ z{We@BV1qSK22S%RgYNL zebAhE49V^EL-hi?5cb&Z^w02hFPL>xXN!5(<4;`+PkjSnH{Nwd;za%kRTan3(OZKy zQ1#JU-sZLO8xQ1IwI?9G@;~r#WeIW)81i2za_~KJs7!L4UGfQG2qz~QC^t+grw~o9 za#O?d64dgVMutp$N9sQ4-<0&`vE-(Z3*1%koD?qF5U zF@DSqc!3$A0?N#Z86j`2o{@LWWuZWblTV40X8{DDW*2^8iO6)y8-p=e^$i8%&}H!~ z$%#a@3*F5>yYP!fO_E4$-72ZjEI|^e3{|x747v^q&8U(Bhm*P96Re-u&$v)9rqJ6h z`wkslq3_+YhvQJq@DL4pFuwNEa09nLRgD$*amVq}F0eZs&i=FsLuE9Nt#TJPI;Kcg zPUC~5;4HtO0sv%G4_v|SHI0s_{UqoxkXco%yREn63{=>q@x*Y(BBd0%`pC| z7XYY0SHIoQz{hqTP15w{#NfaFQ;kR<12@q7y(f1}{QH^?{8}9RKq!25IecPDd>wU; z#@Bt%&n#(`56Wjm%fI~e)%?@;@q`(&&*yP~_!DR#!GZ<@p+GUPP$6Hw7&`nV@s}`R z%$QZHX3iWtcKANx+b43Q$d4pRnmj2oVZsR$K!Cs?b0*E2GyY-X%n9NI&z?Yl$dSWq zC@+V=fE`P!RH6_eBuH$CD%Ap23sSFQjaqf91qxojdX*rd0oeu!&LRMy768k(Zr{R% z`*hi|i*$_{t5^~5#lC&<()BA?Fy6w(=ptT*SFc{fi628o>{zm4Wp9)j&a8Q}VaA?6 zgJzs)bRsx#453b~dNu3S3}3^JEgQDlxVGW`$gTUQ?jJm#Cgho0;>C>4jyoHyyl+y& z%bzn#S`qcY+`@Gad>VBvTb61U7MeKGVZoo~&!a#8M_?e{zE9Lf@pL{35h6Hnu+JSh zirhaB0*H`81VQvrL%v9~moddvbIv&(ffS*HDyftZ{z-4S1d~l0)})h8J^2KbP(&Gp zlu}7CSYU}&mRV?Vcbkqn&Q%vPcjeXCg31BrBXk#O2H9esO%|Dx ziWQa^XH!zSS!h>YNm?SUaoMG6vw<0Ad^_IOn}0y`_8SSooiN-l3?i4@k$yE-*qnn& zCk%CgSl1?YfoQiuj@|(Po_G?GM^Ji;qPN~a?(q~KeNWkkpMGoccV>VGB~(y>1tusA zUl=v`phps-O5sTsj`Y?73veh?PO{+(0LpFWn@b#nB+2T(Up*tRkGV|kmO>SrIuTI zSudAi;v3tb*SckGzNZ#_mtLy!eAjs_@<5#$1nNW%A9LJB>7)Z8suQXjG{>*TiovW# z*J>+IxDvH1Fugt;?6Axf%jdDlE}OMh%|06~S<~*zFPYg|De7TH{s`r_&xKp0l0lZ6 zS-LFEy{@}=mkn>cpv_CKy?>{cui%A*Ep~tZ`Wx^M1OHNRHB%$}aA(3aEX>2pMNIj` zR#)uj#VcyOad!!M46;NblU#Dl?VrpjOMTzwGDgBGc^Yft4qvvpGEb{4+>F z3q3jtM0c2UPCTKp#L_@G@x~i$4CRn7Z@6J1u+mI3jpN_PA-(i#IMG87ABgdS*2>0c zMHnp1$O07(jCCW}#v8sPm5jOlm|<|dAri`I+u4)^z(`aiA)HayxbWsc&BSeQpXnRm zDrkto<% z;d#<6o+^rdr{+__x`?DFlBfF4w3M}8wz2*4;TRk>w8g*UVwrr%*X}stKYQF z!m<46Xn&CiVE^o9j5)?(fNB%hGU5;i$;{CW2}HpHQQ)Kpf^uPIJK^3aXu-c>5MLYQ zV72o1K_EN|Wg`68FGx5I6T(d|;!$BCSQs9PfCh#kBghOVWuF^ zH2Ufo%m70qyXQu405qThtp*t=!3-3%;TKIYA_w-Em4vkDkI#Y@Aq#m(MB3&lO;SuG zP=G)oIr3bWeA|>z{_uvg9R>`V6q05b7|KpQP=fLr%_%FG%Gs z5_wpjPPZw<2`rqj5zh(@0;v;F>OS~sD2%E?mW*9=AlBO|f_~vcMWM%u=jjtq>=RXO zK81<90YVVL83-tbYE&6R5sr6rl=jf*RC71gdUe3Rc*x`ebm0DR_1YQklXPAX=3TNc1aGh(Z+T*8l~uHnwRQ z07l7V1QIC2G`St=GT>m+m6}aTz4a{$Mj8pzz~Pd{hy!xvh?kC*0R_rX%re061~{y= zlLUOJF%;)1zunQ3#JeT8F(NJ zTaba0rSgIoOaTQ%s48lw&=s$+K*{aX_-2&!41opBldiYnMjxc1$qVy7~EWjNMN`y-sLWp7F|*lfEP5Vq3L+- zRo?zWoOh?1<|+Qf_R~KNBy~RtqUkmlLZqtItp|CknkqF_s%(uc9Xv>>hXPGiv+gHK zbG3aYY^HCD3}iUF2tYeh#SSBTA8i4#h<`%jGa49b%E<9WTKqkL&N$oW*a$Wfa?%|K zq6b|7a#UX6g(-j*w3*$)xbMgg{3P(WI+u!S<4*)}?k0~jh< z@QWzJqc4n-^bS+pWhA`LW_Uxo;_yh1;^hsTjFNTdn9#U6n$epH`N$z1Y0pgBZOD60O2bya2E%C^wjbhb_~ELDA;UH(h8 z*FB*xus0=a%juID#Wr??lHK99z{HsbK5?(|c{yf4Be`y@hCnx>?YEz!+a|pTQ@lX# zsG$4YG{E~7JTQg6Z@}E|7Ohm|4VJ%afXifIK^Ih@%q=`2;I~e^Olm2mRA=~nHB z>LSsI1{KYTPOpC*1!3=@_RDVetY5^&&{%uhV+{9fXTuwKfk81t-QC@j{$-XGP=N=m zn+#Y1;DtdLM8y^mUQ`&~S0J9^slbq_01F^MLSR9sN#5xZ+?v$|=0(Csv0lS@-o;JV zo{gSJl^$NOMCMgj>UqKHC0gsn-s`c8qn(^E&|d9X+U>dA?&(zT{lM?3*DS4CSP?|= zv6`QhAIvPD6$S|O^@Q~OS5;Ww2f{@`px-ZWpZ9$q(?MN?RbkJaUssJ2Gpt|xbshX6 z8=HuS{hi%lI1U-a!8Ke1He8!GY{W)n12+8Mj9mj6JdQI6gEF*17p#F2JjE1%!ILF~ z3I_i3qZjZoJACn*$Bo3 z2`E7s!~qI;K@3h?92}a)REpt>Yn9HihHj1(Bi5sqQTa(UZx#Sx#O&$OV| zR)i@LVZDF}67G}|_QnpF;|`dB2|Pv2HQ^6b7&LjzP#D#Eq)E@!qpvB>JL(tmaUs!d zMaFo=TQm{KeAPfW6Ru6+__^zQt28muc|UaakNOVwf-hP(r}LbRGT|av=s7tbu7{9t}ztUWAYM z1W@IOoHnuxHwxjrd}9&HhBzjn5ctbEqN6&J06WT@Zs=nyDVRKN4m|>lJq{*5PMteS z6M!V7RN;p|dZ7aZWWO{YGf6~22Esu)-F`Wk8o~zvFeIosq#Gt$M4HMRQe=goz=a&n zi44YZtlew!pCAt6NoE^BWdz+Rl!{EBLuEybOqAk%4FVW|0We{}Y1B4eW87@l#d#9m zFb3;&R}Z#@4^B=H_6?=IW#GidK!_tb>V`R{BMoWOb{w561s_3_AusqPTd{{3G8la+ z4iK$JVv5XSa^cWf09o8dJU$zVA*6XApX+dkTK;@y)g|2<#^LYujQgd8s@N6ra7=En zreL@xY+7hz$)?-Uri|HUHQ?q#T@z;U=2URSZ`#ON3}SFAa*h&8Z3b~gqq{sO zHagmLQm5>d(sgF%muzPsbSGV!33%cq>>QJzl&9hNOF^XPdIphu0_e`gXEgPtVru3I zXp?{8r+(T7fA(h&{pS=4=ztce^U2KBsUQ0(=!Ox`gW?tG06}Xy!-djm!2r}qZfLd{ zOx5H-4g|`GvPg-}NVK4+0T_}9;-Yi9D7!3Yi=t(YBByn_l=`~-pa1b57iS9FjSuE$VtU$1uG zm#S*bsm_^j$36N9u3cFAk%~l`X3(6IO2leg{Dhp=X`SBbZ04zq?Wr&fM4$dCppxiT zbWKGK=bq$f_OAN&N$!s)KYqjEOwrbmL7GQ2Nl-9h(zxw8k1n2#nE4Gk8x}Ge& zP7Z3kYi6h=D6wTXl1A;phNZs#9H!nS4Mml|hAXIYMZoGvZ=|Zh>f_R#8mo?4Vv5?q z^1{Qq?c2ibMTyuzZ0yE9o3N@5d!7vPmCi3T)f3%U6bZv|V4KP|D9c)rNVqN11;Wg( z--Sj49E4=SU;|V-PB!!*wr(gTSdt~dK{nhbcJXY8`m9?-MQNSlR-|I$fyL0`2%?T4 ziz27Gaz?~W(%nplAv7%y=4jNmC3cQi)!OUT;_D9(sn*sI*HWL?ZUxwu$yymCg30GW znCjn@31#-nGKFf&; zCvhg}xn{;9g=N{$E)T*%!9lH_7y@+muJ7u_yn2c7?w-G-qo$q}r+R9jGVcwC>IMVf zz(()V&F6d;1YlNg-l9yzen%j1hsSiU_Y%s>e(wqJr>}~~_!7n1POlJ|Z_^DG{!xwQ z_>x4lFV6T5@Jyt$%I`>^N!Ow%3XpJ2nJ@}drwXs|q{3x>y|9_Y@V;u3 z@^&o_gK8s(t^S!jDT4iQg$c2$60v(2aiJiwtTx>eb8lPJ?-NIHuTF8V=86?Z)AMC9 zD6wcxQ-O)H zCaAHU{)(ztq!~wuE_YhYT648-GfCPQHjJeI&De{LGfQNHgJi=s4B*bP0U59X8(hJW z$-pKu8Q=w88l-_2Oqo>FGpuD93goj3pulQCl`E*bN^-#a`d>VBtBlUY7gHn5g&Pt3^ z&jwVhsZ<}XYR<2OU^VtxGtI(gSC3>kzkwm*tR7?Kj6v2k;6)ph!CT8f8ernzWmZD| zL`52)8-Me)Xl+H5!H7OjK?g*^7d(JjXhAHpKop=r0yH*Dqyc1$N=JQgL~{}ftO4a9 zLK`3ghKtG@tbwA%9){z^8g%$dx>+Q+!HfopYV2;iYOVTihlSA?izvf_d=MTDw4B@ zlK%peXKxnUG?Y89*i8Aax^$Uq`Id9JmmdR|n`*9%d6{$hG@$u8sJS!aLz{c(&aQ9! zO2nMcsfID=`*qkfzlEN&vE#lbdZ)Jl13HbFLqddgSkKs7WE%=lf;V(e3I;+OjKLVl z00;b?48WoVN?<}%;08=ORa81vxPTW(fgm|R189L32&V$9zyVAjyqy-qcK4LyBtPJQ~HGO=6B@Li^^G?UhUEZ0A**T3y}{)asZu>Cif{kEgM+5^Nl zfddJC=)1||QZ(l}@8#7+K$c|mLYRs7Z`ca{c*>fneW|hb+&YL%Dnvfu|VG0#0R;Fy&V8u#MD>62`(7V^~1{8;1 zSb%X@FNFpUpgggh0%=mEn>lw@dgTh7n8G5x2|5#XYGH8XzKJC4mz&maMx$sQX=Z7; zaAvaJJ$m#^;4NVWPkmfCaOKMrC2IK`x*?P+R{{e5^aFc#6WdMLwJQRA_z>gC`?YW$ zeR}ol*|&H99=%_rp6PQ2av#W_KPq4T>eWjn{iw@~zyb|4us+WcN~oI#9TW&0aO$bY zo(e6@C!dWhw6LOzHvI6zq423NCy5rEhN5&fyy&NWL<9*&c5)JFCX=RHslVb#YU-w) zJZh1}7G3;tpUnu|j47v@l1eJF)KZJAo4)!gN~@l{(kv6FF$p`n68jR&Fu!b%f-)(P zK!OGuKmY*)3^+2uI5z`txzmt44!Gi$1MW^d_e?G(;(pRzp?lLB&!N#68&kqD$C!4Erbl*o0@B!@t}Rk2IE_kDNhYJJ zl3a79Ja??Fuw3^^kz(rduEc`+a$YgVRL@K^)nwC6H|Kj5U_@mq6j0a(tqp}bQRq|P zJbw{%Ipi7^X3<3*weC7de>mZUNh__?FYq|v;NDJ6KG|e%0p9FB0R#E3KVEpzuhqz&#O>BDH>}basI&m&y#(*H9Ha9WoTrP8aGKuI~axp*nL1RDI4(d{ux&g-Sb$+>& z$;xyd2RNWik!xU3ka8dD{;1?WytA2tde+0@&59rsGTMeRvNR(ev3bzz2$8g>K97Lp zCKAa>)3*1uD~Y5gV?)Un3vsrY)TAuvb7HoR#YB!Eh%@u6A5{2eF8om`O8gU?|BeAb z5(tohiCfPB9mlUX?Qn*jdEf+%L&%sA41yOtSWGgwoDFi&gCNw{2)$Fn5}pu+CsQGL zSV#dE!jJ+ooM8=taKk|4P=~z}UJp<7L!uQ#h{+@3K9Gn+C2C}SOB^E<%^}5eP;n?< zi_sOUkwx%vaeV#xqD`#QHn#!ud1ow8XOgr=sbJ+AK{;1ez9N!rz~LHyqssm$(H3r+ zB@Wmyi$H3^r5||yDUTbtLKt2ECc|uCag0-w;o?aI z6!hgwFsNrf^R>?e_EVJqEXrs~^BRO5N;L%?80caW2^6$pq0%XYLk$7Zib<5Bkh&-d zH(EkGg6aOF=LxB&P}`}JTHvH9RcR<$N;{VV0j7UQWo?T>Q=l0yh_cKn(syU{PKP#LRK$ePw{ zh?NrQdh7nkaE)`+cYh-JUm*B8z@PxOwFWd3n)%MYy-`G; zr4s9W5K}u*rO7aq97Q%CCs|MSg>qH+z?;?r))_Kzlm1|%l zD*o6ojeEVBP5GJw8(X2TeervaG*d#IW+`V@A`yr}uz?LWxB`Hu02%-*=C5CxLSXRe z7{CBV3TJXa6c`-^6&P5toS~F3#;j08xgjWUa06;k00&QtMi_4RG#p-&2u}xP!JoGD zXdn!nQAc9JpRMpj0fFJ{Xc(g%F73!b+|iMymc$`2v6)c(LKVxF#gcRJi(|~H8Ka=a z(7y3ag}5Od+k?lp?AnimiDV%!*T~KEHjDzdWRmpf$x$}nl*RbdD?csE2S!0PyDTnj z1jW7i>k2mPOHMdY!Zawj$~C-T-=JLM4c7?E8xVnrHF$vsV%UNQ{PKbqOu-98{z!}m z0-cx_%hjJm3L~U3O&4 zdu1HM4y#@%kha4zmcm_LEthu7ACDXF+#@n|tHE4x<9(@5DzY&j$-!U z#KyyqxAd;JRN?@KHRRi^5C0UIXnmnpn{3jpT$ zp8;Ly4om?CQV7EX%A^G^NFfSTK!FNg4)ZzL00j$Hj#0ee8ZYSFv1?fVLuEUih&Cib z7;Pwu7e?cTrgtI2iBft?nBE3Nv;pcAox15xu;HugI_p~x&uLBe^{~fo?2I$}{vDv@ z2CDrB*zR}+;_ZSfmaHvl=q`!i4Y~5p0f$N?{Eo^1Pr3w;s0i<2o+G<-WZkF?ynsTh ze2R=9kD3A@D3l~9CXWm(Zw>6KD&z=DIIq*5q|H7L;3xqa7NQNjpa)p*0}8_nUN6v; z0!*ghaMI%iyuby_(W1cR{>cAmCknPeDQsY3yg;F}kTjByk*2Q;9V;lbFDSgg zIhYO(z%K(0LFu-r>B^uDoWR!X;>BK!wB8R7MZo?(=IhR*fGqxCb#(0y-y{EGi~kPM z?4}T4IEGb#0T>u$0Feg)6>uYp%g5B`0W&eky2pMdaNGh9O8D-n48~cgLz!rTnLN;6sfCZv3*=Xkptk5WIzzvjdIk=Du73>SCPYf?> z`x~{7fp~WPY>By?A64NzbUlz;=K z01Q431+0MLkS{3e$uEc?FkS!#EWiV(U<+6PEj54wq(BQ)j^z}3yAQ3F<94!m8B0>Awzztd=5dsbcw6GBJ()*e(B@Uqtx&SY+gAK}{37UWn z#DE8KjUYo)H1SaEATlB+GNq2~g@PhA8-On5gkxw30I-8Ue&HbmqF3xe0qc$dfovpy zGspr@B03R$DDXZ-Uc{z%#}` z;yc>{o!SB$+NlksZw%Cc13uu;0)sHLax3M9F&qOjsDLdg05VuWfr`)gWK%Zm5m9{O zHoDL@5@t18qYYXD5oY5J+5jaS^bi6;Hs<0DvP1f$uL<05G&|HoOQhrC2k? zTodg=B{oq2DQMGFY%>{fvsZR=0YNgTfD=cBN;tiNI2{la%>p^EYdP(#Ib(vmnoByT zQ>&`eClU)gpTe5nXuf!nO4&uf>L?Hb$k)K6Ug(cK_-LQz(w~eEJOt%(EJ)T&$-*is zgf>PX?=Ue=R3Z)ji%%z`|Hf2u>JUYJ&qL* zIcB2-D7E0jG>J{NR5N6sb;bS^HdL^~hF-KLa$;$u$0kGaTY)nu9FP;6L{ft@C4p2F zlQUhLvpAN?mlSU%L3L<*DzWSpRq+RK^p#5am3sWOzoPMQ^yo_sHcb##T4#u1pQAr0 zOrq8lSWib-L-S%W_UbfNqd2x>AM#^QlSGT{S^YGnZdFcDwv<%X8CaGdT$X6NEoOgn zX7jFQ$8}P3wq{4MXV(>Iy+IW}FkVB|Xj$r1nMB{(C|@mCUF67VXM~Paf@4A~o(dLB z`RR}TvnWP}gEUJ`X)SEubZqHV>&n(x0Wu(8jKkD+Z9UdBB{C@Dw(RIOPE7F^NFpa- z_HP}KRboVk9JND=jQ&Y(q9Tmb0;{Vf$0sO?<4CvOl%FXjm>J&p<-GXD%qOiec^P?v+gHV~XZ z`h=i$Cne&>pkg&j2E;%NbS-w#17m5oc2D4TJ1TcItxO;%2Xmw3;?c#jwF zk{3pnH(7SYd2Kd&QSvxlwumg1ciuPnc;}jBKXq9xcwt@U2Vlk#o)u0P@fMSO= zJV@XQx*&q*{_n%U;{&c>3*Ik10x@GZSdi;bjyY;%J{Y7>AU#%#5Y0qS&F+y!HlWhu6NjkFV~J8Im9eS)Bz^oJWQO5LvYpIgvrwk(-tOB3W)_i;}C^ zl2-zg^H!5N`D;KKl$Cds51K$qxh7C~laVZNSlJoI#+9RmT|2NiWfHk)83laomi4Aw zzN{+#P=J@w<;&0|&4k%pg2Eg?FDKqiojT+iNRJYIiFAlPe&A`_Bqm+b0*Fw zm4OqX6I-!Ui6q+991dGY4c7t@_ZOJ+Y&bBMlN560Mkz7^hn1|A| zQ?=6oPJY3n;51pxn(`XpV1CH}8sNYSavIOlAmcXfnFTfsrq%*PP6(%fEm00Gwc!2% z3Jj{r(R8<946J(DUW^UM0MFDw403=3W)2L*Kn=nJ3D_VFz`zJZU4PHRvz~cq7 z@&(c$3}iqC!XUlZ+nnpVwD20Q<#@088n!&?Wd0hkK?#jdm`Dqo-5`4;7n{KwoIo0z zQy;sbp{ra&k+LoOvSFFsw)e+eaWg!7Nnf!jia2TUH5+8Q1=s4dQ#B`KkhayLzB)wA z6mA%^*eI*v8o;2A?o7OY`@f2C3pNh-=BWc<>kEQV3WQGu1o&|Vz`3WIMFF5vNI(g| zK)huj4Q4>Cw*U#cx?oeNn6e$BtjxP{asC<5K2KvuvHai1%>KBTOEcg4{Sq#_6;(j7dpjSr!Ps@!%~ zNTEzuU&5fkNZh2;D1hpH)F-P*TyId?e7|D7R-DDJBGYK_8g@nD5>6W`;>L5lj@-by z`8cRME-|Jc$iE~BiNK_eoaBISxu@9xoE*x1XUeymx6`1^w|u*|fKreE48nZO+1$)U z0L{T1%w@pM;k<_7u}*A{m~0# z(vf1|DSebJ{h%>j$uwO#IsKIf2GkoDxkmkmH~MiOZz;G8DrzyT{>;j**2|k*9gf22 zn_e5nXT2htG99u>;8vatumTK9VhzUNow{HOI_k#-ZP@*SxM^UpzTgYWqyt!B*-6*Q zSD@b$WDBAIJd9#rRIUNkk}J2|+C^Z_NuUc*Km^E~>cKq>-r56Rzyr#C3*I^pW%pwy zWzW6Yw3^u=--D6aBknn6weCIt1dQxJY5xTKKMmgRdq;-K>)A*7hO0s%zUPtDm7*Ox zI%oND;k9qECF4(({z-=ugKjZ!VNAt|u|*ME}VS{@tLAe+2E8GfM+ z$e<07U<OE3cf%F zJirRLeEQ3Kyp;e6wvq(qI}Mbe`qdf?kbnr_TfXUAEVqCNz>YLAxP;XH-PyjKp}AA$ zUeM*)Wa^&Y@ttw-UjOvo?D!raPzW4Iu%N+%01_%($grWqhY%qWOgNF@!HXC(R*bmt zoX3ymLW=a}Em|~V#(w=WWT=qKLMmha5+;lpvuf2svfIfHpU<#7VWP)vGwM#fd|yYPPRnzg~+IR;0O)9<`#?x;4(nwsEkfOLuPUR!YZ? zy?HZcj1?IhUI?^eWrJZWR1&|~03)&E4Hh&wro#S$g5?I78z4Y1U<;Nf8bf2meDR6t zCoCGsphB213K0fnh%kbpbs7;OT3aDv;Q|reQ!WU{O}x1A;ud;eIL@3ohvys&8%{30 zx^=?>lWX73y}S4C;FD+fK0f?*%jnTNSkFGaWs0KXZ{$e-VSM5O@-BmAX*jHh$EVX)`=*7G}nqN zqJ>jlQT5QnbJx{qU3c!Gmzib=q_D*k2k<8!X$UEVS#r-6Cs1?83AdeaP)4~Nlg%YJ z9FNMiZh}*_h?2NGXOY>Zsp*eNz_Y6w-OnPPhBrZ|1|>8GPsZ1Fjzo|@{at-4wxtU1bxfB^=i zizmtL!uM+f&kjp$a>hohtZ>X?{^@M6(26ka&RbSz?W@{lOD4D=Q}8Xf;wDEf3g$Y1 zF1zv$q@RCLS8cVr^hRTEO26nE6~Bh4DzF>eU(5FgJt5y zc;|i2i^oKD!U;5b>~pv7Ngx4cn~~gWyeJoBG73Ak>~fP+9`{{wJbxEBwt_=O^v~0M zt{s@;r6=CD;U#UJnoXN)+10SeF8kFs)y@n`_x|FN*ZT?@_DsT{bSg<^qiwvwO8q2I z+XHnN_wx-~MRzr2fvWfQqw?)H;5~Q#U5EWUdp6cQLVO{IkG`j*C@PP5LolS7ZwcU9QY+?(ZF^1=j;vMgJOaaRB zCe^%3W$k%zxCT|?0EZHm5F22L!!@vXj%>6A8!a>;9O7^mN|ZW% zg8>St5W4fkibtDST-EeLvL>?N2?!v_X0}76zx|DUI^%%-K6foL9c_zXZ*JC(46cW?|uziMJAo$%y>%0t1TAVn~uP|8D9fnGGg(3PxsL4}753mI03 zy{%y58gKYY9Ke7LY`lRI=fDOS;vp||CAS)H1AeK;DBGj}{%O0~=LYXFEeummIDIlcOr(M@V8%eCqQJ{6uFp{uwGVya5hw7^o7ia0M&C zKsqR3tNuZ2<5tfp6Fn@5f?lJ50L?%F1y5K(M56|uEkHp5Btrlc7TZdK=oK;|NP`+C zYlM#e?V}-;)=2GYo-YQ?b18KxGQ~tv(Gm@&Ym(_;Ysy;D+%%dw4FpeB<A)AFzycO{AvFky0$>F@yDhK)v733~7Fu}# zEC|HDFR;K1z`zDJs6h-lz@i9BJErl3mOB>)Q~gHgzwl7lv>-O(ddkI~?da!pt-Ts< z{@}%`7Pt6nvyJgi<0uoGn1rfB#p6+pm!aU6bGT78E^=Auk>Mz3Koob z=P{@ph#-vN3RsrTmc5V$8W;x59ylnMR!IRDNP!ApV1WbJi~is{i(njdpe14v z>4x|8fiMAHHqF5kqL%vN$lH)OHO1q22Cloh>n987*TKdM zv73Mb8*l*3hDq<23FCn;Zz0+URb`o3@PG$I;lA8f!3tt&=c{Q!&3)BOx$FE;sHKJo zM2PGa#t`9OYH^G5W;BL3VDEbyI^Sa2H=596#D5PwwT~uv!E1VO6ewKbcyf5BdFPS{ zPQ2n65BzV#={AmcoYtCD;U=@OrvN=NpH~5pIUE^J7lPrbRoTila1H)lt6akiX!XJy zoWO%HqyY(52=fL6lHN3YK?WYM0t#Lr`=A@~0a}nkeYFq;%_xBP{slnOqh^38XkoG2 zb^r^Y;9p!SAPXy4fk1jc1u!512?CML@R2YWGkC!hp`kr-2e9f@HDiy;HLA%0}W z0+X?A0rmt@Kt5Mv0E%^3nBf46wOA}LGEW2=Ow#}x&>Ho(eg4o9inJ<-os&tHg78>g(U?>{PQ~g6NY8D9-9bhy680Qw~LTQ zB=k2BuT^($Sd1<9Hv-X7tP+R+=V=3IhZE!sxOGQ*=v#c)Ti&!VfjEML2qJ};B8T`P zinxf((1>00hy*1#k_cavm>CzPII9&enW%}l*oh4B{)uFlGnuuHt_U8bxP_<49jT~_ z9`lN=D0bSSZ?MQMv&epA<{t5Pi@E3kBt~Mi=!+ByISmku1Tllman((v6V^AQlsjR56Z>cnmb*h&+{!og<15X&K?; zj^m?5@`wQSxF+J$5CQ>y&ryHV5-r@vefIN@szZKHNRV3CB^UNNYBw|ti5^oqhO85C zx7e1PsEG}5J{(DmA?b!Ed6EuyO}~>DI5BF}STF`rYNw_jfJlgZf|DMnlNH00IN_7! z2$aGglsiR~>X?P>m>x+fKJYkG@v#|C$sSSuIVV)f0aht3SoxJ&Nk&wtXvDNFSXg#o ziGD(pKMN^nwMjU%sFrI<0dCowpb3|8X#gAvk{wx>{CAhkn3rBND14a{o|K1xSrCHh zTR=gWfe<1Uh?pk#jVN-6iD)}{5tP5+3%;OJ9K$NG=`lQ$P$8p~n;DPlvKeg2iA;%) zJaeD;`E{SeKT-HIHN%hjn4VxsgG5u7Dy5t1!HW?Im6^ey!1F zc9JgEjC#jAepg2n_m`$N5E?|Cx@Dq8Wu4f0lPF+a)j&cr1PxRXLRb+XDI$SwaSa2~ zljLX00bTijb-za+@ydg`u-I28lBqcsEv1BRPjia3Joq=4Vk)~n+j}V1r3%es*fq2 z4uq2e)#EPW^VK~T|tUI%;2)RYh znvcg3ttc?9)={na#-`Z1nqqiY+$w+H+OxnJuCX(&AGt2&x{T+Vp(xpK>)Nh&h$x0y zjfWbO^;(VhnwXpF4VYIImFiSbRTbFK72L?9gv1QWfC9=O3?}#n4Th>h&|qxP11CTN zJiu0L<*G|KL@nqlQ_xl@kherYw|RTFR4@ffLwktv0BW*V8{4r_qXJvd1yt|=>+t~7 z$B7C61*TyTdR0a;{y?`^AOp~GP;@IBMnJb}@Uqb1SqU{J*kMxi=CZ`0CDLk{vnzi1 zxnXR2OzGj9>|qe!nr;yaw3lXon?{^=x2OMicj+o)e7BOuU=q{#v^yqvLZPA=c(viU zwGi`2f>;%a2nKIJLOmo5Zcqj&@CIej2C2#hW8ejFO9D9{1}NYK<)v&WAO(xzB?ty) zEhqzFFa_y_UeDII38qlO$^vKRG|Kk{bfyrDD=#Y01@|SnkhTR6fEllJ5e%#W%j5xJ zFu!7O1<$cyg0Tf+AOrrZ2JChl@KcqpE0!zkVXNo5&w84(3$rf#nmdELx%*N(+nc`Y zt-uSR!do@|m{z>|*M`QKyb8CxDVZ;Ih!W82lF+%RQ;Tu>!3(^Qli0hXRH17f=a_i` zl%m%LZQulfAOu1n24HXmN}vQSmIhn!0ihdaIA<6Z3tBZ224P?rvAO{edj-qZ$ABEM z+u;IR76x0u!I&|1iu1tos4K1`1r|(h1F;2;l}g$n$1fnq&%wtW@Bt{01{@#*A)E$A zaDB!>5H8F)A|*@#sU^*^jbK%fCR_E%B1N(It-?)8_Uo!%Vyf8XKKqIjms;m%bdl_t?9!L zDa^y%pv7#=npnj5r_2k-%*Y$JAt}wOBGfasoQ6=%&UwvJdpy@@#ofHc_?oXIh)-8B zj){n{;Tf4R5fxs*217{#pxiysrfjK%bID<`FCejdOvrs($P%k_Zk^T^0I@Eh(2Fe4 zboR(qV*t9MX6>=i>ycj$JrHvS(Oa-?hrMoKkY3XI0Z8xxGN1-tpafW=C8qeww*J|g zSXjF;Ynic0kS8T}%sN`M$xO{Ok-dr2J7Q_9qB2lZv?h79=z0P}9e~W6FD!x7*DSq( z*VGaMAKo0*H+dCtfLv8=)zF{}qpH>T;s#yt22HS2IiLh!V0}H8bE%is8{h#{5N6$7 zz%cLyQy{=LGTw}B1s)&+toH(5khkG&-WKrQHt1ixIo~Xx0wj|F(nox>f_&>?-zwk$ zmpj-3@!ho=ds~2dTR;TQaRs%3$)#+1NI=~zoF&k4*_xGhy&QD6ywaZi*=85oBCg?H zXxe9l+HR@ZnZep5;Mz)zp>e3ZwEY8rdfQQv+jL}r7025Qc*TkmT-sR;{?JfDad0YF zJ;r(Qqbjkmsk$ocdu$F{%B?{Kc8eH_!5EV9JG-by7*{|7_Gi)}{aLT<%ddEq zS;W#<2;v^&($<=gBrb+(NzGQ^1LVPmOh4N1Avs?L(pE28nLsJ%7o!&U3xiR6&E~aoM zp=l5%i!;;0#~<9`PKepsVU#S}r930)Gken45$*-~x`Q*81*+{Ki3}x)__80MP&e0ssX8pg@>V z;X;NB4Hy{cK%xT*6)8w;Aduj}g&8ea;1E(ILXjm!ia;p>VM>-MSBfaPVZ%q6CPm8p z_z_`Fo;_)9D9MtfNts1AAT(+eX;P+5o9aY?)Bb19ol~t^t$KB;#fuZYeg!+RV%Uip z&1xKI&|pKhZQUv?h>!#cxg_EyoLhJ9UcMww{001%uVB9?e*6f0Sh3325l)6MgIITfpX|?q=c-auBW9!%I`j+idu?02N{eix#}#)YC;Py zgbJ+jy3(+#vBEklqk$e$E57tje2cGwP`WEG6#mreYp=ip8*IkI5?hQh#~_o;8D}gz z=N!(4>})iINIUX0B}wDVGlf=T?KRkB6Q;IbylBHQC%Rxm2rtwSBDgKmDDF589(-X7 zD_-zoI;V)(BEp$0>`tl|P?%!72YKp%iY>$&ue^;+M3JraB&x{0iQwZ1q4_{E$vzZp z;?Jf1Dox2h1Y0UeAp)i1=|BKmQqVt{8hp?}RGFHvLJVKM3ZV|UBJ0Bs!3t3$5=$(! z*S1syfJKg6gfYg#W;~%r9C6I?2ge?ZOc)=56q3jyMN1M}6qe*Rv?lRU=&;$WtPQfp zgb?BfFWJZ;2NH7VB8)4>JaYpNwwNN-{-p5TUKTKg7bz_hDqtw!nT-CFrP*H%YCYvHnNM+=TGWFm&Sgv70qT-wYH1YLF6XrkSByGV%4qF$gOsTZVhkY5^5$eV~O2G3WfExxc~O$%VK zLJG#C+75-p6NiE34dTQT!o&fV$zO!DOIS@SI^e3|^O9yLVv8p3s^Zg8z_>k)G2QfI z+cPyuzma<;&}6E57IkF-gRj^A<>F=jsXOdq9es0b7o`h%J&M`*gin>=q3YQ!guz))r z$lTv(AcHVWfdwq^f&niV1{O#m3^3?G7*Oz?ouD9sp6h_+;$#IBxCtRF(BM%L!UE4F z%!6UDLg~z6w2gGnAqJ2L>pn6x^Dv|$^y%2`gt#%`ZOSG-QIO4iqOt%Lab+@tVu7>* zJ?FKmc|Q3e^~kbCgyd>O2C&#e9%9220jn+u`HRJ%Mk5*7C`V{COpdVj3(7X}Ko|C_ zgD5*nonDg5q8jQNA38rz7hHO6r@NpSOmj5SbjtSR{xUQ??KWDd4LoQAFS-DJi*2I#81v z;H2kTxDyrXsZN>890Ez$piAP31|RWPzg}q(5gBca-9*7dGSZ><3~H7VkN^;WIa81& zbC^r~&&#Z0JpLncpi~PYm_?JaDt+PfnLNWvL#(o)9a^NC*fX6r#fZ`r?d2|ify;Ty zNtn4zty$>|gdq$e8Om4&kMYZ=lj!+1w*C>GfNX1A@wXIz8Y`gt%9lYub+Cl?D-1GF zpiExiCcgpBg)pE3DY( zrZS~zYK3W2lk7C7^>S^h+%L#nPs9s#N`zRhxE# zthQ*JQG4!JrRyxmh?T6Bxr{r}`bUJwb&znar+4EjG})zUDruqu3${Ro4(wGXE^t$F z(0ixp{=fiFgY`nb=IbvQSl~{c)6NDG=O^AVLOyD2dj9o3jnrizGInlx{H~k)_#;-&4|~^SH^N%?~*a|`a}wr1#^FE zrZ?w2X9{2*poJ}4<}-sCbO}SVb+W>gGb^NWYPPKBtl;Lwf!VTB$Z$zFOv?^`IK(fF zDT!xl;?$y;#jWk_qhIFY7avb5OhFYtYmBfPHxnvL<#DKe3}PTJM93&5GF@I|Wac9N zxgbkE-;?FYzF$b$teM$NmUX>rx!%Pizh$cPHtkrU(#ZwzZIe)ItQCgEl2P3})KgDA z;$D7?(W(U|euQTg{IFzqMxnG%aXV~G_7{2g@o>`pP zf$prnQ5WrMPCL=n_Sm(t?d@Q4?4~{GHttXr?sHpQg)?>#5_6nXE4o{H@do;b=>6lB zk{aLJL$#`b57Ah)XD zd$p?n%@LGzwS1Sq{F58Qqsd_RtXc>C))O)iuLIZ9V;=U{Cv<7EUu8pS5Bcl3S4$te zy#c6=d+uF+65Q1tW_P~{r++f{-QV?Ket$}*1K-=G>fG=YKzxrCFWRs)-tozWypkoq z>X%p^^WO)I=Am`nTfZ~(=Wi?5OCRci-8}iOwXKa^Yx9c!?&r-GG#F<&dmPsOb-WCs z1i2K|Qn?coH=AIJnDd>zaw56|Dt$pdbnCPUygzvRu%Y`3YH|SUyZ*lXiM*xTzNcw2 z@GBqjYYefnwd`8BTth$fJ2lcClt- z6TYipitnI;NV3S9vbe}0ZE39k5(0jqITR#D^h%}i3 z^lGo|&?{vlww#axEf_2o(1Oa55VA804aEnsv# zpc_VFw1AcxvSj?gzFPE?@zX zv!NAu0xURyuLR335=((3OS$8{Y|F)fQ_J2fqPBF%WP-~`noGKzxS+dB=*vsJJjRFd z%Vgw>z?{6gAk4rpOlai8@$0h$OtXa0^vk1q|2gXvbF(i&f76d zWU{HWTuZd{7?g7&qC&n4p~$1E3aU6O_&C?kD!5M|7?OeAV%TZyx$dc-& zA2pUBC4nJ5vhO?6uu9TDlussY(uXTVM1j(n#1{ZXJvOz9!P*W53M|iw3Ic^3g!m}` zdb4$N(5Ud74cNF-$rl9Lpc{;weEun=NK~Mg)X+GcQ`tkE4IoYQuq{7LErQfNlv9X7 zl}@*OPHf{l_j8JvalV~X)auyA@T{iAt2dyc#6k)MLyE<@FU~v}nZVK#V%UCZlRLRA z`+6|`)Yt>_0Ca-^EtrA`q5$5^O-qadI_(utN{?sF)|Hdi+@sbMbJ5D1PUxgrWkNo0 z<(aCe(QqACL!&;ga2;f%!+&DegmBj!fmb6%%#x&6d(|%b%-4pCk7x_JpQ8}VaseKM zM5S;JWAZc5!L!7=n~nO2{Du4ngpn|OI z9+?12BnW}SeGX{lQ~sD)+hH{8$8z(yx;#aV_}pH}h<`F&2V~BI?7p0pPUB_X z>vYcLZAb*{-M`EJJDW*E8)df&j6PZ!#$4IRbrk`ou{=u!zfASRX<k1s-DRd|=7_Q{I!{9G*W; zv*9WVS{y|IdF$X1`QW|~mSSmIku=}0LQ*BIT71n{7Ixv-h2gL$y&1;eoWVI%jp7`Z zKndL3DAYe2$_SajS-xPoB*wxb7GEyD)@fy8Y*UZ`fllK~J|Dzh?adj6NGcumv7_}- zW9j1Yu^Pny<4mOu*GM>O)GqhEr_o5`7GC2RjyE@^VL0|gIlf&wjzmb@;o!}`06vjD z-he*di$DGbpval)VeE^MYtR^0t!M%k(d`S~4 z2w8g>lRe>y0-`||u;=dRlP%C^UyUSD{O1VCijg%|w37f-Jm|MLEf^qzATok6d1wS) z2>yu{0g9$*iyr1#%xEFn=q6_5y#i^Z7U>EUE}}E(v*_wFQt51F>1QOkmyYT9oN3mr z>9x8toG#~`Udf)e2*mS7p!P;BZ~=oc>NJR=dt_?f^;3dDgVAEXHqno0`j6Dqh$5OV;l+{&)xo{FIFd~rJ0PHQ!Q{%|!g zg4@oI*v_BXrtJ!EYYN9!7i;EEq_N&+y}KSf@D%P`DY`@Bo>WV2P0qvg!MybC5kM?s z=~nFXt8Q({#=Ndypwmywppvbx2123tULt?-0?<@)7Am0) zSS1HKO&_#^)|@e#@R!`Ihz@|DQ;MJlI87Fa0^_uyC*S3O>w+{$2{r%&HeiE>&H<0X za1A$N0sKo02Vs;@xyN}E2i>DI08 zdD?N#^$M?>!7xzG{l?xRw*bzTi7&{cez~N=${U5zXHSAKIccc4)u1W<5ONbDrE$xO z)8>jV@B$ThAUV~7flvVyNB|q609kjsI8O;uPlGg20~ELcJ)dnp&u~lmb3nIkA{IdX z2>0ehbhcD&S0bm+qLsBItU9%WK~tFqar>*n!L54E4> zI8$dPRG(0kVRiq?FNKLLPqI*m7ws-J)1;&z2FWXfH*LTfkBzfs4;6@HU-s^yfP#AS z%7b>4koIX$gFH`5Z};{}!Eo8WW)6P|Ll`(tNc>8Gp-L#M3Y%=eFgg3`9umJw%;8lnM9Ei6uiMML2 z?$sAaur4>DjDJ61w+N3n3y?KVq2A_S&9pn#W`g2lvLO z-0AIT?4?n5->shqdMy@uhWJZEV(BH5I_g@dsfC|S|C*<_ant|zw!$azQa`8iM{;$5 z4Xy}{1z14iT_LZnTJNX{UBv%Nn2be;1Y0l*D(?CCR5phAU&31h~rS~YX#&M`g5 z?kUu$Qm0a_YV|7Cs3j2~;P}yjz>fkqN})o<1r-()6hbWc!b)3%7Rs8Xf&zvG6m_XY z++fA5Ko}cd)I~9+B8x>#R?J;B9vUIeT9Sw61J}>kuAF=@Zi8v3NLQ_IP&Dam-{Zs{5kaK&jm`a4xIys z=-3YmELbw`L5t!oK$M7LJo<$j*Ju3tHRMRv{;FHDR4H(#OaLi$p1{d}r%wR_B@|Ic zA*EDPPGz+qgAF#gRaY66AT;(Spizr}J zP<7Nnm)vpn6=$PMG^$k7jVS0CU2xA8XC0B&1?d}h%VD=9lS_7(5P5BN2cAQ5rFSKk z3av+>NAQu<;y@|Y7vD?zxir#${q30M2>}Wih#`g)cvMnLHRT|lc`m4qI$90Hl|~a% zc;ST^iU_56PmUPkp;j(bB1I>nsG>|@vi9NzF`@vZj>6#>9FCtN$D^k{(#UB`LJC(T zt1|+pWOhh4Ijf?EA~dC=B({|$uj6h0$)y8cT3X+jU(R$N0BQP{rkg*(DQ8i1B6z2s z)mjS`pMDAi=tjVLM5u+jYM5xFjd@6Jxw}3jm#-P2h~kRFp2U!5PCr=5yQDu4Uk z)G4a@BFAbX%SKfllp14$6lmlj_<(L(haDIC56 zC%3Pf{nGUBkFH969KpCTH>7k4D~tleLp#j0#A&NXF_%iq8*yB%+$&)>-ln2G1Gjw&0PMC#Wq+daJe&~wuVQMqUly?w$I!_JTXQRfCg`+OPi$7 zatG(;b#ThA8MThYrT*X6uRa|+*j=Yug2!FTn8N0(avktDPZl2WV-6)jybz~U#@A^}6K&C}e;DM4bADvO1kGPbs_#pH_Gd7+MQL7OLU5Znz$DU5STz z@ld14s4gM8i-<;C8WQ_A#s4r7cF2Juv7#udv`QdXNXTj#l9!152u843 zC<#tZl0U5FcckPYv|(v}pG(>Wk7$9?DUnU?teeJGIUG}3O*vZoq$;JTu~zX@mb4P5 zEe%4>qD2Xp{*hwO8pXFXBa-P}b^HMcL$)`PnQV{K3Y=A*DY&O-bV2y|C`d!Pk9}-w zhV8lL<0zm_^!=`zwFDYC2NIVl4KzLGtY7Hvm&w?@v!`l`r#$UL&;On3o;Av675k}F z=!mgw5b@^FYHF(t8Pp+%?4?34#?UW0G@=m2n?wV_w~8_oqgCms^-z$fkg^pYBQ0sp zP*a-I6yq)*>D%Amduo_6EfU-OkjdmibPOpPT2#U@#&f`_Ir zz2&&DG`TBXwIeuPC>)VB6aRtmn9Z7~QA+5Ii?VE^SwX8*+A3SOj9KtAbYHgSx5)bCmVa{#-~g8xf&@0#cMr@E zNd=d$7t5cHBCO@*PPof1!EjJD3{(dva5;`Ob1XwFs}T>a$-SeTiQ7d(kFdB!E*Ab^ zO=8@W83(AwL%FdDvsaZJ19>Wi*3*zhYUCorRi#N*GKQF3k=}Mll26|3+B)|+N(r|` zST5$4ZPLk3=J~>GA|+9gTU^5qR@FfDV(dIDoiks@x{}<^q9W)%%y3tI2gS(Z(m38> zX)Kif@mC1nlt*J2s2YLpBRif6+73!INJsk7Mb}n_xP7#4BQ5D&4_Kz+l%!QN zLca!Z+RB#tv~smPYEzdQ%*U~st2@=iR#SMM`%J9BWDQGxUia46&2@Ll%`OyMBv9iM zwl6UV#baMB+0I&av!C5eX-}Kb)@~5Cx4jRMbKBb|1$PZKk|mY-& zl}^t`pJzHRvMugB_AZl;g3R8^0N3%gGbrS4&-Ok{{%w>4i{)9z2yb1kU34RO<_lJ* zbFbzxcmAC4JZz4A_1bJPz$^@LxYoV~sKT4e5MuAc;` z!knYnMM!qCn*HoeN&7k0&UTN!-R&b)T3mB0sFd3M*Er15OiiM9&QBS*G$%c4h}$Ec z^M}--_9Uv8Xv!)Q{dQ#bdYJ)k{mHYkNVKLk)R!dUgJ*X5mgALY{u>~l9?_@YUQPB0 z-OEhZyIvqZrhV=6kB^e%Uaq@0U+<;cl6lv|T$=f%7)B^q%>kbF%@gza+~GZ6^+C;X zO`io$VD~v*hjHK11s*?r-*h2NlB^l|WsdndQkJCO`jtxiIaKPY9`r=R{L!Bv*Zjm;b9>5t;%0rA2B%| znlV;URbD?)R@I##q%d5Hb%bywkjV|#36-kk8)9`)2)2qCMb>o{1Q?#% zIEA8b8JN{6L`VFcb7<1sAPbI|mh)YlGO^wqzFs=0oh@1mwh6>Xr4`QfAupz!FZLZU zHj*$x)d?aX1>jUN>eBT&qeMz$)EFL&MPPCTUE^Wn7f?$~T71b!pxwYDhRK zB<7fhL#*QhwqyHkP(z`YPt2p22d#}DIG!Yw5n}{N3Ol|S za*P&D?wL-|V@}Fq?Dgce;lnNJ<$Rshe)V5by2s8SWp^oM7{1vrI^{#+PgD-xR90oZ zStVpHS5{sm6&6t4l$x=DWrmF&3oKGkGvQz^3J&ZY&dki> zPy(i0^`=q&=J*6>uMB5t-qJ4~P zkmf;*BSeVjhmaF)p_6c-XR$CNd%9sDyeG8D=Y6?WecERyxoE@f=`JQ6lDHA4ehVVERCSpgkP~b z(4+nnR2AQreu)7X0Jn4q+`L)@wkGr3(XvI)w0Np)`6c#%lyR--0s*(~eY zG^;>7YqXlnw4PG6%H_2tQ^{y+r&`5)=B8SyP`H9Cxhe&O1SZ|>7L$nxdN3ug%-p;t zsFB{QpHAfRMWIwin6FCypW}IC7OqkfX^OE*7So9h5UHfE9iw@oz_UUu0({zLI;OR% z7f@ttG$_SBf@;WS?KzC>$esjOm@LYnY^suCMX>D38Q;swYRo?1W7ce7@vF@iDg^Fq zzd2NAV&`WD?Xhxa!W6AJlC757DVZ!Sv^H&2KCRJ3EnOOe#$K(SXsy7Bqs|g0Akawr*u2P{776z}zl&)NZV>3hmC45$^8a`R?z^gpzvI z@S+woXl$7xZ$2vT^4evBIPb_pZ%Iin06Ll?;a$oeA|Wc=cQI0?CF19VE|89Hy?(HR zx-P(OS(b^gajY+)B9POdnJ3zANf7IXwngr?Sq7&cS8#>?<_8)AfF+jJL)}sQ1u%}q zCyy0y)=DlCFK|;lFSt^!0}JL!MR4ei?GRcpf##4gYVab03B7`_7pE@t8C|HA@cM!= z(WS6hUSZz0ikflbNOmVe%&@~`u?^pF4$H(2_pmYjFdzi6YPDz)Lv9ievRyK?WHoMoQ5qYfLDgaMgTpDG%%^W0As|BrCsMh`us{#qtd&Z7q-T zEyJM@$Koz$k1rFls0K4f{bidHvoQnPe@-z0j$t}mF*0wLH0KnHC1?L_jd6)wkKI|8h%{t02L2OapVDIMYxPGw=O#ur;z!t85No+Cf7J zm8l;WXR<^>G}~VDBf@RlhFK@dhg?6vn+GgK>eU<-CdBlU82rWYbMYbbU|GxpUv zcCZMpl}Yx0(4%EzHl4)cW~b?L3({vp#gGkix`r)I?{s=RvR$!HUf&Y;zP3aD|23Z~ zHDJ>=d9yBV^Y#H*p%=>Wc3m)c*=|9&(3c?D zbc0)UTldN;b8l%kYiIGgdADslBcRT9c~`iWWh8pri+Wccdw-XEcW73}w*$1>YS6dH zkhKsag>vtA_6S6O(_mf(I8>P2Xp{CLn|56}QkJT=X;xBE!<%gv-j6&ZtCKI^H+_p)QvwJ zE}h?wuWFAYtwK{X+zNS9pYNU`xt=$vk~iS?T_~D8IX^LZ3m;sS^Ys2fT=@pb_bGli zmye8>?-7_2vY3xK5tsQ>>|&aGgicFwf^YX$d+xe8NTeIHtM2|`ywt2V<;+XXNDJg{d%Vi$4W{Zgek5dnD&I9%}H#ocrVwp;|fmw)pR0{ zcBe=1r?Ymb3-yWdTB)DnsXO7TFLiVF>4ZyS1;)CptL~k1*sWXG_Q}YfuW`KhI#$PT zIf}>#4!c1VJ8M8~p8*0cGsCj$ceC&Ev$ssN2c!d+&mS7|wLf!E|1?1ZJE9u|lVtHF zdrlW~vTDpad2=&UFZIXc)08TZl;3XCfhPUNu!j7ToR@gwD*jtN;&*fJvTM2CAd{-} zGWi?zy4sM#V@XW~4La)Xhg*EY6ko0SoB`SY!e<%7c1VA`&0000Ag9isl&6_!oA3=gVHRZYY>+yYs#Kg+u~s!`6>8L}9KePZi&Lir2?P-$ zGz(UQ2!?Or#+5slZe6=~@#e*AkS<@nC;a{ud{<#%!-WmDRlJySW5@AJT=- z&@kM|obgvy7+JI7{QWOm>^{Zzt4yrupt7mEgA`&2zCZ#o#1LbQu_&5oVC!f$*>dZ! zr42*!O~jdyb3nMAj7#yS5`S9G#iN=-;kl)%qiVVu5qt`}?84ekrv=rLfGxMyW2n6% z`%(`{y^b8L$t2-|&ms9#qpvXgFw0L%%lHG3GW@*EvaJEf{4%lwrF%-j-w25)_rlt>uP*g-s{nW4DdQZx+5ia{|Gvl7sVzzC)_)EBJ z7h&$~GG_{Jlz-TpZ@;6BZSds_2lVi66JMP1#vj*Qp%a6i+|bHhyc~1tzQ?L*r+G98 zO`P~eX!NVgL#Rlu+t*rkDj^DWKCe~tLw`RWwzAg8-iA8?4iIi_gO$e)*cPbOOGi@~ z-a(AVnu;*vLK#|K{<_BA~3<3x4zXl5gH;+B;*@}00D@1U2g+M(O$Z^#~kl1 ztw!O~O6NTHG_ja3EL=(7LDpBgfWePcT_d9E;A6ik;SVDF^@9@5iGp=fp5WHVMiQX_X9kI$^nM{BiJY)(^+Q1(Nw7yg zqRWp(10=luT1iMldJd6^MBmiX5=2Ml<%o~;%MlF*KZdaiikwW9C#4j{RMsahq$G?L z-KI+0fpV3XYNd^q@<4~ovO=}A;NWtp%a}ZmLcY`)FoS7`Ve+k*4?&1j^vD4pNp6`i zWY;q-Fh20XYnnBxX4Ld0x}SlENL||`{JMFtZLTyf4NW2n8hRQm%F~p%n_U2JO28=w z@G;d?U=Phjfs+}8S-+qVM$C9ia~K390S##3OoKR`iSUFd1VmM z(TY;;qR-T5j;_+tM}1VHA%&%&Mj9T|o%E8etE*sA%F-gaR5ipan@mAQ&%o9cKshZ_ zP6z(DQ!4fpkv|2^iH3@Tq8`;5NxjojQP5Oxz~remiz@V{I!8NR6{`%*q=Qt`RXhT~ zO)SiwPi$h7u_mXi7_}SH)H=;z@$i~dqrhTNcfY*q6|Z+i;=)kN*M}K!ri6Xf07rS5 z*()4t_?4*pk!Kb>U@U#ZI!{<4o216}P!lzF5fcXx)ctcZ@d(Z)V6Fg!ERZz3=VfeE(tJsr9wL=M3

&S{jBxUD#4z zc*CpS=b+U0g-F@DTDwl2(2GylXc{{Oa8hmJo*mLlw2R3ttx~!EE4b6^iTmu!edW5x zoG#2AtcK@#nUnb)j^7GA(5*`N{2AWySWW!mkKXv`KfV`{{|#IS(iVqAv{0G%e&%~( zknKg>dpKHl=A6COOUVQ$Lz-WtS?p4_e~RQHr!wxt&Ayix>Gr4$6)*!CJ^#~N%Gzz`$S;-l8FPl@B2WI^LRr1R3zETuZAWL z{nF2))-NX7kEGr&?HDZnPOdKMZ<6qj_GB;ziA(?L!Uy%D|8QlU3L^jq5D*H`7+S6P zjt{F+hyfwyFf>izB9IDktpcm>0KDj^AiU55z;FY^a16b#3@zt!1}z2CaHFcD4GH266+=AaF#hNe zrlhQr^6ghy)Uyy0)M6v2RkNjrnU2e_Iwc--Olx9u*z8P++@WtT1+D3$f}l$)c)3n)X2#psId|wQt1@0t1Pfts%P@H z5u3X4@=E3#sV*En50J>wbIj3@&=JwZVjaVx9c}O(<1r>{5eH?j9tGweVbLE`XZLvV z?XbotWdMy5K}@FY`_^nxYt;!r04iWcE<+i-F&qH?c(Ae`_}((W=zFVv63p?=LCLgLBNt^s*Ws2QF~1Ap1epcQIRd%k}7zJ z=6-J%2Qe_khAv~#F8eYFQFC?nvabG;{+lGpk?JrW|1r`cX73IIG1r5y783{>^D!mz z4=PeJZ?i3Efab(xd{DJ^9f+BMd$>O+FohKL67a@l!uDu|KQo zKLK2ws#(e9AR zsthiw?f#l%L*Y}?gfTH|Q64S+^g{U!M#a<$@2y!1ZbbtDKP|A}&NM#<4xuE_K1&M& zXB3-i^hQM>N6C;!WynWC4@hrFNG*;?NyPCEOP zIT2gb(L4`H7k5IIE#r{)42QXNUF;Bc!1*1`U$1nqJ%TD59gHFZm^bvFSLM1e6?xE1=ylmb(FA|u{ zb#c&@Z`74lH4$NciXp&4@d%<^pz~HaGgtleUa_-C9g;))HD_ZnU_Vu1W3^z#!{wCK zVO#HEXA>TWQd4EK_8@jB8OCBSmRkjGOrv%&CvaT(Q!B^S5-ku-Gcqnx_5@ZI2wIi` z3KV8Zu`@Y}X4%$eu{0QUHf~F_Hd*Rn8ly;r)@f(*LXDPRyA&WplvAa3Q{h%`t9Cf2 zR!k2U`mhRXKekmXv1{G5dI$np!QuigK&}`mEX8nMWwu`Jl|f1K>#E|&LR4;1w^2Qn zSg%#??&od!Q2uYbigiv`RZk9OwKm^fFtX~ z5p>x$4QHxTiE?}ywR~SkQTJAFn{;;x7r~%acTo#4P1t__c6?b(VwpA;^>)ACv)>(<&lMp5>)FK9%EQcrH_VR^cvgvV*A%ym6wNo7*3H6McoZc zF82a{=z1j>(6*O?FAj&;k}adyA&QQQt(e8ISasu54vn^H?XO}1_k&e9X{oh6 zyPEA$4*3TXIdvNuSQ&Yd?+21qSdu-IcN^A{^%j#O84xp=lLav*lM|aO`9v{RRD+l* zAyb@9S(O`8hVSi_-!zupmzI@eh=GLzFjpfHVmq4nkI>TD%+Y(PB3}{N4^F6<V`5^4sqVU->e>rJLH;4S0m;st^1bRu8d0&sZ ziX}9mkD8eodRPb6nwdGGxwx9?H*l{Nqy6`yzj>oaS#h^|D$iM@FL7hnv=>eq*HSvA zBa>^j7NO9T&P)SV>xp`aq@GEJnYf3iE7%9jelk(!JR8z7Z5!JxUAxH)|n zIv`WiaCI1z=W{XP1BW{rtUo%3g?IWgyFMZ0cndDA-P(>bwtAZPtqG1z;jI3|+O;!k zx_aN`o}FoJpBR{HyJ|#Qg_E(fGds{jB zv-@|mJsN*Ko4O%Tw9%Ruic_`Yw6!H`j?0y`OUo}{g1Tf?J296mIoCL1$cAn^J9WFo zMtaUvlbao47K6LLDU=7Nc!?-_VK=R8hI6?+xw0=ix($4B3EQ1PT9#4Ncd7EalM}1B zo3u*{Yo&)m>^QZhC#_$a!`bznUqZc2v%OKkCf*z3cG|Y*o4!vIuEe1SW-4>o@6qE^IM$PpZ8 zk9(^@jy<(HzrVR^nH*e?GqcATmP0nBK^)9E9F`?L6AeOoHgU|s7Pc|>%+q|A*Sxmd zd?wzUbmDxs{gck`{IKg>Zu7k3_Pk>H+-Ubvxj1>yQ?t+mbHbxG(IdRZMYYk_`O#OJ z`YIi3DgD?n9R-#hy)_+Krx$ZGcO&sy&3U4k=(R0dQS3;)bZ1h+Pq=R*~y&KrCmU)9n`O#qRh~jJ!jk9+}jTm+y_qF$6Y3qyo1kuk!xZ@Ao_wch3Q-WgkJHH^|oCFKS>XU+KMiM(;2_~>2sO=l+oM>86KBn@f?3cRLADd^38>$I>Dsi5i zraVsPUBG)S=>I*teLkG6F=LO{=y#2%s!H(LSXH^ayF;57K9=A^I`Koi;HwcMuX*d71pUKA&RZ>$h{O{B!K%Gr>_lme79wziCnJEtzi37=5EGRQFw?z1i_B zoaO_Zq{}*__kMp*yN&(+?}450`G)wv`{@}!5V)J@0pIZ#N5d@<121*MYT7Gx!T=0l zJ4lddwEiqTlfSZp<6i>wKVGcMdUdbW&W(xnCp0(N-{k+h&m}tcs_bHaTo@k}=3mO@ zah|VqKcoQy1&Tie3mQCF5QxHs3K2T|6DVS!UKD%%x`>gY#6SWGZsf%);=_#^C1O1J z3*<*$6hVTlXc6Vbk`Y0kq`5IC$(RC9oapH@s813kL>N8Ffy0FhNdW+$K*4|k3l^XX zbb!?XRIE_DcBKl|!iKSA$A&#Cwk%nvW1ar8Rcn-}ToOO({_rT#pxwQE_X_>{x3A#A zgbUXdxK|)z!;Bj{w!1hnipP|HL~aZiaNo?Fg97!rm!ZPVC;Vpq9F#HVzL)DZObDd% zU57dec6^9i^g`SRcT$vz^Y%)Sv?bz{c~Parm%UuFtcd&AY^7CkmgaeL5Xl z6sc0C9NYpB=#*;K^;*4tMGHUvTdHjVs8u_cs0kB$BVLT?SZ4wTCR>4nDK?pb3N9!a zgAUpST4mjpreJG)4M-t|tNrj=hq3*DVPCqv#v5KGp7_Uzq9LSHbSEhX6HLlsx6wrc z)x^t9)?G&(a523AbU=&07*ck>N!MJEG@AbO3xeEj_t$qP5OtIYNiEfsTj&9x9(!E5 z2UUDto;6=uZ{0UmekAPIUm*Vl5}<|xK3Jh*aL)Odg>+IDA!QRTXeWdN*5#&V90Ea* zhk*Xcmx?Gt6v(2ysmKtEIk|`tj4`%k`OE31yU0 zj%Ugxu;@+WK{#2Sn2h07|-ShdsYnPAB& zpDf|ZgE54yhT5)daGoH_3@)PvrTeY5=&rl-hd#5ro4X?#6z`7w7D=zYPUCx>zUwZ1 z(!WRt4Di6c6s#CvR|?gtQ41&KlTiZInx&Q%qm?mPA%w7Tn#5L}*B^t8tSnH6$;p?= zEJNn9Wr6=4?cjo?`!die0^zq|coR5oYB$?l7eU@KTj0Kp7Ib-GniKakXYJ~CBBU!a zYH!ftB0gxl0tYhV=7knL64tMSj$4gHM#S}mUk4TTt5kAOwg_i8kT!d3pVjtQZ^zy7 z+!$?SxnPgGskh)3Hvaea{)Q87SmUgVsJKGh6L!7ikw@5V&Ydf$xn6!!p6Jwdho0H! zr$1_X(N4?0xYY@*b+pSG>@pQJbKNc{wWD5%bXStzF$pzJ0#B=wGB)C!z&r>*Kv>rE zrRHrQF8K*oU39l5;vDO4>HAB~aK@VNQHyUVE1ZGOM;X$IOI@z}0}ieC7gxEeh3cD) zPR2JV0VWVqm!qGx%taiS&5uCl>fsVqbf_m@D~ZK<-MjFDJFDexA{AMhPGaXDQ7Mf^ zp^^#LmL!x4K1nWO!{G3|m5jjD*IvMez>=j z>2P+T*`E&?iJ2h&3h^k2#2gqUg2ea*5H_Z3BIYUy#mz}^eUhtU0k1fsED|tX3WOH` zKlw$}0Z@#!gBnh7)FL&as*Na-BWDoi6ori^DMqOa*PPNp5tikTCFEG;7jbJVyA-Kxyg8P5{81LQ9vC?NdmsFpZZMP zKlORg(;@zKpp#sjEDwdygxaQ43`LGZ*9cKvR&=anbCecwLslpxhXi2P(g?N~ku7Z*Xh7!h z7XCQ_UhqY#``eAyv7;iW3sD4Xlt5l{xiQ%YH(LtgpG+{Ok^80$ZK_?_D7IOcw4!-S zci#Hx#xY1VC5GgQw+-jlmQrJ(Pz0hsR@#iGLmMP(|21R6FcwmHQ8026+EpKEZNWRC z)GwElqp<=O1rY{-GAV3f5@1*a8b&FxhUDSrhIp?dZr_h%`eqjM$-6fdjI>PV;{L+e zbFma{jBPw19FI)LsJdE@59t{c1bMzgW?X_)E9Iz_c8iJo*}HE0Ba}dyY77=IZpT_> z7hTy?TJGAa&ch`01b3MnAc`|HdV*sesd{Z%bD~3x8dd4q)JwwY%-~d2NA1w5{-Pl^ zE&r_MmhR<~3k=%OSVt~rGkTwm{^Y0Egb*Mv#F!@tc5#lxoThDhwbhyOFOGrkbfeqA z5?u+@?io-@Nl-v<#AsT>gF#li`lGOxHP-NC>sy03*QVYz!F`QbI`cWtj;b*ai+wnV zI~=qjUbZfqjn8#KTc)!~>V}y5-%Qgj+lt;ctcBw31)lLa;@)(>t~?}ltDD`Fa(5Xe z9d8%ao8E50BiEFf@8TMTAcp*Kz>i+tkr6yXhrJeU4b8Uqf{v&w(lj&*sTT|W-HF~gE%U%1 zL$>UWI{Sx*KS|iHqeF3|BRrz|d&(~UK2j~{pp0ts_T{MP|P%V>o?dr@cNPj0I zMf#qd=Eq#{Gbj8-43GFADIUQ&cl`Ay&vPf4M-Kmy0($;{5qXqHehDKy zk$#A@e)-XU@E2V$r78%QVoFwjJN0@D$9lN2e+5`cNwr8GLS&gFC?fm(!u7Z_#8p@G)NftRuppR#EpNP;Fv3@GRnDrg=oh$I)`f+t~O zzq2F~WO>C^CHICQJ&1@TkVro$T`?7efkK2=sDwz!XTqj`12KF}Xnzrh5CB(&oOpnH zBPg$7fd^rD57T9mv3(nXAYpVJ#G*|)v3=$-J6EC;#kEz%l}7S*ctk>A-*<!QuxOhprxGB8ITE8fa!8nY>SP{sGAa1veW>hyD z@r)rEjm0Hc)i{p5NGaMV5H`7unIT74f*|FWZ^We-hDQ_vl8*WDh%mJzi-DBOa+IOR zB(mXu3iktsq*M5aZ2vbmS>5UX^EB%sg`Z&mTd`A zGWnKsNtbnLmucw?&hVBz_hu60lR+1haW|Bm{!x^3(UfnNlnJtwdGn6xlRdOY7(Yan zienH~8HJR&kAkz6j@FgP_LaF8mQIvx77CzsT^OP&x9KXmc@(?ZjlGG8zj=%ZNH9flnb9D-Cphu=a14PU{R5y%_UI6Dxu7vBqccjQ-`SuIIgt{yc(3M{6?%@3 zW1OF-q21L;9m04XT|H#Y!0H7-*C07X1CaR2~vIy6H(Pfbk# zTU!83LOD`LJa9uiW@Z3;djL&EK}kVUS4=}zOjKM`M_yS`Sx#nOU{GdEL}FJh*dI5V>V0J1kSuRTzaL_M!V zJC0CDkWOKRU`~Q-T!MW_f^uG#WLSZ2Vu5aTgm`L+eQ}v=W08GqkbZKgN<*tcRH#%* zrCd_9N<*_oRku}2xm!}MT4AYVSg&+w(gXzAA|1&pCde}_#yT_GD<<12IoLBT);Tlh z008R{4(S^g`Uwa73K04c4fYuo?;IxcA{^!^B;_(I;yX0^Cn5PZEcrY##5hUHLp$|F zI?PW+*=$gT0NsWb2 zk&H=@h)|i6NR5DQjDd5Of^C+Dc%6`bqMb&dif*Efd8wUlsgruUiFL7gxwW)i&vTVGve9??{!n$R{w|VS{b;rj5+1UWk&MwEqInd88(9Sg6+br4F zGT`4W=H>wD=^Xm{2KxFJ=H(^r>^ku7KmGkB`}sT5&R5#iS<1p{%ENKe%xclXdDzoq z;oVB%+*<0~b?D_t=i^cE?nCqJTl@G(`}J7s<74gNb@lCM_Un22^Jx3>bBu?8n~Z^- zkb$9&fu@y)q@9zug@Cl2gtVNIuAq#jqM5p)in^tfx3QX(J*s+HlrsPMR@+s2CC#g)#$t;)i;-NC5V$+_FmzT(Y{ z;mMci)`#uaoABO^@!gi=#;oegvh32P?$EaJ!mseow)5Ml^VGWc>4x^?nEdjC{`8dh zoGor+YOwsGSG z3cSbl9=)&hx{CEm@1fbVXwyE#iZxw2uwlo_mHXALTdW*^{hIja&z?Pf|LV~3x3J;E zh!Ypy#dw$E$A=s5>f2Xx#LK*h5p!zQDqFUlLyHcLR-oF`s8d6f2$JH()&@6rME0>Y z%G)GQ;#SGhB}|tyhvw92GdNM>MUyL6{?uu6XjGX>jSkgwR;^;;&Lyk5yZ6(d-TrFd zPQI>Pyvg+P^$VE&V94+vOO6j&GUY#(F=yTkJzMC{SdAuNXWtcQ;DLXMBhFC@Ht67k z07fX`gW^bNp@amLQ;u62+U4PgAQ}YXh$N;%P>Ca+h~kPYwpb!u=8+iVTQJr*ql_?; z*OgXU>F48RjG1=ekO%7Z=nDOoPL#MeU)^c{AeWK>carD2RE>7!;79rcwy`s9-j zK4g|@CYjq2spgtzCAeTV6vkQMg%(ms=bhtZxM4aSx@eb(eujubpehDx=%IGih~kVk z+Q?#!I&#IMKw1L1i;!$)nwF83cIxAjO~Uu&m4!`N<*B6pm8GZqb(zhV{$Y-J=B#OI zYU`~UA%m5ic3!C9uDt$==be3`s9~`t4vHwD$`-opvo7A~XQOaM8<&og07^M?SaAjBth7c-CXeG5C=etM z0f2BpZbU**Bn2>p%qy{w6Rd-D3hQ7kv2@(A#lsT2r?JO+NRTb)c({%&wX|4E%O2W- zvdJj4d}1v!r@SIMGrPqz%O2iBkk0AwOmwvG$gH$oN!!AXhwLo<)jI^SGqut(o9r~y zwzwnKJGb1z&W@ArG72kbqn$`1YNI_0lZiwU2_ynVP_Vd|ox+O#xtFP;_GN6dG76BR zjIs-p>8cA^yQSg>FMC+dOJBW|ZOaS3yy!~|zvK9;55Q+ede6XG-R)2ZsCPgJCxlqi zi3lhNw8kcxTwwbJ2>~#BCI!8*2|=4g{Lnkf&e0#9xQ?^6z_Pu{g{~9II=9%u;?Q>4a?AMV)8Bs3?jL#!DC@Wri#l$R zpZe;zKL1(GM7MAULFkc={q^sE0i56ZXygu1v_mXng9i%Wku4!{f)$PUU?2j)3Qmxa z6N=aaA6OBI*{#7Wtr&)0OqZI$@uC%>-~``zQ3_C$q80w+Vnr)RfdW!o#u1<}A}{9i zn0O(EarXIxK@h`4#k`9#h)I%qkl~Vk-Q!;X6P;KN z6XWOr#*j5`q67r##2F!q0@Sgw1RdyvL@oNziEd&NXAEgbCs7ap(4Z5W=tLZCSAmvR z000rl1no)+(@ea90BCswBxE6rT7*ME-zbP6FGiu74RWXid6^*dq|}#@gB(pI2V0sN zj_`blsvA;YC_?ELq1nQeB|=9n-O@_xL9$Ssh#Dpe=iqTAFyl6yI*9VeT)S(#FXzDKNQILvMq$e%u9X65Dm0rN5FO>j! zyD1R$N`RSWal3qUBqr3lNcw$2e^_= z)o`g)Ts{jFNn1RMa`C}jd^q>HWkSeyJE~pORhJWe;AnO?irwyhH>4w|1PW+?Iu2B# z6P!@#O3`}(Ni;JP%me@dAd!g%!1pxOU`A5E0S<8N*Fixg$RG=%j&DS`kEImHDEpXX zPgba7SRscxq>7d5bxcDiE^#?->@&EA6|Ut-GRrz-->q))lWI)|&IUYV1q!Xh1wk@h zX?7?B3+)zmX&<|7dE`#2V;x^H^1eIC2_>H|YHxjuJ75vDv2leRHr>RPOBd+BY`Lf-pPkYNXv7GJH9IMyACZ!jAa;&Apjpe-S5#{%1t)DX8JDM=7z`+A-X_a`?5iUo7E zmFYe)S_uhOPyi~eseEz0K_O&d^0nUti3MOyWXin$a<3<%hk;iHietV(@Q|grVJ^Pq z%c79ud+_*}LH>Sggs5T@-z2%oVNwkg^s}&WBwNH0SV1OWq)-${fpRe`3Sk14fC7eK36_9SB>;|wfC6g7jot{37&QWg z(2a&r2dGmAG8V=p=W zB6`Rt8ZtmxlPm<$hL^NHH#t7G;FBIwNnj;2>#$_$P?Rf^Kizg$M_GD7!wK#nV-bXu zD^`-FluPsDWDUeWMQKU`q?Hb|Kk#r51Ryu^wFZs22WUe?jj#tKgaVDQS%tBdIS2p@ z;1Dq+exJw^vj7XB$com$46ncm-hh7I;1aJu3x(N=+2A~>@j(WW2%C*0=EMP z+6f1@!vU562QIaPD9}PeLN}X;5SBm#wqtji(2WOyHnf0*!^VUP5)MjJpKPId<3J8r z<6z_3<$yKoP?JhSG)eX0)*S%IZ|6_oO`q3HlNw}7HD!=mZXp>E-#VRH-W83A%bHwy6=fZ#TNaR_eH2&qsQ zKPotT08@!ujrU)ktJu7HmsmqrI0qF z84;vOnx`2NjsTjK;tB*|3i&q-r1@sG#W((xAAUwf_OuuZcrKISIQ~8|S`*Pl;~;^e zgN@`tMhBsSkQ%9yDpLGtUbll@Erk#Z*$_c^0pn!}B!CbRVW0PTU%b*s-;j87(kqBG zJ&m+1>Z5ID1ueAtA@}1UFH@_J!a#;H9?R6DsbUzLY7lyH3a3yF)xZth;EK!f6Kb(U zJLDs(U_)9mrh=0sNYtj~vZsv^5q;WEh6bp_C8+OGsAq<#iW(`5x*d*c5U4W(_Bg5X zdPeU0T`pLu=7p)4N)Y<07PjL$nlJ}EGOG58pBK|dAHx=`+N!RqNF_5O*z+>8N^iP) zC}QQ56`QdhGEDanS-={s1oIH`cUq@K3(e}RX^{w07p<28{#z_7t*Y>{02r?C5+&oB zB;1M_n!yoAp_|R6P(RxhpaWfx+5zx7uSnYg^-8JtYN_X?ujPpX{hAhW)KUY>3#4kW zel#Hv!mt41uoL?sVEeEXtFdN#wzSHz9-9!s`WGSV5EXHQvv`ZMH0wAv zOK4h>vzM{6$~kf2az9n+q=GdB=NE; z#+4X1`y+#PXqtnlZeh3rqqxr7gYWvdjytK6tF)B<`)QWTQkaXWnp**A(Ydzsxo{G? zzec*kV!C*ex?@|muG_xu3nH*faSk!NI#9a_al5!{6S`{A<`?;=IqBfv95#8dbrU0Izk>37Aj<_L#vHi~<-{v?x%)8dV9XGY1+R zuP9u>mcX5-M#6Kjz599^onQ$ZPyv!q!RpCO9b*f_7GR>wD@q7uz7{9rV3EOxlF)NV zhJ?NVBB4adg#lU%*6DDyL6Od>z|AuH1&YYa6{ z<0AIU5KhtqIgkUfs}P1t8_DpbLop40JPrOX;l~bA6Prq#<9fIM>m$9e$c)^`i~PF< z%nN?%r%pbbRo9qg~5iFc0a0#1G2%<~~@EXbwWsjkZ0{Ykq6?G8OSrCM9 z2`E5!B|yv9NdlIz32=~|lW+lj@SSpi0(Bt6=!F`V&<5wl2AeRRb;(T1^IsRKwG+QY^8((mIolw)5K297U7^+;V@w6aAK8Y3$XBc%=42dAfw3=Kl6hE^<&Ss zS~MJXEcT<6B_cm|;cg}wN=0duC9*OF7c{USq9ekFBI*t#$|7;R5OZ9|cbpJ;%n^Jn z6n_lJ&>+YSLdffB$bO5+iHsSJoc_|i0Lk5|ACoLEm5c(smB0&ZP=&jjpW|qa>dA@= zy_$AWjSJLjr%?tm0wa8!8;F7yg#seb0WQc!+^JC)06UXV0VLp%n`_J!z(#7(QhoQ! znF!6Iz+cq7G1*+I_{GG?rVjrZ4oW=EbW#q>mTly)4(c2Z;h-UJg<7km#wjz0X&685 zQx5$J3aa-$cQs2NHhMBSK6k}F3=JZX4I;B7(UYPUkWt5)ZO6Cv7q+PvdHfsDKvXqB zAv-YM1jg$%kswVj?EM$GHhLG;ng2?0iYFf z%{0~y(s;bmF=>quOEpLl#@1L74oy`dm84Wqh~G*jc~oVfa~*mcQcBb#drQb7fURP{ zq#=cU*bl0cqEz1=!q_BI*<=;jAW~zSbcZN1(Q^D4n{CmZ-5v=X+PyK_7gO2~a@xp{ z+Q0BAjltS<7Sk^~+c>V$wO!*sVvLdu)1A`WTZFE`J>13Z$;XWXrw4dyQ`Ag`IhWVm%)+dMKdhcWB`wg5iS5BIy>;{RYSKn-+-iBqKiJO9$G+;H1o; zARbawJ)s=60pl|6Ep_X^IbQ6t-Mf*a+lNM*M-n-D!4WQ@AqaKkW)j@NO*#TWv`b4; zlYmkje9N66<$VCJBt^^CS>;zw5Y}4|TyARNo_E^ajg`OwWsYi{pw&|=pJ~D7ZcY$e z2ImCvUveG`nHOQ=5LAUe>d3}md>&Na%y|fpg%1BI+ut9$q4-&fz7p>Tc0{EppLj5$kk3>zZBbzc5<3uIqNe z>&x-$#Gu-iBJ3-B(#GEOj*RTP{o_=}>^%;s&z=m?UJlbv?aO8Dvce<=>svQJd!8dl12+7FFHv1p&IY zXJ8b`>zU^~-|%=!#n#GJ-$3Qf&(`qXyekv`8Bi8gbuvnvS8WDlmbS>SxPA?3?;PffoyZJG^GCu58q8B)!Akv=GJni-BAKc3n_S0&JAQlOT>CW&fRUoCaYD05PJ2h)ta?p+Irr!Xy-PI!)qGfdh(36-dY- zfw02H3J5iF^yqO@fsiFldYp9OO{NF{LT1Y*P8=u{v^dq0nNz1a6yL;s>j~7SxNzad z%~YpTsJL;lVvQRo6zb2OP>VK20hOFOa!|c`MXC-KIOiHln@%q%b?Nv*wJXkUTD^r0J2jl{Y~pl?*R5lmm~Y~|ktw5K><)!H%bfwZ{yZ7l zbss_$DUpL^IqM(e+S=7n6U8W&G*`#K7DoTyr`Ehot?dW_Pc01b0#ybK7IK7 z{|7KYeDWc%Km!f@EWrc;42c5{Ot1t6Ln0)k142-^#E?xcsiB5THX&pZ5G};e5Kb!W zpaYNYNYNuXP_Tpq5+Z~{L^vvdV-rhiM4^t2JmM%wjzowMp^-ilElCtUlfVsxNa5ut zPH6FF%HDMH$Q!q0f~6L4!0D2xDZ|N$99Y!(vdeM8;Yl5%#4(d6glY-?X&s)r@(LlV zII)EsQ2N{x&^1x8WgSBCj4Q1_AET?BbwXLk7F!CF^wD+7Su+%MBqhu;vCt{Z&_WGc z2NqaLjiobm*5MN}y&~mg9Z*A^_0?NYkkv4@I^$I_C6j~?zSdGp?X}out8JKLj!AAe zgp4~5x#Xs$7PsY=YYsc=q?@if^}faKJaNk#uiSFQMJPOQ!3}l~>aLsbTiT9;iXM9S zBTzsA59Bu=1^-PDA^#fWU=B+TK6sK2CPDaMJM6gRl1U1&L}7*#PBBG>8fp9aK=L5P(=#HocApMC!B=1Q3m`q>+qyrD%> zT4bt4X`RB6)Rv{kX5xx)x{l8hw(}co2=KqX%4Mj(uO70 zSlMW^ZP{j-c~-b+rL8t~<*v;Z-d(tjF5Y#&9k+Jx%rzHX6x5wPy>{PyPWJTXO{U&^ z^~qOX0Q)@IehWQSMb*$Gv7mK_19;=eWt#? z@@ufOl7IgC@5f($yvu5v?{pIVivJiB3&mN^fCofiI{w@NsRSBkW|$jIu!z;U(!l0( zw83ELn58=0EXy_@1Yrnm(>iUv4tBAtPw&EIyYJ+VT)1-~3%jGj?EJ1ht^?k7hzAw_ z;42@>+gHDw_pc;5XnWJU9`=s7#OZbKd*B;i6r)%^C7tgiq;X#swJ0?C#qVojlOGuK zH%9$oihunx3;_AZD|E!7Rt2(N6wIj*Rdgea;Tjhj-!Xj`ymjQC&VEJOf*JhVk)}-c-dJF zZlL1BqX`VsS( zAI%?Jl$j`ILer!tb*40@i4gc$Gg#O>);7O6({8FzoVg%pITzVTaG{f(@BAqx&+|@8 z%5z=xBn=|Hm7aVeW1pbxXMp|*#DLOlpasS15?`s1g`%LLv^1qjCNKe(*>N=%l?hDL z8WW7R)r(~0C`dbM#*p@}Z79WSUJE1sQqM?qr6_1A4>T7ngupbL&XG-GwaE+F7}l|m zh3Q~*DxGuME~uAPCwPAPNN{m0J1|ubZI*){9u6p!qV&%_RJ&T%J`aLd&1!6^w^dk% zkD*^xX-LLeR==K=t!Z8BZ{0dvW5!jkU-RfN?V2dPHut1_wah~y7}&wWr?7^V4Pq6$ z*v3NEyOGu0WTR8r+F{nb?Sy1HIr}ZoVh6Ot`^9LTQQD}AlC}4}hie7O0onFfd*A!& zEKQQzlJItBz71}I)jHg^9@oKnLV+5U3zq=Kg;xS}ZiYvi%)b7$B-JG>U_m@$5|=nw z&AIDu4Yu&dB31%=xAN*j1NO-OkMka=psbMZB2D*`v?j23cQWKZi%&%y{e_L8fn$8^*w6RyvAux&E7%gbzeY~kkrVCEu!<&SR9p>kpz-9jMmfq; z&R><6tCljBk-2;2uwJy><-C5HR~|+mh*zUW9-PM2u0C^_%c%=pq}ZpMO)opwiR)cw zR$TMk1!*=ZQ$0gPFMsB7pzXyNC7)8rh8{AaJK|MEGql-Do;IX&AZbc3*wVzs^!+rw zX}a>y(-sExmPxH)Q~q}b)mI$xs`dElSI64Kv#zz8E9v4~tGD02{Y}G1z*@?OKNfZL@>LpQ$(>rL9y~i?!-j;lg)-745jS#bLThhRJvKA5YZS{pa zj1eYxxuN3Gn5#w9HeYv!+Z|oMzMI6XPEBiCLvL8yJEz>D^(EKL>wv?!=|FX}X32A& z&gNn}%Q;R)6`l@zC0p4E470>9Kyf5m+Zu9vQ_{?_6206XH7G;y+LFNp-D?V_~5AjJ58gyz&CSs3X7eV>9$y!SZWC7^)rh z`#k6HBli;r_=~?Dn?DUi2>ZLgA;SO+c%@jPHvg*tTyg*hz`Y}EGy*(1gn$Vs6fP|B z2=)Q~z68`d1$4j%EH?-ww+ciczpI~jOSKWJH`C|=$SaNZnjI5tv-5+qr$evslS4YZ zx@$>}8ykm)%fUYM!-(s_vFm^+;DSN~fgfC=DA)oan4TaULfa}rYU3@FNWvvlDJPUP zDU?F>2?;AiKrDP8E!;x$3bT~kywhj;iED!=8*n%d=Dj0wQ80aq_r~)y_9!FFtMaw-?O2SGM zIUw_`x|706bE_)^Md2I8V=~24M8yl^G-M(p9-JmM96`#O#qX;{Tiitz+`N4BM|S>N zj$$YV{2)kY&_e)WxP&ylKr_aTfPpQr#t!fSA9zL-kVe@8foi-)AGxD|0-@^+`u{Tu0|?$L4#-nVU)ckw@vHM_IGSp2Ej}oVr`&$2bH^pUlUA z9LRz+$UXC<|4>MURJMk!02r`H>H&c$u*xW)NEo=vD7eU~L;)y>NUhw;Lj(a7xJrsl zk&KMU6lsF9+^QhCy|@&)Nkjo}v_!<)J(ws!wd%x`#6qYru9lpzmyAF!3pHq>!2hYq zk21!U%1OzBoi^-AqBOst%twI~$e+T@%`Ap=;>^$FO#Hxx(Zq(e;xhrkul^is%GHtw zc^I?;i^{2-9x>1YG9Uv*gaN7ah$zUICNN7z>;M=L11vxRF3yeVffs0kEr5YX+z7c0!0?$FyPQiV96*!P%adEHzVyrB15El6%wi(U3$#F#N=z)1 ztHzwi$3(NpyhmE3%sQMyf80#X1WnHb%>fln(lpI+uovY?%|2UA)^yF0w58aD0VUdk zEl3fmltwW?0U;2BDmcX8l+BFU0xSRmAz;J`y-?Xy%Zy3JCTIc}Xo3&G&I-`Zv9h** z@y>{{BhuhK@(eDOWH}%Ox4>LaE^N>Dtia?tuAAJzYx;xhu(Qa+{x``K7otojgcuJj zwNe2c&@T1TE=9^Pb%xQ@25pFkc-V$*DATlPP1Qmz)MBlAkkfi-%{r~qGmSWhv`7lI zP!P>f5ADzo#Zc-&Q4#IaLG6GQ?ad~@f)`c0j-=5Vy-@|pQAXR*J?K$x`_WGfJ|T6h z^eocjYER`m%$!rw`BXhJ94y#?(m#L?@ydnC7^1~!!kH+@qeiqko@Q#-{|`U8@vgvb&Y0U!W^5jdzp)ld)!)D(pQA-Kp6DAW`w zR7A~4XH1ca?0_bK0w<8sjS~{>LshK~i=kQLcy2-Y$+*^@=t zGquw>rBiv3Q`SmWAd=H&z0)&|2b9%@u-k}g-B2Mw0WlZ>G4KKtMF<%1N+F1XDnQGJ z98QV^0U^)=Ef9harA-qR1M3Vx5Uhl*@UYfRC`(3BcEo)K@a= zSAXTpfeqN+@YI5Jxr5y>cT8BEYuHmgE{GKkV`0^Gsn~o|4~*5=TJ6}y#mtd)T#zkU zoRwUaty7k5&6i!Rm{p#crCE8f*_%aKovi@t(NO+`pw_aqN+@7NXoP~+1dN9+9}>^(Q`Z5tEbuu+3a3>4oJ#fNmDB(I-vA!qniXOMuKr(bNMLAP;0MmX?V(}_RwW0~Vh)(m;tk2; zUE3wx#sk}6=j}aj^WaOfUQKgAzFOfgL|6_ZHwSZ{7&eKCWxs48zsmGa&NLStW?UYg z-ya6zl>J#+Tw)bDvt2t z9+qa!g|e6Ja(sJ~wtx#bn34wPm}a{BC%$CT%;Z$vWV7q9*8^oPrmfoA zh%h$gwar(sT4mq}i5^9W=Z#zG{(WVZYh$w@VUUu~aj>%O1?USDXqud|Uh3tLz+>6~ z24J|Bhb9JdfoNht=0Fxx9|mWV{bp=vW?`k|Xm(ltrDi177i%^U{@|z63XlMvhk2mc zXRc&I9@)_hSppkpiz{a=ULsM3)OAMXc6R4f*0xOa2zo{VdyYa*_0)WpvRUTmDf{Pu z*5!fzw1OV!gWjTq_K1c4g@&H!<&bEIuIOaGXpN?6vu5UIhG~#C;*lol05RzTL20N` zX#inqmu^;=7Gjwe*|QF3TpFt@rXCn5#KPvy6cGY0_)yr@=?ksU$BqK;c>yOtXRdlk zC!kSx{^Gb?0xe(xkc>bLD+oj^&Z_9YRnE9E-3e>Pz?lI<7vB_>^| z!M%=&hF_%g)iKTJjTUZ>Zss)oTxX64kfzyXb?dkOkGO{JewpjJCJ>m#2TAr^y*_SB zrr#b8+06v(2@ve*Ia(jk0t>B5E$~qM6Nv4pN~MJYrS%>d@PWz(pAB$=D#+}h)=m|u zf+Ya$?c|6JKnT)C2uy^AdPeQLtEk{&?WT6^xq@xva^VUaU#gZl+wLXYo+jOX4&LV2 zF#YZBM(g4J;f^-$N`_|TZqwCTWakc|=$7$oo^BtqZtT|X?dEImeg^PHyukM4{OeY0 zMeO+g(6n2kCaC^`b*%y|o>3;Kf(JlecBa<}c!2*7aPe7zDj@C8SdHB=L(o? zC!m5TxAG-`bretm@0`~wr-CK;Y$ap?SYHAr2$C)D@&vHWG$3|nFl{j>b4oMw)<$!v zu5feX!jF1$_`xVSPgTIJ^Z2@Rq|Ec;-gD&U=09)NK%ZtmBlPALr9=PUM3?bJN9jh- z>qqDANd9-+N$+vYR4E{5?0u)64vm5k?ez7Y9&jD?DyYsT?*I;Xfh}lqh46qaz;%Xy z00&?JEMS3Mrve2y-YfSA6_@}Bxb=&-c#Z(}&o}@yz=B73gfVyoRwimqP4+Thc2R70 zQH=``PQZWF>W~2DhsF<>C{uAyWI?}&7XLHVyayQfkNSFUc0Z7GFOa1_5QK1g8mI1j zuotMnSrgxJ$3=*bMTh~lbn$NQ{QKlguY!N)bWg`BB|mr};{YW`XBR*L7pMRzpLi;` z0$6tfS>O07I8GE;f(cLo6mSA2U{oz2c`i?oN6>=ZID<2Ad3ioAwHNrdZ*sX$k+^U83!r00IjLPxtPvP-V%3DoiG*K;fc71r{t2S6ESH z07^1gm@zwZ#->e>m^X9oY?CJF(4xhW76-C4>eQ-Nvu^ELwanPEXVb22`!?>}x_9%o z{rdN6nxttqEpGfca^$>t4I4&`7*1{4%9WERPhi4>*&j9(>HRxCkK#3kA8#Hc_>K8e zc0_6NV$+r{W6rF3Gw05q`i&k9S`^z+OD$#GQ&E9s6$nvOAp{In385f^Rr%21fgeCo z#S0huzySv@IDsJy6?j0!5-fbk0s>1=p%@cX=*8DwEL7nH3n(}N0R;Y3G@%$3Od!TW z5>>2_KuKg&@klghJkptFo;mqhHXw;MWj3sZhT3Vssg|Xdu=VyOm|=<;CTg;Ed8Rm_ zm6RNtZL*0BGC0XZ9d-(hB;HH1sZ6i!3>iqJozMXC{Q_CaG+s{0-B|9 zS*|!^s=F?`WR_+oy1%IjfSdK&ivpZ-jzi}_c0M%TpB3?`X#T)~8Vnx_hDu84dx$RV z9-|LCs&J%$Qku=Bmu9MIPn_x}6sSpw>J(H_m1-)=DO<%M%Pn)DmRgKeVArrUBfuA8 z$J({C15e2;^Hc7DM8*}$VEbf~+iv#lw^<68W|i?uttD+#w|h0#GEFUS)J$iy=DlGf z=UzJL5CrMM^5wZU+xkRWl1q;&%F){>Dcq++k>*`D-+lKDQr%5?M-X*3J@;I`mP)6o z$NT9Naxo*1TC#yETb{DZF2j6*%rx74b6*wc%yZ8Z{LEO;D1p>P7uRl^w9-&|9h%c! zN4+)ft5pqL*1fZvduva74Yt_DuSB-l_n?hY+s(gJ{&(DI&z(`F8?8KFtr=2Ta6$Bode5b+QU@%+}3{7T?C&H$9k9z}i&%n@TK)~5e zQSPxw_qxZz5`NEsD@4H!Z#YAG9mhJ>A&5W(B9mk!;}^eJ&U2d444m*}ao7M!<2(hj zPzA*tn8DmT9^Ql)+!xF7xy<2n8bP;>y?Ss4*SzzP@;feTz<1GR-TIWFyks-Ymc zwsye|T5W@VybT{G_(2dtV}yppArHHELX@Qb(1ng7VGAo(kr;AshdYdvB@ubW9ICE3 zI$VhlCJWCizZN#jp2x~oOz-WI+ps_Q2yf+C?bW5nz|w`EeC@w5R{-%n94x6aM1Y)0R;s$ z%NOxSO#THkXJ@SFF%h$bEv%rEZd@ianz@o^VkUyp%wr&{$;WH9E1Oc=rf1lB$P!*s zoMW@4COe5qbcR!%GW{uX+zAbuz?1%b@}y@yFNM#M>4%@Q?9@-Lh?vVIs0u#tfflyV z0T3wE2UviWK(!!-t7@SMQ;C`Wei_VT5fh^sElfwjmV+EDa~Wt@21%dUG?couujK-X zZb;Ko-Oa|YxcgS@mbFC{1@S0bp z?bWc(?Gj*fBiP>&7GBRq7h;vB*vYaJvg2%%cX7(y@rtdo$+#>sGRuq2cJ{MM6)i0R zR9e%v%+gD6mlRsOQAimYg5+p2Jg2~b!I2DB>C2y|HU+;b69WpMFyO0Tp}!q?ftR-e z11?0N2~C)7hp?a+6)8XgEV#l-Sl|E_sF?*z(1Hg%pkX?*0K*_z0v1#tA}ugMF>3xW zNP?7traa;iV^|V19s!bQv{)GU0a?HLc{)jSEr%c5vS3rJPj>49w;sX@CKz>mHf*6twk_%{o3NwSi5)@z; zDzrs06QBYXn7{-l7=|q<&^8vRFoD2m0Rn;%(H5N00Bt~$zXTU32GLSTfRLIpSIgLB z8Od!iWnxD=Z%Ob<%t=zok+r{1Tx4#SCL752rH3XNsm8gVpuPGd)5dS*ZgG}+UC)wh^ zz4F#! zu%PCKd5X1lzJV$Nxe_a*3!85` zMFScv2?RPF(~Qg3b>Qu6ngwoPAbB86*&YaboeAb438Ek$_Mz~Ro$?XGtj!>f8_l5fL1vp}x%y8Hf9p&WJ) z9VQ&p-QmLNAuR4*AI{?M{o&XJ;vhQ14F(7mAtFvu-&ep-BR(SdArSa!QAAmyGA^ST zF(dvPol{eIA_K(~i$P%O2~sIiU@C4S9}&{F2-R}AB4tS9PQ{`*5*Y%~A}typ*=-g* z^+GS?B7GU+^Yug`ri?I}3^5j=F@_(3aey-hGM3{?NMqAI5GW3n1h!!|nj$ww zB=C4+1Xh|jG6Ok6<2i05d8MN|_8~itojcAGJjx?f(PItrL?Y(n-tD7HKH@*}QvL`e zVr&jg2G@5T*EEXMLUM*lk>W#YokR|0ym(+wZiXuoky0iDWqcP$1{vNJ&s=dA0(s;| zqM$9hAUz3#FwELKe##+goKP4LVzA`*y(C&fVi&OtTHT~g-sCamBwg(!i#gCj{{G}} z1f@0-C10u@XdESHB;`^vB{MkXQ<7Iyip^9`R#l$BRq|n0BHvbaWijByS3XWyZp>JA z5@Mt!_;rC0;++_90cmo95ab;QnC4n$PFu!bK>^**Y|dN4B{KPxyv?OT#!izYBxb-) z1l5jSMx7pET3>FBrsZWF0wy#F=3pu%WN~C-vIzo7r(@>8bQZ@;dR}8zr#jwdW6t7j zKIS^MpbK`EF6aW2RVIF{os`KJW-`U}Re)#a-4&2Q-UUGw1R)uC0Sw?>Y|WPau;xr6 zhRyLvh%kn1!pt((%7NmfZJr=+h7d{Z=F!9vG%*cu2Ip}~4JsDr?A_4^{wXJBFlTcn z!*gzAbSB4jB8Nw==t^YgN^B>0(xP`(C3v2oc+O%-mggRvXL?#@ejLS8^%Hz9+XeI^ z-XYKpEGd)b-3-(xYRVP})D{eI$Olj!7-`PtZ~*090F@>vm=5Uau!R&l=!xoNZYm9h zMyOAUB2W%eQyiR!ZeuBmsFQ$Ti4G>5@E+c6#e62Ij0UQp&XtU&C6boFcjl;~E@}=K zAMowy*x6z(OlmH;7p9Ds<6vr2sKucwDU&WK_z^)6M5!1|sco?gn7ND(6 zm)h0^_y7==*~^dx5JEw(R6vHLiia_wjciy(4Zs&72N}#|iKPMl8j_glDdZ=jo|_`) z2gRvS&Z!*MshxHPp601i?&_w3t&O9@!9-s zL7r_vq48P#eVecz(+Wtz3UuCacmWwuMx!~JG%V+esaP6>V}*LgH4;)Zy(#Tkt8+bM zwrcC`acj523D6FiOtJ|wwq#?1pK+9{xhn0^I$}#2VWQqByD};ZJ}P-m9K6QbbG(=O z(3f%OD=qS?zm@<90IZc(!4|mRh8!%)EbJDbK$mquZI%966JUW>y#NZBnFln12hN6YIc}T&B+ag&&0ZtU_La`=EK>HY&n5%V2Ca|{ zZE_UtSvGBof&|mHXzCv7F`gyVs;ksat)f=#yI!rtW$g=Y?LF064Sp>L@Br}gfbfB; zBZ3j-X@M57t*L+ntAGSSAruNkff$%s!kXFn!9c948{i@al`12#1__%mLo_^E8eoAO zNm`_#0OURin_g%KLWz__3BT#(<+{`$)sg0I?!tAh=YB5G9>X!%i?nMts`2c>{jqxDVe*11li%P*8bWPD>;#V#DfUO!xeEz@Ct7a5U&v$ zuk}`G=A;bsP6Y^ngcxW+gHWlk&B|3_Koi(X-`bWMp#b+91`uad3P=mdB1dIh1~YiU z`KmAaw&FKtBmDAP{L*jz&S8j_lzrsya&oTE`tSb+aJ>w$*c34Sut}sOFaRvD-!!mw zK5zuP?gY=M1%d}euC&K^?l$Bzv5e(?ap=DIa7H)Fn02!P?G=KydG6Nc5ff>>= z`$BHhHA$1)FBdIUi@OK>s5?ni>e9XG1+t#cl8FpuUgXgPy)j4(ZquyxpjJrME@ zJmMjn?fq<<6QD{!KeAOkh*yAx7y#jZbwPg;L9L!#6x@mrsD+2v${I0CI3JKWJFPy}F$H%g3Z(NovvZP7^*i5UQYnr$)N?)Gb3Xr~e3ETH zA9O@zX_i_}K9+OSg2imYrD59sr5!33NhK#sU$IMri-!uQL((3U(6milPK)s} z>$DL`^JZ<9W3BSsN;pjBgSA8YUms-RY8 z^*r0N58<;z+*eqSHCdarS);Wus&!R@>sGY&O}=$Cw&JPvHnehG;Fk zL;Cd>12#sM=wSPAVK?((2SQ^1!D4rGW1qld2X$mKHXl+pB3ZUlV>U5rb~(rHXV)$V zXDw+*CLp5rR;#vGw{~h(KtESS*@B;J-;b#ntsIvCGM<%!y0u1XxBfDmGu8BOQ>cU% z(n<(71QmBf{+p&zc&Yv|cVGf`7)Q5sAA?Ravk@6lO%ZMBR%KLh2ycgH4gl|58781! zc7SL02!O=vs`q-Ub7;HZj=!_+rgkWK2e0KftAGH1_qWUZ_lcYLfag|$@AiQo$6O`2 zaU}S5$q`D2kX;+)aAUZf7TkqeT+GoJNG!AIhq47t*f~aQTK=&q?>RE zP~Xt$N_h@+7XCE9c%5Ts-Z8DX-Z+g$b&eY!3tly}#~Pdv)i`vAkjH1E8~LN>-C2CV z7Q8^qBvcf%Oln4Q2T;0N>C|_?_Zm(}}wKlDf=>hBTmoG|-%fIVoz()f_ra?5c;i^NVI0SsPK+Tl&I~p)#Dfauyy1ItL`g035nj=H47xt}- zc&pi*u9be8IS}^b`C%@%!@Z90cyGa`Fwi*xaNGj>HrH8I?wwtFTjaS1pPg@ zghM0*K{Q3tLol~T6w-6Rl`8$K?mpB5=($gQp`rj8fCLfD0B%>smx^iE1HjkcOWDgc zr@La=(;H{lb&GkylDLx>oI#4weQ-|0+&errLgeg7L*HkE-80Q20KU$yKbd>F;deZA zd${5QFyo_ykdU8YvnSIg(^alP68;(9xrZN|k$H#*{geW=)#Bcp*au4cfSI_wMP_hmR;ephxc! zbl`vkhYlT@MwL4C1q`VuntZ6z!RUg)bB)6#z5g%K~r(7E2H_8315Fl8286u1&LyS+q21P^4i7joIbP(U>jsJegVP z(V#1X0i&6xK+n>kNgJK!QEL=DaYK7_26nb=&zCHQpMU;;|ICsJ zP{09oDzLy~ju}S51r_9pp$8$1kRiw@gh;}MP& zPb^ko%rO%QBBKg4mRaTu^~R{}kwza$m5 z(7>Wp6r!=MzBA6?$v5Bz63#l;d=nJ~RZW!!jpSH`&I=SCb#K&1u>KP#8dAqNZkk`C zNi~}As*`5C@S;&QTU#GdbvNO@Ew0yJi)%DDSn*3&-TeM**WCf(O~yb25oC}-2QSQ* z&9n^AgjAJOOjr$|fps z0fjvc3lx9^6b=rWWk?-0R#;0@1_fm>9Y~AP&HzKxuS*k%K5HK#ZnHH# zVM!fspt$vJyKQR)Qg+(tO!dN6VGoDKi^7Go_BgohrdB-i{_d{LaOCDj_Y7hq9nV+V zq=}|g-0EJ}bo<=xFW&tGDlOgs=Pl5;eETKnmtP>0C}pBAsCpnMI}&K5g!B-RMBgQv zS;dDtlsRIGp+`w3fimWCm+N<-i6xq@@0cf_lpL94rA~%2W%E~l3Ir5j-q87mHL{ru zA=vC{3xQzxIcVN1*g}iK41)zGFkvfAds<;0L^auQo( zM^J_tYRiq|KG-NUq(NPEyW6i+#hek2if@yv)5<9qlCaklW?11iK^J0#N`wjtEaA z#4{ekO0=)!DX${TYaYa+7e|v!4+Yix1NO2vlkLrJ zM}{0=Z5ccf9Ry zmNPFW!)*Qrn~j@Jv|30l`PfPt$H5`nf{06Xat1Y^k=IM%fAiOqcG zNzZ!j=brd%*MRnkjD8mNpCbq;0R9I0hk`032MC3VLYuQNNHD5N8eNl7<$N0jnHr7>Y?OkDa4nD%5GGNq}KY`PSk?)PUZS&S;RMWAN;dhd%a9 zd`44F&x{Z^r?KT|as#>CHgUI4?Cm{EQ=b6k>z_Ee9Zmuf2!h5$L~VBS!A9a-{ys%v z4}GLWu)7C?Hg~&eR9Hk@{-n|Gh9tbu3+atug5DhAvArh!!%KHUUz#EXC=b!^ocU{A z<^c@TSi-=Ai3UJXkDAngfe;vrkb`tdaX-0n;<}h24KTzLKUBUCcm&d9UGI9=<&+Iy zd40pk`EbjwK4P&s(`DX%`E_BY&zLV%W?r0`7inIz!QR~FlE`_^b*}E6OOWS1Th!0{ z0Go%*SN3V%4XxA#C-tc@ny&xY zhIJ@N+ijAaF4L}dT_D6yurZ$T>X;T*l;gFm!joHK%LlNhQ?@;s-E2^S2aDDoXqsJ~ zU6I`21{;~d3}`<75~Av^0|LPkls+twp-F{B;%4rbf^MQU3VNf2Ubn<7W)MX0Vd{>) zHjb{>Ao_xg9+bYfL-O5~egCuH{w^@UyCU#`8=UP3d=N$j(lcbgzrLqW4y2{(x`z)~@(a;P^r<`A}f_7O44f z57~qR`H&CQaMVc9cTAAW^y7$N3{*U*H7W%+SS^a;&OSUS5nE6ca-XBZe~3`Tk?CIH)vAWr_mih#tZGswj3=@lqI~F{I`}%wP=2K+l*9MvyRO zB*IL(U3~xlCDBZ4@HXb3W2I3w9p_v ziuDd{9KR3&txmbdut%m%zL3E;>^^;035a zX!@`qdFKyBEfA|_5R*+mwk7%`k!={!;rN4?Rt@4L(LQ{ozz06S zAcZfHkPmqlBk3bj&Le9^g~+rcS>7XA+QW!|jKusS8ouBQNFy0K<1);zH|0eqMuQQ4 zQyCUzH~}C9l+l$g>I`J*Bu?N4$UqF(vay@3XMET!aQ#TJ>~wgE(a{A|vSQrRv7$ul8rGiig6)Oc)TFk{(Ygstwmr%tE#uYb? zh1P-;QWz*U#D(I{H9p$4BRwUU0t-@7@jf!e#H8U_*2=V^L0RaeSjIsdpv7O6CALHb z4W>aioD~hs0EiK!K47^}1 z#DEKKjthb_4mIKhR)86S08de1Eml?|`t%pMKn&Kjr~XDj40>v*CZCD& zrcT1>0v1X@uLNkKAXv8mGA}?2u;6F{MG8n3qYR>Kl%Y5Yekp=DQ@2LN zN9hV%X~mde19G$sb4w_fY^*uZU~V`UUQ0!E??Z_^s5I##8XARE8jEut> zp(S+wb+53)aeU(pn&p=MBN<>NULL_>c@SfDB7=_TV>_04A!Gms*CCF8@+_hRxIhb7 z76pQUPpg0kno}dhpk_a!Ifbzpc{V!nR&Pfj{tr3e11bb*OW@{~_CA|dJaeFWIZ6wq zHV3G-^>pBBu~sHCeuPLL~xTpPxp*OUGswL`iKEq!{FNjV2hxd+TMl`}QHaH5s7Rwrb+z7p8> z@QZ=zu|;&bEBN9CLRg{RFsgKlXz3?S6l@Dh7^>dzej@Z&OIQfJKn%F;0~krGHUKb^ zbx}P9#@uRI&>%FvskSgBwg%!e>7z2FrIt$Uu|~%W6l*s&gLOxRu6RPN;0ZtWIz7l{ ztuRBGFlba@!?89yU3TNxU`w_LJIh!_RCr?=Vym2{V;rp5ip7Do*Lj?Lj5k#KvGbZ+ z^Pwtx)WTb5LIrjbe*#e%H& zOG-MzAa3sFSmYWhr1bWeVivrV$4h$RQazViQ=3|AT{$Lj0;)kZFKL;o=^=|g@TyrP ztKSd`?!uQlzz3jUzd#@g`l5b>0Kp=3kygAbVmvN5f>lkt!5{!I8e>sa>=chku4;*| zM@T>9%Ef94b%wkWQ%uE>NO8{K#mtq)Y$?j|qse6~TC6-&u$;^H>Lcyrh(5E)(KR=g z_gcDRG{j*XicBD;0k+wkJFHAJg4{C)M7Z}#8DIy>xfB`ne6Kk682o&Wse2e&E4x!* zyEFPh8bcYA{=k(I0Mg|`BG?-R5^TYspbNTSz~Wa7h25LZJGy({)KnQp)+MQ6-AnB(|U{Sxbs2Lmu{MUbf9VYt7 zse%2`*fBmi{Jww!#MO|%!0p+c{n;}x2|I1tQCKpsy#%wJKeqh@+hzPz5Y3Zm%f`Lj zab8{id;{In{Uz7E-QPXl4`kly-CmS2j}>O$`Ms0<9pLfQ(=E{8oe|-k2dKG|s2%!s-F-Qy{Q>LErg(+x(5P$UeT?iJ~RGmis0qNi!@ zBaq%iuzp5#-KZbDB*u{?-pgV#27vdV!Yh2u8gQ1&{=?B8>?%O*(-SHs<@=H(Yzta9B zDxbh%_&2(dzi5fm$yxQMZ$#t|Jldi+T7W5$%;-abMwy3l3pZ|Dwq|WI+=-&+iM@RH_Wb*ohhQFn3mYyxV+P>CJoM;c%ouQD zmM%X&{Kz3Q2Z@Dhc z30qIJ(PkTN!SUwXZ%U%zWO2nEmmDw4HCNC<&>3m()`X3WeaL zmJUUrq(42XD5OYz<<(cBf-01RYKc{0s>ocZVXJU;=@1IP%=*i4fdt|tZ^s>XYp;Rq zirgNKIo29uj^Re7u#XXTSeWpYr%^{V(&!mRhV^xkmxMy(*O1<}cI0eJ=K2tAx#lWm zy2K&noR(X1*`-br@rlxyDhYvS6?>MzrkZc^xy2S2%|L{UB?L_GN`6WUXrO~`i<6;7 zZPiqxm{uI=rk7TF>7|)!46>#`iAAbFqmDY1scE6ADut}N+A6H3(ON4nx1NjauD;$1 zEN;WZZ$X zmhUD6tGr+)j1j&liGc#1ZOe@j5c{%(g1{#Mfdv*Q*bt|lVh~Y+4T9@=l1M&85d{=Y z1iC~LlBZBLPGsx=R2rHqx{T(UFEb!Bo`2pbqZvCG700Oy*m1`nzfK@oqe@77GA-Y} z>V<8=9M`OGb;OWKIMGZzt?3r;`!L1(n(WWV?g1>YJpV!LVUw{}k)P&`AR~>OaWJsK zpmn>~)RkNPEo?;!xi#3kHOZv=Vdp&daI=d(c{&xs0TFb8SFaG3XgfZr zhT#$RTmm0^QA9=zd%y$axRRbcq+YoEW7bL(NFCVbYle)UAP;$*;?Rs3#P|s#8=1dI zO7d-2kR&Eo5(E?kp_5$rBo{(C%2J*(l^tEBM|{u(C~RSbvZQ6K&ZkRW`m&jc>g7*} zX-s4;Q;Dw|iZh?-F=-05nnVrDHP@2OZ}#pNZ}Fy5VHQpejdOa^GiM;ssZKPm#+_`0 zQ9Mzg5qfqYGxo$MO7w{We&X_<>TQ4p>|%I}b5R4A<&>dQ*wR|wvY!vRp)es5 zLz^-KhdRW9PERLPplU^91`?`mk78706xE4G%_fGPN;4}`B#Il7qHldWMJ-zOoP*Hf zI@5TfzaTAI9@!pso0ge>g|8=gQ(=(UdKlOQG_JWSC|wiEi-i)yECOj)Bkuv<`0}r> z7x?Q5ShCoa6xIfh4be&Dlvpxs0dOU-Qy01bSvw{6AvU0F6^KxT44Q<49u&e0sPMQY zP{D*NNFiwxwI38j15rE_F@K`*6V0LF3a`B_ZDmU_1-V$7EZc2aj+#5-K2>?N67C3e z{IcUFm3PWr?p2$Myyy1*B)Z&v&(f-EU6){&1KKS?bh~@L?}E25;vKJf4N6G5B2vBV z9f;ZT7hm~8lD-$YXbJdu#}M_z24k>+VGB!yD4-IsCYeDL4%`JxT3HNTu=5FS05=qL zp$HElLlq7jg^VPvBR+rv6r2Es4OHL(PLNy@DEHwUhye|xM)5L8jp|1<<(NRhiBn2T zAez1y#>^zjjH5|SwCq+@4DI!Lk*dudFEzLwV92b@f)pqo7iL=2B0AA&&SyUxjMbZ3 z!l)Z%k}wUsCg}-ip!S!&=&@>BUSB{78s@MabbjbfUYW%qj_05`&Geq{L;U*Y!?xLu zAnFTX?hJ5!UlRV{4}lvgP144Wz(gVraKOX*DKU{5#TXR-f~tSw>ZZWDK(L1K#U>V& zTPHEsXW4bCe9cg7N>SKeB(|}Cfo$8QO32J^cJZVgZD|jJ+G(^ly|A6_>rNSb*2=-R zOYrX#j2mL*_Gb>x4cEDzYu#aMH&ci4?s&WFUG%Q^n(uvqtgWx#07nU*?F(=ld`ArT zHR-|@UI7n%Sg6E2gAFyFC}wQj#hjv8tuwWEkt30)r;5-+lHD?t|Jp3UW;u_GXT@V9 zgE@#-dE<#}^UTjm=Q}sDl5;RMo6PZ@LANf$0%aqjgNDiBZu>>n%4MgoCSp0jNt0~T zKCeOPeg5fY_pa=B^)k!*Y+diVPGBN-*~dBHW_SI-1McR9z2pLdvdf3_E_l7?J@B^e zyMJO`6asNS`^v0l;mLA%ne!UuDtCO#i5Gd8Pd*!!2lj6&VgMc&}hH-m6U|xcRhP`(# z{$+$-422ZTF?aB_twAx|Tqg`4&OUD$1f z;bvhtB(y<>VOD`@h=II^P;59HZkP;k=z;VwhxDdLnK2}MaRZCiZ$!`qY{wTBLaD5qfTZm{nW zh{uVp;)(gke^eDcw=#-e;y?2QR_B35LPsrb1a4?`jfW+Ru0e~jp@z8;bzmm`W^2fc zR+5R(0B>P0!Kwt}b5jKE83d2fJ z00SbiiVPtIQji2y5RMShh_LlBju>0eKo#jIa_guv?f8!H*opE;kMd`aD~Esi*lhcF zM&%R;|422Zcx~J>kX4q7+jb-E@fxMLf+f(9;4+2~se5Tibrs2mf1n&0xshAfk@5AB zD9{llG8!YXHjx6LHk7b2RLMkR5%M}6 zw}?!MYfkx;CpU?{CY4h;E4LyYx1vb($4yr^Y{p|V`)Ee|c$ZG1BFz2*7#EQldemoY z#5Q3imXfw@FwuogmXOQWc1!movuJ_k3IxX>bNUWR$N{JEnti*q5Ocx}hfOj=g3U ziU*>}m3dSuE3^q0Dtepzmn_M`8)9TE&O;)t5hi5y05-~;lC+~QLL>HsZz`!6uoxn+ z2bbZJBsg=6QfHS;Y8*@|dB7N@;EAc^*&0{srDOV@dpI!3N(Mn-FkGMoL6BH&CkATj zCL?gIFL13N&=D|DnF@!Xd8((1wgarD3@D%st0hdV^$5%GuI5;dpb13U*QlNOsE|6T zl8OwJTB$W>bC{YuwYj368Z4l?8=@*SKU1o#ajG0({!gk3q!ZPu*z>9n5UbBPt4Y@v zw#pjqldI>lt97}HQv$5=C#+f`rN!C-Juw<3NUL{dWh}Xp19W!sxv@37s+bigRR99n z+O5}GqX3WqD3Aa$1D)ZBuIkFJE|dm2qztFCcaBI+Q#+wL*eE}Ql(_Y%w{v;^YN^RX zGpyNca_1%d7plXOwt_JvEMXWp3MXi(88Bf__JkMA`g1UXsyA|0u7O7$i&nWuSF&Lw z5lOOQv!cWC7D%y|9NCcxTBSMgvUnJ?hBdQfP_y~wKTM{x6I%j2nDE2}YWuuwDuwW#Bm!;pAQj;EEH`hHFLmpD;9g3+5%V;Dzgg(Xp(lh!nFhk6X> zaAAoP{!_6{EM=Ne9v1<#vxfp5OQimPfo>H!NbTDb@skI6AZA>Yb#aIg!AU7b;IF=>^9&Bk)AUOE&z+1Hd+`&?Kyif1wX2NE zuv4MB3(y?;gG(h&uZ)jD{Qe8Fe8mr(bQ86W45Ktv#-G_!Yyi+SHW9H6vAs5$%v|M` z#0)1{ENR($BXD-CO6Sc#qGj$YX2Bu2xKSIoabCX4on_`;a#(yi5uPoL0^m$o;#|(6 zQPiw)&gslH?A*=^^Ujtm&-7f+_l(avq0g&TcQ0JfIxNs*(SuuUP3?#b2rX3#ozOw- z&=9d*ttZhFeIw9<%%o>U8|~4lTGt(|6DBdaSTxM8$^ptbzADWc;s(^H@zRG29J@Eu zgA}s9XIDCXW^vrpIq}nYk+FB&wk5FFaKhB<{1GNGbee&*P(9D3E!Fd!)~J1o84@@-2v6zd$57^n+%Psvg1wO-YgMW zqtqxd-0{s2#GTyq-Ea-Jy$x62r5(%-uG%Lc;HUZ8!n@@9O5hdpuW#`Xx9y40HjhZI z){^Ge5T0573nNz2ff5+r&8cDL5P{lZiEl^ay*kc~W)-B){D5e+7u(Vk3=u9kLDSH@ z=ZHN&zz5m*JJ}%ka5w%f$!Lw*$c@<5L0j<7K5i2OkOV7W7eF55LyiDRFiTXx0!CiN zRs9fq(Zes42IiM40KVTej0XSQ!?;7JjL?o#J`7cU;6aS#y}jiZ-Q^ZOVPFoJ9wFu@ zLFV-lE2iNkX^sGAQCn@-FQo^PCxfY#7YWqfiFz|3q#O>E{&L;=4h=NCBlYPU9X~?iFzEe4_3h z!0viNBLNfdcCi9gQ13R807SGQuRZa@t7`^*O1xpI{z&e+V45YgbbdeTS#FH;g1Z1Iy%ZwA?}|Bk8l>?kN#$% zVpov&;7@9K?=njW5W@rxBv{bk!C}7?E@aqn;UI{E0!^ei5dZ)b88vR?h@!+tkRd;g z7}22vNs=N(q8#z@;!BJjQCyT+)8g)1(}hkN|GFuF6|lA>C>M# zYx>ktRmUEzS+#D>+M@?ouwWn9$`aHn5GY7e zg@u;JF{RFydg6q!F<>4oOP1`>m`9J&oZ;QucyDBBP^5X(d)Xr}8k_$PKK$6RGt3{M zc!cb@@nvYZqruV~*(34ZlPSv{9Qb)GXdcBshRptb`;0VxF@_Ag_V=ipFAe|N+patO z?z?WmV-Rxi!GRo-u%U<~s)!<*Xfx`lkxDuVB@S6~2`1S%%1}cTHOgtP5}CHDwL(K^)6hL5!jHsw0u^szF!M0@1IO8}$ zds7AlWxhMk7!-{8?u`(@v4m zBD>`hOi+uBkYThxWCYE%(_^$C5K~P##g9P-Av89j36piG!V51v5ycrZg47b)2hyz5Vx>fCpBq;Dr&ED|06|%1J3~vz$A_ixQ9` z#VVHAY>6r$c)(21uwX*uk!!F00Tx)u31!t(s3IdL5>xzTnPNUeneGBbVbY8oy*brJ zbtZJ@=d8w+5k~Gi&OYU@zVFogZp|-yWW+<^3;yz@MrI?fam|`nU#%ZMY_Z2a*6d{~ zv@mUF>1O*V+pJ4O)H=b4Mh6q0c#9z&;a}wb0Hku2Yh2@kN=VdIKz3!YMoKZsjp)Ur zpbW1gKFLVq9=ET4kwt~P02nd^HjZ(ug>y4BSY15l0ML<0bfe3NVo;|91t>rXu3-Tc zX7>OHIKc_7BTemGzyjOFi3wE5-4g1w8I7pmA^}JN@nCj>WTasXXh4H^#P})VJdZog za}FcMFox{)=8TMZ#PR-vy)h7od&c2j8m@4>`!Iq$k5C3O*z*WH>XA_>XqEaHfd!4A z;TY^m1NLGiMoUWa7aIMTpZ83Y;QBj*t)qCOjd({Ixi03`%3Q%SN_2lWwL6O*si!TiGd3xWXwX zCPNcvzT`50b_7u0+2iy4x={7VYI_zXY+(yqE5jz1u%3MB{bH(+nbOphc)iI^TNyyh zibQTO0cu8sDj}j8^@00JYA#4#$i=oT6L!6x+=}DT9b2R&ap@mTZqb zn`BFAQ;rZtm4TDi2(U%l-VBwfMJ;8&97n;Q;MXTJn88PKco7c*MW-bgoO;)L;J9_* zF9CL~PmpPwt2T2hwB`Qlsm2J zS?Fd&x_}jIb+zkV_1zf9veNO6)d$`MiFdr@{RKqKTT>X<#J~gY5KBaimH2{ozBIM( zzVw@eEA!XC9DoUfeKOzz59PoJE`eZ}GRy`8<-sS2u!OTh;b&TS7#P+thc)-%4P@QV}Qu$k2arGV=E^Ama z6(rcYHQ;y+YF=Z|B;FRbF|oYVd7&5C%H9LBo9S$54@25u#f!B)JiOwz*ty)6Iqe7| zaHU+}0;3UkM#Rlx2bBBVFSAWwX)JH=5`!4gMtaj_72f*UJCvH<_mTUAaW>~bfB_%4 zZLl&qg&-W73crZAUinHj1K_{@yX?F&{`OvPIoKtDaDK_92V&>ghR!so3Kuf>w z=4bzbEKC>JhW=gt;f%oLlpKk9(Ctcd$8W~wgTXlmbk1`^`<&1~7rL?YT6FbH*Xh_* zI@3o#dZ>R=>O&@P)y;c#f7gBMB$1of_W<@^h<$}*2Y}hnKDxB8Jwt8J5!~S(k_FQ} z>ptNd-a-CBo7BDU%SHj+L5R7 zJHPb%{)sJXKlej{zC_h3Jj6*szxKL*4>J1Q0|*97IDb0YnT6MbrvL95hM( zjKm8_F3zhfOT5I6$V5#{!h-0;PUJuE62*fc#RzG=Q{1;yB%oEa!dBeESER2Mx(He% z5nB|oyvoH3*hL=D3SV3=U?ejOQbS_ggSWNc_PEkUum@M|Io?&}+xS;>1t9k9cgiP&|ky z#58#&lnMilrQz(`4fTgj|z$*KO2Z;b9xF=xOG=_#y{7zyr>wetysTVPMXUS~to#q{unJi_copy)N{py!*I08$ArvDlsOaQO4u_!%)Bv#*i1^JHwMXwCZxxEG{w;*P5(iqsf^3i3OV3P zM^T#=tWdf&OfA#Ipt^$!{Axa4#EP;kK3z5)?y4<3+ zzC4(0Vv$rj0qOh+>XfZLuuc-i&h=XgdD>3yj4R3f&Zx|*j}T9xB>vBXFi$2#&+Aan zdSlOmz_<5=&(c)B0M$B(q?gu=Pj_jrkJwLQ=uhIzf&U~v0bMErZOE>;O$5y~1!cr0 z-2(@OP>YjLJETy+v(P{w3k;z$wxLT&<9xy@9j9 zn6SqcvPY#;pVDj3+?%pMNV(FQps=V41^vaU`jZ9afTk#tHH=UttvfTFutSHJeKnz)a=6KIzou`w1o+3Q=`UGDHDWRUuR*231`;R!y~ufK}(q zrCHU1T0PR&!qqL?Rb%bdG5yu73s$Z8JFu{=BJnCVO;%-vi;d7ZXf@Hk^NOm-xDaSr zmu*?wz|$N+zds$BZDmn;BGj1!PZY5Yf>>8gv{5BQtRHh%`r%PZ6~!pL)OvkY5-1y zgI(B#RI`r^8_8)TSrl;2lD&YFMcJxQSsh^6mv!0xn2pw%y@8sA&6^d}+R@qPs!WaW z*?|DsB^26%fYeSj+M`8*uz}Zj#h-bV!l%SbsNGa>t=y^gR3o)o55ZdC(prt+T6z20 zuMOL&V?Ct)7BCrjY9fB_C-V6wVCuo5j4gpmf-x8=2 zDA)obCSn)Zi4AZ96o|z1z1b*Q0xi%Tx?%w(a4w!r5%?Vl`CSnDy+`|0Gi_REY|;FRqF?H#iau!1lE-zUfd zD+qz_&0$jpUmrdJnWfqFdx0u&0$X+h4?yA!CYAppZl%mg}CNM8Dno=5TpgNWDn-&KlbMg0cc_n=z;dDf<~5u_Q=t? zR)uD0M|N0Zg6IH}=(n|K{-4m;lhbH{(sFjpl~pW|tZWOd^Pex&m?@29_EK@rYxgI;pV!1v9{?{@(8*>*|Mq z6ci`}{V9Vn5QI!MYXQDuTrJXM>qk-T=ZmlnvVhapUi^Z=k!=n+J7~V+kkaQgWMiRcQm9r+0_RGhPY*wCZ9RFU-zVRIIVI%Nt(AHAXW&$l>0xUS< z3UGlYsOg<%0Z5YVE${#j*a8$V3>3KS+-ZU%=WX9+D;8)C;zF6?HtrK31K>DsV=#v7 zFoQEPsg44J>``+7K@jDrB>Ol9Gw$FYocL^9A`7jmTz5;gpu@ zKS3b~GXQim=yUX@lt3Q_=|<;YU<5NT12$HONiPF4xB{;Z@KPTH={5sq0qX^4@W^rS z`pkg{H&V8yZ~(AyUchi0Tb>Q?T7&iQMYg+Z6+T#d91{2Is}fuk2QXgp;H_)%)MQ4Y z0$Jvqag+W;fyd@v$?owU&j=o$?3YbktfcCA=mUU*^bMRpSx++&wn+ZaBorFDQK320Bja?gs5HVd>6$>;rO#M6kq&xmZ- zcK&Yfb`<#bmPTAz#wv2(1#`avbXRwOXY!1=_jqpt7tlF-$M+ZDcP8NX#|QZ368N3X z3^Gr61vv(X9|nm3`1moYkvanekstif6){%*>t+-HPgjyBmXpVhGf?^RPJ@>Rewd&6 zoF{&D^%eTw2s9Y^ofn8fU}N(E*k2HOq7V8~-*lwkAEiHCrf=}o)vKq^1GL>bfunk2 zuzFs{`r9Q2tq*n=5B9DvwR!>jtPp#$hv8&L*|b;OwT}tn!$N=nAP@kGf+%w2*rRYE z!-fv`?ApbU7e!vbehnMOjF~ub<;u|uN$(!Xk|s}8HvN|g&1goqg;1I?N?{%_(8 zV?`#l zpsmWJf`hgWmQ+C?7eN9kD-x*8t9LKof+x6~L5A!YBf=;c4f}QG%&=ox(l}02u&^;S zU>FHDhQb&lV}g+_7Mw9MBP@_LBOblnzbJ*F7*%`_)deoFP=#0* z6qHpHTEKu63S6O}6`pN6;Xws#R^bE-4><4u3re8Cf(i&IkVF+LB=Mf4eVstY7^|gm z#xcf>Va8!&q+uKytf5g5sH=gR8K_@iM%Wma9y1ymXpDgZ8k?TV2pG<7wkl$ql3Lhq zmog%mF~^k3+F`u`mr)v*{`Tx@wi?4JcZ`6Vk*C}t*C``s9CrTEVg;Qsh<2Wy!ANz3 zj8O)w;*~LmAm!0p-g@`02j!%E$%oL2@!gl-ekb(D%YOk5=%9lNE;x+B3PVVygcs&e z;e<^Bz4;45Y(CLPMmH zNdi5RlLa~XB*#%MP^Hp0#T13pQ4A3RP$!sZ#u*Wfc@aez3IRo$QoZ1W6K`?=h1gEK z5ETbaoZZ9)9GopS3>B~tH=z$Wp@iNnFq(wlk?tFKK_iqf>#Ud|!^o_QU6h95vwEhu z;l~t&jIELxWVkWERc82PXe@R{cHf4I+^hw~R*>P8ss4U?v#&n}915YQt6J!2VDt;< zXW)L(x8U09`?%r$zStng4`Ov0;thhu^7TR=2)@&&SEJy1^&8*6ELwasF8~54;KK+u ztaU{}KAd306kQx}g&39)Ra^QBG||Tq)l4#pC@O>^_bTH@KQeOJ2n52i5>$vjHnW*h zuy($k0q7$?3mTG&Ry3mBLtigh8V57Lr7r!%L`HF7cD9DG_^ItGDqNx3S}2tjP6aJ8 zl%ZSPG8Y6`?|S>vkAot1k=Pu_H?XPPXNV{mA&zD?sEbu%vV)Okr49vA>*pd4nJiBfMaS=s}NqYWzbE{&k3>?9B&d|I3m0z=yE$eMWsv)EOT2 zXukHH06*_Lq5K>`KLFV8L-^Z~{z{gI{^j9+E)v)PXH>wLu`Gc)SYXW>xC=h=OoB(E zphzq@v?ggVX&n5ZOs4h|q0q-DBm5*UfMH8uFibSVC=(%52*bCzFe+ksAq;1TmI+Lt zhButw(cHMNATseHNj&0gfKx>v4#tX5q+%DVv&AWLlZ#yZR%!|&&Mks5olX=Zy=H~R zG_G-ae(;07bO^^dDr9@{QOHHYN1!~GuR0&&g^wDdl&pF4H|AsC9*6?J1L`L#XnDW` zn9u%UR_V|yd^Fbq)T3AOijNGrZ7>U)M6SFnaZ3CGo2|oXhv+B*+e32sz}Xm zhSP^nd>uHMbQIjBXP z*v$_q#GxmI=m;cQ0g74_J{YB?MmL&^j^^Q`4+-fBMmho+ne>t<1&T@^$x;-!^kXn3 zhD<#Il9~z)r>4{?O?ui&SDGkHN8v>;dSS~13C0=1b%q@QB;1TBWCk;kQ43+nRHj1J zm~64(4RL5!tGWk2SZ$&-yQ==pB=+X3S4=Bc&DUMop+K$b{f$c2tI)Qllbvyet9lAD z*FVft5Bk*ucHgK;5y{a)6ag+W67_%fyAb;Xl9B_AAq@>V5WW29W0vKp z$V#+860s~7J4MJw_ z!q`9pSm(AI2ch6&R~XF`eHF? zATTn}U<@HcBOAKjHLn4Lj7*)O3tiv>4Ai!Tv`wXj!)&UORfrZQY=H$bMCPHYYh5W% z`HkVV@-e(M>obi%48nRVyt^RhR+XI}SN)2!w(vU$D*@eZ8l>4*K|TMyU{oQd-a z$vP+UWBCm5J^O8EPTx6YKOre|U+7qh?%P8j(}gZV=Ft%$oU;KVu^LWKF*|jQ6*k{y4P?xE&NP%RG1EbJM#jwU zx4+Ka>x6f_;W}^W&DGxb&bNN|y)T1f7T_x$C@%*7afN%_-w4+$%BIHfBs-h~6MaC$ zJvQ-*Uv>`{SG=VECu03{{P3LLk;uag!Jfgmf+!z#K`dZ_5SD1ev&4cKe%u*kXyFld z%z3V}(Gem6ANU;!A2Mjq11yLEg-l+)FJV}fCOnzCa;YlT_p)^>-)7`oq+Hp_eNMOk z!g<<)11>Eq6|DTEL%vt+4gvLeK<0;)# zKpX)6P?TOM9^vsq$SmGwH6BoW-oT{VAdQ|wl-`)cR5IvVsM*x&k(xoc9_*2b?Bzm4 zn1M0;7;xpD9YupQ^j=3u!y|}8@QuUp1xWFk!SN*@2lxOKKtbB54HE!io^SvRL_rfE zAyh;~69A#xT*dRr&;u+%6%q=gRACh+!2nd>UK~!irGYV^-4T_FtC=1Yc~03$4jMql zFgVWXsGG9b8iZiM7@&a}uwD7-p;)C^`l(-Bu^-;u%lp9}zR4f`U5|W>-sWN4;4zc{ z@*k%8UjzamfO(#T$w&cSzyT&;UMwKtIp6~ZU<7X5h*h8@f?Oy4!At$Z26mvyg#`Wx z%9cvR#D+20Mf_Nh4VN=K!Wh6HuXV)lje|5qLk-&C4T=MRWQw~S0mcBqnJ{6~83b3r zzz3i}6@*0DHi3op1G+_hJ^o!`6tAt0_tA;upM z=$CxdKu6Yq-vv%-fs`XDgqRc_Of1AqWyFdpME;{Kp!puiZw z&j&ok(iucp6x%hfjW#x66L19-ng#UD5EGcA17M*7ECC7}z;$(D2?W7r{F-j?hG0yF zd4*kYFb4M-1{F~p;B(oQ-a;rL{P0cGMH z9O(@uixnl$9Hq%6|aZ$TF}Y_~=?N8e>)hUqKLwt}O$(D8voi00@Mo z+NkB76x-T3RTH4)3t+)|vZXl65L^;UTOdH2sK7u-K|AV&XYj^f{vrccuFn|~hdGhT zKO#m!gvxDX#AE)37T}@ysKhbq8kTASGL*>?2tgGDVH1Ai3sB>l-pMtljW=dR zpnSjuz`zTjfS`YDGwsWK4^# zWh|rxzn zumPdkKtVyEje53CRG7`#)JfQ!%?4D!2E+{uAgtc}4WM!%#G(KZlt65}Asc3s;y}hi zg_-UcPCTl{(>^T#L@fYJZL?M_Do3)+cwGDa)?6EEi(+6-Tq#wbxy-H2;(sV?lJn)MJNP*G#v9WnUl?s zRLP~)EpPQ*(*<`MpKik6AfMR*5Ah*^g6?t97Xn$;b8Fhn7ms0o+=V+GSM z{Swehiqg_5<_+AeG7`akTx#w?{V?82Wp5E1v61q{)WlLQP+Su`G5T`Y4mZ-$3WWb4 zUS55OgALYsz%RANqS{i>+qT60GD%DALI3{mw+8T#4R8V5-~roU0{_ASmp}tMFm$bu zbV;3lQZVQm1O{J|>Ru?P+R9>RQOy3r2=hV-pYU37XotSlAF}X5xbUjNunadD4X=<5 zzXuNQLDxQSiCC|UQZEn-u_+&M{wf!75(C8&Kk*YIE8|Tu6$5}3E3utrF`*e07ZcvW z_>6OcanOkINer_}CuAGR^?LEYBv zG6!%QcjuQ%_PRntf*ctLfIv;-aW+eElwtLt`t-M5a8RQ&nSoy-2f~V_sY`T=h{ zx3FjOK=v>eJtMDG8JLaQU^iYtNU1Wh8C042jt@G39oOtI%%qi}u)=Z&NgISA;}25^(F|WfQ}JZFF)jvUexLOqIg~iS!4aM0umYdE>8QuQz)G z$TZ|!8{7AN`yzLGK{VudR!YNTq-*?OR;sopTd7L{X|dT+S^e>nk*gES0q&XKv9pZPJC zxj68in=eH#&AC!>fSuzspIeuomjGGa#%L3IYCB}21BYaY)2E8CzIRunchjS*bEK1p z77s6I%EzTg^@&$Cr%Sx@VqNu`)aH`Iw+q!Z}oz(I|H$ggR!G+vWvsA4@0x>!Ly@4w8!tXS8KH+_B~uXVP`vI7X%v< z{_r%spc|t*x!+*abLR|3Hkc9#3Ya<9j{`JB1KOFvx`TiiIL*8+;S#E+(=cJO**OOg z;aZ>t1Y}_q&V}Fj@eGK;sLV>NAj{=oaAG_T*sUS%M2i*xN8w*YL6*vK5H&9tb!i(s zq`!8E#x}$Ei^H3EJ!|^Jd;TVq{CgDbLp$%q;iQctu^;z^Hn6@n=-M@0!!F+X$`2Pd zU_l*IMgFIk)VSll*Cxepz{2wT?(0eg#sl<#qX&IxIws&jO7Z+qV z^9*XK@Ns7_5@XhH{WBLtmf|-wEQ1+1&$^3&7KniuG{F{Bqf=z#*T@ML_<+Oyy*&#! zh2{Q9I@aY900aUAETpVJaS&lbg$o%joWVtlu`^nZ4LgMOTV`$9vR%98479Uiql<-hh7Fr$)vG;&CiWWk zYtWok%accs-aXyBdE>^dTb#IL$$kday65Up!@PbXLk11nxN+&y`L_Ok9d|laP{J(x0iNM+PL-e>9cQtKjD37UT|h5qeTocU}ypc4w^v0z$!j) ztBD4yXyPpn9;EBQ4JxPr0wy3>f(iu$qN0iwR!HKq5)~>z3@v_v=@*w6L1810WE=*C zF@74P3_)IG|#s;aswtFH9G1COx8 zBFn6_(poFRyv#gPu7l8|3$49O>?<(A_CRbo!m?8AxXJiJNKZH4M94JIP#ZKgZMNCQ zwnP)B&Cw9Forw7cD`qYl(`q~pxF;{JF!?yBXC8fG}oq@(UP z@35oipiXVw?z`Q>+k?FF&^wR5`=k>Gg=plf4_RT`%dfrt`rBg$GMd1GKn4+PLO~8* zK*2!>-#a34woA>8FKBa5cN2<}u{m?8Qpr)u~(uELs_;)*R!%Po(MKYq>47s?7SJog}MIm8ru zxgkGs!KIg87Lxgy?wiT{qpx;fH}><%=h0EA9%p`i^qGHt z_ItZ7X`mXGIG|H1CI#YYQFG3Cf&;5rSx0N!vCh`GMk^GEhdg03&w9v~hBQQD3}*{Y z+uQ~XX+#4$a6^Hz#u1Gbwr3jAz=B4uLIyAX2tf!<&_aP;fQ5u`00mfh!M32VAQ-%$ z3Ql+dT(sqcDzLx>71)3iS>Qy0Ea4y`Qr>00fDtS(!X?HSLmIvyI*;^g452f_7z8nh zF|6c8X!r?Az6iz_!7dF$vWe=ZM7vcX>~>I*item}mE$<Pa)j%9{8RiK0|GzeCJEw`r2o!Si$ce@}pll>?fW4?T>%{ z^ArFBsI=e|uxSTOpkbPW3#4*FxFDbQOqUYa zMWRXiMGR3O9U5eU5{4e^7$qSckA7hW(xKoCMIqfp=eSWh4nv|DQP@<1VlbqPRCk9& zq?b-`f<-d2ksRni2O{K13}7IV8mlQ>H1+_WKHx$JJxC>wqsf=~$uHfLnJ7`S8f}yh zs^&9VEZJ98t3Gp=%G4@7q;sBEb_Z#_RN8%lGalyzWhhrkP9PNcoaju)Y7cZ@tRnbK z2qHw9zS5vI=fh2ILI<4o5vQ`47L>1)Wv4&fX-)4ku5mfQ0qH`30Stgtp)Le12h;3H z18LHvbe1Y5t=*EILP!K2(*AcWb!nJjN<5j;l(84MX-?O)(~bQUs1>*@QMF>!qgqC( zOEpdS3Zy49_A)jVI7pl`%V9c7i38D|wrA=lbg=u}OsbG=$!DR|d| zV33;W;p;U^cpef4Yq0SJ=2Z?`g2mo9wsmprg&+%A$qK}>mpw>kH(OwrboP$}3#65( zgw}=eZlz%fp72^byqVgTwriT{T5gM55BoHz0#=M-0Mk-VCS)`Vp&2&3S4x^0SE{x_ zU;L_y)#*A{t707>bX)~j>{NHGEDR23hU1c;sPzw_HH=G~)8k~$>c+m|%|Yafwd*X8 zS9%TGdfCgiU%hue{_&MBG@L`<93U3IX>RO(`y1K+23WuZHt=Qu67{;oku`X?#RUAK1$H(IF z{ho{)Ajfye*(mZbj;vNC2ZhPVaB^IsjH~NR83k2-AePe$Sik-?Y=I4@n28PDpYVVO zXioEe*X-B{Ou)bCqAZ*Rj1bSxnX`31aGejhR?|W_OI`s>OMw^YK+hE2u*GnO%k)Uc z;uf+#Z8M0+Rqd~|G}4qo0b!b|jTQfUP??FUDiy^YPTTs^VFmKSL$zaQaHfF_Pa3KT zNakQV*xMxj<;81;6Y)~xc)CPj5$4u?20;V!_z{?g*6GP;$5!trEyoYtQXd9Fu( z4_=?#y=XuodOYasxkY1aE`P*9JowFJ#RodC$x2zIPIC@KVGB!~%L|er-J3S_xbO@dFKr^P*xn-z-s6SFX&S~M^N3;dN`Uy5%?G%Jr{dy>l&=D! zZRb>v^%lbQPy&o#FZN`wDHs6@%E0!90{0B*ICgKf%EI@25BP*{1R`)_j*pR&4+ATJ z`Iyi79sv3_NBVMr`mhiCU~J$LrTe^(?ZE2oa;*HK@ch&({pxQ0uB-i!!S;9o{xnYh z-YQhwPP+2%);vxB@G8ru2^!Q;gZ%G2ChrWkX#idBKD@wK?2v^DYn@~+0`V(xivCY7 zZm!KFOW!&W1@>YD28W`6j?S3ECjx2DhT;UPBHSV-EO?K#Vo(!numghcAc8OWBBWz( zD&5=y>N>!9Ft7(#u?G(#2t_8}BI7l%F9~I=9+;3fnou{KD++s2;v8<&?js7t3AXe#LCg0|Dc(ZOZ0s%;^z`4G-~f9Hik9 z9w9zR1)b1<433}#Y#<7v00yGKTYv}!?6Ic)kU^k;2{zyYD!>EmX$cBa>kyzI3o->B z!w?T*005u_q5z|C0_e;jom8TsE>eyvif%H3M+QM72cak~vJ9$X5~rdJ{>VTjkH8Yg z?FA`p6MwH0HQ*CLQ4~=iE=UpGOtH0QDixKF6@${lTygcbC>9}O7K`ht&`t?&(fe|d zxe!j7e32@v3m6~neyWE2h*2EI!x#+%$&wLjmeH-iYpXi7DCN!m0fJIAO{ArWvSeh# z88X8b6@>|P(G2OKD#x?@uCm7-Mg3@rY{Y@clEKKf3(2nHAYg46nvB%M&;AS#8l}uu zw8P4<>@DL`E};RP#^4OW$PE6V3~V3=#6Ur?WkG=am#3jZcNO&QRaAXj8p$rfL z3yuyq%is!1QY(CuD}YlaZGa4l6FH+aEtIphm@@{Q^ErPoI;E33ixL)306TRcE3}h4 zxvw6)^E<^W{K%6{7tTEI2R*G&J;{naRn0wF4L;*@K6(Bj)@Dr%$7?^w5ZAQEywFfU z2Xq>|01bR3J`z-%7BnM-C2qRv5z;^;7~w0#;0iv#LKmcmHZ(H%kwL1U0xQ5=q6kH+ zAR(6^G`;koR-g(%U<6*2kD5YCumC5p;6`D@baWIbUPKV6B1juk5B7jb$)F0zpi902 z3&`LECWZ`BL_p922c^_nH?i~L0uXgj6(8UrqBHBHGhBbFMJof}P9Q9@A}Bz^HuQ&o z@&P<|aVp!i7ZYL_mnIv|<2=g&?sf(Xfyq?j^AGm4n2sq7K~7fGveVkmf~=7Z5w%jm z01O({QRRkij0HauP#UBG86JUjc%VYB00s_oLH@Sja5NM$YYJN`&;_W)1y}$@F9!h> zfCXCB5R)KQXLU!+U=c^_7jX4wcNL6&!B=?{1%eeNg|t|^pbNO7S(h~jn)O*tfCz|S z1QLo1&Z1hcm21r{TQ6W+-E9Yb>RW|!T(=Il%GEEDs@^9yKJ-w0`FwWK3ikN>0$3eF-T zZx{-OcYSfHeckss;n%{@ZGQ9qqJD7;f2Xqt_m_`9?6SfFfO!El1Q=eU64Vm7mk?Ny zt!shv)jVdcUm=)IC76P{>w+^l;_~xJEAFIFq3v*m`lF*{FmV;qfFv6G)-^$H>Z)$7h7%j>I6I;sn!uF2oqJDp{ zY?;rGr+Fv^>?@ArCx$~h61kCm@uu`w9w?}7gn8ivDZkYg;jFxHw8Kg;m0 z9JiUC@w`YFJxKW*!)#d+@K{tiL0Q?Ac>$JX+4C|6FC1$S-%OXch?gPJFn+mr#O>>v zj*hw3m@xpEEk>DFi<$nP&Y7P%5TluFQD7CT8Ko7?-f}>je}S9F!JEH13dPx`0f3w# zSq&vQodb8BiDPiZatrA*gUvF${*#&Pxo-DwpHq&@4uZ=@sGkQKf*UX^TB;A1t=Vv{ zp#kincX3}Dr<#@nGU@mSdt&x*r&K0il?X1&c&`4Trp))AamZb$uEL|d| zX&T5NgE|B|9S&l!ZyK>BV>p~+IOI803_EF9nN9__VTO9iSS1-a<6u7xl=1JL3zeze z%c<83s-qgrs9HauLG$(it7kc(xBA(-I+q&~1<*pQ8)oUsT9J&iYtwqIF`%vI*ev2Y zuIGCAV9TztbpBknRO|X{6|1eUG24LwJ81};upv9Kv->d?8yOlK43h@3Lq)RN1Mdu| zvMrlWFUHpZU4v;%jHtFEg~Oz7o3Xp!xJPF!j{-PvSyL zw4^18`C4a6O6MZ@h9|hug19T(!ZW%QEAWmx<|px*xjpO$4csrXVko{)I^vW%_S

&9QBx(^$yZV=E}!L8f-M#VfY-)LB-Y6s`mh)7i$6|^K~Cn zz!`dfH&Dby1~T6I1Yjy6s~`qJAPTCW1BPd#N5I_Cz0cW%kv^Kx=Y6$eD!`LlV=g2v zo|E1@d=)RG+Z#e%dBHxb=Gn_((-YfeV21i=n<#BM#VMJ*)nh!~vkSMdnB=*=36IwP z{}fPl!?H}SsdpWmdfm(R;}JyLDr5yrYJ7uSC-`PCc+`J*b zeYnFNrYuwwEi~ONX5FvW-Oa5o#JvRQo!&EA=kXm)^nJ~{mC?5p;354o2EO3o>fjR| zu@`>f3(?^bJL0(#yDYwfF&=}<(#H}`qZ~079Up-jAf<)UQ604bo6p>+!u$C6lH zylAoo#t1Pev~Y~b!(GOdiSjF13tl6_8d|t?kwrPnH zC*sPTJGbrGtQYfgRLi%o-@kwZ|EvIUFv-J+6DxkexUplzHzP~tN&dOA<;$2aOWw@6 zv*($aFOM5NPMqn}rlCPYhV0ibUcCOuo(;P;uVKTICCip=bh>o(f(su$9Aa@4#FGn` zIsBgU=g?*D*`vC;_3PMGGh_Cs`xt4^1d1Oo9<^!Gq^UtfGrC;4abBX8gD4F}v}og^ zO&j;f%P%un@bFecO;l0QMHJ~(;9edy0Rt3UctDaCSTMna6DX+QfCDWVU;s>?eb$nJ z8$txrh5)Q^1q)4hAjStrp}-IdB{U_*jVOpA6$(a)fz<_DU~yv1CINed*I;jy0xOh@ORJ{uxamM${&naKcu1Bk>{y- z;-EL0dML0rj(hOQ2T^_yMMKSK{rwkU2}EGgM1cotnX5$$s`WxphiP#I6H64Uz=j=u z7}K0Ljo3tqD4gg300R_z(vdO7SfdbH;HaaKNBtP&jYz>@B$8My`Q%wnG8tu!Oj6mw zmGn*|k-d3|sqemF>Pu#s51h%YO=?!g=CURtJn+H{Z&v4>ctWEmpRvsb=pTaKHcX-7 z912{b%gw}SM8Q2O>B-Jfx<{rgx6HDo(SWyUrvjn=R`Y41iYg8oSl~xmtE5RIO*zr5 znx7ZO@cc&(Tx`+72L|R9wM8BE+7S%4!ob3WRFDJ#3lJdd(whq-V1P_jtUxwTDWm`Z z3raZQ0S8ERfK*dkY|&H|D2xD6k0^8iaIINR%)^3_~TSssaCxR zqRo)1evTnMu=2{?uOsD%Ef!5~Qo*W|z z^6(><91+UMPm02HE;pa4rD&uP4H(hTJdMrMNE6L@IinYi7wAm`Q5w>W7R?z#Llmks zW2Aus7G~r?h89A+Pz4kpZ~(&#C_wSTMKAtvLKR*BgA05BLjkP91}eY=Dxjo+VdK!) z6gDswoDC;xQy5QHAcYm6L<=7H02ELlgb_vsDMS!L|4J|wF{ls)K)8SyxZ(q^m}?6V z8KDmtH#y2ht^+-km*sqdIW1}K0-W=b=Z+Yd&{be`Oe~%0PM5mV!S0G!%wn8mmnqsM z!*;*G-R>@Co8J*5cpoF48bfA0h$Jt0Ds!ImutT3Tq~Q_c0hK_ak%mxp4?WUI10d~a zN74`y1?7Vk8qjctGUR{SzSD{QjHYY6%4~h=2pU^udyRkV7amfiIFvro04)%*yS> zBFl7UzNC0Ly{LtB)Vu&mWRgw6Af}3t(V{rVNzR$@t_Djs56`an;hieEmgu?U{rTXRKA3Q%<|B| zHshhqaiE805rGKQf&q0wq@;aOW>cb>QfGQJni1tvH<4&fpJ0=k+l$4g$DWOlO^^XzAr3Qy7ck+j4!t)f&*U-<^7wZeI=KV!R$ zWo*Y%w#Ds1xhG)s=%%3$Edg-xwHLM~W&#taXtG{8FtQ~#xiZ;MyUaqD6HIBD)!i4> zq)4wVjhMUo3NDKN_k}v2KC!#yjqy$1A`=>mb2<*qaSqhG2iUmAsiyf2e2+s_sgg{e zkaFWaq_f|w_V>Tp32=dPM&K!rlQi~t+VkpY^&oi+xLhHJ$Fy*3W=~Y>2}?U-#K)w4n{& zVxbIYjj37}w3lF86aXa8A_AyD1(YAVO)h`=N~t7so*#C>H}}#sfu84yiu>D<4Yyh( z`~Co;3zg964tBY$U^QoizkAv)icd5j@|9l?2?7gV4p zdZ9;pIc9pN$8@@*dbzP1y%BYf_Ijm-TE@dq$DuOT0TH!V9lT*0UVsLVU>^s?8`@KQ z#7Ba{mx2)y4Q}Uk@j-WUS9j2`Cl4`0Krk-=c|eB0TEhY|!9PP%6dlk6@3RG(WEh75 z0sd651SoM5EwKbxbSx@x1uJqaEs<LmB+E#PWB!5Dr z7j$Ms*Og5^hh2*$fKG%M0eCut!FdP>Xib48ucU4@!GMN1dNa{s5U7YJpmeFn3ueSI z9y2_XR%Df!Ph?Xm)ggi-xOHy#bttHUe{?4qc&FqNOVEXFq9GR` z6k3rZzxa!17;|E>SV{C!ZYWKeV^$)hEfhv2Wj+niT0FUQUg$&}VK-tRBt{W0Fg0TT*F?NlXKOKzRdSB|M{R4UjsWNvPdP=Z18$sG zQImxNW9g2L0TDt8EuLp%3%HMl$cS)B7fPoCI<6ho3GiHkup-Qe0x94+Nst5(@Blzb19hG~dr%2bt6 zd6npBbB?!_j76N7_mveek7?-uV_B9c0A8I(mbR&uM8}r-IB0J9mT_60b6J<}v{XNa z45|@iLZ+7-7+>)@GJcs_Ab2SdQ<44#aM1v8wYLnN)_UDzN7{1+%z$b=b9U8XN6|0_ zod!lYb_7*0210N@iK7K#fk2u`KSE$bA|xYFFhES`HBX2VPiQs@&_PwunynL?4xke3 z*BEe91uT#NfLB*6Kn2It1RQEZWg$6>7fldRCETTzLYkZ$pm+Yt`Aqe)UCudx21uIW zRDjbdS!hX}SV~-C!#cz!hyc)*b9NBy=Mt?>&uMh0CVNt9$s0R&11!b?KX0T04S zPH;?8dKeDC0+OA0w^yKVXH9pu)Eq_dUknSxpPT+t3OJPZTN;uN~{t~Q^uNI zIYlPO%B%<57}1)tDm$>A*CuW9F5-EJ+6tH4I!3*-dKO4eYwD)O^Lnypb#qFm?dq<5 zx`OPg8uMBm_4-BkN(}kBuNntj{~BBY8({;RO2*YXCkrrQ^GXX#B@LUg5Zjb-_J2|8 zq-`iz8hf!E+p+ogoE{aj6+5ztL8Ss{vet>RE4#PE)e4-MFR5&Z3 zdC8{b3a36>U;Ts~>l&{^E122vilcb6h{_tQ{;?Q!AArceNK)uxR2T zJ=J1ei%}3Jj`D)5KpLFWB_=R&wvX3Rb}_bNYb8o*m2rlZN(7xc2PWQ?Q&$=$S<1K0 z8?AmjUf^kCWP`16p@=biy>k(P5=ch8z#5WhkmH(9Z8~4%dY|e#xs{u~yn(sh6R(`h zxt{wPpt}d6yS8dox?U!es7o2F!@8O0x(PcIu}f3YM7tQflSiRWFh}qj=+}o|N0loy;G2%OQ<%^Ky z8xgsX3+$`D>pQuZOLsbmw9e4E#PGTP`D$nmbyi#Ewi`>1`&+eQGhx&kCmsS$74W(? z@wH?7S8rHN&FL2u%%ru8z!EIM)>gdK^nXC7ozLor6$KH|3dbu;UV%s>h$x=f8>WmH zdfOX;0{N}&*=X;{myfG~GLgeOysoOjX$#6~XrQ15S3N!q#6kRNjC2N!P{j0m#CzaS zMKA_RtYA!>q*1U1m8xr|`(Rd!Y)LQxQw%3n>|!L*sY+0kGeHso#I_I1#V$oe9vc{8 zERJeh#>9-uh_%6`qsGR|gl*is&=SXbHOJ#s$1ocaCalMb$j5Tg!eexo;Od@hTEp^b z$T+OS56Qz?2MxsMJ~IIgglYb{lq;`8e6PlU1!rIeX7B|_P71}0xL&sB=OJ0{A@&Oz{><@9i6sq@vlcp%)2(6 zUfip28?wyW%zC@E-6_IvTwc_hwRt?Adz@~4T(i3qZ{Vu4N*^hw**shb-Xd%KvKs8^Quu z=majXI^g#JEs+4^cgswm+ZS8gwhaSRlH21w0zfb%VgN7F)zQA%#bPo|O#t)N zIQZ+fayzkyt=M_%(u>Wq(tE;LYrT@)VcNWijTn%X4a1`~$mgno67Jc%0NPS*DW+X} z%J2xRO~jlv9azu>WFQ7yU@l3C0zvXW7@-jt;Q=^=1xhHZNXP^#PA@_T5m7T0O%R1F zfJ8ICH6-Bz{vYH7vWWm(2;B|iAseCsSa1>$usSTD1y!Kk2yg)1EfXcd;#u(lT<|_i zkri8kBPHHKBi=0|-OKNd=8`8<^Nq3f4ZQdL=K8(g(Mi#6{NK$S;9EN22@|*muDx`T z;0q3c?DmKb{$3Dnz7kH(5b@dTdmR}r#8ln1wjmpa79}%K1zd0=0L=kG;sQc}+bhW{ zG>U|Kk(nEJFIn;t#^ex$;}JX}r7mD0QeNZ;FpaLPx}ITd2+-D4Fwv;P1XG?$D?k$v zRv;iiB|b7E$(}a~Q3c;w#JMH2D_x|U-xWN{ziemH+27lF zmfVT{u+{0jB>Z_%;=k6MkAn-B49L9>)pUV?rqEE3i%Y{Iv*`2X=#Orvj;XW@HP5d7 z;hmgdC6MW2U?q8DC45Kfnkf-i!z042>Jq`~x3c3I-+dL};>bt^Q!YWcZqpfM04?F` zz&@SAPUR_L>=S_O%3cK^fE3N{G#~)&O_APFzy(6U-e!UA-lgpeT(Q~J#A+Mv{W|XC z{JF`WE7R|;fbp*K*DQK*dGGkH@BHrXiJp)FFYqCQ)Rmj?3)LUAL&UC) z#5oWbxrP@|L)KcL1r)!MRRfb459^>_eOI#gy3%U{Efg6q{@IEz8@j+ofC~%=-@hh4N z0~mS|08zmM6(%g4RAJ!&0ShGvRR92hLgGY<6)j#gVBota@hJ+>{zm8&3aurwdz{7ZJAbpTY+ud3J>hw#hX{}UcL_e{soKx0mO@i z4Ie&SLU9Sg6%|8V99i-S%9SZczFdNG4$e6?cjmlD^yol=h7Ci83>q|X;?li_O;7f0 z+O_FPw4Gb`Zr-vfie4RDcyMRMji*jcjF>SrXVUP3&g;(~(VP{>{BX936DLr-!r;yw zhS%^;UR(fQz6sM8D4IZJ3ZDZC?h?np2=AS}lO}NuhF?MMEmF zBr2@=Ci+UEr_KU0NE+R0OD(pHBr+;y5(Jb^RIKnra&(V#mmnPjrbW}IG zeu+*x>h`d%gdc^ZRH-B{_$sO)mm15hD616g%80Z?a6ts{N(wK*u%u|Ins7V{1|WPu zL5L1;#E~Lcje;@8nr5`LMzC(gRY!_?L}AiOm)-QzsF17*+Dn&Y5=tknrB*L0{|eOr zR!IfdA~3xiRU$CQoUF_<%T%*6Hgj7`KaxMOUuy-OmzK(*3a zFGuG3B8Y;bXk0JXMH4f2J6n^@c=v!#xz$>;6Hh?86{lIB82c?pWoJS?*dv0|YY}WtG2mnOLG@yt#CkZQL2>U#0pP z)1Xm^YUmteG@4hWQCN0qr*}^h>ZqxX8ZWEw!dm`RkuwMPYZlEdq06z;EqgIEK}#F7 zwc94?W$+J9l66@o+ zHWgjIVwcZh4h0jKfU9n0ItDh7XR>=>&MJ1aw7@PtI`b9nFj%zPIWB)6WS!H3SFMz7 zOCeeNAM!}mn8r}XdCW6g^b~itc74WrqnXa4Qlq_cltXU$>XY8~L=oHI$%yIr%^uX3 zsKQ0ZeS3hP{ODH#``yoCAiS7a_(vE288CAJjLQH^xGDo8P=O9aW9hcCs~=6!b`^AE z1~n+hhzUt@`@SYm;KEPGOx zrR36{O8~m`5T7lYb=4%OA-|vWys@nFxB!)=*%`7fvLGikzVh*(A_5iKaC4 zT8*77X+(d$W|Q>zWJDzz${dXHQKjU}DQA!qRsx|4@2LV5vXhjL5{WGBkqHWhDVC+Y zprp=n=LOpH9%8a(0|!B71&U|S{(FKkn$!H2HB+ZeqN>g*qw{7QI}pyH8kL-7xg$ES zNR^nf6OK(o89WJS!g*?rnfFW#WAw?-L$d6jmigzq+Vw6s9dsCSO6WKiddWRGbdwUr zs}XfIf_Fs*1Rzk>N54`9EgWP$oO)>%%OY45Xn~fQ!jyZg%A=?fsR<~^X)-~UHLyyA za}S8p)f^Di1YWbKr=6XT=;#&-W^s+(Bq!ro>bhe|wPHi6YSYw`+uu>mF2fUTl^`M* zdUn<@k!j%xC_*k6k|}!AQ)_hH1gE#wi+e}hTVAmXQHIV&yWdSmV}jDx#r#!SEO5bK zCvsR!p_eKzV1iQ4B3Kyypx{0pif?4K(4q6dKqmgpF9(?5pO($KL zvVkhBmq;#PL6GQcU!D|%1y~64e73*>CTzh29_R^As-P4WpnwIJbu-W^I1wmd!Im&! z0Sk6{finlX336 zVvx&UtJb2H8TbBC(l|zdMT87iFfCV~`D9*m(Ucj9RPV@0-h(8W!3?m`^{)#W>|dm2*u_qE%w--?iU?*%QELmAwXkm{ z#Dy)CvNpE0-2@g~fXm+wceyv9^mC_sM?5;Ud*<_=4{RaZgC_T7o3P+~Z(!g3R_5iJ znGvl%p#H0>?r_0B%#}`SI;j^-yRsOr!E~BhVi?DwMBuVTxm=*PN|Mrz{jycR*gAz= ztM!l}BN;?OZ`Y3}XbvR8);;8~<&%W@%r(Dx&m!RF9n1Mgx!m);E4JG2X@XwW z=jayz_kzm}9)61(&2_G=rlcPak(S>f zC7HZ={vW&Z8t*&6s{ogB0v4zOC-8vqqY7}Fs;D5qdFwANXoA+GH<>!XJEH;^7(jYM z{(&ku4-W7U!7`_>XbDKA@<{%!Sf>xvxqZ# zzDsL3P@}$uv$O~jmV*<*Q45lcnYa{l9aKw_+`1}hDKPNs7~m?q65_GrT8zfCHItja z`TMoDGL7ouAs_0$Gz71jLjVA*inw5c@^AtdP(TNCf(B%YIOGoY!jJIS0C6ji7udVY zq7Np}J(}8)uh@?AxR3HUCnyMy{*uF<+o{6?7ae@HZ}Gt&G&mERzSSYZaXLb7O2UXE zwGo_{C&a@j^gg%XG`w3iD~u8>EW5(n!i(^+Tnn;Mk-soBvPUwgGK4EinkzN_G)9`6 zh-U)8WrVgD6TkqBMHg^^_E@PPiJWs1KQ4kb=2IbnJ3lNTxT0buPGlfC`ih1F#S20m zOG_ONTEcT`!kVHODb%f2d<$2*i>xA{rP!)lbPUED6>@33&+x^^8^h6n4wqwwC9@M_ zJI04RhjTEW|6|6AbVjOZ##r0}EjSVGQ!#8@i%;3cM{6c;oDv=!I1VeqG#W>8RHF`8lk8ho^tvg1cB^hbXJNaq;0MxrH%s3~x$Y;bjBzebZy2fmb3x9*OQz4;Qv%>yO)TYSDilK1H zZOT3js+rXZu?)Hy6ho)V3QG~1u_h79yoic^yr**sIdu6#q$J47=(R9ZIe4kONcx3g zEVin&%FV+{z0%4yT*j`P#jniBi!4nTBTFF37(Kh7U=m43vqVxcNxg8((sMorl1rkX z%esV_yM&evO)U{f0Kkj-T(%0h%?8R%ut5PF z5t9a@h}-lu096r(D^RkL6T0SeEz@1=qKi(9;bAqgQPAw zp_9yXNbfvG-w;n`+yK$!Gg;EWkSIW~JkP4QDP8&{XGzZsiV9;&MX_+D8-2z`vq85U zB!Rq7fy~eS#LdN+%l}-F0A-*7UCEma!Vwrp>=T{dTu=r*PK6^9u9QUywK1)-MHRZx z=2|?l37Zn=P!CNLl}obf8d2`lOcU)t6umG2Tv0xh2m-`6qbn(BixR3}0xD=d7RW#x z)tGcziWuCX648uxvxkl**VcgV~UT z3n!qDgzyU$Sc0BSf&l<4bMm+q!^JXnnjittyJc}}rv*Py@>f^EwFUOmXtkRF;IhKh@C6!mnU{}}0m87+qs&&_^ZQ7`{+IL+M+9g$|z*@1; z+6Gn6u2sO&8_fxQH65$fG=*KXWf`??Br$~3J#gF0gWK+$TkxveyS3ZA%}0w|Q53*} zciY@nTRLsaC46%MZQBBKn>r3CDR9d+LX6xlK);NBp{+hk-*Wz{&Na}SRE z-}iLGr3hd+OWF37uUy);^8hy|Al!n8T-@Q-d252sJ*-Gg8maSJj11rbF5m-BU_n~o z2BtS{V}kmkV4SgF47TIeJ=@*A-P7`54wfAxw3!hGu}%wK)s$3|nyn)N%6)BNx_Dv1 zL&+j-R~vrQHkHij4bfz{ULTgI?G<9~r6;`@O`O})a$Dj_ow3%VR0$5?eESXqb7Bc@ zsT-w{apP8Mow^J7fEPf)KK?roiFgn41z-tAF9#rC14aM@R^T)%0WR1A#gKs)kOA4v zCOc-*C$;7a=1omAPyuz)QPooELpYCA$5Ydy5UNL3jL_xe3yILdGDRL5zUKOzAxoCt z9LAnuqsksuwuzWBPyXb9?q1CiWhYr@pNrJ}J>>;_fxvZ=LNzqilR*4Xsic4bC0>e) zo=&3U~Ux&&uU6K5eLXP_ApJi4l%ROc{d=e=-e2l&@`27pNx$a+Sb zf}G4Y$!B4W+nJ+?{(s&LfmZ8#2<5zJ;*AjxD5%ES!Vib0i<^o>xah+@^a}h47K*q- zwn&fgpeaZUkCUa3?of)vK5X$b2ugGShG-Bah_!oSvY>IeVqZT7Hx1x#dN(5+qJJQ__%28<&GIdi4XFyz%ro?f@w&N|gDiHN!U zwp)MU@8cfSat3hnV@97L@D#3;4?^%0l3~PHaML132QM86H|?8QS_WOMO*fN_FmlD#GG@mBLad(e@m4BPbXYBur-4{F97G9yRw=2dbL=B9gva&w;Zuw=&ILccMp>}E38_;apH z_VTDy4t-`=PR1nNz$=MRKE6=%yNhj{V;$q%@c*_Hd8G4Zv2&2Y^NY~)g6nfX$7T%H z?j!z>T|zJP@HR0-hjLXHUJhSIM}OxNVs8--^h&?yu$GrhCu{7@-cHYrPe*}J@9)u! zQMvFXSDK}y@aVaAb-KtUS%LxuR0~v-<3;9)-}|PT@})(G3qd2j8oYBH)Do_13L)SE zsTG6HcA#1p_<;}Y(qSHNrtq!UOHE63-qBY@j+%ppC%}kxd=jfQ-SW(M${Y?>hP-dH zMuG6uE8v6B8 z218+`Y4X4ye4>ZVvDXp?x6&&h15kzf%g21FeO>=Vcn9KO5LVC#qBz$vZ@w$u-#Ndm z&KyE=zq6mA$W(jEtZyE6d$^ydkoQbZj&YQyi@bkJX@dd4e}TtJ3ixV3x@dg4NU#pc zFR$wmKI{;Vj4|)?y_V&a6Unx|#xMD5tnAnDo61?ZfPkJQe~=-NX2O&vhypQ?+7h6A zq!oks7Xu*3{Q4(&3FmyON2AXV{r)fHDguZL0tXT-Xz(Dygaa!uY)G&n{=|k4CQ_W} zz=1^vC^mBJ=<%aR001_MEK#DP$rCD9raZAxWsaCKXVT2EXV0HMzkVS@1`V1xapT67 zE0^vl(xV%bGDW(S>C>iCr&6uj5dngVS}8`1cws{o6i`q!;b8VGS`IE)n0*-01qv4p zJ#1mZf&~^9U+*@-^5OzryIW9jK*$k`*uot6`sDxvg@BEm+tg#Z;)AOJuD_Ib&XKplt?TXVMIHXDe%iLvBzZMyj;oW@y~pLW!3=Nxu- z>UpPk-;IbFVc~J4ofCUpw$Vg*cHddkQ z1?1g`!m=C;%b9r6HUY(8XOTsjh|CW3*kdR(lx3t?YRToKUWO^g6|&K0CT$>!F|QcF z#d+_&|KTf~baGCY+?*(s8C;#i-MLYpeWF!ut_^$JBZ-MhJn;oxz4`#A>5>G1r5p1n z5&)aF1d~i8cWTofyzny2FrorQ>VvFWm8#4Wo^vzKH#g<##SbtfYeTf!N*2V3I{H>z zpn33Xu)%VRtP9FA>nvf=n$;p^VF~%d2QWa<7-nS!Y3K#uZZs|x~k2I`RoKncV43DzofzgQeC?m4vG|m2=KJbA(mTTyai&Z69-u{#k7WH-0ccp{ z1;Is2P=VSCZohqj4^UJ=1Pry=KtvUyKm?PB!3#tn0vWbogW&{dZ^6lraW*Bv6THbf z4m@1J3MV)`32X$4`=Fm3C&KhBN@69P9DBsYp@}dgBlbf<<~9~X7;>xx4b;!*Mn|BV z?4&2mU`95wF_fXWj#Wh&qUxA}M4hDr{&we}&_-xiJD=T-2~Kc=3#jM2giOy{5wYSG zuehS=g;6nK6r-@t$OOoROLx>W%UIk918Id33WWh<80UBvf@~m+Ypeha&ZvNkAV3L9 zNP=o!=#d^p0SZwNU~P!-$VUcek^&^o4IK!<;!IFvZnEG7`L!KU&Srzx=^zL}IKov5 zYH}w;VY5_NxfVV^Qf`}J=PZ@E8~R6dp*tDMdWei41`&xxT-6bW7_+1-@rg}@9TZU@ z#VOkEcGlctd>jJHiH!#Z2mue|%)+pTy{93OD%X}qqR5VfsRM*_Qzs=D$_Y9!gP|nY zD37zJK3PX`tYqaj1A4T|RpcW6mrIu})tOMx3FkjE*~rO0#j>7^%0Z@*Sx1s0AtZ8i zh{t3KJ?OzRYO?T})>KG`1nQn{elsoM1l0KkT7h#CGM(#W=LNd+&Njuv8N9kxs zKbn+~j+CUZGAUfWBG8z=l&;satD+kBu=aH2oLD)iBHLL?IQ6u!EZJ8k_hr=%2JW8P zq0^osn>d9nHCNR#$SV)EN2dxeA{x3W4L_2(mNb-8I`mY^R@Slwg>@WiwHfS&!bF*c zw6?aT$31d;k0@ryt#AH~D{xhcSIvU+AjQS3UXfc)i1^i}p!H@>-B}yL8n&={ODw(? z3(BEB76pZiEaFh$&&vMkvIWU(p*G9eg?M&8patw`ZAii3I5Y>Rtx4%ri#k%hwkl4P ztutwRTifb(x6QK2W)a9TA zVDG{wc)_d6v{073E;VlC5=A!3L6trlQ6zj7D&Nx9VOMBSFjuAWQXPZ;ZBA)#P&o^iB0+C6sLH_Xlb#F z)qB?$OKis3B>reEBel*P=SL+xriqVZ!b6@66Np15Vv+lM{xpF2Hs7C)n!bniGf@Xy<_d;aI(ceNDq|f&66&?Gb*6Gc&Q@cJ zY??Kl6RnO>U0+`kNDq3*i7&w<5Yin)yp{;V`=kh+Q?egmaX+tZ~eGj%d)){>Gf)U9g<+rci1KS zWlfBYY(gvh(5`K^vnvE`MoT-%)GjDZ-FofdZqwEYu``XCi%x(~s?+2yH_GR`Nl&Mn zx|k%h{+Zi-FE-C+-m}rLbll8J@-)o6EiKQ!mCJ2i(^9H0>=>myjBsEIx~qZsYDJZK zQKl57>Qy)L#3^3!Bx7otkjgkoHy+n)|5G6#zq2_<4(=D4Jmqdzxp%>gYJAPz)F5`O z%;QA!=fwNw(#`n?E6ekHgFL1|KQDA=)$fdud^Jc<^U0UabcqgwqOBFHRIF}wtY^Kp zTURos3}65aX<5tEydBZCSt7Z@(&J_)X9`!JWeYoZofyEtxZj>~fhl7&`k-MwV`k5$%_{UUMmRM-46k>Y&{b$-#GH!xfN zIU;(}m;Rim=TPb!C41GQ(DfgOy+9V#SK3S8KDW=k?wQ+h0H0!I%IDmZ@cql16km4O zTx201zA4{k9Ul6`nZ!U}1x!T$QOf4@8QcXLYH1%baG%tL-%)^{38usNO-T72+4*fm z`fbGeMOFKO-TR4MSL_Nltw-6x*h^htL^Kzd*&gnFSpfD_NBET8g&FTLVR8IksJY3? z>5~Fd;ZC{B-np81A(eB~o5QrnzQvig1WG_n#L?-;3~iFZos7ci1fdC8>Yx=`q2Sc5 zN(6dkS( z9`53i=^^`FM732DAVQgpInL`D%5b6G>@^o?F{08rA~d#~Bt{|9aaf#a;<^b(M|dK; zabqZs+bKEVH}YLljiTSBB0Ay-1+Iq+-NyqB9OPw{eMufoP@WIfBB^xLMsyzv>LM?e zAB3pi9&UyE1tS#=BQdU&G2S0C${9)_A~W8UGe%xCIwB=TqUOZi%Uz>JGEmEHW8R?{ zC*o6{kP_dCBRQrd;F+TbbwE0%VtN^k#I&R1y<Dgds>g91qLgHs+7aPkRU}rn+?a*ZxJ@AeUSU0fVw=s{DlHC7 z&Y4WIBgU*9M`$Al($LEh$Z1g?3GyTOy;f1$RuLg(QYzR|Ueh2(_{Xdqi|(nnC=pY<3$(j{yCWU1Vx zTIFSJ?d5^>H1fX&7TRreiK)fcOVvy4&4-;$UGT@%3GG zpd_1t5UjZ*2S^~}yd;FhQj|@^Uxj8z<`Np#&@}qe=;YVw{-kC;u4Wx7no&Yr*CCi} zY6xxaU`pL)(ZHT=%G5G$S?y^|+X-hhPUC+VCq+u*1tljI{tI)Gm~(33W%`}sOs82` z=NMuquJP3tac6%*9(ZofcphANrq+2zokgV}Ubbhmz30Ugq>X(R3T(xE)@E(mr$RQQ z4vO44`6if%+Xw)tkIIwWQ6{=6p<9CG%snV{W+8><%4RYtSvuwF^`>{`M;gMVM;e^L z<<~v>B+RU*9Uj?Kq~Ax~45E=KM_n96uxOqEqkFxmwZ*7g&?q-KB*ffk+U4k!wg!*> zD4z-`aXKNX5$QV`soo)JgNo&n{z;Q6>XW7=g-NOYeS8ek#h22N=hA6uPi8~vn5e2O zT9}HIS-Fmx9)+0#&Mkf`xSFch zVVtV^Aw{(6o6cvH$?4hMC#~-0ekx+Rw3DvxDm3x2@lDV7uCMQgx;jHP^x2VyCJ#6-4QUg~fw9(rrIZmb;gB_Ecnxhf?>t{%xYWim?6 zIJw9E;pq!?N4?rBsIlBd?yG;HkhhtfW>S z6rNUn8JkxPgODNGr*@vka;(*kgK7>1nu6@A`sK*7myFV1^R=scq^x1$Xr$<9;=C-( zZsiirEU+SIoM2+kev)Jz>M4a{y#Z~|av|SRXIk!OwB~8%%#fu7h-s3H(>@*48k*Ef zMGIE#)oyIojsvxEt?6mSMu;r7br#3rre{h{e%h&)=_tJxXgn=#+YV?)qM91Q+{<1U zkOr!O7V2g4Qy2OzcW@yDPFYln+|ijEh@s>EUuN58Jx z{zmA7_DS+J>i?Eg0E62AbD7}=X%3xcYTaW{tQ9@1PBKZb^ipuR3f#D+YW8k0M|3ZP zkuV7Rpa|2c%HF97&npV2oCN?I|@E$P&bYMq*XiUsy{u3A46C*`PNpU$)aRgg2xMDG?W&}ajAf!!NtgctP>Yo`K zUCE^}`>Jns9q@<2aSR_v#J(_x^T*&8y$ z#ZHLTQSuN`aOEoVPy}xlYx2itZi0F8Cp%RrUm4nx@|T?MDW|R*zc4Fr$~eO^4YO_S z!ti4n@CDhjiWw|+5^>t{axaVCFNdVHE;19-;xSi6GCMOfr>8S>6f|dY&!}l9cW!-x zt=L|(N^P?PY@j!PGc>;P-MJl_)v)|t=?m{`CAJATx^v#9q|S|3@t*Xu0&a}OD+2iP z-~zyGhy*v*7b7qJoaHT>MGbU7?=(*f^yJP~Is`8UPZ2^lnI|tah0Ul#3lv04v?)_` z09y3yrmuCmvPPS8RjV6m9jQr*be`l%N#im~kCPzF8B4qL;Knpe%N$KJu}y;&PM3;K z_cUEM^Tq6v2uw`rjI^m8|U#Rg5p=>t)8&tN~*NZ ziI6~O=-}QYbbt1b<%H?17HLy&P+~VTUu||b_{NeSn5M%=MDuq?+AxZ@VI67EJt`Y3@fmK>lbTrX;3UU z)hNRlwn(1&rl;{)&;sjJ9$wwMTTG>gu-tLbo%+w`X^_i@U@{ zF-YCkYJ<#B*G~H-^w+{RyQdI(d2R`l+(eHV6w>>oe>p0%xM54Wm-lI84j)M#{^}>9 z7Jhk4Ww%kK$UimX7pK-ge!WM& zVIoMw|<`fZF0K9zTyF* z>{}Y}=BYqjrPv$b*#Exz?_QY))kwdSEf@ct1UIv$v{{C zl<84sO`A7sUeLLdXHTC$fd&;il&H>{Cog_f`cdbI5hY5TkUCYW$Eql(X4SftYgeyd z!G;w(mTcLwP|>C>;Zbc{w{4xq9pO=~)3kN*=GAMr#9qHo)ynNKm~i3291tfijQB7I zog-UUh#eF7IwOr1AU!|9q&9D{UcPVnJ?pkhd=)K<(JTsNoKUtP(zKi2M?i zz{*?CDfG@mK}fvXV^2K1ZFbuqG39hzl*<*@JZ?1&@~$I2jX2`R z9#Hn9EH~@yvjmx8W;A3yF z;l{T1uWr|_?ylrsdn?}!6bDfymivBbo(?rKpr;R ztjl@7Wbkr>?nU}?emS>QG6N0l%za)|C6K_WKiW`qmkhr8P18>gE_FQ{#=6#t3U;!a z&IsIgl>}PLEV--B?zqysXhm>>*&^Bg$)J+FA{oy}O2Qkr-qO6ZKo3dLOPOG?iXI-m1z?;gm90(S(2sE*+d+ zTUCtxtE6wI~h@sCcav1FUh1BBpna*^tdw9UZX7Z4SAv&Ol zNmSy&JgG#4HBmTF{GSwC2ez6R&?#B`h_u2u7B609QCtLB$jGS1t(=i=5{y>$IH*BQ ziExg^3}Ie`xt=_#aF6VYP9OgD@W%oLQikG_Tp=%a$ZRB1O^p1EBO%GiNm6nTmc*nc zQ9wkQnBLa* zGzXN-QYJIG$(pcJlrMQ_uRbKto6xhKg;NSXMa4=4`cpdsRUpO)dcj;4w3i755KV4LL_1IMU#ELNLr*$ezmRSzemYVg-XvIR+k%1NkavSX! zwJKKAawU$cRSRp2=~}nUC${~?4{fVtTamt1w?yM@B7KVtZ|2pJF$JP=DT!RQVP?5| z$YgU(H`@vr@uwXIrRd~|UB?ydeTOmo@K;S=?e7!M~X zagB0u*&VIN{-WCM!9d42#^YS2O(kzrhaMpna9;|^2k&9VmXvU2D$HExq97(3=CFsU zTip!dN!1#^d8;t?hahkuN{Ku*XE6g@%~ zdp}Y0M`D5j47Bo};hivi;hb3-l^0uX-t3$!7}ldxPNzxo=}(6m1)~m5sV8RYRQqJrtS*+T zQye1xS<||yw)Sa_c*lv49w#t-k$Gk9mdd{vAw2@qGYG3;! z+1~aq92|&9e>>dc22hr}XYNvYIo;}(ZenjzYE;LYL<_q&z3q+Ep>+4$9e}8gM7y(t zTeh>~g|iraX;r1)`RDO<%VZQzY_&|L;U#0U!&fWy(lUuKo$7#(Rpz<5zUa4&W}lR0 z`t3^M!Q>KbZgVeEDF!hc7ee(9Y;Yo zIId;sVheKi=;=-RdM}&RVI#aPP)CbbI&USDHGO&X1&`^s4rq$&W%be<64b`NPZa)? z{o`n-dtck$ySM8g?sCWU?Kh*8i#UbldIxi2{XWzx2A*M5RCVERz7rO8x8_%OB?V`U z{ex>>A^x;&!SX7mMy`ACPyehe)B2CX01yaK zj*sAbnEYYjh8z0892S}+Cii%04(EQU?KEamB7PYgTGn?eqfY)S+(!;*>+ z!V(eqj0>j5X)~6vj+)S{JPitaibJNb3TqAvdqN8dZ@WIx@b2TpzHm_=B!)P@Eo3$_lZd4w3DC zj{s{xl)vs4kr64$5qW`Rd5n zT=5;{kb%H&f#8NwNU#jq(1Lm`7P|tXbWI;akQEWCIt1r0(!vBxATv;9e*OZ%K#=i$ zK7+3$4f5^~^P*82F_Lkpu`{kQ2eNUBw(*m?5emO?%mi&50SFW+P!vls=hRX0zHS3c zF#GTk9@}x3xab}er5Gj?xgWMjY~5I!?Od% zvpmleJ00bUhw%0^l$<#J)H^*i2`el_#T1>Sg5oYB zCP?!MPXawv^swA*o*D~AH7fevGnE#v1<5c+({M-i66uii&609JBTsko(MXr{f)I2S zdDE+8(9V9+M{__+eeW5$G)#?405x+{H}(It6f}(sEKdMU$+H61bh-@2OK>DoCJ|O= zkMc=})9r}%XrZxazwLdjbyE>{TA#KW_h9!>u1lwp7oNpxmjY|WRcp7lT#s)>_>OE zWiO+3F+(XlP-xRvN!`#u|5jwc?rukhD0`Gqg_IfplznBfZ+TZ>pLK9GElZ&FLl<`U z5Ew(9R&gbk4;r^azm$2EmP|K;YNY~tXH9xpk zftl8UE0%Z}Sc1Ff2;FBxx06x${_FKFLK`;>RXsRsdIMcc_^3+wjK4-o&DWP)c#T~b zQHk|+D@ZPWRuyA-4c&Nef7Mv|(G{1NVUPGSl=qK$&q5KHfQvYCqu3)J*oP`OiXRap zwb**N7y!JOO~bfVKbLIL(TvgflM_RY^O$wfaFqF!P}|UVvx<&!F%K(Lk4<@n?-S_~ zREU4~j}LfgwUm%``Rx!{Y8RL@QJ|5Lu#qowk_SW9l!Bu$Ib=QeYdIN|rJ25_SVG@0tIESMBEcL+$xu@j0KV@sX*qpB2$evx2_{V4#UdJraJ(q5kRNc?U`r7r?(fVP3+8Mw5UPlsF6Ac z3=X1o6b+kNoAI-UdzgG_>8Xb_odI~xv>L1Rva9Fpt2Irtx743mI<3!|Q`7oVh1n}* znv&pJD*}4aoT>hcskfQ27q25QE@cz2(YRKfQ{3peqX!$Kmm0DgT0jxSFXMKH<<^#4 ztg`!3#&&OL2Uz#sZk}`5kjWaQKU*5L6Q(%TD=8Qwx0}16*0{9j1Xf!#aR#=5N@SsV zifY@oOBlD6Yqxvbx8v2Y;Z?YcQ@x5CfSc5RWlXtwbH^eMz6smbl5}U+*~NXi#;uB%9w-gF8erqQo(+6b5824S+JKAph|?&+#Tr`;cY!%I z7jhw=E&jYiN82mE6PRCQ!%-laGuXp10>nv2#HmnwHOju+L zs%ad?V+m39SHO21ZgBR0zxlw6T*!5s$Va-65j=^do5?54$)o)LO8SwfyvnUy!l(5z zwLDC@T=t3*D$0s#$ovw6Dz9g|#QR#P*Bn3EJO?aE0N=dD`Fz0V+^`dSzE{`B8_350 z*1rY4USaX7u@ZOlHe{ex&XGL2<2lhUmZW`er4^V6ubV3^U7x8K__Q0X)vn8l)YCBv z)W4Vk-=ro?rwfBR)mvxPTiw+^)Q^vR*6CcalbXhF9S!>}v%DzI2R(2r$aRJNc8R@+ z{*B$)mmJxZ7?+!!iJ#r1qdg<19g?NEtgl_Pv%R&s^<*sfrezPh!1!v?JDz&_`PAIp z`Qj;Aeg8Zg9^JXf>-^o_i{TLJKMSw z@yQ|m_oy6;fe@d;`=ud_%HJpH&D!A~nUbVF!$ozC24fOmMB_soRe2h~Kpxf2eNRR{ zAxpk+QQn>BJU?Cjwd_2o{0Gz=mWlpv3ux^9?C21>KAzF zgSqKp>f4~+eWc!)r{3yw;oF?7;;90KqW7QGiB<0>=JZ+|(RdVf;zGVg1Vo_zEi%Kl zfDrCqc*fga&J?_5Z9c2w_=4ktertKE34P@Sa>0wf?{%EnW&P)eeykfD+7o_wyOheM zKH;g{c%Ar)Z!hAb_&c4S(!UhzF@GvFKZ7}+lfD>EKmX%@BIIF}MNGe8P+#>igZ25( z^=lmVbM@_Y+t~TE_763qy@Hi<__zTghrodZPZ&IiFrmT|1RFYRhysPcg$V`f(2*z4 zo{bzcKK$75qR5dL^Na*J@M6Y{99z0Vr)?*$Hg`}*apSFhH=ga`lS0M@Hl6D9=e(Zh$&QkpSQTE09mBIeBvW1fU4k+VR} zAW7;FO6mvaR<#!@}udIxILc^IovnXT}9bSsx6p9Y7C-eoNk~k=%7QUp%&VMm+?j$Y`ksAA!`IVCn1LdDHowg z!VRaAb0!@}5R1x9H=T<%xfC6ZG-fvxc0g%&ol{AL*HU=nA^upNR;_^rmRVU1_M~0( zO-Yx1{9TEqVE^gIfnp^Pn8Rbx6{n$w6_$zIg`AzanS`Tdn8RmfvWZ!1ABDIOh=ka`&Bh z-jRAKb4Nb)JpK+3o*$gd*v03f_$~kbt_xC{${C_T7+>a;9`yCfCnC9E*R*s zf*RW($!|id=(r%EEV4r^w@j>^1BG0si6CLi;eQbyXEnpFBCPOx3_JXAToL0s@vZ<^Y?yu-f4OnTAFH-A z%x}7Ea>*~NdD+W$m;86&fQmRXw>5uwvursRUiU*PxA=2SK^Mm`(JwkT)T&t1%XHJy z4M{KxTHkc_)%R*nHR-6LKv8*KMbu;mV}YgBSWlK6(b>0RS#f`Zsl}yPziuqhMw4w8 za&5%=EqL>rG2eII5Wo5MOAp2Hh1()N*Rn0*OdTvBQVSCMo>Ep-0oqy)7^d4mKVYRPd~yN5b<(g zJOm++TgrQu^qdF6=Y3FFJX6`>uxB?E?#6nz;ofm5f)W-%PIBV=8TpE4zDS{ueeYYJ zF51UKAO5f^@-r3xqH{kVb*^1ETF(A(Vibc7N=YXmAXvmgmTwJ2D+oY9tsF?U2i!`6 zc){2RyyO*vbSyHFA)iC8rM>1sFNAcw+p%V7LI&aKZ`jJ77BADHKQ+!mMzhhMrgy#@ zmM=Lv)Dd%p;z)Wq(M8tb5lw!>#OVGc(j`eb&q1aL0E1XjJ?!~o4!Gz=DuJ;rRk8~i zCm5hJqEU@_U?U&g*bq3X&~9_AV+ec6vlNMJk14Dc;|yn+K*DHnrd*M^4jCs$H8Mds zWaJYgDXbjn$dd4S;=IU*$@)QZlUd`1Clx})h_P@;%*p+&1|Esf>? zHyv%}M@5<@xVA_-CS3?hYpBu}@vU%THQGzX*~DxHmZp#dk4{a6)6U^^IXvwe>puBd zpnBtfn;Sty*W8QWwhbg$F5DVS%)x9`0nZf*mVK_hq$yWjAT1 zGs-ZAL5%PcBPUXfY$&T3RK-x%vIxZNU^L5A&bm#O!xIQ-rAiah;=#114N+?K)>_K| z^Ps?;Xu7ORTiZVN{%a%9?M8XaT;EEwz%eXIqO8k5;|@0?$))XbS9k*F4%Q{qwGRA# zG|8f63cLKGl;)n&T~d8lyyN8s!wj~tf@x*FvTF}m#v%~HIKTn9>g+5VlEF3tHd_6~ z(``M9k{hpfz`RVTa|n6h*t&>W;)1ImU6b2uJ(!w#_=s_e)~AXZxF%Re7euu@&P6Vl zwq@1kkw7<;#QtbIP63tvrs-$yYAwcu=EZlv`-@-vPs$5EL5`oqQo=sL>n1_r%Vf zW-$n5*@Dl%yv>wN;f1I3P+CxjI-nqi;jvIgd$uusq{P9O*N7l{CaBvQr}#HN?oRhd0Ly8N=@;@BXM5Ya4xyxnM8Y&t@ zD?Z{EAnO8*CGHFQsn|u zxmZH6_&pQ_VYLX044Ezi3Kx~Jw|CJ ziITPfM=R+epy-k>SsO7KmuiJ{4#gSo$S9cyCqB7-`8aW|=w&7TV_kd+l*eRnOG#F_ zbX<&dl$Pf>PzPHW23SVPa5$)fk0O=*N0ozS6iS#c_oozFIWS%MY=5OWV)a_M9R1Cw=0YDNb*n30oP23MrLuNHB}fp4K$wTJJSXGf7>Paf>DO&y;szdOpj2rQ7P$)Kx=661Z zFzr>Ft>GmIv67#Mn6v?NzPS+P1(yUmm{;{dzeRBzRzr`|q!k*ajUrp6m|UG#ENcj5 z8UmqLw~B8FFByi5i*$;$NFzS@QcCEZ4H+sf%Aqo$6g0*iIHeq6DJ-BeqX*cUuX&@E zh%ow@n-tNb2l1oxHgK*nq`euSkcFhtgECBNBkvb}Q(A`w`f61gS67;(X7WMLSv_`{ zEni9_8u}XxPk z7%+9SxgHo$sQw9AhpL-0DPVp1cm+wAf%$!?s{WU}s3?=ehc=0vV0eq;*N!7If&LYo zy_lckSTaxvro|Pd=@=`i2CRNravPy!oI-&9u@Qt36XiiZBY`tfnsU0J6)!;;7ZIZE+BkB}D{Ey62jtGL%Ec#G?}kE>&a z0lAaAxLAP#QA4?ztGTamSLRxt9C6%nQAY_Pm!HI?)Td zqg$hn8yjUAif4I1B?$n+I;gIzR*@HjMtV{FIESp2Z#K)jDmIUJ1u4SYSFnhk4Ogba zK__3BxYp~x{|mqYEWiUyz|gzBu33Puksddimf@SDTNN4p&LDWmVQ2a>7-2DcHo`L?_v zpQ}l+6hXnX>ykg5rHm<{B>Nx-oTzbYv&_>hEE2`{_o#a}GL zOhLmpY{NLL!+XHPff^z|EW1QH#Jky&iK!ZA!iH;t!Vj7dv%9Dm0>xb>#ePi1-X|ef zj3PCm#bAuciLA(rOt}F803rDV0SEvr04%Bi9{_v;-~p!q000~S02~|uFaQ82CjdA& z06aA=JvdEP002fkHg*62aym6cJx)hQ09slAOhP$RNIYCnKXF4mX=wm?c>qjBK};xuVNGgdR&H=#b8AX; zXj^=9PJ3}&dT?Yi%`%q&0FgN~vH$?SA|A6hGOj#QkwrbJL_D=aJC0CCgKArYeMy0G zUX^55fNo-dZgYfqYKeVunrmZ`eQS_@ai~c`sZ>d$T~oA5LbFI$wp2;DT2i!LVy$FY zt#xM61q9b29mpys$1^R)IyBoWCfq1E*fT8FIWqSU4(}T$^dcPQDJ11GE8;sd`zImz zH7oi&GsZVb%0xT!MLNt+Mb>Lt*m!31R!Qz?S?qUalYW7VivXOQ0H>z_ySo6Xr#!K* zH@LPqi-k&)jY*i3M~r}NjDd5OgKd_Ec%6`bqMb*ghHasZdZwFdsgruSfo;2scCna# zs-{D*tVFl7Lad`?t)X+atz)*Scf7P^y|aD5zBbW}cEY?}#kyz2yLak`b;!s7*w_Ha z#W>K;G~C-O+1D}P-z?_l0PpS{`uYd^`xxiuCGG1u@b4h-?LGbcB>VX~%*I&K%~jgh zOxxC2&BbfW!*bKhYun9n+0$g=-$>!ySLNGi>fLqe=11q`Q}FFW^Xyvt_ec8lSM1_x z?%{X!?Pm1oc=_>X`tfp)jE0+yfSr+ootTiJj)A6?hNYa5vz&yqoRO}eji;iRx}%D_ zrjxw0fUT&ZvaF)Jw5q!KaSItCY;PiOjN^*P@Kqs+H5biqW>6$hM`#ytCN5 zqv@B0=BSh5ys6#9n9IPf%EGtZ!Kc>AxZBXa;?0ZW%bDxhiR;yv@ZOE_-In9Vtm(_L z?9-<0(6;c-w({Dh^VGWU;DPn$g!ST<{qceS^p^SKrT_7!*3H1&(!%H3$LikD`rO0q z;mqyg(){Ac{Oi;H^4b6T;s5{u00008{s37B97wRB!Gj1BDqP4AVUHfaBK{gSjF?4Y z%ra`+$g!ixk03*Obmpuh$&Dmas$9vkrOTHvW6EqGg^#T zr*56AcJu1p%eM|MUcGw#?c4Y2U%Y++3sxN1V#b<8-J+X}&TY}lm@{YQ%DJ=W&j%k$ zoLKRq$kV7(pFYWvb;g;nW6PfX@~7?FxO3+eIu!HKq)VHo9Zof=RjikMja+uQ5PvrLci@<0mRTT$<}`@rnryaNp@ry-DCeAX))``n`ka^| z04q+_qFygH6yq>na>?VNh$d>Ik9Gm+-H<~TxhOA4o|hPt>tSl6lkP!jj+Fdld6t&U zWqDZ|^+e!!}$1Z9u`jhwnArkT9QwpL=V1lK>+O!_8O95Dk3yPPF1bvKo{^9m8J@fAamtiaCr&vQ zSoe}z<*6)$wXLeNqCiO?vBElQtF_)b<1nna(u}U$_-bG+u~b|!I1&R0teR|=V@oXO zBI}0jKkuAj&qQOW zb1g~_4Rg`AK=qC-@<0o~1dlx8$h3Ni!phfQ4>HKtg?uea9al5-ODe3C!mz{JD%Z;> zV6$Q)DXawZZT?_hvr@=<46~AojiQKhW4PswYiW??+J&yViA}2H;qV3~uWRT4S{w}1d3X@y{$RwGd@Bs>$OacfdfP6r@>8PVn0t%CCa*6G#0z%0pkd#oct7%;F z$0RHW-|8QiWa5Dbw%XbyaMkRZ@qglALQ6O-&~p8mZPo${Ipw@{4lM1EGa)&isQ;Gu z|b=@yu9hdW@wGyodV z69`<#0VmiF0$wnK5R@SLJm?Muf$Xgpr04`GT4A@qu%Z=dB*l6dp~fBwiClFF47t!H5OmcAUF{N&rquH-$1uY! zUg<|a?4_@-2&6frijK7mqN)!-Vs~)B1SCFC0zkk41;A_7B~g&c;B~Teyek150s%bb z4UYn8u;lJs1ql{74|>s?o>Hn8vF`z>6SXJ@Fnu{7H&skQ=MW%;+R=&fxrKf1OHeyl zU_ZAovmDIiAF||Qj&*cGfEnsU2gQjYX0F4W8A4~B&{;7Ik&~S2h(!lc7!P-jbDr$} zjDZqz=S7SaS2s0 zV~I^9NE5@6jcQmC7S)(Vp-$0@L$KfwfdOM+*2sdr5sIaS@B~YHQAD2ZG%zgqDdilM z7d zs!A}*wcak2!-Lf*TZIFGWWrWSiC!*e^odZ&LKd|U2UEg9i<1SDDZDw*Fo#(VaTxZn z?Re~A9}A$z3bvT#c&z)_=ZRX#j}|PjMLQ&Pj#!|~n$1LJEU5VwW|||Lua*9+I;@Ea zaPCu_lQE|{*P)IPuCo&uYNt2v$y?iM=$-fk?mC1^&VFV{AeESaKnYp^g7l@K4XwjN zH6c-oR-zJE`=$MPEpfu{ za7AEx+SB!%!WF|f6r=LEp1m+?NazA2q?RNkMR95x({M}XI!CHUa?VO?iB9OkD-f`z z)m49p1SaAj%2|$et!-VaS>yUD9AqMRt%`$P@d^OFN^eGrxWp?~K{0TE!?f&R2Q1iu zSfLz#KL>nL|nPMRmhyEu#(GL05f(5m3 zhlIqz0&z$a6DO0OIs{V9*LK3sm2n3qL_6r&nuERrTnCh4p^n@Fcel&c=Q{B$z6>rJ zXM0X`I!(*ya^ktl8El6Kf~4>6sz)PDJVe7yiDniJ|}Q3 zRIy}r$U+)w2cF@4G|_fC)8}l5rM*5tty38mW3O^O?-37zu9^TqWc5Mzg58B`_Y$FC z0Ve8VYp)U{6)Z@_9wNeP7WkTpHEH517Eg;8K2804zRjb_*=R3;S!#Nc+AazYQb(MsNt8g0)vaPl#GlJ5LH2!O z8N+q1FIH8IRfTXCC|p(v_W%h5f{7JpAmSMq=p!oru9b^t{H_Y)cr_f`_>_m-$s^}8 z_G;1icKoODweZAcYtc;lb2%1ds=3dPnINA>$p3zZO{pbJw!mKQ<61|zXRJkAZ&nM* zf?QE&PE;2QR>vV&mrk7kcDL0*nWhfy;AI8w-X3)U{(OLJ9~ImY-MmVmT>-YrDM_O0ku?pf8b*V;RxJkaTlO*dqoh3 z;0GxO4z!?b=O=Oja%6b+A1Rkv%ElBVhks0AfA$A+s)$VmqJMSf7X0@X0QevPcum*j z7ALc22iOVd;9AziX@*7)FB4jofeyGOPN*ey>o9>Ah#}F4f$`)|$i-Xo6kL*ajm{Wp z`{Z2bbO{tkQ3~OLb-)5JhzWWyYjqF=pU?>uKmZ0&2%I1ad$4Op^n;y}6Hr8iOQ=%d za7D%j3*Z0%P>5;=br2E;9#gm;1O{zx<813;M&B|FuE0{opi{jN3`N9|LRAc2ct+z^ z7gzBv>k=3aR$(_H5VzNEZ^#TmG5#4Qf+D?lZ)+hCz!x2}q5_h@0)a3Il3+V1APJKY z2$=8(C6EKi^OHfzNvCrOfdB`pvPvxAI<6EewImRK;Be6M2G#cldc_6?K>-)V6&K)@ zn7{@nuyF%X2!(J(P((qWh<*anicCR4aXE9aa0xR9T7-oOf+apsBtGXrAmTF)#GxCp&)L#<#6nD7cgs1vgQ3s59QR74Ay5Dv$-Y}`N# zv|xGB)c{VYkm&{wTIY=zohBv|~F^LW{S(7&DNd1zNXE7^pAPFwY0&n0dEh-77^acbG zqpJgyE*d)@00;vy392(Z1wjJ2{OmQL!TZ*Xw~RSA#43ZqaH zge9M}Fqd>0AcO@VTPmNG^>XFFiCkJ(Op&IgNFe$HGvreaS`e~}?*lXP zV-6$Jn|msnNar;Ef{G49b1X~aGBDF_(A1G8!2%FZU39y{DoonmGrfaBlT{1RGaA zcCbFiq->cL-WNR=hX$AM2n`SzHQ}Y7_&ws#c*H~|#4--@M=T%kAL+ z3xV;vdoxH^yHxAqdMnwwZfHnM5f+L>haqORXIn1;ySB<}Faz-_ZyUD<8z^3yds9SZM(c0 z99PftywD511Yx%YVZGBEv;CpHf7`t(tTEu*F_{^@YEVVVX6<& z!|*E*4>7+xm@UkZUiiBctPv5m=TsmHzykclP%N(QN-htkI1IKo?xtb&V!>Q&7MX*= z&bPs094j4+OCKD!Axyn@i*X4%6($@eC~Q3|JjXBG!V|(VFf6_@ESpz1zBjxf{yE%& zgu%l;{KG5|#CO5DLp%%_VZ=wA6G{9FOYBrg8?I4&$+0`dM^(j$A(B}PZ(H2OqWs0k z+q@s}24j`Vlh7)tObJ1X%Bk$iAAmfzw92QP%3~D?tegpyKmyNWqXYpx12I-Gdd3Ue z5UDH)(BlZBDiB&~F|SY#L2+cSaIpY#WEInCBJsGhpG5()`f2v-6Z&DLbgtDx|{#fba*Fut|SVm45&`A8-Oa`3F5Ia78T%m*C4DVANXq z(;09F0>K7uzyfe!%;BdMY;XxmYAX=?2r z4i=3Y7+n(BK@1z+za9P2AwANzd!giFl6>LGFR6Q={L)-3(`Ei)FEV{1!R!HOHCF>i zd>=4YtHT1D1PPfCqnC67<;|6spR|_FWe`}pt1UXm+!dTi|*DB|JHz%j(AWr0DI%Z&1VB(1upQeyKpuk< z(Varkx@{A`mgMS{(HB8s=qB7w48gZq+={r-skNBHU{1uTubfE0{#jE35b9Qdc}xG3cU%b75Po2 z1m#tN0N}zT;6fpavv7U@5_19KScdf?!!V( z8blr(z;Y8xKJC)L zXMWw51m2mj=88yGq6FRmM=)^y0dg)&wbazlbMJcv30XPJbgNfx5C3)VAbW~OpO_lh8I{$=6tW65PqVir#;yp_xfI0xD)U|{>K>FQr&H{5j5CZQ3k#J+yr!Y@S5Sfth^qm3r zEq4ha@dH8e79Zfe0cG+Ra+B`yCm&37R#@?;ibt=C5AKSn2xpmP>X$VR;{bD=bux8U zAV)8MGY=r8h4T)gCgOlTMfd8cZd$_rpIJixXAx5L$~f`~qV(HjAx015j&>};-i^}O z;!PL+=6m%Gk@Z{8^@Z&9R{{3JK;&b;QfeO+*Ab{ zR&3Zcm(aXKi}u0=50}!iSOdUip*rQtb*jaUTQzQ-V$H%di?3e7dSk`n7LFDRapG9e zsuh`?UA*ijmvb!6?qR!`?PC6B{CTsd$dN^#zFUj4XuP5wvxsH);>FYFY}G0^yIrSp zyK~=dm)dSE7QI=_MvnZjIdtflcWM`1d938jn>)XV4*GTHyRmZzk8bxm^6Q$bW1$Wm zdG6)iuLB_W?R@${f-D3Aq{sdq`5D$pXpcQ6nrN6|mO*ftiWX$BK?5IzFhT<-ipZf{ za#`p?ha8HiLx_9oBA+bagPed_A6h$2IL=g`H(Zhif`cK9VCnAQJiZ1$SBa~7C zGRPl4Vo9Hjjzls^v|>`qrkZlvX_Bdax(W`SN`MlQ5+KRsjSv2KNs^|X%0!Z>s=CT0 zNIb}Zs|-$XkT#5YH7#OQAJa&7E_TsO|^57^UXJNfD^79;*6^&)>kyYQ|Xue|fpThF}f-YYM@Jg-U{CHf`D9nI;HBaeb)c%+4i zWGP9Bk3_4g6wD07%s;+lL6Sf&ktBtSFZtuDjluL7lZ}7M#HBc5`U7M)IzHh9Gufbt zg$vk7ORK8b{&<7V3@$j~kxSB816vl_0Ga3cs;LH?a4?}IoV}*5n(9RtrKRdd!2t)B zStx}CH*u)0^s}22rpT&q0^8R~*a3sbVXL#Jl$A=ry z^a&*X4rstP6i^b70K@}lazLN_WP*}-LrfI7zy_*`XOOr+S|ovks(3&WY!KQ7aPWvn zI3f*7TOfU)rkJkLVlT6(Vb{R1HNt?ShE_{V4u?}i(a^AKL+sk6CM86>bS-k^;G3;z zVT*H2ac{PY+!bpPIWAsNR8xH7Y_>?n(nYQo$QdK!IM*v)jnNj^u?-h*v&PwRF?Mn! z-E~IC9Xw9USi)=1dx|HY`n}nbI=x0Ctfnv{Msk+Z9OsBd zE!1dEc9xS^xC5X%JmC)EAt#XTv1K9A@}K1?@>|UVS0iO4Ac7JUpa*T9KeczEOv-Cs z>HB0vCF-J4rf-wqt4K7tk&z*(1ePC_*gJWZoVVc8mnTK3E`iCW6eiP{$TX%iuhq=r zp#_?Qv1U%EiOsEPlQ7~G=Qn{m)Nr=bsHFqmQI%R9kL5mKM~WJo_1 ziqL}EsGtQ!C_)wbABJ+Tdjo^$MAiDqidyud^UCO8IC{U3d=#WfYHD>#n*M>5_O-9U zY^h6MDi*=YG%ba->P>aJSjO&@hZ-enWFSzs#+S9Jqz3*i$ zLtTqj^v%}3vaPL*Zu>q0>6Qh&Wd_uIyAI$6ceqF@ZnTb@7LzL1!761bbe${Mszg_` zhb879ji*@bc37i@p(anc;aw7!I5*@)F?j(9NbE3mT7tZ=dRMEw{`}N9KXjl2e09u_ z);?sDoxE?5W7}5s5p2Hz7O*+UlMz@-j9O2Ia+KXuF}^<7%0FQ)VJGa;3cJ*>Z=tC( zIqYHVZY{(-HF26Ln_@O=cE!??YI5#btr(AX#)!1>jdQ$X9ryU6Ko)YKBTD2K8Tl6n z>8+C2!Q@vuS;~)wG?lMB=?@5V%a_h@P3KcgmuOf%Vm-^J__NJ=U{puF}4{KTM24JjZo!VOGC)fAZ z^{yApWy-+qYm|Y%cPdnNVcleZF(qL;VH_H;vwuRqPfeLW? zCAJK=xT`5*k}nF~ClBwePP}gMvfAA)2OzwUFzxO2D7agTeux*`{K$;FOxlz)@u<8^tf zT^t^n$GJH*xAV<|kn>veyyy3UZ@hvIaH98pwnpzo(v!aQs5c$T2rj(ThpUzgRQ=k* z1WVS#d||G~^ui%0v)DCnasc@Gy3sQ^o9@yRWckeSp_g-JW z*IwXBuZaAnF%7-^Hh-~HJd*Y&vEkpN_+W0l;~fn7$V+}LTkp8#--3A$Z{GSN_I&n1 zA9~WiyxnX6K4wurZ`88>^>+7pzh(bgVcXvQg2p{FbkBQk_+Gfd7e4=zRQ%&(n9@v| zH0JBFtlPE+c!0?RIqL#DQoFvA%f1Ipx$Toc6dS**;<1#u|eefKbZ(X0d&3sJitsdEb8m92Gl$V zgun?z!tts=eZoLKE34T9G!K+Q69GXJEdIe06hReKK^8=q`f zRK6<{z+oalP2;%Ad%kabCItjLA{;v-#KX!;!n4yuquRFAo3$n^ttVu^P?|y^1HnX8 z#6>j0D#XGOM21L|#7T@q72Jkx=!Q(x#7u0CjQEI-YNZ$aD15*NGc?6|pa*)`L^PxV zEO5m%?5kF+0p{yLH+(|`Oe{JSIXiT~JjBC21ie0Nr#}QlK};<|+(3IdL_}P~W^_am ze8xwl#A!qZOT@%Y)WlA_hfk!dPz*y-JVi51#Z^oTj{ATjr~)Anf-8Um2eW}Guz@QR zf+~Q5i^Do&dc)|OJeSDFWRk9h{#d|k0z=LEGrF^ z5e^hMmmoGpd_-xa#*U0cY5>WQyu^{b#!d7FZwN;lT!~O*7*Yhslr+Uulu1?8#7hiG zYCsE)vjHslf}c=FcVvNhyfS*UM~ow;ezZK}K}wo>3xHfe?IK9)Gsp+5j)YXm%wovX zt201UJ%~&w)S5_&^bm^-IE)-Njoio+^hl4qNsuJTOT@-*I7yhShm~YWAaTi3q)Qu| z$#Ja7ZMeyttNtd_4O>e7Ae4`t3&_mdys11$RymEU#LC%JD!bsyYf+?xxE@}(kUwLQ zW&A*Aj7BV6%W2#_w;W03jLS^yOPQq0yd=dUxl4x0hkQ82=k&|w>;{``%Z(e%!px-_ zsDdx}0w}-&8wdd`V1X*Y0xGZ|C}069D1x7`fiI{67QliksDTe4&l;!!^nA?D`~VM# zfhvfB7(h=D7(je1O#N?y~l4Q>2)J}ScPU)o1>I9PO%uem(&P?>qz%0k`e9WJC#llAt?TW`aDv?98k>kPkMv`8-M}^Wy7N^O#`gF_*e^$6H|RuO>oo23cao( z#887ICt>7J4fQUEj5~mOs}G?)4_wg@OiLG?#I|h9w;ah#oQHWx#Y0WS8)Nc!UBbE!8GP(jxtUBMsG2wIBj5P$($X zEgelT&Brs1!!oS^TmWZ4n7>WRPg_$qWh^&+(>#pRm7CM5Br!XENIcC`gCI-W>(jJ6 z20)cWLA^;#y+%c)2W@3k>4a2Bl~nAc)NQrYzr@y?)vR09gK2$IqOCCJ*yzbUUb{uLh9ZC9?U!CpWN(JBm4&4Dp*JLo@WI*5{Rbam= z{>pnSrU$;&LspMemEmk@8U^<1s5I&yxI0yp?U-F&S^VLEv1YKfJK;twPK^AUfYkcFkjN_A}V{fqIJI-T0 z77{$I-swHC;NjB8Va>){rSxu)wp zv1{FY?aJm9JXb{K5Wdj-yUAyqgmuTn;aEU5-g4@utg&aVBK|D3FuhJx)Xi|H(gC5=C21Y<^al?Z)5uKx`o4;Xx`17w_YZ z_=x7vi#9fILl$VuPGTc=@4muM#w^lP)g>sP+5)}rn8eS!`krWkMnC&*8i zfPg5Eag0XT5^g9bA&b2HCkYg%w%ZE%aWLkPz{3EyT4&u9zh zAq=l;4gZBx?(lAC4iG;Qn%*B07YRSM9~8e|758Bl&tDkt2uC;Z8Apd2cjFts)}U7J z%U0q6?(vi=)hPf~As^4j%rYdWNA_Iu7}!rIzW@oi0xlnI2&jMqO;9P900C!#TZMr9 zlyVoi01&u>CrD5hcmYk@ffaBDXefi10E0$Y^J${!iniv9j&nJ;c5t#oJkRhP**#@p zv^_S7o4wyd=ZEk{bU%jlM+blx_cTpY_xSh-Z&UPl{%`ksx9R)oi1FS%24Uqle&HO? z^hjiHP6zPP^{Y~i%pfQ2UMls^JoWtsi&ABE+IE2okaAhCf-QG~C}4q#=SSq-^(&A7 z7I=aSm;n}u0$FWOV@GypXoM?p2{IsqXNQ_-mv#oE_G{PqZp!wNPHq;64{o0ZZ=XSM zzjyp4cXK~?K2CRjn0KeIcln_AcnA98VfUzS_j`93eV+z?PeGvmcTC^$f$nsaDpf93 z_=G-kB;Ri(kN7I+0FI;h2e|kO$apJvf?HqPU3Y>GAaIjM`6m$kVmF>+m!Fq^SedtA zHBWPCr}m!O`Qe6qIKO6X&+~3qw3X-xa%Xq`rH_yB4sTBjeXA!4dxv@$fBLJ(`qgLs z)|W%9cL^A54ydV!_=C}N9aLa$%Yhf_vOg(N&!tjT`?Xhcx33C`m-~*V`zpZrD&V*d zhylGPSiblBl0W$wSc@2F0hT}fD@gpAZ~U4M|KEQ6ijDj_=RC^iMa#dI_`rPf(EM^g zag+G`##VRGZ*0-ef6}LS)YmX|2MB%w2MPpW@F2p33KueL*pLMahYWXWLCgb5L1g$f^b^6cp|#FQ#UZ1fZobZAi< z9+om~3baa%DJ+C!@IWI7*(REjnV-`6(}*(z5o!Q z1wVZVL|2`Vg@Ft=}p5FHXPZXDt8g~<&r2M}9f^V!g4 zXEbLnBX)GwNB;WN>wB+{BS*U2R&!-amNI3sEPpP#=-~a#&zyw5EAi+L^X?t6`nV&gp^CaAWiWdB znx;dlx+<3mJtt+Ctzx;QaJRYoWOS`&$tthCjyH{|8+G&@FU9im-I?UQq$W*nvIi%d za^j@Zoz+^aC$=8&=_jCr3Th~Ygi^>TqmDxQ3>jpYVJTsaDYhxRjGa0!YopqGFTOlZ zW-7gsZQ3iqwqB_v{;a#oN-(X;34Bm;xxQ*}z!B5-Yp@(KL#(mL67y?%%);dCnmw@=xw ztZknzzl^BNebcO{%{S+q>0vtetSQsg1g*G?G&a7P(veH9Z)E*GEzQ=M(?<2Jt6n{@ z=Ann)_19pF%}d#4her(BYOft_+cmwtQrvXgZhOn!?#*}KhLQ`BpMeiemvue zSKgY@{ZcmmIrR3T+O%tzuP8e9*=xVO=y~Kpw)fw8pL*)vcXwua-E_k?O%OGk3^K?( zTheSMTWbRr`R7l?PWWTNzwL^E1&Bn!1Kc{)?s^BV-?1Qg0AK=$Snw#E4UcDtSrPIM zS1L{o&3Vs@9tcTQndQmIdMM%^3R9@U70PCObqHTCTu8nb=HYxBn@0N9w=6lmFMji* zM*ZYwt)~b<2v@+u2RwiU|4fB$Hh@SGtMG&a?oM0^9M|6(1%MV*AvP3T5j4sG4Z>}N zT^T&1ygb;c5JoRErp$m!Gv5e&OgQAn=w!n4Zit=4v8{0k5YyiAhIsP z6U4PGiA{80f4P?%x`)G`+*R6zm~PzwvNkd>Tz1^yyF ztpYf8N>mo`G(#Y`!V~6Fg}T)9CM)=Xx*#GLezL#})-Yp0odGo#G&F+-RVYI7h1S({ zs;usM=!zmr(YexrnC)q&)OAPwnyMykw|7|c&}`vME7fXNR)554 z*~!+)1~(l`SgKG32ua`xW~qQ?T`-pmTp=z{hyn{--~tvz!JC?eP!+IXgScFPfKZqL z3#d9uh^#;fs3c6f2y@C*!gZ`}E$CT4nATAx*Om<}F6LOEv$|5Zy0pP7cJms9z1E>v z-4O4m{ zmB5mltf(to!A~8CK?hd5m7KnF!BFTxB`f4@WsNzZ3J;MY{3m{ zu(=<;(Hhx0FFHf_W;d%9iUVE8N2wUQKJY>6AOcA6fCs$s8;QtvsHS7KDH*X@@5w|U zm7(;w3REbuVdPPx8Uq$gu`O+R zOBZACf~js%!Z*+X82}TQe?lYKUHGb;=S=5#b@2HVO${=(`>| z(JWXrqkG|KWI!5`ZKHHdEPWG9S1UH39x@83Km{#m;RyKtbP43svJFK+Q4+eq3=*_W zF-s^XUm>8M99$qw#s-2Ns!bwHbfUsoqYV3uHjAcB?Xy~2HK%G`TSdOg!Eu}0RRcH7 zMQ2fQj~k=q<}UeikqeErJ5BCGuX#QeSRl?j$0uv-2PBK{r7!)yK51DNqn<^y056MG z2i;9NQc93xP~{^xXvvr6DU|!j>lJLdpI;vHwO6zUG_U@-MQ@Jtvgw@XBmp}8SP*IU zQDb(sn~!}VqI9McUdT?ro75A30jMiJ>R9J3q{Pbg!FhdC$#q#yuo7Atso{xI{U1#&C!ZZE#u!s9aV}twMXH@Puue+K2diTK+veNCF zlMw4GS;32%_DnxKe+=08EHZxjG<&=RBR_e{hu%e(UufpVuH4deUSFT@zUWy_dS_t& z+pJ$b3RG`Z+pi$@vYEZ}hfM$a^IrG7|G)2X7x39#yAfZS#M|*zT~Fj61ERp4uuR@q zpP%pv1xBFMRo&lU-vmkC_DMr2q2G&qUW}OEr~Y`JhkZtJf#A-J-um%HM_dgGL12(9 z-%a3~?Frdzu%7K<)c)Po+u*1hm=-}WI-0>PYpQI2ZVqpCefZyAkEwaDRN;2Y9R&!P8iDZe>LVVqz*0Eh4(x!C@x(zw0aJ9PfMC*693(aEL{pe0-f$t9 z9f&sZi3Vr@EH)l)WeB-w;4PB=Aq6$YM>bUAgybucBw(JP8Xea$&f&J9-Ag8BGgjqn zc+E0KjAT`y)f@!AVbpPm8#nS`PXc8>#@`|iCGIID`5fhT4U=fj(AlKT-Pu?@PGvp3 zCTtqaRnlHoZlzhq)K|tuSZ0z3#8mVNfmf=cM6PA3VNwPNfxgw0ws-&(=*K2$NP$d| zpP&|7)MYKkh7yE<8Ej`^Y^ND8n|GSQ7_p$VRl{C_BsWyfV+1C93Z@4U=1QhtOCqLX zGNUs>gkypYWR`$r5(#AvnPnOWW)9*-^&n3IVP_5@Xx7|mmJMlgRD-5YYWAFs*<(J! zW^7g^pIDTTi2!|lfQSB~CAJ(S7Br`9-H8pS53xI*g$(de~m0R^?dd5+EUa8ZJ7(n$| z9oA=JF2gch4Ibcu_xOPybO*rT-%jvJ`)P@g-POw(gn@43W?ExsUZYMfDBMM;gZcnc zj^;YDV@I7yNmyt;9x8_BLq6;Sqc*B0W&nqxK!}3qhh~chkf>(;$L*kHRRoo05ycbL z6eD4QjhYq+KmiCmQ54uz6;xSmu>f5T>3y;QiTsnY{RLq(0t*1f6+r1ON@*`vX~m== zmKJN-X=&GSss2lP=`w<;n38E8m?@g}ikf}^n-b~60Kl7ORGb39oE~VMB4|Hmqnj#9YO+i5o zR0XR-!8WPt!3yaU#cIu9>rGe`&IHDG;wqB%Y9sV2ifkP~$sq|DE6I*f<>6wNGV4o% zsn>W-cXWsMjH&nR!5%b>ZLnUXqGg-T2AneH=4h*DYNmm5=A9~Nx#AU{&K=p92wFp zc8A(or3VZi>q(a8QfzHllpg7kMQ!eYhNI}xULO{o(UvX}{;AUTX}Y2tU#O3Dye94b zcJMyT#_i@w?(XguR>i)yZG8mqofH8Tm>Ry>R|y~%CQ*S38-;!>XM#K@!F7P5>>BoR z?~s&1VQ8F*KtmW2@jn%YpK%}Iwr~5sFW1E{qqpt4Hd;!-g)Sn=cD zuNL1g&64p=%;uVA04x6z5YPb~AaD=Ns_QW@osO;_%CQj&svWB%Fn3f(Y=r*Q)`LKF zuti*rAQQ4ea^WH0Ng~tVBHKwLJ97W}-z0;TB~x<9imWEHFDJuMjHqBJ6UHc0u_<3M zD&ub!x9loIvTV4rwZgJI&xRh+vMuBC{ONK7^Ku-^vFZkM>I}5%6mvBkb28KJGW%>Z zGlhrh$plJdH2cKhDWdK5;fkiE1!`d|(<<5}WBP8hhIu5gR-RvqvlCk$=yjh+OL5E1 z?>e`$7L$(Gd~|b6Y?gp=kmNHh(*YWL&X%w-(I)6;`Z77vF+u;4q7Bn`bjL>Yu|VWT zy;8(IT=hK+%tJ3lMCZvw!(v6(*EH{+M$ZQXPUQ4`H0iyxHw)BBpZ@2xrSxBpb4#~K zIG^l%!Zf$Zv? z_W*6Pplx@v%3VVlT*F2*LK#>?HJFHk+qG*jxHY^+gP#?H{+q}vU66(&k2HvpE6Evf z)2EjXH!2r5aU8e8BzKVEDRVpbJ_C3l-X#AiB0xiS>1sCx<6L)h*LOQZc;CZ#^Fw)? z_f?~J0+_aGF9k#_MH0zZ5mdnu1X&e?foIxy(+Q*yAXX;D<$x@lN8fYB3V28#W;gQ; zV7S$jZp1b8Z8dCx8HAu~w0R?3#x-1nL0Ll=+N4mw~$w&-G;UVt!NBwrMaL$_@AGe#rgb>sNaYWGqX3&zY)FiB`HH6)wj+<8bgLZD}muAZT$82X_HH`tu=qE|zs8>wx2jB;_rlnaPpYd9tCxeT!}@2-`jJ)!MZGXcq;gxhiA1zMkA0xgm1(a+{Dvg1J5h{ zcQyi^bHg<#TeYVr3nW{%dp%%uJvV@T*<=3w)|Y){TmuWBy<{|k8GL=+FL+md=V8$O zc1Aec>-}MD`_t#rVV?Vn_}NQ31PsG)Pmm4G3R&tTb`Rj2d}K?IFuDI09!AkJ+1Rp> zbvopItGIF^b`Pa?tFA$(PQjmg*)XlDe*|B&`l~~{c{emfOgzQwNl*M(OMyI%Kg!2H zpUB5nZ0$q{2vv@5?*%{sudO^#36+q}#jd#k&A-5~0gPaXZ?kRv_h!Etkbx1G!Amp(E6cHojrR{py=9_ z4xJu7!iL?t)k9miZxzOs%c8BqwrTOAID58iS0F&nhLt*(@Z1%L5g*>$<8WTbkHacn zJehK3%aeU%)|`3lSk9e6cjd*aSLt4(I|m8!xoc@+#Eh0Jw{G1%+qZG!*0)>VU=|4y zWXRA~c=6$G*Czj9<4c$-Ve%%%i#4lO5mm5Y*PtPTjVe&EK)Ep91`8YG(O;=DBSwtz zP*}i!a$yDw1yWxW)*n|({tsza8gb?s7R(^13o@kHsipxHYDu9hY9gZxg3Msy8J&3Q z2^s>WX+#>9w&*a#pL*KKr!C@wshWs7+9D^C8i`06l1#D&q=d?VF{Em?pa>xra$E?a zl2~G)8j*IS@u8l2&T&%`KGGuC`!fQ4v@ERLS%#cK%hzc{PrN}I^rk{+0iW#c3 z!s@HizRDwy&dU1BP9W+8Y%j;GQtqv`wAyd3yB<61ufFOiD=-v%6O=Hi5~Hj!$R3OI zvP&_=%m>v}W6d)kLJPHy(MnS&G}Su$<(H>cGRGX+bmL9dS@n?%IN^vh?l?e|+sY~w zo{J8#>8R_|x+=c@sG)}Kgu_Ci^T;y~z45NNV%iw0c;X2b=Bw|%Mje%_zyAUp(2R2n zOb|h77+feW2ood_U1%`$X~S!Jx<;ll%=j`V6PX-np=z>h@x_uxLRh4PU=ni49(NpA zNE(Yg5=n%VL@1{wn*_0531{+fMJosL31EM75>w1FSx)LqpVEwKsy45BvzIvM94pT| z^IVM268!u#&~WMU05U`Iq=PK8&|(w-qUVAXF-cdTw9=_F&HB>JI9&}?&^#4YG}3x8 z6*N@GQkB(eT!r;ETH&rWt_L3YQ|J#A>h*(PQ8=QCA*@EhSiL{E4vG&#s3C;zs+i&m z@uFo9+6(@!U}4(IS?C~J`s|ac1*qlPA`FQ<9PpW%Y*cqa3p;#Q8fO%g2AW2oiI9xh zKdk0nlNG`j<&#$$xJinkJlLcm9a_=%CLKno;~yJ_DZ!M=h;reTreEorg6S?iJ2;#<@`$jJvyTduN!V)nV$vCZgnY)-Hz6S zztD+kJJHIoI)E(}!~g{E zQT|8_SP+E{fS?L5@Zv=x$bvA0!6P1mhCys3lMa!=MvWi?3pNs$Dk#Gl3~A%-YU0K+ zl;J}WS%~kxSB2Z5tVn<)i5aYMg??QFjb^w4zWf-YhcGfF)-cG56q(3=K}3`3gGeS7 zsl9WN!FoG-5&En#uxjuN3>=b1g=}<5H{LNqmAs_(Zuyh;sqB65gNpoeM?d>b1%G+i z-&guKng0c_G6PJ`3=K#a1QtqxKw#im90P=N{}C{|dERRk*F6ADoycWMTHeNUw4a!63mMbw=3qwY&`O18<>+TgOt_%Vzdfo9(P;=Td6I%(p7PhRNZ3MLt z2B9cLObY2R9LL0zpnS=a{TePKVcJ|3=j6ElvgA%uyke9Ym&OnoQ^l_m|RxtPEH#b;@OucNrh82eH!$ymGZV)LtC{_Zz_ zdyo@5XyJhoEEfekn9gp;!>2Z&d0_3|2c`TVyvQ>_Jl`ccZSWUj`lX(^8y-Zn8ixSM! zwuu7CBz7-Ko*=Ei%)u~^dCX-#bI#Ii*?kjL^tZts?%zh5+}cf9m?~}QORrl^=Jicih+J4wm!K*o2rmlmIkadV z5SoMn;9{uU%(PrPF1S{vuyT#xT|ZWYkNq`(gRM4Zv^iEU#0|KX-E58PZQ2=#wzNC$ z@oHZ=T-k2fw$a^f;fkB(E&q18BR%P+r28oBw)vXeZT_}+TkvP~zIVQBxNlTLGc5n! zOTfX4Z-TSH;8l)m!m}1;F^j6^T2@`0DMb}4z!>J0OCalEYQM| z$?E|@seQC~$w3Y-3aSA2-cC@e!0nR5^-$pVf-f(I4*;4@1&=T4 zl5hFQtog&DzHnfky=-SVk!JZOR#l20>~(BYV{E1Yl`+RSat*C8q5P~zy`>R3%#%l z-J%))LJ*R5+Cs? zmcgpZAQ3205-)KW6rhVZu`vETQ6ZS%1pvTmzMv_;0B~-=DVg9~27n3piHE|%Ih^ta zP*D}bVhEg)he{v>s6aoy01KRvW=hR1Wbra+(VJ|s2y+qnc5&)@k@zQicJD>mxgg`iKpgq3N12UinSRg#GBLvP4 z3dZOP!azBM0|caq3BZWpZfAB{sSMQUB}hkh$e=)8LK;}0O7t;IIs!tXDmTj@@luH+ z)}?w-YD9`8C7en(RfI*Lsz_Ks0G-pszC>Tt=zCnkjTA6=(5NG@0UHJ)maL&1uHhmW z;u^{UJZ%XiEJ-A_v;IR~Qzpu!wkBj5YLXdx6DQ3;5)%Oo#$XJ}fDDu&`Utc@6`*s7 zCMn%*Dm2lHR1*PiAPZRF3bKF-1ZMzVpee5aa8mI(!a#KPq7=_U2eM#{J`_5_;0l@& zS=ORF(sFOEVuld61@gldX;MOzfgn@|q|C)Y5QGKR zr4HGr5quLnMKbZ6M0Z$#UZ6xo{BchS$wY9oISC>-bH@+0r%Exs^5+`>5Q zqJZ$pMMHoErT{$9t1MYy{gy)^oRSB%;v6aG3P=uWl)xxfRbu0`bmZk+JmigPLQYkN zPQ9wDz-J|zq*VLVV^^Y7e}^Xqm0kUQ8VOGeWE2~0zD6DBxS=> zAqFD;NCv9_CJ!-dV#|aXcEY+G$r71C5*3L+WA$A2Xh3b1Ko9gjY*8UfAUnd+285Lb z!Zs|9Kt*FvS!ECfnAKVLB3ey!jCz1sQQ!uU1utBbv~uq;z18T>Ldk}3Tqz?nwuZ6J zwMX-yvPy%U)J*GE0v*u7FXOdH2lGgo&0f0@Uvot`_EoQxgZ;F^MO`#X(W^W<^K$FH(XJcT3WVZmN>hxZ$K@a~$We0|M zUUo%F!WtlnNScaKZ-;1aHfDcfdwj|aDzzj^a(jMuJRt@fu*#04BtwjL8jzMul$QPs znDz>s7HZ8vYRMq_lpztU_G*O^S8cItv7kna;0DGPS;N9wfdy>=cx}(ZIog&5Qm_Y< zAO+=?Zm}{f?zUL+mWKA0nfmsyl+L510&q2Da5tlHMa92NqZbrc*w)5zA@>+}l`!V4 zFx_Gbrhqer0H5}iaG>A{ihx+r^6b8#2&TYbm%~{Or-*~N2zH3Bgd>W2m5Lr#P_p0$ zTvH~X!6@uVBKYWxZX!Uk7)aPhtD=)$HsT|K(@3OY3lPbT=%u$>;v-JhAfj_2qcfF) zYkGF73VdgJ(1&0aVyCQ^BgtT-iiDQFWR^sd46Xqi*l2qU;*$_5l%&L#VEzJ;*%%s> z0Sv$Z^wgIboK`aI>UpM@(2s zcT!4vwqTG=imPNQC$ws&po=G8DyvEgsBUUF_sFGnNvKkcCk2p1{&>1D-?5}<(w8=GkKVVWLU|dQ+Nq;2KzE{6VL1~w5o*5RmLKB_VowW(8TP_j3$T(3 z%324=I`+O`FEm+`#o#Z*;H|;Htu;CJbRaE|1)Re?8J+1;oi~M@+gV-T z`857(U88TFXJfOf@E&%xb>(cqkd%ftZnN`-S%dz1cg)>8v_b_X6I# z{)h$+2W`GNjF(jItN2^-P>#o);V1kXvw9-7leVl_mE9^)zy}8 zTyj~!%IiSNvK$y6j>{8;4!qnlz`WE`eay>w-kdx4(43qFj?F>%%@aG$*LBY6oEhw# z#i?8&_S{JSoU=_!z3z>!+G1K149CMo#}Pf!RgMCaqR_Bs#2kIayp3QWo!X5;$(6#t zJ9)O%q!K$Fe^o_QK3!hd{oQ{7PL64D;l18}VSnVLyIAn3NZiCb@mQ#!2(Yzq`u-KYIxoJUn0MJc!lEfJ$b#rJ5`Z=kw694`i2oboH}y*o74xfkUeao?HP;$H5dA2%kK`|@5Z ziogc&ek-zHIeaiLoTcbk0D!Bt{(l2U@lk#&7}oJ&KE4he|8Q&Cr@bbyUGtfX^WWd| zG2PtJef6WS^iO{n0HTDz62A%>EI2Ho!i5YQIy|^1;+{MdD@wd5u^>e{bb5IF2oi#EPDF<2^1&*06B{q_2?t1Qlv`jIDHB= zYMrD(f=Im@m13{0y?F8B3bq$9V%4gZE4Oaly|rxHx_#^R=Y)O3*w}uV8U#{#O zdBjG_AzyZ;#DZn#kSbNa=%5+qi)17#bcBg4d89zQ8H7xk;>5`S00Wo=J$?E|7&EM) zIddkBwHax&p~*G_jdtw*+t7Nx{{36Gw4TDt8b6Lax$@=6izDw@R=D)()T>*U20VLq zX3VsEcg8)u`0?VGEpv$ep}~Yhho*OEKEC{A+~vPdc(9-!KNuzM&u`F19UaxfO@?W9 zl0XM;_5n*7WYCfaJKYo#3M*W=f=H-s=+jUH8l{vEOfi)dR!)`pREQ?7SO-O3Q4|qa z1#!m>H|Cg=7F=%W!=pZL4HeW}cnwM9U5Lqaph!cokfcaQTp`&PLx@Dg6<36DgGga) zaakBy=%9lZRb0lUN_K&O#S<~aP{j)Xyif&)90H*Q3tg09#%t0vQU(jULDMG~c+%Dg z7>zU%XKyTgCmjB9x-kc7q>wsy9CX!OhiRtNeWx9FoNh;6sO6n^-+KqK*Iua$%{O0t z@s$eTe*H!CAAr9I_@RMGCa9oc3_1v5OB3Sskw_S3$djC?dH7*YA&%ICiYB6XVpA+) zW1i{S71j58L(Z^$fvMb=O}HG zuB_a2KP9JW%+i@mbIqcTg)`2ss(Rl+G7UAOsN=~us(C!)XX`=xEzR`O7vb82NJEjN z)2_VsYW|W+zeXtRNFQE^F2z7K>+Dj|hUi08P*qjc9CKhr?X_3ESkYDp4MW>mY2^r4 zxqh459sohoweCpm?({_!BFH-uy-gCq0udtZ+wZ?C1UzuT2PcdIgEDmnMHE-WFxtdo zZ)h>b&S)&0#e072Ovodb{ONTmOT%*R#<}bh%rgI8bMTzroU_i%7=1K)K7RnTw?Y?9 zUwHN%owU+TU;lI-992EF*HK%2wbmtwFB8{Yi}dvhVV~X;*&sc8c8F>}#dZ*G!|j9I zCep1{FL&pSmc8ldZ{=D`;08yMUNz}h7rKEKsL(iMG0reYI0BU-H@Pe*!GiwE0>A`D z{;(>Dgma$zKnQ980uVT%3M~MD>DU*Pf~n4RCvzPQ3w0%*UL&gMMR6EO>q+$tBCAG)&^2O56tC3EIDKPGz7z+xUXzz%U@LDCKYMv4=Q2dO3=!3Bfh%0 z1ddN$3|s-^B-gJ4>A-?b+EN9>fQ84PU`txi!ofUw1W@WAgcU4P=SpA~8(aYjYiiS* z;*>|AfT0S?c#Sp6P=!W3LmGezCNO)sn?CJOPd(&Rrhuq2Ax4vkx^dJIk+>=TC4$OR z!gJyiakfR}O_6z3blw%g6Dlo6v5PGDqJH=zM(quVjDb628rL{UNxE^8CW+%5gJnko zT?mi4WWgTa*GE4>1(1KV)*zo!NV_=?k>MI3BYWh?!3{KmmF!m~!z4-zNiZcxphCWq zM1@jnfs-h>K}tiK(o%A=U=M^KkupGoDCjf_qbW^6e*y+D-Sn~*B;>Wc3d>OaF*LnVX{=czyGY9F!?Ks{NoFgF-~4iSzx%ZTVyFPiB0Xp>t#$2Bv?+~{ zkzuI7xt(mi&Y4U zYqdB=2ua>M%7s8u(Ci+CDpo-(d)L>HA2zTp+(x z<}8e_oY&LdWxy9Guz`JJVedE?I}nzznSsZ{sD_!j7#smV#{?`P@t*(bBv|bzc*K7^;upL`$ zX^a@z?o{@&Bhu`+KAR5Go;C`q4U}uE@!klEP`6Rwk#F001>pwKxaC%EN~1d~nKtAv z*bUi=-s9Z{jQ43C^jXHOl%!cG3`w#OFYbO}U;9eBuS!saEQlb$`fiX1`t5I@96Zg< zv^ANTS?~#OeVd_DI5-(TXLr&!B4*`I+6y94xc7qD6>*Bjuf>tPbG+j~D9Uzs!jcvX z8s)_zxk`X_a*w33CMy>#3_Zdu`JMZrlAk%vyTzTdELo8|C*WFmL|+a8J%aMO!I(&5 z11?R8B#qhcVyHkEzbvQ(HZU!#ZNP%P1ip;^SqIA4q1yF# z{*#}%y3M+I$#(v4pP#Q~MV|rOWqM&i5)br!C?Eo@Cx9$a7)!Exl9X?F(G$3516Rj; zy$2Kkr%hl+VZ*n98*^*KcO4D3D96WUW(O;_!ZUjI3!&!|G2&Qq7ZKQ!eRU9R2jxD0 zmn1UAHFGf+5AXn};Sriea$7SOEWt(rl|JT0B8xRhePnr1p>CU2Bl*{4l!bNj7J%Fp z7_4V>DNzK1K@xjKxr9)chChN7g;O{TuTh2Qz_=C1LXjT+ee{Z6!`DSP)+J6HdVqQsIeYBU(wwU0cIt zrC5qUD0nVLet4uXc+o33c>W=IlwGt~2R#u;KA@3@b$4}8NSS9A0Tf?<(-Y<5k3YAC z!dP@y@PJoldPOHCBY_2_RRcxv0Rr&_)fiwQ46Ac7?RY5A&-S*cCf5ZF&Bh3fCCso zX{3tsqJSiEBzKXGB4BlJG60@w00!U!EZ_n`h?Ji$z3whPeo#oO(GCO5h4869xpKzrO2G4CYR$kmjVGSuK0Y<9ogTr2XA^}P*_{tHm^LSp<5`}KB%zSRIH-mpJD>$% z&=ZtVnId5WEOj7@F$G1ynb%kYR#F2YP(DR41wUy60Du5YPz5o7r7jSf3s40s)I#T( zbx2SJWq>IDW#AghP*h~V0^MPbiEt?K_$iMFT-D)2YeuKI*=FRid<_So5h|t*8Fboa zp`xg7EMXVLnG&MLsO`a!&`D!OVWKPn6A3j<0aU7{T3M(XNrtg#Akm%`YIWulAtE3G z49osCjhX-n0E81evBYWs;EI9T0S&YTk6i_c;SpQGr=SbEt=!tJycu0g6A>C4t_F)N zC1jAS))RQqJ@mA$Pv&LolafmK5deQcfWJd}WuquwR8y~~19<>oi!XXD8CP>-0YJSd zu;vM!=n1n$k+7j9wC3Zm5E~&9OR*1Nu?c{&E}M1Q(Fh90tn9a%Vo>(TdJAtX}bF@jTv@622Tj8|Q zaF|yZwHkY0gUUFD#mcOl&LdwJ?roaczNqz}Jw3y1GM*9(wt3O`B zXZ<6R@bzhwRg(V4A)8BjdKF-w`?;ap5`s&*rF*&%kh&LZ0IWN;Ncp-TdvLNVDz%%t z&d|T#@xKViyA$`j{206#F}yxeyc;F68JfJjvb>G@WzL%c2TLFiDZQ{*v|~M~Q(m3;}0!mPG-ysb)Thdr-`xEdKE4 z!IE2Z;8`QyJ1%Ps7jdb=ZN$PY5dv9I11`LKP^JLDIvP4#zcG*iHT=G*`xAb=!v@yF zMJzl$!6!i+DznBX2j|1cM;>Ot0*SDv>V$SnJY7v3YJi(b2ol9sbH`T9$DGVQSggf; zM_%z7Az-{mVk{?QT*fq5NLB!P!)?X_SK!WE1<#o*&+x>=^}8&de9z^p5~Ai>{7f&QoDurjv6%Y-u5H8vJ?4%D@F&UCz&cFgwdIH9~zROEs*W)jL`eV-~f(8hPvt#ZxM#rzdVMB6?+u*J>d zxS48cK5#$S+iZnYxtF`vCXBhD2c2$heh(5Xas8o=gaBU(0ePLJY!U;eI|Es2(r)R4 zGY|t1aM+bvx@-~}PT&FwumD%kCRmEik=+HdDUUexj&k}PluXH+?GwsGl^Jdx>WD)C z3`~o>D6~D>ukj2d4x~E70%jWH(WBdKng~9@1wFA0F5adr;Ev^ZJTBe{&E>oC%!2d0 z$x6K;$i1q{jV#Rle}0Q-&n+j>y|3EGcR*m>#6r-C8?^pb$K3|y-KxAt;azU!9l7Tn z7U@lr>rI~RExteznt@Y_gj>IHnE){m8ea;8Pf!IC00E3qscbUX0&eIBZo>}%0eZgY z3y=USv_iOanz9xiA)`7hFw@Gw0_W@6X3>Ld^`QZt7$p+`m?0NPclI9i1Xo zHBwB)9`QwuMRyOC9m&Vo6aeo-qSM;>bJ2B z$PS49o7z1QmC7KSeL}6yTI(?`8@xV_&+`+%zUjhF2FyV0#*Xo3kO<2@+$&q$7uT{% z&LN*Q?N(FmJ#g(2mFO*U*t}`<}TK0UUTXWaqM2g?*8tK`4cG# z?Gwuw5c3j(PSP*o=YY-_1K!L5ul9%i0BZua2JZs6^w`)u9wDO)pe;Mjpy|O*yCcu( z;9=>$f$8Wp^Lx)7iI505EwUO9>ju&6a=7IQ0 z%~!b4HDZm%C4M>unMzP<~WpUsp54Mv~Lv3 zvSMlvi5e@ee8$2I3z24+y(Czr48n#C z%^)1s)8|j1L524GRn+KFq)7KHW!lu~(>*JtPNfO}01B)qdTi~nVntT4C`ybiVbyBI zt-X2?O=?u_Te!WN=AoOX&Rx9zdGi7R!qqR=8#l0e@L=|;*1vwedJP+P@ngu32YY}3 zfiTv@Tlr?rOqHtFtv-C{C0*JyUA1-dsO=e%8#i?5?%mT@+xBhTxpn70>)Ch31POkx zY|`YxgUS-3M46F%`STewo-dbh;ezxT*0pcn9wSNz?$#?Kk5arzjNl2JG-0Bk_i*^| zy`C&n=9$F$^%J3d2$4m7hn#sPKl_-eh`{}rNrXU@_+zGwMEZL$zXVmPPoe?KV4=a2 z%&70c`xeyjCT5l)unc9E5wX5yhH~*mpxTnrD5z?*@xAy~vI;BEy80@sipVPAgAWX= zh^`rbiEBx@pi+%AtMdM`YO5*#!fGtTcFc-1#Uk_aOUY0mtg_1x^NTM!=->-2F8vxV zG#}=egS3iFJ8iXI@=}W!Vy2nK9CK!yZ8t&-B{avWf{QP><0^CXQAi`LEIdjprF6XG z9!M{}o_TaMY9fGxgL4D}snrR!?=+8CGMJHCBXbwY5bUa~0Ey2{DI5{i zvPZ^%WI;$GJw@PIc1cJ?Ndw8=4 z(d49)1v^VaEl<4m?DNk+1vPYEetlCEzTP%%6awoAGng_-6Sj0=hBM7{Q$`;M7StR? zomHY&U%hx^jQ%s0kYkWfx^-k+U#v*i7)I4SCkUR~;N=l5frRWR!hUdF7TP ze>r9pdgS&;A+bCR=RI^*l4rGi1_0=xODEcBgp)SYY9E{C^63wvUR^UFs%9N)&$Nz{ zYp>%4yB9viCfjV{ccbcGs|41R?MJsem`EZ;5CLuv!fT%446@fg`-Sg*nC*%C{_Ss$ zR}DPm{?9M;1P+)$#5B8p$4#CdA`e$Q17J@S^r2lz0V(M&948P{D{GmM?RB`H0F zidsz98wi?(Dq|r`(4-3u4}59S44!Duj0kf zHpdeV%mAP~$z_--Mfe)-m1Sdwp!er@!YFwQL zH@K}1Zs~)y3n3jw$b!pdjVmY|jSB6=LOi)}Y%r8z45eZK19(qvZlfNN8gs@RdBIlw3Mx2#eluApbf?6soq#eYNQd3)gt4~A4zXqP4OdVTFHXPz{y>Xyc1oP zazL@gMo_e=En$-8ZGhtK;!G5r$CQIhfkrzB!3A>ch$O3;PPe;yMo80^6^iP6lsJaZ4xM8PzxIm|LDG@BRLre3T=CVO&OoveBY+RE#hU6*4Pl%*z!kfIavc z3-eN=yJ*gi3MFerh{V0OiA#_m@gGg6lHmIx@Plz^+2U>o4>w%;c68EN2YUU<(VayCAj>iv4IcmHSv!M%IIrwW(zR z37O0$X0r$LY%l0?7twmEN2Wckyi)s?)w=ez^o*@OW^0?;CZLl&?Ea@?a=J+SrmzmY z;DuTM+=Iywrc%N!BEwYqy(ETLxx_?4`l^^#pz!I%GcFM?x9g(re)qe4U5V?MwwOPH z7zK44tyCx{q``V+EV`B58t)Q>Anb)NQ;ruSInynt{fJ0qx=UX7@ZqiG*GChBQ-SdU zt$Dri7m{r4JYieOH{&M46YgO#g$k!KZ@9zs`mKm5MPlvI?ZkKkpNdy36|A_J#?SSM zj2GQLjNW)xc-669d0Y`6AM?(v!wQklN#v0d@UNF!a)q0Wn7lw)%2Ot!X{@YSFl8Al zTb68>z5C_Raz)HuA@fkpd|uF|xfexY^MW4?X9mkTyvHdM{#8f)7pwAisG@m{XjJW6 zArq#=fHo!FjGN*^`(`XfQS_rXrdD%98dr6N5xZa1T`yO(8e`ZYdu9VnflqtgtI-9OHFKPiGnF#8)h;LnhRvcJHysQp@$Rk7GZ9BV9H_SVx*Y z$olNiP^cElHJ3mXIoS#*n2R(O1?<~^$%Jh9hJzzDxnAH!dNJV!2SYW?CMytI%xIK2# zz1U=QgEiq(s01uNx!H zY=b=T3qQNLn}o8wslW>JQ@>HMALydNU1I*fVUUXLf;TXVzsOMy@>>bP`-?C^mi?f2oK~EE&LJ^tV6_G3=O-zn_EHQs+4c*xgmTR8N53j zARufRA&j~lDZ(F1qht}9ide#GXhHxyHz*9FJ@Bwxqrx7rLWaY_ztF;0b2uQwDKI2H zF`OpVFhgf}4K%z!HDp8Fa6{s8tPhw&FtNkK+W=!cMq?a7uMiCmvppb~wGYs?u9C)_ z3y(hxj(t0{L<0&|aWtaiJRH=)#s1MQjd~oZI0`@TgGhV|NP?t5w4s(0ASBcP4KNI^ z=m|h!LTB(3e&k0_ls)wOEYsME3Nnj4gCti&A>Cm`g}gt*kQ#hzz@S;iMw&%uqQGis zzBEj>25ZBqAQEAuLt-2OWJE?~Tmfd}1!sgtYCNTulsxXZ#stX572C!eY!GiuH*lmu zacnno%#|-XN25r`b##h$WTAJoig*;M0V*|mw8s^|M|04}e(cA8d_sXN4T8+0D$y{6 zER9!VNG<%ahn$_WlgKQg$XT4Gt&=2;)J2Z$$lIU_dJI94G`y0`OTA3SJJc}b`#wHA zC2KsQ7lc95A~>TPoat(i{-0o+D|(+9+oD5k%$3M4lwq8rs0bO+Or#*nqTGX{bjOSH zn^%N8IhljYxfUXMN&xVRyO1PTu}Y2MkB`~BVIalZW3{c29_t7iU`xe?1i^J0%P~6) z^1>Xlm>3N+v;P{ywq%AE+Q_o;#Y3429H~p08^&TB0V$Ayl9T}{AjxCoPVY24wbZi@ z8w@JI0`_Fj8ORnbdKum6IpT$H8%2c$Af{=}o z%ob4wGEfG}WE`eT1TrXt11&htL<$XIfu!)vrKpei3r(aP%}?31(?m@)8lcsz$JShd z*M!baJQdk=l?FlnD^SEu6x7Wg;LQv0&E%^K;EXvf9L_B)&LS)pn=!QIEU@OhNJ+{? zlbg;AG!(3p3Jk!2#~{X%9DyqE0%Vi|E2skTOvWzVfRkKOtrCJNm;xH8f+zq1_@n_F z$bf^XM(w~97pMX!(9Z>MfdKf=#u63UySt&|7-c{ai-JsM7>c-JhC@{blu!{!ZPfLf zE1yUR7T}^`Pzk2nR2CS6L>P(;O$wDjM>6OGbz};S7z5ISq$6p^cf>c-{4gXXi;BPs z(EvGT(8o_)D}ZE`1fn>bLxFRW7CniJ$`VVW(hE7cslMuwG-|*SVu2-Pr+KNn8GH?S z^1JEN4PO4FzVN!zEVaWeEz@HJPcb#gGCk9Z%(cM?fhvFk4~SQnG#EP-kAp%EJ=M?3 zgF!)c974^!!zl?!l`chPRO@n77AROlOxQ}*!DVoXpjd`0s7#^Ih)@+(4xN!v#n@C` z3O`^0F=$m5dR5UBA6d;fu1U?NEP-1^fn3GAU5(LRjTPr2m0)E%+)Gbly*Oj77i6t3 zWsSSLXjc1rR%43Ro}Jceb);+k(T~eKZDlHMRYQ-YPLvBT3$TC@+{?U_0UIbuFG$z% zGy)sYz7$-D08juJ{DLpoi4yS;{Sdkpk%^he56o2%&9yEQ`Hx1>qL=uO(e)6QfQg=1 z5er3#5!qZ3Ns!5<5Jx4D6tR_{povTUkkf?;0%1fJAcHaRi4{qNq8J017y}3y$_(`b zkRXGRZ3-~}gFdJ<5k1Ox6tk@%JmgfSJXkG1x!F+}xRV-&oa7iUqqxMFjDB5-x`PYk zBMqa~!i2=PmsQQ!;iF-(zoyNLI?;=HQH=wNh=+K~s@=d!azi8gsIBcI!^oRi_r~<}yT+0iCFc=7C7=tbt1LP%xUvN+}7=uOtgAL)-F4&KVHG@W2;?P}& zmskibY6Oc|35_V-VJL}D9Rn~J1BAF@*j0urmIy7LVly}hOznaSUBnCR2{9((-K_{B z9^#%Dk&N9`BCgQl#bc3G-i`eQKNt~KZ3>K~-s(NsCCb9x(cWZ243iR@@BLL$5#OFD z-;Ft6olRfPTHpQ^Hnn(PW}O3uoZqvnUlqOI1}wt;#f$#Ui~p^Q0GomYfKS2@VGq~{C}3eI2mufN2;psJfxv|V zD0l)Ec!E1c+{D#kt3Uu4^kFz=1~MRnMOB6|PzH?ciFYoM-z^C<_~Hs(2!bGqg+&Q6 zc;bJi*qyk7ea6_LAc&qIScfeUgqDbVR@f9VgDQaLS{aIW{)vr_SkK@BGDuz2J()1h zP|d6YF*pj8&PwVieM&Y2Oa@q zMq6Z7X5bmPW)`w%W`Ss?(`lAhgSloFfC3vJ3~s(=$g6=Wcmn=$CTH<5=iqPxbhhc? z@L?>z=bxzOVYufgj^fny5Hd)Fge6#khG+UgXoL1t;tg1b7MX~Sh>3P+Gq{3?W$nrI ziH(NskoIV*D1+b??HyzR=G9%JIO&u&ik1F_kZ@_IfaxGSs+p!~SOwJhfMlahS)OJF zp9X574(jnOYGQcIZX|}J2Cb$3k*2mz0C?)Si0WLJYDTi^ywF}uTLG;Wweiy5c4eop z&b+WLV7aV~vR;V;H~_THOJxj$D!@Y!ybBHk24HYBK2Zz4z={^$Yq+6i8lZt{jsh0Y z<`A|43x~WF&VUXW>~h{yLQ`zLVQlzd=-8H2g`R9T2L5e?9tIUzhC_W~fTm|iwFo!X zB7{zaD%gpV7;VPE*hEMX9hV7&cxQxAZPtDXO$CbBw&#%E!GuQLP0d)z#%+^s>EAZw z;7&)31yw~R?(Z^L<<0|}=8U+z9Eq!gqTs|;A!;xhJ*JqzpAcX1bt8Jw-pzt9>%c}s zvkDGt7W0;Byhv}}v6EMOS$~tAE{x@PxkyL5Z<5RJx%B0!=}F4&KX0E2-@SQ9A& zCcX(}sCJcTXm8hSN9Az{DdT8=i4+-bDj$kz_X%j%h>KQ+bO+TgrsGew@@fx>qIhSE z@Pl7S1mgwXbo7Hh5Lqrrg$ek_*)7(Z!|kc zYJOE!_=;F*N@bddUB-P{D4sY)pghf!Q2C>kJ_Exzvo=3H;PRygMEf^5&4f= zK@b@~k)ITb(DsQ94T(+Vd+ieL-?dN#nu;=5XsOTag+Kj|9RufWijaL?9V_!Zzymx; zlQbc##E3gN$uqSOVD?$?CP~F5g$n@Ynf2Cb`-QLU5oPw(Gte>byI`c#(sSfwbo=Wq z`c5gX8(<53KDor&Uc7Ywc6vL6dhQdAWVZTV!1|)!dh71`5VKdi#x3gUHtwi^3J5FY zVeZCyH^zr?fLO+i*|KHB4k8?=a3M1mED9bh$WS4|VZSc^ifC|H!Hyn3daNjNB$+ZB zD>@vRa->C!4l%-vd9hcoJvRPt;!Lz<49=cDf9}a6bSTlHdGO$&qm+)rrcR$ib=qSp z)j4zOV69_yst+GnX%2MeY#=dWG;L;0tF~*`v@~fFeJl5E+OAVqtU!UHM2Qc6KV%4; z;lTp{0HU(M%8S?Bxw#(a!phdG+RByf_P~o*FJHcT@lp*<)iUXV8F_j9XM@Twd&TdPcLh8s$LJ? zJqXV5eLQ*Z4#Nk&png4J!U^8PH*6R&{rXY$R)mNUX8w~1B~C<;Kmuwsk$(KK1X4)D zIK`5K%8;RqN-Q`yq5e!4#&i}?HCVHRB2OYg_&`jmGGHynyEl-kZ-{WN8FYxAg3H;%{>R5bktoJXm-SG*F$&T zg;$=U9-N2XdhE3aUwrbRSSfw@{pTNo8jS>?fdlI2sX_;0HA(7^7Le(1_WMq794Hjy+=aBa1@fMWm5_1xA>! z4l$Wkn2kl*{uGr|TB#Y9THYBfm0&U^<}hSdVp|GgMV+P4MgguECtAreg%%Y z(aHUR^s3A(tu$dpv(AdE&OJGltB6?fN@8g8DJe2k(2h$iO*0`|$FfiN5O9rDt@s#_ z)aJEUUw?U*-g@srwc=M#LK#_B(k89d9OdfemuGsxZCq&M3UyjW?=n;7nXl1%uitI% z+pnDfPd0G7d>*Xubk{xHI5!a!GqIr+UtD>{EO@=~1s#8!K*&Z{N-}{hy)0773$4u2 zfF-;BTxx;}&Kx^JHH$<$&a&>D`yM?9^>ZCTFEuo!pg)Cl+Hx^1In*{vt!&gjnq60r znVG9~kzHr-DA-SlT?g4^r-gRXRCWaq;lvg&p+!Ie{XW)$EF zjVd`rn;p#D*fO;)2} z<=BEXKIu|3Ib=1}nT9i}Forx-Aq+df=PNH39`$sfmXLDKq@vhMRl!VCiC{q@mL|gl zO%isis^ETpQ3Wv=Gj^$~W)6Sx5+P>OCcOI)QGgb-Wi2tB>C+ltNI(Mf9F+y?8k-o& z_#!b%t({bBQI0ATP&!s=dRJm=XAY$;Uh2g#38i8dv-nT(Rfdet>yl!rBDa1ft!@nc z1-#@nNHwjgkoLo9Z5*;u|8*3A2OCI9M`|6Es?-|SaOpJ~Q4R;jv>Y?7=}mLGQz1Bn z2IGMO6^bha57>YTP)IHdz5|6RXzT((wWWF>;DqbKX8}yuE)(Kv{+|wYC=tU@h9${s z25Xjq1w8CURz*U?4k;6v;5CCm%mCgph<6x?-~t!QAfby?0Ssm6p;mFo)m2^OtG5g5 z?pR=}vi|O@H%jXh*Lp^`!u63le7GS{!Az(ojY~YaZupkCdU;zze z*#Q<%_W}@z!4;|i9~ZE|3ElN>eX5{^G3-zo5W2#oH6hfuE_nq_{%C-rJZ0-#0}PqOvX;BtWtmn(84dx% zj`SjeG=JyKP+0DA8C3;FHP<^E-!l~a4CwV#paM=X^m`WI1nt6_(TK^ZewjK9GhBg& zIX}o!o0{pTE`zG326e1O-32n3ng!?W`9Y|wF_UXPQ$ZB6OwK z+>)Xe?=mK7{H8zCAvX2HRi}Pn+3^}CPRY8jz3wx!^2$bPO}0HtfMM{UC;s8_E@skQ z<6cPH+8@3?p6;bt@2#AqxIh)WfC3C(RL~sL;asKh98-;f&ov)MJm1o> zfHEKx^;sX&4Fef4m3V327;qm}eIGT2pG!0a`E{MwZ6NTdU)fohJ-wg&@nHtg-}Km@ z+v%T)F`yQy&Hpt|0J6mZ8ek(9AOaqg0?t7p(wGAR6a?zuWLU)n>R$!U!39D`2EIiH zLLLV$lw5$IG>9MxewGPZUJ6>C{=G;^9Yom+!l3AFK?2DZ!`+rkVZ&^pUIaD56)*!$ z^uQ7vLClF93%D5+Tme*6!4I}sQ-nYU*Z`a5*?Po46jVVB=+Xi-0SmmqqD3K8B!U@$ zfvRzVGgU!;DFYao!K^V~FCYXuCc;vg#5ikhfpl1laBCtZUX++YM*Lm3ofFZ6&CXn__$ z*LO@o6hr}^MTMGqKwUaS6xe_t_GJ{Thh0WN6U0CQXcu>tV^ma7e%)LJk->TKT!*v- zDk4OOID~)c*L@j;sRM`F)M zex%wtTlbKp+L+{w-QSEH;!1W!OV+_l=0Z%;$4m|nB%Yfjq9jlHBvAT-Q1+%t<`@|v zYqtABDWmifI5XInq(pNnW!w4EFD@qVEB#&BnAZo-fsrYF7p+nUTGd}3)e$me|0rvo+2eGWr@QqF#2 zjH7JKe|k(&h2-$r01EujfqGwsoSLh3Rf9U{%}m{dil5efRfVQSMTQ22sTGHAq=$ki zi0Wpgj3|wDm_MPYAr>WDu&4pLsB*%nX{`WuPGVBls4(1Uj#lT6USf}K>W_MAkUGPV z7U_{9>Ha7wDXlb3S~MwVJ*jyXnLbP@m1>?=Is{f^DGY9@Cv_=(HjG$Y1Xi@o2aqX$ znkmOb%A{N>fx0OWP34_d)fP_E)wN23xypiV$Oir?9iSE2nO*z29|;_4x_+pLW*b)Q zq#)*GV;HAOvc)4tYo)|UPi9f49>Xyxj5YwQHYf}-AVXPzDou21cTNY9n#qyQOXcmu zJ~YfgENN5@g;P1yDq1CO6p}+^rJGdgmHz6%1uK^h>n9bfGaPFjBTJfA z!w7CHdS>3omR3_7Qm@jYS7K?&Zs`M+r31-lmwqQP2nEHs?0EF&nN|Q%8Gr#KDht)D zfx;@bTInr=BA{B<3ZyQfvaaijaN4aY z=*aGg)~<)SBmm%U?!IWW^6pdkF7OU7krwYX9B=Zj>IgD#Jvgs9KyNiD&f4yTE8;?4I$)Om_;EQVHWn6H&4Mjb!{G^B5!U;{Rk12(Xf;)+_rT>}G= zG5j)64JNJwUBe{B@d1fNFC@Ye{4W51hY+NhV5r9ol#mH^4g(tvt3U{yiUb7jY($j7 z6})NZ>g=6j218kVd!|1IQ^X)w-aXO>};xaK* znxbV+9+V#O=FNuRYO&yU@fTl57>{uoKhQOZF-xiOCT*!3JDfRh5;xSbTjsGIn@7oo zka_^<%)%(Ekl}+uas*cd&ONdPf8Qi)aJXJ_CU-DKb~0alGDnK?Lz8e6n({xTvhJ>O z9=YgI!E!9iGA(<9E#tB-+XgT*?=J(hFz*8~8?!keGdf(e^~OdsKeLxbb9h=TH9JGT zg)cV4w0dsy7I$+kie3YigEe5oCovE@R|hui;&s#(HfZS^xH; z6c-g7S8^?vayb_ZDAy1&3O#2)2Ry+PP}c)Uz;(g3=L|r!4nYYdLU>W;L0lSvIplrO zTFu2;8T_*&Bg9>US4Kb@csVAV`g83x1)jo0t@OmuitCLG>Ox-_32*=hKy+vKVJk!8 zut04VSw-H}2dLr#F6_cCK*cLN#VaE(Y|HX2cY`g1H1p2W$?aU00%c z&I?3q2K|B#CIT4{_Ralch5W)8bio)v8X5Qjgrt{+^EE&p1czhzg>NREMVd9iYUwx# zQjrcuNH$JT_Oe_yW^3eTd-jc^2WT&e-aTz_ifU=Ua8#hSYP0rJxV9^Ev~15dk=phx z<92TEHfZ&>l>at51UEViH$N0N5;HS$w}x_;19P|K<2^A=90VZcEh|n`7GD$#RJW2{ zH#d7R;gW3p25W7B!Iiyd{k{}7WajgBgEO!iJQu+gK*1N-K*z;i2rRmH%s0u6M<0hr z>=AecytT_!!2)1z%tdR3S3!lx$`v}MgIEy$t@wc$_`&i)WIa9;89E(4N}Q`PjZLVy zL(Y0ZM;Io{I49Hi8QFLr>W}_}ax4YLcxYt0LI4EFoYn4Riwe0gtoADtEWu94M$a~F z4{wv-b`Q@+#CrQa*iWv~k06-|!*GL{Oq7@3pnQsjDC!Ev5<>_=lyno4$BO%r**g`_ zVo=|rmKp9E!zZ8n;-3R?pbz?1$6m*Iz@j(0#zFdbNV;H9`UU(ao4LRObNZ!vI;h{x zK9f2ar1&qWdd)afVcT38Qtan{s zxVwnJySxh$Eap4b>${s%6j##ulo_r}G4++9l<0x8RQLILf6_^f!7pIN5gfq>d_i66 zckJ1~6jXtJ!`VDXI$8(D#HU;ndgEaxKowL$2{T#=pxJ|ex~Sh{g;3Q+sG+J~P)m$K ztDpRb$Uzu>Q24p?+j_CHwH}I8@}ADmO)H zFRbuBee*+oZ992LQ+<@Hy_YL7G-H`(SwHr!dmFnd)4aRR4jH|tiM<<{uBLr9Pw9!E z@7u?x;a0=?UedxHTp0f%-u}B3Reuswn^GcRMHm3YmLf%j!dsS;yG1qmKwG+~h-fs-mP7`Alz5@yVpC5CV@!!XgXVamXm;gVBl z(4c0(BpNdYjGshc#w1F_!pyK=PgywK+0$vyVMbXr6{_>suRUY;gbk~cAy~7$dXXht z2X0(CbmYkCaks|`y(?6xK=Btv3BiL27aq)k!$!r66>D((m~mvuksTZMpmDO~3l|`C z_6z`kOwprR%$ef@wGYs%S%-d!3)i%1-Dr2)b{lu@+_k&WqgM}jaD4dm>D#xjcyi^- zmEUvz9C~!=_tsUn{(k+sIdkR8RjbC0n|AEuv1>PfemnQ>)tE60%QjDZ`SIC?ZSP(D zy6MjuI%i&7I+vgWaKGt5V+bzq6kL$O1{b`>j4~Q&5F2dND+faKG}JCb^B|0{j6He* z0t_v*n4*Zw9*QE0DWJG)iWsM0;h>J9$S4C3SY$DV3r32fi69d&AOR+rAPq^Fmr$opo63M&vTA?-97=lf=PIcqW zH{XJ*XSh-R|2tKm0#&8XI_JoHl|1dh^A5cHV2yRd3%w(T7&YOP&)52XamE?^%&AUQ zRFzFmIsykwH9D6PbdcI=tF7?D4Yl3SyY|?+>#sz`9hcn59Np}J2T(%E00Sna6yBE1 zG_%Tj>zx;0v+T8(UNn6ji_L$@ic`)y=BiV#z5oksPdyRy6S74mUd+%#2TOF~49%G4!JJv|xJP)98_xMi1HwZQ9Ky_IHJxuG?@V`&~wTV1Q+)z|rg?IkQ? zjYYOVmz8Z6+Ghi7XubhxPPY#f%9xl<*Q1XKdrmI-VQ?wby=0 zFOpl5jknG_4^?I1h%@fE(p}yUY3X)ey=HS3b3K3>pHsr0POA+g}hO+%^nhM%P$wL?YZHu z`z-a*Y+LWR^1i#^x$62G@D&7a+~GbC=RR?Yt61Y6x0uLrjB=mR)cG)nsn)oJbDonR z=tL#D;*`#G%R-%grb9aqmdAApf}J^rM?2f02Y1}i-7t7ZAK$eJc+L>s>^Qg|QZaCHpvpmw;kpjzq7gC{&s3W>$0vAEE8?F(KxWY)vuF-M1{ zY@W305JXp2V~9np-mZv$oeiC}BuX2b`@vrUnTR+Ja}-1ojMss&$Od`n!y=r{Z& z3{Pm3W(h8{MmD-pGIo@s2I#0KJ4!5%dE8@X`UuR+333I5G-NjrsYp_d{;rYCc_buh zCP~^+ay>Y+l?l;tyK>~t8J_&r3yF57QI=Ab&q5^&ZpgeJw(^x_uttL#(TJ*H!wlDu zrFI%&29J6a8|E>CHB{&fwr~vvh+ATzsDOnUe6I#k=)k$g_sc&5vWf|CiD0l;Of33t zEXtHq7{DNgzTKsa3;WA7nfkxM&C!3-#F*k7MNR}#u8$qdYNT)q6V{l9ExbBpA{BW- z3?k=ctD@%zT{0efR;R5XtfYc2=~foJN|PvDPkRI!ABKeT7x$^gKKIj~0vYyc&G8`% z3d`7gC=Y574Wcx*Frfumg9~K1=oYN8QFB}aDxfvPd9HztlAculdnpCrN%4Ux?zIj+EtxaB;~s)IV8fGjIbP>^{hEq(Af@W?TC3u zVxlr4u8Mg;A>U&ZP1EJewA~cES2WX8eA_Se3G_|N+#6gDRwv}{WvR~<@{kFqQWY2Q zfa4q|Lns&Hmgwa!aEXstyKz>uo(ekbt>;~}{J|5>imv|ly{CS;^I)L0X+D32;V_Ig zSe?Oad5TqNJe{M%96A`nLA1s-CQJqkkI)>}2q|eBQN0g;__Gz&=&sBV21hFa1va1p z6(n8ag-`(sCr)u3p)iFf%+yCt5VfcwfD%y~$;mP)!;`||XEKc8w?P@hs>?8jpd^CU zA=-l&ay^DU^uf`N#zS0!Er!4SIB;K3HWh|IWM@0u$OQ!7#+1BACQmNaEP!$kq?`vT zTX|{E=`yU~JMNu*`DS6>=gxYj9y9j}&GJz*TVi;$8XmSK3~p#V6KvU+|Xlz*H!{BKIQ^pVmE!^M+SpKMj4Y0rh6-DF=Rd7h5La^x^#h~LI z(AW%E@B}BYzzL;}!AD}C5(H%1C0VF~Sr}gHx{aXwJ08%Y}z<1&9 zM<;^@HEZOq!xESvjP@RhFz%Z;5A&Q;*m7$NKOy2*c*ba%a&4=4*7!^Pjbv8U3Z zzg@=pe><-Z0nf85E3|MhkYU3c!bVHb6LD@#{3uHZ!wpan@`rf*GEmTcib-zrjVwgv z7XZN%B;bTAEI?gVsDcw}&H@GCyd@zw{tJzF%krp)crx!lHjkm=$@3tKl?HCYuwe_z zfcrEm_0D7Ugs$}x&UHGf3&dav?jqzu01B$$GHO5}e(*(l54IEo_%voSX3hm#O!-EQ z32qMhSRmy5KufBki`c>ss$l83a1Z!^1(pCVN~8|t;QN%IPRfrVsvt1jPubXSFyK%y zlnv}`z%e#LFm#LlO5jrZun!yl=bQ2m$s(uPAVBWYg>nRtQb0pa*rGkS18EpAlDI4a zc?gVC%Xr4)u{H zn(Yf>Bm@AZ>`Fin>CX=jas>eK$OQ3@2(j7@aqcEZ5tD=w9ZCn0Gk-u7~cZ5Z-Rxt#lL%m*c1Y>bkX7Q$KQF~T;8IY-G)zNel*)_> z1DhB!|JrVk{x5;xk~A8z7Y@qYI+Dvgh&9F|Bzx00L8Co_GZo$J0!MMb!h!>ZrWbTV zz}~DCi#*DgEdl+YI+hof07|~ktl!C45o*AHl#y1gdseNl0f9uf*=S`APiz8 z3SNXEWMm2sLI~tjMOa`*Xdnadb4Q}U5FsE)j3fr!1;)B6M#R8PjB)Ak@{`2COUM8W zc2Ehp4-CHGE{MuRzThu(VA3XS3iOc*wf}~H3w0g5(qXEu|U^`Hf?jNHtM7o3l7m@;HAXIeUjWhciEt#TBDd zIv*=Jsxz{trfRygOVtBA!xS4<5YRS?mf&IscEHHGr^LjjQ6SQ$rjP{+g2I;#{qcqpNmLvs*BvaSU@iSkQ} zQcQc2OvBSme})*)R83dQd)k!k(B%;0bPDM-59|~!#0X&!m8tsFxd2rIq-jtI)lmON zPZO0eDyC5z^-&=;QY5uUL8elN;Zikq9XNG7WJg}D<5NHN?m}`@U!_#b;oW$r+q#Y3 zTJ`d5NLE+rz-o0lZj}XeQbBqZOvm&(!&G`w4?Mi37e*{uanD8_)rsV8U0zI1#|T{h z5p_?83^AaJsqRoQ_T*CTf>32Ne-JWU#}!#Swp`clT+>yLBDGPp6sO4RUFnr*>6JBP z=UzkdBNvEa<@8AXsXM)+lT7hRSG7GJY*Y>QX$p)=`3-2dR9CyxSGiP7D|W*!mKna~ zmXv5?txNxUskT5hUP!iD14mp@mIG9FnphSO_2gxHAZA5|X8Z7D*K{Fs7DvxzyWGyI z)KzX{LTKHrXeSpPj<#}>Ruh+YX}{KKjTCB$QfdQ=YM=BXv6hrrk!iLzVY@b-IJaSQ zm0G-1V#$_bA9i|(h-lB_OzR*`4L6s*XKbFRwxnoXaf&ri^JImroBH%m`n3L=_GB>x zV*q3neUUipPjn#Km zq@_4E2%|tzf)`|?h(J3RG>|tn4Z{YqAPe{hF-CX_3WtrF_k^=x3M{5!qL&Y+ciXBL zFs@foCwN@8mj$}_0>0NFA;nR~mx0RH9L`sL!>f34?nv9$LEe|Y;`bB_N=ac=RqppW z=?qJ8@?-k9S|m(C7{VGLjs+^DC4SW>h4r(pAfv9J(9FX^iuOD(R%5@$wMzcXB~;8& z;MBI3*vZ;O?#QNZ2?GV3E`%E<1g4-0K7e`u#4$pkF=2RcqH8e1)p`%Ia4SZWv-fu! zm3tA_O&3>u{TN=7R!&bDm0RKySNRi5ktOA1xa@;|V{%sWt$FG!VLh*hV9`2V35>mi z1uU!KX0VLW_;%4l!!#^*D0hz2He=UzV{uPe4d_jqwU1M|B>=g_1bH9}BjgU*PeP87 zSJ;sqgEJ+$VJKO8P4%83LRIV}I1Ssj_!5E`yVQH-PNfp0P`a&xNP^8LiV=G_(I`uOJIdR4@jDGg+VnIPME-KbJi ztiwjE$GT_BdWcC`t-IU1M}w`2!L0#y$KtwG=h~s_+Q9A_e-%)#8$|R(&ss(r3@+N3 z30p&Eundsd27z*n%R$gy?+SWh3|IgN{zBOn;-xR6vlHb9;m8MV;0dq*1U5tYT<%76 z`kG@527>Mq2Vf;WW>S_93PM2sN`NzqAmozz4ZAM1X&VUllk2{qF>T<*HGngj8+$*1 zVk{<}<9UarySnjDQ0n=*uPeK|OI^R4$(tNre5X#O)c|GLbZPlYvADgV6FMfP7UMhM zpr^9#JC?LXzxn$-#@Mk4+s@S2xp*Co^aGqd&9x2!#@(l zUqHlNL(~*vL{Xf#SG)v@;QiR|#Zf%QoldE3oJMebxzVUldR#Dm9G-(bj)weeB*w^( z9GsFod{x`YQyu4^JX)pPA`QCA5n4L2Jc}E8%UuI5M2{i7Jn^Vy&sb2S#k5SX#updc z%sE7(tihwKrV+M485k}PRv-(ofO{JJGE$7h>U<+Y8wzZoM=szBs^9`1KmuZb&xzN` zI(z`QyCu+)A`txpI8!k0F&}%oGrze6?hzl0Akt_g-edf^bC|~&P_7zP{r8U!1$uc0RxVhmQ`>xuv)xKbjffCf~A24-X|GXS|if+1#V zwAu0r+|pUWiwUZr1tgvY*wP>pnFWd>DBj z0^Vjbo#3gPTn;|03rOL6nBj}u?;pqQwtM0WUo-cCE7IAvYIuH3Ok z9!pCe*H50;r6IB-yVn`yLo~WONo%yKXFNY^fko=0V6Yn&j!BHI2SRj5YQ#QaBtK`G zA$A1R`ZESvEVZ?MG>n7^ZmM01zyA1LB1n3KrsWevJCq7^UtABt!2bqq-5N#1Q`PKOJWaXyF|me70*b48OY(e>6Zi+vpZAq@27!QOvH?l#J)D z{f)gB3n1#$kw&nfL1+k}5v<0rp+kn)u$7xg(VWGL7&B_z$Pr_=ZqA(b>eZvihYuc7 zs$9uZWrmk9FUXu(p~8ck4-zB*0Dy(hpFo2O9csV;PoYJVCIzZf=F1XLqe?YlVujTe zQnP9;0kbR2lVHQ5^x!o^%d;v^ru5metlPJ6#v`Pv2>useQI? z4O_KOfd+HymiF*r#EBh)Uj$7&^l;)IgERc~OQ2)5Xrp(XNz*1yokt~WN19ZpPM}4f zX1z-OD&(yt!rFzIQtXGhXWvF=`BJamxOCZ*g^PB5-TVH%B$H2n{kPqL2qySbWC=p% zpo2a!D4AsxQs#pXn$@w#9-I-w&_tt+w%ThfjA-JCtj$(iY%Jim+l#$9^jkT?30E9w z7!{XXN6R%=$8%%N*H%o_T~HHFIqlSwg4!wNT>{`4Af8m^m3Q7&>iO56Snv(mrI7Wp z5N2KZy_6Du@dXI}7k~i{$U=c~F)8Pqg-LkegLtA4p`O}RSmA{kZrI_6<%CGui7TS0 z=xVd+lPHM-#VF~d6wz4YMjwGTX^f!lm?JmLFq20fB|#@-ngUjbBz8P4NoQeCKAGK3 zQ=%8um0D?_ftp^qcT!pIooUvo(%IFYSHkkDtbc5JRpbTJ&GZ+65WH&bwRQ5jCxdxD zC=_`>S>-2%fNHiObDwc1(&u3722>`T7B*Q;2<9(*jBsOq=z$#IGa*R#>`MWHh3-_Su^ew?%aKGDa0)=q)7Q zA^u=N6#}O)>m)7#g}YtM5a$FZ#0mfkXh8rTmjKCGFg+gQmF0@Xu@7j@SDg!?OOOS+ z&^0SA018Z8PWKYkxex-ZtJa%RH<;PYj&_N$U1D;$N2c-G%%>z(i0RabhKvvNXNe`$(6&U767U-m67mSKevJ|>4K?idlj7qRNXR2bc zrGzA0&k5bqtY)cDSuYHwC|wB1Qa%8OOtO;?f7m-At^kNDC<%Fb_Om(=uNT7@{>EpF zV<;y!FKNGY9u!+NJt|h?eOJul7Uu>UWQy$?^4nAzdt*j4s<9eutcDxAA+|WqQ43!P zgIa_zg(*Vzu@)CGc!fk1T<1140#aV*g56Jk(m{1Mso|LykSOBx+8ib zP>dO)^PbmUIO526tziZhh%u|ZvEDSU(1@>&N+2cSp9tRTfe@&*t^;&u9{GC`C=3w5 z&pMJlqrik1AP|Dsa)Mv`X~d}!~QU5`1%c%Lwb^(h1E26JufEYv}3KD2^6=o0v2tZoW7N!^t*gb@Zet`;E5P_yY!08N< zu+zr!z#~`9g3L{h#HHrwsq>;oRF|~It`5wzJ~`_h+q%}@!L?#^y(C`S)Rn(BE|Z0A zE@CIq*vOWyvW3ZP>pJ_GRhU}Rc{3?&T!R}?y@*dNqBZoX4;p5uf;FHKDrOL4s)^vj z7~o79tDs;ARhU9s?Q4T8K%oXxC@UVXP=q3UA+8~q0t;&36B@wUNEOg4TL0<5eOn8y zPpCq`A&~fg!w>>3aO?|!GI+OIn(lVzY(_~N{>f2~1z4X~ld3)L`Av6x#il-$N7IBB z`;fFNtj<8}dA0H)wLHQvueHo)&L_hi+1E%0-nfQc>?Iz%%2;Mz@==r>s2$x5Y%9b1 zn%cdnTV(3yz=qbQRt>XZO&MJ$hBDG92C#~|?63SnIm^icbkgA8|Awyz*3W_>e82|m z{~Hwkexw)>l%R!VEd&(>F%U!lCIOGf1PUlvKQVxSa}w(}1s(QrAA}wo2T3zVG6+L@ zA7^@~mwH07dPCBBDzizkH+yPQd(?4zxo2y;w?n;mJHHo1!c`tULwrAHd_k9N)U|x5 zksY~^3%zk8<8yTWf*jVzOb#&((-12Do$*y85pE^%AR@OnAQ)131xNw-DzqYNwY7yl zQ4^I07MsU`l7n$$$SW5$EEcn36<0~5rV=8!AF5_TuZJ?OgJUX~V=9$fe!)^ta%(S` zE!o0D!3TUbNJ~zZ86%NPp%P}#Wg=G=Jv|6r$_5lcID|K1gb&eO;c23 zWJiStb1-*=Fj=@NN`ft2cw0#_WMZgcVo`>jXF+Iai@R7CYnT#kSXysrFmbpRC6^y{ zh=+H0GI_X%e3(*x2xO%ch)FVtgh&`Q!vYUNQ`@+6f3k>}(TKzFh`jVulK2xug^tcM ziCOj&nMgiF$cYR=gz;DnOvwI(PWWxSzzYHq1VK<4j-g_ycxo-77xds4@r1FbT;d3pra~_=-URkr=6w6Nx1#W|3NQmScgI9I2LW_!A(B zTB>)4Bw3Q8W0EZ+mMOK8I@Xdd8FMgcGdi>&GMOjbn3KhYT;O<1J}C|O5{XX3j`6a5 zMM)z2c!c%1l)ZtE;r>Sq%&}hQw`32Zm7QadMM6&!W)%9QAWh+ydgwA>$O2~R9%(so zA2?F0XNDyZm!@{~1YxiRIv|iMVFNU9DmD-W=tP2SAp|TSe+aXsHXvYx zlmHQAEk%(!PVfY>Sx*u)7#(B->_&za+L4rlmZEi$TT+2?`Ju+RiXwT8BR4F<0$Y0d z77TiOvKT|rNto7Hllmm7-Pmh5d0gJ98AwEqI7*c2IF!rw6F|z8O8F2(I!4fRM)9en z^C^m>32vs?kNmR&O27g{V5OaNZi9MBbcRWOGXrMYM`TGSYx);ea0PGr0AD$V6ndu= zIfeqcEE>vrcnYWF@45Hbj`XdHXxSuy*dFN&W>$FZ{3I$Uj zrhfAiT{?d(FtI|SPCg-jLO=ySK^7hm1%DF*GZ6##i51VP0_OSd_0z=?X3#CXb5Uu)Aml{Nuc50y{HjMw-Ieh7@rX!o- z+Nijt6A1*9xs$H8Q>iz1Q#JKFL?k@nh)cTU43mj`34PAu>Qg^Lzz*Rg$5UueYwF<=&XG+8s@0%-nq z1yPUyInh{R^(sXHvxwzaG}{+3a0QQrvloD0Sx^NMR{}PW1p<@>RNz6GrBE!81vXH- z;S>f}5C%xAv=)_%y_hl;SFN5UwNooHRco~?gtb}QV=#w6uIaUWf-~BPovk9aIAwNY zYlCOYh-w=WZA+PN>r1|bl+?4Nq0&CCYOqsTnpWu`h+73%Fkcs2Up7z!j|*VwWVr&| zH|-}RSbzn_2o&?BzhMHboBIS$z`CHT6Orb!r3<>p3a*MatUmz(74Q;YAiGiVPrzGquRwsb_jFfs_ zx)KT85(SJ$dQ`x=Iv;O*twAwgZ}-46ApuxWV1iV^32?!r+Z`H=tU1=fLk7YkOu|qx z!XofcDU1ax+`>>%v_4S;45bxuDOxtnA0;*{xY?n0$-^QPy+6Dc)H`d7O2p)PKnaAz zGNZ(=$pTDlwmQeIG#Wet0hvm4#aZmOTO7C0<;5Wa#-MnQ$_$mFXvR&tKe0-cQ|KVX zd97lq5_h~3aSUK|+8C%GGSjcszn5ghJiw z!zi=-s+e;}F?G?1}by2foqxc9}>B>T;ER@Ef?)NSWyPkk1C z2EZ8`0$UBh?-eFKVX_iX1(Ov8eigcc^#Tc2$ljr7|Ax;H;BS7V0Qyvb89)PZR|Fy^ z0(vK*Vr6%uKu1V>=W7u3*_WNI+>77>k$f=bZ?YSDTADHxrEoV2Hc9ldfN4a-Md z%eXeuKvB}VTqQY|(mhZvEPbOc{Zls$(@gWJOH6(7k_V@qX95t!n|@?gxKs1rtpT1t$yLPLLA? zrGPEqvIZF45Fi0j@P93!Pv(^oU7lB{kadUQAC2#}}O9h+E(6{)fpto@u>Xwu( zoYQ(ob2zoBte4c$m!dR{*lXG^D9hR5Lp0^CmZ6hqD-avPQ_e82vpw6nU9Tyg;n#4knk2QUAVtAr5RejoQJY=po152g zXg7h*s>2fb*t@uf3Er$8DyWn6;QtxnB{|{CxylXcim^=EE~Vj1!r>hb;vc@tK(hxV zZsITA;-{g$s6m-GZOnB(8a{C$osmngN{VvCkM?`ik1^4fo!KL!9|!ZTGJ%jUIw!?S z9Vy{52V^*5iAY(20$Gs2R50b$TCE}DmKW&g3U1|94u_?+=pjX-V1Bi&Y`qq~g+(!) zFh!Fl9Ym~+wmUTpgo4F;ZW_aG=fsZUF5c(L{^vdr=)*ARq=?3rfr_pUCZL>*#VO>G z?v;}+CzU=EmoAo>emk3<0irJIlTE{=KK@BxqUBHf*bNSHmW|4>zAS*LwXSIE27v3@ zV#_kP>$uF?y-dZq6zsul?8Q#6EFRN*uIw*PT%%&+bzs!@D*_fT0@eH_)ed8f9^`$w zFi&#pg&damZgBg|0)gS==dO!lA;UC$;9PQX1%8I|?xiK?<&Q3+^{&d0ZhO#aO8Sm# z+)G?OF=VMNd;+f_K4-<2;_y!Y^iU7uJF@~2AI%eAmD7Cj7~kWeTOW2_JrDBU zA@am(03`48eNme!U*#*$@?qifd&-M3zgnYA^E=EE36Aq(uk$;#m9wkEG z@8PlnML(%c%htmWk2_@3!1F1+d*%Cr|u#5CO%mS6tn@8_6L89ToDE78U@ zKxYI70y5D7YHj+4Iv?*p1@GV0Eiv9E_xb>l!Gi}ORiF$+m@r`mh7CJJVbS5jg$ETM zB*2&e000&pJ$?ik5~KkG6(O8NIT0mQt&#t$H9ju;^B29wiLYREsv(FF2aujiwgk4{0i)_!3;aBF%KPktd3rK8D^Nu zxZx(V(^h1$MHl`*OYMTyT6-;q8D#V5wuw5h(ZGRdc%r_8Y+xZc8m2%pIS*L40!bP& zuwe=)qEr$JB$2e?ID}Zhf(j*tpd!rR2C~vgvO0>w2?^TD2to7jMNC*N-q7Xe_M`M9ZuWKGLx)Ne7xC2B~!0 za>ycWzygXGVyGepfw+tT3M_000gEEBr~)f$v#kP)5QJla3KoPI$cAaLm|~!Dv&900 z3!vx-i~cCqicX_bMV$+ymEv3pBfl!B;Le=-)U)9|W#Vbj_i(aLA*lRhkE);Ut9VhY zGWe*gNFODcp|JooP*Vsx8u)=ZJp~xx!0y^>u)IKJRaFfWL(J919?K(-$(UhA8fj|P zjI&&qX0am|JL1(fA3qKjtzmOK>sUsM8>lxAh_r!7DWNF$S}33_G6Q@)AR8+zu;^OJ zskkIEIUAtRHc=01Flb6B?8P^RC#vALB7^^p86<(Rb2-7oKSEexidk^D^7DL(SYn75 z);pn#YZ_GJsCMgkQAtPsuVmFv<|@;(PGXtym+MUY&6)9Hfv}rV)mdkrSMd4gI)Wa$ z{^+AqOqyxsO>??Ms1v96 z?txwFoW~HNIu3TQb{y^3hA?P<61tsSDkK*UEv9!J3SMF!Golhz<}&3dM`mob zJk+otSD8siI-bS?jDXOH!+HX2EH#$WEkt|l0}j|2LW3uHKzvdpn+eqq$LC0|Za#PGmLa+q2-g_~`m>&a0NFsw=`oP? z#7STfn8?gY#gGq6B1G% z%y+?q)rg2@G#sKbdCF_$Ds?4GT1M{)QGh8-ZNN~X46_3bEeaH1I-LF~#x!1Pi>Wi? z7gM=yuPQnX$uQBBoGHZgNoa~GIxC`1f3dTj4?PJyEhRa6+Vh?|(PshqxswYbov=<|lMoDvcQl_O; zr7wD(5x4rmB^oF!!SvvLd}+%XkS>E(Sq^hpz?L`0aeoipq(bLuIX-^1CKyG5Yb}?^ z)(Yy6e8MMr0=m}hJ<_+7GFeNp`oF1G6fk_XXkbFpGme7NlRkr0@ou=-%xvbd*Cow8 zw7cD1%~E=k4Q*xlgV_$==WX!f*k`vUSJ9HTL8h%8YFDUQ0{*f#w>DuIY-L+H+TJ&T zxBW?NC%9YQI`Ov$E>Li3IowS>z^cmq>v8`g;g2vku+A-Ph@^W;>M|C)AMVU{x$BW4 zwiIP(Q7{N4Ro(*gcExmc<9iXu&P`@@zVYO$c=#Arp4`r1t3BkPY!cSA3OGEP^H}NJ zieL`5v@8r(%NrkzyN&1q{_3`eGhmf>)9mDWQL-%7+H)<>GvESD0~^2Aw# zan)X|x)!?_WSBZj{$_m18bctpIL@O1{mbK>__$#}2I%K#LgauNIdh>~l#;oEP$pm2 z$rpff%P6|Pi~_*Q%YANOw;akY@8QeS74v8uTjtZ8{&~AXLWcKRZ z#Pv3`BYL)Kb+j7SK-=>!Lym1uAnes6vjd9=#qSM>x^=1J{PSVn=m1UU9Bqj(L zf<#(pU~p8V7X1jymDYq{3gOzimIhJ~xrLYhm}{!|o@4d^7gXU367pPq$75(@6T0qz zVYZ_a2-c6IRqi_Z$jBdfDARF0KVCuTez0w6Num?eD4C?=@>;tJ;oRmE*14*-Z0=YQ z4b?hqtPfj6^miZK^lI*i(jma~B@U|!GvH|ks4nmfT;U1~0Rau9&b3Aw{wi$?dqbpR z5Ci+VBQ5|oJ6+~>xSRFw;i0?7?Jj-1dsXl2;d{!TKRF|-d`T=Q>wUT+e#F03@oyb( z2v_EKZ;$YQo2GnRET8jG>umEN4UtHh@p*RNYSpD7Jy$!u(@Q-AScym)7JvJ6z(6V4k}gRO06~+{ zst6Zg0VZGqt6IJ=ttqGX8y_}LpSX^wh0dn~zXpxq2!60>E7XYaq7KnkV zssbl?ffukr2ynY&`+_U@f>GQSAS}X@GeRLu!c|m4@B<1a9I!-FBq#(eDJ+=;5uBG*m+Z^a#~kIyZz3aEZOpk{*Zno^JvH510YG0hea6 zBJSZpyeXHXs)BI>JGPOZg9w3dv;i*)pKb9P0D-+3u!!TcxHq{7w@VBa$bu^fgMMUz zC73=vA+&&`zErd_R>VGf8p1x>zC0N`^`gb%Q=P@rH}s3M$7>l*DXxpFG8Fi;QQJ9D z8l~aMgHs#BVuTUVOGz>ty#UlMH6%SYObKT+h%1Q3T8kd8h({2B7i}p=ej}S>`bNBo zxTz=~u;UvjsGj6_CVuOz@DZbffJYXP$KrBWCOXJ{fcY_)DA$@I)v$t}M8V8#sa+SV+qWOXxGp;X=|9l;h{s~g^gOeal*wkC%wdWG z8z4TZ*biTt#-MzrC`zUpfCy?rrujssZc0k32my%jCUE*pFCr$_+|MsM2wR#0zDXn6 zte#6;fNGik7OP5@Dwu*JxQj5@f+IMBFu(#GXwHT?&K^_FC_#I8T*Q&m_GE_JmCB5V#VQsR&hwis`93M6ri( zs-7Y$6#S_l@u{lNqM%}`pfZv#Wt*UiPn3bc+o%W#>qQpPC62;6W-l0wg3f z^ElB(TT!!A(G-QzlhYFlqECHD{X5Aq z6S|>G($eq?W|T}7<2|ZaRLqu8w+ORRa{lko152};R)nQHeubbes##S%9y!<$lhbt z--@|9Y8>4>p^gMK3=_$be2mF3C6g-8Trop#WzujhRa;{ubG5^wh)a-NS9I+yoP1ZS zidV0?*B4bb+*#S^nI1K4Rh)F>=i-#S=GP1wofvn*`ba(me5q6{#j z*dkq?i^bT^_y~=4&&(v*!c$et@;yRgRk&2vUQ01u+{;TM3IuxD74_4yJ;<6p+y1^| z7@D=Gj{vfq?bz~LGG-muv}iDCJs}MN$%h?D;z?Q*Ax2N_A*XfPRSKfh$PBrV+SSX+ zs#O&BvNd&G)~uz)t_@kU09(DCi?J;rv}I8j1>NY&FI;Wgn@vKvbwYrh+qyldxkRwL z#YlwZ+}hz=9|gw1BuR;-6>b>Z(l}C8Q%n#`T+>)wP-)!gd59Q*38&<@Z9xc#OV>MF zqUVJd7E?Gd)t7P=KBo*>8o+|vK$uyr9fHe}nm7V2=({h-f;JV86mt1opB8KAxas z9*=-v(2(FFrC@U?<5$99C$*Xl{qo-MA)+D+;jD+#5b2 zEC7_}>xeK2VuLJVAtnsaogA1IU3wi4B<|IJ<={n!ILxOMSHs+?qNih*&)suMz&c;c4Qs9 z*;Fi4owejk#$?I0%a*y~z4T;J!d6cG-4!vz!;N6j!&p_$;Hps~h=}2YNEWT#3R}(q zo+QL^5r_X=mC=scrPc|%nR@=hpfSmOc3@KujT3 zBAJ;N66$b@u zCqvl%5jWV5@0#)3$Jk;9UN@%2Z61O*SljJ~>i%upsGi_vS9d1v832J80DvJdPAZ2GyB=x7ebev`(giO0Sj@}`Nm3C`h6m0x6U&6Y6E z4r=v&?^U7io3L+4UR(Ozr+~d&{_by0W*h+LBmpOK+{xWwJn$~|=LKi*(nGx_%`|a^ zz$lOa+n_+>{-qBRCVY{f8K|3OI-8*UB3%m2IRz)o1z`i7rUb2X1{F}RQK~;5X*W0N z3@7XuKszUB=}VG2nm7U~sDdLfQ54VtkMK|w08tSoQ4{^k`R0rE26CX@vQ)g?&1Tsp zkKabdSCN}1L){YfB37@p+~Gbj>!i7u{t57~4QC_&&W`v({UfOkW68(j=MY=ZGmN)n zd~gOUiI!wEy(mw-;hocbs;ZxBRusWPxVI@VpbQ_ zb#7v)jyu#oI9k7T^~-gD*>!Q_kepczVAow?Pb^|LPp}R>7I8IXM>A#@^D&2TH%yt2 zrL%S>KTES=JNoX;fvur_Ap_PKR2S!jXYxbNY;p#?{7p+i$yr!mpA6bsjIZ_dLlDX1 z_$udh-r+LE5c$TS13HM`kEPGMj)=^e@^-RVvZ+4j9SXw(*lCk-l_lk+g z`3I=okWiSOA9eXY44_vPp&w$RH)5kVLic9sq?fiPZu(h#`gY}6;wafSlk$^L*t+QW ze|hi5=z7NZ`moQ|R66_4D1FdK``Z@l^lbYyi`vM9`?8jKULvnYdCR(=-Zwkh+M#h( zH+6ysB_TI*v-ElRzH)OWYQG2FC01%CoR5urbwq;v{jT-OSMA8#U&tO(KJ!i*X>Vl2^-Ba06rKWtPeGULb(9z2L#>GCDa zm@;K%sA==&%$GNJ+PvWNf!xN+(Ku*pz9(f<2~Et!lMLojQB=3>)Um zS+#2A%9$%`4jtOGWznu%mo{zNxN_&xrF-u#-n@G8>g((GFJQm`05~*YU?}3mMT;gL z`tvd5#||IY^jY}=&&(Md^3-WFC+N^IHEVucp~B(^gO{>iTJvNHiwC1RjB49p|;p+;)VAbNwNJ#8wQf5Civh_AliASW=k%K=Vd;fmRgBYx|RWKHx`5xj)}%do}t1qY7s%Q z;V9dVGctu#j}-;EX-N)Ew-QoCwxs8VN|MSXpErGHl%TCq>6AdXU8!Cjzx?7}SY49! zrG59U{)Nt%W12ZEfW+d})`4%v2`7VeQkW{Vq@CJfsv-hPSgT5*s8FLTAgU<1HC7s& zqfJR_5TuJ*G;TzgJ_T#02yr^^LY^8KDoaF8>p^GxMtfP5*(&v_dA7}3RaUm*T8*x} z_WIVZ!IEjLnSD`w53+3{h}g2rGKg4Y(MniThSBb;XOlmrmOugmFI6Z+IQAAUxZT!R zQMoqnb`ZPqqQI@s^3v;EN{2|*%zmM z)Y=@&8Ry%Lg&ZP;6z=}7shWGpxkG=Fh;82*XaF>Mx8)`{xX=%7ILYast2fPfJ4{w?AN%2Nh6soyQdESHG^Jqjf=}j+E*F#+4WMmQV z#fy87W1(`K6F%`}gnZPgpoh@s5XM zk(^xwev#ynAO9H0c@6R(&8NuC@vf1NWK9qy87oRo#gbUj${sYyNl%tVl;%8V z0nt%PD-s2jsni`S=`@+Sxe_LI>sJNy7N<0tD3_BY;V*>)&=?Igp#Cb1*QAP>kw3l= zNPt}CUIfS10^z%ri~ zMas2Y=1-&2QK?5YYzp&;Q0w`~BTscKLz|O5h!Sl`G0EH@%jYlNWfZ6^7)%-mBRZ*2 zC8TGq)i2<~jdHS;Y_1EFT2yD2vG`AQC0ZL@>k7{;;*~pk{v9Jv$Jo=q9wo2>8!Ta` zXIMERHkdAA=yNHekdC;}Mv|2-Wh+~`mtZ!tcjL*bY#AQVe)Y2e7%fOeC{kOgmbI-7 z)@xy_PT7`)woSAxws7mQ1m)JQtL*Ir15CjV;mc{&)Y}Hj+s_ODEx8Vk9#Ul=Qu^!|aRW z19nVVSX3n|0W9F(W~ab80WVh*ELaAs=)q1VXoRWfTnR_j!Wh2tWIJ^f4j;{#AGT~E z!7Spsh1aW|B`;D`485zE^~I)>@vdk*7aQZa&a$cAh;m|PBJ z2c~7;MDkHye#?1LPHv-*D#xZyS;~thrlBY$!gEcyU>61nWxp(H%3W2n+5uQs(R`Hl zr5Rf#(xo@Mxq_->Z7W^rUpZX&I)~_o&UXGau;Y3lJ`+2EAFF9AD->u!^GQ3?Lb9JU z$SRj9x{XQ^=%Wc6=}GgF(y*rTw-q}{OoNW z*0qi(PCW|CiZ0-K(9R4d^mT+p|jXNwpn~?I-JI zx#+s|$EO@ZkYhSI-o|pg=p{KJL2f!9iRk{y7h>uo%RANOH4IWj!juxJn8oQqD>LBi z-u?Lc;6}f3ZDl)bh4Y!=cXfEg?lVj zGe`2AmP6;|)46JPNNjVZ;QS~$cM8wX+s0U<2k1gKhs270^ug!&zDn0K)A#IjIzc_^ zT75XpvGc%aE4fu!XOYaZ&2gHATbP3*IWIdeZl?mrgpp1A+lSWf57=wwk6+bo4I_JO zhE?x9=Vsqg>z;A0)+`V^x_yH$e8a2GA#ueqOB0^>wk`fajR#TOn;n{dO`hVF7u4k? z4du-zSM-G2`}eW!{c^VpUe)_F>i*rW`gXS--mlkN>}78N+N=2XZN`%BgWk#B|4Q({ z9zFmPAJ`ZluMi-8C7)a^U(+3%^C?@hJs)-$7|DznUr`hFO&p?G-UVdbaD-6iabHq7 zMYzli=$%}ZK-i3!P`QyG;{?ge(NKt)4^Ny@M#-OHkXPPyi>##w{%noHFhj1$hX5K} z01n^r5gtp8$%#`RbcgHAogvb)`1`9b=&rVVCI!z$8DMy zejn*gQV6CXx~$+qr5ljEp!md~@XTOL)u0XH;JxW!5AfYo^k5$RU=Svq(G{Wa9pT_5 z;eIS36ZThPARA6a;UYoa{v_rJa50#&D&uQ7p{(!|nD&rv@93k?`6v@syFk(eEAF^R% z@Jt;yTB2uw{cR?vzlKWNDUSq@|{VkxZ!#rt(wA`l2XQ7~MH-t`UL$itpDbl#B|;}= zK1OO}OHEkk7iwpsaNTHXTZA!aLWv>ttRh^Br+BiaE5_w^(cDXT&q}DLiGZGNvIj8` z!xG`zZ`P;7pcLA~#lW>i6;UMo3 zTqW;F;w4JnfKB0!YKK>fBvMd_f|lms94Vjvso4PsRMjM>yj)ERstiFyHdg<-&NpG!rV%4F6Ch^Bd|fFoSkXGnMHA`DTA=-lep;v!Rd3#>EqRDyxplLTF9OP zY6!|IttzQJGDJhsi=n#HOhNUMnP4U&R*Mwo<1R?v-@nX@qcLgBg{{GFQ8@h`PFK zkxtJHZIAh3*K%|ZT$bmT&BS!vVtDxBX|YFPVk*J1z*8C^sImZk*e#3dp&pI}->zrG zT5A?j>{c~xw?3_AO0D&EW^0gSxiYDfb!`VGh1d4!*6vI)AxCxb>PDFD*{)mK(js)Q zZELvgC5==s#BDM1EZqvA-kO8mzAkY7EqVDZ?b01Z?kB0v$&Csbs#?$lTCAONm1jBb zHld`}S}wa*F7v`8%4!qY29nvXEE{?5Ts{Y>wC%qA+_K82+_G-$;;oqe(ueI9t$pdC z&gv}f@@=R#;_mtx#a3qHkqU-DEk_P7>`|@plHypxh~#dZa$Roo*6Q;X6QVBD^m497 zWZ6|=ubyb{tW;`zHf!)9Mc#_<_|{iB)Nb&hZ~BJC`s(3J@#B8-C+{{~Z!M>w(eI$y z&~xT*csMSSe&E;gDe{u$0CU?}W|)ewtW#vfj=+!*JCx51>TfKnu*$^eum;}&;tw+G z&KBXpeo3ZwFlY(i->NU)a?)3X@a@VK3GZirJ^*t-jK5(D)6@JK+GWDTsK{OMT5So; za1EQLtlqE==WrbdYRdMob1(%E!^;rcYoas-2Cetn_>ETznhcq+8iFSo; zCdF1{^Bx2)HIDJpf-(+S;V3&`DL-z5j;7>drwC>3=AokiyI70K@;3P@uF_EB;4*VK zPUiAzFZ1dz>m$D|#b69`+=8j_^=#`Z^D=WoGym-~<6tyTGc^-~H3RNZX!BNZb0d0l zJmu(fQeBURSxQWxPn7eLs&YHO^LDCqK+Vei84=jMY#+~1%Xa?mt={vM8L>?VNi9Cm ziTxoRWQpn`I~bKyyIp9cmo zk~*l@wX3Wlsams0Rpe%i0dm>O^i*M(JcHk&J(OFg-x^OGYw&ee_@Jdiv0yW$VIMX$ zJA-?Wmr{3yb1yavJoi)o0((@qb@#&7WQBHbw{}Z*(*7n$Wpl?(`Icp-DrXPRd3$wl zM_XufV9BEL@{%TMgQB9WHfgr@QN6Z%%9?D~D{ZT+ZHFAlX3pXQ2zTY)3$lEY$?LkMd? zc|l5f5n6eKH*}U)xO;TDsB8F_Lv@&sd6}aJnv*$F9A{VY$eF()ognjkBlN2c8jzp`3gDKy)xlfkM6o>SBS6YIfMrLIiod{mG&WVI-Z*{eY>kKJ(xR7JZw8VxE##E-1aT6rBR)Wl(FEm>v4a>V2Z>dWAo-$ zKrzb$fKpHM%X@jLe>u%-^L8(L#iu%Kqj}EH!FD?Y%k;dyySl7Xw$M8vdH*i1r?*8R zJ&POs(wlR9zjuu%{5eZKju(1bTm7MDPj@;Q*QcdS&a+fyy@9{tqk2GiAZ0mRE$Z`TSFc~C8vTmXC(N-o&63S|7Oc~oHNDo9D;MQl zyLa)j^dM6v006^=F=OV;nP0<)5hp$jm~msrzaU2j9Qju-%f0qw-cyHjXV0AH%+cE8 zr_j%*JHw1vQ6WKrul`>nlr8&V?S>O^OANVtcS+tRfd?Q()l|SFE-s&*@0`^Oo@L|FK z0c55zzbGrPz{?O!FtgJ_BgzLKvIrJ>9g(FTS<1VN!xeV3=$~maKOE0YZw)0WPq_PvTz0rCKZv`czD$hKxjPxl- zrKsWwJ{0K7az6X+%Ws(d`13D700#uXz%wgLP|XEDYp_BHv6|3Lp)ACZ!8vBifTM^E z0ujU!XDbmV{)bRRam7RR>?kA{88t~J8B^Nx0>5OcpaSJ?!Y;_ChzhEQ?5>LPs7-y^ zsz|3!6}3C)k{qfkSD!>L)=Xm+FRUt`x-vd3RpRI-l&T}}7r@38j2L1Z8-_9jGgEWT z&Ft(5(9<2wxT=s;dMd5$-q0>RNr6Nm0KZ)!+0^J@sO*hw}8+j1>kOR;;Hxdr7u6 z{;FfTK3LBym^jNU*)k2ZOtY6^mR7>T5ih)D%kF%z=MR4NAm|T=E;^y3A4;0(%{O}5 zbB?0UVCt&#zFO;qb=uL^Qdw0v?9|6Luk5VlZuKg)S8ZGOxodAO?u>g+YOK3!vU)7O z>+t(;{YX}M@Wc(D8T#o@TfCRXeUK?+K7}S1CdDl|L3rVq}>g0ZK1+g@cu=&T%F}EagobSa*zX}^lcB8QJMY) z(*zj=dFFmvsncof5JEdxCWLm{mYu9;nG?oLLowOj1;*v4@R=)on1cZM6kqlApT?a2Fz@_ldh}Zca#sa7n0#5OO1gqlOxWkqPc4aOQl;BV(h(Qfr zW{hKGTxXDol@ESKgd^-l2{E+73#G6ZE1VF$A{R8+P>yILk_m}yc%t0w5MC|GNDoJn zr;4!eBak{wo;XsI-5F3kY3yJD6-Y(5c?y9;I^C)|={C9H4}X|U&&KqI0-?}>4q;r` z9`cX}#Fa9ES6L%xLbxrQfzXX-oTIbk7_$ep&}S$Bnui{+$7KGgXnz!+4gPgVNERuo zbBOGSA~V3qlgQ|i;7XJvbw|nkS+aHZ%cLfaB(Q+J4J!V6VkOThO5m}RmgYRAu2Q+m zRwl24uZ-m^+4(A4`hb_ZOi(a!*~{x;sAa(n%`oTit&nwSHp--7OaK{3L9$DlEwUzX z7U@l>aT9*w^1%EWW<}ePlci~FTRqVUO1gzIJ>rZKO;dVFnZ9myKiQa9Cdf}XZl$GJ zf#`%T1VRa`vDwxLfiU}m3P170Al`_nnJe`~HetMIjW@f0cf~!@I{(3mnC^e2ul`3kW z`dH6M&r^?!Ttu*HIm>A@nuii=SjieMNRos&hanD1IceC#vNW{}Gh0A?H%`6MRXcMX zpiW1HIw9e9f8}HyV8_xEi4ldB9GvH9klLm>KooHXWo))CgHYvqM!MA1MP*q~Oi5){ zv*zOLR}uBu&^m3jBUOoMSAyDg5_PrYY;Ega+dHJ-mA0r_?`-9IKk77bzc?vCiYgJjxx zdw5p!ro=BQxyusUiaWpfQVqM`@-`L`hR(Jg`6=})-UcU;|k~Ou89FQyr@5roX zhD+>)Ph(IDSMM^^yAV{j^{r8PxCbB}*N8<_Vve>8#p+XWBUjSml)RWqF}~e>YYbJ41q;)`)M_k(q$^n~a|X-0(DDlW za+8QyRgZlfaaT7=5f>RUeWWgP4^5^cx-F@{QerE7a7O0B`2`~-fUwZJJ}d+Y8`V1 z<-$FiGto8-RS(0x%4rtV4C!_?KXQ?GO>^8&b1_@tZErcRJKY_8FRNiYoqI1u&sB;~ zfm6QIc|Wn`fo3T@`5N0n(-+wHgXlns{UD*kiB64Hc)=;1iwiyb*cpcIQqSn{ZzV?J zIF9lE!mhC!I_FW}f4G-Z_p^&CfF>+tPaO+M!>N4ER>I zD^cfm_AT9g-e{l?d*}~xkkJL+8Kl=?@z#ZO(_!XI)EKnkK`JK15yM@rk{Ih7)i~He z4; zwJy^uZ1874UQN72oMn)5c@`)J0Gju7pgMo?&~Kl#r5pRcO)h6wi@)TmXM5{ar{k^2 zUY=_&{c3Lyr@jAu$G^_CReleAh2LpH#Gjk-HO#T1EBTJCp$<;co{OP+A^JW*12mu} z`ob_UE5x)7)J#m=xDWJ->H9+I%}_7x%no3f2<>XF?mTJNqGMM~CyV6GfchuzdO&7; zPeRfN_r50Q=FbM{NsSP%@EVQ5WMA_9-eyE;!@E)D~;aJ*7!b*kjB z$PoTwLY>@;{K}5+@M`72FXjjccK|OBi!T3&VnV>s&4#Xn5{n3%?GKg94;4$X~tUkFYy+Q7-6Otp$ZreDrbgq7ZngG z7|{VCFedzByB4Auktq`XuP_>=(c`?YE9@}$TI~zl(UQjS?7VRt`>qQ)lI?a2R%|Q} zS@BJT?8Zjr9cPi~&`}T{O6VeF_+aw5TJrGHaUS=Ng$A+G3UP6cEy|ki2$3zSQmDDE zYY{!h2@8^{5R$txY9X@^8nN&pQ7s|`OQo!_A~*6PF_QeWk@i^b-P+1L+%MKfk|l+r zB#Z7OzXm2$k`HZC=;HAlr{x_VMhAxu7kd#WbI}(Ikd6jWx`I+Dbs@5fa^a3L?vm00 zbK*gy@B)s>DbFP;8*(bCGVH8Ul`ayyHqkpQk}KVeJIt^4aOw{G3-<0XE!h!?R*KeK zu_Ynu9gFVC8qEF&Y4as51V3e+=xQQmaV8UNuhz5pShA;NYv*k4C2LSF^$*|}EI$EJdJJ>JSitdm zq45H6DDA{BgAsZNbRZAZ2@}-Xt_ms{^cgGDAt7{|sL?d)ph7K_6F*Tytw`-U^w#o< zl;}`I=l+RAd220Ii$qm46NiFDyYx0+v8EjV=fGI zDPy83lhmu0wCl)9n>^<_B@&D}1Ib!SHnUVpLof_OvHZI81Y@eDuD)vSd zPw4{iTMH*#6|=P9hmkrYXl_;OJ}>kR(j-jwR~I$OlorG8B%Krwd1PUFzVwozHuY*`X*PfrZj)+8^|ZB0=AI^s4f zd5t{b$!>iMMBfA#eUNVhH#V~ea09nsC6-(B(QvnQ(grg)8P{1H7ce0gAQf?PIYvm` zGI*cU112zQ(Y0OGhx(k<+!9qNknB!^m08tRozC&CdKWYuHT7B-U{14t1abx6w)f^1 z4NGwb_b@~o7HAJo(SY}N`!)!5(%9(qGZHxI_7mZt>VY4)f%7y#ff9lncxr^JdKXgz zu6ILh)fu(Va}^_e$AT!zSGmrYwYKw7uQ%P=mn+}b_To1T=T|)I*KM6uZte}aQWmk$ zGGYIBVFQ@S2AF^s)_@V$;1;-Pdo&jscqk#b(tLBuo>n+3ID&&yO)&nLE5_9U%k=}k zr6sm^I=k00Nn%$?g8IT3tsv(s;B}!W^kpd(c;}UD_tuAF_!IRF@H{fX^sVkdb$1(V zi1Y9+;pB)7R#fv(XzLSbchlLJ3J@(=02?=23Qmdsnf>ur( z+R-4|T5}SDA2#WDGT|CbtFIY~w;7W?`kF!dnh|8Af5Bf=P$e7?NUoNpm8NM(?eh+U zBkKAi-Z^Xq`u^6fI=B;Hj+KR1SV{xCSmo@VZ?0~28u!r7pIg*XiA+re*oYDDPOg_0 zFZ-ZflyE6*@q%)rLECAIH|Y$q9|07b0kTE~RDsRf{#n%eq&wEF(-p2)WaGf?uJ4+r zUm0vu*fh&iu)T1wyAiPS*=0KuQVScXeK_6tc(LK6v45L=@3?n{SpO)yvXv{d-!rrS z7ipo(PV1DZLVKfERk2hXXHJ`nJwvstxwX~gRQy6Qg%ns=psiy9njDljBJh238?S2` z1yn!H(`AiVO7?4efd#G!9o{*~B}FmzSb%CX<8nFFTv8+cdl@4=Amt@_r(|#Z^|n7$)o+hfD-lcVoXr z2QfhRzXN>05wR@6^T2mH!J#}(61li1WoYn%RyoXDqggD;d74N`o0OL4~3qH8<3fhFy#N zbGvUWl3Y>YsJA8D$d22vE%Gb3@dHa&x)qP5lP63i$2RV2F> znXHBJ*hR}b;A{qZ44Br9_ZCU~nms#)e~sdx3z_)b!dzC zkz;gvYCUnTRn7g9&H4N?eEl+johSY-ZLOVfIn5OSD#8E|-T>BB+2xuf@|yAt2P~yy zH0N)YBlQC|NG7 zJtYo5-Q&ML?mJ(YPwrCBRQ@Ir+jkvRFXym5JX|LiZL;4TnO}2=Cpz!#eGv72(Uw?~ zmrmbHT=ylI@Dan$2~^+}A9ff&;v65Hq2AfSR`R4h(v_m5Pg7?-kn6d<^ttl$%RTh> zKB70m&Az_DFV2N@gfTrD>{1A$nhh95+qA}_@E)BhK)UXoFut%oHIwL(xpm0I(-T?>WY{lrFPtC)hbh^EPHfi`gJMQ zmSeY?J&QK2Ssy--{#Ubmwe*E4Qs(7DzYdMVmKl)2xIGOI4Z|uUxfx*&_Dw z7^%UxEweJ63)kS}x=0&)Zp=CH9L=OPJA7C=wPt~=Stlg8k)f`Ny@CZBHq16|+Pr)F z7D(Fn#EcoSJ_YIYVo8%IRd#(@g6hnh)HCed+4HB*phAfnt%FqUV8eu|7B)_vyVz$1yR<6W%udz zR%-h(_}ORqVWwJXr-eu&M6J2@P;9wGRFQ7E-8PJHGX6G@W-}6p5qeMQc#%&eope%4 zC;4;|NHtylcO3~NWTzc>1{GzH9C8@ALS+bE36*g=LN%UNXO*>HeB#Y#AAD%dC)$Q; z!sVDy9d-uUgk z8!?t%is^0@;il<~6b0v-qs7G}6^{V;$Xt*b42eRK0Bm$5k~%5LBv4iM@Z@&{NlB%Z zc;cyLRZ-nJ?3ZGONv2o@mKo-m%U-4*qKCH0r-uweJLiLE*(ubo>FKFvwQ$l|;jQ9I zNTILhrd6nF(!T4Kq9QWdki3ve+L~~cV#;r)6LA`&r=Qvw>O-S$DN=H;vVba(&7IT{ zNIm{)N3l{;YM4}7-j*utl?ZdWlvBZ~$85>T+7}>!Y=z|+ylPVGX0(4@*ym>@mun%F zAT!k$3nkL!C(gGn2s6+A#R=_#lBu>4#u=9Ow7dl2OIvGgjdo#+<77m|h0kRC5 z%lj4GgJ?4=s8`U;7FK7mMmJ3&&^8NwE}Up7wpO%Jm&Q41bU7`d)Fwt+HHul!zT%`a za($`4GlDIg*u9W#c8vt3P3n#;uq~3?C@iNcbXIPZQ%e_5n6Z6@ZO8ZD#dEx~(EcI| z3)ZqH*EhbI17gT#W7#V0xaX8B208oWs#QMCNS_a=>)>&SKIDX=FS?jXE>0lQU!Z>0 zI;qJfU!JO$W>Qy&gxt$fQ?s4GCUUkA!Hze;tBC6MqPFiLZ*IzC-orjXlIO7?dOet4 zpe{!k>}Ag|A?#bn*2O)KgwK44<6&Bo#lCULWqkl_U;5s6wD=Wqem^|i|NM8M{JBnu zq$`>H?$@$wMNTgUJYeS%D6a*wMqmy!2m~d_f-;)uf)&Z2YBorl4i0QHRPh^fRzSSB zsfr{i0Z9t$b0xdUaE4eySRHRj9v?cWS!HSu(TYfy0C9ycM%)n0(sZ=&{#|jAA$y90 zV0K8QDCTsAO5Y=)Sh`0-i!OiKq5)6$w0FtNcfDy%iO{&2)3L~n384+fLNp_c5l)f_%*z>g)c9)bjk0z&@Ekafh9BJsDC`b~0`M_ZF5-9yPr<_C#Yoa834Nvu!a zFO)(VWxN#Sxl`VcF{aZZxWZGeYQ6HEfm)g@6-7(l*pfuJq@FG(#mijy5^7*1m~e!- zuwWUdm=R^zF@JPIS9PQ&GlZtyq%1oSHRKid6Z%x)t)p(y3MUHk$x&Q3rkr5#g}p>ra@#7O&4U- zx+?1`hr1+72em~^HZ`6C5^Cjk>eISJww#IOqPxVo*v#k;s!>G^JgJ(?1YWf_S$!RA zHq+Iw21~4U)MGMBATf*#5-Mx0Z8X73*sO@Ots&i>4dY5wPzu&Q?NcJ6FnL@^O4bLA z8z6yt=#}AiGH@5dXSJY3Pxuw}gF-wf<&x@yi#T>eO@$x?7a~>D)DD59++TY$8=}Y( zq<1GW$Rpvz9kvXQID^{=YsY#_hoyuhv7J~}Y`fOn;@18uyX7r;YM7k$MC@_V}VZTDu_;PVJe zo0WAIv-p}}xWsf#GefRk9s8!e%vC&!E3CE>$0B$>xZ8fzUP47%YX^NHPzs9{$Y;nK?NWYxUu&)v+pa3K~+4kI)iB{@RW#t4uZ zn#E%qrsE{1c4~r$S|#WBA&#P=J-4{J{V_b|q+yZk0@^iyjg~j;Rxt9A2kLq6(cZ1X z_rmmDTYlS+y8rICthwxJf`ilGF(W6u6fSO;IXu@ejrg4HL-BNZZv_`GmclZ!@t8H6 zK*Sx{#CnXU7qOD*j#Ej&mE^IvUA#Wy2%LxYtWCm zk)bjM3u=!7n6wQpI-N~W`c0k{`0ba{oAt3*C}JQ)N`d+db~*&UxSJx2ouZ%SAYik*i)rB8&!f8f!#6*icgY z8c#G z1!6tZdXW?psuz1bqi(NffS4p=$HFfCgHnWce7aXhyjOC*2LNmVd_5q1F+qG4WqcS& zZTu%J%eNVs^?aI<5z+?$)aP0L+IKeDXMIaU72fxP;Ku?m2r3j&ewLy;y?}nWCvZ39 zZimznLgz5e0TQETQA#If+%X@l=4Cd7gbSuFqGwXZ@__23Yy5F-mXu~4Qh*Fdh6l)8 zDz$7qv@#~>hV15saVUp#NQeA~BmO0Vbx4O25r=%3d&Z}Sf%s%yBN4und{75<#TODv zC}7L9FiwbNP-r|-C|Fe3V4$X8SqOkz$VggvQeWs6WtbmgSZ54aZbO8I?XiZ4(}scw zf<)+wu_%jmc!z&Di+!krCg_KXsED^1hlJP*hRAvGW`rT3h;!o;q(*P6VstHmDox^P zl2|P4aX7tY9Ja?`v=;t=(Is_YQe9oAVc>WuF%>$P)nkqYZ6Zfq^wcH<;*0MHkMSsv z^GJ{Nc#FgsVV@ROr-A~?*gVbH1J7tHn8#b@6BgDO64=NwXC`6VID3NCS7pd>qS$q9 zmS+FdROm=aGecq#*p8@Zk0B|NBT14aX_7bC3pK_$oTG^QMHPY46}+cBr>1`oHfs`9 zJgo*S_D5LGl#fx@M3|#2stAo|5txq1IrVOum|&UILR zmsxjpm4PXkg9S;Lt{4yiA^8LW2LLGmEUEw>0DJ=A0jB@}02}}S92@{I001s705&!N zJ2WmkHB3_g07g7DZU6vtJ2pc+PEAb!OF}tQNIY6lKXF4mYH9#XML|kIQddkvQb|x; zQ%7A{QB_N3USLpVOGIK8fpe9DZI*_3 zo{(>xkba?^M4*Fjp^bW|oN20)db)vayN!3Tn0~9LLa?ktwz5IHwOg#AaI~stxT|)% zvS+@ue!#vq(TsM$yH~)kc)_@0#k_gzh;_)w0NB_7%*!su#5d5-FVN00+}kVH)-d4T zE8yNg=jQDzkh=Sb+~Q}FIX^Xyvt_elEmSnA_u?%{a# z>}B-mc>3~Z`|)v%iG!PsfSr(nn3a&Bj)10>hNhj7wvT|boQ1QSk*uMNr=pp~*2%iv(Z1u$nd{n$>(!X?-;eR#mgB~(>C3Y0 z(x&dvw(!oj^V+BL)VlBCg!br!_TrZQ@Phi}q5k5u*3H4((!}Q4$m!nD`rO0q;LYvg z(fs1b`s&mE^4b6U;{X5v00000000R708|v%kcuUAs`9TYdZD%AHGB z?%TU>=en(nS6|nxS9fMSTTzajHi+98PRzKCz{ZVt?SdRpGGob>6C19K+3c^1JF|)& zEgGt6Z=}tg_9oEuXtuCp%bs2EVZ@0RFQ)j&vE)dRzJr^bN!%sz+KZ{PKC_tNeA*IeLggFh2ntoblx z$0_`mSZ0iIb{S@jZN>{`yLbj#HL0bx+EWsq)*4i=r59TV9Cqm8haDK?p@s?FHq2Gn zU3HZ}Dz@n2i!jD0q^%rY4*M^r&)5|k#12Sw!On{f6b=bUoFY3H4E-l->? z1Sa<8feZ#JXrOO0Xs2X)5=P8PSzXBwKk?~<<)oAfMCqmZyeDZsY^nv~ryYtIYNrL6 zh+77TOt~4c@6JqvkjY={{~@T4@UMPO9mZ zw1KMczMnn>A_p8?An?EhQ~S_POsP6!iY_W#j>E3fD66crPHb_HM504buPFo@<*y!x zd}NhZ7E2Ja$x4NgVQBp_W|`4g=hKQBc5CyV*ygPB&ED=}n1T@<$QdrUm@81ZZXTU( zw*sA&QE2A4SMSuA3UqJPo}O{ZC692Z_12f1;h`Rol;B|rDd^EJ039~6^%(&V+(;t@ zlUhI`u4I#N{tBxyoGRZc3Iq!*0*Mo`j2DkqPA#>ZlVJ+5R&35WjH^Q$EwqeAOXV4F zyp=k&sADAPwfwqy=%b^~aq5gS&N?keo?gr70>QqHIs&zBWIT+&)76!TBqD~&1$7C^ zD#)*b2_Jl5vPvI`B!UP42qlmFFw3ywiYn2#k~dPW3=T^;)qo>D;WbON$}kb3vWh6Y zu(Cccq9o5sFm8%+Kb|_%nF{j7sM9cz2Z}d=qJY+t%+KTyF2o>eLAxND(Nci4h$!u5 zP5Z^uAQUybY>H|iEoRpwJ~9bpTd{>D+~JN_*sd0L z+=M&wn1VIFq8)a0hav;nNO!;jlIuVuJT?Ijdpx8Il^6r{4$`GRSmG3gNWm%I@P<>Q zfDVbMghEzfiBW`N6R21QDJ+qSXjozvF#`%MUJ;IPsNxmiD90=;QA|lpj{st^)++YL z3qx3<6v42>{f4oLQiwtn-HZq;Hem_;y{UiL5``x8w~Ao&A{f(Drzq-Vh;?@Bferpt z3Lx17cds9h;8A*7n7G-b87h^hmNNI?nEKnWs_01s$D8xbKYQHokL z503C*htQyhA@U0ic;LVyDv?BiMYM@dgyL?PA;l`%ltwH{0WBc5MZ`r8a-tcCILN3Y zzKMn$n;=JO#t2k%j1e8}&;%UixDJ8Tv8s?v0Vc<|4z3!>tAFemlA^km!EHqokVNb4 zF1ZzWEE22hP-|B;QC3)-HLdONBmfE!%267`ODXV#V+7jXwH_)NETjTO~HSQt)1)L**6kMn45GfL&mvEw#ZVQZU+43T!-LsepbfFfcqAWDJOi zMJ#3!4yJ@-76_)r6tx(moYLYd;=ml{uCh~|PPiNuez1xpoC3qa$UYLTus}Ak30i>h zVFSt0Ibe}F(TveMqFHgpq6$^1I<$!$({N>+K$yBtVXpuIn&sT=9Cl z6o~FuYLzQllWf-|$5oUMNvuKuE7-sy#uF*PgeNSa5XSz37mtnX{y=1L+062U!k{h3 z-~b>AhF~JOa4N+nWa}m}3&gds<#V3Psau^DBLxBM#bbku&1=%B6s;IWws^)Lpz-3l z1`?Nac?KtfUS%s+iWhc89ct~qXD$dquS7c#UJl`55tc{;htk_>h>EmBB^a;1+RFhG zTw)P%LxVu-E0FsVFTeX8SQ-o>hDvOY7O((^`Dh^vS-e6O*kLe?D*Or$i?JP#+^iT? zMYv6*U=~*ackNPejt{5ck?j!iK-zKQ3cEwa9Ue_PEP**NnuEtpr7?}ou|}7m+$Ar2 zxv(kF1Sb595KvSC6`;_>DAX(vHU}jfCB~eGX~Az=Y$6`Ow9^9plxm! z$8q4p*D4x)ggbd_%pgIYcwHqPrHbp+NSgyUJevM2x^}eVt=WIY_PaXrMsDRDwE%a@ z0ni18bV&}D5N!MrlY&ZoA_bNxfL{w@b5x`N6~n*`%RqBJ2NW2FIkNx@6!uH5CugR0 zCr+1I1L0cLM0I*L3T|?B?v!<4hiJke42vcV*Cc|(B`0CWEn_DK(#0Q{_FS8`b}iE# z2L&&3H#K%=cXg3@1EF{3rCx)_YJz8Lgx3Lv$6j%B0cKzca4;|;z(kf1YXd_Nl&2P! zH!zsDf1B5N-4J03SYV{r4Ls!{rw2IYFjTXU0_>n73Aj_<#y6@GhObh4=CFHVL>hF6 zBfaNuH&zZ~%5+S_|=h^EZD0(g*mbe>Gt3b9}b1^5%#aEsW$d4}^@ zw|5oj!w`ECfqk|Lj75P>*9sYkbsT7d9teW1&VrMgkv4Z~5f@ddCYiAy9 zcNH^8cQ$x~+LeR*ClIPu0%>3g7NrMiP=rFbj_Z|PxTb4}cZ3&!2JA>MD#Zv-NCpG* z5d0WXY(X%SFbPw^3$$21TF6-hK}9rTJ_^$g6n1nF27467H#-%3=_Vr}cad#qhxry% zO%-E-XnY3uBg1EO2Jw79;#47L{tnMK5JBQ30^xAvha^fCER(2JmB?i3z*dj=iCZOB zo|sjkxE7G%Wu`c0b1-xIHwG&w5OmN6j712UkP5KKOTJW#)o_bfv3h0LVHlb9nhJd8JaExQk9?w zXuu&Pl>#wzj|8()W?7v zvXOy93&mteD)I^nbA|{0mQyKEOv6NmF0xbOFb)FIZoOBY#@7x?m3t+b73c6sqd^Y2 z6Gx%}a06j(Z)6VSU;iBa-As(x(nYb|mg_RZCI}gS2mN#W)Ab zNQC5*nbe==r-+2Kpop|aUH||MkO)fI7|7EJDNqP);0CKu346c^`3C?5K%xWD26RA6 zp}<(Azzn;zJ-?Il5 z^iAPJKdfL0qCkzk5T?2%4B(_ctnh)tzzVEzrgI_;rSJ-p)<24QW|yWZHo=jRh zS1}8WLtrx!tmJSN@_BG4c5t=uU^x<1dg!crh@ee%I$$I_l_PwuqmrZ(M?rEr4hnHd z^;SzlI^PE+=qiZ^XA88WuC0Setb<7sfU0W27;}&U#E2MkpgfK zJg6`VtdI)KkP6=Ou;3u1E@G?33JwW&U>atz-lGl9&vhbRaBvCjwzD1ceh>As>R8wD7T+ z1pzSp^0ZLPYnnQ>RC@vAVQk1&g~s*};P6Y`&=WQVk-0jyaM&W^kbpgvwyALyIU-5x z$soxwCxcWg~|a?`@0>$Yr>nURVy%BTf7%Q5Pq8wnmQh@0HoKkU@1UFU#M-Y z{sM9ymbTgp7%+Atn3EwBQzNo6w|2V@0qSHE?w!DdGp7~FQ%6)BnN!5+*|O-sVO_PcNl$0lsN$%ec~j1b2=9y_oD2otvcxVkDd z++g5o!>^J!>>0j?+`~cK$m(0fkh~;$yb#B7zw*1pg`2o?Ko*M|fEoccN75oPQ@PHN z5xKF&Jd-nEyvnS+x_yaUcH*=6d&U{T6h1J))5m`d$YLwVg?zoyY{*lL$U1BzFETNXyv@22$=+-v$ea+B93X9Q$(XFkocs%n z`^g*>$|^F-JaH1HY!Rq@GpgLm`24_qSzOxkg0gIBk=b^(j1IW0%e(9zBs4Fj`ZZwF z2!?tIkRSqH12z!dLTM50>N3l;Y|Jz6~L;psfuBS z2?{pDU)T+t7sIIXA~pSn7>Qy75pC4WDmx`U?Jzm#qf_QkVS{tclv6sIGdS%=Gc2Y# z+e#XB3px$=hw-Woq(etb;wx_@ByO}TVI4cR!z3x45RfsrODwTF?A*&-onK5{xYkEXI41rwL3@OwkpO@~1f1#&|I`Ric9eLjoan zM3n#s0AtyeKmr_M*(rnvlR!jpPzjDe29`hu9KhL_t=SjA*)0XyxH;Mv5C*1A24;`~ zXmHFctPmBjo1iKHqjU;;aCA&j(*%YcX9%4y@_FL$VmwWTWByn;KfNkuNDh5ChO_Vr zu%Mq_lwuLGI4MxBS+Pd)Sqp)qRk&B)ic~r;i7~h$uRgM@?l4B8Q%J91t`di!m{cV1 z=7>sS3$K7=MpB_>-P`xt7;0U=Y^_h}JP~kh6FouK%VF1bUCMcl5_?SynCsV_`?7)^ z;;wwUgRNU*EG~&H(A~h;jcw2!+!vA^9+Z6nD%II5MFQ=0Mq>C7x2u^htT5qz4(9F7(q{?~*p z;;g>P%h)ZkYcsPO5v9%)?xM!I`xcW@B~@}Hi(aZVP69g40rCapfY;;a_2a;{Y-ylU zDNy9kE->=-Tc3Mtse7U{OZ~g z>r9gZZ&K^saO*Uf>$;95ydECDK9iG2<14iYm(bY&vur64ghvl+X3zo3&H>Es>_{K& z`6v*Pw^E7#Yh_RY-9BF_V8_Xu2K+TJ`h{N!5e5~YgF5I39aio=k<;s*Z87{e-ltWs zM}{mmM&VYZwF3+1uwoVmZWL+w@h12lsZ-?{I81dF=Q-4(QO)``l6`Je57YMvf0KkB zB!iPNng9!%01HI&`BSAU7JrBUt|UyQh@azRQu6VC^&cbOALYRdEi(}i-Yglh`@KI5 zxexp;GyJf;#V{}P$gj`)%+D_GCKdj15{qpQkAmw79phcW%^Aa`VT5(DTt`~xN_PBMu3fuwAtBQ8h*9Ru zi3n-7vsvyO!gl6-n#1_>Cpm;aajLusGzBbLugLjqrwJWGbU)Eu#flCVtgPrX)!M`r z>(;JQQ)FGYE=9YpIMcp`3m0b!wRG31OQA0AUH|}U{skPk&0xZVd-NzgSdJVzba?Ul z75UdN%EOi|W0sj2<;$5VOa7ib4D{$L8y=xb0)~!$Xf*l*SFxs_k-^QI=_io;` zW&Z{q+x2kbsEHAC=1ieId;IwA+owd?V_niOd`tgi&0zWqftMO+Y}y+Be}WW4^uNCAurD&T-XGt3xoK?x_6u&=%X z`)k4iDgn%sHo)7TYOu?0j7-G>Ogv9BHB8WtyD5n@N+KQu?bWBMmjb18g zCL!0#$w!uCiV+r{gq&%oq@dDdEltW%s-1H*>B*d^(AiQbbGq7UovXgYawVb2>WV6? z(jxM#tK8aaFF4`C{!6boiqp~Mnftg*&UBdt)$iW^Qf)o{T@(bW(|Ex6cv zqqI^>FZE5*ULb|6G}Iz=61PZsUz(T+FOhH2q z|MF0lSHKaGL=y)};guCxTK0qWp#U^+*rsHCJ)A}g_kl1r()1QQl9tMV$#Gr4ld9jw&6ip{yOn)A-IVos}0 zncnM>l1W^oeWTBL8sl3LD@IHMHY zsn{HHHfg7p>46fzolTzdeiL`Zuj*BpUs2~Ogse~Dr*qtSJEU`Sv zf=>tjW<*Dv!9YiJgbi#!L^3R~0*Vk~O=#r^$6*ct65!l|3YUUJB%&smz{I**Hw!w> zLLjnmg^CaY4%v;WCaY6OIO=$jZqTBRGZEw=B~r(T*h_r15J@>^@knxHj~0+T2kfvn zG4XBkl8?Mz_9iJl^qJ$6*z?Ib#77IEd{P}`TN9S#mjdyf#V6_jWi43gld`Pukz!g0 zDBb=6ms$+-Ey9Egmc({53RVy>7=&gUJUC5iE(V0w^ce|BXu_hQaE0FlCvRHl!pDH- zYQzx84A)V^?XU`mWw{d%efSqz{mq{D#AiP386SS~^PZFgDCID>Er1TRTi?Ra1SWtv z!1U3f4~3}g;FS<~bt8Kh#b`z~N+mC4R47a$TS#Gb6{fV$97XvOct$$5lu8hXH&ciD zc!`deHq)7Yie^rAx>F2l6Bp$4W;lg9RNF9ZoUSpaX)=>ebEE}qPqoKOr7G1Q>eH%M z?Pov#8PI|nR6<=fBSHhCP=@{`qGv_xL{m^vi*D4dZ@uWNJo*!miqx(%RR;urg8tI1 zz>=jpoNAnGL5p?Fw5DRc=|p(CSjOhmr$7x3Q6)Q6qY7s@Nqx*xtD#P)f-SJ0jZ;;x zI@-Tw)wEKyCs)DBErcwnwFC858Z&1hKD7a@Cqjtqa@$9?_O_yM#b}X+6iJ!L6}ZK{ z>s}{v*P6_9OdwOKP~ZvLy*yV<%tUNr|FYA=48{jOILvp&>x0IMuu+OSp;0HhUiRJw zHb^a$X5rFVcT(4>^mXSf#Yi5~j`p-!-KuIYV9?jTHmo+yP=#o#SliyV8oLz;glFel z3M=He*%K~Jh#QoSUYMiFJ?V1o+T50!w13Z)ZddFZ7wftSyV}(gcM;Qu{_lo&yyPwK zpOA*$ZmPGvKc4J+TVp8sz6HNgUGX}O%p9=+W`M5Na!@cQmtIE@#7HghHgrQc; z`Y&WvFkp0`16og5A)^}At177x@2?p*K5+34T6yD=H(`$ zfTQ;I8pHO+;LYuCuN&JR!}q@jKJbw-d}NS(8^_;TCbN^h-=IDA(!Jc%J>1KU-V448^gZG$zG*5Dn*yFTpGKJL3Jfa;RTPY*lJd67}*7G3OW2|j@6ygY~1{A6YwEn^fv_K2Qz%ATDk|Q~407GifzU7-a z>|;K3V2!9J`qKr}o-JSak3yoJiQ zzeq%*V?=?wF!_5#xQfI`)W7}-k7N710K`PEBfu2sAP_PdN7;qP>M_|6#Y!o~b~MFP zR7F(`!+8|LUc5syG{fqXLwdN5TJ%SK{&>TEJU0`Rhk}%c?6X69qz1qMMtu@SJ|xCd zBfMi2#2OU3WOT-&Q^aWWLCf2)YIM45l*G>C#+2H|{i{TU%S0F(N3ko%qtT}HQpa`d z4Rft*9@GsuJVhC5V9hMa)z8?`=+k7DGi z@xvU2NK85s2Zdks81WKelH(V^r!>o>@97q$K2f=L0zvKpr(rZhvs^fbdn%;!{0Ph-r+WJ<`4OrA`^dz*j`_<<$(fgfN3 zBk-qvYPT6kf*IhubhT#;%SDu^$a~HGtUucHPuuj*ZN$yM zV8Y&f45qQR;H*Fj+)JI5%)bQ6A;5#rx55>n2715sT#S)!> z8F*1rLkK1Kfev8PiGa}#P=XXtf)tfgCE!yf5Kk#Gf0Pw%8O0RGtyI4IH-fO##7SOvyf0} zv_qS$;FQwgEKUqOQ#4J^e9TfUoxV2=(=V+K=pfc&HP*PR#W1Bl>a4z{L`Zu)(`1m= zWEjyj{lztH(|$q-8IXZQoq-Q%f)rSSaOI~&h12+$0V+UegAr%r)ElX1U$TvgPij6Z> z1u<4_Rnr6jSUnC|l`L9)$KkxdTQ$yHbw$Sv%3j^ldk9uxosMIbSz`T1Wi3HwrB25* zQ^}lGYHdYpMF4*US7HHk|?fs@K1PS0gZj z888BVr4WB5%}1SpLX6MZ!qjMphJ@Y7vBZeUn>-?II*a`^Bt6O6EXli-y37+UW6PI~ zb=AILjmX%xZNm-U(>;>SNt2DoGlkGAm4__dM_|PV=X_3NjoIkP+?nNEnPtNbO-h1P z&NA)A{#>O;X+6&DR8y@&#@2k>wu)Q1%{999HM zT~XI%-9-HWBUpkDFxnLOfjV_v-ED%Ur4{zHrx<8dBRGO10NZ{AvlJ*^v%S$ntciV7 z+vPpjvr5?3>@Dd9Lh8-fyoHtQEy??+Oak{do&OkFFr#|Xv# zKFO6s%C%gWtwsH{;w#=?eIUW5)LH9H$N>h!o~_mc)=uv9&h->eBVdB>q=F{+)+9&) z8At-}oL~y>01)U-@1$J_{!TT%+8K}mMU8>KfnX1Y;NcBhtqfYRMPd5PK^e;=dT;Z7br%J>qFd;%TVT$8BOK_68_! z*$tgyDrQ40=4C6EjxFZmXZ2z*4&!MZV_#I$_%MP+O#*&mW;-^|XHEfrTF+^gQ)WI- zXAa>bXw(acfo)ELW#NErJ^~jQ*y3emv%N^N&69mgj^v1BGOJ`uc1=u9Gm-wnSp2iz zy5(fM0?AWGWz#5JFZ4p|q-Ae#)+hE=6J*Z9lwaxCP+i{KUdCUFwrJ=;23A*> z^+`6 z=j!cee6B`-u8A1hHi9NOgQn$#URnQb=;nNAeTZm@)`yF(Xsqt#jMiw5ZXb{SXzdGW zkwylR=1G%2X_U5RcUx&1C1D%&R}}8bb;d{(K!JC5hMVrUnjkY7=ILGwsh`$lyxrtd z{XwIih;ka=MkDCuTTBX#YI=CX>&Ruf%ZK{a>dY=yHPq@n(O-?`hyLsE38X{Qu>Rs> zR!C_bX`hwMW>ToMR%^g(Yt@=mm|n(6mFuxBKZLMryw+=4<7)@=>%XR0pKi0k&f%d} zF2jyL#7+UlW;>E|Z0WSV$d+o#rr+xDQpD8k?$%uD=gIeb0F<{G;Ogq;L|4H zWLWJpb?xnh?HI);w|42W&21aaQMyiEyUq-FZefRFUWgj-Af@N%8GOH0J2E?cQ#yzG^H6?GYz&jn?eGm|5vS2=JC!Z}ArBaB=a@ zU$0gOrG{nnPVb$i2Gu4$v!2HReC_$>%zUzMvOQjP)^8is{%ynq0RLtN09RW9&*@s5 za)&zbOD0kU?=Zn`@Q^|&2zM(9ml(vZ@Wnn34DSXFrw0z_$II?gHwW?i74Z_MbLTj5 z07!9tSn-K2))+_eeTZ>{&|ezw1{*K!9QVn2o`Uyi6saW+yl;(u#CR zSAqy}fg`AZNL_#>7=i~-@^nT&B4`40PUJj60UXEzEr^D^4)BPI^40uQMtokjBJSeu za$o!2i7m^O#7%EOb6LbRI1ll-gAULx);ibdzHoMC--l?A_CB|eV|{Tz_j51v78O^& zYbVxi7k3N!$MPmQ&0q$CK6HdY^y@5UA8&LQPi7bX1c8ZI&kXK>Bw&KrrLxib062~T zIR1eMnE`W-)Cf3&B_Q>=wr%uVfh8z{+Gh0}&;lli_1|`=TDNtb*3WWax?RVpUQbo+ z0d|lS_O~Q<Sec8zlmTzim@ryb4Hx zi02koM}aM10w|yLjF0<`@4=b)c#zj9|NPsTFm4Wm&5|$WAD)Q$b8e2!aF$>8I;VNi z_7)P~cIRmP5hwb|?|I6%{BOB@q7PiL>I?o&yE}Wh3WdlF&^Qi)&Q6d%X4FSncc({J z3vw6qRwby@4oFl0GlDqXdPMDd2ws*AD1sy)f=^ed6(EAKC;JB|{^EB5+(tjNUjiaf zb+j*jArJ!IZu_^-YiQVl?ce@rkb8}%`}ec^8OD2FSIfOG(p~fW-~xQ~*Dx_J<-+%t z!)K1fr}M>sb_;QQKZkt%m;B5J2mk^H0@$~YAi{(S6Q)S9@ZrOT4GBtg2*4gjd-*oz z!-x)Dw{Fas{VMs37_n(8r*Y%fuw_eXGH1f9$!#XioHAqTq()KVgb5vn5-n=9gAs`{ ziW*sBl!J^J94=6;N|ghLq(+)7nf|)L1=k8e7c3#-qM=w9OI)}h!X!e_2@d8unDC$> zktHiCcwl0d#gc|7P;6ns%$YN2S^}r2a;O^Q$k8T8i){Ha=FE{pa_;Q8bGgvvK7$r* z`ZVg)s#mjaZO$C(*RM^>u5G)v>4vOzujU=v_i5fCTNCeH@i_A2%9l?>$nQBng3l99 zS6Ce)_2}5QL#)WqqCn<9n}?S;p80WsA-#F49a3dUUh;XBM0xC(%9=fCx=evH8Gy;) zWYbOi`2;{kK^?UqQAstlRD(_(g_TuSVWkyUQ(aI&Q({f9LJBK5fYt;{EKx)eM}!y` zU3J~n1Pn_UQ2`7o98m;d{(=!^7-G&G!bC$^WPurFm1%Y)lB6lgnQ2RQQyi30N*Nn$ zr{N~rZCT2eTMD~%X&jfT3HRibP@;Dxn#g5$9RO?!8E+{zB?~?c&2+VzGw=B z(nydYhLU`8$k9gr8@ud+C^E?G#OO>f71$`m23nc|rkNTA>QNXICF-abl*+-WS#`DQ z1hWPOtE{e;xI|D9xR9%^y!s04j5Weg0RSo-%S5t>EgMae=phcTRlXo%AlmHQH$JOH9Aj{7X#00~dVoNyH?) zFi$c$95LTLO+1&yLy7u93QI&)lte!)RcZ`Uar`*pj4ctvsxBO{mWUCYX!%+tuf^69 z3&b4MSx2aK#0HwPusUNX{IJ*|&mh*&A=WtN>}5sbZZu{|`|cUm!DCq^x4>~}Jk`RB zb~U%3VV3?j*JH~Y@4FL2e?9iuD>ol~zYH@>+ysk1H^Rsec>cqE_XO!oe>)I(2cpi< zP!c~NZsQU5mzqQjk3T*?{*ExC3LK$;rmKtP3`hiC8SsFkn*b3Sc!U{Lzy-xBmSCu$ zg$-I`b`9Aev~s6A-eu-@CM1*cp60Y{A@4U5@lp!2HXNoo?=sp;m-MV>k?QH`hCciu z+PGJe?}cxCC|Q&e)5k=;r9eLolL+7fC&j=~v5K1<3Kl)oA}^AXMWZ7lDseWwGa?2W4cS5) zh4x0G#St=dq+@IJh{s*RFok@ak{_!9ND&&cn8rNj4-u)zMUJnLj)bHVCz%t6<&7E% z5=#6$S;Z)BGgF}iBRIq8MKE$Pm8&|>V0whcSh}%|wY()fQFxk=G=zD)yk{O?IHh{} z&Rk29R*{e?(18;4OgcCyLJ!JJW;#<*(~zc4*hfuDS@SrU(q=a;=1GfvGn^0XB01w? zPE}4Uo$7Q3JKG6I62|kE{G!@{PzJ@LBa%oK$0<&cnv-lPK+I&+nbNV!GD$6U={%Q2)3v5X zm)JUMNJu!=KmN3?c12rI^NLU(_+Y36GZ>;!lCYH=bw5tbNhFhM(Fr`2V>4(1WSh{C zp#V?`QZ0%MB71}fShXTq1?g6UGE%RCwP&RzYb=chS6ntpt!#a*3zfH8xu%q^cfBoc z(WFV>PGP%Nx9(FSmPuMIA;aFI!8Eu2{{3$Xb}L{V z47DKy(cmp|w`ta6mQ+~W*IaUe(m6#_Ti>ZSk&Clk>Yx7)?;dKbLmMGkpS zTBK*JQN8IUYkS=r-}uURru5C{Fl~vn{8nSX^aL=F?>gY!7B~e5MzCOoyWsRS7;oo; z@M58Alm{unQ$qp45;A;cB}BIa)7@|fDlk77=;{HsYKRLauz(cU%2s16LYvb(fwr`{ za&aD`1uuvkE1`Rgf??lEoUj* z0wPej6mZ1_6=Y0aBA_|5__~64(FLFE1wrGvi`Q*vaK}^JW~!Q)^!c=ydZr>grY&mQ{cZps^j=k8 zj=YDwgB>7p>&(OjF67gTUhLb+q^4-Z0$zcEi;6)8=l+zZX5a)RJRIV;mN=L@Iv0*} zyqqRy0vSb)B3nfOR<buT7c8 z^mEzw=|)?()Ti#>tD}qc$;tYFy>3L=BNFUlCwofxU7*DBP3@~rf!mh=f-gVZ3QfQP z3hG`028HtFFWdVPHqNpNxNHL<2mBbBz=WWD1?DT7bK+C5c=7Ya1qe`pawHFQpjkc| zJhuik)?HTKaUQLnFCNkv?IcK>ey8%+A-a5ze+>o!qCj3%L_(d(!&QXxRYbhO9t1{U z>~S5Z-CMog8}|U$s5#2+F;!2X&%_AalmXvS{(yiIEP>)o*TXFVm;C?^)LjQCj!`t9 z<{%z+jmYP;iU)j!iMW6VtV&a`MXM;==BPyx9GmGZ0qR)S>ZG3%Km#;nLG9SiAxuUT z9)c8DgZzD4{k_-y;h$_#3;*?>X2@SO0N|epU~U!Q10oaxx*>WjphPsFM6{s<-r*h6 zp7?m$1s<6*l^qA3U8y;kO-xM1EQks|+zdPcBRX8&DFGusfx}%{{bW<~;aLMcfL%0@ zvCTjOQP8RwPzo4ZuLRJlq=+awgbH9#axmgEFoQL05C~C5ELNcz&R>i<$$fR9JbfWe zRYcM-9T@_Yq#*_xo(WETf6q3!8g?rmV-)Py{&BRkH6JI=#3N!JKyBR!S?HZEVNT;i(C#RG6w7^PB$RNQBo zSSq#K!?DsW!r10f%Pw}IFTNHqB8@N(qyM3nF^U(uB;zs;Lo*K2Gg4zT9tSs8BQ<8- zJ=Wt#7N9q-q+V@ZI8vZ*kz?4I<8Y~uIXaN&WmSerE@5SBXyqJnB^iF@Nrfe4jAgo%WpbQl z3Rt6B!V6n=qg(#uNY14fFOir1?620NK8h)48=K3&%1o&Zt0Lf=%x-RW;WI)f$mms@?~!h6<;-|5eZC!DOpRfM@}Xu zJ=8-z-~&ErD2H;W+Wt8w0s3TgdeU@0W_6BKc4p^fUcgdzCs}=GEQM#$;1_v1q<}7UI{1w5U7DFAA%-mUM(n0 z)}>uKs1HEs_(-TZDp-Yj!-eW(VR~qXZs><12UQs8hJ8R2$bhIQL1fh_$LJ|mTv1g3 zf9jq!Hlnr{^BgLg&b68`$4XC^|#DHDtftF-~;%ZASC^HG?9){_H z>Lp+~= z->CLTsWQW*v*JUv-mE@^C=70lHesu%U@HLqEVxD|WDZ4^b-?^U2!;HqWD3j8 zlu>0mV4})vLbB7N)=)!As;2VjFHx%10MFNsUV6sUFa@c>!Y6nx>`67Oscz)=e9x*1 z%&La|&1=FXtY(v}9!Em;Ko7W{cz7%xitIL$td=V1m-^O1aVbObLff#%J=}w{;;iIK z>v1&a&I*n;xd04s4A4?hRB%91`~bLWNI)8Gh9zwbDgnZQ>ji9p5hMZZQceXO0qh=O zD54qEawiHX!=L?Gp#9m4K|}9uLHuc+S#f5hYOU8+D%dXXrUqvmF~62%PIDd}E-QD9jUPywETz+)MK4EWjw_?in8K@uLMunqaX$R70|amd3~&K+1!GuIK32s8FM%H~ z#r!A%$`Nt~%ZL$pKvK+45+pMA*$gU$@f!II3#afBRADu!a0>H`4VTbA<**Jn@AC?5 zf4!7F{b>CWaS`j+yb@Y0v*r>bX%jc>6GJgGde0P(FLQOk6&Gj;Xt95yhyMEZz!&#` zC4=l3gKQZ;+!=qP8n3aJ&aX4UabeE!v)VC7AV&fu0LL`#9$x@f$OvQsvQ!aY&Oz2t zGz21}oC~xr%8la901%2GUgLFGB}XlCTpJpxFt=@TWh~3jgq5PE){!7DDVH+zcI_$i zu+|E3H@tEn$+CW0v}vg=+d6UgdhgpF=@w%}B4R~<-isHD58t-l9X@jjXsO8xnC#83 zZ%s47kZDP%gtF3uK|Dva)^SGsbVgLfH-~f6UIhopNVh)DWqFwj=3KXSz=KTH55&L) z!~o?akOw4f<&dJyXfC|+^KtmIHE5yF=_e->G$ZTMweLc<@Bn$hiLAwwo=FO?urv7FSkLfeEJiFY0SssKT2G~C-0)i$U5~DoLimc_@pZPGDl;-ZoNTA06{zkEC_xe| z4(!sdS8yVBilX&Z&W-fvGRtDJsFy5i0Tj;opsnUQS*=@N_l{?`7t(c0b+<%*H+W}; zcsD9}m$$>7xA&?yNB#nPBSeHBc5KhKe7_!D5{!N80As^m8Si(=LbiXqEPw;JfD?E* z7?j2^U(XRW99 zxQ~-<3Y?XYD+xc1;q?yFkq2G9?lpb-wJv*fNo+^HoDB(b%$2_(B5^EOV>y_AIpLmh z{Q|ha7z~&;Q}>|xI;;am`1G5@c|*uK=GJ*qRt5fs7e$^w=iokEpQ|g=npmKhaGIo; zSiw=+78)sIccVl4qX&7m|IVZnc@bMWWn?D3ilwG+`jMhHU_UviOItP?G7oWNg zEVHk!x_-BM{JuIh$NDbJdSBK$Gla&i=lW;wI%qezIHNW>&-qd0`9a;LY){+_{&~U| zWU4C%p;v8npWC7z@3nvYz?R-CFRDb4`?%{)EgvagDqS z7+<_d5@4pCQy>{DNJiSXq#%p|{b9}+FHOQa62{|1_lm2{WdeFM1e0{F`GPJzQQ*jDB-2I%1SJiyo zy)+`_Ji4glHCn8$0=;euy#?-Nmoih)^TN?5e$p%H(l@=+12xni$2Uu6=_;Jo3;x58 zsNHE)16yY*1^Rb=y|0G7*wZLQqP^?;&RthT+G;N?CG2Z>O~gMOLCCyb!o2b&J5;9& zR@CFoFVp(YyUyQ9)(NiRA0T9>Z&2ww!OU+%@Vk7-dIi!tD}}^IfVP`w1UFwk!V{&i zAAt-Mh1|`Zt(AZz@@m!_1)k>V3=k?(n!XsJKFF%R#HVU zH*wmexl*P%a{zz_6*?5a2%|?!ln~mX1I!d{ptf_UJJdXjiu>fRdFvcWhX@cTu3AyLazPxlZ}+5Ii_)RKbN2OHFZh*DhYX8YlMQ zqwr&9%xn%sht6JS&-wCswg;LtX|4$pR8YNI^##|jU4LC-glWQ0lK%Tc5U(wyU%yKJ{+Ab{*#e4?GHNNn6w+hqC6d5OOv%KcY@@NrqHNn5N6}xgBU(&j3GAjC zDDE5R(k!+}A=CXb@)Xoj9l9oqO!LF&kOApK?+^qjEos4O8jNWs2o?1XC6+EkAwv!} z45~vpKD=?n5la3%(Zm$xV)3XKv*PiqA!}sg#vFCX?ogO~{EaUmhpehdB*{HeNhT>n z?8zz%n{pR+ujJ)2EzRN5%P{c;?X(2WeC;b}JNRJ+qu8{2j7hfc~|G>8pR&q>-#;t;CTHxhmf_t|Ns6H>`0XN765{UJ|THc43dwSi}>}AEhPf=@n*>2n+SX<%OkFBd z$n3@ivoOF;<)?#K(vxp{9TS^XCkoGJy3mDYGAtKlfY}8Yl?y=zp?>Z7sar0Ar)$4ggRnAvc zsv+gXV0_xiDtPwtYA{6FTU8=VO6fB^{LGa<83NF1IFz7`E6hUgl2FiAWpY??C|4j# z6^T-Gb8INgMY9!1_I)&sYZO--K^jt#lC-2xsS+NeqEcS4)TQQtX-xj}z2i7jQKO|WVe zz6?ykS7|AeV(zkk6vSp^U!pX&9+sWdw4pl3oV73s)l5FLfL3Q=x>(2%w?Fkt7%N*GMx3S<5a{Ky8y*5qMgf- zm_n4(rXVX??7*~2AeUq*OD=g??@Q1~I@>M}w{wAGZgn8iIY!B(yzN{;$M_h<5rY`T zwU-}xCmJ=|L%9=}?u(pTgA_o43dE6a2WIet;awm%M~H#;X8z!TBP_uM9gBhYQeXr^ zhYWm#&Ta)1ZN4LTKmqH^=vZO~6KG7>8mAJVHlyaV|Gi{_`O5;R`={S5fP}Ha#7`BpDXMC~tO{@= zNvE_4?5LqSKflhD&@Rjp6|dM_RjFj91Wx>|TPmXeJiB#pkqyWog(empO(`DWQw{~PUbC=MZuQiLN&2NSlab}PN zC4gYMKTra|Fo1yz7~u#lZ}|+M)AE;imwZQ{dCXs~{+bQA{N*cqatd_fDVtDuBQx2E zL3VcZx5{J-8_^lg=6AG>=&ix(u@p(xc{HX8#2Plc57Ms6kgmt9BVdmi3_E3Qf@~dX z&W4ED-IKIyFpVKe+n~*GR}OQkB#D%@tWD4z_`r8Z-(YS-xjL#8VQH>ek9-l2n8H&e zvvw@Xig%MyuwD!Spj@|Y_`(A-7&$^5N)oRl#pNJo+hwU5Tf+G6zO-@AaAmn3FV3B9 z53Q827M==L!;o+uFjs4kc#>gNr6bBk)Ng$w)*tJ z-9>OWZH}a*@A~|^GX$UhbmOG(H%9!FlfohX#$%DRJ=KbKA`i*QC%LsIx;$A5E~7TD z^Qi3eScl<~MD$X?b?B({e9MkdPxa=d_3GvIGOjdauQRwpHFB>5J8<`2qfB06I)Enx zox?STuVtP2m4IxSMti3b@X?})GnjSzP} zA_rga{M4@r)2-e1Z7ZOHqvizur~=C9Ei7~_Tb+qhU z8ZhD>5O!|F^lGOkkTDsRaVu&M8lTaoqR|gk?o7&r5HH{wS27#>akfyP8yPXh{)QZN z5MT4m^>{&XK=RB)G6T7SrfMoLF~TxY$rXlBqYKo zCow1`aR(iuD2*~T;juteA{>{98MGh^o&o(XLlCqe@c2g%0&f|3vo{3~GPwl+SU?Db zK;OQS3$IcvaNr55;0DMdp_a1>_Tnz6fG>|i2^_{*yeN#w<>%1QEOkrExNIXQ4lWHZ zUdW7I=&~+1?k)*Q{x9>g1Moymj;sliAO>_JEAqr7AqE4q=LcYdITo`q3-K{$vSlQ5 z5of~qEVB{ODuQSQ21x=Ma_}=5#DQXkm@skf1WX-Wh3W=}`%qIgRg*QraVGd_3#vdF zFyqCZK{wG&5a4Dvdy_YR^FX-*04j|IRKPg7GAWXiDs-R*s9*`4b1V{yNS9zb?IJho z%qVhWHy&v_wXi!4E*HTwb<%P?fw6NQ<2>OqJt=TK*;CEjQdHGVEZ1Lr$DWi!Ds>mn2qEp#RRD^~VuB^csS z$q~hbav(Y8j=ggB6;>AdDNm- z7pex7$4#pQbFjt~$n)zSgGG+w^6an3?9MH!+X3bx=GUMyyI zb5#C&v+4dv5K{G2SG6BowFKsMUVBslgrI40fGV2SU}AL%s9=%gf>vu42o`CPa$rcC zHdm>j31;9Gjm%fSWsQOrONZ6UiWLDdl1qV6S$UzLnsxQm(*o~MTFrDT25ETs^CYiF zd%CEmWW;i`)sSRBVvL|KXCSBo(>S81NSy%YoFHqhfC;Q1D;)ECEG?s;zzPV6e%_~> z@JD~(s+cy-Q-(-&Bh?W>Q<`=q8vdsWI>;ru$vm`*cI)bBJmvXT0(PB-gXSZdlFcMu zC3n%|fD#CKuLeUUb=ww53q$i$8@Vr3*bjll!0gtVg4Cj zENYm5eP3)D;HEdRpxV0WC5~2AaWqE4#R^8(3aS$aYTya(>j`%CYnk8&u6B_|w^nJ@ zM1tT6zIJqVz<(DhR{`a0ha@a7$0&%kw%S%$b4xJz;>vh&j@qzGgHgDaHE;K}F8x;a zX37Bs7bRchE0mxK6m16b@=Z~)rjCpXCMJiobp|FzdYA%Fs6dHF08lhHdOWv4RbvT4 zmwlX|CT+gfm0rnpt3XnODH;@Y`N{(d5_WvN34j?_9jOE|I9xbbLq_0(e>L->N+>9jg!=*k<$?iIScPc^E`{qx6z7Gb z6(;%?CIUAle`;F`vl-8sxia_z0`q#7pk8yhNc9X*uybDf(oaaOicyJ@e@Tm1X;JbE zjN!&^=8IO&Say?1jX`rjlxfb+1CG^LnS`c}(L=KKYQ>tS!X{b?|EC~eh3~ckpElZ! zhxdJ~0ft~HhtvtNNCJ~9(;22AQf#7mm`DQ^_`glP{e1l&AJ2{yIf5$pMQ>@XVa4ZnZLfcs`}X(#%`lGNFW+)os5ZRq`(?t z`k!g~pC{zSaQbIcV5e_w8GJemSV|cLL8wucsJX(ZksAI8lp2`F&_-dAXI>0tnE1tckfQj+qP5y1HfrNY}ay+qx{@dI#u2uIIY0ee13vP_J3I zF;?oYt0A!YcCe=vCTh>)UgAYCrg4A3hKnQ504BtZAb}g^v73Mjejo|*6VI5SP4Vo- zy^0Dn+c7tw(O3Whey)F@;eDWOCbkW(9B9*W$Qn}j)LKY-Pc#}RY=XurKqhDlm_Wef zV}W9g$zLVQ8RS$d!c{6_*mfz0uw1~vDurkzc;_iSz^3U?$jM*j8$XeHqvp)B?L1m& z3;LXXPDKy|;e6jm&_j(G2E7V&lN1F{84ySi;QklUAt=0g6TH`lrBqbV>(^*m$`oN@ ztFzz=#-axp$qIrX80Fv!q5uo7K-GgF2&!NSt{~RY+X|wf)t8_O)FRef{npRo3bH`f zgMgQ#AO%{Tg8jF#mp}<*8A#1mAxq1PiU;)O;ucX!7vb9BF4B(J5=v6Iv-VoJ#8ksM zT!u-K89}^Gvm)e@fLl#GD`Gsw>-1tUrcPr#V|3g&k^pmJ{3S+i#|tz9Tuum}YQ2=f z8KB|le1_>1UdoRS>NaAmT9e@u;vf?K=$r-$R?Q%0HzDqZ!ax)=AHEuh&f_^VcAWyU z&|}5s$3cje<0qcsVJ2uweyz+dA!bGy{*LY@f|`<#?z7d;HWLDVm*MCjeHn!QCAfPS zVlz@Wz0=*TDKha4%-=gF1ECey4^{3Add(t+*NAa1H0S_yW>)_ zI0iTJJut+J!!d*Jl;46-9mV|AZRH(QWZ}ln8@2Rz(kW6*9IIi*W(+50EG1ZflK;*r z)vreL_x6W6D4Ze+I9+iR=P^Dc_=Df~iNE+2NB9eha}d9?&SK!$pjK-!TmV!`f7B}M z1R5z1NPfYKs#Z2Vy7tfkR!51kWXUQ~QZ}vHu_H!w=)fT^hqq(H+P$kYuim{9@A~~~ zcZc8|U?mP7Of|9M#fl|96--sA(5sRq$2@6p-8y@mJA3{NI<(#j72cXYjrz32)Nkd^ zWgVBb?AdSIt}P+^!Ug`)6M9d$$v1dj6evnsJRS`p@{!1!AIE4BqV(z1t2>N-(78p4 z2A6v@SaKxC@ghmGJdggQ%bGDI*8CaMCC;3A+1sbNe%QE zU|`+GV1s0}#=!#*#8sDqb`d9>aPwIR*kOgGa2RBZiKvqgJ}71)V^r<3i%=3Z#bRZ| z5Mxj|M%FgMZMp4Mfp5RjmtkbI>Jc zU6)>dnGkl}X~$hP-eCk@cps5BUPA#|N=RV|9EOEqlzVMB>0KV`U|5KZkvLI`iHWLW8!__oq8z6RHDir8 zZnk5rp7mHkTSvn6+O4{FU|XZUE=igL4ghB0k(<D|Wa_$vbb?_D*^;qx-t%ucVpwtk=MVX?izU z2n(ig3Xkoe*uzgnTq;&_RLsl8%owCG$2)!ua;zfn%E1RI7?JW4N&K(`6&;Y(dD|sW z0mTnLSOEnNV^KjxS;V~#I|^*IMeH?>9mn`OVtUfSXVwYFF#+yt2DZj_M%2S#PCE~oONl$9sQ_oAT2QQ>( z4*=Zj;d#Diz3`1seB~Pp`u?Im2feL*|Kd>m+TW)T(*`d}%zwOS3gQOn zi~<@kM+$^o$R^@IU4dYNV>t~Km@tE~&{2=AYfuQ&!nw}jfH*m@f+4K{1QhUqb&M>5 z2|IAR7!ZL7LJ-0gb)oxcVq;5RW1R}VA1xvW(L=a%fDrjK~&^d$_QV`0I?gW(1 zI7Af=afl^o0UD_^6PH%`rB*h?Ik1f7m1a4$TG|qq?McD)c$vKp+~k+lFo`gS*&q8D zGf+fHrun|sOlK+yR}zw@+$L4c-CYxJ+4R9Sr_xPue$!!N1?xDUQclFBGaBneU^^4| zP8~H+o~KcZMDSTU60YU04mumVJs|j=mj8p1S0;ZfCU!S z$r7w^2qp}#q#!-cAyV*J%{pTsNMphwYZM_Lrqt+B{5c#H6Z$A zUcMZLI?EAETn=+4xmD^?nc|c-D3e$>Ax>1Ks+PErre8@aK@Do~z7O>*Pbt{qhaUFT zQY}m;-sB${D9HhgW=VG}7>ClFS^hD9t2 z6wBBqIJN>XAi@!ZK-tPlWC=RR>}EfU91N#Gw4{xOXPkGV65EPe)JcRf_K-55-lC}*WJ6+2cKn_tBDbl^eX0t(3&kR*1wwTtOLpPcWV?AY zoK!Ip;YL)}!f9DDin9?q&~d;qxA(1Mo^J)t9J_y}z@Kbp5Dxs=Ak_U}p-l)Z>Xh(= zv55P0DNvnaO$P&>KE^+$3-zC9e%vby5(Be z55iTir)foN0zlYeB{sy2%|D+j=Ddmf#YvnE?Jr9k%+!W!Jja6Ow2ZLZIA}MW@0%9B z{s1j|#X7p5@C0y=1>JcZJJ`d%x)eAe2}%G#pLgSeN>-B4DX4-*H;NIS@FaN9&^u2! z3Te|CE#l0oG{al_+QYll#K@_d<5Qrfs@?d;I_>z3Kn`P(e+`Y4ub#V1y;PtWW%Pnd zZdAI`l;z&~$zjPs4rpGMw!{Te9KgASDz!qqfM^H)$6mu4g6=7CTA6=TAvzk{`d+6` z+haOur^uk5ZK+S)zSMV6f1Rm>CAf?=x2phmC48(FzK}W3P=+$3knk-L-e`uel67d> z+4eL3#E_?2{UuKl{HLVz>9M>mF|S*icP^YaJubE`pci_-Kzcp~61Cox||UgAW2Q(=6=KtQjud><2EV&;Mq;e2^vW+f1H zBBWOpcr&!agKaSbETaUop&Q>vclC!;(J&BM07}dQL(DTB&oX}|mSXk?YW&9xw{(S~ z27p`WA3!l6Ut=c-5lld3TuZTl$ki16V-^04u@$HH6=88*WpP~~00MC#97I-uu0eYh zVtWdbdt1a9VMSJUp+Dm!h$=!xKe1Np)q?Vs7u5EAHW+<4xL-QBgFVQDMlys>R)qK$ zTQ=2%Ed>!!7=^Aih5CmQR)~e8#)SYVfb$WC2Qh{|)rDoKfM?ipYdA4!xEO8dfOZjw zWHERdo0=AP_}JA`y>7Bpg75o#=@>1d7_?LQhD4jTe8>P*btgkFli}R=5(jwQ}>) zipKRd)nq5J1|U|!fKRa%Uh#&%mi|5r(mryb8xq17TV)p&c!92=7Qc2yTP1W7qfJpJ zjo6qNm7zF{<7I5*bWP`Ua|L}lXpYW=jvYXU>&Po3(2lh;8*vej@;HU{D1Ov}kIj>h zONnXw2#|RpkfHW}#bl5N8EXltI}3?D4e4?XNfi<46%?r;4RVojk&zFukvlhYy7rNB z5t2-%bAYIlKW8w9c!Dfxbc>TQFBuwRCX*7AhlliAjg*cpFqu zGd5EeNb*lkpl7rpl$cJ21PY*;n>i8TcZ8lfHK17$qA5JE)Q{tb5%V}Tsi_jHNel()ny(paKM|XIF`EEX zn|E=W6R88nxtlfT8owEw!bzOX_@S?-gHseK%h{aUMIX=^oqrQfc9|H~$yO}rR@%v( zZqykx*)|z87HalEX(6QfGM=q711V5;rx7=&k(u+M04czq{<#-Z=q%LoiKVEe>?cc_ zhNTXg67aHH6e^+qzpz_Bp%WI`pE73`xEU6=L1b|gdp#&R5OR?>5u7)1mRU6seQ1dn zxQ8g}jDM&DCCN=GIitmwTtwF@dl_v#DwE!6ZKAVB7_^>bF=v{ZscMm=C9tG3FauO@ z7H8o|qr*CG*8wwd7L~-G05AZS1YuShkR|m=>E{f}FiPn+O3EOh^vI>olS9UXrKf3y zWLk@6YKv+53v2odL#Y$C>7jCZj22j3YJrJ&+MBMSr@+al7a$>i%2yS6oU^x#gqm}P zil}C_sEm=JGD0Jes&tatbd;I`HRw#^d6-tfDEZ_dOV9+Q>I9-n1r_B4OyD^sUN(a~IjO z6nRBkw65*C7=~jpdFhfZD3cOFZT4EJQl+nVw3yDc1cyll{`3}2pnaxuK~&JN@CX1D zb#D}#04s2@dod*`KoElW3@PvooHbjGb_mc=xYYutv-C79>olG9vN0PyGfT4p*sLjV zvzD8)DX_CT5w#uJHbC2hLVK+aQnasev^bHpXt}hK*tD_(dr<3ZQX4;1JDpZ*URaT} zUH-x3^%2Dsz0ym))|mA%@_y$Sbd(4d4KRe$DJQan*g z1G-u1JAdoDL+$H%@OvNhd$~$szj}c#`RlqRG`e;AzyDhn0zAMvTfh@>z`2va{u+3D zRjg|cTtyKKmr+8&iD9GB$s!v36CCWp=m5fP#7+w&8hIfhw^5F2p=O*@wou9e_6fVK z!8u7F19I^JGOz^oh5$Da04g8^^`-y`umD4_1TLV-D^R@)P;dBl!^)si8rw;_DiHNY zxQ9Rx=X+E3$7zK}f3Zw)JH(*cLd#0*LrmOL2^cQ~0;6i7zdTrE+cN?K+@?A=#;!Lh zg9%-2Ss`ltKE;A553@gSycqjaPFcHx*eNUD3>tdT$7}J&X@LV^*Qtd314-bpAc-4r zVFXDa&+R+|Ng#Kx8mn@r0+>7mLm+oUP`w5acb0U+60rq-w^E2^gnnoK4Zw=NwJOWi zLd#pCxG*a*=@v3&P2Vxr|ZR0 zT!hm_#(x3RQ)kzr1G{#?dWD)H&v~e|D||Msl0?TU@w#5#{L^ow6XPsG{R@;xt=Sl< z)J%=nPMrWy?Eq5!090Mo32@a3kku&wpcui*17W^c3f9we%g+8o*0^lZWi4B1{U?*l z*5c#VcVLEbofcp**Zf=8*hX}bfh~Q;?YjHI+^dai5d472C6+8**HKs9VoBHm^F$@t z-8X6#c-du=J=t*ui4$Sjj&k1U9i{5+t?d29?wtVf&Euu*099Sz&MlAl{oh%takJIm zCtKvv6W~gGfb5}5G7;rLl;D_qHVp3ILVltV&M3~M1OCT7MD3l`Z@S@5^=lqJ)F4hp z=qkZcQsRnzjnS#WxvQ7nINsiwo$dtV8A#*pgS0okxxw+&qCMI@Zs_xU+QL%ML>{yF zr;nYd+a)p4;c?q5hSq64;No)NQy#yYPK!vP;9ls~M)BZVzJUx(7G6F(V$Qky+ZItG z6kMr`g{Tv}sD`|_oPF53)d$$+{FWlF1Erqf+kL^=IOj#DyFN{?dM**P*XMC@1TygF zq`~TzGU%c$ArWu{E@0@Sjp!4$$-{ZWj9#n;?WI-2-;tNwunc(~h2)aH?lOBd0wD;( zmFZgJ=>(4N%o^$oKI%mw?0V6;UoPRQe%Cq9{&cbtZ2lLh z&R4xYi3|elU?J>sS?s%*;>@PCd->DLUTvU#)SF1!uv%{czZVp%$%EeGq_F`@Py{6! zoZb%A(whP+umUcy1PcK3S9B~XVearQH3F9c{U-0}j@$UB6HZUt@m_!^f$m5y5pN<0 z8*6~Xq+2?n@29p@5>Y5{4aUh_EKEx&cCA+ziX>oBp-a^850Bz@-=S_8jBMY`Zm;n} zM({S7j=IhvFb`!R{}lg|f-CsJJBspMI}sGS@)vLuEk6J+ujLt1vC$jag|6)|Ak{XH z^EwZlJWtgXMX?Lu0ufO3@pJT8&$pERZuQRax3hos`*+b6x1hRT^-mA`!L<9{!vtIK z^%|||oF3)AZ1#p?z-n(Pd{6Lc?z(W_lX6e?<5TyuZtS|4_YS!CtjmFZukjQv_&VvB zz;5`&9`cI6YyzZ$Jl*(r{P-!~t?NyMu*w%ppaQ~?07EcIE&vb?9y}ZRb&#%#QL*!A#Inpg)ZsMY+>tQe{h-IjhQ4C9^|RXFAn7bBh)& zOSa4ugjUOzWpRhirE8Mz-C_PJ@7l%t%kN*nCIJJcQ`qp~!vFxVWSpYJ;}SX~Pj(5} zGUO2>6e~6<+3!rebO(?A%ZpcGIjL2zUfre*8#a?=PkzjS!)5@MJJ06r()VxRy@A)Z z&EYZc9?5&a=G}a9W0#U$Pp4kpwMpyLO{aEk`ZKd?)y$c*SKeMe^y$^FXW!nvO2ri+ z;^us^zDgkj8Yghkf60o03i8hdg+?p}+{IUR_@O}7*Xr3^SmqnnLU;%qx^HszKZR8iTW zLqWRiI>oNjHnx+aJ6^sEZ#?tPb8l5v-%H6&JKtO>q$QRJNueTgU80BpQ;6UJCYY$m zg(WCb@Yskr+K9giiCAI*2b^U=R%%m%$)vHe$l@n1VNxaqpMHEMg>h4eDGMpSHJ8h< zcv5$#L!{XDMtVmq@gyd;f(gZ*l)O=1nNmz?CTz#5iY9Pp;*uF{sZPm@Dwd$K23AEPdZXlthMPBlg#GX4BZS)$RtY+ zQ=l<@tb-10BihkQlXLCo*>>ZtrA>9%VFysF&Mvi2Q!}-ib=GP1Yp~UW4`q{Lt@b2Z zZB1YxVvBH=SAu*6R@jJ$H5S=pm0dQZ6;fCs+Oq>Ux5;d`J$LYL!)0;Ya?joNDs-1h za>k=-TnZ;=)O|Q6e!-<2-hjVireK0kS}Spdn`$`8)2kB1V%TFJhUGIi?l^^yLzZ>q zM^Tv5tALHuj{bmZ&mO&iC9~qS{WQD*o9Ik0;OLCD zB{ZSI1~$TmtxieHNL*ZAD7!p`DNn@%jO{*l#KP!KLnk@+ z9ZxZ)q0eSy*2T>*?J@J&*-0h^8`t>22i9X_p)TVn*;t2qm}(69rbe|keCku4QXl#N z^_^~X1Ag)&BzqpHp#v#|AO<mG*R!6Db@j89nV|E$}C^-O9kX|cf zMbX2OkTgbjBDr6#E^q;eY~Ua;_$UVsa#9$;z$7P)07PJLgu7MbqaU@%5iF_6jXWR) zLqJW{z$nfY|2=!)m+jc z7pu!{Qc`LdUFl|bENbQMPU97=49`r);Fr^XqK}j@a!E!E845ErnJmB{%vYiTS$}`zyOFf ziEu@tEJZ>@d)X^aiAy|Ni0Bq?y=Ad)ajGm2Z$yd3O~G-Uo7JmQmqlX*VRL6f3}TqD zU^><=cD0M#?k4%IU^)#BdfO>Z%FK$U}PY$ ztZCrByVGQ*ag&D;Y6+V9xvUBwW=k~bsX04SQxu2rU2W_Y%{V1U&dUM?zI%Jy zj(cvXb^7cwzrbWXU1N8uENb;tvD@7r7D&8xOYfn}2IX!nF~4Q&@0kL8(_Hs-ap!_? z>Gqi6HT2L}ARc6iFZH@7x%jJ-ta0!LUc4d4wO{^7j^1kBd!Sw zw`We{ns?yl9mu(~JH>NC`F!z&8k*1_Q*@Udy=mc-xtsEgN6|LDI*>2bFQje`s@uaP zST7{++oN>@gqXG$sCTgKDB$u52r^s&(XZv{OF#=@Pz1Pb1mx9dy0q)xcRDbCG^ z@3Ok%AFHeT9+#QK`ny3ixW!OXY%~>qPlvy2+gEaL&GN>4H?uDo8};*hdyL8|fnRev z1WOvvvl`H2yspYlG#}x8_rj=gYL{d;Wlcqdx1qK9^MH@IDREft3zrG8?CbT<`Bf?a?D)UP}?~*mx zp+ecYwJXv!E&LdhlSDn-t2jKTF|3c@@QVriiSP&y=>oFQ05WE5M!d^F*MP(Ss~+}p zlt5vQIqa;ISi^98C57XSkwy3WIBl{;BErR7T$5c~lnGQX z#RJA*6g?CmMqWU;W2}Z`B!*>l#%7!eXr#m)U_g!h!gCV9sJX^V(L-%S32tP%K02_4 zDhzRSAMq$h6FkRsB*9ftiH(>O=~=UrLxFi@6ie(tOk}14|}M$cMuVva~p}^gD-SKedEEi7cMC zq%zuMiH(#EX)MFLG_1TlIPmC8>I{#+JhH&#g*Hq;%cKs(Y)a=?%ztW3Gt_~{G$?L+ z49QGB^XbmVQw?#{OwPnT&pbiUbQP3<2t`RgT)>5?DMJ(pfe^@m3=q)Mj6v3PO$Eiu zWC5<=3dK=eiFPWo+|eXZY0JT)$m2|m`(bI^T<-tV$WdgDYlmn)54cN$m9N@3bSUJ<+Ko0EB&#Of5yrT;Q zR3yy}cw{{FETi2B(v>_gQiX~6l+yd0pOa`+JbKm1jMV_8)mpt(T-DVC(*a&>Os4R9N`7q69VFReQ{tS+jk#HzHH<&e*5+`Ho^49M8UaY_0G~6BqOHz_BeirT2EmjK z0F#WUrH@HvxtF=beVs?G&D5;5RGE{>eCu4@kyKEzOdcgSv~`Bl5?4hOw0tm$uTkFi zU|#m94~U4{ik(}#t=^19fxOkuHrQK_T~NPGJNa3o!oy|LHdWldGrxjq zTqS#4$i36Qm|V)OTt{6E%+LG1S#w)s;5Zy$vvW-7J#b z>7ZSHwOy9{tfT|jfwGKr>Ovi8&z+n-1k2ubf{EfqhvQWh=XG0GagX}201IIL6uPBb z>#gDIof@N)1J>l*k8QD#9a#q$+!{jxWn{9_`OTK480kXXSaMc6gQa&B{R+PXE?SLn%z1<6p<2cUOdt0zTH5qNx z#!1XTQ6UvIHP!kY%H&1IRV8FbH01Sg6Bw4^0mW4tw&5?u;ndUNOyuDn{#%F$*0np+ zVs(ik2CpOLyOwoR_WeEzbz+!>;+U0UWV6=EwPM7;;+@T0G`{1b!QM9b;-U@Xfjps! zOWFip%`+BeHMWn~hWHTLBt`r;_qnPMo;>699C;YzmO@Sv= zi6~U%$EDwIvfukXB5>R_h}z#_?%y@=*-4qOk(`EUKw1;(GK8biu>eV7j-#p6H{wbO zWImq$RA%bf+S;Y#rbH~uPz>N1*vuHHg|ZIdm9W~2I6&s+idtd(Jc)5GXLCk^7r@vT zKmv>nffP9EbYAC5PJ$+w>ZzWAk~#tz&_s7^XYkGBdEN+TaRIJl0St-Id}hC99c5Jv zjep*|965=BPKkmJ4P~GpydVR4|Eyw~ah_a1Ai~f?s9g=(KES`;(p6I4@ z3HOo=i#|q-)@W4(jE+`R69Q>SJ!94^X;H=IWKQW$VQEZtX$nL%fTd|XE&-Vy0h`u9 zoDSg~h0mSFyPiJY)dJ_{O^E|IfOEE0rk(=eK8Z&5(j^e?bbc9Ou8ki^fh33l=l+0_ zih&sbJFc!lP3{}};V1=Afle0MPiEz1O~th`D!`n=6w(4^sG(&Lg!P8SDEyL&*=s2r z20>5@i!r7Yc%8K@PQQqfD=4BAumgpT5-fn_{AG;?a-M`@$^vAkUm!>8EW)cQVvsbA zh$~27*6j2QI?sL;0HCjzNoibI?9X!M>HxjdF1^-v{;w=6Pf*=6+9O1mAV-G1PoOSj zlj!Z=_RcwE&&i|at=`PkBWgL zcAc6-a0wE~tQTzcam?|pa3A7M|U$Aeq zunHwPi?^^Llh7rtnvp~J5Tw$juy~53nv1Fu3bjHjcWktG<94Falt=4U^~(v7dntXo3`& z0l2rV4e%tt5m|w__6KzVArPfebOQb=zygb>DwDv1zy5`~-U2L$5m}NFhp`e7F^g+T zKNQJ=$d9J`&ZfH70>Q5WEQkvip&?~3k+m2K5ebVdc%~GPmuj*YZMh39kOIL!^UW80 z*`EucxOaRviM{p|vnVNm&QV0kh&^vH$zr)x%< zcSf79H@EtpP zqX>^;#E1^&J7ByJGbnE1+p|N@m5Vz4`fJvB2QNM%dGg{>_~si$-qlB)Y}qMgP&L(< zW6nD3*b||I`A}G){)HD}m?4D}X}BRz2ON-rh$E6nB1I*R7{U}wgz#T@-U&pIK?o_t zkV6njM3F@pX~a=SCK&}@65(gK2R76WJ#WYh*IOVj{Zc|Q4lu?Wg6PIOERdrQf zTQMV;7Firp)>w8i1Lj?8we?n9hdo7>U3lrW3}4ImHP~N-A%+;1i6zz87LRFBC>E7L zby;T=Z5Eejpv5H`X{NE(TBWdI`kHN<&W0P6LInt%4)hr(9CFMk#~d-vVOQXE*3Aar zbK7usY#aCGck6y7^f$tP0rocF4#p05Aa)5dvtWY{ zN;qMM-+s&fVTV0|h@!bEhLEnhEn2aJ4+6o9OG67Ox8Q=x85EarIpi=y6C3^55x^bA z5Q9lc98pq`GaR83MHg(~QUw!C;G|7B=`=uYpK|;YSb!>}j36RI^-E%1vWXdARGESu8>h3eQ8pW%b_`UsDU>SReZmY>P+5@iY zt6TmUA-N%*Ywo)1{;(nzLBuOBFZ50WjWzd9lkYG4=FkBZO9VWF3@IF8ut`hEAcGN1 z4EX~{6vc1>_AXGg!2~O~u*4BA;N-#(OR%6o+Urv^=oVFg^}fheU;$PYRZ*nHQzE(U#t3uDta+W?JO@oHf z;8V2l3;)$GfP)%_Wa?L$`w4<7aAA}bG;;^1NQNq+@d*}MbA>9{A#6gV!`R4XHng#i zH@{)qsHlTC!R=0NWuaSihI6+y)M{@!=-YJu7P#uniaUj?oOp7TxF0dDaYA{Vto|Y= zIr>meKjFDt<}?Q&-*k>ApOZs&L`OOXnGSWSV;v#C<+=~S?p*77k>0!mIHVv&5WrZ- zLKI{#Yiz+@_A*G_+E9WYB%ve(I|3<_@FRqg(s?E!L!`d$%vRIU|QWOSJQKmG%k)}F^LJ37|P4tMC6=?;S4shwUEQu#hKGI$Tkr; zC!?`dDM+j9UFxJ(5c1@lUHL0v55v~OBKEMQc}-7J^OPP26jK9jLqQL!gM==0V`p_J zwIVvvye-wD7u{k;@nb9FIQ64r)XzxI*pW1zlqV^b6-!$Rua}B8JTfgocxcL7@!Zr^ zIem^Fozc^u3KBy=4JuJF^b-a!fJ90C4;Q#FT&PM>IrXwvH@fTo-S2jHL7e18Zz96g z^P)FBV4c_m#(J@v#P+PZ>C@bZp%latHm)>76Eo;rGrazyA)@P3o%~wZ1G^;)b3rg- z66;{a@)I@`Y0ZQqn;O~_v}~45=m|~`kq>`Z1R{{H5>qM=Vo^sv*`erCM~hMKP!4al z#l>{)BggUdM_0OfzypHPNGQf97c-7mu{5eV+~B6S0C*NgizO>;l@7V6qtJ4b+uRF1 zH@fIbm*%Q_-AQIwyP5iLf%U@RLnC^v4_@?QC7c2aOV)^$?Eyk>&|&@%gIL6MW}=C4f#T_?xK*GH z?P*8b$QWa>4KuFs8gASy9iNBCKGqwMpHtf*)7Vu;b`g@7jDjR@uF0-?vQ)AKNGW%V z%2iJGl`ZrW3Q&N{O06j1wu4>%QguOO?kTsq{oMsAML272bDO<-f%V22N;fg*&2Pdkn$f0V?4!e0;nv88pk@mYW-)!aW|2q4nyxcv zRjs>DUQsxq#<*!o?QvRLoH)29@)$L@+cncUvwe%##)l>3k%LsU7xhlBZ_Kxcb{0NR zuEv9;%sMMK+u1yUwzQX8?Oj|OP1&x-w!7_Z@BV^&7~(DgxyfyAbhr1tIAM3YQ}AwV z)mJI>R;#^vf^P=v8#Djzx7ybZ@PIqmG!dq7!NGQL)g+v<3-?XK9S-sSNPNT;7q(M5 zj<=QzhjJhPI7f5c_>nsvv?lKlh&z(<65wX#@M`(3ha7V)I<)4>3eU~oNNh{?{B#le z`ILh$bc$dA12EDZK?o8T85vs(*7zed3YAHwccUCzum-mqWc=fsBfQlh#`~)9geN#* zNCJ~V)!ppXG!mf+F35UJTp)yXYqsk?IZP$XV%Pvb$G>1_Mo|t}V1D!Bm~H>7Io*zS zxF41xY?XVX=`K(?C|p4Wh{F*evp`(n{%sZ4vCofL9CQc-s@0ksDc<5O)#F88<3UHS z^;)gyN3SWFc`Ocl_*&^%oP3zz38J8CQQ)bWmVOvVcH|v>5L+}v!*Qt|bFm(?Iadno z;10r`?CpS4)gCb1UO{9_G%&#-kWMssg*8aQ?{rr=K*1ptAMzca@)3gtWr6i50SNp^ z3P@k|9m(}E&I&9+5pbUaEWiqYpZM9CVU(Yr1)3dXfgPw{u^Gh86dHmNg<T-mhqr4`d|u# zM?>JAG)Mz~(O@+o;UUl<4O#;myhOUGn;ZVb*Ay)!7XLo#rkBzAA-!& z;t8(Q%O&33eB2dPAQ+XOszApc^^rsoLzMj@G3LXvEn5%fLr+-9N}>QV8lf^WV>CG9 zG)Ci8TH}J0gEd@3IduLbMU;a#nprh~qd1bIIsO1o1dI_VL0bL*2h4yHh=f~yAy0hO zI!X-1JOB~kB~B~=Jo-clSOGJMlUIzB7TgzAWC0fNg6O>8U&voxgh@B?4+{ZiWkf*~ zBvY3B!V**gWayRJ3FJV&T|pw^LH1wRDCFKXq(c@UL;{|~Ssz7SfJJ@^Mh-`iZKOzc zxk12ou0dQRn3rspA4!834I@O7m*^hA9kpEr2Jf^0z+ zTtO57ftvlm@&5P-2P{wY7(o-vzy~zJ5=;a|bc73VPYS@mxvk?FveyHck1gHA3Z#G# z@Fhij(h?lzF)4#qFo7~;0ajo}{vf73=3`-C0sR2R7H|bc%;=#!#bHu}G6{kdL;)5k zlRxsrf`MkDi6&c7gxvk#X_ifZbl9amBx{a5pJ3mTKvga4815oCM-# zm}26X@}`-hDK4;Sao%eRxM}!N1f2G!oO&cL(CMAxsmpafo0m3MZgC2p-HbD~zjL$;MMhGp@;)DW7iLWMYq7;RS601)@?P5r+ zV~j;*M8(uh6>?tS&mVZlk`gw=|dRwt;)vZVor2y+Fb6VI}bOloevbHS}(H9Rd>& zgKX#k5LizVtffgX0fJHw@m@~~7%%iJPr_Wl3~!#DHm#*}XATKoB>nF$XC{QH)7tkSG?AX#BF>XNqmMvQ?d~vt1``y1 zD)L>!7T~89hL<&HK@!Ws5<7ttBmqivL=up55~$MglCzJX5-H8V1;hX>EzSe5(h!gj z8JF?VE&&uo(g+D+4E@A_4FhDh2{RQ2TU5b58^)N-g=P?w9RRc-x}6~(79xv{BJ&+1 zH}cy;vLti#MFjBO0>CA=oV#)|DFVPJn^q{dDJ6gO`k3+sr!okyax25Ke#$Z}XRs~H zG%o8hFZXga2oEsxQFdCa&t-@)6EiY%tTHz<4u|a0HJ#H{{$UY!143MtId%Y>!CE?! zA#BMRPM9$o5865XgxEbtK+d09Sr7x=Uqk5MSc7J^Vv54K7~3}TxV9!&cl2IkL`(0+ zOaiBEf>vNh5d%xA8K;1L{scWRHa*P4W6wiPOSU&Oc4K!7V}tI)c5W`ea%D5Ba!E+) zJxFGoL)4Wn0M_QU6x%Rs2t|DM>MWPgg(p+%Ff%`Ownep6U-Qa#msM90R%JDMZM9aZ zqgRs^SRZZk8Yx+i-@Ki*XQuTz9a9!46N053Kp&}G!v3FlyIY zL+qTQzP8XcIJm@icMhX$A0=%&b2LJAnSEEcH62wi$U+o{no*r_!u-=pqHCI~k<+?I zXL{Nw`4>4=lfT@P>rRyGYXkF=m0vkcYxz8IxtD`^K8QIzWGtZP1DdBfIy|g?viY)u zc7(uroFm_yM?;+-_?^>1o)g2KcLV75c?`Qbw2Oz6jyQ^QC!0lYEo5Z+wO;IgIojCT*FW- zUlQMrh?9LskW_kIKv_cX;=q6ly!~;nIA4;-jkkr0R(GGUN?sAxI57cW5whNsKS3U{ zs;35VQ2a&xhj)WmtOuUq{v&?JcNLEixf}ko>nksKM4HCj|BPiD-1{o=(-PE@H;pEg~}6X?2_Te)`i>h)ksg(-aafOZybG_}!q^7N_m zpiZ6FuvLR{sI6VRdGo?WXf%a2b9bu|BNkPMjuIs}H0E%yaRuZ8~3oLRh$0G{d-snCchH`*X{Hvuin0m z=U%>>7ai$z+Ej1;!-h>_?b=avM{xrDiN)hfv^GCNM0)j@8*_I59)5iJ^W|H<%(*@1 z)%#Twtd0wprk*aTrT1>dk>)X(Fdl8(36fP-#2 z>a4>~4K@C@OU%1ezZ0*#^IUy3Jq|>9ETJy})x;Azgc83BBOidSE zCelbF2c5kL!j9${2_JkcG%3SuHLS5E6TPJgM7Koz)Ie=;hX>gmi?4N40$HX2^nfQZkEc_*(cHYlbxU5G@W#;Tm(Qfd-2utiZAa zDwdEz1~O;(;LC$PXbj{OmPn!3%nnl1g(jAG(}5LIm@@@Cf8AN3EDp8pAm#+k)VN=; zkRpXkv$#WgcGmGIrRrF|n$s5%}O7T2dAb;71DC96<)_O^5~_aL0G zIY z=t?tYuD08n8zul>K%l>iN)N)~j`$C)qBkr6mDDz{sRIA_G$=t}!E3znm0w_R`qveKa3>NYp~G$uXgNl)JB0|5v;0EH=3q54!atW+IKA-A~2;SR?v zZ~iEbLe;v*JxJ2Hd-01z-NM|r&efN4TyBW#&|Eou;tXfN<|$L*lz>1t47KP49q0(6 zJzQrGmUuCB8M+Zy^0gJ%wLx~Xt6lAeguAvFsdv@*os)uRj^Pc;c!f#c@^SzIDpYTJ z)UzJ;(BwVHbnkneS=0DJlK>YiVFjdNAJK){S)g)y)4=Ie=WG&06$LBUHVnFLgR<%%-9E^H5W-DYmZ_BqRandiOcFIN^bQOY zB10M?j#)Td+zxwqtsio0i%IlW5q)<=(rI&vO?=`oq9~Oq3J5k=EJqf%*u^h~{!xr6 zC}T|KX}W~O5ubbsQZxv25S|#!Tqr__V9enYW-tK@yeP{Le!u}LB;g1rtKJNfkb;w? zpb3pxS!JH5rbTW5G&Ng-3s&F))2s}c{HdgEI0-;OytFx4$ii_B@~5T@uzyU*r2KID z$>(fJRMnA=*&v9v?Wj#{7QE$BTY~|oVqll`@udjxHq~Cv&6rtzfM-&w5Q21vnFyK2 zG;CPbjmSeI5|So88iy@=aiu13)#hBe`A=`oRf$eg5mS&8m2*S~(6K0!p`3M!MIAgTZ<`2okd{!0iJ zUOK3z2qFthfT=R7Kwai)flvOU?s9+{tf7vos1igfEp5rvTRs)4QH2i(sp_f`TJ?ii z)oL-hI^2VN6$N2E$XLy4Lyn|Xts`kGO5VyLn#dKeL#!)hktkuk5@|(!mBU{J6j;g* z_OPhCCSlLG*nD22N?XVa?of1%Env1NE;fpbw@@WHEbpO7NJ0$8q~j!ri32{?acX0r z<0B-YR~tCOl8@km-3|fDP%e#sSJM=($rQZTwOVdw6P!WGGz5$~(w(OeIGWSSA>*u>x(!7b z(wLjDPby5VEG{u!ERqTpSsAZymM+9ySxFZ+B)EfA$Hb{_3yWdgYNPnXFx6q6WO`X^ zVZP@xA#G#=3}66BQaLrxd5&?q++|@OyEnfo7_oo^|tJa=%Ff=a^jbIAVqgrhZ&g-l5TJ!ufKmU2qfj)Fq6`dDHPr68Sxby{o(JN7xJ-MdN77Bm*TUS4dPJFU; zVsu>&oQ6%<_dRwS0o?2`S$En6j}U?{EMU>M{yjeBKKG;4Q6poGbsM@vYc%P-&wUq- z#(Pb8U$#VAExiFP_s5Br2R!1)f(`-tu-%53kfC0?fEqsYEE4u8LNAPV}^j z^bqj;wgdGHLnHP90{7uU8Z7o^&jQ~qCy0dV?n=@Eiuby~iJ&Mt=)gsiqbUr-iK-6N z><2vQbNGiuI;1`?s}*Ctgk4r&l|Ll7^n0BrJL+=2yDgoVa z0kxw6iQxewZ~_hM=`K(YYl53Lu+lL8Fq}YeoPeqXc>@KVK?S)YAw*0DTL&Rx@a$?Z zcBZcy)B-Ki!Vyyj1q)FwPm00=aO8D#|;ZxSa*KpN?W8rjeq z{|p<8bMMES>k~Lgo zIrJywn2i|K3#n@9ZAxGXsK9M7!>Mwz&K6_6@UJx{LoCGMa3LZBtIYLM5R*;Muv9Ks`Mq2ZX%n}m~ z4oOz6e%x}#PI1OI3;xESgf5lj5Gv+)w!jLkfC_$~1HdGD%%m~4hYBo%FEhgke(W^9_axWzb~uMKtt2Pv_4AQF#u&zo?fVVV?T)G`a8 z^Ns|=Ck~;z`tu29Uww5YM=(303jZ91Q3-9nBWJ_<1x)c z2AIIKn&1O2z(PkLRT4uW1Y(v_1r0ZpGdc1@ouPaCfeQs7F^3-Sh5V^E-A2NVSowmfj) zOV49$CAKwwKw~`yQb!;KCf7hKcLv^DWHYlvRW)TjvnRpFCq>UQ zNR)+wr73h)_Hg!Afz4L`kR~u|NW|$^*=57%-~@>w1!s0E&n_t)F)WWYjB3yypVj`v zhKCd@rgH2GM1BNCupzq~QZ6&g8i)Z4WU2;GU~Iwk`$$G@9fNJ%!)+A_29}@*N~%p) zhSvlWZ|5|-_||W);BR9|I|SEI3%5HEcLWr71{fD1mY_A7pb1(7V<{I>8EOP_tWz;# zbM35i*Whz=A#|Y)1x9xSG&4U=S7oVDbzQX$Teta0(>h|e_%4ukZPj*R6n8V{!agtr zf7W+@H+YA)9vKlV5W?SLFdvw=ERi&huJ)gojv8iRtT!jD0ScPbvQi)vapDlV zMj5U^3V1*VoM(F)%C%%51(M)oWNXKIjvZ6o4e3 zM`aE+2%NwQnBZWO%6TSq36y|Qo4^Vf3JM_e2gbHLTcZS&AR&H0116QB%A`DIKqHf& zQX`mBAGx^R1A{CR1zy%6-rx;Hc9uk!&MrtVO;?0jwE{|bby27q`Rg-WSAAku-;gM9 zW}-lZ`GsFJA(&M#Z}waa=4vyn@qAZ0@=a%zmWu%HMud1TM+BZLZA>TcbNfbyQ_qgWG^qZ(6S_=v7eG zZgl!|Uxp`pk{WUOvaW0zpiR0+3 zsSipQZmoZztxMpoOSd!SI@jo$H0(O1@Vc=XGbj7HLLa;S0|Gm~1{+jiT4WKsIu=`^ zi+it6HdT2=vQw6_=f<)#J4B6Xv#G4JaTT;dJ6H3Gv~d`kPg|>hnRHaUnpqoJt2s5E zFGPI8YRkcmRE?}LD~kf0DxY!{A1?CjLo?Ggu5Eezc5N5!wm?4hRVsJ{;0wNTDWvPH zJ6L&wOtrC>3a(?hw|APBYvsFz8nd5}cAfgXTYQoVL`G#)1Y1(&rYLlbHbs9}$N8m< zzUaPRJHNYOzx&(2(Ym&eLcn#e?hHKQEF;15&O?8@!2=V*3qrzOg~BcTsW9AvQGmlE zx`RLbmO?yLx0}ShyO!55ytj&F*<8hOmc?CM&UgL>#$$ZF%S+{iwu+Vl$GIhWt2uId z-06ONU?!``RSkF28p)Gf!1IW$IR+yWLhmr+Ao|NQfZH^PS}@&X{G2=gv>d+NBe`A0 zlvCvks~a<6nL{_TGT?gB&m7h*?z`JO*XA4wZ5`Lur$B@a&-47=b{G+f*GKI!EdShi zRYD&Ly)Asg&}T;z^8!;gktd$LcM`p}y%wCod7Y>-6qDT1aU0T8Rnj?tl4Y?nWZ($Y zI0YfOOk-8oN5M~APG7k)H!1^^WEOfqtw0Q)Wba0|9aJ3odXnp zCu9B0XPwqR!`6j6*DKzu3WC>1Fwd*w*ZzOu5N9>ViTxgpwMOD8CX`*(;7GEjhKVI> zEjcl*hbI*O!bzd?DC`n3bRg36?jST0$Q*-{XR#;$(!obkFdN(fLYp9Z4Ko1SJhTLX zm&&O=APJU$14fcIa@S;)RJ3Cu-ctk%PyN9xH+zNs>c~lPFJu zw8*lh%a<@?%AEPKg3SsK9^AZHF{RI+K!XY$O0=laqexFSRO&EkQUCySNS!LRjn%7G z<;da1YuGSm%&Jv0XKvj(duY?5J*l>>+qZDx=9^0w?oX>?^Hz%%4H`7QeDw;h1|`cO zYbOWmy=JXkIkJ!=n?rp5D9cH6*brNTeA1e=Lt6Z1SrViQ!-+CvQ1NNf$j6flL(WK1 zqzG-BE|$1(L1f8-1PPoTU6PW;5*93mI>_xphLI*SG^}3YLape_QVv%K*T`9yR;)rt5H5Z5}Sp^tiezo`)V0tB1%^@^aaSb*& z;;0vnj!EVtW+!PO85En5bxjtYm19jc-E6^x99JxnLkA#GVZ=|ZjdW#59~d!P3Le;W zQV~QPk-`eVK_&iSO1c>*oNh*ZK*a~rrJx!^0}-@@6(!)10uCcsfu|GWm6yT{v&}F9 z6-$87!F%s*v)#1P|*GmfEy&WCZa)t0a%szvNuCZ^<8ifydOmy3R_7-I@MLUBlrI_AaWV?RcQ zO^`ztNtS0RSc6SBO+Fdrls_zSC2J|T2GW-KRV2enH=RVpzC`?%fSRZ-k${^{5ix|j zGh9$-2aJ|5!VgU7$)}%y3hFR;1yNB$qKh{AD5Uho#}cI@SvnD>o6eN-r!2P|Q>deo zS^-O`*8XfWN~@NT)T^(iI%|csX0;Wry7F3%ufT%1Y>34g%XEozDLX7mKKKAuv@Aj^ ztzgz%Q%wqoI3{+tWJ89{XyTev4v~;ubIoL1Y=Mn8hd|-WXg!S3L=z^(3zFaSrV!Ev zvt8+eO~g&$Km;!M3vj9g|75`Aluv$=3(Fmm#0MRh(C`ROIDrBRd!i6T3P7M>G3ZVR zRKpJ&AKJl|Et!02z54lw^6q_in)2W-;peicDYP83%r2dT;LXf8A5?@8^2}6HqyH@H z4m;FJ2OYos!eKRzCEfJ+h;NmXC{;1jsr8eR|;bAksl;s2{K672h4PmC2XJqMbM24Lg+XE z*h~n-0ZQd6*TLP`W(FU);186rgo9WC3O{I96?D)8Cs-jNHCz-9e_(|s#LgfWj6v;e zcOTqcfF!x&9e$L@soyz~CBhrt1*rI`;}vLTEuo_G#z@BKJ&0#Iiyrk*V7&@qPkY?+ zURc0a4)K}qj(B_v`mDwbtU0SM?VHvX!nVI3U1JN~LRVg_u>~e|qZ*8i+ZM{<4Rc8H ze`J}F7POEBE1)0;N^oEjk}v}f{NM;?O2S7*Im#bE5S1r6!UrpWN>pMFIF_sanGl2! z6kHkrIKWBC5Qd<{8YtnIRj7g|bzp^LCKCrJ_(2Mi`2;?d;Fzr(K?f|Dgp(LyCYB1G z6vqiX;voo&nc5<2oVYtJUZ7Ox91u=)lCKmPsGeoaCsG~htwsE0CQ-c+AF0t$P(v7kp-pb<%Lul0@;qZ*FZJ3Y){DuoFvmXC6mk9hZ_PiZ8lLR4t|M8 z2t2Zn4fu9{Tc?6k`_z~ym?l}qDj0P;&rwyFrWTG_N|H=xC1cnq58`J-{yF9R8nmr! z)ImYpSgTukWmojGey9H~I6f~RM z9cdmJZG;O z+Q0$o2tZrqSZjpXqvZg}(3#X*^KRk4u9p=Vd_{M_a+kwg=9s6svu*zV6aeJB&-vB1pt)_mpbwoGMX#fZM|5tb z=auOxu!_2!0d>VZ5^Q?07GVyNd)^P`Bt3>qWxNK-ztoLMST0RTYfRA=@s*cV1VT?0fqA2%c?kGyoHrroS8Y01P$Fhrf%bE=0#{eDJ#*C|DRy+` z(_$T{S0d7MZ7_SaHyG&BHNCfcdVzu~_;o1|d}P5%_6BLk*A2^1=Zza7;=t0~%q3DIiVpB1--q@J=^DSv8dc{6YlGlK?}2N<`oSIguMn&@aHW zODRzSMHosDvT+%65bM`|?-xe279jH10k_q7_18rA$8d93V6Vl0edB+`1AvydW>5$- zrDA}hl7NW#cMBL4WTkTvxO0CddK7p)%!L&gC`TG7UDIV(9%ybL7%Z{ZER&XLQI`c{ zcL?g{QH;T9KO%#A;S7hc1cOusOTrBPV~bnB6+O@cIgkVGK^#exA79c0s>A_|LJ&#- z9kT-)sT1Y@E|iczNpv51Pha#*bBBQp3IhX4(* zxCAufd$@>;y2y*Z=nz0S1MZR^FaR4%@Bthk1Jp+aGhmd<=p2IMj0=DgE06-w$UNb= z07PJo6~F}K7hnI998P&C7m-5`6ETNkl?ktw_>KS)kNTm0XNe#7h$&;1PEtf$ zGU1Q#_a6dz6I^8=h6sMnhL9$=+*|DDHfgynxn}Cqgk5db(&>k4O!qd(2xSF*_yBU3$Zzydt#d= zM|ZjD8i~RI!TAB(q;RXTIm?KmONmcFp#sTyD$6lU5ug)TxdL2BpFT02rlg(Op&i<} zh8iJG->EYG;b~QF2_NODct(bvywfu4NfQF-m-O_WSQ?+lGoR4rTlSd(_=#1VotvA20(05-FnBeVoL3PMY81ViuuKAIBY7y}W*Fr%6f>39;`X?SP}rL*RaU^b6NN-}o{ z5)t8ABr%ub*>cHRdD^F?+FD_lmyig^Y8V!#dgdzER$QNTrYAvS43&X&gfx>0icSNk zc{Ki~3CfvvdZ*K{1p^lvhh=qw3K@h-QqZ8UT7U(=UQKqfJ&oe1QXFs4&+KRFiN%bO@mkgQs@H1bP{@JGgyd9L%@YP5do-Vjk}5x7@Gu1 z$VzHRti^hk%9^AP=AFyhq{eE0%L=U!A*~}ptyU!%yZ&=# z`nX`Tg{=T`d2zy@@?n;ayPa(a zrHl8oJ!^7}dzNviwDSRZuYr%Pm5)s;y4gB_rCX5QngXdimYWSGf_95*sm>MBBrdTb-I)W|H^0{`5;>?}@s9 zsl>dMh|$S;t@}Lx`(YbyAS-uP7}fQD!ji(Esli2_ol%d%nKgu z10XEDA{=*YX2J?sxW5EUEDV?$Rw^<)!-ZELHhiR2R5IWTDLj0+m12iA9K?O2wEI}Z z!X~;}%ESgp$zAHiC>&N%+)qU<}45u?xGeMgrpu*rroSzG!g>d*Pz);!2^D8$uKFd3Sln&j#utf(%BtlYMIninas zuYW2Q?S{OuEX!O$%Ttj9RuDRSBLgTS1AIfxDbNH4oldHXcS_dF3G&Opk;l+!Q?3dW z#4L9|-~{RGxH>z3K-*q+`5({x$8Zd#)a+E6B3o*f&Dz{s+zgoB+&oEN<>hneqIAVoZ{{Cl(2NiYWk-&VY*>%*Jwn6+`yC8qqFE5Ch{_ zO8YTEyE6kE#5>Y7gf2}uM=%3{%YEQ{DwU&ZAXEhN6kkmV6qFUi9WVoGc+8e7(t6E? zXi02Y2Bq|PI|~=W(~1(foR?E&tuOag@oB#^=WMR(#X!OZFolt}J(}5-{ zk4Xny@ldL#k-ICW@QfCksEH}D)TG$d)!;UD0}ZQrxBgSrT7lJ}rqvUHnC{g;%TxHWA6m_0_CozvvZ6g`syW{S?Boz7EH+NVudsXewG`M~n}+R_!< zY`dV=01a>pi%dWa-P1k1(5P)-%OyZWw_FlEnJ6=$1gzw1MUVtVz-z2TN~`2R$xRYQ zV21KCL&qdIvGj08!@Zl1c=fdHd~Of%F0Thl==M(NhTh;icCWJR z&seYoSKS5x-QiL+>0a`_5!BEqN*tk%LG}Cus0sT@UvltRFo(?u>$)-9N3F0 z-*?duumns1h2Ym41JEDZ%_txM5v!pZDc~r3GXfw$ecMqTLt3ogZOlq_TdOs>^AXZa z1efTW(&H5EkbT7N-R*Ja&E{uwVfr9yb)V#{pJ_FLqh04h?G=1+%7d;J@&4!LbMIvT z+WAh3{NC>y{OJ&E2f&hQ?wB@ch12j&qJ&jA+iP47|>8gCO3py|DFy@Z>+ zfI0Fd4>Jyc@+vi80ux|`JQX=>Vz|mC zeoO!ZF0cV7FEBx|0V^N#5OES!;_Ks>LjbXa%7__1YRsUrv@k;rKk8{H4~07FsHCnVu|yN8 zvI?uOw(=?~u>MdG%PbkkLQ5^S+=5Fkx(3sWufG2B(J�BoeVUBy)?HUzTK&EwswY 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 z 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

%1mfhh-)1G6uiy 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

tb#7gn^;$STs#mn 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 z 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ξ)s>id^ot@DslaSP|pG2`E?+CqS;v4HcE-6EL_^ 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%0DL>+8Ne_=_Hu2n|gc$Q&NFKWqS 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

$<~78U!Jmn8Y41SqX$pA`^Ca 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�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 z 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

(2HkGMJty1e#NL7+Erq^uiOT+n*1RZz~ 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�Uq`S9v-V6_6&Z;-P>Xj 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
}^1+;t(E`I0v*linGum#?U*< zF;XliCl6NVA~D{MTtEIlcfl1}Nw zJ7#qWi!2?LU`LOB%CyD>aiBFaE*3IHQ4(NNSzU6p!6drDnhk})pcaxGV3uTpKV zV37}2ebv-MdNxWN3QMHhM5G?TnA&8q(ZoR5L~iE=UhfRgktxrAL(lbN&mW9m`Ml5l ztUvz@&@Ld*s6fzHW6+voF$s-04*f8WlczDX(Ml{Qq7Y*@9AZ*@&~o}GHc_>TO{ZV- z(OpuVB)!s;A_F{IdVHrPWwno$?4v_R{S6;_?qq(_(4d_HuO&gTBi&c}C`Va=H8<4xw)qvEpG z-4oABoiFozG#=benW>q1O?~#JWCP+6n7z=0U4Dg~*pfXmmUG$jUC|4t-(g}Cm+ewz zqS+wb*`6)hEN$8d{xYat$Zoc7N<-VfGTXCVSha22uYlVaywpqm+fAx2-!k09-5{W` z++m~D&JEqw9d1tgm)Grz**!ig9^Kvz-n1v)Z%y8}IM)Yr-n*FI>fI>peKqdg!wwza z`Ta2)bI^wkoEzPZO8noyspL@ZV*x%+5;>w*5%pF`Oj^Zm0-2UNY-L43wfZpOAzT)ZP-N}*W<4r$- zqbk&w&v|{<0ZmT>1|0&y6hjWiM=p|tOitxYj*j@v-;h1!pq|-QZj4y2 z##+whu&&^wklMWi=AQiEV-DfAedcGL=4;N>93C!j9$axAHgm2ZT|wg4V&XTd=X*Zr z=F*sgK5l`Y98e0}?bYYrjp#S7=;~yd`Q_-39zg9hK$bGltWfD1%F&rleq1a;9d@+w zzDi&6OEd&?@BXwlr0=T)81~LU7W5~gxy2Q6*LY2MS%wO?=YwE{oZdHO)}+> z8s=Ci3=i;AJ~8QL6PMr!s36F1bP1EN{st!bMubq1q^$;oKnRLpDT>hYZ(u2Q0CcBK z3VAGrbky2-lt%z6NoUoc5#G}j-ZVQ+3pcpR8UE|QE(~t|EyYgU^>FMU>J<>O?9JWm z&i?FtUT(=(-O^6&*RAa#yLxSH<5;rjuhJ;_Rl@!??mlkr_eSZl;C)V!4PeUY{Y|EE zI|%$|ViToL9VkH)t$=aT_vQ#&_RU)fxCtio4ucT39uV+uGVsi72<4DZ?_hF~|6x(= zVJRh0g|AUh3sC>0CcJg(WU?EU{U?QQfvsQaaMJM};0UcMgF|=-g|G&fdkL2-32RW= zgdhoZUC)9OTefiF#{C>;PUujgMU5U6>OrZ8ndZ_Natd{5IuGW6J{8J|Q_^(fsFw5U!K)#l zVarnesr9F!uH)2MEjzB~T%T7xq8@4)_Y6lc()J9kj6T6E~rp*U$gzJ^`rjhR7-JSOsB26yK*W-_8$ zGzb+W;WJTPME+_Jq*u*fDSZ{IQLN^hHaW-s+(UC&k32+bt~45^?b%<^LQm_}cta2+ z+A|ue|V*g)S0ju}d$#NZO0BmPj_?g}(ZPxewg@`s?pM0Rtp3 zL3Iy&uw4fuyl27+FU&ARdp$hyUJXYqQA8IPDyT&k1^Raw7_+4axf(h85yu@_=+UKy zQxdWTBF&hIA|#c}hRM2qdh(trM=q+$E15#YsX;*DL@Gm-;>4~;H=&HsrNB~(WvJ4G zS!PgZ{$7idLt;J)tUBky)PteP!jzMr3kwRcp#%$5EW-+|nrKEPtqL-8oW^UDwv;-= zYH`43tSd)7Sea-%@$%rUv@;C^0nGp?HE*^dK^4_FE)m3$nPQEVR^1GNnYJ@yr)Ac;@3NCNmTa?q$Pz;wqK_I6s1bJ{a{1$in{&~P zx1My@U2t7?-38tse-;GrCjcqzPhaIXOsL;|Q}p0@fbB)GMS+)ZaiN0~rcomsZ=5({ zi5t#w$e3Q6$)=6{i>vscrtGOoqZWr-b%HczOCYKfg2p*Xe9?jAmTN+SzO~Dr<6q) zVh)uP4skFStW<2SbDa5H=*%-Z?3C_wF-qO)yyZIBC1iH{som`cl)K%jt9QQB2k?S7 zynVRuc=Jf!@&wtu=rIp^(o@L2szrF`4xqJNUxeNuv4~H$ zuH`NIG^8QtFvKJDT)&)xGXMR@%~iy!4Gf4eu56&Ni zC9ICP&BaTWr7(pp916k?;v3=k#)cc%D5%k;EErbcSjtk4{tyc##D}1ap*S43W-5il zp>V7?pSeOo1!|k>5Sv>z43x7SImz#!N;*tvC_L>j$&A_ITR$7b&<^nuju^xxV1X)l z_VW^qU_=~datA{&0uz@o4kj?s2tzc&B8@miBjo%!Fharu#o}!=oHL7Q9O4ku@W3X{ z7!hey!vmeD#GXKo8VqKc)^!)@pLG>QWn>X zD8j9daG(=!UGB^!RIc(kkh#n&KeKTbp>kLl2NrUM1acrDXF&6Ix7u;e&dD=qITzg$ zi>}3_JF)a{Eq&?L5EnK&;f+meBi`QFPd)mg4gmo;)n5mDO0~<6R)^!&9gDS0XH9E^ z*cu_?JxH$EUiFw_qu0NVMX)(C>>L?;zV-bP;FWzoX2-(W(6-ZmvuYG^7A4z`-}Zs0 z<^cs?1}=b2JilEm7ilYoE=oC?We}M8Ym5HA@zypyHBG;I*0(+~bO8rAOpfx-6w&s# zUqzXLr8zN%ZlRdyL@cUBi$x!IKFP%oOlNo1+vx)yC9EUwP#ShTW`_C%a&<9~FN{FW z9g*x+h}+l8_WoRmUfQrwe;NYpRBVLr74y5_o7z;^Wb8;e5eBU7L~Q^wp7V4uFazU^ zt|BGL3k=FTx%;uapTNA%`@eo8y}0;14+uTW06hmpJ<;>O)l)s!^S}=brk;qs*`vL6 z!o3sJz066D-eZ=9ngtJ-h2bkciCkyY?f6_j7@ih(BYSKOm_;Bf$x1^BBbg zFeoVs2CS0+1ginWwgQ|V1mujFu)MNsz&+%{I=R5jtBei=imh_J4FthMM8wuRnh^x8 z5B{JI7i!UQ2f-;ofkA`my+31`EJGqkAw zI4>rgsX`*JMOr)M*^er$LJA3~{V)b&@HM@|kudZ-9(e6tF|Zs zEI2f<_>nwrI|?qt!?+;8KJ>;t{KI|=L}VJoAY(m4OvH3l$Ff*N*=t1Fdqmue#QmB? zN;D5koI#4x#HgdY+3`eZ{v1V79K{1E#dSHwkWs~KV8vEUE?CqxSqv{)ETn%a6+y~H zUAz!plp|jR#$XV}kRV25Ge%@g#@ATJW-Nv@1PW+mLn)a?YOE4#6bfv_3{u&~Ym=sL z)XAMx6mncgbo@X;Tt`K8z;=v1M&vShd_-7)1)Ffnr-VxEK)PDcN92peek7Nk2q~`{ z$gVVyyCK4N%$rm681LGNok)^}ETT@r4=IF5wi^hygS&#jNO_d{1 zkc=3RD3Zcs%l=A9t6E7^TtkvEhnKX*YMhHxnv%*Z$F14P%k0CR9LmZZigXmp%{09T zG|HnSL8UxFri9A=)O1RzM7pZ9!H2{_t&}6K^vZz*OHvfeQXxxipo{%D%WOzXUcia9 zyb1i9p11VAxGbb5oJ(w|%e$P1f7H5h*vq~IA20;W9uZ88fv2Z*MgL07HH=1=q@b8A zK*;O~$&?bx#L3IU%=ZK=cB~Ub{LBmtN}p6m`;<>R8O@_4&D;#F(`-uBj0l^E2pX)x z*cq2MlFqJML*Eg?+SG?4L=clprxMf~EyRh1>?E9+N0*bt!?VhVL{3>-PJ6jX=)}wD z0x-SQhK864kQfQ1Y6<#UD#PJU@5Dbe61|049n8Q zP$AM#UEt8-^w3x+BK>N%XB*KH^}goRkQ7x>>1>Sa{(MpAE$Ih z9?iTT9Z!;ZN%X7}BlW|jxXE(dPbaOwCcVJTyi(AN3_|okZ`{&Wu;fxE7RSYe&JWWAnEY9t_O5_AoeYr^U)79Br zO!wRgoR|riuu=T-h-EX5)O5D9>yJvcRFMf%Z97sAfWsm^3iE7N1>{D@64m%*(w!{T zq5eEoRIOJ;WK~!7PdLTUSsl<;v{f^8Laf}6Yu(DMA}Q>85LKH#JQ7v_AgN;2hht5^ zWR2Bj?VDzG)=9OfXno6Ry_agu$msk>@yy9^*j8QW))@HKkbn(wjntc0*tgDBHW!c-= z9RN`fJu=&~706UF*3d#$k9FHpfeob~oVlf2kS)yDoV(_nR+Ru#K&-#D)Z*RK3sSz$%qMaZJ@E?bi_8NvqA=Y*<|kWlDtI+5I~g2*uq8 zS*Znn5Z?vf2!2}}rIoogUj9lhKTX*yv=9}&%QO`b(E}{BEQUL+38&mgSW`)J5#N?1 zU!44a)x&VO;T*b}zTGbdjb+80?L%U2$77!2946#uV1j071}f--oqUEac!u|M1|dL(^F?HA z)=B^66lQo0T4OE-VDRd%#^KmQQgEPx zjt&QBaE6^+1`k*U_%s5uo@UWy>dbsSM@C&lHtCc8=9Es>mG*#^_J@}?XD&u3neJqo zzUjnH)|~EUuHJR;I$|Rq8dIYeshJx#-!Z#$*1f{!y#`Dg$&+K7`>q z3FNN^>&+GG9exJ3R_#8Z?LKIRaCipVR*H-U-O8)^1Q{?35toh4u_&82iOA#>*ko)>xq+@iP&yyxjBXRB?nwslVgTpumhl;< zz3y&-@9vTChUemqZ1WcCS4_KzRBxnq*vwAF_cmk@O#bot7H#_mX8ax#{H0-|Fxo)Y z>zxqrk~_JXSnC6yi!8{3p6GHB_ka%ffD#{by2t_#a0X_eKrrtKXz&1N5WzB!Or<~u za5!@lcWxCwWIq4K7Ju;^j&T|{bj3~yj`eOB0B=UWaZ+~lME3w4r(mC6tu;txlEuO1 z#q2aCX}eZKbzQ)JJs~GI^{uHx1e@~78%+}SPd-MOH2?B24~H?waB#SFF_&#Mr}dtI z^Kg)JItOGsPftJSgDF6U;|BC^{M>C`_C6H!LEqd$KlEy6XGy=@KhSTFD_@Pi4L=y3S; zF30sV&-GeoYi8i>a0tg=k8R%8^AHbsWN79RfA))C_Gp*(Y3FNe_xQzDiHpq)#>R1_ z@OBtb3P@LZNEdH0wsdhn4SIA%m^$|&52?+TZ_9Yx`i^&CR?jGrLus0K$(@VT2COX4 z@_9v>aA*b(V1|kIgK+QzDv)Rle+F>q0wG|AtY_|LDC>v@b578V`8{9Qm9sc@H@GlwWz3Z+Y0T^fZ8ZNu2pN zs(EzJOC(=%omb50?fHZLd87#Xcb~let={jWXh5Ww`w8q^W_IS@ZsxWJhuHq@X0GU- zXod*yiHlBsh)?~thyB~1aI8;#=BE4KZ_=c&v`m2U~o`1Zp` zd|B~`#4qo{1lvw`<3GQ14;0_X&HT%^YCAzN1dD5;FxvMdh!78qaGGQH3{x2R;%Eua_#==^()x0V#kv0iuEkowAt2XE9Uks+_-On(FMkf7l6Ea z^GZd@w=dwpf(H{WY`AcX#EKU$mdaQ$%Eyu!!>9}+vf|1pD;MnS`7^Mkv8B# zra1(WYT2;nnn$pW)YWVv)fN+Ow*hydZ+&HW9EQSq&{J{ba7a^fHZ51xbI+Z0lyuB_ zN8NTY$~Ys9&b@e}TK;T}Hy&MgN%SL-L81o$d_@|0Bw+U`xg>rtOqSn&0fI&#l?5{7 zkVI}-w2@04u_Ts*w!yTMgDhdl+lRp&)!~{rrFmvh(7kDt2VkjK5>YIo;uVfr)%Yi% zflk+FpWy8%UXQ#4x#*8WBKat!?J+qila)OQrIY|xS*3xiWLeCX^>hi+N?^h!=1XLj zsS=z$jhN@FKK zvSRhYMKfPP(?y+vZbvA%;23&nG36z?C`yd#k{6JE5g94G@KP!n3oOigUu7}G5M`zU z9<&C)0V9MG{%HU&bYLuZk+jb~`sm|QY+tR)l5ICl{Gds!*1B77K*hSTIT4GD@pZWB z85THQ2+@o(RAh10QPSF}ax>gIGi|m>rEG-EUOD3dGGOKEZFb=jI_{z7nuo3j>azQz zyYWi>=)H{9TlJ;-^4o7{{{{^3z#bI5#=)p591g<{LrgMP7q>*AO&2?*G014nie}w9 zjVu(~Wtogpi(erVEjY?3b5+fRcQH<_2}NYpA#&jW$N##x6=X~S8OZ2E z7M=l>{&}DeOt={s`(Q>Y01$E|Ng2?PK}Vt)t$_?QR{Fr>z#Sz@f)tb>kSK_{BZ2-c z4XXRgA~`52O4Un*vs)6BprpF3ajk0zF%2jgLa>DV4kDlGUJ^^f5-z1`H!9(ZMMz?i zS!!c$;~*m5c=9n?(MgCN(_Wrp^g~qA%_e~R6`#O?K0bJ$idR8jAEyWeKiE%N?+eE= zni-DwWq}E1%;GZE=)Y%JE*#KkqZyfyg_78joskn3AEWsq@SFuDXAxw0cw`ilQ8JyXG9aqP>#}fWJ851b>S9NwrwS>%uVz}0?S&4 zgO;&O$}o)yOqC8%R%x={FNrA3The5Q8CrVFKEv|N&f0sK$38Co!s%0i{v>^w%iDxN!uss5*b!qi0+W*SF?*ye{N;cX12f+$NHW`Q%F_F)3mb>l7d|c6)Q;o1G|^QdM0K zr{Vf(S}@zkpjy+5Mcw8*t@=31Iftp`e5z8LvA=dwHMC?oOER_U9eQpRX@~+VKg(J{ zvli4nY7H1$+X|nzT2ii;qN`o|h1b09m9Ku~1z^J=*td)n|8L_5W#tSm?FhXXCH5QBKc`Mj-(DX6X#S5P8%S+QYSyoMLU*gXiHF^z4^9~|pg zg*^7ma)F%J=Mve-6GL*8YuYy^Tg1tVRb{GMI%O(@C_7jF)?2JqdQ3s{`on+1pAf=n zBS3Sw*RnMEN2Z{X0W{@!26hNLq9Nd zW*w`u7ll^COnVhB2B@`Phiwn!Mcdr&_6RqfpK#}R+yN@Lxs4}eUZi^*>n>Bfk=R3% z#GB!7q4zB9-CcZlSKmPFcfx~CC_$yA;6gw4=LR`Qw=A8I=6ZOeEeP$22gV`Ca|osT zGP{fiW?tLwwx(M!@^Gin|RfbRYD}r+9ToPlmOWXI(2L+sKv< z0vVKne)Pc?Jy3-wyobl7^g}m&*@=d@)PYoOsaPErSVs?Gw$Amwc>UvW4g1)|4VoRB z9qnmQJ73w(a&Wv|=5d$1Na-%fL*1QkdDlCf_}*c^LvLe&*D~URzd1h<``|_o{sJ5S zK+rwC*^$@9@s2ln4@4gp?xMO>M0ovZcd!Lg!Tv#+l!6q@?(5!elITTm_7yf#Ak7V> z>erIwi9s34y2mF)C?Xe}Zx`=s!X?KP(Z=W=SZK_x!3lQ>9-%A)voy<93|urN!>}Mr zpkW6ZF+;KxU$G${=aAU)HC*#4+Ve?7_5Mv?^=)6~(GCiR-}iCfBrVDKm7nK@+>NDQ z$*teXo!%OR&Dxm_FUVi6$qlU8U*F(g{_S5jAeJowU=Rf$&xMqA7@$bxO#&W;@NAjN zBty$o!Bu2I7bF7{eA$-Kk>OB5npL2#poKCB0WuH@mnqesaUhP=-3Nl8!-?Psk{~Q( z9ZIYf#tFs-Y{2aB;b8Q~^a%!W!PWSE8w}W>U6CHSQHiJ>4_%a+s;vrCNX6Wl#JJ?2 zFyNCCKE-(*2Tb7}ag@ca9bf<|S+87Sxby+f6i$960~C3H9~ezhU4`NBT4bRGQ}xMb z9iJR_2OZYoSKT4xjiB^lUSRkk{`g5nAPyokvWFr5Vfal-w=H4~mYn)=4J57*flMMS zRHA|u*(H`qCLYBmmP9A!A1Im>RE*-Bl%gr#L=;Y8+~A`Tr3A^e;wcynEG|R&q=hY> zMIYpscjO{k9MIuB)d67zL+WDw2-O+I&*c=(Ltcgd$Prd3Lq_6J7qsCp663-d;|C%m zA~8xXcQVC zP$Doqhr5vlOEAt=G+lzYnyYnG6E-0|0^lzF(B4$V4yht40mpF=VfMHpxby*^H4|Ep zQF~EQnR#LUOi>=8(K9^$!{B&87L?KBl+hWbkwcmh(1Zgs06`lufii?cu*eY^iKG!6 zW<&l@V_roT^#KNsWR4`8NiH8sMxDB>WJ_A!OHQNM9E42Lq#)WPPFf>j>|_}bV)r%1 z2Q5ZWe%w%IMkC&!Q6A;k^dM6@rRzcEN=W6P!9`UjVUr;zRG%150lxKK?(aV6tGx$MIc>rRX5g0K+d4f|mF(wn# z2{`B_Ikn+p`hhaQXMUy;(13$N3d>a}MiBU-3b9o%)24n;_)9zQKwkC)D!N; zJbGASTS*q7mF;m>y^|#TW8vCYm;=(wJ4` zRUfj7=KgP4R3p8Z1317Oo13KY{OE)T}GIJMOfho!GdwDdPW$+n&HNFEVBF;GK6fJ{g)ddB;g6` zu$pACI-j~EYxOzAvU*LklIF8UEA32cwLasuc8#`bT<0<3w|Yjnjs|m)s}GuMS)eOF zs;eONAMe=|FTHE4EULV=YjxSH$@r4Jau@g*=>mq?#HyK?VZ|5X$b0qKRd7p}MT?nr z{uzCpnHaWhmr*92J?xq3?V0hd+v*~kMN{V}oCm%vnkvnMJ|E30>nbe7*K`IUHb4VB zYXn4q2wm>w%H)5<>ClEKWXvX|a8lWQTG)t2Qcjda(8Y6TZB!fu-)LgI;%M*b2G5b= zO4*}~sv=0al91-o$e0>QaObCDrtuzc;dY?%Auh}+uCX#M&D!kaqC(^r#N<}416*$A zYA)wutLKs?d(4OEP73Lc9-*%2K~xkA0om#{WwN-goa9PK$gXgwK5|rfsoL-!1=-4B@*Z!n5*k*}R-qj(^EPkHrlbW;XwBMe3k8hOx*&W0P%dCd zfCT*PyCjAu4TKqhs87n~ycDJR7V4&?Zl^$mTeR+VaRt<>M7r{CO8wA|Vy&vwFHLnV z_1vxiS}k}LFux|~A1UwxC-77<@Dtls1WRxTdZyG_@S8eB1_R6n8;J+^1qh2UW|S~N zpfG)?Fr~0CxSp?FZHf-|pbQrS4XYe(eCxt|;Q85a$gMABPd! zN;nX2S1mCUH}Y&T@*_L&pwU(_PVq@PFVtD_XS%6NO7Cy|&gZsA7+ca_xMtUsG5Ee9 z31O?0s3?k_@9C1#MRkhw#_=2jG7{gh+wk7~#+)BBA#$MNqz>{B&tv`{pQFV*2wEL* zjySS2lcXOdFg`^w1Y0umP4L5wAQpSF&3?^7gfe@KvIv!OZl3Z9r*imWP5E{jk3nKA zTa;4PaxBd7`^KJZsN;0;GOZy|RyL>Z0`U(KGa(yuNX;KfpcPt**oZv?7aRjypwY01 zr?E&hKr+kOK63*L(jqV1h*`5SDsBX2G6e?-7I*S0Y#&;Iu=c9v3bMzuqQpvH5^jp# z_nL7Ek1i`8Ez*`IfuyeV&X7jQv7(Lx`#gpG4rgD?-60pncFswThOG|&Zaw;LNEK8< zKd>MvYeu_O`kDN>$Le+iBH=sP}B48-LoFsvFwh_tughzI(7eI zNFImRQ%|+m^3XU~^*@s2LW{MI7=a#S16NlOIrRZs*b|}H)0k>iZF`O%Me|!T-I>C5 zT!6G(&oy1^!b;lpGUmnX+~iGyFm2M#a)Yo0T&`XdqBzrFVh}b#@T6Z~<6M=qVw-`A zzVjPTRONk&(+X#0&nv2Fj3Lt$?iK}h>`DPz zcWj&WSbGO;v!zGQC1vJMel2+XsO_OwmBT0r<2{^rjftc5@(6@M4w^7=M;05>*^ zbOjf8rj1h6p{kUQahVdq8zFVmE3x(55rKc(-DQclz@5cq`>&3-wH;xBcep zq_(&I&Psd_Gu+(UO9cjyN;PJO#D1GLM;F6JZs{`^nl4iGi|FN?0cNut!!ht>WB%n` zN+w_8Pa9n{TAaC=+vQ@K`FVnanePE&W<#*J=aQ17h$k+I54v!R;G>ZyTFp-Ns!n3m z=t!?nkc2ds8BlzX|$8@f|*aGOE z@h@oi@^iZ0Ay2uE;^a;M)Uv+?)EjIXvBmmkoCdtLOcz^SuC0`QJ0DR0sam zYWBu|d}bs5jxD~SC2XA?OP7z>fu8M%B?HHjQ=J(s%2I4HI4nRsqv9u7G7o*gffLw= zNwS3CvPI06un(1E$MjHHw*HKYo{LoaWUF{lNS9~Nx_CI2GMPk|5sSr?Ig@5hn>TS5 z1GbZAPoKbe1r<8fgNL3&gBAs_6hKj@9$K_8W9GtzGG$=Eh`N<)SFRg2WDq-6Y*nUB zpQeqlHi87VZ{3njk%DVhyIQxNJ)4$q-=|TtUcEY%aA7k=4JTHd7_pf&k0DQmoMuhs zHK;IWUbPAqEM2-{h7&!Sbm?$K$E8-C+VpDIZ+`~ z>aZ)Y$Rf)uru-_3t+wELOD?*$x{JfS^rEiB8H)l82Eoc$Y^ug|?2)j>CVNaW$Sk`o zGt4&Y?6c5(>kT#LT4OG?0KeF`tuioG+o9txDNsYz)C- zvJ20=>&h!H&X?-Uv(EhVv=h68?z}FhHy13_(3>1|5W+=yQM6HD&MK>_NejEms}M6l z0R<1a!Zb!2Jvec#6eYk^Q%<}36x0#}%TY%j6{{{*4-yM9jUgvH^2j7%35v-rOPkUI zU_}%5NnvmPTQfH^#{rhvG{uZo+UUYu)=V^A6Ru5K&3H3VJm&;A&u=5@vrj(F4VO=H zB^ngFL*b2Ar$m2Z6hcRLiZp{sDJ9I(u1wt&)fPO}3sg~2ge%~IVYG17zFO@OR>quK zY+}cP#1%4KHRG&TUVbIESlEUo)>sc#Q?6Rsn05Bq)TWJD%qxXs7F%d@+t#{wW%_np zaq(kUqICU4cTb`3lvnAc>2=iJMSqG(Um+EHF)9!-4RJ0HSzrNEeyeiJVW$u#)vdM2 zVmK;QALc7!A20S%M_Y$1>M@Ry^f;)9NLx*0)1DexSSeRt?(g1ShFNAclLb>*;%E+z z@W=j-Q@ruobncdCckle!Xh4ykh-lD14?6VCmrlLVrW<^k(Wr}=`qrxPx;m_^SLE93 z5W&7cY!cNH)ocmS9!u>O*lzo&wjd2v@LU z9pR}!2t{NmAMimFT0pfHz+eV6@CpYwP{FaBr7C2R0T5&$10&#*k(x?^{s#mW6%qMv zcoLw14m>~sxSZ&0q9V(wNN6wnm`1Uxq_5r0V}rZErljDr}nnL>NWGphQGV*uz+P|RkW zNOvb?RMVT^%n22!Fiv`vQwVwx3NVB)g)ICa4?&4%Jm;B>r3B!f`J5f904h*IE~TJi zxnvVGHG>&=MN=qf0z^ACmatV+0uR-wCPzg)kB$YTpA_jxMftpw7AB>Jnchk_*3wnH zG^VYbY58ml%be=;rc#obPuE8|_o-}`l{0EC75B?v_DoR6uqI6YnkiLhX2ZBINk$*w z6eq0qVGnzV$TIkl-RxQy94YC7b+dt8?Lv1Veb}xF8@mzBJvkmt`7RQtkftUSX0;i+z}?SOa_~tY!fT zRiI)PJg^5yI}sd)?!y(Iu?HqZaSGf$Ms=BB&1Fcjx}DBOF)V#WLB~YXd(Zkh_V(FXN&N*A}JJV6`eEys~FK*8_$Fs6{6I`Wo3nn-z`k<-U z2SXQ=jO~gd6C53pVi(#xV?C}!su1dnM8ws7P-ix*9+9mVBkZe|Nfpvs3?qnhtX-&e zTG1L4s~1BLPBB7Es1WRwC$Zo&FNe}j*7~(Dg`L6DY;_e&}2^LVo`i>?5@4#f@7;G&IwxD%{V(~C6-Iz@m za^c&`ZSpwG12(S(H!mob;`5v!4MvYEOph;8&jVJk^)g`KE+F>CA_Zoz1!|Asa1RD_ zkN09M##A5!qKpWVfXXz>_)-Mogh%a0_*|jP69oE0v`|<;Hd9>;TU+L7d(Ii zd4dXx;==5O1bG459#04!PxEwP3xpsSV36`$@H6P(0|0=po?=^Og*3x$e~0VKX<84@i{ zlA$CpqMA@b2v$OwuB#&gQLCoF6S=AnJn_e8F|Lz`}%r4q)xot{@k3 zVG2g<3V?vb#EslY3d>Zpc2Xmk|0x*KnaY% z1C$^ul;8)PzzL3^3AphH6zktqKm~?C_+-H1+``I|z#Xp;9*GQ9=&|`o?jC1{g&w0a zRB6qC;UB-}a0F6hWU3(Bkk1q{Hf57#Y7VGqv(A{&10G|zCNjLZBf9QnC4kc=;_ExS z13sK-B@W~`ze6Sp1Uy!vJ!aw}}bHjfVKvpz9z3-S~5gb_cl;0A60#YQTTir@*yA_;zA zgTw-nia-ZYKrCk9FaMGTXn;bM01E5^L!qn)h=2%mfC?+i2SgMzH49-1ODq_s3q4ab zGscugb01afGj;+s{lnCd2Y z(@>P5AdtX3&1#%l@d)<7b#jpk!0oQU)GNhQOzVh6<&rE^Afa@C2pAN1>f%Ol1S{+! zvL?zcE@}u$6f-$4MKfSUhfd^1P7K4)MM)EHHiJe_)3wZphjLW=^bjF?G^iE_NRLWL zeXC~1{vkJaCUv4T{v`7KIu$sd^h%lN5xJ986Qn2hAl=~eGtlkBz!U|?bXL7`8AHx5 z$O0^M6)a@nLx})E8Pv;cWJor|MP8(lB&9Mj$wc3g_Br@%;2+0arURkwy}{L~~;Bh?PCC1!Y|{Wuj#J#|Sz6<$R(R8jR_4T#!WHCEw? zR%z8%&9o?Tbysz@Yuc2v3P{hi+5xmAF1NC+xLe<#lG4=35X&Um1m8>&RdJ zbD=Yc78b_zGrDkKy~0?F^?2?Ag<`a671nA9hIb^^L^aNALdbY7_D@AFA5ZJdzz~KE zbrnDsTzRPI+Dv;~HX(B>W#Q0V`>YP<&;#z_Ztvk{YO`*KR5dhJb9B~859MYDC~)7k ztY{+fAOvU?NN9_;Gmcgll6EY>VrgAOY8mEfT_tMe)JCZGYpxbEv$k2;A}+X=Grd+? zuhryq(^^q#r9KukxD{<}NNrt?ZP!&H-&Rt8E?Rg?m+&@ky+mAj7Y~axE@ie*nrJ3Q zEeq^xCYCo|!qZB7^P7r7by7mrzNk*L$RTPrJ7aBM8CO=l@^Q@<7OsE_NKF1;ih^J_ z;7v(OA1k9MDgz(QpjdGv<@B*L9)oJVVlF_JS)bx9D&Rvii7iTi2q>UK^H3_HAXar51~+Gy=6X}dAm(p-%Ojfn zz&vik7jS_~$CtzGvwY9DXtnb3*w+I#Km`u8a$96!&8$d@;xO$Oe+5H-D}#U2z<;{} zfUQ=5o#HKYAP8hYqbx}VIt~i^3Uwp6L?)PZD|l?900=hNdZYjdK>qk_OT!sF02xN3 z*p$IHRyev^ICt3e*c@<}Ty+>W3x_s**lVXEUXHjJgjk4WqLvHA0Cj?T z4VNaMSZV4{57LE-D6tQPK^VByuDTcnD~}GsxHF0Za)m(P001m7!!qc=185+AV-$qJ z8HA0kNKi}qisYOh<6oA-LvV**Ce|%HpdB~Pqkf<-k4G;;08nA2oHw?dodA+$6czs2 zV=TEeGFdbxQ4d5Wacb@kC+Bj0mxt+xQj;ZzX&51Qv}H3jb-5*8jB6%tc_syn?`Gn; z5`>pax;>bf?w*sr+QT|+0vODk&IA0q4VthC zCZh>!@G+dg1LE2Vj%1*fMBKIjg+=424>}woLJz9o8BB(ujmn{!BcdZ(h9}zmSUI|9 z(^`P&c%!wWRfo74f~0Xm8GN}WJa7Rqk?g7qnFMV9E2C&9NUhZnrNW->)`Be$i~<-u zfDb^e0W~e0@?h9hanrKE6Pe2s_W%g4_?Y?t8IWNLkO3TG5+gvdChSTNvVaA7L5(~B z2|&;ofuIUPj0(I`@^C@la^0Ggxu378-cLLlI-c?O=~38LT%K$xqq;0ZE=4qjZX zJ%Fx3m=2EM2%f+VHUlva(+QLSt+BN-i2N{*ybY9~2@dlJd~C%%payE>k(zL!GN1{1 z@5V4G9f6=IEN-&k!YPt~vnwEhJ)iNok$YF!3eGxiVhqZm>>(lK@xY}CWhkh7Kj(*TMzPp1$B|ziV+wu zFBrXYn@v2Lr@+Jc%Evaq#bKP$S3%v6WSjT8D0p0)nE;%}c@5aW1K0qtiA2dg;4s_3 z3EF@L*4hc+Z3mLk2X^4jp#qKl4aRbe2!_D0c(5vl0HG2}0?7O=oFa4|ip|-=&HGX; zm{8$Ho3!m5&v^te4^s-b*$kZE2mYSmp9MYVYy03K85N8zGZr0$D^K10pxVJ0SCa&!l#a$P|{TDqz zfq0SJH_zP7J>5NE-OpDSr~u-Nq6s!&6=M7frhwkn9faK=#+_o{`F%6ozzzOg-Ot%F z(jdy6fCkcl;iKTSTj1T_y(o4Jk(z)mKGYg{P%JR6cbI?q$vg>2w9S1W2_m2>h+y=Z za0L|BEAHF?I2u&`$OwwO{swU#l6gK2p5O=$(=cf}=!ag>>AmvYPU#k$>7AZ5r0N-v z`(;}BQ9qrO0m6d^a|8<#6e!SOLW2w&9z^KSA;N(XD_U$gE~CbU3ojPT2q2`$i6lLk zF;gt1%9Sizs`Q|z7)+NmYaTn6Qke&3I+YdEV??D+4^(pQOnI|rF)Bq>GEE8W7_gp5 zaXu|ZwOExZ;JSj_nhl(hKH!#lSe7jtPpwr_8i~1*mt0=DbZrq*w{9N1TRh|yvPBmz z54h|K!6ijVuElgb(0L3ivgF9RsO$hBu*rtTbXGk9vMMy^CmvRD_FOu&>eZ{5Fro9r zjT_f%)^M(k8~2m`Cuy8Sfs%%X2O4S2IGNERfR7N$Lu5vwqKOb0Er<}wkU@qA6WE6g zxd1-A`0(DtOE{mzM}-LNBT(>>Bm#KrC{Vy?0;2_t{4M(TH{gK*Bb7v8Nhg`1gc4~i z$eVFM^!8vH2`&hP6AL==AS$k*!r^DC4dzQR*(9S3I9X&7j#$Wq!(uqkc<_uyGR{b2 zjTs4KV?;7O)Dc4yDMXP+K=x?Sk3t@a(Tp4gDI`cDg;bzGCn-gxN?det3==phrOcK! z=`qDkdQbt(GF0esOcz3I2@DlKz||(2$4miNOHsKdRZ3urNrf-IoOu(SKZSYBn7#nx z!4y*@^GyC%eNb_e5M31W44`wywC6EEWC6@vbmgTB9ajKBM`5~L;n=8j)Fs3fbZo%{ zF1gTgL|=|Ah6@v096?89i#-W|a~{axLlmYl@dO=GIJOEbbm+?KvB^e3Dr>AcfkYHh z$cF81PB76%Zn*V!#1l?n%LWZdoa@99_|jb*8z}F(+mr zw@beKokfVn07LhQcmExD;#uHiRu_^t+Lh#%FH=mKZZ}T2FP?&W>J_4|+KcF>2d0Y< zOpLx*E?b=5y0TbE_Un@Y2vkH7QFKO!w%T6Ntg}%7FPiVeTf3SY+R`DL^1eSI?zm|f zZ=rEeTpz`LHQc~G_Y>uw1Pc8nk$Vv`WMBdjI;_92!QjcTz77jl5WfyGL|j7s6hx4L z4&_tlF_7)22|$2>NIr0~lNpaUEHj=!rf0l1w83~$;1DXL;JeO*>O_(Q2a7D%{=sk{ z%>&3_nh9&}yfms&Hqpz? zg5LPX1DT-=WdPYp`U6CS)W<(9s1J7j2*?b$Z;JSNaU zax?=RFNw)C)W(9GM8z3lQJ0joNQ5?mh6kE)LK=-SmE%~Ujhu$Hu5s;Z6{(sFW!WPf zB1uTOq@_W8cs3}d4JAn|rZJC+%(X2s8%=y76y-9-XoBhrOp#RlgZ*7sF5GLV+$ndfkpPmkAVavA@6CPLn4wriWDCs>v*3gz;lua zsiY;-naNFdl0%;iWieK1qdxS3l{13q30=uTA4bHMJoE@hXNgND>2jAh6sa#iG7hr^ zGl;}Yrb}N6Q>6f7rob4Y6Q3DHY3ejDTm+{!YZsFJET%33=_wk?iPY7c6P=el2_2sb zP(IdYswlt?Jh8*a{?v1;e*_P9#Piic?z27T!A=TNz{mZtQ>|qf=p^Nc&^JC%lWSNg zCqv`Vqft~wqwK3+NjZ^MdSI_Lq#;R%WKvmf^rVN~B@Q+ELty?TP>3PCsi@pLP+b01#>}i0XmRCUv!|Sn3)u=~Spj)jw3F=T$S1)fRA-t6mjkc*1J1 z^R$Po5-=-T{|PcWx^=P#itB>rs!+Rnausypf7Rv_}#Y)U$d-?`{C7X0lme?cW$aE7LK*ojPLRmt*Rl;>y(M+7++55T$i%WKpDP zmqme1B}PwZUL+YwvEL=>NOhFn9GAGDEhXaPRzf&075?MMM@%w&i&)>8(pSEH%YrWQ zi_`u3x4!@ma2W^8%>u*Xz}W0!f)&i*Ogb2#`^hamu|wesN8rM^&G3frY|rt;IRYQX zPKX5v0}@M?phP|~LQ`B<=}x!0OpEc1Y0O<45B9n_mf?~{`eTVOHitnr?~tWrhM5-e zEh{ksmVi(vV368~nF5pH^Z>UfM|svX?W`{fgXPXjam)SnvX?&@lKw=-Q$1a+YvH)& zHs{tqXT9@q9pHclG(gUI9RN_UC}FF zAMMwY>~%>rsxf3Mt?BYE7T-DcVWw63B<6~m{)nqaicboz>R7MsDpAqwRh|qLTF*My z6o=xjc^wO12N>7@5H>7`UFM@A_1JNo<5QKr>=rb8!_SWPv@2X~{$1OjTGe*8#dAn+ z0}|Y96*sv-ZRm63Cf%!XXuDsGU3m9Z-V~*`k|KR?euLMASd)5q{k>^}kozQZ8F-bB z;S-jCDeOowoJx+d1u8xK>_|Yu77PcBEm#gGzSx4@?QY+ep#APNz55oV5|z6jiWhpg zyB=m*cfrr)?pM}D;sxS4x_H1=Z@)NyHLh`v2fGDet_vB*>Bf??Gvzkd@SdS9?bJ6Q zm}nD-wR2ng*!vbdef}f3p=!{R1pKZ3=DuWY1d{H%Qn$s$IQqNejS!`8x89SMk-a+& z%aTsrv03l2)tl65k5Xj!% zVP%$=ahUgO!Sf{j(RsS?d1@4T3ldu>msPU2Rj222s>ga0@p>!Bg4%|2#r19fL`S)2 z2HbZtLFapG0DQs6P{YS=9`s__H4(~pBh9xFPS}Ji1SC5U_=ZLhhiljp z$&d$hb9j0vUxQ4YAOVW6g`DPB*Sam2ROx?$gRJJyB7&yn26vYsZY}hATA`mID zl#h6h_m_uthXhi=6msDUeb@^g&!Td5}7K;E4GMiE_b+d2ttZ;TO7)2d|+A zKroQJ=7DCGRFScH4W$dA5qc>IVKi7zBWXx-#vT`0Pq9d7B_VCr7GfaDVZT*+I+ug} zv4baxl8Omx=`@5bxo*XGjM|lq%7=8R6hkEyQac%q1hSJyLWK^IbehRtU^tYSHAGoK zCBC3!F41az{-P&Sa3VF;n;|lnfue9wX(>#Q2fz@QcxWhpq6d30f4IO4xUea6=>dK+ ze-Q`-xJC!_M+d!77pj6PtD*~9AUZx!ms@t14vAEH*>Ri~Jayrh(gT>Jw^f9hk%!4J zyCs{8DG-e*bB`&Qk%^diMwvV3AD4NO>ji{x)S1NinJ_7u9zdFj znqXX7it03aUwU(5T9{;7VP@(9Xqu)4vZfNyrYZ2Ib{3~BIHz=)nO-;%cZv#mx~D6) zkS`gUfjVO|c~OLFg&{_84@RfAxIV^>l?QLndo|yi|RMsWnf{+eeKE3gtku!dx?2Wv73>mNv4 zb5!N9Eda4KD6x^*PZo=@ig^+nn`oXnpTzg4A&Y#{dR=3KlPEiV(kHjr>avjKG%~wg zpyqv@g|jbZn>A5icA{CF%Cq<-MLD%oSL$CwOSJgvgYyKY`6;X2MzQ~@XHc7xQcDv1 zai*n}v<_=k0KkjO#sM4%zwOlwF0JA2$F0Y3+zoO`RDo3;KL5~BcMK%c*xTczu|uUk*8iyf_tx_1`4B{#du zyR5ZqL7#-X5A|rfyL2J@yGygJS*WeVTfB7(ybY1OXv!kYOPl#+y>z&nH=1^H$YfL^ zUq<>jF&brlBXQ1~Yb5+PUr85Pum{@7)0YUtQLrlc|x@@*35=!i_O#H;D?7I9b z#l1(x29%OlY_5c$R{=a-k-=Yb z!No0tz}dCSGB&f5Hj_*jbvR_kEjzct?7(XLG$vil28+SDR$t#NYKY-7q7Af<_VX6mlvX9I!_Q8 zQra15bk67;8tWCNlxx0lmcEx<62b(b^qdCvtWE}%&;G&B{T#Ww7trrJ(59=(23^pB zl+gaW&}LA@vFy+b1<{{0(Y1WbGnUa11;&E)d{r2?_?BrQeSPSqLnxKf#=O!L7q~lG zh37G|D`gsvel$e|NPr7?NK;aI z;`En@a*@pxM~RIHO=Afvh-iU%fe<_;1XO?vfPvhO0Sg}D8PFXYPC(t1Y~9zb&X}Ct z?VLy5t=97#-Uv0`W=$aUbl&Oxk*&PM11;ZxRKNc5ZNKx~AN37T_x(=!J=hY;8vSj{ zq`BCA#e4+5j7@mpaC@z9tKhrj;1K?Vj2eR^QQ_j+uCunx^+;<~BF*iXSy>51eC)jR zMPDqA$ho$bpfY(gju2FO>2;9{fYIq&;4I7noUrpsT7pn)l zd*HDktAVGj>RfGIr%9fsSl%D|0m@t6#?Aj%QiCY z8j;HdF2*VQnu|r*sJW=-wdW)?%sm;iE2XyKfLLyP;mT}}ir(3GJX3`(UySZ4j@~J} z0O>2v3)yUkMa_>kPNg)y=|nYlaY#s&VT~mFxE`N1m*vFNa~kejuXEM@;oCBB!v4fG-yZ_e z9|SGG4%^TIoW-Ej^S&GBCgjn~{wS#Bb=gS&laXCZ3*MSduMuu_!Bb=56*p^xLx6#t zCf_GtdEle4{WswJHy&^d`@W=N|A6_Wqy$*iSztPK@j6mk7*<_Wc40bFAO*N!Mxin4 z#W5RI603f(1*Lu42W&feROI+)bQ0b4t|N za~w#JK7R()Y0l_TiAHlCW!lszP^V0jHk}$ZYE`RQwQh~tlW9(mAAx$P=@h6yUTM{? zWy==WTVQSB&ZS$|Zrry1dG+pPE3xfMz<~u14lMCyu3Rl!s-)BSiieevB~PYYS*05{ zA~kR3yg6*gv13u7z*ss1!_pU2uMR5_1`LrZNp?M0QO`+-4ufNH2Xiuz4eR7S@ z^{NN^`Sn}9$-n5)_B^_pB8{B1PTFhUKZ)mRhjwb)jfjkDZx%yGBRe)G|T;D{^kg5zLV?nvgG zdrms(sH@H)>@xn)ZUYrP@NT5=PKt~?m}H{KCicP<(>?cg!mlZz=sR;i1KD&_zy7-V zPd@jmgo-MV$RHy^KHYNg&prc<&_Y59L+sGRHso+bpeB=u#K=rUaZ-`&9Lt~? zjtmk=q?R_zEi93K{4KcPB%HEq%B?Q@;orbv{ong{EPFcGt;!MzBbY7oOC>^Y zU8M5dQ&2wt1e9KU|0;Cf!w^k$LlPU6>`_QB%Z$=V+XV?z(=^>QgHBucbd69o8`Yyy zO$`lI3I0?CfK`cHH6vMC(V9d_7ac|&#sgq9U6G-sa`PbDtR z`|?_%amrTCZOxg=TQ!>&cg=H;D)-!Uzk*lccclWUxtH>-*IvB5R%=2&`87L3e>GHe zv4SZhSVTz?mU|6me|tFD7h8;#B$Y(ExNcK}Q!O}yR3eB(zHKbYZ`*Q(VWTq2co|87 zV&14Zi4Y1_BZX`>ts|X(E7@o9HZ0G}cZ)81KdhM6Z``QAh1#mAWw$!%GKW$)X|1`| zrB7Y5*dx#eeaXUuw;~iiL9)}*#e*s&8h)+8=*Z%1z;L0$gS7uuv~9QFt}O1kDfK9X z{vYqgxrMw<+gm)w(`Z78CluaTg25#ye3ipTOx&dSnQUc`(@5kdM>)%B1alKP$mXi! zxzd0RV!iRr=zIn=#hi{>s#6{7pys;#z%F)M5us6P=QR1?PC!QU!0zB>AUy@@B|^vp zgtoASwcI5OLI@jQbRmT1MQ95iXp9~(RH0tb;fOaZR4yLly|pO@3s+DK_*Ov&Bs?KR zlfex6%4fcg7~n??D^0Qt(!S{k#3a5l0}X!A1RennC^2eIv}|?9SO5%CBw^zK$vDA| z5QL9uIK?TBq^FoUP=SfuT+INGnhQuUVxVau00>f>XJOD*8XOu2iRP55q3ebI0Gbn? zN;pETg>ZKFu}XbHc{_LwXlG-w3MFF*ydTz(Eqc(yTBtyU9NI+>JY{0nr13 z+Fn|GK?i;v@t6CO2o$3Tiw{*1d`jFR7rXeyxykWTEy&dR&bWcnq|pp(6rezW07o+@ zjE*j_BOddpO~j$1k1UIzM+B))LK<>8h)g7P7}-ecNbn-6kt6^NLdih(Dh-)r2`n}_ ztxkH~7WGTOb;v-rxMY_PM66`Jum?mX(4ZVmzkDcFrk+T!i64~N}-qN z0SP^=X7ut<1t4721A2%aR&jxZ{pR8&c?jwdagmE5A|VP?JpOB1kMIPu!r}>8?CTWZ zDw)Szp{}cN15hsP1}7ZB2~N0z657xPC0t>}Dn?Nopx^-~+_-)L2*C|}pjh8Dp#?JV zK@plz14NdH5N6N<8YrO&GuCVqj6m7W0)PNJ2(76`yNc2Z=Cs#TEh<#TGK9F6 zg0KasY>`A;C21~^xK)xPd3yohN(s0~5-v)J8w=wW1G&{wE_;|eA5pfhqtJDeNTWvG z>Vnj|Owlf-#nN2}4TcxG*g_SM=}Ta)Wx#m=!hDCBmS2imy$RCvrUlbrDkyjhK-j|e z6kOG-24fYSvlPVGBYyYfG}Z5)UweF+_9}{$#irDJC3&4o}!?v{(F?#>{ob z9$3SQz3qfHbQ=h1Z~_qM){zkW__ZJ*foS)>7h6pPLG5BYAFxZknZ;*vI8FX?3 zRA@$} z+ui;)xYzK6BS<6)=LSH!1JG~}2)PA60ExW*Pa|1_)cf8B(Ko;S4RFs294G`oo59Jv zl7ypKBMe_NNS+08iOZ}76t8#!p@Z>^J89z`A8tiK&I_R>*F7aC^vO}qJM1nxm286a z%Vqw1InlgF1!~I8={1;MgjX=X?1g=K;g=tp`l?0`H7}AsUs1pJY)ZW9({;gp4_qNI zTrUh2a3R)Q{4z1QpaZal0Aa{PaV1OuiAvNy_Q<^L>?TtCX8ON|Hh2QKBO<=qD-=ls z`ttxb(2TxQx6T8K7Dxh#00J4%n}Y~2i4Zb-n*nqpf+5I&elx7j0tpi^2x<$9g0rV$ zV;k8pvo#WM)swA_J@6(T8h!9AAaJ&^D{5;~JBq?%EZr79_l={gXc6BJETqOPhcCdh*8c|H%= z13dr&o-;2!*aIfOAzm<^HtY-S(}g4|l&BN7DY!L|NW<_WqBPtBCIG9kVuHp{L|niH zY?BB&kUy1(I>=ZBEO5kWbHx11#8r3#919W5z`GL@2`BIXYI6c6crhk$0&1hN158CE z2se@V03Qnh19-rNu{RGOf=xMy86Z4~P=Xgw0U~Gu8IS=ZNP-MV0wD;2bh`nG7=k32 zff+!8!t#g|#G@5llonJOf&Pd=g`+_m9EkAH!5#dSMEb$fE2tJ2!eS{xiIFIZY6&Gg zt|rupCseK|#Fi;knpIjkm>VgVW3(}(Lf|7M;S0lX(2BDt!<-uoCJKxz$bwz~jEiK$ zIb=hLC@T2E$i2W2IuO5CtGefT3?h0Skl-qfbSr2&jIvrku#y5Ps6_*gr1-#75aC|{C;7g70OBeu5UKC7qq@2?f2*iX(>0nHUs>jEK%zR`*ldDXPy3E~! zNT}IN&CJ5r@l4x+lW|b9&?wFOptGjBuf2Fpl%y$o!4TQJkpDc%0UZprsm;{F&9KYO z28El0*-eDek-wQG2vimqK|GCk5r*=J<0OfgFdJ_KN6Prd$ncfZ!#EaTfr|(Z`}90i zC?u1Bxa_3OQ5*CPpk~_F&Hm`(*u;#H1G@y9j8AsqtS~q_Cco!QVoR=2$iUi)3OykLO5t? zn?e2>M?;m?7zqv`ha2Z%u0zO$9w8^6&{A5pAO->7`RWD`DKFQUH-PI=2I$s3|U`4hzUDHVUCS#pY zWL4HHU6?vOJUK&%7wHIU&w~BEgGH`{g;m+{oxu=LGv!a}IUATV zn*jw1T@8$0P1C#d02XW;fiaknJrQK3&`Lqq3k6O)Rit8Z2!p7N*9#174ODJrr~bt0 z(JbjBl@-?u;F#b@R2Q8k%30SOl!zKVOdw1oW{DX+fjCxRg+LS15Y+|6O&q7?g?-(} zB3&W$v_exQSgbwBg*1@*P*V7Gw44|;hg2o7JxQ#>5QtSx??T%GRojXMjJ9>#mT1n~ zoLdr$(7LslyUmfjWhn;YTa!ASMpVy@aQAuD5Rhzh}_zMaYYr?=qGWyVS-p!h6uLmjL$RZsn4xKr z>o{V;`8Q6{TLwB>fpFp{URUnK(RL&Qh_m8Yz+x@tR4(>Y)AeH1m6kB(R0B@WG8U5w zzOFQeV9=D$g;WnX77IDP;60YuW`5>pP8;SewnFY$j*X1zofJj>M%G6jmZROAf7)PO zxMUzU14(A$fncQB!e1r9(-_edOF`!xeBx3-2`FAiA5=$JP75p+W04cmmk?kKdWl`` z<@E4Z1O_2D##%KY<_BIStMwpQ5(%zozOaQNqJ z2xwfsRDuSE)#V_B{$(@Picq>j+FfJQglJvWvNo+);NuEW>s@8*wqDTNG?=)al(`n!y1v`H9+tfJ01M*l@%8J0 z5SGBcVZv@#!?uo<{S3us>`HQMGJtH7m~6|wY|Pf|S4M@-j^)n=?V1?v(JpORIBkp4 zS5B4c)dtAbaqVF))ncA)g{5SM?Evcx<081@nFd zJhBB_$X0tgYHiR4Cq%B95K<&Z@|Z{q)7FxTdTMGhX#Gag+{tR|O1X%R&-bKS`V6I> zs1l2IigKYd1t*NtYH%{WSZP+!32$DF#it9$@C*+i9r18E^>7f+-sc$cOPZ*XIB`@+ zall^jhL{c)*Ao~YOc^(47oc&C0g4+R?;PLp9{+J5zat?ha(*;&a7gkbUvge(a+4Tn zU3iNqA7hjQiX$y!D<^Q>yISBoNJq0;ugE>oT(>Z9iZN%P4|ebcKl8Fqn|@jIHjkoW zmvCzapE<{o9IPY2*)X!jvUW=?%TpBWfz4h`&=S7*jGtMLO<`|Z_6`S$kdK@)koMb< z_Q)yu%b{r`X%0j;gP2cwGa#t`ZI1{K2<(@id7AeTAYXTOA9BXm2Fe_VnwVvMn0$SZ z5869&C69?>xc8SndXz|dkt1US&K)YWXfr{j%xq5pkM%OvibYjpHF5Zj?s^^`(X|PC zlpOmA*ZAf=%P%?1FZx+7`pypz(9ft;Z~9eFm!%Qw(;uPKkNN?R zInvJxfB+zHpg<1>51LD;a3Mp523xeyC2=CfiWVIhm_(UsKckYlQQ~IGkqe_vJS6?*&#r_jvjaAlJPe9=WTVJ^q7eq}IA;Vj9G1#DrEAGV?U@!J1SvZ9qme^vA zh4a`rG746iWtjoFS!b(&rj}?R=~5avr^U9K2TjU$5R`>6$B=Em<<{Iny=mE{bHaIf zn{iemXO40yR!Q7*5k+T_5L-xORW20e@@7S`#DX3jKwPos6>~~NM|c*M^ifqQ(c!@s z?OBx)P4>|j=}bEHMCpH*{>MfXY@}h(fSwBI6ofPsh=vn1piy8M%h?525lO%R(N{D8 z;e=OZjYSq2G$8Rr8=!rdD_k>p&;&#raA3d<2B5hjUVTyNfk1`TQ;%RV5~doDl0i1v zkBphd{-ckS0U0D`y2M0eXfutLWHI3iHl@7twl>?CR{~d+Zu$<#WpH6S1SY@>L77lt zXBLFeZv1}v5SwjMWT!3$CF%j7BuP9Gp6J!NMaK{q$|!st<)Wy_2RS+uq>@Hzsim00 z>=PRva0+UGHaArU4IYpR)lq1qS|F=+!3Bh|vVK+Ttz_g{*3Q2IOA3Y|zGd{W$$G$S z!p=UcO|;XFQ|-0dFqzu6O!oL~HtyxH-bbYOu+b|h{7 zafR#b;bIUj>c!V6Mhy*N-*>F1^XfZRCPm+|E@uBe4rfN{Sb1%I3Ex^=)2XYMhoRS2)EHv2m?g zh~(-rrhiq=1JJ=-NI2If&Y@=uRM-L&=rAW-Yyk*xl1Ltyu!SvPfeN^Yod^DK(Y@ML zg*_X=-Ake%1gjYD3Nm>@uZp*_Iiu8~L3o*=8T zhBhd{eomOAQKsjF^`)T=oAiJZCYc5&{GgHcO9LB}&;&_3p$uqfLa}1$6#LmPX!R?W z5(q$m5C%{yL?A*|2H40{njsCYbe|C(=mJ`Pl7dg*kQBV)1RuN-n;mSz2LUL;gOD(6 zCKM+MU9-Y-4rYcfTpJAACPNz5a7dt`NxOD9qaN<> zTIGp}+m{qufG0drkvzKC!gL^-k&$_%VpEu7NlI4|Iv_!ITfjx_VE#eTlbDpECY$3* zIigaSfN^%~p&Jtt=||+P;*S+`gA?3PF@qeTkWApu8hF}YIRA2e6o=} znHi^&Qd9ILs8b25RT_3igYwzZtEIBvQi3 zp$K9z2o202O%4I!6jC!<3_K{108|AnRY@2&is1obU?Z~F_zO2G%Z+MbcAP0hCuh^f zn9bNTGBT_TJmq#nyRD+0dE=oE_gOC>rsi+4MIyck+E1&f35iFvtwJ6bxHH{laSn3m zLn9ie@~BiI7L^W6RH9Linyw^@BAy&sa#C1;6pbyVV@F=f{t-GHL5{1asq=8E)Ah_G zQQae+8-_|0q$-uE9&qX!&=-Xc$&6-7VFDABvP!Oc^(asgtAWVs6tkk0S!-=82i{6d ztjLwF9@<$H5a@)x^31QHiNX~CD_AoS*02CT>_HTJ5XL$dvXZ5&WiwmO&2|=@>I5y@ z(l*-C+E86Myqmki)h!;n)-|$qQf&NLTY_e3aDy8t5q*0wW+JV7S>mB~)nOdq7C z7rm>PW_yXcNT05!C+=MX5G*OmN3Pc(GoyhMs@f_34J(zlAO&j;KnNP-;JE6wuuWhf&(J~x8aOS(Xn~}HeQ*j?GzbV2L`5k|p$ZRtAOy_v zi(`xNqRP71#b%2!wLM$Ib+YZo@Qml&=9xoY@FKMLj8>3eyU*i{iAxGCBI1}lMBWap zTMB*h&;puUhfz5e#+}$f!qesQ=wf5Az(vJALeD1%p(6z6lN`B7heR=fq(21$dmO%} zHexqXefq8x8Vyq^tS1UUkO>z0Sjj&h1gC9a!YBFIQxEiUdXHrJG?73_t31-?)2s>` zY;FWlZgP@n_?h^Q;5{_3VUh<4tI-WiX%GG^!In*!WcrSvf)(7r2O$7vFb7BjtQgY? zK!Czgbk4^nl!cbHCWR`P5Q44yV1mJx!UT&w-nD)J0Dd_}6`TziXh$2f)2?=mXN>K3 zY8%HA*@(A~1a5K9w%k!VH<{86rgb;RaPGb>yyLy2dlD>iP_~P3@r@EH!r6BZEiUN( zG?9+fq&lhH2pyzg`zvtd3bvPm98D@dm*`%6X~wSbjkk&`2%kMawTt+0TAxAYG?2oN zf*XqZ`#@T6`u#bG_}U=fD5SwBPl!TR!zVsVx6-T;y0lph;*~N?uL<;1zY<_zfAteV z1{N^E4f@Y@ytIJTU;f?KnTXxBoyFiNy0!xN<`Fj7{uyTSxIOFN7w{ zl!b;s;ONzbT8zRdMAlzO)@1p`GcbWNklD_ zTo|HS6dQ(gKnI{mE_y(*Eh3%>gD^Z|Bf>}@^g*;8Mmc5TK)O>W7K00Vi`&E?V*mp% zjH0($lqsI#L`I9|A&$H-)GPvwMFK}FI*#bkW11We5JH5&eFQOLjxeI6c4*--CgV$v zPNXp7GMZscPNNzURZ*$7f=7bNF@UPHWTZw47Z7&j z5B3&nm?P%J<(EuRO1Oj-vK~d4BuZ4-;0V;ZP_pC8%w4OV!|XCq6cHvg=5ZS8Aj%0reRQ6=4E1L&}1WL zexqlKV`%<{=4dulX}Ullrlxn+1#4=9Yr>{%R$^@i-r${$ZtiAe^k!xJCNKo&J8c_r zI;3&x7;0^Vaxy31IOi!+XAj!tUM|$(T&G^bV!ym4cYYp&O35zzMtI&W#T+%RT90kpa<)3Yjc!C*TZW=lND$9@!CkB)uUb5H*g&tX>y(%QwIr;{z{7WmOv%i2FQ63(UX|G(jD9 zrkV~Yn-Zv-4i}u7#aGO!2h`~!z6hR9iJo>AW%MZw{wbh-sBmV6h?-@h>X2G8>aW030Dyz_FZbczS3}#A{*>~Z>oTchZaG|iRLajs!GP(qO zL|?^PEPXs98KR-D{sdLsq*64RvC1J_IV%eMKoSV(no8@+9;G>Mzy=_wj+RBS8H7MM zA|%eHC1%!P1mta=liLUehH};|2CcLprO|H2bV!794(i*;APa&Uo*?SF;0e<%{_1O_ zVr#LbZ&{>2Jt~hHA;0bhykcj+O6Nf#OjXokb10PQZA8JMgrI!HoMjxNG;E$h>?%}{ z^BrICz>e$4RP-57oY4(V7%rq#Q1C=w9JS2y^h6st53o9c^E|;NxlS8c!Si^}=H?_( zl+X1Is{^r*1KH9H2!RkJfeP56$r3>lBtcPzBg?WZwHn0B#_XrgY$?>N-fm%bN85V9%N|KgZigWCo}sMA6L6sxT>%pQ;1r&v(oFEt zG*+SZ3E&|Hu$2w~K?%ri5f|vu5{*_M z3#%-mgFYKK%tI8Sq0zP#PoFO3I~$dRiFMF)Jn>&Fc6%Q3RBfj zEX6@wT7pnmBjuG-7)=?VS_^2vFa;!4!sU|^`YPEHr!h3*(c7}EtALoF|yF%3H28n;s$2iY5Q-o9d|A6II@*fDP6G25Q) zzizWGLQ!tL?2ZMpFb?uYxDoEjDk6KpM$yeGsIn8-jq4;*!$~qFFCUv3Zl2l46Kpa8 z3)*-c!QlECeW0>Wka9>b^cuid{fJ%otwAia;Vk!;R&`p1ArMe9YYGsH3}nCs48agU zYd98j1bBcB9J3MA?p0ugca}vyzDN|?rU`m4K{jo;ApR6LQ?-f!>Q(cCVNNZ(Zf`zW z==XN7I$P@HVQ0O{;=H-m-^|82VP5ba1|1)Vj>7M4y!GMqvx%aFeSE|gOaVz1v`2uM zn5D}?uM4auU?eMWY7JH4QZz+dw4Y)0tM*Ew=ou668J4a>NK20g@DvcFvQwS3L5Q46 z&rG7QfeXLzORo}vIY9xXKuzCtPVck{lz=$?bWjg<5f}BFwg6I-fl>noQ#bXC(epq? zwcbp1RV#O0U^Sp>b%}c0iK4UC-Z5CyD-OOJj?PvQqV+zhH4w2i*t+#Sz%`l3HR$a| zT~FuyZh$%GkinIq5cG-MZU?~`V?a-`7UCHY{+y5Wm|Pd>?GaEE#jV1c`5B&3OnQmj zoymmAHI+;_K_4afd}y!=_t`;It}3686EK1IRTA+`mCXf`fOrxrDFGVLz!5aT49I{H zB*7j2fDXt&5(I$>sA&=ifez@vIF^7x^tcXCfI+aSkmvSp57+KGj9OUbUkvwGL-n9$ z>vBsuUZjg!RAx^=r1nntS{^TTi*;G6Vs-Y7m!II-T*-I`ua{8kTyG?MyLUhzrr_>g z{>Cjqx92}shkk3{8st>+0Z;LXVS-ob@6Ci1`1zoVb{P^+%LpG&Koa+9k18X9__VMo zi;wnXpZ0tT0h$%5IDz^l0Sdr)j?1|Ifa|z0cS713R>B0Ni@w$8vt8Vw?Y4kv z9=t>dMq*SqwS|k1T)o-TepQ1-+8;jKyZyEtFW!6ijZW&l%ByQ}mXjAh;GBG7D1XY& z^UDK%`O;-Mi3#OcFq>i#Dv*Bd)3uzonWe%=E_IDrER77PatoIr#K0RZsu5Mo4$6Dd}- zcoAd9jAl4?^=OrAl1 z7QN}xrA?$u2g>Am59&RAQ>jL^daq|zpEr3n^y+n@K&M*C4)xF#fZ2yFT9|a}RwPJ~ zCSldJTlX#9yLxn2p zd`mLI9&+O`4^m8#vNSBiOf$}C%OEt-NE_`m6Nbe=V$Z$y z;ES&;nc}o>9RKtihrhA}g@^+V67vu`AfB)b!7J$SfR493*kVGw4)XvANjrUuj!I36 z3_1}0C*=@SQ6Eao4Hi{|sIWHZhzv5vVgv~@8kCr!M%r?;z=9oH^FRj=f+P~z*E~q} zv_q4ujja|wN+UO2fB}XjgphI;B7`2wPs?z{)iT;>#~7nIFRQ(ly79(I&rCPv1rN=m z;B+ZC|IBk&Cadz)b5B0y^D`Wr<^;E*Ldn{xCx#zNbWv2)UByvIL!}s1lP=Blz)d~i z@MFYC{qn?+J!aKaks^BW)yQs51G5=C;I)O#d<_j)VOuNqSZ0MZl38ve>a5&p*Tps) zZCw)D18+S*c-*L^#;9Dj&P{iuFLh&gOf%taYTmHB12nvQ4a!$v^!Ode-+!kHSm6FX z-!0f)Bq>r@D~8Q73u47Q6zPdJN;S#Rx1OkU!3R5D)zXj)Uxkht+1j&%+Y9~2^w(MEC~;aNaC~5cGQ7* z9ZFEPcp#O1sOJ)jH`aj>l3&*6)f#9(wdntiOH zLy2pz-Hli5`mN*6Y^DxXn!cx^avNaq!5hH@qMd_T$vcF?8-FI!w}=&nB&CWR5=51k z1#xI`9;ndhC}k2lJmCjUaLW^r-~f(P0V1t5&@2~Rje1uoG0WCI$M00dnDfp;EAf((KO8q$;i2qkdd5Ge4FVqx)k z5jhqGexyYYjKBfT^I{MvP`&J7FE!f3&upM|8}I=@d{ru6mCmO=KmO4J>}wx$CI&yG z$q$iqv!DIyWw88hYmQAz2-y6GCjjarU;~_60m(KurtN2e3zLWg{U)(B$b~Sdpo0@; zh?u@01|m$z3lKzTk{+6{4Ngd*6M(P=Ub?}SCJf0pvs}N|A;LQjqS`nzarI zwnWk=JDs#i0^LN?oG?XBPx24{=+?GNzU?ZZd=vf9Vz-E7<)&HzWlgO_$_Jj3Ke;NO2xC%Nz%vur7soW0%r=gu`m>;5FyJ> z&2cE7{zX$Bs!ST5z=kzo^+bPp$TerF)K&G6g;8yxi&nt|q|!2}d6}kLCgp?=w(6+R z^nh3!Q!A11G7aFp3=o>o0-4Pq1L9Nx5q^N93&^tsCg4$#hTzVJ@YS!T(SZ-B*H04Q z)dBsSC$bECPy-(rp$bi`2RajxK1LS8=wpjw*)m!7J(M{hX%a^<`=p?J7AGLC&%7Q9 z$>R9tv~=UiOWm{Dtk`5=Gok5Ln5Gs$^(QUnVAxmg^Pk%iwPU)KkqS4|%EVkuF%Nkm zb$d9XRXiky4+-KEj4(tFIRObV1VR*m`N1t$&;$M}JlrbW;KC9~)eTsV;SYltnG$_0 zh|6_C6s|emT{VFSD#(BggwQ)5$N)4Z2tpEoAcOg)=8GkO2s)EsMje<&jq%;LeY}2#om`w`IN<;QmTd(x^VTuZ_TZD`TC`7>ta{)}pJSc?|G028t zHjzm%w4uSwxk1@pL%E~ShElHDP{P2=n}Q!0 zp$J8wB50COyd+$acJS1;;NA zl#iu7?GBl;GG;*KTQp_$lOaaPTlcz2Qdf4fW0!R>qRfn}{;jQikP0n_7ETFj& z@2nB|$V=Y$gPuI)fluGcDeH2WPiw<8w>jO;cAd5D+$cR?%KnBE^z}$(=$MSDPIDr4 z11_DXqBhIZy%Ke#Pdy@oOAO7t zh(H8&f<^)osC&=yj;uoyX|M(M{`>R~Y;3__U&1Z;7634M_>N3$YaM-LtRb&-$wTSH zQCdiPEUDT(N!^jOmHLc}{hx`@cKgiE+p*1JH`T*ZgRX8sT<`y2kJ@B!_E3Z{Z145F zF86kiyC%c;fDZFau`a;n9u#W^wP5YjP`vl4RI0F1QtZVXz z{K{{W&hLQ01;rMxUoelwGU@cF^C-3JbNoj1N{VvJHdeHnpk3Zgo^hOZJcuawE z%E1r_Q8+*f^Wuh9VE|(;3KP%(uZ{};?+Q_=F|^R^xNrh9BU->v49747&CqAiFb(5q zpa!e3_zn&|Kn{VC4pYMp@z5AELJzHk4+*IOb>k0dP!K<>5Dl?7lqL~pVi5tT5sA%S zbWLF-@dul3+3;g5Ffr6Lk$WCU@;zha;7TE#}WuOQ;V+?g<`8x0x>nb%yWA1`wt~Bj>bRY;ufbZTg z1cUK=ws9+3tA9c% zD1Xo<#1Yy2gBv5_C5q7gAfhwY@v1=Q-GqP%;E|RH{)l#mqb5xGX_A#{tISg--#VsM}fx^y#wAcz#h4hzvr-E^-NZG|!@@C(E60zsfFzHbd8 z$1iqMgnBb_Bqf4er*bNVb2!IU=Bx>v0F}0>I5~8OSmfR$C)+>*cW`G0D)23bFA0Dr z(2_^K9H4iIrC9c=SkMW2D2`YxQZ*Wmc#c=z(|Sbc>bw)6u>kZfJf2D0kBg$ z4JvsQO&GoNpulrHCF?24(>RhbBG9ur)DsribMbBtK8u0|=W`(HbNy88@-k2J;-+k> z{^JMXrsyJ32qP({#<3v?G*At6OeKON*g`5n1tJtM>o|f9vMquRLx(8HgKp{SWXOcB z0EJoz2td_Uu!)s0hcalXFwV>kB&NEWzyq4#_ng28UNp~SaV{^Q1c<-`C_worKv#i) z2$bg`h(OV}$XC;82z&tJils+Uqc1N&2KXxpgaFWd!~?Vl2#iIIhI9fZU z#?=G<3roYb0Y(4_#?>RcljJ@yp)deBPjaQPl56%1vS}_a6moFDZ`W^7PSQ$)h$Hi2$~QSpHM>n$?`8I z<)}PSgh+x@bqTC~>6gAsm`LuC^OJsX`$p;<0k=G@Zp)4!WND9Nr=>7_6J?R=s+20tSjoC>HqE4J z4O%vYe9uG~1H9J2GGvuzT7U?IKxk_e1tO9Rm3Bv(wrL$80-hG1kQe@Xp!QiKG6No> ziyjWY_9?*1)kx}gYJ)^w*%ss+0B+s30f=W^Nnj24t|U)GB;%DB0pRb#lW)B=el?an z3GXY|$K}#AVEu4lmqN4@Hyq^DAjZdOKGP>5S2Rx#PVU5V{j(@>B6AJZ1{2i;txj?t z6;gfAbP2;Zi^!^07lwSPL4t^vM0E|E>y&)Rc2Tu3a+f1$;0T&v2AqH`iZ2XNKn8}F zc$3d~NyB-aHVL3sN4@BI;p_N_cY1eKiXz~8|Eiy;hkL13pWe1@O=EnoM~l*xcocw2 z*-(8^qkZ!hH5#IREqH$E*K->af4xF~VSs-CTtK70U$RYIi!>9LfD8V@fPusD6fuFd z@p2jXNgVir8P+H!co3lt1=D9NtMD-B00}U)EYpAnFh}cxDr?S7b`8VJHUyY{Xw8^l z%6y1Z2vW_SV9R8L2CNC&D&q;DAcVjP29)3jWI&e9DG7`~24o-!h9HSCF!_{pY3GRo zxYq+@KzV(@c#g z)NBI`n~g`m%6VI<$9+-5NTlz;+*c&&*PanJ zjtjUxz43AX1t_@@k{DWH-G&Fb@h2F{I@Wk1?m{Fu;vyE=Wd2XKL1+jeL83&4%#vkq zcDZaW;H^P`smw5hAXNrKvMr`Dqz%l#2?FlgC?g66P6=#SSAZILIwN@iEh01UsC~3< zBQ64bV4KyMo*WKqp;ZTpdM=gvOn7-+J%l8o3Qj{-ckP@bEg-_8JPcjZNJ%p$mJG zHj|U&)UfFovGb%61Gokomyf%f=<;*1d2+#6GdVyS6+D6r$Y3H;yJJt$>KG>!MVn=O z)3i_9_vD*>R{K_a__Z|>Y>8AgbYKX+m3nMDYcn9XIbgRhpcb1ixX;kQiF{ zxRd*yms_7taB!a+prgA$rn~WIP-(DxfFS}Ywi|(m?z_8jAp8S?$s495b_OT57}Xm& z*xS9~8zVMg1K3+CKT$YUakT$tv?J9FEbvBdq_vZ}3^kBQq8GOxoC9W&ol?U{Dx9rz zad`~OFF_hh}_6MyK(dzAcxbmncNjU0?MPjIj6i9t$awZ+`+Y+ z%dHchsRzsfEDa;#jWXQK(>wvtd^^?LOW8cc@%q9Ti%aGl#d{9VTU^f<+Fklnf%TNe z(T^MneWKmZyg83xcwBz9gwY-S(KDMO1j_?J12{X|>XO`&_ZvAq!V9Zr7N>m5A0pIk zapFkhwoCoNS(~>}Jy~4c%P+hl#e7P`*vzRfuJ6`vrw`ZbI$HR7NgiD!{Myb3Lc1%E zV1I*t3f<3tt+eQ5Anwy`9s;tT-RS9N})MMz9O`p+f!-X_z^e!jUA~{ zFtF}c*5C?wI^f!D<(r&?e{Uh9h4>aONr@o9)7=Bsy)}FUNZh@_wS3F7y2{yoH6X(7 zAfiaL_jy}`1isY_S3OxcT*IgD-w`w5{qEyS(5?$tLKS}T8Xn>wzD{qvj}4vU=Yu!) z#q!8o`VzBO?g93nJ@xJ zG8FQ^nX@yZ6-krto@8J;(cPDs2kQB9n0)|8vOH0U{M1EV;`CClhGdv4JUg#m-vd*j z-pJOe?{B9)a5E9kc|DH%n*PoaH_u%H=mglYn|hYcGB4!pqdLWGA9A3B)mz=H>h7%^Imkg+319Tq)i1j$jP$&)A>s9f1m zWrCM5W6GRKv*t^SF#+fVV6msqpFo2O9ZIxlQJpPXlqqATsne!u(x5^G3zjZj#fpIg z7p`kKi(bQq+e((J*t2NUq8&HRoVj~&@9CRMcW&Ifaow`rJ5Fslon3WW%as- z=rF=Y4vYZAwmJkc!2~^hnqh|~aR{$RAC@?x2Q!gqFHB8->F>WPy66FnGCD=0Rag~+ zqmCZ%XcmwVs}<#uby=AtTWR(Cq*oJ9Nu^;HUzz2We08}Kz&(Xo=VxYCg{GP}c`y)e zG_U@V=%IADxw4ovvtf}E!|CRP8B00Qt98Trh(NGwkX?aZV301VbixV1fim_yDU16hvV6LkB*z z5k$}ep`Q-Tg2Zi45nk&62_BH(07(u6p*VMyQ*Jrt^M)?^MD^|)lfL@KY_G;Bx8AzI zIu&e2R0s3I%Z)iYOjg9abG+AMM}~|gmrR}rRyZAhTqTiLHa~pHVzJKRo3b}mN-1Mj z70dSA6D3;AGuK=*qB`&FSVUH+pG z5M)4}A>=PQjKj!7)W$Zq!EINQs^10dhBv+O%?DotoZyB)IAcZNa1t4i;w*PL41vTV z72=!@CRe%3Jt%XV27zu<6V}96gAaRA7Qb&<=dE6#)srM>`N9 zRfbF;1hAEWBX*kz1xi2x>ZmOP8ep3S-ll>|$*gbovs-rZwx7Oz4TBN5{#2^21;U7= z>T=v^9EO0Bt&q@=Ya9te5JX8z8hRjrIF#2(0<@9_v}7grDjg4ZNE0s=@tY|Um_?E( zl_fS&VYw@dUyjGljU6v7QG>QpLRWZsN!zaEdMBxcXc)}fV(*}*MA&6A;qS6d2H8P)b0K`;1`7Sef8{ z*6PUxJbk5I}~wxfSk3v9XcJhPIo%CEAL#(?-(;rywp=NUIENsoTSgm^0SLo z1n6U;Bu0$+?w~|Ts6w5>P=|g7qOeF2_%aX`@wFiecHHP`aO;6PM#T(HfC3DX!T}i+ z;kY_bhEq;{_h z)@vCKa{LL;gur8w@Kod{|EX_vBZOUO>34+_k!FVkjMry*q_2GCrcFMCTEaRQC^Cvl zX0CG1g*_}{J~>Nd#dsySSOhMj9q1UNH^hS8rJr`OY>58DSXzSm&Mktq%xVjEJ=fMr zwm^hqZFS3I(^$l}BsBveb;SYjF2t1NNiuo)Xj(g1MHT;%nWf*c&z-#3zV@+!w z$(pKB-Q-e7nISr`+uoEMkzQ)KBpVYEdBz}7N=z^lDI!2Wq)AbnI6f%%OqB+)d8amzSPq$Chq_%Q)nB0+7Gu*DOHu95|jLG*38*vn= zb+LPm@s1ojBNvxQMtJS<0+IaJX;wBxp6%vmHz3*yt~a%bXze;$4V z+*OjB}Kpcd8HjKW()e5NdJWD z_^$D1u %xZq!1ANbcp8sw&ky~q+T`>9tgc(vaZX9Gpt|<9bYTz^S@IVoeujGXM@B~n zMTEhBDCSS}6i`_bPc6o1Bc^{1_7rDu1~z6s`c?`IaE9e0FHwst9@giN@2PWTc~SQAn>g)LHr2Piv~cXL^& zXFk`31;vI$moa0gZe@6eDVBz+w}z7iZ(o>=tM_8&5Qk1NhjnO&vxkSIu!sKUIs+jz z>*Ew<&=W&8b_y|Zm$Lph6d(f>pnN_sHjz{{NdS;0Q8fT263iz-48e96M@w_ZkP0b% z&H`Vw7=+V=gt>Tk7I{qxrV+_CIaVP^rNHWj_9$0p=q-4+J zkCGISlOz&V6D}h_5k93K4N)JN@*dIgQVJOXU)dcGaY6z45NU~u+i@*Pupkm*cRgW= z_{AUY)l&ol5qJ4Xem8izD40DsFOJ8NOSpI+Sxqo!lqC5tSE!6B$&B##Xkl1%Ji>ZX zqCBBhlaXaIw zbC!T1Dxy0>qHW|l)geeNAV|4ckEYfkp+uiYT8cQji8^X5lf6cx~kYL3*0v3z6c!OQqcW63t7RhTW$AfaJ zA;BmUZ|0$Q$|4GiFnk&oEU6aV3Za3jel?BOmg)>RC^ZwiN^`ilwRnAchq*@}`48h?J87T;Q#;mVVvH>jnjV&?jECZm7!=Z#tP zuJFnk3@9V?x-$358TlFu``WKgf-(&-0tey~r8W^HFaj^Z01V&}19DU*AXI(>mv`$e zB2kHz$gx9^1Vn`%I)EvTh*du&i5f?xZFMRh#8zL$R=`PBrWh{P!V$@dLTmmhR*#5^ zC)A}vLAa2+9iEF+A7o$?d9%0paXUMhqN8{n$!0NeO+;I?$LJKMv8R)%v<}KU>f{wq zgmi*Rp=e08RqK-OntxDRf9+at+cOpXwp#RBX{m_{l3KR6YZMJYATniT6TvNWTeq3m zUD?%Lh_hZN(I5UH0cpt{*|J>d$-a$CA;juSUnQUV1rgLG5!AJpku$4t370~#U27>{ z?=^(0t7W~!rfzD4u)A_DH@nSdyLO7ZG8QAdtF68JZND3#P}CK}tCAgKycUzZ%G)IR z7h*eUGXB~V(TfVxt5DTzy$WRcfCY?3#_KDJ1-C%!F$DoGa;wGro$Ngp}MQ5Or%&zOPQEC!oi!NRK%HIq?042 zynYdS;K;(yi+(+k6}E#WQ$fQGWxWjb$A5giWxG9c#=|t>!$5pPLfjBUEQ&@fd`KLa z)+cOC9CA;5Yd9E$QLMUCOvNVWrX`2PH`I$;{Igwr!C!2JVO$k>M!aVHd1#!*zQaXR z>wn4%$7&(RD?Dg*JdAkE3wn$Sd~Chw2*_b8CW9Ocgw+u~{K6vQ!*mNT%=cswL2=#( zFB3^|&ezFamaH20#Fw0k3mnS&3AbeaIA!^Ju1{s3P5#ZR%pNc(<$3cOIX z6+3caS-XGZdX0EtwY{TRD%`xn)1mK56gXl#F-(+!9HQ4_5z}kTeY`R;JQd)?%md)e zJp|3+5iBoq3We=#%I_S{7(CBn zT+gn&b4#lh!K=>=!_Vs)wf}s)cOlTcL(nH8u5B!0E{w_+vCzEG(DDk%HWtwyFww?* zy;E_~sDLs)>=QZ>cr4=4B9S!_$9zgkpv;ENeTUKtyUoDb$u6tcd!59g<7+2JOm_8b z#0IB?ZHrk3c|C0~O9a#^$vaI8G4xkiwv0uUsYT8HtJI6Zja5w)zf9J|e9VxlnhfPS zXWbJwa09FIFVJj)b`zd%ZA!*HdV zTJ`qXu@JA7CfcKIj-^dR1JDCIfCD`N0@muo&CIm`FaRKMASEyYNEO@EF%T+nNYi|Z zMR*Y;AgYSz;AffFxHe^Won(5up2^qEwl<3zM{zloX%&~ceC^i*DbCM*rm?GpJj;tr zcoGk>-H$0FiG@3j^`{b()c#D_Zv2uVoLT+=z9qmj)k?Cp9L>c(O6s(vjPU9qLk}YQ0RAoDIbiEL z@!vY}5}VlO;87p;lL65oGYo+O^^sKNA(t}lz4jX(E1{iT`Rx9YAZi&B1le}{#av%$ z5fxz9)#4w1*&VZVEoKv6!75$x#r`?_(Pie&*N2nc*mpxl7_C;Em_h4oE5Yc**xiqw z6+sPu&N$0FURmDQ!hlK^$Aj5PH%~vlyc~TMRS~aGQNs#ohsjLVQ-O8U%h4$U>lQKV zJs}#m4gy@h(E*O~y`BI*&;zGR0iz@Y9zX=mDG=^nWhfvlGp_>-vFzK~D(7-S-(sEH zaxN+%?GzEWBjBCc;wc!Cy4kX;d_$zMW&*_hqmE?Pd6O(0zTALQ?wRcM>seOO=|R{z zv(;%<0=&BM&T%M?Y@qz6KMVJyOcT|_?^EdStgKi8k9h-cnFa6gV0hj>!Z4lfb8KPo zm=5uw4ipj(3lz^K?Bm128VK&Hz3k8YJ)EqHpUeuM+{#@(40E z15~jLK`K=Soyzj<2Mb>!p-fS~LUY9(K(I_KL;}@B0;d{4$OKlqDmVvZHV8Yh8SVl9 z7!jnhkIm&19BvUDPAY#BID^wafWxJnd*UW8==WL9aNnQzeocw4I(E-yJRNy@KgIz6 z*uC@jJlW5RkIN9V6*yvH=`B#5dE@{QPM|;l1r2&Ym{1`sSg0JLG80i^L{g+mT`c7g zBSwb^AASTGOJuB%7b~8$h_RqTmMvYj954bQ0|p8U+$=Ca=K!2J2N*0Ez=sZ+4jf33 zFl5LDrcIN0$l%oeM};I)k(x*tA%an^T!RF05MihTtUAo<7-5uz2NDh3dKhAMh>xvC zb)~;OnvyCi zrVM-PFbV#!LdXQfSn~=ju{F83>aKe))9y0W&p&g}^OQXH0L&CS zgs`j6zLz@X4^&ax3r9dlTPhHhGtM~hzyukrkfIBDZ4kl*b4BT*k0OoK!<#@Dp(hXx z`T(I3NOT}dA%u{jf~I76QwG8+=(gLdhCoP$8IMG=haNr9VagzM=&=VKj56U}AbgyF z-To5Z^wEKR;WR-jE{BRU0v*znA&DUb8zKpAJ&@tbELUV#2gDvOAz%vLOvu~_9@a4e z3K05N2CdHWfJv;9=urqJ>ztELJMW}%P(g2QO(C0c-nr02drK5J4}N3RfmxA7nz>0U zrOvui-`n)PPW^K=)KSNIdZ1I`14qDB#rw2X^d@#ETS_VWW< z?6KLy&VA(|RC{f^68p zUZ9i|ywgR{gRD!;ohUdt#l%PkGPqY>gjXgG4liajLsy%JX_yoZp190YO|Nq?TsHrdh|8 z;EUpRnCPji#S(mGLx>f_!KzkSEqz=>rAt<^3WtPIjAg9QuF^;$0G^~J$_y3(Q_03Q zzA;1@8d?I1<`_G66ETIfAZ+&N$=3K0F@QwT#73A93Lf&C9%v`*&hHw5 zbF)mAX_J?np`bwdN$By$P^BbjFsIp^Rd(-EuY_eRvolNo)G~^nr`#oG8cr>iahgI1jO4yS#py$Ch$YoJllxGNk{%~_ViqRe3D|qi98Pe z@q>4S=VFqYPC?2Of==xw2rGzB7}AWAdD&?`aYHECaFuyp^^?y;X;8P=Po^50lt>(k z#8*mmm!qmE6vG!$Dt0ZTEO{j_#iqqy#_FywnVT_-6-}5H*06_F<5?3z(`w$-tO(U7 zPkq|cq0W(VmBm?6&w11mCY6y*QRilTD%HzUwW>0^=RV6xvrgg=tbNj8Zgz+$vYzs< zid9ZpW3g8HK-8^Qi>pPmM%QpuF{gNSrCxja#4Y+&p$Q3W7zc}3>Q?u#xJ5_-a4@YO zO7CxhyTJ`w;y}9$Ax@LsEbGc8)EjCgF(w!S5wI#K)&45Pz3A;=Bl86k_&~fYA+G~uu%@7* z*Ml-h8GCn{n2o)VpPcklYVf;Xqk6EvP5Cl_n=GaQli9#$R^Dq7yj4#!xB+uqF@&8X zk?rx;!xqNy6*nx`_uQGp#>M7{JwV(Ok1fRm!DVt<{9@_G_^>ptaRG6BV;%2!K#KJ- z;SS|SAzxD{A!vyl!!nitzw^r;tU$`3n#bfl{>d-|#%yFS`A^bx8J+5F>cp5rLZ8A+ zgl4|43$JS6iCe|aPL8?3h;Egl zV%_bg@w+2k62d-&-u9-nVe>r_p65;eC&O_I3Ap>+p!fjPEJ4c%fG~mvEPP)JqW}?n zU;-k{NdhH+Q&osS@j$W*2)8vmzbUd_ASub?+#$3AulpB>25W4poKj&L0SAqaIJ%V5Stm!~{QDH5o_nm&k- z!LR8mf0;{V9RKik8O#SIcy(!kdRjYWUh{z*q|PHG&jP&x6umJcJ=0UbJ{c<36BGw* zl;L}}>@kDbn>}i)y`=*#=7Ro}4%>xLUC_aZcKIAi||LHozYCe$o zI_Pr+>6<oH|mNT{#nH8x%9Ha*-!?dU_K>mon|8>+d7 z^C^`=B)&sT#729>!)ineIY%43!AU$8?9vIw`VF-k4i5oFA%yS&k1-1{OfS@77br`JhItrsd5RNK7!%l-`@0Lo>!8ZJp~(8hRqH8W1V&v0 zz+kK+)Idg*Of!4B6Z@XB47nWTj$2qG~jc67;}VnvbEJ4{iKI z3!^An>MPOju9Xn;jqUV z2(KFu9Jtc~{pyWe{B1)n(%Cm{6q&&2`3Xt0x z#}&3qatoShFgr4V6M`5+N=%cSqg|XT zk*lGTyOJ&AMO?$R#r!{{f;k18Oz-3w%zQ&r@Ot(oTg)Ozs3W@BGdMTs^RYK>Bj9@;ocgOwVjs zPo`_nJ|oTe^ilbk&!wx+Z&XVB)K3~si2jra0A*4#V4DFY1z-711YJJs>Xo%=DLEU< zn(D!VgF551$x<7w&0D#W)Xqoh3KG?cfPL)&D>ij9LP*amzNH3c#H+|FX>?S$2q0+0qJ z;N(F}^ufC-jx_Bo|1;5CO9;mFuX7R8$@;aY8quhtRmFtYT6D~+>Q2*8!&oD#WJECX z99Nl&h+*>6V#v{J)IAR)RO$e_A5G0}L{x~aDN6#YNbWmSAVLv9*C79BaQN)0u< zDmx9))|0@Tq%%}#SZm`NWKCB1tk^=m*rYt$y4p|O#M??GBXz7z0!rDw<<^+`h)9eD zjjF`GFIpCEt`AOOe(IHSO?$q-4`DO1v7Me97jdFm|n8{N`fUpGZvs;ysH zW!*t?U8I6t)RWzqpD>}TTUQF+_#9rgLP~J^{=MT})a0eW9w)yjYN$?V6)?ie$xR3NB|nCNAFG7d#r)Bloq}G7}eP?6djzzQ8|PV zUDTNjs8}2yxVRp+T*hISALh#vl_!J%0w72n;YmovctXk09fu*^EUw)A<*avA-BoP~ zshZbEa?z}+s)2RG%=+5g?acF(JzxNao?KMmec<3-R*uS8Ma54HR??7V&||t(la;2h z>)YxQVN{?#LN?(`JFBr|78Z74v>btAX!;6?OUYw_J7^Z-)D^8RDQmQBZmJ;D9fxdGQq^RP*bD1Vc z0wO?xELM?sh131YPA+ClT6U)~rdQM3zcWtBGvgVAWn=6aRyda9w5?-1HdH(wL5*#n zx%Jpb_2X~lRBi3b5iVrwI^;xt$6$SwEv1%0kz};UfgKoM#?|Bm_%TtuVjx%w04$dv z#*)8KwX$%S6Iz_1U71n7Un;?69bt<1wKb2Hj432$Uh9j$coP#~=9JdrsRgYv{bD!$ zSFH^;Iu+n;zSkAiTH7tFZ%*Lzl*V%QQF0DC;+iE3MqYN#U=23M=cUpEo#%R1+3EWT zdK)`&y)=E^5Pr^+!yNz+@BjlKfbgQ>q1jxy6B7Q3{tKv0IfTf7AciuC7TtsyS{aB6 z*GU4q#%Rk`Wscrx#Q|y7{p(g7X1}~kasiCMP-&HB>6Vt)#cs@Nmg$(I={Y?uGG4=u z46B6VX+HJoodoLm6ly%APo-4nqjo)|-r#h*%D8cAsD?zT_BvOnYLK`O3`QD$-ZZ{x zmICl<5D>!0)yJ0jz8uM1iuRzVXlo%pkql5j7%_n)NM*aufFBTL))@?M*=xTZf_OTS zmd-+^NWUK@myRJk#V$O(W^6KD)oGSykt9(^iq0|1TGgm&4m!p*tjXipY-I5{-o3!J zt>ZrYGX{QGJ&st8Jz)=swmwE}KrW*XzWxZOj^4SkO6qb)uf*q=vTbD131;c8-VhEQ z=mAh10UkI21K5E~zJYy2h#nYA9Dwv@xyQ9UvKlTLzHH_zp&cJy9F*Z`OfL+*1f+-A7Q|7J3HlwyLE?sN zabCH+oxNQt&#%7t8TbG9YaZ5!}Az9jP^8e=V_NxlJ(nU za;9tt;fZIELsrmb0(VLjcdXWsayNII@={Ms_xq~%lyA;>=U0+U>`Z5hmuKsh-q6ru z_nob$thns?M&p1rC6Hf^79)0Jx0E*r?QCTB;gZ{6*B`1}YOVBu!O~mbM5d=+?Td#g z53aPhiHHqX^hR&2l1~W!QA2r^H+wN;d9+9GmuDTBhYFfs`KH?6b~iOI-1TkNGMqN8 zm(%;7S94?$`hh2U09RI|Kj*nxdVpV!rk6@Z%=oDHpQ-oTK(_jA2Nq4Oe9Y&Sh}dbM zR}PUk_e_kVbiYoKq};T(-}XNHrf~bVe|fmaaxYf>TFuw1Ewj?1ClB3OpXUm%-;ls> z^9eip5Ay&Cex+q6@ZarG3}*cQq)iv(;B19(K<`$q|6ts-e(0tC0_yy~j}*}7Qqe!I z$YtW1&+^%yTGUVZ)}PLkjPCrPnv>C$CNR5DSi zR5|k|PMI-t@=W=X)J~p4XV$z~kO6~>7&kI)>h$S=0STs3rK%$cRvl9d6i}*hYJ&z2 z97vF0f(Vfc7uK>}dzMIswsPmTO+rKlUAi)eB%#YRFW|NriV!hzq2PtRaoO6%n-{TP z4}tS$sGOmo<;86^&gDG$^JmCw%aSflx?pM4rpvZvO?NeH(-CIVu06KkSg%ia?_RS8 z7A#%5c=0M$>>%>w2*D*6Sa2fr=oFDF)xEo<$B`qkfArasdr6ixiw-THv!HpRD1V+z zf8Ik-oc>3XR_AU1e$=Y^L5%P)0>oBbEmaU$Vv!|51v>bk7F`+W;DKhKu_c2CeT8O3 z6OPICmxOaAVT25EA!b5|ZOPz+g^@ibS%+(7hM8rZWhA3$E!tRPY^iymV{ENSkXMd5 z);44Ww|S7;fcGis8*suAXPk1%O?QxU3`uuoLdjK^q*LH&ClYujt@mA+9f>zyeC`c} zo_pTGREnBL!H1Gi1X8u7l6h_v6<7LEMS=$;+zEhF1&&2p5(@&B#19c}#^R$FTsEUz znPp%CQ!hd)X^brnF$8ECpjfG+Hd1Eksg_O}SdEaix@n}Q0#;UyE5^FktE0h2B(Fs} z{$QP+Pca#sF2Dc-Wt7P}mC$onMhWb0X{6!XM_+DNW=REM=Tbpu3Y8L@a>mJ1xaOrf zZk%>bg=esO7BE1cekK5@pzD6%lny$KV4w{74xwmXNqC?`5{5~d1j3NXfUv-lOcFdCIb*aB!Pm93`ZzxiWy|Ap{#SMnyRG`-+CB}xvH4*YZAD;;ifX< z%3^H25{aZm?e_K?vBn~sta8f^)U0&Ra`}|B)MjTbN!Wg*ZFntp3ly9^p;WF+V52Mc zw{)U=ww+wDD>U04gcTN`20UF*0VCKA1PKn9Fa*IwEa;kC0t-Qe4sl)9L=(IIRa~JE zD6?gmzzuIiga=JzkT~L!Ym`K(Y+))y6Cg|41m&w%oMIE8H(?hFlUA0gsVE#ewBdQ^&v0x+YQ7$w+D6S>w^w@dtibDiBoBvq)0H8!4#&Lg1`_B0YaB*N~2f>s=z@AG6iJI5P*=m{kiU8w7Z?EG*Y{Wp|Eqk zM><{(5oJGuBRmJZIAv8-SeLKx>lYj zN|9XU!wLA(r$zFmtpMwCUk~*(7C;q*hZ*TX-GFdE9Yg?v{qw;8e&nG>B~CH}^Z<$q zvM?RoLf`=d zXk-LE&_M%q(1Q|`U|rEhtb>zkJ{ndJZ8&GB84426!SJh_0jW%uqvR zAcTTovI!uPK@*0c0u*c{M6xr15E{3b48&CiDyWPKD5L|&eh7hyy=)6Z+cJ!bHlw_| z*~$c2T2@hNhQPB~MtXDs0Mcqla?Feda;t&NK=mmd{*g(OipA2GB5jD-Fm7^;W1QY< z#5Xk^19ZngHLLwZsZ<L<1`b zg*hj?0~^diI;e1EWI*A8NesS@Ep2Hj8rt8X7I*qwEnqz3S|4ddwzP$o<*xdgr=5de?D|0 z+2X2Go;GHTej&sv!vPMopwgDEjFL0*TT}#>mM_&vk#BkAB=@*W+zAPEzx2d6Rk_tx zHXoX>T*WSTc_m~v&oG;sfHP~e)NO0?RNs7&IOk~2qI@)KUp!hwZ<4giW;Tikt!HVM zaD|43wx4BW>`*S+Rxfnmq%D2v3}hN>Ko*XtbqVU@iuxeS^)*wpmuj4LkJYZe_jk1% z>p9W7-!v)3dCQY)GsBB3>ILJPbv+wBf3!oRR5V9%wlfvCklLCmWrt)(acpzE<9MDO z3YDGg7$Z9}b^eU1bh}&2WO~z`7P9^=jhtLkm)ir+jjp&WeJ$!zxfHUliM_MfQ=wyV z%jt;^Q-yj(TVE|B1ULA>Yp$oMEF8rRm(ar}{^&(-JfbK3xJNS{yRLh@?AW$wpsoG5 zL~EPmAdPs+QoduB!`lNc5AxBRC-YIOnWjzl$dhy4f}Kmb=Ra3T(2X9a?V3yRQ#@bN z(Z?pHdt`l4;dPo3zGkk>rqY!WcSk(WcDGBM^xb|T$1QF`hKGvTXwPKYTeyJ@gqD-D zpZ%nB&w<$^+Egd^-R}bv@(c8~3}v`Gx?w)#Y#_PsrpC@l=1q9;SU2DQhV`tyW_@u1 zRV8E_3KjirMS^4A`C;UI1pY)1dNYXLw5U9#Yfpdr)PEhJWOwmop#6HU|C#p{C++QR zfbLD2|NWWol^nMrVC!LA@g3ifaT?yW)Q~lw=J^=(iG=iVPfjr&cVXYrIo_3B(b?3* z_mxdCiJyGbkHKAD!S$LMaZ`c#RR$EG3%%XxY2D749oWI1#s!-2MO*CEUhGj6?&V$p z(qLs2;Q%h-?$MsrykETuD6Hlc`$0_1yNk z$Ki$Fzhzkpq9FKPR|(EUGl`c>q(Um>1k|x$yqF*I#2^bLp%c0vowZiZ7@`g?+yC`o zp{bUj1>qu&U7#sp{u2hEs!$>m8sQ*{*40_zwq2o}&5X`~;wNSy{cPa_0!J4rU#QKT zA9BPPl3@l`4bO34x@gyRahDr%9~@$z_{^b9)L~KGVIJbd9$p^Qy(01;#i7ViCqfJ~ zZk+|)Um{Lh{Z%8OJz{BLV(t|L0Ulu{W+D={kUo8)IrdrDd0Qv8ovCaS7cx)Yxnc!A zAK;CF;OU$OatF6~K=py3z9F9BWkee88!uWB9IoN3@kBHMM|sfA3L>MyDP!9(&ACDd`nnf2j3 zzRy@tWNEC(C~9On2BIQvq*+EH#~tDAd7N5;WDf=)N}{AjEFmST z3nFGzbtMBdBY@#xU$Pd)$>7Ch<5}`x$El@V_TLe@r6j^-TxQ~24q#nwq5+bkBcf(Z zIvf=iXGg6?V5-z$3YTG0;0rcInJgwyHf9tlrLDP|b&dxxTBa3AW_WETXL{yCW@Xfg z=9>P6g=sn?XhfPM(%(hxpf-vmZd&5)Zfnw4#nYTfF2fLLz?J<(*lIkjAC|;pP%1>Hed7 zfH*d(XbI?h)+ZFAo|LjsqB<#BZYoO>AN{PtDg;-}VTbYcq@}rl3tVWn*d2!UBhs~+ zE~crNP1!zXC{d!#6>Xv%$>#3r2E7)YPy-^IFSNSfWo z>Y&OB;U$9Xk$&UZc4NtMBYvjr?YS*}a@-HXY}sb)ig7Kb&1+&h8O~WKz42^$`K(Q# zsn7y#cG_CenhjGSEx;;mxioDo+yvB)iPU0Gyx1v39_zbu#@wF*(||&sZahSm_E_I z8Ej1yEC`b6E!rZ`GA{Yls`R3%Qp(BYvQO0}W1hB6=X!2lK3k>!`fi}Q9wg#!xbh!D zsqV_^E=syCxWaDi@@}<~BMe2U?V?!jj;toquOObTfdVfF2rs=7@0U7Jn3_TI4(?+z zFXKAzW#XdsMQ`?{$K)|^;|=8bI3!Y3MX_=(0XxO_0+^?wFUu||pH^m4uD_N3m*`9FAj&A)?+t`k;T>`KS|1b?7 zDiGgr$>wnT(jdhdn-6d69iOZaGh(L{ab_H`uO;!lE^+>pHL;j@XPE}BM@%sWJEaxh z8y16?7LONqb+HN}MF(pyR%R}m!RURIg_{8oA@A@Gt1$qtve&vX3(wx_vTQB8a%Rl1 zNs6o;Goj$!agx3=-2!s%{qg`B^ZU;73p1&ng`1^8m+_%uM?{Ttb%YWNUcUaVBMa{0 zcFnB1Np;1?cEX|f{8Ya|?lS?$CZ}^%08>D$zlK@Ud2uLzu)&2UH=%N{sdCraZAiNE zGT*2Q1E4bBa@+1PKX0Ng6Z51l>JlRJ{H|?3b0k7jTFx!>LqZ}dGDM5U!IQ%oAi%H|!5 z8%mOO>>~9=w{LDrS}|LiU^1CZoWU9JEjG7mBX6@AYz^f(@X3$*)IwLySc|P#1F>0W;%uKSTD$F9XMpalACvh;T+ekq)-@C3bzTqUUYo&5OR!Hx zW-cz1U@I+QGo@i8HfJvOmNoX<#Pd~>Cq1)Q=l7r~#WHx5wvic6PXG^t0D=C2% zH0$bSM(nnwX+&yA>ZJY|pz?24A8EJlw|^R`xOH@Di`#G$cbG^r_31Qnzl6|c7iGRQ zg!|jC9;^z+k9L3NJZIh*YeZ$Urk@S;>fW+wb9RBE_fxBPY!4}Yx_55wrZZO>eHX8N zgDZYtqYL|YR`)lKCo^q7^B5T4fLmID8@N6yc!KL{;=ad&M>vyj(S%!N0ThH|gYhW8 z=w#v=c^IlkKUkYgz2k*H1;Fm?@q?9+n zPmA)qkn<MwS<;Y?8T`k2jc$x0sXomJ4%KpLwLJxqfT4Pr5k^m+qr%vWl;{kE*4();gdK^qs3MibwQ+ertW(ws}uf3)iqoigq$DHEx3| zz0104d%(TdyRYl`i?1rH0{Zqe@!{DUf@h7hH@A{EceGn3AQl3TAq@ z>&Lg3-<8|PxEn~hgZ8=iI&bFwI(xIbe5N&?iS~$(cFx~&urEAA*RdKmTf46}c@Mm1 ztF^$Zds~a!YR|g2CcLowdgHGo@MS+n+8+x=(5-nj=n zFULB3Q?#E~^o}olvF~j64DU|EYH~+9*JGxnW2fXjH>898P|&n^0Y^csJ=<@(Ji|RV zRjiit{i&-t-gBegKeV~CaLyO~d&m6W_jp(Lx#6en-<$Yt!aC#sx6=3gF-N}SPrkTS zzBXUIp%*t_BjjJpp>qC1GE8%S1e<8an}_Ka73xLZus1tob>p0JQ z>+J(D&J*&;qH;CX)zybr$(9YfmTlKqZ)53_s|zk%vmOc* zXt0;>UIq*j1Wu4Q?*PLC9tH-mnDIo%k0C?e>%f5o2^TIb)XXqqLxP<_JM_SjVnmCM z4Tes*xpe2&8~$F0PMLD!?2)5q=k~bKbIOLBGq{Er(Q!rH95&WI&T%D3lFd!(hTbw} zOrJJ)*4&xhCsm@Pj0Sz`q3TkoL&=w~N>zPVt!=$Bg^!l(UHW6^=LcJNF5SAZ?#ipL zzW(}4u)zp3jIaU}V{Ea=AdGCX$}YqDs=9J)tGd#{5395E%kRH8?Ly@t0SEM}zylXlkgx_FjL^@C zCbSH*{tGcQ?V=ky>JYXMH_$LS5+gDZG!%#Pks}seJPuJAH?=Xx8a3Q8(jE={F{L0+ z9kNJI5w$4EB$srlNt>Rm(pH+dyEQy4$;>KD^}I~)y|8|Luh*^2#0t$ck@cWWH{pEq zF2m|15HP{=JS;Ch8~f8w$|w`mLPAw*)YO8??JY#*ctc21;nFoX#MC@gm$pxrTj@De zN91?a&s0pbQq?&8^i@@vD`_^!R66)1CaWVu*NG{<^*i;>`^wj0*D_DoQiv_jDK@!$ z7A!W|QnT5uV1Y%=v0A?Bt%t^PklJeP#4|x{8BD;z2fd9DTnYyzG&q9K1vp+uJ*9X4 zHO)>OShhnUtvBF>@jXso4@APz-w~CTm+GZ+lhI+6I*RUIBLzC!B#5i4Snj#8^MKc; zKGrxsjzdoBw@hLBFuv(eEvN>eE{tDBjf> zo!WKO!4}w~t}n7(;g9~8yL0XCB)#LE)_{jV;SH~NajRSMlt&Zhfya4Qir)UQo>emI zg$aAvGuigw)I9(^bGY^}Sv3%X5j zhlc!N(taC-u`V9ZFb8BD$mlbD%yAV;IF#a{z>N4J+)R_2rLrav9cIpM zdQ*ub)g%*%lrV8_q?}Ql4mw3CrFA-RV(zpFJh}9|c?zYT_N?CGOcs?a-qWAH3TQ0J z_>h8@@t_`{qY3YH$HNRjk3Wm3AD0Qpj_S^l`fDE($#yA^el(NX6siB9Q__Py=Q)LJ zm`Tp+Fyg^vuA#Im86MI=F7k6r=W$H*obo&kicvnZELNKg{;JQTX333llG%U$>Ai$1 zv;hUWR$#KFr#c89M>t;?ApYgoxr)>;fLW>t^b!o5Tw0$F8d z)aZw!j2?26rplC9%ViP!ee+(ez2rdLYgX5yiluHNodQGhl9q^Mza@hm@p}~ zctsvv8Q5DW^%S1xNu^)|HxZ!{S8w{kV0`vg*rEnideqY}<6!ZYuBeP~HF*g_sk_jq zVs>XLv??FB+uezNcT$XkpJ>UOWAiS`eXWyUHN6`CyZELRz9nHTlCqh7~e z_zPtxHxR&2o-2W;SUlbaxXSEYa6KFRu?JIlJhg=Ih3A82V|94L`qUVjTP9+zkXR@t zHtvTj3JrMuNqi}my(cNmOH3ht`87u3=j+Xz&DRv4*mHd!jCn_?9oXwP`0Y61Fe zz6k|d(3P&?Y;kPtA16}LARV&996jk*iBzpdjv|vSEyV#ZNz+*dHJ1fkolk#T!C2%g zsp+}ODWMw7s{RR?;rVI|uO+b_r1dLp?Lq!rvye`@-nCSJja`TaEl?7GS`NdjWA+mA zqnJYYAdy{d{;4!1v^6Oat$E}i#tMqVla*sUEoCTno7`2@mAYv%;huhn<#y}o%UO-` zcL(b`q887*^KI|(#5!`@<1kwi3$%XwyRw%>&~<_R;?5QP;PV^Kqp%(IBs$#bH2hJ0 z4@hw+zV+f~%Q&P>%JFe}{KOLp`E5vEa^=a~3@Wc@%Y*fDn43ZF0j0UiZNBE5uhC;X z2jS1@tz4n&h3J?=p|1rFw9a+*vw^(Ysvgy;Lz8ylxr5i^kKM4~y^2YV=H@oRxj(nT zt-ndqcndt9`f%%Yl;QE46^H7vG5(iw=BuW=JgGD#*W-KdKv(YJ+7#zlz%dpiW+U&( zNT0emX6XLb^U)EX^y~(W@t41-kzS|l%m=yhNwYp9xj(zj!%9}3=X%ybmF}?+`bB|g7SG;|#dr#H|>i5<{_=wN=HmHr*WGt5NF$&LGcnv|O zD)CszTlyk>)+@C_%Tx-jBckS_Gz0{lP20%ey@+IMgoJ-gs@tS(LpB&iBK?ARB)tNFw!c{lQ?hnU_u5D%*$HO2HWWd zch7H1?aWGH%%Y;^g7D>r(87vv!;Wxq>Wz$;(4U+TE*!((pil|{jsh3Y0rmm|F;7#v za0?Y~`#7*^mJP_7Y>ASj?4-?AUPbGyt?Nt=(%`StB&KdiNe`u@{w&58bNbi8_T8> z({Gc~3%^tmI#AIK&k>2j=_F2X1z|B3!>tzS5eIeA9#-z<8l$l2B9NE}BiJBB8ykSTipJ`)?;G9f6De<9XhhH! zWem@6ocv|URO{kGuO%l*;z+RMW-$+|ggfd_ANP+GzN2||3O&|?C)0=z|L{r{3vl}I z<`$CYWUayy=Mm-1gN`sNedT$YMIxi{`7F{Bvk?0$lL+d#Fm{x~B%etQ z-*6@E3noYECA&^0&xs~Y?k4Zii}cbbbn?sM&M0|82ZypK(QUX=sULI6u-uO4oB}@b z$tl-jDxL6_B=euFl8l;fBDIp3Ffu|4t|P$@lNg2*HLwFkr5rH{ciM5{K9A9?O}0w$ ze@w9zVbK2Dbn8|k2IOYZ4ry`zW&;0Oi3gEyF^e)Muw><24xS*)WEK%J4RR|avzHPl zEuPD$Xu^1cB{Q?q=z5JSE%48X#zIgsv_29PqscT=2Q`yOHP?|fQ}Wqb3pUkHRc7-x z7HHGTO{S_tH)n!3_tH0kb0Si0jEM6v|1aHeFZRk~IiICDKdeniEIQ$08Rslbsxv<9 z?A_*s@Fr5lHq*tX4?;duJky1&%5z2}&kGx=q&o1ta!d=s5t7g*Q`RcB;E>YB5e+*@ zq{i*rbklf1Z3fGZ_5QPhAgp=hE?BC<%#w5`6qG3AZNm!D_n1*ap%P9YXDjRsf;O~6 ztNx2Sq0c)#6FfChJwyNq-SaT}?^@az64Yv8?n;|07GWVoPiCc(hY9S1e2~ zQt2dwOu5lRQp7w{^nPwk*@h?-D-A}!aWs2_C1unVQO{4cj8N@zS838vdC{KwZ@BQX z_G+&u32~nwbx8+vO0&l~!J^Ivktr(_Q$xtG`0wrTf5IxPaJt=8baP(wP z>s+x9$HvQE;4@D-$!p@UM?4L>wPV4xGbb@zPE~YDRvcM2B|~Io!_Na<7IoBBH)NJJ z*|Ujkmi%y*UwM^^VzFmsF(!1jP@zO<0n=FL&uAwi=4@|Zff7L{h$tKNZ#o8QqxFmy z@ztnSVzb9uv9?Qzj%$S}R6RCarBQ6j)m%_ZPt6jXS`|eN2}jY7ELnH{JYQ11%*E@z zs-v!wABPsaw}Ick#BmN5L4B} zA*qscCD8*Y%d!qnOhcA*N7i)5s`64dM_2bm#qWsb79?5cT}y{93+Q$`DR(DgcXumq z2etG{A{K+!Hi@)?g0pDz@?V2haQ_l<4b+RCcc`M5TCLZNIA(%x$y&2F#4471yS0u$ z_iHQgG5&&l!}46Ys=U@#>Nd%Ct;w_shJA~yK2tUYb2VoVEYtYcuJD&{x6R{}L>}eO zH}x}!>(QqA@_`3;5N!^LbBefQmpJ~ogFp9M1r9<+I6O<( zL^ld%#c@^bw0>K-M7a=#OKKfAufTW*(*1hV>?+)L0ODNIknul``GK0cN7j)nRZ!O>edkL z$Vsl2#3X1rhi%yf`c!{)8E~)TPn|^VfEifBV=o^UY5tKGVUty9=dSjiSt_d;dleFj z8`@g2d0U5On>qQ8zE~Q=IDJC$>k8(570#Wh4P8t)b@VhgUGsNyxrh7q$>vxdU+Qkt zsYv^CS99_nZI}-C*MNulfN6RkmANPr)^B>TpRu#ufNzaJ=!z?Lde|f(*<$c2+M>HQ ze5){IH~Nn{`aI1Tq|N3H@pNuww`EUyK4(^??@IMT?xkZfrge3u{f|@q_Hg+Ur}0*& zca^7Y4|x&T?t)qf@usM0C8km>sXb_^DY>Z)=c)f=no$88hi0m`8GP?(v+QIWLGybU))41dKg{*_%T?ex_@{~1bb3ZS9HhGRRXY64@@ zqk&E7r*8#0cTlI2*^l#6LGw*Qp-Y+{da)TY@cJmSwRw{%yVoqc=rEf^HM?xxvu0yB zfzD9bTrjTA_6t#(h*BGuak#b7`L#U&ZvM8W4!E}adWe6vUjdR?306va`cSoXxD&LQ z2b(vM+t!pD8kzf+EEu02L%JoKx<5GB{vx}_IE7b}HsA3rY4~Mt19lOOhEc_>`}Id* z;@N=rz1t5m?0BvR7+4{r7GE46uQO1o=$$@n&3qe>>${Ix&A%5q0F%%lFS)sUu!5gE zKcd^gsk*umM8X+>!jGoB-?J@M@?O>cwoMiF+P3?cXcHK7fjsc2dB`nODWx`hvf06>d$OYnL_>JO zzp`|hX1uK21lvT*b)WrJd7gx?@%%u6 zMZlxP2AP*)i1_3L3M?9N!5#C+BNr%i2?@6%Q3=b}*J2e`q0p6_s*5gs6x}fxog>Tl z(Qz!&&-?{hlhRjoM(mTM*SL&u;W=ldW62cMlBJYkh83-KW{yl$zMi zi#VC-{kHiSU~hfI>O%?rN!R|dl@xxxD}+7Gijpmi9oY?C*(ow}HjB{#O}oYUF}g0p zN&CV_TKl&Aki?y54eX`cxi&!!Kk2ZR4UDCGRMibE*6DhQ1(sq4IVtabmlumci|S#g z__>Q*a-(B+cFsok9?JuWFPoyi)2#{EX|)t*6pc*xvm^Z92>9i~{@HVf8xZP9QI zn7-Lfu=k3f5BfoSZ~l5o>_Yo|jiee}`2N9{{8|8C@CpB;u&&AvzuFVOo3M@XX?J!W ze~32Uhvhc%Wjdd~-s3l4w(HUJpFghU=FRK-d572ZhnnX%O!XC#^;jcI$-;88U3xz#*^Ry?p!n&D$cd;Dmt*3qFh(vEjsr7c(yG;W1>% ziX#jDi#fCAzjpz*5Ge35=+UGPnm#x>;po!^uclUbdNrBQpIro&%^D%>jTAj#tmx1; z$Ke=x6K6=%L&%0Lsm?rkwPwueFQ2PyUdky?soZ}KMOBokc&1XncL(a6q}7#Kziv(V z6+Tz9^y`OZzyR&qw)o*TkRZWab#=B`fs|cES%NJ%reI=*J!n~j32v59ffo8D;XtUl zkkCRInI@2Gq>V@-Xd;%V;fbZ?)?seONhBOcrf~$EMOPh{5q2{3mj2VIY=}I_aq+?1vlERRWKPnkyk|hx-labg7ncb2uHR+_1-F?{; zl~%ffrFdI*86{L;qF3vfPo?RenI3e-X0;8Zg>72+Z3WF1}b?Zlg68poYK~4W*Q#(Z%_P!uFwy!dlL-F9 zxbTrLU9}ua31jE$vdKEN)RtTFLNYH2CFOBXVp`;pmn%gJvjb^b%VxIOZtFm|clH%7 zx_kOeFVI3WrtV7YYUb{{#JM={VD;X1Z>Rl=3enV=!X_zeRUbrfjK{S!@kAAC%$&m) zdl2#1tOlp{!z`^$wyRI3{Bckri(InF9-vG&PAf;$a-5i+kIQFe4n8dzxj}c%xwsYjHF}Zqt`Vh*RXX)P6u&GWZP=-uDqt?d#}0n?UbVD$YOD& zpR9_6B=H_rv_d%fT;(g}tB;%f!z~GT>wTb$UlGlfza)xof0omq5gp^103K~oPHUIF zUYD5ILC{4~BglyURKS6m%7VQ~*aW9$yM2+-BF=N$2}k9%nMCJp+)LZvE;ziC5T_;= zq~Y|q6GNu}>xD~s#VcBfl%g!_D&UKj4qpbA9-8Hc35ZM1gt#-k{@jmq_=AxAl*m6O z9?^;QgCZ5BcrUF1&5?(aEDL_l$-e&p2$MXk z%pB)euXhd&e)Aj}{sMC-a;?&SwW-uD3y2#7{*qt1JEH@qHc;YVCtkSgBL+)BtK=vX zqRt#9jC5HLg-)|7D*Gcgm$fSAkuZDQEGe?S7tS0;hn(dc3pyXCPMx)rUh>=|O*1#o zd)9M_3d-mH_W8+sxpHa%1r0(IO3ae^Sz8 zp%t9rdynCurKY#mC$1NmD_`)bNlTL)+}9_ zi(J12z;f|6xP#@de~X(+#+1lI8k{V^D*KwH8g~Ax25ZUe6dXYUH@KPGK}E#|YC^A4 zFJmg{SZT*9R%&`jStnD<$Vw)R6bpl7B5ScOY`9iOLej1CwWM6^Yg^Olx3|L$Zjb+a zt|{JDz?jPDMHKr>?I!r3hn28K9egSX$I{5vxF(Xx-YF%~w8n zu8W>^4D4X*k6Z>3IFS(u8X*4~bk4^1aaa?^%4U_@#4PYFEviuuchq?Ut@Z^q?y}A5 zQDCzX>Z4+Z=?RY+72D)y->%o*@t`!{;oG<2`t5IC@3YT-zAIu1Zg9lJuGqm{xc(aM z@ZmtbmJ&a*cxlA#TvEJjYh3wPIiBQa1I}VV@oovXX7ZB{Rd*P_Y*~BKazws-JTVs! zN?}X$Thpv75r_cJ`!c|w>%BGx{u#p#Dnm=#2 zZ`s^po>uhKA-%jzPxgbg`>Cpr3hR$jp3TFay&}VR?Fq-Gt<)XoyYKb?e9m(`w_EYV zNzu_tQX_nQC3J)*8zLf0$rpH=6mbydTxH~R+UI!Zr)UdSeFi3NP3C-0l|ppWdAKBg z%~NhN)GV2$RF-EjAeR&Vexzz6Mo4HCZ#Z!jTf$~XF?09VTKVSy`=@*UCP4p(Q^VI^ zJ_CRS=yQjGFF^N63h0CkNO%soAqk{gm@|P)R)L;(flp^`@8WD6$Y9y^fxJ|P(o|+( zQi3=Fdf%!Zyn{8t;c&o#aABu4 zFBpg3cYVWQLKP-b>o+^R@`hYSf^!2T)WL_WXGqI}5;%wyEf!~pSZnx47K?~Ujfh+V zNPM7pgye#a`&0gjk8+8_bt#*8g_`IAo(O0+HDLWhiXoVe)%J=^7k)2tX=LPz1rc@| zsE&8IhTTDjw)i}_C}z4SZcWmQFsP5fXprR9b$f$W#Rw+H7>GFtXKrDLK1h*uCxp^S zMaTtgKXz;p_+OEzjhy38VrU}cSdW$ii%jN)x)Estg>c9xc}@j>8Yp%n8Izv{R^-QN z{P-i=vwl*xUB={02zi6wwSLLukME`wKEaS?R#AJH6MSQT6iIUynR^(CTM3wjghqhA z7burVPc})Dp;#g)X>t&@l84oj0b@`aqG+u+b?aDi_##xXn0h&>g6tMOJt>Dj$z(4g zM?;x{fc|KdQ#FeghKEr(9!&WP3F(l?2!F}agH+jCR%s{wml!j}Paf%&lo*mxctxs6 zR477NV@GsOgLv)8TpehaVJKms!j?(5mL&Os7K9|{29Q;z5+8J%F#&Z)m09E0Ww_Z@ z0QoPOl^%(S6KS`U580eh5-XEQnS^7Rl7pFup_!mbjRu#E3P>&~l6WLpmZ)i(2}gXX zNsoj#Wu@3utqGf>D4WqXnzhM5y$N2?Lp)|jZu>|~!1++Z8Dh7%OeDul>;{9($v3Q4 zkndG@;xs;70b5qdh#AmR{s&LnNnF*4i5m)8jcN0%c?K(16NC%Ph*Xp&=SWGs4Q+A>6M$V8I+k7e}D+A21TU5NlxTNICMGg!mlJUkXOVjTsZg3G z*J_oSdKjEa2A(P?7-~84B(9P{s{dr3P=l&vs;WiCs?8>f+6AjnH=A}iuX3uZlLabL zGhO{keUH_C$J(cWiGqh(H-y28d_o0Y`eIIFYFI*J61SbEV~^HwHUj#Ur~1nQFoU)IaEYY!RMu&DY8qX zTx%+d%{N`ewuLHdd}AuR5J)sH8=3+YRUg1ncRIcaY+N4Iii zbrdnkBt1y!qaS8k(z6~=A|+GHdR2>JZKhhRzzU@WPFqW;muCr^UjtDiTn7h)pyJy*Sll8mX2ZoKdp2S;5P8y(7v zn|9>9xyZ12IlUETUOjQWlbgMj`)c+U3*HO9(ILM2_qCEkFa8AezFJwX7zqenv1|czx{x<#>}C@inR8UaUOTB^3mGbmIV=pr8Y*nZ zbjL8;#NwHJ0VOpzth#fg!;i?r>e;umYQ*Uo#IbA0=W1C_Osf{5#Cck)57)E)`@}68 zhEhCDBIHm)I}w?MD_i`FIO@ef0me%)#sE;pXl%7=+!T_jwc;zO?jyPlaRz4q5wI(K zAo+=2*_|3XyMG&=Hf*A~6Trhp;%7{>W{Ma;#{#_eirA2z8VE!e*q+ z0}Fys49<4Q$?c~$H4%?hT(Hq=tbJp#3GvRyB)Qld3$OfU+M5)RO3T%Goe+`ByG*;@ z$)&^AnZayC%KVOpTq6EjqTi^xWBQWm`OM+mFUu8<@0w_1=Y=(k&3gOI#Kg_VNaYw%oa; zplX2i(~fDRWXBA|hMdeL36$tsDJyHgZF|HYeH?UahavsKb41cwg^ret$$&aq(_401 z6Szjpa?kpHrFv#ou)DmBRZ+y-Go@Z1(_T?%Ybu>e5V66rF0_*HcsxE8w}M|u_c zd`u~p5N!6sWE=~V?3CiI-JK1>`mNtPecM-&+a9png3;T)t)(tpe1c5ey=2@ai`@DW zz^xmzh}?p*TB6Y%$SWb1jAq>zjoto_`rlvOf((tbFTxt(?EwYstL8ne=-m@GwBFaW zc{N0>!P^q>{S@-O67)Ss_U!@qeM|yw;=pnhE`H+C5#X%6-%w8Au`oxP%g=O=!vfAUv1?U3A((kKkp3aizy)yW)aqUH+BGUG~{lO&VxRlb&9@s;S|boX~YS*0j2>mCU!`&Fa4{?&D7G z{p59#4g8~$pOB`zlE~w%ns(!-XK+78Ba~^XI`RjiaU;-;gAeR-EM~9 zj_c{J@C(oI4e#*eJ{Q=6Gp+?75AXm9foGt57aPy<8=nvz5Aqu@M?!Y&MI-OahU_T6 zE*P?*0eH6I8rb{ewj#RNb4rty?HKucFR@wY5AX9o5A;F*^AWEt3?M!gfAJoW@#q`! z9slu7@A1(=^6{SX{&Vts7Fbfx@&-M}b`0})1?^!s-PJB_gDiYHFSm%?^Fq(|ZSVGP zf9L@L03rDV0SEvf04%Bi9{_v;-~p!q000~S05SjoEGz&#HZe^A075%8cmM!%IWkyS z08mIgb4fjDXaIhG08U3hR!l-$R7YN1P-0C%V_HmRT~T^WL3db6a$QkpU`}geRd`}e zb7@=MPUVv_Bgm`L*eQ}j;V3B=nkbQQqP(`q2RKz#S3kdrW z4f`4u>LeZdA{^%{B;_+J&p z>R3tYT~PN;LH1Wl_FYlpU{B{}R^)JA^=DZ4a9`(bVCHyd^lo7Fc4nWS0HdP-wzdF` zfNqR}be4i`m56zrkbR_wZlaBOtDS49lY6*=Yq*MZvX*_Vp=_?AbhW8ywy1c#uxh=s zcF&4+!nt3fNtuEcIT0O@_=vihjsCheZ|E9*w_H+=>Yoq3H|*V z>*+i2?K%DYCHeO_%fwyN%~{*lOxe?0%))8Q$a~bvX4uMi+Sh5>*K*?BN#opE;?I2J z+h^n3dgE~AP?nm+MR`>Nt`Sn=r>1XNYdGPIO_UwB3@@M$+bc=|AnT>#)k%OU) zgrbj-rk97Pnv}DSg|wT6v7MK$ppL1dn7g8jwxyH0wu-p3l&-0uwW_4Mv!}nbu+W)< z!KRJHtCYjLhs?2=*Q1Qrs*}{ah|;#5#IL2ux2DCtwb#3&(Yw0rje+Qyh4Pky>7tD1 zs+8xmoA9EI@TijTvYO_*qwu_@$i;=q#hTQ|h11KL*wl*K*Ott}tI5H*+`*{V$hX_m zrrgoJ9_pxr`5~B+|k47*Tm`A(evBF?cvGo;?ely%KYim{_)!U z>*M|O3B<(`moHxm!GQ}$GaNZ`G*9XT0HP;|l&XTNaz(T#(UmQeDs8Dt*HV^9 zlPaWX&YV7d_Uz@`%C)Q4d{_7FyV~`t*|TWVUhUUU>{+&A-Rj#)uddy?TjP#Zd$w!V ztW|3Y4#yJcP**8aBBf}sY0{<$4T{8uktDXk;p+bVyOr-*y>i)#9^G%}$)2Q1_vFVf zHCxuOW6Pc$+cZy~xO40FS+93JdGbaM8y2j1uvy5Hqe5k>xhdPbqf4Jo9fZKh*b`D* z_;9=T?+ru#iXTtDd`8PAQL22E^kvMMHE-rLjoWZgqei1XUF!I$ewI^(Q`J>jePtk5 zVeM6xXAG{@)?NDonqIC+W}D`8dFGp0Rwbi7JB_I4DQ1{4#-D)xspEaF zv7(FA2LlYaoo3~3Skh_lyK9^31+`> z!a3)@`ffS!n|8{WXQq7y8t9;h8H#A4zAVb9qw7jasim2Ayyv+ff2!)pqM}N2sjjB{ z3an7QLMtu`*_sco;pn<+&0hLy7qG(KMeMQ1aw{~m&;lSW2-F&TEpXmit1UL%Hr;NK z;wrakx#y;v@zlD#8}DuN=2q{%WdDmM+5R3ZFq>rtTsFUMmklsmC;f?O!ww6oQ~pnV z5_-!mEWPxSOfogo3`2q^u6R%VwLGgTduIG-N|8?Labi8C6tc-DckcP;sj6%kt3e6$ zURGCiXm5;nX4P}g^UMP@vd%JTdoV-yw9~XhGs}DL!1vCzPfu>nsn+YxFvGjdHxGjg zE_@CB3orbcuIa+aL=$dV;g)4|DU}1t_@I=drTCzHk|p}%o3EuhpmYg}I%HNgf5Gs- zS&mO;!cTtOavC2z3I->#eS&=LdmG%=L^lA~?NWF%gCz#R2EBRV4}3F&-vH+lUwFb3 zgp)}oHo*;r2#yn+NE|0{(>Pf%N)@@V1Y%P121{5%5s^}a4c`E%8ouFj{-?;?DNx}G z8`|&^r$PlRE^!G;jEWMM=!vM7c!@`Zii%7`VyI%lL??<0ii{W)6}^}$O5_F>RLn&e zUvUap*pLzeiJ>JjLC5SJP#yUQ1t`psEBTR+e&ax3DEeT(b}WquuJd$5QIAQ8P9w9tAX;` zQ=j^z2t(8X4LV@}Aij`6p{U|-EaAl@46zNWnBx|ik=D;1V3e>QA2eJ zK|JFbns`J{qWBC$JVR8^KH^@(CaVzVFpf3Yyuw670|d~>EHyIAi9)P4lt<&;H9&9kdSBx~iz|HLlw_?Skzm%S5j^08HTX z!gCw|9+P*qlq>V%%wT9bu$GohrUFZQ9Oc*qIl(kdLwv$a>G*`WKLJQ}j9Y#Cvi5q< zouzP}TO8teH@Fk4*r`cE5(hOyOAC>RGyF*mkpO`uz5oCV6N)9h&;%t8C5%pRIB~d0 zI0#6L3p3ur;;*2@y*GY~phy)2acJ?2{#~4|8lQPYZ!iR~M|7@H>9`e6_Av;6I%HUY zAQwc&4U&JlJX z@}98cK>5hCSL}>uQ0QZPfWC{M=`oK&^Y(Udy@qjsQ3#)OBN(BT`|ZwQX+;Z-Nt;F` zfJIGeQY-5mo6!5I7ti?HrDu1!@f7lmn_T8Gx7L_%F7<#p2E_~n7$fOp!Z;Mq?E<^I z@ErCgwDb*(y3fDKjuW-V(d=|QTTIaw@3h+srcZ3b^;_CsIr_OiC)d{;@C8MWu59!M>;@}fGOdo5t10h8_WQQLKFfKX!v&` zK#&M86kLNsAqq>P0fJ~S+?6OKIJm%n6W0A|onYCRIe$WjEIfHivV%v4DmE3rdDmVitl(HG)mn6F3(tk6;OuU*gx6_?mn^xZc#XG*i}!e> zgd38lE~7wsmG?X@ka_-@w|UjmdFw$Cp@%c0_ZI||C8n1Ws8Zty345+bhfH~be39aM3GKna+@2`q67 zmw*W!bqhpsX0E`FK_LkX$YQ5p2ZbOBAn*q1atag(aw(BHH8vs}I7A)jaw`S`WCQ|H zWK|>x0MpW+Y}BiDj$O6I(W9ukds$1Ol-z z3r;2wStSj?aQ+TO2mW`|^G9D&D&#Q~O!R|~a33vNjZ zRih)GLOI8^JkFzeiueMTmwC_wJ?|1IFB2eHa*Cu!K!Q<;!IpZNs3ivmd%&oQ%tjNW z2#Ka>4^@$hvj-*xwqJ~?dtgF~s2EPdHxBQR4tm6kz4(h-Qkr_Cd##Cuo~VkL7+_{H zOV1dM(-d=$p zpp=C$5Axu4m&PPf$s}y%N{MDWQJE}U$t|b$m1HQEh(>sEsE3WGmZ!#+ZwZ&;BA1;) zm#}7+&4ZVUxR;pMmoD&^fD)L(z-y7HHi!9ZmWW>J^?k$FnBAmayGMJxGMS}#CYZU3 zUQ&!%q7IsXnzQ(rSz?PIU_SH{Z)dtM;;;$v#V_h$4sZ%c`vU@xxop&yjCYDB<|j7( zryz}ZGX}dkP-Xy)4n-7q00O;WoPV=n7bghn=nD7devS|niXaH8(5aB4k04-=_*e>c zphE(O2BUxmAh4Y&adIaIkiZr)rP32N_fzxPo@4c669;td`BP_hDm{S;K(%u;=vkV; zWb(;_p+k~Vh8&Pk2)fV{ZdnPM0F#}Nc-U~D+NPlSP*>mTpnL%j6sivr>JIlHXo;i_ zbpco%noQXs4}1qTV#zHf8cH)dqt;MK#Zj*M?KJ$ml_*giWp3u=ZKeqGp7hJbz&w_S|7_)TmEAv(nS7Eh;?u8<3cKnZ{IH;zyU zB6SHw5uM6u2SKq2h0q8#1UYpea4}^GXpoO+iwI`0sy^XTDM61jbqOdZM4Q40u+S;` z2?9>l6Cnv!?3o)$Wm_8AR6K=L#L88pD+r9xRHJ(dAf=I}vY$N>4YLpnoFE7U=$62M zLemgil+jG>;9c)v5AT3i@qkw}k{0aHSMRXA_izu7b(D}*7m3vl=>D(?#PV3^;0>TQ zG+(H9nIs6Dpjn(y0CPZ$zlWsNy_s~o-hfKU60p4mTb~3<*5C=_>#&Gd4Gf!>WyvHE z8?m*73KY937Molc>s%YVvD3489@~hZ7qWwCnE(?oXL7PvatiEIK4yYG=yt)ch(PK< z6aFK!ys|*Zhd|NvM_V#KTY`(qw6e)qkmQc26UG()dCtecVxYDKK6Vsl8fx<5rlAJ-F)kVRC+$Nr~6MSn2J18@=y zFvxyz5?I7UKgC5=Bn$qF9J+u)o#2+xK*`g<2?XJ3AJhpWAr6V9i=l8>>p*XbmAqzw z5BP8orJPuYey{Jzd#f?x1d>h3MwI>CA z&;yk>f08jkbP75J$IC$pl)yQrB9b4?o*^A7oKiFaJTkHX{>e|Z($4@5$g!g^O$!FG zES7N>1>zM~L9RMYuBzPA!4f;Mb1mD_JI`zlo4`th2hEHpG_I7?zSGO5R9n3qT*Yw> zv8Bz6$Ia&A&4L&y;XKY7Yt9>s&SQ`+FSE|K=gw-)N5!-o19Q(^QqSx>U^>gstO#HU zYS;Gy3Y#E{^@AqEGa?dg&`(_0Xb=gJVAx$e*nUFMj$P5~aygs=3lNC8phGGkec4Im z(W#Qs{!0s)@QVP(3A%d_G;J(d5-d0U6<481ps)^%1k^%pS+V3S*C5SQ%_MK_`qxa4KO`X74p&6y7AWb^d)kAd-qh= zdL7>4jWB>cs3@BfjP1mVz21vG*pL0#7L8-Hs@Z=`-zBptC*#=>8`C?A5T|V!sa+wf zjninM%CIBb)-u$!-C9#UqO7%AyzO_u^V<#ncEkO!JZjur{V2(;+(cT=%{>DTR65Y@ zzzPb%(~Tz8Z4TFM#NDYcaLpy%J=b$R&x0}EIG*GAQk&*YsO%lliu&F?@!mx4Fp-jv z@;#8B^N^T5b4{+<`i&g4GzaaJ%J|S5cLCHOx-_ulz71R9wS#I2 zdpl|w;d|ID7hW92ogCfFDb0~Fv1W)yT5J9XtccA6*(p&j>fFF{J+dioCM!O{;eePc z-p+3_L?&I+8v8z~$f)PSpF`Te%(Q z!k)kWD-g%i)phyRm}l(=tfWYe6uLGN0S;~9{?0Xln9RgZ&2*>y@>nVCOlB%q-{7;< zbnjaG4fWnl^{)4EH4c5hv>?FmGoB@n15e`Q7M~Jzpn!GI2xC@th@gOl@L+Hd2$3)cx-SNv-V=o|2Y=F1 zbr1=b04Qx>2#5d&kTSS+{%}(=k19-bDmiylDp*wtS*uQ-RU(Oysa~s3HgiLtRkSNE zuYTo8FY8M`BTe7_Gy?TOo#0bH;Z=WXzK-k`&h^Qz&0qftVIS=P0Yl)x7cV*-M0l{^ zLWT_)3LG=0RH;*^UcJJF3mC9#*RWw5H;x{?kRi>TM43|MN|xbVh64Zq#7qzs$E7P| z4rj@mAjZ8+=QG@@_qphv3gfUvV>(HlXE z>ePvdh)|?LY$AUC20dnu=b4#7jG1X>j2TOo(2SaR>QT){f-0iIof~(nRv;en=Iy)H zD@Lz^g8<$edGc1U7|l%n3_9~xvSiJ|9*q+STG+AE0s)EEcv>6H1GARi+DG>7v5kZe z-`;%s`Rw1vpI?7Ief{;>pD(_7=8>mBc|KAvK?N6FFc=3PgpfgN4oeS03xkoc!V5P{ z5HS$an`y%hz4LCBRdh4Olu=e3Wgr&`TF3<%U2y0{7z+}ppon6#=#`Cx5#}S8^kT`J zkX$Nqrjy7aCnY7#0qZcEaMDStkjmLatgx&q>MX55XsRlxw8}Cms)V}gtg*iO#2c`_ z3Tl(N)Z+fDthLlC2TZtl5@!=Z;sPv9p49oI&`;nRtE6uXJ@h6<)j5gKLj4#3fC2pQ z!$T=gS*)?g?5GHh%FIx03^!&PBs5h&D{Tx!PD^bJQ59J+w%KH}?G)W~Yh^ZAlJgA` zNPu1LIO>cg_E_skgoHa1X{kgLUC29cqXgY^FTVKbt8YJV_4Dt)d;)}TKm!lNCPQ@< z6wyHmDYT|t3^SBBLiIcZ5rldlBoR9kQB;vd8(m~*Mj9I$7>0)weql$7di*g+Y=)$( z$Roo^5`-n2MCr*WX_``yPd1Utr943>>dZnlNeY~-!~xT(k%jsa<*-&($0(EyN!cZE z(*AMNtC_qCiszEY8Tk`U%Hb)iA=QHUEu-oj=j2TQD~YJT`ut=pma*D|=a9Je+AKn6 z8o3-SyIv|C0KNd^i!U!9G*ON>$U)F#y6KK(Zgk$71)*Q>$fKp%@y?S51ZjXla6N1%4o6%0 z?D@8L-|Y)`pMC7peZcnCMV?&?lUGl~cR!5R!n)mMaHf1UypY6QQDITw7iBz1Mu!$o znBay#<1wR+I-)qF_=r@=D<+Hd>ZHR?lAoMSZ~BwupODTH2)>~*5PZUCFN;}F{%A6l zku7C_GArQ!cGj~uxnyWS5g7OVs{HwNHRzDNMtf*3>Z;alnjiVmk^b zU>G%*q{)TiNQXJ{RE|ig0|0;sgxu&>x4T)Q5QPAh-xL8j!40BthXaip3Sl_L(Zq3( zQv?X&P?1~J26Mbh&gMGT3PD@~bfPO3>40OpR-jIG-yx6d%443`&8~L0!=3I%GN0e| zaX-NuUOtL9kK-{fc^5Kd^blD+=v`=f^IDMgCe+9gd1rgwTak^x*8%a34@c!QA8692 z5sqA=eIkJm{8ExX`n|+{G{N6Xn6$s0;G`)rR3KFf@eL3J&1FgPMgnR6QiubZP)kbL zWz0ahrk8-jnc%44nRvNDn4xShA7l#+LD)270*WqLOUEa`bznm&w@lDSVygDbpizGYEL%61QJxbPmkQU-{e_VpcL_RN)&}$GR zm1nO6?F&MOpoA!Y)K1ETd$Yn9W}l7jxjt~?W((F{tTs9C0K zzJx95aEo4>W>;_W#4cZIAv@KPGcR2=o$I_y)!Z49$^H-!F-d?I=vhw>-BS^iLxUnV zqd0#mVi0H$XiW%O5raMgp_fxALlNUpWQkEaG@*_xESkF2Wptyj>*z;q_YskbgQO!d zsqV6>(v^asrTTbjO!YC-+X?li-(^rxclw~5`ZO3o)oCIfL{v)}wR=caDngjL5T`E0 zMp3QERB=&N+=V2o^Vw>}p!5~5h6AiC`B-93Ar4RoLLChr;5P&T3Uy4lg%D1MAR;{B zbQt1+LzzieBy2(pGg!kJ-Y|s&>$7i&5r@`=$J(*?Uq+q53|zFy_{Mj>HG%EcrN@8m5#VUbl4A(A zc9EDQG>|RW$lo?#35^_L27}@g-!OML#GUS!{)oFP>o)R*&5iDGe>>hj^Mp5E43=_# z;=xl1$G=PR;BWtA-3D|C!Hpaec!MIdesM{;DV%V78@%90QaC6=k`8bWyy8arL&*Qo z1;cz9F|84^B3iTZH>jCZY+kt~>OeV_Tf!BTbA>{4vu8dh>o}u}#U+F;^hYRKb<+R= zC${rCr7N8pmc~ZD+avB!pd*z?0W}CpeQK`%F4e0JN2@);9#~(GksYEnO?sN%Sz}Ln z`qH(!c%3e5`1(Y^7WP1hUF@VD8)3;t-@};gBVh0s+R~3J*=ZqwB{wDsZQr$f&ea~{vF8`R zFwsOJVm`i?zXRsG?-&%Lie?vHVyBcgw-QhJ`89s=^?&6mCEsn(_uv2jr@YZqyv`Fq z&=Wnn_zML5iqk8()SC&`YrWW$z}K5S+N(WeIgVJU4x`(>S?E3ATb||0mXpe=by$bw zL%~y9J|J;EvV*?nd64Tv9_mx17{n>;lRND*5bh%+?*qS85Wg`XKl3X#^m~zrSikn; zFZhc;022&=Q#|}biTshmCyD+g3*tWj)WR+FzXI&P(z`q`JiyPpJZEA+2Yf&XRE70h zJvLlJ*V~>8yg=PkoexB=^Prx&`-tF^HvC|z6g)N5v#$MU!jN#LjmQY~F^}4z!575A z@T!+u%aHasmr9g}0SUg30FsQTi1CAgy(2<}urI(2y{aV%p5sXBRcFCJDejtoEJTO z4-%ZN`}jjZq%J}9mO>ndLj;CIB&CgDM7DE8vy+g0kwgihL`yUfOw=Py6b4Q_1y2OU zP+S;Q;Sp0*#8fPaRsLkfE3CX%BnPmNLMI6;ZmUIHWXOgzEMRoVY9qs6Tan z5CF;rSxHoqE|*L}m_$CA)D)VmNSDCLYtTua^hrfrFJRy)1(Cs`ghA`O!OTn$rCiFU z)RvHdN??#m{vrHCs>H{u1iaVV%JXow{z4^yEK7m(zuO!zpFvB+sEBHFCf>ZrXL`%G ze9Yq1JkguW;q)uUG&#K7%dM17>HJHR1cqG8!`pF6mfRfx;hk?$Ol%xP>IzT$@DTGP zM#MM|UC@P%U{7%rM`Yxby=2d7!Ax^pm(2vPo6=7PX~(4;P0|!TCk%;>*ocYO_ORuCk(K%1VAgaKd*2m<`ag6e3Re|2j(PBiu5h7L zaS77#>?6CR2~921B7Hsi{M5aCP)Eg2Sc4ZUMMv8a%`F8>3iVRRyax8{#4(T&tc-{i z0gV;GjjbHj_DH~1byHS^)0WUe$ScSX1&5quKK8`ZIu%sE^3!NVPA{aqXLSiettXB= zRO*}sMV$pkHNRaPKj)-0@` zXB|#y71@yu(R~w6L9NRMbU+An*ij`%YJ4th?3PItmr4a5bPbo^c~^MlSqF@*h;TWV z3)R?!(o#J;emz>kWDn5RNpZAKn2p)P+&Y@Q*_`DMob?Z#RoR{;T$B6R z)d<=&8(NUG&nP`wEA7vAJeMrhQm3s+sI4?$klKQ!+8(i5d&SxaZPN+Ws{XF^+JscR zu+6-&l}xjB-NQ&*wSC*RrCqjM+mn4(x#d~?%7`arpWLZQ9i>^o^$+18-s9DW!Z-}{ zEZpYpRDS{uHLD0xNkYc07UtR49Q4sJT8OM5dEAKUl+D%+-9O#hi8bAm7*-SA zKNWS|_`Orah+WyO-TPh3+bvnO)m?byU0m>8QvzP@1k2$)UgJexz*SzFU|#2SV4sCv zpjF&cpx*f;+VjBP8x$(Zy~OVI-pd8wHxXaWmCo`NJBZbb^bO1Ptx$nYU9}3-XOds} zZC2cs-Pzqj{l(vC4OwS>){f}kPSr2=1QLodSNsTM7G^*w&CH7 zOb&JAPL*W;vWHXyBuoY*;SrurK8&3O<#na6}^B(JYBv`gAQTJGgi0-<~sI;VZMeQ_7HH8f@?nJWzc3pt>$F#=4vGZ zj)vQ{Rb+1NX8mPkvK{9lEoZDcXY9)4;;rd)wrO_W2Y24o!IkHqMnifYAA3F=e5M?I zHsyZpXYcxF?hR;r*iK!{#Xs#uH7?zSW@xc=Xjp!eh(61Su49YF=xz(?;pBs}<^yB^ zhh{))K9FW-;sOxh0%LF{wm$2b0OYpzXrC!*-fU}R_-GwgY5&{ilRo6YPS(hrW!J@4 zVsxg$jbfmd?4I=`h7js{zT$g!Il#$hRoK=RtR4RCUD`?%W76c7gMLVgRBgb>>ed$4 zwHSvd;R#<}Jc}*a_$6i#)$QI?u(I|mV~7G{Fa|zuhGxJ55Ksax;Dcx40}$W?Wq2lI zPy(8`W@Fgs;l6^u0*Ag1QQ#JC;?~o_&S8`F;lmbD#a?W)ZEQ4rY{HG~$%gOrtn7uj z?4i!=qTXyY=CloFm`Hyr4Q7$<<(Yg*GBMNhHcp{3EDo$-TZ3T&28@YR%4K&bHv6?EY_R{8y(<(OgVn;WO}xmBl$ta8|q@bHGsc zePb;TtC?_1S5k?L{pOLjVL_}25C?}02Zs#@0dVke4F>^{_NxswO;FlR|1MxhA4=FWp{~%S7z&$=4Ma^AmD;!hjWHk29SsL zXjjqMrFPl1_GAw4tN0EW`YL?K5+JD2Zyfbf@4@~uvhM9LWZ&*`>ucMukU)3Kl`qK zCa^d8!)E!_4P-+n+Zmn-Y+qoT_xpO9@4&BYD;9DP==pOO19A`gh)4~WYy8emQ`*4> z%5`O~PU8lzdadQssLvSw)6H_-EOj`hm{+Qx3le?BBXnAtd1N(z=Cpm8PjvRAdEO^nZ=duRxc}cT zd~=^~dj|T&2Z%9a%n&pquwX$DAP}BvcuJM3SFeBpyLK&HIC>g4a^yJfBgl^!N0Kaw z@uS9%3PXl8=kg`YnC3ppl&P>L&YU_G-Za+}W>20VT=q2i(Ai^YW6JJv}&VvT^mj;T(A}`3ae}PF5bMt007XXi!WdR zLI)ErZ1^zZ#EKUWe&P6q(8rGzO0I1AvSrFIWXQnmn6p4JVg!;dZMrnVg9yziWatp0 zM2Z$McC5XTB}lg?$E6&{6t_;9S9cB#Zk%|~;y{ZFC0g95a->R0GIa{|Y}=BNhslJ6T(ss*r2OnI`T=D6rd{Ctf7e#ss>J_3+MQT@`ma1f1 zd|aW-TCOgsB$Q%FNhMeHSt*~dTH@!6FI@6>EV2PA6d0M!IvZJ<44#RmP-{l$CWWh^ zfkvDa&Iyq#uJ~nB z8|l7C*^4N^n%0^If9?waEkZcGU^?@LyT`0v&<-fO77V865*dnJ>^qH%R5X%>dk3z@ZR6C;=Jj6Q41dh`zMFg$q7tA`{~$#wuL{Sa+$9{Oor)#VxLl z`|}@v{BpA}ZA&4dnPUMNMlop4~pVq7a@k90UXb4dY@%9O}?WKm>sh zhd8%nfFOs{1IHDV(8TX01B&R8A_$rR0+8_%iN;XE6}D)e>V0aA@%t4S&p4Mf*5`is z)1MpN2*)`71u$c(BM9zj&OBP~GMrhEA2$FdmFkIy&f9Fa85lJY>BZBgnM-}H4X)s%<9yoZJ zLy`v5d?NKq-oTN!aPX1~-WwlEsh75DS~F#6%%)xHQ@?J$EdGDt45$ATB1bSC2qL7z zBRktEnRj|d1uBSVgQ)s55J1SDqB8?O^C{LuIp~kU!-q<= zc+5$mD0`<-bz!Gu88yyRVDie2^5mmlA!&R}%EMju5*#d5*i?*xH_6Uar5IVpGNifK zsqnO?RQf4hf;yL>VyUQ!JE}Mzr_^#nbwEy)U~8kQ7|Uq&GFHW^n)tZYu6oswVI3=Q zPf=E3oOL%W0@PYDx~Fi!wYi>zp}(VPDT0X?~^EX8pWb7o(!~jWcUwfL_U%{k%4|ven~bYKxh8CUB3Rd5~y& z>n4H(*C8`}jVkHUOjGWNjPZ{h1N%*XT@aJt~*^v(G_2i65B<&YeJHEEtXcGY|F$ao^6VC+ea4v(VcvRP>f~#)fzYC#;DUVad`|W zctwiTd=>IFh&&e~M;XccQnGYSIaf?V*|<{veo>z=QswaOxz~H<7&r>nUS9)?KHCJU zhP5>44v$kIU#gj+aZ%!RK6*fWxg4c4$GJUXdNi8OR#?%=X*%s^HsL_-s7+03lXR#) z6sb#~g)!t#p4EfIL19EA3T4`5%`CenHo&dPu~Y3K;3_k=mExW3`z#x^%?81%iy{jnm zeVl!>a$o*#ltM~T3c?juaAh<&(vu#SJ~MrO3s-jjzHwms8~3c$qgR>&=p!OO)?k%biA%v|Zvs z)Fhz5hLqRhlmO3qKuZQ71IjlVx?oVBHm3uef4B?{!OCChU|RJ8d0k zc5q8D?Z91oxv$~&4Z@wTe8mXe>z)_9KiAeam#*J|-sG+Y9#=pjJShziu%Hk9N z^Z`Ek>8r8wcZs^xk%}y5KkgQ{fOcWL4-rT6By$`L?1ZFikJl)_5PJ$%vs-tT^_S-AH;Rv_if%_h@UE?9|)Kq`fVM7tY2bC zhGwYPV`yCbiNXBQA8Az3>*3!&>E8&6P5DvQFM+7n- z!db+4r57?R9x$bs5{zJ{2!#~159EzuAH>CY0oc-+ARVG0USMCtd06J*Lg$g+8mz(i z;b39dAPoYIQ0O3}DTEI?1`t}BXo!YFoJJ&?U7XaI(&)mDg@}mcS~zeb?vD4n^L<6je9u&@4SPw^8-fQfDG@J%AQAlH zl{Hp)&|w|gA>!a6{u`y%9`Yg9`5_?Apdb$1{h@!CM9X0qdFcTR7Oo$>IPND zoK^Y?R!Y)ZZ6()qr9UUQpJc=5#;@WDW&TfN7GZw~6Lr3?(COzzVED*tMo>z9vsx z$Z!6QmC0QS)bxo;fPhKFTanS6KpE6uE#KF~TDo1$0J_A~-~_1|XT0dza&DbkGG2W! zWJpnkM~MYC5#1C_0XS%G6O=6WrqrcP=Kh& z9U%ruWd!cVZE6$m?PiO*8mgD%*S+CY7GJ@&E6vIQ3(f*iH zo|)cZ;-KkF?xFWh>$HYTAQA+eBBSq`tE0GcgRj60w ztqfs^ihdo#G4#QIHN!DPK@=Q=Na>eCV5~wkjK!{@+N@+T6qsJxSILTsfTgUQ)z^JV zn5xtl6-}nHF6#+4YcmoHw4RoLjuW*~tF>AqwhlzdX=~SUtL9uNxZ){-yui4QLAf@D z&!DTNsjE`9>uS8~p^lZjUWB67>)h#PzG7-X3Q4~b-@lqgz^YYn5K6&D{!&Kak(D{; zHDH;Saaoy>VX$qPg`HQMfmxYt8JT6-OSRdTwdG1$Pn6C_vJ-`D@zyv(#PKKCbWLi$bAd2x|&-l#L4(idq zNkPDCK3(FxicOy|1S`nFx-RU7rtBsL?V7=!B1UH9?#}FPhxRVg z63y4ftGMXG@Rq3c8n4*6V)7o;^4?8VM49tK6!iMW^x~Tc@f%Y9@Tf~9tkFr{R(LNr z%}@9SP6@(X3iE9K{H!x#9!;{Z>7H&wY|FMhq8RKiPq?n@3I+XAK;}$N#c@VzP_6AQ z1|Yo{06!2q66(78uJ7WL0TT;}rbY2uFLhwCZd@?!^u+JI;)^tidFY71_N!qS$G*~< zsC}>i{b4vpQq?imuS!Li?VsD%7wI=P~{tA2SSZrVO{KAP+Jk*>IeC zBbhL5<^;xzsYYnzFw`OjgzU^E%UC8Gk^tMESgoC3RIypaBRo=yCJvs9rtNPupa>1D z;6>SyZ7M7$uWve88o#0k-*VUG^7on`FAsF!{xVnu^BYgz9ZO#Me$z3(@Cqt3AY)xK zJM)}CGa`x!HE)152NE`qfjVupVsvw~d~%bC(?nh z9K)n&i6ZCvXGHTcp*ha_R`d*CG(;GN>mpj1JpSkfTtMbn71n+;L5#FC->&X@oF+eU zU#qk|6)^!P(nU)|OuNN8Lx)Y<>r_&TaNr~IS}KrX;Zcv$+VZNE10U=GmLG#fjO6mz$CdAa9#kNfW4UQFD}iT;fgkup^L8MoPG@!_ zUp#n&M)-sSK!p$YVEk}~M;Z=yI3*+TNr$+Ii!&z^1n{EHiTeUN+op<7c4ND^k4XnC z7KeojjVFgJ%dL)UDvz7N3d39wrHYoGs;|^fd@|jrXK7v@QFwyDbQVJtgr}?s zCLg@IR(}s4;4B%*x*q6(tR#c}1@ghK!@7MG!>?D-HFydLKog*u`I(z9GMBZQt|=}k zIM!ifgbT!jUT6ZH-}ybLxQjba>bd3sstP1`Y2bBpS91FW5)Kdg)^;+SzO>2J#iEyT zCu(sPv-t60umcOV=776|k2|@;pt=94hNe5b^EJEYwNy<;?n>wqcPLI4dWq+g zAlpg4Ps*as^iEs)i3a{W3JttF7CZ+ZJi<%%-u)(}(=tyAgsMNgik@~JBx%L-{q!jl z9{|3PPia&;xf19BevkI`!1`4162%{#;atz+H~z$QQ^;S>&09ns5P>k{0SL&O&toRg z2fZJ|(Neuq#qoum9fDm>~SVM;oAx4xq zks?H27cpkkwf>P~M~@zHg%mlGB(9ABPyzq}0_Dn;C^u}NK*5ZeF=NDtks;&7im@#8>k0D2XtaxSPafmU8vn-i& zXV08heil92vSZSXIcLq9^d`ZF1YyH&7#sF6AY76W;nFPj%Gk+{(WdQkH;CQIq^vw9 zh0irUQi>JJBPCff5PFU+Z+;CqA0@$s6XX*m`t<5j@(D8X%#N^_>H(n=;R`&Kc(yexJi*C6t3 z%z5dJ(;)rAi4dSkr?s;3q)HhmT*;} z+C?$e42_x)<69#%@zq|t8Y?Gbi4~URV{Ix6SsRsI_AVazg4Qs#nmFQ#OePE?DjS5Jp(x zPZ>5zmyRQzSd5HcxHv?-ecCt!tGoJG)}ln-n`E#|ei&sHWnl4TwOnMmCK~={mg`0w zZ+2FgoRjRiXT*LU(%RC59-ZjGj9zT%q*rHp+@w59J?brwrur|yZxUD`vkCf|?5@ZD zJ$SCyF5dWu+CKR0g#~OVtC(&QYVxuu1}ni;e}W2c7hIUIRHJs?>SLp5{fTeHOTB*ZU>&W#wr6EvU*~-%BoFl65(o-ES{_>HeHc_~$>-6)Ax0 zN)iG6V!#8ou3QXsodXv`qzFDub)E5I_}oPiuiZ<89n=>H#TLSUm5`5YJ7K2?R1y^i z=pr!LKn%+Qp;Xn-hS`fs4!dW=1;G&n<15NaG=#m8WsH(YT!|827P-E7tZj&M>+|);SafMxML<>`p11_#Gg}hJ`yZT7{WhQfISolK?ob**bgxoL<*oF2nk(^{w58_NrZaxlVoY1C?7}4 zCYo}JnS0hMw^B6GWoCb|q-C^D8pg%kQkN}FU}T!MKs5eOm@+j7F}rl23+ir7&>VF>82rQtX9#Q}(IK*2g)i)NF6$?ffebLO!a7tC^h)1UrO#e*E zCB#%~fL0V~x<*IZSM zuYTPCU^5`tsIWi?iG4v{73-8GI5sAwl59#SYm_5kRj_$~f%d&Q=y83^Q?oJqTw>Zr3ygv3 z_L3%O#@%{_#=qUA)Y@1(Z<#KZk*T0pc&tHqQFUx9ai$NV8y;lfdC5e$0tlu+kY@bb zC5h592>8HnUw}XfE}3#M^nhq&V2a=?nKB;`j%SMKK?!-tgAcB7ktq}!(d=1?$MFDy zi&UHoXfAmk%1P&4D52wMPIIHB!2XMH;`<6d&;zH)+Yv@jIwZEp10JRT0!f2F3zL?@ zE_gA88;oEHL|}qVe1KRY$hy`%SOTeOzylB*p|Bem=+tk(gI^0a)~Q+oVsUNYxK};Z zO8~;Bj}QbDFf<36Mz&E_qHMu6n{UrnU$m!v+R90hE+ejDiCYQV+Ggh4sJW@-TRQHp zl)J{Aagu4&&0BWA*c|WfO1ybDLO89d86L;?bboABqh3J?0VfDDlt4{Ffmci`S?caQ zo)Gr%K03?iiTXE2U6`RdO!$R zzyQq-1om$Pct8LEU_n$31Y|8j=n4RrU?<*=CkW~Vgy8N>4FvX12>Ol&PT&NLA_#&& z@Rp76K5L>V%6&}BeX30^>c{amC)<1mwp?jjVuOHAii>_J^kmE>U`l~#>ovjHULgGilO5$Zuq7zUXHIKlFt{G zugW}54}>B5z^nQ|;QH>+2)e4Py3ZHB&*s7p1a{#f%Bth8KnpsB{YC-^q(BSK3Kwoc z3aUU0W>p!a{oMl2IdKg7_bMD;s{_71TKJ7 zeuBVu?ZE!@N&}g|>vF;tKailFf(G{P1okcme1HZ34+J*L1!LtYFf0bAaB-Tkl$^*c zMCk@atXUq9Xi5qQ!$YNr5V%M$m(0zjRtIW6V`>xwCHP_rQBNLKuTY9%J$y_!_KhCd z|>eG<2&*U$Q+^}qvJM&0XfnmFuTk;5bZuFf=}#`7tljJ6e1}SqWiYM zC42zSC{sFe?jjnpnJywR^S~C=uj!(ItOO(^v>?$$LJoYO3V^c;Zow9mKnvuc3P9kT z9*ybF2^V-F3PxZAXn+Xn3W<2Y*Tl{xgl#2)(iLB^u&Oh$WB>_}fCxYU32eXykN^aj zfc^=rv;T;I27FQP7|JIJE7@k^*z_|iDc}Y7sfct%rzpx95pSc$@+_RuET?E1c~E~~ zi7kc0ExGY7D^xDYkuK}{86)P82p&B)!9(5VP@);9!SZbnDPvKJ0atAXNF!JR=!=Y0TBQBpLRH3AdOx09T zwL?F(XLgK4D*{(51y(D93&Sf{Ddh^t>qxmtBL1TzrsGNjNsw$o3TRR!m{mtaR%BPg zSwkXPxgsX!6nkiZpcHUIR`x5v0+de0TQ!DNc<3roz(0HF7@6%S95q$`AQfdErv{DX zT`To2Uf~rs;-hrt8UbV8=(T`q2@0X)Edw@d=duVdRD#lIfllgR^Fv`Ng<((B3M*D& z$+lvP=VCiWS>cuvZ((Fdwq%?2WJNSZR2EzH343A|1R{iHufk>%EGTmJlE{^3jqw=I zRT(vGT@Ta-Q!8mzVQHIIm7W$cq*e%JE4GXfORP3)OLc3}5o=3VbSUU{San3lRz(TM zY#SDBGl*?zw}dnTz2a7oLY8iMS4W;zbD|X}_)0*DH&r+cS#V{)`UYpeM{%8ZCO)Qd z3r}4S?`X{ciY8S-Q43z>bt4F(Uc*6ZV}nA)=yYXA96e7|MNj^8nebG*79GnGr_>SN z5SAj=c2=bpe{IzbYqx)m=XSL;cS~Y-dzWs1*Lm{RC4|=linoFBv~es7d2!`iDTG0u z_kyDrXwg+@sTXo*M1DX(qaY`QLyU5D#Cxv+e8m?w$k%|(*JwyJeHn;!O;ugq*K6Zf zmge{L>NjC`=L&xHGIiBeqiJohtabgDgrGEtuaKIUxFI@153XRo7EORbwpk09cjXJy zMnG`@EG819VqzqIYQ%0%?y+%cwL(S3F@k}3{*kMxZ2df37!CRRH0+17;HGziF5vj5BT6O_(FqjON&*ywZ3C5J!saj8&0(#9Sg;@{q*G)uF~2qq!2Ll2?=M}0Vn zkLMU5(nZM-2ypo!I$~G@*ox&gWNo1eY$1zXLB2wO2f8>ZzL*7ufCa>O3|vHn$Kcb> z7%WsKf@@@r+jwx_Sb2A7j_J5(bKnPrF^{P=Ko86S0l7eB#0H9h32b0SjP{!=#|)mp z2ORmCfdCgI`7po%8GwKfat8O1!7nn|Y&N-kFAt+Z`IFT*YDjrh(f5?s*L}~?eOY-N zhPE&D13k6ImVyG zQpE;9;Gdhwa^m7Hpc)Nm4xAIYMyC2MY66b&275^5a23^gS#a_oFD_0lV6fb+r zvV@typzY@sU{ay=1YeEnr}C8uj3H`S*mFHO-CWqD&j@{C3<<&Iqj8LMlu(8tBXJ_N zhxKD28^RuS`aK}RPLR)ag~3f0)8^i+%MGG9l%ocNZ7KID&z~)dJ&YpD5 zSi3|W<)@Irk}df~%|xe#LFm{_Zg#=W<_{0-?3|ui3yynkT|qgkpb6+UDVUYjkU9fs zz)Lq!Dx3fW|>UP|I?@w7Jbd25L>cZ%w@u z>lIJ!2n^~1*3{PwH7SUVXKBC(e4tG;MA-D3E6p0zYEivwU}$?~p5Dj4o8Va94zXOu z4AlGT=pre<6ffjDq4DLmahswonG0Sog~P!ZuE4g&*RTJ&lLLE8KpL@osiOy*eKQ)E z7JGIY`-oCRrGMECtFJ_Nhb!4fvSl@1qHQ3t60jt7|FF65vIn&1hlATG>+3EUF|PGKb~y$Q+` zFIEDTR6!2*j0w~rE|{R7nZS=%eX7v_1YDg7kRT0gUx3Yz7i1++fWVJnXaDmAf&fuHL)!);PuQw^4 zz$RAWJ&T|TIvfNn-3XfCW?<6h+T0k7Aqw_7Fe47%48yvbL6&0NE{O!UY&ev+g7a8M z$GP@@u0)m1!Lf-JvWNU37PH8q9Lkd-KY|ZR(F_?p?g|dV_%?p2xD4ZU=NKrm~oOAPqo34d?>YIsFMhfYjIC)M?Igs@e>g zIt^rf*4xq6s)%-S55!n4rVqn&#-84~3Wy@LdV6ARL;hAgj+W z0AAn+o(Kz`#}A&PMfzV2+s7H+Yaa;of~zwm{;}^DZB&${n`?HpMzb9vyL=(2@?Z*B z8cB6o`c6I%?2sa&ul^yjFZlAn7s`Hz}REg)KO*#aTQl@=hk7T$8@N)AGZ6kXxM1t6miAstltXrgM(lPXoB_)vvX zq8yYUT7oEf5~WO;EqGVDV-=40`VnGSTYb?__#I}?#h*G z*NDIlhr1aF{%7NQ`~D3aH}0Cii;rt*{J2YV%+38~-V!>9=G3cOM|^#H^_tnUN4E~1 zd2!^*yN5SdIAh}VAQrbw4L`p8)bHUF0U?Y?p84?W$M>IFF~_8a3<$^+h>S3K+()2G z4JIf|F~#r)pA=HWXJKl-6ypnm0Zy2qFbL8%#T2yB))F}2*apsO$(){ zbKP3Esi%i6MxTTI;YT5SS8!2`66o^R5;7CYSCcR;NtlNezW5?V9>ugYpuH{aCyX!m z{+kDY8n&whhpFWe1-?@7!b`srMzJ5n5+~D4F;PU^3~hW!aZE8laFLqD9%meJF+NX`8KGeMPEdx~{hZaiM5>XLafUq+}wkV-R5pon(lLt#EF{TetRH^<% z6LLI(P)ba9El1W(aJ>?kED>eI6Hlyx1`|fG$%GPWr0EzFMM!2u8a5QM1QR3Z&{R!4 z4ABA$LM%Z84Mb>l1QCfJ5d;b-&;Z1rV>B77aP@Z~_W-p>P5ZIRLuB5=7Ks zRS|(OZQ9xpZ{g)z%4(|kC_NP)~U ztcBB?^izNXtgzl=5A3nwAJ&_6;Z^%BwA!T~t@+u$pT2n8g0SrS)P;L{OXLa+pu+t5 zA{&BH=w2wJm$|sGg?j}^Hs%u8f9mBwUdTo^ynqiECOEHROpptx@x=vYbN-BLB!dei zM{Y3YLt^K z&D1A(5Q1%zGIykc=tEWYnVjnM6exMcD{e#^VfqF)#&L!cmJ!UP3a2rU0N6nU0I5HMOa!fU?t__VlN^2SsT(j&gr(b?dv}bzO3H^Q>$&Yj?3*U17wNu64C5UhS#Z z!?xtFfz8Nb4tr3=hN&eAZ3#nN8_~sxK@6s?lngK`-K|*m1(?ljW?Pb3veX2Tpbf2P z1#DTCYE-)UbI+$*>lh5fHnusP?Tu7K)b8E3w@DS>_l!lqVku|1%e|H~n}sdqa&^Yl zDQ0uQrA?VqH@x6QYjzE|UGJ6?o!`}Nb;m2ux}N^`uIc^jdI5Wj!n_y0{FLu}t(Z{z zHWs3}+i!ngfGGgy7{QXVY=I5zQ8H^b0}ECQ2pSw(l}4D86CU$)$DlunK2*bI;Bbdk z;nNS_D!0KJF^RutV(+0?#VZDm`&?{47-yBnlzx_tsY>D7?Kr$?<@Aub`(v~2Yt*DJ z^?Z;_-j5wDm%nu0=pGGRmjIVp zqb_g(n$rw|XLq!-4R*_2MmuMgdRYb*z4K%D+!%=Z`7;Ft>NP_An-YWI(Cj8Oqfsor z_F>bilZM}oD;=I=l83n2%5=4~y6JFUVg6qHQ(%7xZq_TPlgFL@W~m=O>Qj$bgEvz3 zs?AH!SHC*eub4G^qfD4vyCT>7?5Ej!?Q5Cbm&;=qHnG2aW{)P@&Jbp{v!%TOH9wo$ zaG8L$GazTuYMa>It}sm<8}5gWo2RiFd2P?_Zr&n#-R&mvyXP10sdAOx(|qy0@ogP_ zrNephXllE`A zJwO#~;Pl@qh4*Y|Rv{8HIQLF!@bldlexDWL&tG1{YdrCaR|Vr$;do)(DDv{1JmoFl z@|SlqcADqB=R*s6%O-lGXJDoGQE7pCXrX!;#d<@xZLpUZ-!^-fF@d(%bb`ivyT^M< zWlbp-T)-lHGFE9)b$rT{d^NUw%(ouTCoR$EO~n8q@c}V07$Mb%F2$e)-;{j?7a=X7 z1#~A2S|Eg4Fd@9)gGUo;0V0IpH-tpEFSam*ys$5MFobzm#BVq+|39?v3z_BM(o zsC*sREz81uarAG~lxI99AKeFJBBBT1gfR7T3VhE8`8Z>U&th<|jLd7Ed5d5BVb*oS`z0fBfJgNSV!b%+N!ZHed>i`alN z;D{gqiDMv%7nc5X_+i6pj(oES`=_*B5>8^>jDA$WGCC{4(ciX(|0Dwr78 z;)37gAGuhIGWlumVU8E{jBI5gEn$Qeln19F46>*pz92zb0C#%8FWCo%c@Q(U(2G-W z8v6nSFarcus0(@E1HBlIIszo($crElj=EqW7cqwGh&7-=!~btU*6$)QZGxQZPKlVjj%@R2aHVqN}IAMf##Z#9%m`I8DF zltfuDPyVO{7X$+P(vu*7BStueQZSXiaFxo5l|h-6U3n2-c_TrI3u4)YWm%mCA!};6 zmhbqMO&6EDwoqvB8Fk4RcX@1wnOS?uhkes1P+Wv^?nfB6H-CjC6Xoep`IUcPhGq!(SwDA&Zc!6;p;|2gn02ug z{;M}&R3U96b%#2qbA-rRtObFQxnTsVkx+-A>c)Ew>QxpBid)xQt*Bh3Xo@R&f?#E# zxFKB}+JdYJi^7nb;KU2_GEN{6F>IAE3Wpk&iZ5VTaBM|t6_W>gpa<>}qct%x#;FGi zH+Z)2GSmn&xS(*~=mR)|3p^tSyO1+GV>7n;5;mixOo~`eie-xzr5A`JO^Om$8f=WQ zZ3byzT-v4AhM#QV5@I^0Whz=|nx<=tC~X>T9rdOK`2ulDQ*&C8HbtQ1hO7tLi3ut! z8rW`p`c;lbV}p8j_)4J?>ZdG89f+De;jpOTa9oS=aNn00K=^_onl3vTckr?PlN!PW zEirHp(*q!|F3DVltVjoLuaWY1EB>= zI;`zC6Hhu5Z3zHWVK(N8kI=eiWYJ(@>Uq>Eu44+HeQ2h9#DFc4rZ3L* zk>(nSb~cIOb`z>HpzC_43Mw4(TDB>6V(*50_Bx@)=XInwniV>sgxatF%C?Cruy)3% z%4D#nW|Ox0sNqyr9+Y?Gva#o9adnlrg(r?mwqzG!3$~yVHcJtPMP(;ftYE^kKKpBx z7g0f5hzUuwJ!iC?hqPOvv`hN{O}lzfo2FA+wN{IVK-W>Lm$h1(X^;N(wGAM%PFS!@52`aqaW47={yo(l+0Lzledy;^9T+KUUrHH8Y zdcqbuuzNdAeYR^wM{<-54$OG6idzIb(b?z?O78^2~VzxA7c_Zzx*IJ*1G zzZBrV{~N9lCcv3Oz-em02YiPKtib-sz(C=^4NRV5s|phA3;q;*wiVo48N8Vr+-Snp zr}etLWOuJy)r$K%e3sV6U6sPUvBCtaK7Ct$FkED_7`QY%zBp{i>G!xZ)5ES-5jq>h ziPaKPmVZ&(Y(q=CTk2W++k8&U9D6=|-X6i0P>3O?bxGjY%fO}50snJT8y4ZXbj`n(}5X><%8 z8~vy9oGzi$7<-H$ zFnBp)3%VNAIMNaZf!c~})JIK!%lc=S>&Te?>(qt~)#@zOI7ij2=)_kI09oBqTg}yk z;ngcZ+^0O&%Wc+W-O5jlb5wz0YkgYn?ACBSnPxNBgGRO${Cj+Qg74#?bxhuqW>v)u z*n!=rrip@u-OeE0!iqi9E&X@CaD7*>1to3Yp{955vfsW?qq}gu;pY-JjUzRB!{rsZ zJ>rwwtRt(P$m|GT2o+o5jJb~~%2WNVIM=_1ty&rJT3C8{rL}(=g;AKbDS#+i#7z}b ztK7?76EN=Fulxf0)vWd_28+SgHL(~v1;N?PmKK2vy3F0(jcyGJRb5xN!x!EnjL{T* z%yBz!40^Y}k!c}Ty)^xI^xZ+l0EGSqV|V?buszt{5PKg0ZlhRugx3pxSQv$>4cg+% z;N%O1T41Z*=!1EnBXthcL81j&kOejCQ#I2PRnP=! z($?WsJxU-hpcKej!i{+YcH+mD;sLqhEbij>%-k_P)-93B*kElo~Ue2t;}dVItZy(##ZSf1Eg?zdZR(nK%?y+}^=u?xru zab^wzcyK`!19w-jj8nLGhrzPrs|9+H;Nv^zH)0Dtf(JBH6Sn&9K2Q)BArT;u1xAn% zwjc#rFg9J&1aH#>Hggz_?*8a!6UmWofJj{F8&JiVzVHj*d>P@n_!Y~TA}-LzLp9iCvK8dpZR8c)nHoIarzq@hoGqo8(dt8?Fn04Q z%)lBr!rauGd{>nJLj+f#i~*xo*M;;Nvh=+u;Mcngq&jNlZjP@xzBjt=r`qmz)$Kb{ z6Zd`*MDpOIJ%+Au5DC!)K!6eh&n9aC0(9>Z2%qpZ@t@GG;i=bA5%1d*59t*T02l9C z87~7HpR^qh0ig%-119n#|4}86&;6X%U6%4H9RLgj0Ky;$G-ysOWZ2LlLsbz~xpJjT zmoQ=Az=h-3(c{OCwF2uNiXh94W1mnby6W>})S&J)MQM5F9;v=G* zCZ{+*S+h{$Y1FAzt1`ISpwoelU%c2*+xBhT8#3(Xo!hBF3KU)gi1;vJLNm#gFHc_8 z`E%!vrB8wA*1SS@ZrIG@X(<{ZiD8{lV@LEeQxvIWrz{eUHl94zYivS z*x%u4iY&rNBa#XXX(WJ8hoj!25(xbsHBdvFsKTT8VWLOPILkDh7lYx8g+)C6v&E7mIw^@gQAzxxxoMmbAqp zUJm|xQn14ks{#Z$A_KvPDzbE}id%58MGh|IxWyGRyYvBy&!B)p3C~Vp!iXlCU_uEs zTmvDs)>f0qpf%PwZcsGzla03AY%}jR-ZHpNzuJHUFTD0*Jx|dN>}$0)LqSN6KmYmz&=tf6+{i$XP%2O) z1zT!%rlMeq5W)~W%+RN6FVuFb4u$F#M4P}J5w__pWEKP!SMs6)M62+C#-fV+(14(tEv>{8)*fi6j&FJ*g zP(dBF)KfP|)w@+&b=5svVV!k6_H4b)JYDbO^{In?RVdhphAlRuW0CbpS(46maGYl+ zOlsO^E!>dXZS(dJ+i#_<*6*gsmCjta(H%qGbzQV*E_M-5t1ZT_qB3EH1EYNMfdxxU z%f<@Z{BzK6Ig=vNPg6sVjGgdvb=D<<`M5w0ig~!$sH-{AMR9BN>)Ppyh@ypJ7XG+Q zGo3l<>a2sHw)kG?j=oh_g<*Oa?yFV3tEIj^KLD8TKx*DgR4F{=#qaR_~mW%2wO|@y{F+0vt<@7eK#J<#3K;mtG=QBL=qUftahD z&3(=wodaD5Co?+Ix#BcU2$B*+);bib=5+~)9YP32JMl^9cJR3s&YGql-%Z37 z!5g0NipQJ-BF`YoTiynm_dGE~uT#{ko_My`f$X*Fi39N-_%?7n^7Y4j|3RPnaAB;q zA!u1A86!&QM?aC^kAULxU*Do7z%~l-jdE1ug9?a}AQI(VDOw=nT%?k~G;l=?v|t4d zxferTu1X$sj0ZO-x)8RmWh~nhY9@)A6$(#w!V987W@wxCv`Zlo_ql@ucx2p&4zo&bEO%|2ZDy2 zCVc`D2K+=)AekWRS!jgT+tS!SHzE+6aug>W^|rCA^1lx2zS({Mm&QVt+7+f=+YIu?4|U68O&jV0BN&1CfJgRAAtx?fmwXW7ERMdYFbl_ zAIYYHwkbbv)^C8`)Je9=IY+%c)tuTwr%Tl7m=ke}kMRDy%HuHDK(Oj%pMcRPKFKPb zfBsW+Yh^141uDr(rf@a0b72n&MIwhH%6r$dS@V)}nxG}5lc5Suqnb9GpZ*LYsvuic zx(1%-G)IYH2m>%%Wm&1w)ICnInSN@=$7Yi4rxcl{F0OHnFusqdNF8bzJ;KeTHYh_+ zmFiS&%Qv1>)otVYEL6Tpl-j+so?XS!R<59jdxo`LFp`|YD2I#VBGRmfF~}6AFrCfG z;R$g3=QHZ*ORpx;>NFL04(v$AlMt+U<5*ROkoX+ zsuv`dv0QBI7#>?n=SVhsl*O!g8mzs|5~Q;7$IohjPixuUeEO)VJ{#M&{wmbI~s z?QGq+zuTrbZ`smq;R4rN2H7zv!R_O4+XAq#;8P1)2hFXU4G%QoU7mDQ+xz zpi&-q4Vbs|*j|E((qAkXkH3SNs`;f&S>ADOzZdezcc~ZuDhe zI<-gp2GW!U0gXc&EKD25w5a8DYd_p+P=`a*4kC4`MTBY;^N-aZqUzto6>FV>fYv&( zH8^q2)vW-`FM_efi~wVcA{0Rjyx7W)tt}lb07gkw=r!dGVvC>~@-2(R#Vro9V>}>c z$DTusw~Jtf>6oe7Ah;3;vQ0WU5Wyf{hRW&;@`RMBVhtLrf}qxJu_h#>2`cHK8mK^p z{OT7}N8tMrRIq_1^nD3SU;$44-}{2W51t9inL7vuFN4`EA-_Ug$Y1a6$n<4C-(P2U zoYC-{`!I714>>dw@1tnbBV0X_{#tE_iQrE0R9HI9^u&d#ws6od)GkiRh&QfO{f+Y{ z9cuNh!>MY#sW@Dx4i^mXyz-(r1u2GeTyeQlIbKL1=@!{Vkn+IutN1z()cLh8x?ldY zE)E1oK4cz@;B#9v9mrGgL6&ea{%I%17C@ek6l}3|BM2|flY=5ynZ`4SDEP9}xRNSJ zyER~fvjYJpKm#Ty0w!RBDnJ4?Py-~W0tl4A;ZcM08i5E#^B~RhGtR3o&=U{QBfXYNz3@Oi z>T$HygS6J0G?{{|Rgt~(p@`bsw2adx-|Mv9D#PCkm*7joooJ%~Dn6(JAmkIE<&&}I zYq*q~HFjDUZ<2-Fsg3eQd*6_9ynj}^{jWtk$A^?rJlf?@hyMwqz zC7{3$yg)UeKpzl*5#Rv<*t@|40wLG{73cxSo=!VoG)cH<#d2|aZjA2WbQhM-G%q{qs_M@GBHG_#d`WHWpG$FT`W#2`qDbFG6! z$cBs51#VX0e6$G8le3-gb=gpPWA0VyQ7DV&=2Xph+#2=W*R*c$_YoINj; zxPnwIY`RQuk_p)Ay`+M}h9o%(VaUgH%%y4&jD$XxBZ%qS%v@^`nlpkau?TBpE?vO> z10g|}gIE$h020tNh$~1xz}TE!$P%V=GN{l*PK>{*tAhGd(n{nyFsU{Zk^^fqGA7L! zujD);JFh*l0wX}3#xqXTfIudYgXIJPsVssfNGK4XlexnaHBiMm0l^+(0v=ET_Y43~ zp@AOU0P_R^App$#_)~*G0vBL`AXow#;8Qyr0UdA*9RNZ{4MMc+Ap0E0&O67?8-x99 z6?KduE_8?heU1Sw(7a5&1WnKd1%L(xfCr6G!lcl{)Hn|l!wuEYF`S=VMZ>+Bs#cRs z4k6JJb%_(rL!Xeo5M|LpiaCH`RvF#C!>EEQFt&i{7rxj97%3ROm{uVxQjGqo0`7v+ zE}!w=!ne$<+Q5!dxwE6i+)+I=L<`!3 zYt=hLFaf(Xi8z}ItyNl;t=G-ar*+yo`lg8V&=3XIklU6778g7M0FJ1g-lAIIDiLM1 zF|rL_3?g0&+MMG>UbR(T(t+FN&9L!;Ue=M`y`|nkDH^en{aAalCq5pdz1-4548@8j+Ph-*u}}kH-S}zUZ+e>sR>Rw^S_eMkok*vSfFV3|R$==7ab~5;jE>{yH&r znbirmF>7JLnJ?Q~f3VU?R#Q1yU$2j5sZe0G>-OOkZH1-NU`zi!o;@V24(!xdA>B zW#EZMW}T$=lz7&S3~*|wE;p;TYO20!Qq5{6+G^_Q z>aTtUY7%Q*AnRDY3bdwGwWd|JuI0Dx&^O{$$E54JK41hXH@&`KJ|eEi@oSK-K8xSAZai+y?AC5AdFByztG8v|?-uWaAn!mn zZ*4|zIa6=-c5iTgJ=N>SV7i+4z30H@Cx^Z3omO}PMcs>xx{Q}-b<8awX5l+Y@7CGG)NAN#O%z1LM^ns9p0QEp7Q;+ ztW@4-Eca*k$TRP$jo`>$%Bl)^^lGne2wW$H0Oed;9|f;Q1yrzz2tTdU3T~0Wi1cCS z3`ZOHS!m*R>&5h~62nlf{u0qWCnsNa?g%~}Vs>%EF?1Kb?r2U7MW+}Wmp0^$vbc?O zwp8r$@)Jyt?DHm+P2Y4Re{Ut18c|0uQWpl$Idvgsj^|Ky(q;96cXjiCb&QpD3ZV5c z`1M`abzJXtpp|%15O!h*24lYlWFH4*e+6cLWesl|X#a4FPhtt~Ok)P0n z#yEv$X!%)PsJ(Ok*Y%qbFXO0+`E!abjFh9B$N4#)ah)&e!3M{l2YP)Y>Oe-Nq92~4 zPx|%VbetyQRe$=iiTVMXda5VTgS&eA&3ezKD6Urt!$tk72>XQ?dsHZUUe{T)S9=Ht z2Dg9vj);4@_xRzr`=V~=^*I*3m*utYdxcJUX%GCR8hnZtIm6Ez5=(pmT72s!ByW9u z?dExP4X8-}hfmIrr~CebLtc-)S5CSUY$sF>r9E} zzMA7IwkrskV8MDlt9EVLwQNCrz36r>-MU}La!r`n;x^xvbtP3dP z#*QCDjx71H#L2fV-$E)8Dd*0fKWheoROm&arca|zeHsmGG!k3Gc0Dn6Y%{iR+m@Ic z1n%Cw^^i&r%#|li-L4iQn)Myj#N+4bRdFTSv3w;4r+xLS!YSe z)&7HT`E^!XcBLg(h9AyVAyj$+79oggl_*$ZD<0Nji$1wHnT#{iNErx?VTM^}n}OD& zkFKbunnb5vw8k1B(UxRv7tw|rYrb9No0PW!hu%cf6&Ia%-UT=mfXHD<-bL0yl-&!_ zZM5ZgqZCyldJtKOkwejmB8o>Ti9`}Dw6N4CeSRLs5=;$N)znQqxwPLkF8Sx>a;hMu zlrT&+Rp@~tlEs&V7lwr?RU3i|7hM}_C~B#snu98a8K$+>T{FE}QQ`TZjjFk0{+KLhL8dmOX+<7+ijvdH_F8SXJ=t57Q%X6jm0@ZJ{)3vx zbqU}pU}EXenAMf(LAYsdSx}n*#0h7d>CtH?DR{oOr=Kjj1gI{8Vnb+x`01xpqWdu# zl%qrmC@G}|E4ZMD!Bxnqr=OadYR9Ug)p4zAc{p-iAg}6br+vvJ>s}c36_?0v-3o$= zi5-SBuR9+mtj{zSt0QR0xj8NOldZE)Zo zH!ha|79>z~#aUOJMAn&!W*7o_eXraXfp;e=dA{N=Fg(FDs8k9Iqf^C8dzym7H-TU6%FQ0qw)OW#uFWUIvg&*!z;(#-b=;IDY4(WgePUUi$vrt() z)wzv*?nI^=Spq$_z}LMhW-Fr#`3eX@nZ+(=zUme2Xg8xs-Huqf6B^Q#Wx{1G%~?t_ zUh#^jJgZH_Hv+*L*0hEjxREGMV4J}V#Ks+g$cre@*-n@wf;M-ZX*(4xU!1B@4L>=N zU=nek-vT&4dnE2F^t+t>aH7A3@uWZe0}yjwaTowr%yOKA*;xKMcfd>)P-PLEQ0PcD zv$;G_fuhPISW-8^tyJ)WAle=Jy zBpoxt9EIjHRRDn;JR^rEoUk*&Qz5fh*g|T(a9cMV0}Y*rn=*i41UdW`xOg}Q8#uuX z$yovtn4qOK6=e)fK*AEZQ^etLZwVlv0e6HQne#A>41?e$?xM+4U0zw`T zSp_8k;gO303J|nFNzOn<4nC-YMyqfO#(=;Uo;23)CjQbHjcUO&wkTz?gr^Et29GsR zTheTtmWC&!;e{}iAuVZW0}$9i49jCePDw*FP~$9#oLCN| z8RbNV*I_2f0mf@U0~2`6gw`~H3Qu^#@hWsuHS20UT<*ymD z=NnZm&;0(=pRY3=f4|~iHYPT|2<_E?JBUc2AecsSNHK&rECnqnfx))G0|+b%6l7~b z3swlJEuH{`Y6GFfAZUU_Sn3K1ccux}=8POb@Z%~Vr3qE#b`*5{tQxW>TC9S(D}x zG>$bJFrf!z#@YyUFoF@>KnH9F*ARw)9DVbf&N3K6$C7-gSL3Cg`g|_}^((Vj zn;pRVt+hFB{a=%@%4U=GHQgDbg#^>+N0$LH2&53&318+Sw$OqtT%iRJY?w#UKKz5f zy<*PX{a8)lyStUJ?Isx9wJ$aI8kn$#a#!5uN>GL6hunEJl>6YWQ34v)00Jbafw%}? zs?IMWMjS6C9aD++Ob8h7u^jZkWOEStcWm>>EbU2v>lSh*kk$shgIUs>HB z{vC+^*+i!CUw$A=cmZHKL5^J^g#k{EUVT$q)x-i~jsdaS13F*?a!A_29b;MGiD01X z^w%yyRtNsm{zibHui4!Q(ntxpf-Oiv4*;HqRg|&FK`CM06BORzVOwTIK@>P%IEU_#nu`$!RL_@Yha;FP2rJ&pBgMz5i|j8r2$dh zhSbC(#qq{ZfdJOK*DnFpM%VzHb>Ath!YVwU zL@a?12!KFh1Syn)4>W;CprJ4z!~4PCMAQeQ9pWK+-K8<2r9~b8=>*kzn$#z2s{C|JwaqHToJ@p z8W;f+@Sc`U-1C?LlTAb!NSVS_+{f+PYKj5Kfj|;?+!7SQ$(7sz6o3vHhnv{|8#2MV z`2bVdfDtS~Llyy^DU&otH02snWcgaAffgc>w~5BS+BIG+v_gA(up{8@uUOhHM` z!%5a(N?O`Vs#Qx$9ZXi8;{XoUJ<3g{*E^-!PFl=%`D7abWmX8~dud8h0w^n{4$V3NFT;;C-MHO7Zg=Uy!1ldRF-G-7Ij2R0?Kpqr8K^3Hw ziS=2D7M>iC=xJ5Kl088woswzR*hIkS4i@I-;n?Ph+e8@28Y~$RvWB?9C~GhQj4qiP z5FCw~0c<^4lp(2YnSqo!rxVzK8T1?Tfk2swfzK_0m`Mcl$$%KV01~vEnzf&98pm-Z z(HJ6^~L+rTIj1R_Q(8HuLCDcC|5Z~+%+fp=m9GH?MgP!SOngCU+I zgQyjHvKM-~l_Rd_O-MvcGR)$qEotkvVhuxZ00&r;8ZN=0u^|wRf=3j@MyM-CunBfbCq@JjNbHGs8Y&gR zL^CJ>GB_$q-bbX`=hxXMrGl5Ga_XkxM5cOCTxl9jeySz9LOYFWPHvZ}?kB4LWPh%a z9Muu0$XZewD1D(~gV<^~l*sz&s$#80uZ9dmGzJKU&|~OM(yZ3Z(ky5+3lO>#HWH63 zAzzQr&670gT=XfowFdRn1K8l1!>>}Ee-kxgTM#z5( z=pT(mT{s{fnc~N`s^QA2Q_hjg>?wVLj9$D2%QA+`zAUkfhSt^W=C0PwYF-L8;Sutz zY{gdb{Or%(*3cI1(Sm@|E^X7gqHsVhmLylZVr|xL#MXj9*8&6B(rY1-r~RRtz%t@R zC}J1!U*p8B!WOJc)a@$_V3*)6*QISr0xmsOtfm02>X2duW`*IRqQ;ia;nwN|Iqthc zZa_({9Z~LNaMtBI25W6D(Il&~xKy(~Yc`_B&Q7b(maY~41})WW>*~J1wh5Mtk$WboSG)3vQmx@{MAs!zae zr^#*d(ycDoEdk1>PMjLrT8^u&Dun1TQ4Veg`VoQ-7TYl;_gWyTV9Exj@5rcZskEzJUJEbP{9i!W0~vW2~}_WbTY1sT33* zQp9K~CF_e4%_-%qjp?sYh}#+r&yRXBO~KM_5EE{33vz7h3oL;U(17cru^O-OH8XIy zf=lgY4+c*JO!#iSj_@Bt>hbOsA(s<4AcP`2Z;ODD!D=f0z;Gh~azKs0+ob;-MkL?x z4HwGTWh{IV&>PJcgmCf@OGvH>F374y`8rk`+h>8w%oEqhXaU6(aFh-S&0Bq^1~^KD z=>aJS6u}cv!I0rwk-?rCJb@1Yx)1z!@VPVq+Z@03KyV~_m+}BJMKcR*01W^Egrh(L zTL2G$Ko0o831s-ES5VS|P2ALp{=J$yHjHgjqjqqp_JKGp6NLssyd+Lk32ieDP~12f zsX~sEYE$dv4u^G-6A)eucYM9kAUkl@*g_Ko8DWwhJ7S)@&p8v?dC2vi=~WyWBq0+JI=>@f zZAmKtW1(&Q9#8=|5!@s3jjMy#K++095S%fl^FR=w01xEAr)PMmZ@{QCd8wZ|6{ULc zDs|c#Z>zKTbjeMu1Hi1`M6KI;!{j}dTKMT82@>kBY>WNFGUF^IDGPJXw zPN>Lr{9=@h+yX_vY>t5bUbdTtxf`Apu%inCfhwqFTNc5OUE_A6MsTznRH1CZ#uZjg#hJlRAvi_8zzS6M2A}{4pg;ypKoA6h z0z<$AZ2AOfItXAqW>432c*{n3guOxNbiGiR z`(6$sxbvN8B;&a^Ke`L^U$%EuO(PH1nCrdyHg<*pq8sPpPf#4Iq;Uhi@oPZhw!~_sICh!0O0zyKC3mGy5@DRX3i4!Hhuy_$- zM2TU-kRpW*WXO3V=g~8H66H9RD^-Sb`4Z;Am>^)zbO{bz&2SGX_VoD^Xi%WKh!(|l z6qhSkr;g+C#!s)}$X2TPYexTeVy z5W~@|k^UZidiC8+m?%+$#y1EbP0*l8V??+a_3PI&DZ+$F4AzHG%GvvC^@R|>@%c7bF;bVo_GQZ){whX zwHdA8(+XGilxQ_M_ynP}D)=mPqCBCJ?oQ^KQ{}nT?j%o*NK<1%J0mVF4~^yS^?!DN$D9b*hJWER6B4mj8V=M6H*00RtA;2{SKh#i{fhW_=bgAS6l z2xg|F;&4f5>uoZ{s{&KD+pM(~iYby|{(21cay-fxU#hY<9C+n@mn*i^M(geVsj01c zT`lj*2k*S|ol>l;ds>p;fDJb5OTrIM_{@bHKJ#IvB6e)z(kd=3Y&%G_iKn+pbMDR?@4XZ2JFvg+eNu3O4JX(G z4=i?N@%l4s+!Z*Ff-~|QH^#Vg91CE`CK9qWtl@K|D_Kug<}y^lOlC5Wfkkqrvz=u? zR~aNw?I0j54nD|uJ*i-rz&1G!jZb)JlS}eg*g^_{O+Dl?m-NhL6&3!nYb8$7UcB73 zw&7W8D>t;8J;+DCeCg#dEm zgo*KV!jin8@*w3?Wnyr6r7Hd;V1-LePj2b4T<#AFxS5eHq#y+?fF`1l+hrHwRE3Iu zR5pToLKC2O%#9@{bA}3F0Yz4x=&*5_q+?keXZlPrNHCgsQ$fh$M3yaf=n@GU7+rU-J76JIqN%x|HrGCp_{jpU$)Q&94l zhgD-~EVI&?9&lp^ERP!G5L22uP@Q71fvfJ=x}8!p{)5Eg6%Y8Bkf9E1A|H$@2ymv< zF--0#Re`5m4hjOC;3Qd76|UASWFf1f0kD*CjN)M)LPY?WSBmDeh%lk2SH2$B7JI$u{s^l}!$OR&^4%p=mN&V`YHYH{ zR3K(2rCHC)6tt-mEeL9m(`ojMr>P}Y4p_^O*G4F|9Gq=!clS+0Mo+hwcDG#}q=Tw@-`l_KLcOnGa0 z-X^D4FzdZsUh{Vghg}AL`rY4U93uxUz$s(?`pxfb(zF^-si`uma8qT{q$f2sA&jaR zj{wy~Su|GxDr-P=p zK?mU@h52}bU=gSU!1@nS8*&f@C}6h64VxKeC=6jNS1Yqs@vL3MVivpj!&0%N_u5u9 z8WRb}JPh`Mx;IM7uR`<3QBnoH8VWB@#|$w!kidnfnH{ds0aUN!<} z*kl0R-=1LUQC_;0A`u z2QXcZZ)^nbG1!2?FIYkkR&azK;4A|u009al-C795E+G~;f(2whI}rRpAry9y2|!?i zg#6$K2O&O!Kp-^QJplUAU;aq+A8=|EQ^X=NQ%^=*J&}jp1RP8kf47`|>*kTmOuM$% z*3&ka=l1Y=S}!u%zWKyFYp2@&oXb&JnyqWPxL?l z^J>cUP_MyOuk~I}XL_&p7y|beqW4@2_+)PQitqT6ulQ!~kEjp&rZ4)eZvgE|`^jR>lD&&>ekPx+RxV(Q2y3J#~7*pjw~Z$Y<2z%lo0}gaA=sY`c6#&evbMU;`%1SA|z-V zw-6j-#6ljz>A(OCpe}k`ZMSSfNhYF^h7F%~%>DvtB795^^^fcnFb}KixelLE0HDquNMh`W-qee`I;F{n&ToMEvj~0=j29_WQSYQKazy}ph-<}e@6qAT>V43%x|=#c;c zCNUpkAgjoh4$>8*qA}QuTqegBpr8uA4BV;=PTYhd!wt{EjZa2X6`+7m$OE~Upfn$a zPd3s}_#}-|Qx!7hH7^fRM#^+7=MeR8u1p2}fJgpHM!4l}$(mWx_BElp+PwXu(LT1qMDCkn3 zzN;pz=WTfHNA3?>VB#LduDkr=*U+M0WGV$uMz_8mq zvok3$G%cqASrH6P$~lZ_fLzeC)I*&tVg+h|2WTaac4m)kujgL0A-*#_!E-#R4+_r{ zM_Xt;k%c`irxdYmiPye|BF3+eik+5YnmMQJSt)JO|dG2KO> z(C#rcqCq7Sar#b-CX|wXDeoZiOf^(YH|BFZG>t4vL`z0J4q|3#rnF%12x12XF8-)R zVQV_A=}#>zPFPPXb{K=}L*$){rmf zv5M5i$5aBy@Uaf51OWT5|I7;QdJ8dIRU_UfF_Y!`95hS`kz^_~Lo-xO!G%p*#!W*} zb5L=a<`e|#)WKGiPxr`AvFXB|wNMW=Q4@7hfv!;>6 zlhji`wJ+7Nj6&}6>H2dWixdQ zKec7o=Vi$%W`8SZ-8D+#l`wI3W)raN&_}#v$!A*$$%2-q95f*-M-@hDdDJ6Kx~)%? zRw+D63Kpd_Hd1pwrw~6(Q7BR2p5XGJmSI0fJ!Hm0aE1niz=BqkVq2F2A|L|#sB0gj zPnVDh5u^mfc1Fqe)PBxrvJ`F8c3UG8Wt-=Dif(0P%>C@LZ~6BAQ<3crnaiI7vu61Z zRm~3U+J`U=Q)I2pF@Lsjl`f4Cw@iq3JQ}wNfItcSOA#d(u@I{{Dl2naW^+x$2jVS$ zJ5LovcXV5(bnP^nSbzprH;-JGVquq9q!D8oqIN%s8i@}Cba!mWl13@`cV#Vj%~Nd+ zvUnwFE{Ak(me)wNg8g0=dLe>c@ixfFPAp7hAfJtUfp<%@4FL%kGR2o;hE`4aiei>S z31r9zBr)zV65V+C6HUsqm|_j?_i3ZnWJ>fRBG$C>2(?@nb`cl?u=tu3cy<$lV)IDT zB&=w{Rss&98mF}<5Vaw61%or#QHl2je$<1*Py*#Mgz^4TNg1hJVFKA$1OQA7F;#fG z%x96VVu;v^g~9jw_VG&U`8f=?H$=bx=UmP~df!6If^< z0))9bcZK;7;l4g@YO=LX^j7N7zqA_pG8P)i`xiZA+ft{O|g2PR?x64i{KPyvQzowMeK z8C5OW*{&p2Jv)q@jyD~J0S@hXZmXq9^tme95MKqk*$%o$Nw}a5`ajnqaH)$ymF_17 zRux!*6%2Bs<4#eEz@m?Keh!wS5%B^iMV3dJ-iBj14lnV1V5Q+Bq(NngMH(tJakH3! z@Q|PkVrB?{0MQ(+2Ci0FkASr@$k70#{;8)r8kNwvtvRTgdl&^Z12zBzgy3f&t@m^# z2!?R^79a+i8W5XiSJ>GE8hoGxvIk1C~vJZCUJ{oyQD5IC%m7oUl*igzFZE6kEuwcS;u=F!8p*<5j{Nnv+^&ot>gQ z$UxD_fGK2gYBzjxtAGfIKn_A&vnVM?LPBwoTnB5RYW) zBhi@P1#Vn*H$VkwV8?kp1B@I3fPA@+;K&a`nKvjHX%7RGe5zkAL7W^Kqg){-g33Dx z_zI#swH*4$`TMye{edS_GVr ze=B_{5(#wB(P)4M@^nwL z)_^I12CULoEWj!e#4AAnXe7c{7KHg|U;<(<2#&x9l5=8d0BBCYAZ9NsPhbbOvOy3e zA-VM4w>=}Kwe80p?(O=%@w+`OA|ov1TjyA1 z+ugeS+Z~lepZ%Lu@gm67im~}NBeEB*5PUG{lPuQR%q8M7C)85Mz#}+&!($WRMn=Td z%uytsPDt}kKL0f@SyAq!3i9nW(*QhP(?<9N30!@&WMv3)AZJ94>2F>jEG-(jb1Q)! z37c{tr1R*bI{un%odUSiL7Wp;2n0cZB_SYK=MW+~aRq`!t-K|GoZq?$1$EoiUiu96 z0p1=_$v^JVe9axz?(6;q?*1b39-iZzj>UD(^~vw+SuO$}>6T>i(+ULk4Ge^+e zxPu78DO?DkA%KP94iXe7FrUSX7%6HTSdidBh#){5bO<1%$&)A>qFl)m4VqIhPq`dJ zvnEYaq)w{Z$+M@cpFo2O1=`c488a?n_FT$TRnVqTn;JD^^C(R*SjD_}!GXhuuNyLm z9ZOa$g|leWPM83pt=qQ{Q1HmXw(VN7Up;sT`IYS2zjfgX9!$8fVF)1!Cx-i=v10|0 z6*zX>{%o>P;an$Pq;|EN<{Mb#KtX~mUSV3nm{25B`&!CHsq5JV6txOLZ9 zdF=&4Ut<9V;b9<#c-Ufsk?7WBmPLl*1C>4C*^7~J2IGsYnP=mTIIe_RYpSv48f>x6 zwqI?x<+fXKNFsUMa3Cm&+;Pf@r`>kY2_)Tg0HS!spjpot*jwSiucLdxM; zABt!xT#UMv>7{Q?cG-#{dFok;GtPL@Wi{rg>Z+v$+EAcBwkPCIw&8ZoHAxotq;bhL zxsY%RMH$Ynyh&tEcT{#aW|qZ~7gBZh{jQX!a68|93E;GT8cKfXYY+TI!3Z zMyBny6mRP)0I^>Td8=MbL$=GG(^e5^V7>NceXoZef_R}=8E&N) z)|CDQqQQe@sx}BBu5DtdE5_YoXEHkc@QgoKtoMxK%mq!CD@hQ!EUo1E=v+BM%aW;3-Z=&hHBP9bKFTOKK@HO@udIYLovJ(` z2T@N*q5JJW)h-85P6xeI6;Bjj{O>zG(Zrrq4;b%PM+iYfSu_Y?sMck3UFlmWgv8d@ z8HD}9*w-@{@b-#Gnpz(ew>g ze>=s;Y=x`BCGJR0deY*81Ci-yE^;84oJM#yGlyjEahuCv=fbqC&@pRt4%wUOVv@Sl zt*&*hgPn{{@|F4cV0kBJ0GBSEtAU!j{0veJuTLA+Y61c#@HE?7PgrIMP#VaIP@NrYpAPK=^x$2Oo zJkY|KbCk8SOFj!r5GkZ-R_MA`x)OFWGzlP0Qp2eHFo#VT{)#GY2|S^#hc>EMgAbS> zOeQeTmqVk86BCqy2}qHO6wq2(v^dAXtmOz`%zzmERmL;E(T&xNkQ?F1Hui}#kA*>7 z{_MBEJ_0adD4Jye2iX}_9`c?jN#r8I1vtSG4w4T<5+#Qv$=+P@W}~DQN3e84-h2|2 zHiMifHEE?%g3cVL>?8`)v?^A*@}sYVlC40c3CPy2?se(?I(1bCRVF^oM!4i(30_Yv#s9T$hg>sOCBaEecCy8bqnQBMDT$8Ftputy` z00N-OV0<1pYDlJs0;=W!1%E+Fg{&D8rk)^vb2+R2U8uU46EO7$iTP$o-UkeeWjDz@fSv)on?3Pq$Q?C=k%0r*H6j@jV4+N8zY*3!!$eWORT}R>1PMu`>xtO=8kL`9KO)z~Ox4fJ2$8hY3okf)Rd) z201XH2gck<6O7P=CNKdBWhes@e87SsfS{-wIKfeYFg;2s)h;Ix0uQ2@f$oVlBpEmX z2u@(vOsz$}LJ)5dipo_YAYlpPTLKY)dISogKnNi4!Ti1{Ul0Vr0)#0+NJ=1~3LqxI zZ2aB{D4duIOgIRMk#Gqp{DTTq;0HM<0f_zsn@)5N>_qQW(P2T5*cvNfv5Y04V*vnJ ze@^y+l|9mBG0P;;8jD(;t>|Z)l|o;M$7Pw^j%h7wEYgA{JFm&atw2bRHhNXI8Gzg)VTz zKw@RqSIQaaZ!QUCg(~@T4As(^eEt>6i6*&P*19A^MaPh2+ekm(0@n-0<+?9}`4wpz zb1nO{(qra{%^+~|Ooyo+GcZBGOQ^wC@T_MZ@RzL&>CcTYr)N0hB<8EA( zOS{R_s(am6rur&hA~d4WWZtc`H<&pJ^=9{WJ}vDxpPUvFH7J1xOjwT@hB=0<)Sw0% zSV9hjpn?owv#dL3GzcCv{&7G{5iVb3%UMtWghQWzEfZ>s1x{cA@ag3RJ^*l~Yv2Kf zA0f{fm=J@y2WpgDbFUdr>mBLaYo@lktv&z24^G_V%21{frg13N%pe}w{7$VT(kYxDJj7JvdM zR$p($geg$-O&t`r

^ulbt&Uy!D15cH-7~o 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 Kg!fPAfDV}O4qTyl{y@Qawexsh!44lVh@7@* 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

    ?ai3h8=TOc^@x6+7;t2}~J+ zkYJmQpkzX{x|o6DU8yccvB!@w0hiT*7NoWh@PQBLUY1$nNbEYQ06Qnn)KQLN___!y z{+?7xwZ7DKKc(7YTxW9_8T2@^@ ztP*39EIj%HmoEjzX#P-Og=w>T%n0^Qw%s*4-e&RmAh~tJo8IFCs8VuXK;j7Gra|ZT zRA|iBUog^5xGS-}iEt`W>?-u5(S#GpFF;-QhCYOA>DLqV^e=z-J@9?}l1 z+;cP)UTvRa85pnt+u>xl5J4TfifL2m?3L}BO6!|}Wp$%y;NINCrE9aa>&hyn(!F10 z8Ny-Cr|NL3)(tIv4O7A{Y|_G4z*JpZ^SFD-wa9MU$E4HFd+Y;r*a~Jj+oG_`JXXyP z49@mr&n65IaLqvj#m%*;#u7-C2*iKPn1ir6s{Tik`P?3DT(7aN0Pp^4jTi!v0GbDY zF@CIp6$?!o^2bdko}Lg1vgU9QuYl=M8AeIRk_~WzTyDi}Zs(>V=+5gI@r%CR8|$_O z?C#fP24n8ds(%IG_6zSVlBi#8?_m?(^d8^z+0aj*;`$cY1KbGdzgY7~Fp5smzg@!4bgH_o^5W{_&0P0^8_;(T^o*|A zMisJpPilO}_q2q*wk!6w`}Y~gi$x!JEh_kfx0ZzW@rQ%e)^hlrxAw%WPKqzvm{#wF z?R1SdLy7J9pZs`1B{6$i0CmSFlb0z?JyMuo*&elZ{w3A1nD28b`#YZ z&&o9StG6euN27MnH%tY4lZ~MQnRlY)w;f&kdxv-1gn5R1d#AA9xEHFqxAAAWd!Gk- zh5skR++796_Q5B7!~dMKO?*1$sKyta$A^41k$h92d=xs2^*p8YoB`f1qfcefDtTcuo}XI3Kue5`0e5TH--cOP^|djBF2mt$#5hSCX5#^D@Lwh z!Qu-riJHETa#EHsq3uDOOdGH6$bBFYRp?K~I7=0s87VY{q zY|5G^NT_Z5HtyWIck}M;`!{e2Zif%wTG67$YnHzD$eMez;pxs5%*? zs;UZCiXYU_nrwE}VCxVX%KkblT)(P@LZ?HZ;2CEy=%B-1hIM+HTsYzis;sK*m|WI7nhi;t1Tbp5B)R4K*5q(ce!1=kR7N))mIrM)uR>iSCuNvlj9Dg1XQH`gn)cm^ zU!40XMW>wu1C{3odxp|yR039oQGtYVW$0I6U4<2+GfbEqaVMCNt!SCbbwUrNejsWF zFc@J352~Hu!w^RJAfjlc`cT8CE)Nki1}JyR!^k+=s)MzKO^_-Ka8;l)50m}eX%8oC zh>@qA&4?NgJQ&eo%Rb})ZD%>k1@p_Kv3f1G+q#{tW0#ui8ar{4 zbMIbB5JJ__yQRGp{z=IZOXZoj0>A#Y1ZEihtyyqQ3KLwg!t~vVIZ^@#m0ZPHb%pVQ z8W#v5qmP0-Daj>sh}!HSc4h>pdIdduUSy+6D$byCn&Zs3!f^ZqI96@8(k;T+!w1K! zR%2Y5W;C|e$kJ7#UqfI&R|d>O&*`pfv#s>oZs!_1kKoR|TixBdZ})6^56AZde*Ya_ z;8x0O_~EjXI7lsraVv4$zQ`mwmQc=em=m4m>chE#dCpCs!&ByxvYd*Yt~gvV5XVGd zgAY7PaTwWKxY*a1i?GUiAFvS&^g^oL@uhcx3608d27{>Or8S$Xfe)INJjqOeh@8Pl zhc?5#xhygMQ#tfqUzSLh5|J$fIlxs9nAIuso$p%Wg3TAv7e8~oZAU;tQs3^izvP&~ z4E=*w;j$FK?oh`|Uut9HLLw5#rN>{CQ_lmLLZ1tE4kPpVK$|jxpP?|UP5(KhpiFl$ z4`wVYAr!%cOn4C#_UMQlN{!WKcM%(LZ!nW_BF+QXM-=36BTV<46?f#}Aw-kd1uL1PfWgi6zpI_hDpB=83^YYJ`K6L>&l2fP)zr zAd~)(3fah1IF}geB`;QkUi5$Qk}`&k;5Hs?PjsRgke&V_Q{O z7sW`UtvSK3z?Rq=$gHxsx}mDTCM>yBN>+}o7H5*WRHdd*nn>CfRI4dfyY!|Oxk`8? zFkaP}cau#@uY6&{-Y()d$3Ffskhj%e&D__$`K?Sw_=`9Heg?n-4(|R63`Yc4V}O5S zFi0Hi1qho}!YhHUg&&6DrigjNA+{%nOYBw=k2s%dzSD_Q%;GtFmvn>5{wr~2Y{~LM z*~V@u(t1OqBlgN@$3Q+bq7&V=*%X<`if*5f>1W^U$>=ms4r`R8Jh*~L1EPES`EO9~E8M?5m>$CcI8 zEJ1ZBR88SoubR4}`!HNJr;}Dcveq}bwVZXmVqV|d&i+);jEC(v^d39WvQ=uct1WS6 zMts^6k7{jeYs^Y(Km(rPHl~x~E&~IQaN|a9$hT<*myp^d?e-V`nGGhv5kpMYX@zH; z{JoU6PS@WA=gFJ_W!LW>9N}HrbB&9A0AI$zk^`+eP?|0(G4dGVkmY4oED zo6mM+xYf0%RK+{n=?<^7)4i`W0mp7PGCoz&-1r{rit zxjyL~=OlJy!B|h?*0cGYvCcP9=3J+`27M}XPkHI^I{1t!965-WI^(;Td__n8(3#(w z{3IE*(4Yt@#NJV%Q zT>z#|@tM%^=@`_>R|G~N1D;P2CZQ5m+Ott$1wPsZo?S+0+6Ic=*D=QjhTtBN+RI6f z37Vk1sbGIt7wp;H`qAB)$>0pGLJca#4MvQV@L&LDg@Oekd^KCML7reNA>=h66CxEK z2BHJT2o!0ZAU@v{9-3y>vR4V8+y80m>I14k6|-n}{6Z@_7g%0wORL zBlKNgY#HMpCZdlmq69Re_NCm&g&XKmq6bhbj2WIH zDazj(b{8woTE7KIEY2cx$l>r|pdGqKq48pD7@CTB#vVH0KQ19`3}Rm>qd^`dK{8{a zIhy8KqXt@G2WEr;U7|Lo(6>%1NPeOk_4z zWT|1~dT8XAtx4#Bq&dFcN8a9>xk-Th9ZIH2Nw%a*9@x6jqgQaA(h&!a5n_%Fwz$r3?m0bg<-0ehFH3g<9UDUl!t0+2vfm1_aWjwz+08=A~W= zq~!HwGQL+}T3R%ATVdkDVd6q!YQ$nbWn-4#V@BrrQKn^zBs^s%{B>nWqG1_gWt)KJ z-HE0xkfvD*7e*+Ef_2b^v?ZeckpV#^NhqiJwV9fn)n)b{be>~%nqnzxB`abObY8@YfoFK8r5cgv15BTy zp(lIdCq9O#diJ6q#;0u-Vbs-UUG}Aj#)f`o0Dt4w(@`mj zUP>|=q?YRDY$BwW3L^fPS}9PDDVHiLGHMN)vWrvd=#E~bo01`)l9}wu>G?INo7t&b z;VCQXsde(HQ~c@c?1p&(8U{@1hv*|t;wm#$X?wzGmagVb{-S4eKnLI@ug0aX_NtaH zs$Guger{isupFEA5d)#%0-Yn0@>_J(8+7_ak`4t)hN`P6>D_$Bg+4(3J|I zvgvB19_x-+YN9@1KoYC59_wq$C8I8Dqc$tB$|$skhqP9tfqLUqqG7g*;)ro8M-CmT zhO4TQtG}6RN}%fl09d7N=^bJOzv`D(h;l?0dFsKEf=r$}G*=EY9Za7Mfn0x*K%;C}aXm ze-Q1w!HKqZtD7V(zAf#&H7%;%1k_S2O-$|nWJPU2UdIuuc{t&Zjcrg0A;_L=2H+*J z%Im*+(#9sB<`S#uj;?LuD~e)n%wj1ff*?y^nFu}@&-QH3{%n{9QbtH7;r=a}d04nc zts8EaSDNJ9tr6o&fa7Wa=7uiklC9+pp%RAf=#p+;n(pa7>e{NV z>9Oug{E=JNWIPNX`VFd2JsqO-9@A@uM9PVcduj>hyTM(<`hzUukZF~u$ z*+Q?_VxKT7;ORPG*s85(L~jAZCB*$=u0kI6X0HX4ngwTYv7)F!cHBsO#7&qJ2Qi#iui>&Gi%m>_N=1L>;Qj>&hVE|%^sm1BZ_5U7AP(@cqAtgZ zY^5bI0_SA|GjS3Zuo0K((=p!4Ra4Cqe7GmQ0o-hhmr3&Yr zoVM_{Y6J|I!VRt%4Yz^~w*n65unvM}y2^;@F0XqwZ-{ztzhde0ov!vO@B?S=2E1(k z_X_ftB4NpHfEH_TMNYEla`7QzF{ei58JD27ZsdLxZH8G6!$w!0s@eQ11$5F`e$Fw6dQLi002 zD|Ag8AwWOiO*b@98}tVt^gZje_5!s-KaM7H*%?dpMPHaj-))#>1Uas6-#*X_F6h18 zok%MTNlOJfpY(FDWufYnpzU%l!!r@{s`vghE`#n&BXvIWw9F#16=(2WkM2R^HHsp& zUlVjj?CiOIz}$A@L<8wnld2ddwwocTXKD~C3vL9>Z-;p+NylPzG$}1#NEd-9Ab;#y zS7}=p^&u~DUPtpzr*6I4bxv#WX%p*S<8xpCHEnBgV2|Kn7q%yNSvM=TJ8|?V26wp9 zM^{7kNbYW$T{bRcwuCp`YjgL=@}YMV zwRX!kGL!Zd6KHKyv)nS53CpetZgXR^VD5%8DMJ^726rlE<(|G`4%ZV=+%SMlMRZ`c zE!1%yZ}xCN_wz}2B1`e-(sfK@cgvnPUng^UCv|ww^?Z`IdRy{_r}u`BE_=5(fx>ru z_w0PL?{wP7eKSRV>$kYJujmvvAq53V3wTfvIDostfiHK0yFv}Sf|IUghn96+cXuKi z^9M9CS{E^Qk9hZ5au(AxFkW{d&$b5db=WpBiMMtJbLvH$xCO^{Qk%z8f5Dnt^EFQx zeM{!3YBjtuc2(0JhGkd(4Xw{U?2q>zT>&rb{Wwv$vXhdv{)0d9Xdg2NN4aQEd58=1 zKCd@P$aa=j_?DM=2Y9&?=WCe1_IK-OnL}ll4|S-kIeMT(o3Hqr%UhhE-<+pootN^@ z+W5o9-`~NhOoXAI_g#SZg#8|=pJ*qrm-C^+4okD9O)v73BQv8N5g zZ4ox|vom{#lXz`k`6ip*nSTH#t~pDf1j3qHx}P96W5h*2r@i^M(UNlRzMA{FqgMYp z9(QK1Ly|TjdUY$iqUYtd$7jKdceG2pKbv-yTl*w?_-kf+_ij6y<8*p|d!?s&xM#dx zle_7e`%0kuVY}P9cVb4odrNe5R+H+C?`S=&Fr+p~7u z8+@~edBV#G-tRo$`}OG~{Lk0@0!KQ=o5!dRbj6SPXZ2DGr2S~{OcQi?7L<_)_(cZ zHmT*lGw=Qd_rAyfKCAbv@cRq#gJO%%`-O!WV}CS2loB|QU_pVR5GGVe@WTg%2n|M* zIFX{kh7BuD#8}EzM~@#r+7fB&<3*DvQKtMLLBfLv6DDAgi6KKxn>8EW)M>Nf2A@BH z1{FG#XwjcLktS7|)aO#BN1fI*+JS0St5>mJB}x^jRiIJ9g58>xYD20k(56+Zmh9QJ zXxnx$+x9IB7GLn@ZHPBaU%!6=hcOwLaACipLj4^~7%}39k0Cd1+_$0QgpwgA+?bK! z2hIgImxB12G{w-REqWffY86P=ul`-Dlr5X3OPDihBF*Wvr%~U(fo}*qTxnC{8NP}w z8kf1&pmzSX`W?)JEI$=1D_7w_ILh6yi5zdj6N#TN@>&OBeTd%+(p zBb1-{H0S;qLmLgX0SEezz|dHOO~Kb@YcM6-Vw!0wp`HrP!VTggs=5u2yKt)JKn&3* ztdippDWO6Hud40d3ehdNm{Y4Ewd^8~FZOUOtReJvyf3gGpdqQ8QlJI71j)fKFM<%a34^N8!{0I-%EUFDI&&-+;mm48=Zs_X zCKN$b@kJJ443VuE)0#1@{u*t}(NMsEOz#8A7DcqtAekI3Gy53LPc!_4Ovp)zswAz` z&aC7N%S{XF(o|Q#1k)v##ys(--rS5eI=Ma|QB6Bdloi9O-UM;ZI6L^2*XfkQv#eTy z1<|`ak=>Ke?d&3yyc})J>(Fc4GZNCt4oh-A{Tc&TA;gx{HjITrO&3&kBl@%=)-p=a z6^Y;-s3U<|X{93o07&)ARUc?|C!k=})y-pVr4UyRb(PLoUv~voSm^33HYls~Og232 zQf#(^XP=FBylHW)_C{=Tq?EDx{<3t^a7D3{TufC)m)&&TjWXwn>ZM3tdRHOn-cs`2 zw_kr7gh|ZY1~wS}&9-`V_|}Dsb2?%Zx^l7%Py!yGZM*1jYCRkQ;AFr|HW^#VwzaRmP|DTY+i#VmdGAbbCRJxG+eQ3l)>vVs@WfL?S~jI$iqK4} zuOln!VKt<>YNyleO6wL^lEDFA#CbXQTW!ro+a3xzjWMTH&ZlY;#trgA?&; zVE^pe^s&=wZel>uGO2#q&xZdkl(ySlFS-2}K>wMCWITG*x#*L;08K!$zrQ`Cc*avm zLmm^nOxdg;6fDjD&Z@^Q*9=Hpm%37u>@}}aU~h60SlZ>hr#kUvEp%nFSXfj@F$<~h zZ0#%E>fZM?ILYWD_w!o*wzj{M^e=z}6yOobW5nDk>M!3?-~z`5MF&36ArFyYq(JyV z0igzi8BEs(QPaWWA#RI9BcVzt$0`ZAYI8E2A9NDt8#tkkjl%gH3pqE#{QWRad}Q4X znd3Sj25SR?be47mu;Tb3^^LENWD*-8F9bwB?l6akwBazXV#xgY zM44=pT_gUH2+jXJQh<_72qnLD$xMRsF_M8GWIQ=IZi3T4&-0={O1Y)iM5%)rVWrU; z;>uTsX;lL29y34i#@K1>Om4iIQ8tu5T+*qQedL-!{{*sSb!P?2B#R(3=EJp!jFHh= zC^RM^2y1#Kz1Fy* zUh>Lm20wxeT!_SsACTufKL9X$-sx5OyrtUs=^=mGvV6o5C>#m;OJds4PX|>f#{lKf ztU%ObZV?oXEc%6wUet&hP3uKjhg`6EGv(rx zZ2r0$oZfV&J#B2z&dCvv2$iTJj3>X2_DZGB@}5C4$smF0J*pOkd(SjXga|)Q{kUBfE-I6iE7}6TPLLY|V_h3Y;QAEEtha zRxpb(RH2r{sF+3SW@Umxe2R6KqRr!PO54xVKGj7FRTgXi zST@xT(wQj1tzB;WU$^bnZtL-_Tpjh>kBXGI#_ekY$CxN@VhVXMGahtPN|EVen6N&> z?kcnk67Js2yQOkPc*RRz%$oO%=;fYN^cY)+&5y<&qGiKmOc&TT2furQoomg;{w)2? zu7?ek9e!Ucp0ys4Q7Ch=Veq!Hm*o{)mO)ZTyE(yeYLZCNEsd8WBCqW(c6p~XrAJU~ zk`*5ndoI4Q9CIwc^9^*g0PQS}<2>Zml1;Wh4rGvlJY+uE&&c?dD713B$RRk)85(}r&Wr@No$dt9FD9(#O#sA zg_>PIn@E=~yJA(FP?qVnNvnli>pIWbpO~Yyy4}}f9dk9AfKJx0eGP2>VHb+n3hpg} zk?qmmeT&&EmCv&WOI>L{nA)JU_O%)7nr)L=UEY=mxXZid%py&DmbQLzyG;$VQgt60vpcVx!F83$Aiwrah3oO0dFP)O2(=OkKl4 zoUz>g?rVIyQ`oSxxEW71_Bw8Ers8>@BDeP(OAc#0Ze6M>zwfPEUUPaI)6lPV`JruI zyJ0h0=RMDn-3im|pm&+lL>HWVFnsjt@*T{cwjR^5{o#v4{jm$8dbqDHxval90|mp= z(*lj1vd$RJbKxb~uWELNqCHuD7W7(FG-$OSl*7e=Vs7n92m9&^^)`>~TyDt<$S*4JJs6F*3oeg3QC3wu)Pkj>`V@|_-g@?sr6b5p#miW!7mAw zOzy@{cb?EuGO)ms&Gwq>$^hfhr0`l)Vg$3W1Wj;^Q2sClRS*WF=LJ0?#7gWlX3$7# z@BxgE#r$QnP|k(4ss}+U*49m+La&X^jtE)n?QjjWKt^Pgh~J=)qjm=hF>qx(5J!4s z!emdmqO1{TCjFeNNE}UyXe$0VW6Xd`LGVvqX2u5NP;%(dIuzy(@eqjgP}bzD4|nhn z0a2j@@zn}3S`P67!$1)u$pSlS(MXW5w6F>#k^CggcaEe{E^$4c=w&t$+5p58GXfN= zXF*0WT}tr*7GMER5ouEKLgwP#TJhC>Fy-#;2)pmA2n|kBPv2Nz7fnVUtHo{TQPF%( z6M3%u8ck;E!z3zk3&AiThfx|2?;wF@8bzsj{?bV!RKxx{BD<1`8@KcqLZPtUfG&qj_`c+AjJ z@^&0)k=%-QXh*=r&xp_?a7^OoK+yaO!+0j`=X6s2^6|L{LU0tKXnr|`V%DnGe8COFbVWHky0^}hTOI%hSKe!II{GT)Fa&ss|GOhq~j!Y zP4lF5P!f$hFKWr$3a#qKJWT!+7&)*u)AN%IZar~w1DO%%9*j&4&qan(H=YGNxX%&`SKec2yY8bJo1HpAYq0zwj5fkO3T(Cqo!OTGX5=SAcAuMhTf739# zv1MPDSH%rqoiZbl^lbPQX9HHBny+UKkY>AY^uRMj6Bc1HbTk1h?gT|z=dNj;Rzt5y z%YF_?K9<4$P1!O*Ti9 za7<_6mQoeU{#m0%Xfuihgh;@0ao^ z6_P+~bb3}0RiCV!U~ zY4Svyw`yC|Eio2=4Qq-_P$ye;AwL5RCr(Ch6nhING+4=NE%<`H_g*)cNIec<-?rXD zxD`kK*r}RRpD+`J;b$aQfQ13kg~QYJ7V%SQcz^5HM{3fCHA!V`(p-uz;R27rGEIod zsS}G>>a>j&@H1AEc!YYBhzFvH8S;rQSadV^_)da@f5S4f7(0PB2Y_?X9 zOHIao`>T_!6u01p3fJQ$ZMac1aCft%e;EuQ#dNu-c8`V5fuwdmRrMbqtW667yN(!a zdoS@o?ZdLMFAKRKSc%#MqBs}1UIBG&(TIv0(>Ek}k}b57#m--WLv2_Q=I{;ChBk27 zvB;YBg~hUP^B0wus7F?r3)9q( zqal--x<(@@o7tIT_9B{cd+IRyRCgoG7v5-1Ba^@2@1Z8s1_xt!Jc zVJB7t6Xk}{wCBRr5rx+u&#zVgS89`oaUE!Q5cpL!HzRm?T_G|Jk2zFkMxhrPX1~`Y z9=eM4=s77`b;6%#w3YwHnq*e`e*ev-l@V)W zdV#cXq*5b!iBW-YS}y-?f%p@|KER)U`f`KXfrr{kw$UY+d6A=7gI6MaA-aRV$7ZcL zZ*|O)s~S?puA9YJhypBW;jvRWn=IQ`7sXTjaL1IJmZjgaAQR})NXmerR{ocpi=L~F ziu(F_HOzTAV|q_T4Mj+3Ji?zB5?~4&ik}&=mwK9?)FdB!PZ&zFFIk5w8;`Ef7He)a zV@{gnF*Gr>qCix%$-13O8?BFbTV%4XV04!w?XBsW!tT0wCheQl#a(uqB5>PObi4j| z3W6ngB7yry4STp9xwx6LxsyAKCmZ^p+ty%95bwwBw)&e_;8}rdXv4X-nvktL)lhWK za1A94LrJBY?WJiG;ZSPtd@ry=WqNfR27}tSBLc7ihOqftxJMTy09;=O{KgABP8>C> zk45zuJfs~Q!W~7zKUsd+m%CTe*Z>Z^H9T?O&%?{qE?b*6!R4Ds{`_!I5XJ4ZPXGG8 zXO()p@x>`}p+}d^06fPf6BjdcE7$zSi8aSb(yLtWJxuULa~aWLTG7`NiyB>w zQVPI&kWdh9&%JhQv2;;oe5!HS0kQ{k!PHHiv=SF~@ z)ilMK)l-_u)VR+B!@Je9t|JZi*3;KnTbA3fcx8Jv%^R=&Qi<2i^saIGW_BhvD!ti9 zO|nE{K*ijs`}P)QReN@b0eA>(WXeQou z_lU?891vyftD+k0+ya!pns(56LnoZNnQ)Z(7AEm7!!g_??@=vhp1m!tciVWTk3Eh7 z_>QNDa@)}5w>8884>e{~U5b94ObpW(KnRpfOWtT}4u+RjhTXUdf&JfBva{D1wSRusJJ$Xg@fylgl;&$0l86eKe(y`8 z@4x8pV=(Z+eDDds@MHW>moo8%kQ~eX_#yuR9WeXiHr3btEs%&2*|?%Gdv81SOM7ng z7l|ejLf|dM>_fkmrL5kw1q&->^=m#|ul*OvI3 z+xU_H{{do!z<~lg7(9qDVF!W?8xB+mF=B@g6hBD3D3Krw77hn~`3N#($S@?sd@N~F z^k^uYNS7`} zN)jnWtWG~vU0N!v*s)fvk}aDwty-I3$Nruz3pXxNw{+{Wy34Ar-o0a8`TYwxu;9Ud z!vY2XfZ~Az4;nju+<3u)#gr){zI>VDV+I#$!)+EmjT%30oVQHU$V+}D$`xf)s2`{^Z!UD}TI_K7%7vR2 zrP`!s`I@Io`utdm=S`Uc>>aFI!u0>zx^JsK>BW%yKagBmWtd^6nPZ%J1{!S$kwzPA z9j)e|gSAE2kb)M@hT3of>84z9zKH}JLlh0?A$BGv*C9_8nfRP2(RGzmbzzV;-HFuh`>0fDP5NS5nAUq-i?HtKVyFUl%2%mI z8l0+It3K(fTmQNx>#VN+*m`TOyY{MBmB0oo*<_Xx+vNnDB?u9=ViJ_5v?{L*TbvJB ztB|%B*~yWJ(b^2tx8Qczl&0sRtCFD|lGGbjqE0Foyf8NEuPCp^^&@!O8FjCY>hXy6 zs0kySuvlD6Oc+HCcU{WDe(j2DHEOSIjWudt>`KNPU)k}nT82DwmXk1G3OF5<8ISjR>Qsbz3(?e#R zHQ8ZtP4?Gd3nsQHu9wXUU}yugHrsAj1Gn6B(_NWlcONS<1|;vzY=f%(EqL^55{_m? zg}XT|L@W>IXH5Pgfo{}wCWbpxx-!M+vsIW*I(bbknrcbo0o)2x37`|YQqN55S9 zn>V`vx`J$gsg>H=);qNk=mWnR-eZJy0OJh^Z_3kKLipyq4M9(O9F!27P(zyQoosN; zk{0)b^Ei-zuTeh33Hb_TzC*<;eM?y%=Op*D_ZcaEn?qXtICVd)zx1ow-*7< zj)1iC#Q}fUy9GATfe-YU1TnLj&V0s#FzcWftM{M{0!}u3(;x3pGEp}B-c zBHow?F7f(GRH7n7rUCI`=i$-QMz@~+;g5bsbeda+SeN|W?<|NkmDvL09``&_KOYc` zUXVn)O8&ayJ`}5!mV`&eDlX=Vm&szX40pIMs`7bZAQ9){4R~zTmKI;4? zh2=U99c!W;_5o9Jd5n?jcKDq?S}l-S>s%rEXDUUqj*+NB;w1kPNmE=iY?@pWG)s|5 zzi_gXpZq`p3J^+;*$n{wIZy^JvPzuA6O4jOS!-e@&k7l?Bi<|Kpm2zs-RLHcBSDTB z#K0qG0u)`CyPW&fa>PDPQ!IY;lw54cM%6f{iTG`4cLr}@jH5RlvEfk7C%|}ob8Wf>}6lVBjl%h?^ z{%@J)StLc1Y0GDN1V60nTSI1{0?(SZYpmz7(dCDNq)d z_d$o)lQki1&0cXDp}+b~u+B=;f+`{!Y~2)EIqPTU1a(JZ$|R}f3)(_!A{U}U^(U57 z>ZUF#NFOFG6rEG%{1iI6AcnQ8uKVcLs>!vnomHE7*=Abr12>dz@~vBHsa)q887nTp zt_G?gK64sa>-lx3fOQaIV;Mce9)v*{Q7mJxo76W-4v&-NB@8XwoXjFeCr7pAXSEvI z8}dji^fPS@!CFXIsg|Rx?V4*-g{0V;H7t^>ZSK-47~Jwott#a$Vo2js;8wBzV+)`l zUX!b)zdo0h&3)E{A^g+4QZJR>;*&pf`Js?FwtTv=&Sm43l^`9bvf}C!3LT1*`SysR z_7atQPe)qOSq(|_l_((hg2+Y!xtjGgk8J@HB_vCUFuL{20u!v@;4;|37R0cbB+OjK zRXD;~K9fB+tl@=l%fsITaZP+OVi=ZqUPYzxS62Mp7PEj{aukY;7v*M%a`md~y_Am2 z!{a@}FD~Z^GLi9n=pyUo$o9dHlIzoCS3LQ*QI>Lpi|ZNcY5BS!?DAlhyJfvH_rf|w z4fP0{W*DFAg++s`ydrB8H0R01cmbnutpN7skbPU}1z)-`?$oqTCroM@dAhk+1}tGu-Q`r*`Dd(ttafP( z?~=%RC38k0Wj$->??hW_{pulFfF#u%3wy}SBy_4m`oCoZy4lapmyIEY>}p$*R26}8 zwu5WRcjlF^pq3V?0~hXbV;E0YzS(h~*FEnR)Vyc@i3^vr-4o+-a>}{)hfjpMrJ-0T z0?T>o{5|ad6-h7st=(4+1A4_P>%ok{6rft)kd?~fh@jQ?n10$brdlX^;FgPLhWi( z#M*`-a4FJq;J7{}^HJWsakba=n|Ls(aXXO*h4gV2?B#(U_yC*{f;B~Y=+{Agb%N01 zf{k+6tR4=51?ZSgM*eDJ4enBXJd*^TWV}zvfV_!u! zOW1@=_=Hi2h}O0!*k*+f;C-HPN;P$cp=L9E#eOB{V!L!gelvEcHxS-KhAPKKx@T)3 z7KiWGJ~|;jC2>#(Rct);6+-w_w`YR^M}&fQHFx$=26JD8Sctz^5t8=-cQJU;Ct#g~ zjJ~id$;gb&SSz`bE66Aq?!kyw_=u2*SG6(ziIj+P9T$dv0!J+fJ)sC2X#$G&b|+B< zf1_A~r+9y=xFR*tiem7JzJ_OSD08sJb9yF$xu}a7#f!$~i@^Ac!bprxC>F+O3(M$? z%7_aM36T{8jnW87rcjMhCIJ#~ji8Z@;0JbJRBjYjj>?rLfAuYdVt#(pSas4GXjeYp z(r)U)f9%F;w-m7Tej3FMV=qkY*nmWgwI$Yqw%rIsT}GohGrC|NV8IhVoVIA8dJWEL)@ z$ZC#5XE*0YVbG6OQG+@MYC!sS*s_%BHrW2>? zB?@y|3Uzua*@veKG^iiYr?rZ!xvHyyT7`4tCCIWx9Hx?`COwPFpt$)Hak-La@|Mc_ zGNu`dncA#6&mX}>aJkv zK)?DW!765(_H|rHejFsGLe*VrPr`a;tRp`L23R)MXds;zD(XWnBI z-x>zt`l)zGuEk=mp@6Qv^{yWavLP$7h1eJY5+DqQb&w&i?$nW8dJrVzvST7kG5aPo z%RDlxg(8`nJL`!6D~_Bvsry&0rJAYj7B8B(Gj}=2nd~sfPZDD(I zWqNgRGR-oS0059YHL?Hzw>&bBNj$MdI*(LHh-_PcZfb;hYKVMsmuzB@eQS_@bFNTD zuV+}XcxTT50Mj-t=l}ri9T)ow2mBEY`WhAKBpmo69Oo+}a_dGMn zLpkL}I`u_5(N#&-YFX5GW#&vl=~qeWUQzc6kAx&V!UZH$6+mV#}TiFurmey4?P zqKtT@muje!e6@pYxQTVNlzq9cU%s_nuA^?PpmVjTX|<_!yt8M#v3bvlb-}t@!L5D8 zyJy9`dFX&{>WOyfk$&-jZ}Nt9@{oPX$^hBf0O#ib`uYR>{2A-%I`Ho<@a;PM`z81G zHp|3W)6PxP%vjphOxo2~%fe~P#(CAtX4T7g+SY2>*K^|DN8#I6;@oB9+H~pWNa^NR z@a{+P>{$2oNB8qs?doai=Xv$+X!GZK_VHx+^L2}egPDzhoRNc`o0OoAgQ1U*rk9AQ zo07AfhOwQOvY()?ppL4dm${;gx22T1w1~R3k*=tqwyC7LvZv3Pgu$ha#H*CUx`xZL zn%JX^*{YM$y@=7aoxrWF$+o1$y|&i7qvx4~^OuF_p^W6Jl;g6S@t}?Ish07voaVWs z@VBJN#e>Sin%BpO*ujz3(umvEm(0Vg$-%hX!Kv5Cx7yRC-O;_^&4cOOi0jyw@ZXK_ z-I3zOtm(|P>eQs{(7EuysqoIY@YbsE(!1v4h3w*+^X7x~>XiHRh5PfE>*AyJ=co1Q zy7};{)yu)$(!=7;%jwz0>)p`u+r#bP%P4`i z!4V@2DqP60;jo9p8XANMv6#h+7%ftK=x}4kj~5Xl1V9piELp*VSqv9WoXeLmVV0Z; zAdStN0$b_a$+M@=RwsiBm8DZ4O_~VNq1(rFA3l6apGuud^=Z?qShHT`$F(cheqh7? z`v=ym*|TW5YITZ_966ZSuwmS_ODA2rJcaV4i!pB8Y}w*&98CBjU5W%j7W0cOrnst1 z)1Dnmxw2({nEhF{jBvBa5u3+m9!CZDw`{R0)eZV^dmgddxP=M3b<342 zR=`=MN@dEFi{r>!C~t9`3>lrXX3-@W{b66Z8CwJR%)Pt!@8CuL3Y6FjA^GzX5uYEd z7~|lM6x(M+UGikgl`S3X*M1Y{s-FPJN z5#(hZ|^*t|}`lhOSDgZ@w977m2*~ zYLQD1cIeiyf5w?#pL%*I4q(hS>nvc`L@VvI)K*LFlebx`?X}o;+wHW^);5oJ;?maa zOx{At+q&!ewrZ8dnG(aiF=#33K)qnpY+No4>n}Nso+ol|5Ms4l4Qfr&;)x?17thnTsdu~Zs>&7m- z?y3rJarD;ff^+vKcG13#iDR@|0S|0Qeqj)1Jg6u*>o;Eug%?BFjcrR<*; zV?64h8*i+gP`*y8DMKkCRPyB{rhJsfEf05Z%%qQsGtRFfWb@6Zw{B~p&`Eb!mqFuK zmE!-_i8$hpEiN~)%Q{{4@Y`Z-{P9;4AMJqvM2q#<(BCra+40VM<(2ae7rR9(G7FQ@ z%y;LKk=xy^)OP}n-el;vBe(SmOxwxHC8+6BsN+A>bgn)=-XD77-cdf}y!gabg71*pwtVafw-Y zY9@(tgd(7-Tjm=|Dit1Q50)iSw=&y|GP?IPpT8+OFq< z?4@FRi}6ddzW1;2ac6uYnaSNoa6a#(DHJ2{1~&Z|3U4F=9DXcd0$GAhzsU(4qZq+D z{De+*8Y>i?@SE;fGKy}Fpnu~2SO+1rY0iX+Llm80hf>htyFE>iRD+rWAu54~g_a?5 zWSGgIbmFl{QHn$c*<7YR(Ftw@!&1OV1Say}!a{8f4~UpUFddNyJfz`Xj~Kxr3iSv? zKtdClh*>5^phQ-{A`_Z`giV3d9am|hicnnLEHps~NI)VHlW5gZg$jvQQT3^lU_~r| zN>x_Kf~ihTL_Vl zNjkkT0(Qtv6eCcFIy|usa>%c-BOnDio)s-nbfOy7=td{7VU16W0JEI{Mb<_EifW`| zv)2FxAwZjs;$0&YpZNadDG8AdVvHcR2gA!!oD zU%e4e{Ec87_*(}{*5NlnvIHF4l+!r$xz0Te*qsXmusrpnCPe5L!Q%iYfBBZ51G*)G z#X4vO(?AGDoT0-Ijc7?G3KUs9%AzU3XhAeesZMmlWV?{Y2!N3?fozNsgh)fYP>Kf{ zu3{20Ez~3k@#7K1EQ!E@#Rw(=3qoX-72J6hkdq3Xx(Zai|wXNZBFgg$+(1H3(ZVnblp7TivQSjF#09B*`70F+>SeP7$ z@B}H;xedx*-ewqy_H1ntf{oi? z*43W?d~eRTa54~Yi{K=Z%oh& zKyj!S0PJB&3V8$O}K9h?;+o*abUwlHPjJIa zoBNDM{(~Xo+kTWFnizp5CNYZw*%(o2D1;+e=7YuRm;2>0WWH%Wi3mc5MDfEnkTVlmPZE@gn02v z=!_2skJlx6-ZOt0I|4&{!Y%R}2RYhp_iStf5h6(k)TotdY=QbV2SkV`x>adWdm?I^ z#?3VVkC578V+5^cJR)3~El6TMS|Z7HZA*O{01yBSf^Yx;dKn$*sw$YqKDG;#1A^Lv zV7tk7fp=$Non~i4yyG1f^Bkk=;Xe#;FZoQjzsPWbxB7EQl~nu zf@Q8^gh>TtlQ0R1P*qZwMTxL=S+{kt0)&?^g{?AVm*9kGH4B%p36?O0(J>40Gy>AF z5_Z%Ma`kq4woY>Afa_y-cz0iWM+o!R3F_c?ls5u`2QAc64WR`JrF9#XMu`5OrFe`- z2!423QDZ<)GI@bV44niD>2Qfpa(J8xrPv;M+~G#3?%UYBk%yL7d@>vC948^ z*Cl(jXM4EEUAnhyycZ_E2YkUtUfMx?$W>mxhdE^)7MYWXMX2Kec@nzYC9014&aUg&Iz-wS2 zj{wjLLpBMQKnRfHVw8djEEWv>NOEXM5H7|mGDc%9*9xRk94WYh&S45QHv*a92&>>S z7la5h_+vCkWCC$PPM8O)zzTVg2r1W7vA{)6m~|o%3rg53RTp)zLjDQ2H3FC5DwnWw zi2x0;P=&J4gp$xID5-^C*My1ig+ZAItS}4EAX1+232I0R?jTppq%3adc6%3DBY+5Y zXAky}cjS-`efCGp(ub`zEsLWc#CIR>F`N`ClZ|pdX_e7)AAW*sSTHS zTHb&gn#g&!g?Vmy8;H;isMZa*u$Z_I4GA$eu9qsoR9&w~OxtC9m??|2xO?E`J;5`T z!6y@~u_w_+INOF0#fUKL!zPG8aLeck=2mZhv~Ag^G}E{y)yQBh;b8W4ebr_-;^2+8 zxlZLL4gzOK3+58$SV3oyj_b&9j!+4Opa>B~0DzEygU|)_{y1d1kdOP=f&Z8i0V!kB zK#-kakTVt?CMXaLse&w+1~pfatAK-ufCzLjgBn>Vbbt_>AVffhL{X(xs#8=gNp+n7 zlQB60(4cj$(sfZ)g|y&=2fAfZwPag30<#bcVmAwF=445kkC?y-h#(hn<_`QIZ@)v8 zjb)YXCO=w94hO`QUI}V>HC%asmWY{`Y26S@trmLgGXiz_iH~M!dC8VJ ziW`NeX`3gQgZZP2CyI!9n2gz&k4ZMH_ znuPNi&e5CnWq;ieeXS{db*d)Ls5kb3oR*aJmUi+LveL*NovX z4v2+ME`fiBauYf?2#mmvijW3q&AY1DLn3g7` z*5HQ)+X>x345)?)s749wQXah^J+d;H#a8~A*E6OtdwVRP9P?5fV3MXU;cRY5nk7M~ z#-bg+5~m_Dry>ywp`a#4+YO0IPU_@9Y64(*h+mQV4U7m*fcg>#)=g@{PxmD_;INIh z84BO9wA1Ga-WRAXAxK@TG>DK_^p{8V2M*xS34m0o{Xi0=(jShHW9)bcj9>?LAPBw& z01hAsy(SPpL>qS3kp<0!44hV&xfmBUbppZZdNwri8 z3S>GN3r8gh3fd}5DG695RhrGK+C*b$`~3Q->V6ju$a;C2}bKc>*QGWE3f{-mC)?I_S+6z`M#vE4(~t;TuBes z{D<1$K{##c4)Czn@es{!{nqwC4{}WpjutiAfLVAw!mor7SObbW>Pq))mQsovgor$#5DJ3~ z3em&RuD}Z{9MSOtrm)xo6via+(>Z*-qAeQbnPt4Q(OnM-n=EHd_9=A z@flddqunvsg1MNzBwd$a3BeIeTd)Ph6tl~*95_6)EnrNVz0t}-5}>W7cg82-U=gI9 z#N3t&sJ+_UxY`QT+N_<@+ee!nF575p+jXPc`WIsC7}Ps4)Wls7#vK#@lH8Y!;tx61 zE>qR2BHgNt-8|ma+P&Qr;oZza-fo=_MxGBuzRh!8*TZAq-tyj1PM642-%gG^_#Hiw z+28T<-vJJ@10IW*nZpMj1NU;XK>Xkg-ryb$;S$~&BW>ChuHkatH?FPH9DdagDG1`q49zAm(G>ywG=H>~U0W#GM@*|ykwfD!C%aWrWT+QvRm$j%bVPSeHG{_N|G z5KxRj?UQ(eq&F-dKO%8JDL+n;%JSpn9dfQdjwJJnx8Cq44*wIzBGE^xy50#iZ%*5$ zt>FNEZtl*}2pXh8JY*9&5g;)>D&?-z7bNv~Kn8FyMHn=5J2XXd;A4d%2Vt*67}Qh1 zaZ_B~Dk5RLRE7|>0FId-S`{&3CQXnKL5gS*lBP_tSh1p& zh!U?@B_WL%p=m@(mMvMLWC;x=G)g0A#gYlrrOTX@Z2g?|X#^r%w{GD=niT1(+ev_I(8#wrkg|Td~rcH!oYZsBPUsB}S}mT)K7b#zlEouU(XR z_4@5QV((zWg^?OXeCy*!RjL|3HswO{WXT{bU&fpnM2i+ISaALZ-9j=MG7)FZ+O?}# zv9;pFkt2ssHa^&{ZQsV7TemoLz0slE?HU_40L6_LUmaYzxWEs?i9+-|dN}IPsZ&RZ zeT4RK>qd<0zCHVOQQOIzAD_PO^>FF~qZC#C`iOPy*V(p@pMLjF;He|>ZUo!biOx0Z zjw=ofK>}kV4F}JF5W+MFVdRW79!VoY3)6_mK?fz0=s^u5B&|dfNgII?GU6B^jx_K{ zBgHx9AdQhkGD$=ZhadtmBUx4IulC_5Pd)bxE3C54N^7mP z-Xhek!iYg>F1ZXnw9&i#ax_w6(2Ogw#TI)AvW6(5Of$tl~zte zb2!&vgB4ca&{$=LdZ@+q zWZ&CPlxN+0&lCButB*eY?lVx_W}p2pK-b3cL|k!pJx-7X`*IKuOYU_f!wDJTH$r>w zwSn%wog>>sfDJ90zOIgWOQ%)!I6a-L3#jI4(CPOt9RaqUz)z@N`)wf@9 zyH&SbgM*h>0DRp$w_sCwj*#+@ZFU4tk`+a9Q4;w^yTG0sK@?A>V|Kl27w^V$WT{&R z-T9PVyj|=x7o`(#@BQuP`B$ z8tH3!Mo=O{krAv%2@Q!$BqaDs3Q2=|6-!JblR+N&IQ>Zyp=C%yVwvRqlKP4n{*{_^ z5+*3;$C2cpQ0h`*l!6pQU;=E{0Gd?(1a+0PTtzGF7(t!x6psak#{34q2>o9efB8ip-tva*G=ZdA#MUYI!bMi5MMw zq=mW>aFKC+xlK4?XQ0^8ZgsbNj<;O*F5V%?cVBpq!W@A-3w4i>XJAnrAXJFtArd8Q z7(p5mNg72cf((U75hI`%hwYKZkci-<_)Jv3^QEsxc}RpL785`C$uAZtSszL47YqD7 zX(ju6rAqu~3jlISfCDVx0TccxsBAEB9uBkz1SR+t3R*CO&(zZf&4L!SNDYM7B+Lj$ z5JJAFaBE##;aysYn2)@0Q=F2ar)U@g8-fOhaMR%`c<4hQ3NcnhBnK3q=r>yFW{JdU z;@|`XMcYV`it-sxvbDW<@wrd>b%s8zsVyDAqxU`>-cof&c&@-_tNhM52(wtB@l@SqOquER;TtK~Q4=15A$KVU0k8P=zW! zo}P$8q-lu8Mo2W@6*I&8iIsD%g4yV;{>{u6a{U z*wl;IK2kO=aN%s0kql?j*3QtJEpDcnMK5|m&ujz{pY|l^a{8vka13WPO`I)3n}axn zA`3nhg$}zI`cR273yp2`B5=Rsxr%O-quhbqcT|_1b~!gc<;vFMYA3BRw)8s3QP2Yf z8W@D(;iejzibK}meEN`s2%$ZAQ zH@0QQ)73ew>>0;5+W0KyphVE-@y40WOr0{XbQI&*-EjyIh(LTnL4kS1BNCA>JP;xi z7=n--62S;O*Z~oaD9H2}(FPc_01bvMa1X-SKWWt=reU6#i; zrVGTac0z??%`UuK(D_B&5@UEqK2Rr%EM^Q-C&~?D(BP6wc2Nv zZCec7dhX@qT?Mvm2gXo@LOY`9MksdPbCf=(=l&5z&)qnValpqLLN~e_6T0Zj0lMef z`tx-fHwvFKXB61nDAWb7O!P7>x zx&?ONX(1{xh8Bz=Fm`YOeq%tIxo6@HmB<7f7!P+HrK0h4|B*zNjU*&Nf+drnHpytA z%fJx+NfWiWHc+IrZA^T^^+~aY>tzp$b1QHy?;u6)NwF2(lL8*}&Qm+!!L+ZmL-+gs z3L@MAaHR>H;QP>u!4W=>iYJ!g++_H}`%)K)7sfBuZ){yKu5ngCrpTJ9A;_0pS{IPq z6eeFS%Cqq*Sh1YSFNgU+ck@p!^Q!7M2eVapt^p*#0!*j^M8E??zy*w!j!Gj2q^+96 zxsUOX3?Y#dfdRi$GRaV?PLdeNFtD*180bs!au{&zrvZh{zDLyD305)GMr<;JA5t$ z#KSe(!v)ksJzT&D?6UVTr3%y#iOE3q1H=6CK=&)TsuICvBS8~vnG=kK6dWg{hz3uH zhNOVOs8|abq(QD2iyI_9AKZs_Xa}%BMOIXrAp8e3EJ8s!LJ(TQ9HXor!@eD}tZu@V zD5S+Hq(UnsKP-%lj@!bvc^fZeKSm^t9a@zhBEyt}4K%dBAX-Bcep)$8t1BZn;B2l)wNiL<@uvMD#nQ0>ei9z{fB!tBS-)q(q&l8MQ(TxBhy;+5<5e zM5a-+K^v(eFUprx-gspNL;u@1tQ29 zq``w+$b|ei;&aHkWJrko2Z_W7iloAe)EZsHNWUbZ@Z-gg49r3aMT8qkp()91u)<4G zNtWC~mo%-I1QD9t1)F4z*1{W|#0Q?NGGKut+W^Yg63U_MMyfPQ{wqUD(r`)!1jIai zz&(6T=;A2#FhKLjGC2&W2y4fyJcF(T&X{b7Q#b{%6hW~>L4UlkvqTfP@|nae3%znn zQ`AAaw9e~HG1-8PwHS_yBqs2yxNri=YdXxeEQ@=%hq71;G;sx2cubb`01rTk_|y!S zG?B`b#^#hiY9xniY&n<9M$v3TT~Q-$gu`BWk2PFPGH6Xdj7`{F%Gqqd+O(Dd9FN=_ zfq)vXs-!>|8PpieGbMwop5#+l5|<|HQi^UszG(AyYI zsVvYfGtJYC!vw{@1uekgK+`nEh6aVu31!nhlu+85$}z>3dt3$I1kn-^(c*-}5*14o zTtT;TPTO0cAvMUcP{kaB*Py$p_HGR{kbkk?O!#MTQIYrPqy+=IFQ{gm)5$#h+{8JTVPM+}@Vmgab zJsL!f%NWhUxpdS={R&By*Us#xN^Q)r< zQ;}U+X_d_flu+7?R&vZTYb9B1wNq1ih@S0PZza)>n8ee_#1ti0w_wq8MOS;kP7R97 z6kAB^Y$EGK3GKw2E5(h~P_5Lc$ziz3VANM0of?3hnja-tLtR?Vltpn^jrJrB(ejiF zxB$)Y4EAfXTRjbF%u&}!TVMUmE&Y{$B36;rP;4<-(B#sATF{r}sFn>=#)Vnel-UR6 z!_#TXo9!cGWyhWU7@zf7p#9dx7}{AVTK+*j+UF!ybZuItNmQt1REL~ex~y8-xLQHU z4Xy13uDwjJ%}h*X3$eAuh~w9{Fk4YI&$Qi&NF_qHEe5wG1Gv=;xux6B2sxPam{q`A zy4hQC=v%)9TqqJ;Fcn$TEZmX>N7-saUqMQgfZWCv-=R#?$R)t4i&>gw)7|-}^3_>+ zY6WOimH+Ku{^eYJ6j~?AThjf<4%5$JKsPERNw$>EJBiw-h1UuWi@>;6zuJcg3k=NE z&+#pW)HvV+R;{mP(Xf><9lNZw1fl5@MdU4uQ!S$5P_2jvD(Jn8bh6KQLM_Y0%pB#_ zQS?=h4b6|m4=n@XBo*WE)gi{ezA@t68C)e^ zVmif5{CncSh~MXO+|_vHDo#N2jnFG@z*$B>Cfd!g^4~B9W?7Jh)5zW{Q5irs%eQLI zCDhThMH+|P6O?$!*R^0K*5hl&=D+~t0|sUu(%v#WOsWCZL+%TzVPvIsWEzZ>+bssw zQWese%!)N7jFn|@Hp3wPPDAhA(w_`X+B#)aE(VksSp*Hx_3aB?9#%9pO@yXp*reZc z#O3i|XqE*i%|(e{?&kj$W@5hByd7OM4pe0x)Mj4VXKu)7*5DMY<36$GY<6i5-sZf` z=mTc0a2{KMRk*+~XBS52bk66$WnOn~1$bt%TAk-At!J#oXO30F0Oe<(3|W9SO@U5j zg3d;RR@r7<)9cV`XNA`K{c1P0P01a{1AOH_935V^=n=?hV2){IUcqEu<8m$3bUtZ* zkY-nW%j&FSZ25|p2JFC|z^Ve^jh4ni=1V55y^ZwOw>Zq6KF{<--gOQR$2|=L1LQT< zRh6SMtM%JoC1UR@V7g{eyRJ*TPH76J;|lic4HoR|c4<2;>|s9a z-WAnOT|&klULX}!$R<+B?p~n24a=Sd%pPIQHp5-*Y});7z$N8iWoHmB?b8l!p;Yaw zW^FP+2_rxTWN-pM_-`%KLuJSUXP95gO@K5XQt)eRwd85GM9)2$S4ht1 z{A+JC)&5TrUtoMCrcp%0&!+6}{gr*94ylIUtsX$(AZ}hc+$+;>+rVl99|1lXj$}xN z1s{$E9|2{Ea09Gxro3=C&G7J@XaekTwr*<>5Aiid6B0M^HqM3=FVz)?KBk3c7w2mj zcgPuc^lYwi8{d$R(Q)tQapR@F>ih8^ePOK_ay=>XNCs_NX~Q&K^4(oyCl?ebH*zWO zNh+`MV7+oIFNP>)4=&fxFDG^781rNpfi#a_KM;05NONTnc9ei{>d1l-$O1mlj$!wM zdVsC@TLQ`?qMw0>y*$6fOg zu=V7^S;6M>u1yZxs7A6kRdt_Hr+smTtoqoO{rAYgu9OfCNgn|I=C1$F4+49%)e3=s zWO=o}HEe3!@Kyf|417X~<41DD)h#m3G9?cETgQ!z_wu|i94VR=zE{(~5BxMQ{BRh5 z>Uey`e}c+={F}e+!9NCU-*zJKZzRmjp*p{Bgl{GEaEGiTDIS!MI4 z%~m>F&6+iA7&dI#veBbA^k}wgN|!QKI&>b?s6~q|tZGl6KC210DzyG*kRaHwV!;|L zTXt+gvuX`4H2V=9I)fe8enmUBqg`=$^WFt1He9%3f(H{03ivSM!(xL92H^OyW59gJ znllF%uH%m_l{wiH6d5vXPo4zzh|SN4aDIX~3#x2HGGofH0UnLmcDUEd4tF#RJKV7> zS)3&f7xeh?;>wpZZw{C-;bO>}cPtJWa>|afw#(|dYgeycf(IJhN>SqZi0Lm@>?ra2 z##V8J9&>5x}LH@;|6%>4#vG^ibm!VVH zKt8sF4KgDbV~i7ioaV%mdyJrrGaVU|#R#Ec!~S*Jpv#fciqkMU3lZAWnM<=H44#s6SX(Odp+8B zDW;i@l%Ib4_4m?$X9$QBfj#|%V1iFY)!>68L^u_N7V3jxqZ)45)>%LjL}FdM@;Vn? zDE_FTi!)C4kyta~EVIv%tBWww-aHxrkOcqX# z3of1E0@@L{#)U&JGRoO$r=ExbTHL**iF;gh-u64N{+*2pdR|12wcyKN0s6 z=|&D|dNIZscLdp|9eW(pf1{47lc_%qlj^GrN=Q{z6=IcPLLBC*>#n|r7?#cC086us z!|GbB&&LLBSDnuOg(F&kO*?d69aZ);)aGcWEx}d$doOh!0oEJ7&Q+Z+Z>ibaFV}ny zX0_D@9~>V_3h%n$J0ANvhz$RY>kwZ>dk zhdhgzb6sTFyfe?#3f&^pc4;0~(cvVG^jJz;+PSb%M?Lk`XuGcGz+7iNFxdRM-n!Yi zyB;uMYbOkzcmj!o5Zw`fB+=fElo4j0}07GHf7&VFzm?oui5phc6<7t|N7)V zwDE2*zH1xs6h*w^9WNrwyP)!#Hv;JWO?slD-rx#!Jq68Ud-mvF<1ivV$dQA5Y0267 zGKabqz0V`=BMAIzctiO?i+(dB$o+JcKXL5OBS$(;NdDKgKbgi(3+$iRY=^ZsMUjg8 z8e7%4_C$tNt$|*Q&eG@u7rbGxjG1ad3qFFK5#Z-<&f{RmLPe7~)xoya(-g1xk>;RHi~m9n7YX*oSr#LV^BE&Y%&1HIpizx%Yop)Z2*>`&k&bl~ z*&T0UJw0ZFkKf~mA7N%IK}xbLz$#=W7l}h{9+Fs%6jsw_xEvKtGA_BYWG#D?%}qY7 zlY`nI)k^tF*Gypw9hriQ${`Ssjhn#V_yKxf)t@xHgnOAid&ij76hid zf%VC3w7h6K;j_z)mJy8}ZNYv*%93IBN0=TfCJ0kHpjLe6CqZG0J;3KUTj8p5gDhmQ ze&(}8b~7yPdy$K5>cVmIrT(0PT$^KPW-ZHHhJW%bSQdJar4f+kTTTc9KM9BpXSfSC z{tC^$xQf*S`m1co7(qU})*G=(6p9Qy8^ACsS6gzlu6g??8b#_UlETEKar_TWR0=|! zv=k`VfT>I!vcj6S(1$p^SvEQ6!W%MDvOx8jP{~KsycqR|NCkjWFH@N!zEO!%l1?&` z@fj>hbUF8ul4`K3JH-59tXmV?M2isw&lHfKLD@qP+Il;=5_d2i>D}qdEaMKfPN(uY6VhklxH1&!h9gEY+UY5L+^=apLI$5LPj8||$%hK4ZqNS1+ zo~E5rA7*o$(@w_^{>dQgep9m=d3D4O-U>%D{NRTt*!Cl;bt^1`@B}~b;W!CaupfL2 zTyH6(4}B=GaA8?o;vUz5$z3jrQ_@_OzyP{=73p+8=GW*24!eV8>2|wox9?I@yx25v zPhCi@A#-!Rq8p2^-aD4~9vMjVZK@IDDL~}xVFy@x@NY*@&;c6bzga}<6l5EYHU&2* zRq}%|!fYI4G+{{{p;N(vfL0@@)*1L*Qk$W;VKdv44}4G(MMo^?fITq9hW5xxI2BSC z<2BJ^i1G70Xk+Rnb2~0QEIGp0l^)aV$3V6$BZ;hD^?LKu?IjT<8*9H4%aVdrarcQNY6SJ%gKj=5hTYloeP!n4X2N&7F-gB`r><2hUcn`Yu%vsZ= zU}Na{*Vw>#Rqyr15|?_oviNJ)PKCyNVK0 zW1m6?qr84Tp%sY=LPyg}PPNyZM>m)v4UvF7A z;XwYmnT^45fbI6<&z{m}z&ZkJpB&pMFPIluu4O^LoG>w;`N3+w%bWjP=bh@g&+`Lx zVoEQ&ttdK34M$SA zZl9#8aaBoJ(h|CqG#h6)fe*nCjUS+73_dvF_Q*j-53*p4=of=CdoTtvngm5G$tKH7 z>WoFX9r(c;KIY~>d@tPgz%?pxJxD4nlZPU{8S!32e=&7OVT&TEW77HA1=2uDYF;J3`vz5XZz zxugqizzdepMv`zK3XUKLilEt@;B24^xcCbQYKfF!LAQjT`0-BR6~p~Ge)G$Euz~fVn?{m zcQ{5y{v&J~&|X2-;X$U-LPFR?+2K4rCEz_I??|LGB4R}z z;zeSlMlvEt&WA^)0Z4kANWvdXl%z?bB;cszIl813!X&0W)=ZlINKT#NQQ%}wo{G2d zWKRlN{G6dql}~38Wg}tT8=_@WDkW1kC1ghCRQ91&`rs_Z9C2yoGb$oRb|yxCCE_Jv zN^D12hKenw*vH_9Nxqnj!IMdOP%)9C<;ms#eMij2q>vy)y{QOt^rdee$X^~sVAkWk zsh1iOAQ)a9(}kofx`32^MY6w*W5JqY771E5r_VfRbaqixfktl>R0sZM3BnP~YjoLJrIln7V=*K{ z4|rU_yxcEL!7p5<`O#8&nx{0Pr;aL2XpZGc=z=cj1boUTiqWTi@&{k-Cx6Zn<`Kwt zSmAcW9AK0OSHO_2AZUV`Oe_H=IPpc)joMC?UaNVY7a}L-tQwILXOK9ito;vvrPgOC zLqYMDFOn$UJsXy#sEU3Z5R%`D!Um0EW}s@OG(zK!>S&LOrbz&)kecNgq^WWl>1rY= zNh#?}Fe!FHsVr!!l!gP9ZiSTs36^Fla3Tkn_C=7P7nn}nWQ-}9QfRDY7IPA&SZHXQ z_9B(xm-Edj!1#d-+KFzIk{@_jXmpr|eMCWdSpFZhU`KeEfnft5C~Jj%hO!!%U<82^ zWPytoL-4g+M_|FWX5|pR=m?Z&p`NRu9x7N~s7UApkg@?A&;+E0L^dvuq?#n9eu@-Y zYJW}|ZEi<20tQ@c#ZcBH&p-#M0_TE0-72an>h%z3Q4URdVNmiT1wy^Z}hc6ov6Y&0Z@9 zdWjG|fgbqT2=IYmNQoX814NE%baaHdqU*V;YiG`CNVuymz^lCaC`r_726>EXPAWK- zRCP_^e)emVwj{s;kHDe>!J1Qrk`Ka?{%W6`YAezzghH(9Ni1G|-VJ%7)n+U@ppW3T z-eZ25lw28dB!dxvrxGQ@9z<^AibhpA!ydGTXc&Q#h|3e~-5zw6=Tenmi~zIkoe)le zw#Ek2>edtlL*1QKGK}uvoz;vsZA8j0)Ec7H7HTwdCDm>u#&!gdK4~i`>PL70@_K+T zd2LECFG+NaC9dXl@hhgLt)>QSI6NmUewwlgMwV_VgAV6ll9wJfjD$88nd&3JeW5*) zL*P2B_CjX{8l#lFMlb*j>Plv|W!t^*Z%}lu#(ji>UEk<>oaz2)7EHnF^6BdW>Xr!x z?G9=o;%>R>?(UxFdHyc&a&1Wd4DY5EuOx~@@+z-K7%xgV??^yzH@0PxDk<7#s$8yZ zI>v9A>Pq((!}m&*-8Ss_8X0mRXRnay_LfikzAxVDkMSw5QL~O349eG4f$R%AO@eqF+ zU;3qu9LEmpPtXv}4>tp!*(SNqAFGsc#W^>=GN7lEkib=$7<#-*F&=6uZ?1 zexH*hpPL;Qo3)v@?1BChRNItTAD($!3ub4zc1D{t0W)*p&0;|?{6c3Ss}N@M0tZZa z(s3`?@df9xy6$l=^f3}5@<;%(Ag8kle*`ccvV15q&#|xuIr4u%GAGI=2z^8)yW}Mk z(dJpKd2Mp3VgvXxtYAi#D2tv^=1eJ%h+z_RJ{kngjRY%WmMcS9OH|Y{3Wf;^$Lb<9 zy#P!H?&4J4AW4Huv672^6+^g4Us-Wr(h3I_U_tA0F?D7^(vmK9&S;v|6HgCDnz?8Y zZsr{)bq13&dTvKZ0%>>*vh#iv@^SzN1TPz@rBti4NpRyLUm_e?YW`tY|0z=p%R+d> zVJ4ee_?c=v^8WBo=555Hav_BTME5O4KXhXmal!S}EDGcsd30MNG+Z@hWrk7^Vr2sz zwfQNvW2Y-qd!|#PB~nlc6fC?GcpH>b&aW1S^u-zqIEB*_4@YP zUhpDxH5Q`w_3lC(`mGQ5 zi$Z%T-YOtrM$-AF??n5GCJpp$*G1rJtPDM;a7PDm`>9|fHga1H9bd#yc{usGPyo9A zl9%3timIIyIvWD{#L~rcF8Wb5x}(=>lB0#B!xM>l1he!3bt*9aI_^|1)V3caa~HRb zN+gAkfJLHvQs*(4i+Z8FJ7mbj&H)pCtjz^nfK`t$8X@n!2QHh(XNoh=r+l@Gp|?z^ z_c&H>Kj*qj%5d-id0+}=QTCe}{;-i7X!$JrzwIOE#qC84?kQJ`QgTj5%aupC=(9y1 zGBDpu?_HIDY|3}w%XU$7=QJ&my98UX)K+*@t2>u#aJ#>|(2MzF$a|;I`xw|ezH@-S zw*bFifWNmoz`J>r^#{R2m%*O_!bh@T;rV+fityZH#Ou_=+grsSM@5g<8Y2FB&NTat z>ouC9Wx>|4v{!q{6PKJZi`{uKLc2W8bJ53ngvegyEWxgX-{?es`tFAM&=0*iu0nW| zfupU2Ek%IkU%mxc0P<%3Nx+ARNB($M{aS`L*3bFY@3S$jo0Gn~ZQif>&OJfXJ=x#) z5tojxRa3GT6`3wM+=iE2;N`_KW+>PFWsp1>j98cHy|eMXK8Y+cJZtVS#%>8dl2mIg z`vFS}h7D$c9t;MSXzMKLffbDZ>KeoNkNBaoTfr|BqT-J;IeU5IbI0RH z{^Y|zy{HM;I_#gcLcl zV@Z<{&lsGz@=O|+FI}#ZIg@71nXPcPlC_iPu3f=`VZ$a)96EI5kR~O%R2)*KPoYMY zico6Rr3S5LjT$bTP@!6rh862nYtyl3(Hb;rbSzY)2FWtLcrjzyt0SbYUCY!U#A1H| z2NpaSaF8i`vP>!Fl`%Gh$&4))8rW+wgo=Yr@xzBt6F%5FbM`X@=#xDN|DM(pnQ&?& zdrpritq1n&V!>eVF=8y(uPGypOtBKIS8<@lktbKaoH=rz&!I<`&Xam|>N#7{bSbeS zU5(!jGGKu4!UcinJDS!VGGD6WWV z>#4BpYS6)`u!0b;2Z>?~EVM98kesPT7z-{8-|8^Kr#_4js`oUyu*34wZNIde)LodCH@N4hRxiHEz zBl+kf!@d^q%de#UR_gC104cpGrvVH6DHsIJVsJsFC=Asu6G>$8K?}125iJcl^iV_) zKU}rc5T(L1Ar(a=l_(csylciPs|;d~Cy?CHD}x69LsqiC3?f#_A`dbK8_RUtL&zr$ z+Jle3e%Vqm)Kb$8*>1V~E0`ci)NIQ(ksSafu&K{J(|$bSjR?4 zw(4aqTXKYJw-yQ+WU%?V7{o{;Qb;RV>lU(d!8InbEXn=L?O>d60;nGLU>CP{;o(Lql7n8*r`skHuCyFWwUxwMPo;4)v=Ch>gIV_%qPwK;384~(aqRBB@cBOqK zqv>xCDh8P%gDFxnABSX(*{cCNDElmKb7Bv-o7f|3xA(A{?(>aF-=JU2AHw^=phoBy z`r%I>x83-#1JZPB2Yi^q4sy{q1+r;y_d*=v{?!Uwl}8{P-~d4)7BTn`1U)NQ!ALG= zCk<{+MxiqydqyX)j>+U>t7xH3UZ}cD$)a_d;tI}cmqQA*j4P@ zs!rsc+j;6_H49$z^nwoCm2i52LH-S5vXG1{WI-8IlN*nNQ>a4Iu@H4G>?907DZ|y(@Ic|fp$<`579MuRD?vPERDcM}ogJ}=pJ@PPKx-l(8fL1X;n-zJ6B^ds^{_EWd+0&4qS4tw<#rZT6-LpaR$2i~ za}x^7M}gvOt z3UWZ47Z@r!BZp23Lh^%_n#_}5aKfoeJGf`%Vk}2hS#F)r7V3NrfZ8?Si%UldfN5wORt95#0GM) z4Qwo&Z~|G0C1kRez3dq>+XD1hu(O{%XK2qkT7g8;v?!#fYFXRbs9rL*Ri$kxv3lD~ zmGY~5?JezotJ~npa=4|MB5_|Cqg%?=mLh7d&g24JU>-#*(9?=_5yG_Z4u+Y>T(Ndf z8q++E7jVrfZ+YY76N43Mvz^^feLy1L^U$}mo=sgZPZpW1Q~KoP8A$#mPq2iI?~9 zU5w&EMm577PGkTCfCLE$T9WO1&J^rG1~Lc&5hQsrCF~&AQicJQC5OqB90Vp3$udol zeg0KTY1MUKY4e*^*0LBmXu_=exr3{sJlP#Dtr{_6&-4PTgUq#^8WQ)1&C1uc_}Pdh zZDzU)qds_tPkmOaQM$7yM!`&J#oh8nzo+?cfVZh`1mA_hcY*L8AcO@v@PQ2)9^a%^ z+~Pt$j}9`<*$cqjks-H$3V7gf50pIRxjq8R9r9~?8cOB}skvKml=<+&N@8cxX5br$vIPQAl+2DV+Hc=fd~PoxN*FzYsPY2=V!;J@faF4(_*{_-dA z7wq>%FMPuOI{2gxLJ)!#bRqx9&miuO{RGY@{$egn;06q0vd&-!4&n$xVg`ty0!7UO zj-Uc7a0Vvu2t4ozK4=B}t^!Am14y6-Y(NGU!UBk(23*ht6oLd0f(Y!(AXK0{EGX58 zKn60916$w-a^M3m<_KJ{21sBbPEf!GtRw6sg(L;5pm67OLKX}pC{QoMo^2^2Oe%a1 zX|Pa-erI<&EV<$g_k0JJe6ORlPWXO?>v#z%=EAR3tflrqGoCNfu4ek0WeA+WTthfWit!zzTQ+DAcbPs%1>3V1Jzc;1OQ~6S2e! zoM3-`!ypE37cx;4127kcUT;szLS1RRhSM?eBw zUg81ZvtmV#IlBCJwL5>j(=sPDA{jN$rZkFh-yc{{k6a zLpT5f&p)O0Vn<+kq>(zD2p;DdqEEl zq6d7!35H+*b0I37AUZk?00D3ptN<#z5*7~*00aUee82}Rh@OP;2n2!$RV@cJz=Bku z8dU%UXJ7<;&;vt42b@s{)bczUPMkC#2Yes_a=-)tAOS|e|J2&9n+6H^~eKpSE3sU8KjsH&d=(vwnWAQ=qyvQP^ds+As+A|q<`hOR2= zEa`a9t>_Gi^y-#EY=nw0imuJsEP}W|QoF#;uuM`|yaX^5&Re(zI-Ro*<49|6GAH|O zDSt9ef^sPLU@6(}JC)KWoAN26^8d&W7V8c=I;|?7gZ>ru;0dB2Iu>Fq$)GIHaz1td z8iUXSR^SIJ&W5@gl@21?bd)yl zLN{|o+k^*ceA6OD3?s3Q!X`=_inCOXldzOz5sgXS&`vgnqzUS%der8mkR>C6AqWh@ zCxK#aw382h(h?5>6wBm0$@BdZNGaR1JPiUWcVRtsp$^oO({ync+A}(y(>?Q!A@BnT zfZ)GiUW3>lF)dFn52KLSdRA2>qb_R;}2!sF$kN|Cg^#PJoGp>}g-bWdEJ^!Lh@BU>e1n{JBOwV8qe3&5yK zj3IMdBR1A(e)cF^0K;9m<#Vg2`$D%{4q}a_Nsa)iUi?icm!vr4XpN!(Iig^X>Yykc zO*njlWJxwCkFrgu={n)GQ)of^mmOb4Iw%RYNkO44KPZ zL1dSH(>orQy1bBP-0%#4$mm+d z9|bId8RtctwSl2u);O>$yS%DPx3F-!r7HEhYsC@=bC>El5)8M~aU<805L0e$5 zpx93=$buH4vvQEMu$YW1XY$I@2ULL6jEo?POq|eZogyFt9*N2BqvD#1R6P#Kg6+zl z5O4oufxGO13Gxc-*oja{+OqI=D5^&bx9L_7B6)8j)560@m^Tku#KcX`AQ_~f2rZ1S zawR$5YPgbf7?br`hy7-}K-s29830Tfm9N;9K_H4_d6vbgmXZ0ElPZ^oESBpFYlC^1 zC7_s(**{B*@S1A#;sdtYn3_>@nu+aMtr;ljnA-R_RJi%syqRUd+33h^oX4=7X;12= ztB_@7oz<|N{!8qgD{{Kz8ItL_o+Wvokvcp3IkD`HKnR372B$a{A|&jjazY>k3|e94 zivuizme&!fZdum^uLV2^p@Uhd!Z@AQX{ZE(jG>J2Bu9a*3S?qPq-{bqbIXMN_K#Ou ztm+~*1zEXxW;YYpkd0?T5Lrq0?5@(;A#*xhlZL1R&8R8+Hj?_X)#MU|nBbgx7NGiG zq#6LI8nvt%t6f>EBf6^>`m5VItUCwFMxv}?S@9~`0@B)|*?M6Z#*8~Ud6aOfLb{}- zStjf{t4=zvwRx|zuCK%DuLGG#e`m0v`>@M!mm(ywi{k1SyO5dgvE4a_fhEzh#y4D2 z-R?*J&`R;VCrzJ|Yx^*)h7rfv_k^OM#4~Hxxl#^ z09=sOsMt@Es$w`I^9oOk&w9ddTb(38JjPfgcpJbnND0p%36=o#(jW?yAPI(>Qb?92 zT44!H96LZf3Zj*7^}0cv0dsY0DQY|m9?}o8fEf~G1pEM@fRt1S*RPJNW(xaTndq>` z)tOD@!=SveK?V1M3A}@)>eVRbu)*F-C+r9ajrs5m_I!zA-sSb8v z;PTr#I*nhTAjX+(ksBl&vLFa=YHri>b`_8Sjzwv|PaV}2lDVPc7+gK#W!)a^0j)M92yA^R zG+u{#{lXq(*w3PnBRJSgxXqe;y-FTj-5EqUav}1}*=c0?0wdbRG%#o$=l;L1Myy>h z^3@8sWDgARUg3}Y^tt{_aX5;D{SxT?;&18ak6;b(IRcXlzIb)O3dkK!fcJ26 z0eGXp{Vuc!)p&E%J=MOp;VeiQmvM6Za~W-xQDDFrJx~o$3$`b42X=r6dYJ<>fPNMH ztTRCH%Y$dJw*eS{ejC*8J+S3I@Cc5OSk3;oN1)(2eI}3qcukyA*1!ldUnc4xctwc` zMt}*Dz~NDkDEy%H{h%4dAsk%a4{qG`H(nf$VFz6Q#wA`HES?;mVfL58^>^U*aeoS4 zJ?IX1azkF7M;@|W_$-o~BFW<0Twcm`If&0b3ZW^M^XN3<2&*H7f{jN0Ah-fJ-hY{95KSmE?rKn>@lck zmmVWltn9ENE2GAZNtTSzn9JjkB{c>BFp;AM!j&vrjvyk#gUp#UkMuZlBnJ_hGI0JN zvckiPBO{I=X)$ID4J1g4EIC7lOi~yyT3DUY>n|J06iH&6yoYR#{FmBuSDe zO4eBZ40_E7&!6ig8IfdFtJP6PM5!Zd*REi}uwfI2`+wej=4aIWG;2ov5ON<$ku~Gxg=Ckk6nJLOPCw2nbDFPSyYD=IhZs+ z4kkS2(pEI>>46VE$fUzg9`tm?4>|<3!VDwKU{(H7OEt9vR8oyWl~q>#@B>YLlBL23 zW0_SJTwkd`#9DTNwF3_pSdfEQIoRNVUPK%*15Pji0feI?(2(E_Ignt&Vt5V5{~Z?~d<@$s@x=3qv*3aa z>gTY<2Vz`de;1N*qDv=oC}R+NoQyKd9{w@{%p+v6#}hKrIKmWrjF3w(I#yKCjV{U< zBtk$U3A7czI08LHXb2%#YAFaHcz~%;IvgPs5VIOuRSSyFkQ5naI0dPsQ^AnbrJ2s;CkGsK`YEUv zWboAvrC!jfTQ=B`!sV~BYC{AO$nX^qM_ih#QoBZV!wnfLNUUR%Rc4tHK`_Nsw9c+_ zZL`i&yIL#3XEe(!P}+8!Kz}^{M>y(+W3D*K$m>VC(!qDHe8*J$jJ(NhcQ0=Gg4b`s z0S~PHdJ#X2Fn|{yJaNYedu$;6`GGfkg5W&}Kmb~dKN0iaaUS%q5nzZ!COetYROYf2 zoy-`<$PmnA_6rr=%x4Jk5eI!i{u>I?#%M(&8f~7|i(l+vX-tArF0O<^D@l!NRog|F zb}^=0$Yx7t;+mSirjgT#txaV+TiVtJfVMT}ZHtltqv+NGyWuTUE7+R{2G@ck=pb-| zLjn!RK!aVK0SS?c%HkT=0!+yuCVldO>`06AorbPde0FmpIfj zf_-g|9Nml0_v8~kXUvBg%(xD|&c`otwGTb)+hqdZCm-Cz4`TDHSpE6~Kl~BMnEN}9 zBL5e_XbuoU2r(dT5O_-d1(M8V+;q%`8u-oOP;d`U_{A@rfRGp&gEr?}Niblx2MRVp zXh8}gLe@zegA|FJ=5)dyibRoKSiuNe+Cvk3v5PtwfuK|y=$3X61zqT(30Bw=Ma)Lf zIzTiRKr|i`Rw9d5L}3Seh{CVb#uBk`Kn6P?N)Db#10ftC2!u<@7|b|^EGkO}MS#H! zWZD!R)RYE8Ktd3ba0WGu00|w@K@y@u6{;+5rbQ@1P>2wOH4;HAain7pv?><1z(fXK zxqu8_MHd@100lg-!5V`A6u<~Z2sBuV5CX%i{xQ-eOGwQskdT=qAi)Tf42==|Y8lb2 zqi#xPD#uI>(g&rUyv&_*AEoX+C%+hi<@nMD*dccfwkRu#VIL2tV z<5_0ROnSMwEWv!aKK2A`nEJaIdLp*40U?Bd%8ZcxmPw&!iX)oLg-|nvxgQAqHo6Ma zCO5m;m~eK8fit_;6e?H@W2AEmdiaqsghMoAcy|i*{87%*`HLT|7oY0AR}`SMizs-v z4!!Wj6ruoNgvtiM1lC1D2^>*b=mNk@XfQ{=CQ_Ejq7DGQR}E@_(v`?SavUH6u2g5K z85F@UHofVjS^$Hps+dtCR`C&RiUcJf;S4lB%@UTNgd;#Ts*6jpRcG?K&&i;x7tlbE z-73c;YyNu@K!YMEK?z03>+JU0k{hSNGB>_4Vt;2DB#Zzw zrx}4qiq~K!SOK!TkSutzfafgK(iwTi^B+RnXUwA45AyLto|!SrJ|CygS@72>_mx20 z=C)wGWu|Y>1KgEFXt>TTF2|6WKiw+QfX$WW$Dm8x=@K_$3%stYUk&RI)suwnb*~AB zR_l5;ZP&b}p|5{Uwd4VD*dZ<6Y9uQc7tLIq7oGvM`qg8mW-ruTHemkXwPK3kU6}C=$#rL9@LtgDub?#4^U-NMt)XSxjGA z{(i-kG{1~cOZD|K(gxEl!7tt0hgTPWy~SSuliAF9>oz{6KJLR%E!}JaljG<>NULLw z@|2%!*0-)Tt#O@eAn|(Uy#Th&gFOpkchuOeKz7DFuvH%frP)x7x3s%G?QcW7#PHrW zw~-zhrBfx`IYn{c%FO|EYyAT3?z#os4MljzTjTUz$-VEr@6V*Y-x~S1C#OpvPa7OJ zelSk^7M@M_^z!2($B)G2Q}IxHT0R#KrZ@(a+>C9kS0X9pT=WDqj@Z6`&M z{!tB_Rj|(C;B(k4=HB|M7{Gv4ft_w*hxVvxSN1idIqjCAzO&fA5h!H{x`XFCbmuN< zR5~2|^4l22EzS3dFOy*bED&_v@67%|lkvsxXJ>;MAse2QANF7m_!ERd$P%4MOh))INQizsC@>o*cn0Ee29kIhgNjioh4S-v zAh&HzMA@ijn!GMb!vV|MsBDx5SnFofwAciSNhGuw%R6}6~CL3uehisT2Zuo|A zD2K*Ihjyrq7$_-v*gt$2f`2H8<0yQDXaR?ah!>!UR+nuO2#NG|b~K1)m8dP4h##8B ziJ%C6pQw-NH;VWXcm*?rq-b1?Cn2o}eY6OR9V3gOh=0*li@)fF66F3OSzrt#1tP!5 ze?MXcO)ySPkU_39e^lL}dja(QZxcRvtWa<&*wB_lH%Vo)KOA$nONofjm6=^^6fPMntz74!>9 zBazsE40Ts`#efYe0yN;23qV6Pdyq7;p$kdljQbe{ULy;+fM5?M3kVhkY+xDEm@!r% zhX{e0#WR&U$&K+=Vl?KBZb>)e=7&USnx?swDfo3w$%l^Uh-6ng@i?1S$#%(ugF5Ij zyV;4o$#8q;cL_r=Xj!Avm7AQlX=2%yil9XgI5ntUP3d{0TDkEmCBg`)OmdYjau(y2@^>WMx|oD4UMHhP?9X`?%uoIQ#j z8h1@XDuv6bs`+Mwb@DNYX1G@lOJ>Uen5GKh3CuHN2ZSoOggDp$)5l!$Btw0%!TBx#+ zAabL696)-D3Zd0lhfe2+Xhb(tW))LLsaEIyY?zvOKcXWcd6>}3PBAmB&iWy?fep#PBE9&n8A67`@C#~c1x|3T>8cRz zIt%a$uP^B)V^c&3Aq)5#Qu~^q{t5s93y1?tu>5*HQ z#I>`{)w2Llq!e>M26m9^nm{_alslPiw+k5p9QQ|QDf^qc*}0RJTMRR+6Z3wf`)Ld; zF%R5Jy1HB)*SbT>iVas?vzv0#%1tnnc{?*s<&;lNa4-2Z0wp{nd(Z>&v@#?T4E{u( zdoTpPZYKTkEKzs0Z|e)Qaqe36oxGv)e20|!$X`A43+~((0~dOzPo_81Y5c1 zo4ypz`&`w2%Nya zxxmI*oTMw99AnmC&9Mbm4(c!B9okfoVoH- zi;R4`*CmnIRcm1w{($X8Bb?h}(75Y&wl? zI@JV&Euqcpd#N{l(@U9%B5El=eFj%3Z=+Uk{>#n)?9L6D$PRhhaM#qYTC2IKoBX`0 z?ZL)Ds?}Tm4Qejhl?XGF23=2LebCs&5@yZNXnl+y;?~K?YjGWVk4e{cUB$)I*9xW! zfIZTJ{h)AI*eE?Ils(2+x7aW3*o_U@Zll?hZP}KM+3Kj-kL!Bd=Gj3#+ww?>qutI& zZQ2`*+tJCnt9@H2o0|tbc=*iJv%RZY&1tFjvr~96yA9U4mZY~PtSd*{ny1_`2YS1v z+-Hc<8SUKGJw({puL%+r86nrgjG5G?bT~yf2tgApZnzxK(iUKjt5SA5&6-R{H&S%o zWgL8b!rq(>)Fw*Q^lj90Je&#ctKYXPE@muufh9-S5wcLn@|pUaz5evs+| z+eglvkxg<7ndODIY0d}i)$3`#+&5L5yga_wIJXIs6mTrQ%+9YTorl~!6MbHMWU=U27vIqbqI}4RhF&*_ z&Y>`#=rpmE`P<%jUVA1A;=e=bY+~s~{-RNi-#y6Rn@&s(EYC~s+Hx0vR=yGiUjEw= zS&9jgO#H#%uRe^*3M9WUPap&&HgfB`7;`IO4BMIJztA(m4tifJU^nLkdL5-a!;HCb z(bjG}1WM8j80`Qs?b=f99**6)m+fQB?MQh6-!9D@5bk9+?nt51Ot-~4p6=_;?yBkT z+6M2mC+`JI??hhT_^#>tp1DfR-=YZcq5jkZf8^ng@CpC*4F8Z0AK9-yYfhTN^@Q;# zxzJ~ABmJe^!Y=GNgn%yuuUsw_BXxZr%?6W!g&CQ(3d5&f2xB zSTS)~#gXIM)$7-lxQW-!Q+B~PXtxyKVddn!-%r8!u_UZF+z`aHsll_|e|?NMlCPv{X- zdISsoYs!crw|Dj0WyN%zs=m<>UglQceBcecW#imJ= zBulEdN-`u#LL+RR9t?RDs;r|rd)m|}(*FIFF!f)k*x$bezW{*AAp#3*=pc~p3yC8b z6zpiDjK)xqrIt`4=|T)Mtk46JY9hm^R(b*oD4PN-N+}eZa__yUW(n=8v-Xm4M#bQI zDqu(#%8{)duWf4t z9Y^rdTOfrbhe*Drt+qxbm)z0HCl8CVuqn~0lAJ3U%5uwvHtRvNeZ`cl%rf@{*a;^9 zP6*Fl^ypz1JMq*rmp-dHc$bN%(j`!+S}F9=rv4J`*gB6RZ3T%Dm_j0o5s;{3saA&S z>1ChJu*oL-c17tW{Z>^KK%!tRa3aTM*65&*I9iawSwk91!TL;{$ycbO?sY?qa5}13 zn@A)h-DQ<(mcB|# zQH@#m*kd+~z;ua{Td5uqo9?{F z%0GX+$WI)7`(vIJ?kA6Ra?V8AePOD67L%a?zY9)Zr=3Q3w;HlY|{G zAv(5W)OmDgJ18u{2(=?w5|V%fBdh^LLm`!^T5yu$U4S4e3FCe$l04-R2zYCB9`?K_ zl7cMcAO*1xsoWS6?QsukdHj`2H~^E2eD4fcV`K2Dm#h(-k7Z4H&-#J`Be%T|NoXMp z{pRNu9x-WJbt4!3@TM04PVy}N1>Dh-5{Q@wg5@AdIv_d{a*&|mYXttX%@p(ina4@S z7*n842z!B=DMUduzPR9RMxeqd6tjfHEanuf5S%(h;h7Puik?g}l{zp%n^Aa*6|}ho zaPF=S;9P2hJqygm*&eqN%|6NBxX3C1uPR&tREGH5L+h9x2ru z;phQ50)UPpv136+!bd%32%@^eSs-yjNH!`Bk&65pR2<2^7)f$3@k^T}*M`ZnpcE~f z?4KtW2g?4@Xf33)pD9Q1q*Q)omEvGb-~{tZb&a5L9mM4^dqGq&jRvVoHL5SmL?#sm z2dccGrf{ZmRjh*TJl>^sxD+l1(5V81Tvw zy#_TQeQgL}J>a2?-Y2n!Eyx}dTUd(X6Oiu}mSYR4(a0`qvQMdOFCa-$%$8QObF<%# z9O7Wm7HPDZEdH(8P>V>_8iuv?%Bd;=5K_e@DQLW%OmHXHOW>v$xW;AiF0QIv7%w+e ziUiS&y~dR3!nLnx)o(txOGbR6v3VqskME3iEP>99rUZ&3Lm0pSn1tl6Gea`XoQ7Wt z)%QY)wU74hIY$nGK+5KwS%SWsNO>}sz*NB#BojOr1nY0Xmu&F;g0$Jt;zez5CRZo5 za^?&Vrj;7LDFk0D=Qtj2c3wd&sTQKFUx!THu#n4K&OxP~t_sa?m^O%8W=2)Y- z#$H`>{#7h%+BXMqq;sYpXQ!3YJd5^PeD0s0FHGA&E6%3k7Br%v-4#WX0brCdacRs{ znMfa1xJ(7uq*+{POT&k&N%378GM$tY^}8o$9-bffLu!+pIU$=~b~GMf;j;=_=ZY0!PeEJ ztO1-a`}a-)E^vYmFN_E;h{8v(1f(d1)ena_@FcE0id!7xWY+l1I4*3Dg8<}j6uD6T zNZtZmwczB*PI*V0jVG6%`^_=Wwg6`i7i)Lx<|^H`NO%6yo+}A(gEq9_6rwoTemIik zFgk-#JyoZRCK#6+4dr~B!VvxfWxJVb??<2qtNTfvdN4vRxc-zMI)y1Hi#xwx#)c*A zfb5HGzD|&U1cCP?Au#hx0&ZY}^?p$$S@t8&1d@=pE2$u$TEohmUo5)!9oDo3=tOol z<_7^qCjxbW3v%^wU^A$P0=%IZBL$JT#&edHb2bB$mY0h*8M!=at0c6^ytuHN%A1k= z`L><`oOT(Eg+QgQP@JB!yp`&of3gYKQ##qBJve!d+xx9DX&8A6F5d&b;A8%iJJE$Y z(1qh;5vFK@CaAt5dznd@K1@rB=gPh`*uIzPz7a@(@M{V3b1UsaKZ8&|4*(S+Y`FM4 zGP_H*`jdeByEO>W2>n|H{`0^4zz{AIKs+Kqp)kPvKtN4n3iV;R2D~f?JS_=aFbXs+ z3w#Uw$v_#|K%NpkO(H!6Iz4w8K?o|rJ1YxvNkKALh^C7SfZ+qEYpPrr0%H&%ArOKQ z_yy584J&}bgfWfNz>}+s0*W!J6B-?8nkH&uli-kwT!;c*x+US&?1r%g0obS zq^N^Y)Rdk;f=fA>w{*gx;6`s;FLdmI5deZ9I06qig2PP5{vTL@75D)nxW^tif`O37 z1E_%!yn znl%hgI1J8@9KgjJIX{xeo;iq%;>Trk&H{_P>8z1&`4PDpM9refbF;||{5-h`r9zx3 zoirdwBsB3XH_|gfylIFKOT>n#J*8vMUrG(kk!WRAnl1ET>{Ze0wn%b2qqmLCv^xYeWfX_(ksnUM=4TF0n?Zf z)A=9+j2s^`EhIG+&NsT(U~5yud($jT9ytxt1YAJK!-fa!PC--%6QsH71k^y}PXAHZ zxiC}=L{vaCtwwBA)bpuw6I4lsAfa5e+snk@qPG`v0{a{dg6Rw!#6A2}h~UTtBf!B^ z6^>rr1zFG&AsWVnFruAMP$e{i={Sn#Itn&Og59yug=2~$oK>Oq)&|YSG*E*PP=gND z#(9iFAv-H!vT z-X+LO>?N7E^-BN<0Pr&byM4`tSb;B6OcOnV#(c~pFwr0&g0dBg7C3?&7y>QoOxjUP zAsqrt$rNo(2r9i>g|LAYSOfF0A_HE98KGh@|79iC{-H8n?ncJI0WZiRf-Ph#`NyMAL zkeAv;x_I-Y(cz4=CveiDr68vzU>)l{ zin-<6aYAEjeZQ9}<2fcLsKrK@;l_tN2zva+@FM~s2xJ)u2^lDYA^-w-R0)xQfizwb za55B}IFGkm0#{RmdL$5m0D&VgWF=4nCV-e|>O~img(&#PPiBsPwAN5TvIjY@bQuuw68N~oL<@s zZMbyq>2-FyIQ%>EI~rKliMlf+jml?%faQBbu0heNfZjF4qn-i+5uK=KotR}dV(5py z<%HnsHN7wV3JDD9l>RH~lvF^?Z8?KoJ&iWEjusbe+vvB3pFc~sILlZkiI++m3iK=x zktNFX99jOEo@wK%=@z?boGxdb##Ntw?4K4xaBP8hmM_3tsChkHUGqDUpg)ChE2gG2 zr&g}0M(U}ykE)L4w3UUV(CRe;>k{_r5rFMDoG&p`ybCdF7eH&rTkBqkyo0UlxLzCc zr0cpql4usPyk4zB6G3+AYoYk-fGX@Je(4ZG?5b*rs#p%F(1mb@>c!6K+HqIN_G#tZ zTFd4&iKfW-0H7WGM@uydcKwA#N9*bS(&4-Pk?4C>?QitHBaa zvB8ci(n)cf&Nm>0aq*sU8uuOaEug`w?BR?<6!tDef^VCs^Q!9SApd85`%Tlfk5ov7 zkT5kRNpNRDkyAK@gtp}X_w*+(@R>NXv&PNiQb}UQ=p24ev5@AQTK^mPw)DK~IZ-)&R(XH>uFXVdaLZFN`Q zB>RbVhM4tgk@e8KSe^trlm^)`_jR13)Y`i4+?}_=mTwkI_7`9FE|g~}@Dp$l(KZ3~T^+HVg8EJZIe)@vn>pS!7srOLTV{;N8c8E_g1|)gxmU!;wdSzdB zj0gLEn^R*Eduk_Zvj=&<==@1bF3s(Btorsf-KQSguhdo~b;o;}kMiI=h{%OysThV~ z$O?SG2eRq;!KW-e#M8q!ZV96{W`1zU7Z(pB_+5Y94QrPGsd~-d(}q_u83cWVDfZC^ z@~1X^8AE*rRedI8{Sk5f*Y7nyGU(B${j9oufS4t4Ai;vITCG||hKvgrEn0YpD3Jq) z3l=X%1fX%F#t|bDf(!}L6iHJHPohk@P>h&{E?sDR`Ep@Gfy4fWi4%tpU$}6)cFB@; z@L*7ZKYR7UhAk(#rcR$ijVg62RdP(LTFt3-E7z`GJ$e;~bu8Ja9?OQk8kHkQk6^`; zLnn7G-MV!>+RZzcEr6|VM`(QdmnG7|hI@H5oVf7cpN=0xjx2fdE{{KTVb=9HDCf?e zKX)D~dNgU#A=98vt$H=<)~L_GjxAd@-?k$j;%*TlMDE_YLx2Dgks?Ko4-*=mTyS8} z(yfXvpVfS5$c4Fs53hJ}J4K7N0eGY-vLyNP=2x<8Df1=EQ>SXqDppKsPPzN`^+Y800Gdf}B9gl;v}ky|1* zmD6Bi9Cp}ZNUeyNTa>{VV`P@?l9^_XftI6=&ha?fX|4eoIx$TCX z2gGq;Tnoq*rd)LUjRxIvSXM{Ib;3QV-F6mrcfohzks;D5=CN5GdMvHSo*3@ICm(&{ z*oR*@`Uy2uXZ`^gj(`#p>Xd<4DVS)23_2(nh=optV1;a5I6{3H+O=U`9cD^Sgye|m z5s6uyn4+mJR{9f-GR`;xtB%>IqpY0q7g~?E{>Yj~LIPQ&uV}s_#mW(4l0$R2)>1IgH(O`)S;D@C@_JFIxLQb7d9nV#+afL z6{Z`@B_c;3{&lHbrJkx{rLI=S@~e-n%4)2$%35o*xAK_lYP<5<+OI_h>k+ZU8Y__p z8YxSLzexS`tU$I-OKr{|U7M{#zXjK=w--bd?#1M$cW!y`uG_8{@1`p+y~WszufDtR z%bCA{7Ci8PbwhPlPeDZ9ut zWHG>td@$nTT1sM!`xsO(burtl%x|8$5MeNvxn8vDWsdP2 z%s^K`(T%QjpgA4zQm4AsfiMlP1KN@PLc7{s%~-etf$n%$4BttogQOAO8ImWSgd7if z$%9i0fdhi(IZqme}wlFHzwSn}@(U24^=$ zbPxCBB`>EHP~q>69?7EvJ7+;Zf)0?G5hTqBSx8KR1d*;$b(h7+tQNl@=pyZS03ME5aLP{W>GJ&ZK!78`M3RlJgmIRUI z_p)Kjo!~Nxx-=gzd;a0e=k&)h!5k(_16NG>9W#Je5m3pdxj-`x&Ts+?3pK&%#tdcC zDSF}N$i68%h&d&JEQt(@MxZ$fLUn@YR29qEIl8#LQ)lvY9X;y_y%So^H zgDxqOlANAQa$`i5plKmesv|0Kr%D%~?Ul2@1ui(M6#1-emf3iUEf<$dr63j?J&{ko zev-bFW-*#A9T>%=`BKSRR+t5gro9|hu?0Z|dOv-mHsuI_jSbE=C%ce{mI|4sK2@ra zslyazR0nkK!U`A4g-3M3ggRJtR#8|&9Z-6ZBrE}ETHR`Dy6RN`3XOJQ?F~(cOV)sz z6(lMdRtR1I{)88}^$0~kg6-IPk|ZeM2n&fT8RkmYl?CSrN4RTVGrHHl%JQ$p2y90Q zTT8==G_guqY%v;Z#b53svS*yE-70%ouS5m35f&h4DFl^g@-(#24WQ#lD^!kgb8&xB zEjlXIS}{a5W>I(%tVUpksMcWwQHXIAY*dF_1ebIp_)LtG(7`$s7gwue?mV6QD~}|g z1__|lg~l+3VX1@$N}xeX(vSo;pp+o+Tu6C`1_UCoK&>s9fewzqBuTR53`0l)4M>6# zaK3kCA`roDXb^-Xl)^oF zuq4`TcJoQ#9OnzoS(Q6LLZ0JgUq1I4iiZmHJ_b!`L(d1%B~>(n6%4;e>on4dnzR|k zNa>k!Wtj=z^i2=G;H-SQw4(0RHch?S`h`r@-eh%5T^qrcJ?6%c(d~^KBl3{H7)H3( zMGtZ<3t7*&Gf|j%%yThwn@52&H1{#BMj-5i(0nLtp!v)Z(h8#20Z2$7dJ<5RgyH@! z0SU1|f_#sV1lS~@>PLVL)#WR7tdF4TW*~zZmN0@Em_Q>*u0ahdH3Rw1;303X`bo?l z^^?#*zDb}K(o?Ypt-nC6k<85zf-r-@S3L(uXh`1az7Vsc{oIn5aS~dY(Ihxw7km|L zp9kv{TlS+LAe{?8_%Zr|7n*$f7I3~!3LRi-QQpD?xWNRTsG2IAnS{G+z#pCy=)I-1 z7azeJIZ|<=9u+XjAF-)VG#MK8apWT?Ic0LO2N_wx2_rB<9e7;_-CBV&Nm%pKosbLO zjvyCH=z;i?kOUzBw>drs9&&du6dJD>2?%+A5|(a+HMqvpc|;Tx!5XZ=c>W;)5(t6R zDPRI3K@q5d8Wh11B;W#`0TSpy*a^YanZX2BAQF(>5u9Dx0l)#6Kn|=71u9+(zyJ_b z-2yIz2wEN9VIUHK#Q3>i6f^;BD8UE>!36#Ww><<90D)Q+o_vL!3$)-1f*=`)VB}3+ zoK-;`Sl%q~RxWH_M|GZm?L_E}o?MjP>19^=tX^WZUJOy&EWlpC5E|_{i0vf^?q!-Y zEzE=U9uxr|hkaP6xkd49#POLLIGLNMG@n~E1Rtf71zAB4)Y?=*75X_rXRuuO1w|bU zffXb{E?5DMEut*wR{L3j4kW=)c*H1*1`^ocL9hW54BZm2K|;92{?d&=(zynWtpO6O zff|fJ)G445oPiPe;u+kc8HgKfcm!2JhFhcxj?if-VF?56t0Xo zjDRy_!%bL&HDp6E{G*@Y)E>@7h9L+U>f0_ESdIWn?ETrlx#1nc;lSljF%ev5dD@0O zlU;gKjA|poMBYH$6a>gWfh80M`2F70}e&Wjs!OV#w zDf--KpyFsG!7PGAEG8fT*5WLthA#4A0{&t!#zrxo!7-lx!7?u68D!lOjF%Ziqq4EZ z4d~tB+;Wi;-h?_-9GZ;h4>>t z3M4@qBtV7_Ttt&yFl1UdB%(p&+el=B{R1=E23afYqR-XADzL#41e@8hK^k1h{{M047pb40z2^;{N6#;z; z!4b^B3qwnOaX;iST4rS+Gu5=UXCu%j#^WX-e|-C>4ypFrVuGf8mToQDH>hKLon%MAYF{e8uhgdW|Ypq z`sQD7#x5=aadCzeBy8y%UBV`8an%9Do@pyk?B1;b#kyh|utA%;g=-)I#3DgzAQ!~O z2E~4zo+2#QX{;I$XgL-^qdM6bJm3*H+1jz)G$z1b&;SfPAj}q#3y=YFHQ~@I!O9$hAoGZtsfi% zhL%VW90Q7KYhq=qSG4Hry{OF?#V!Psqmkn?HY-F~Yqf`-p}BEO5u`b?IP}@Ku*SK#NwV>HWu@M{b=(3l2odnt_j|<$DyO=`MO!7n2E+KLR_*}y^WU&M9 zF7MhB+d`A=;amRsB(L$hsAa+^XUJ#)JK@!B9;RUuOc5Fc`LCGrT!21+pU5!=%v2d&t+$0S$s*@Ztl zKE!9_?PN>=l~R=xq}*lvRwD+IXOvD9IKf71-;T+GmIhak43{Ym1#-P&{IU*mok1cw zm*>u`ONXuqHXAlG+ewI5(Vm35xNa4LjR3oXDAe-9hw=sa@;&GMb2_E>9c3n)JwUrx#H-+eFkJQ1sjm8=jmq-xV8uY2L(UTe|ff{@+OoQ$= z&h-73Gv1Y%O6c^peX~yk^_rN%P%~Lk8@0S3H99MG=P@-tc=0VmH3mzy6j61)S+%#O z;ZHzsqjYsfeswX0wMMo!S=;egoOK-01@uTxTf6mTPR3kMP%h}&Ww_X^xUVc&^mJFQ zN8Acw&(O3)voyD~xLxzin!%oeZs}^WT3^UQ^rsP_jTE~CC>>Eahr}se4`1o7I(Oa! z{*N*jPgpR703%GtU?``WXMfM&oZ4js+WBFIKvYGkb0aVOVl-PNgqd`$-q^lZ2YscM{<@J?M9z@i!Nna&WtL2YYZ-b47vA_MtJ>Rr`ta z#`Q`e3PAVmg9}`Q+wz1*W;r_!r(s2iak$2n^M@mah>yT-$chB%0rxGl!TKitjpv9i zfFJi&Vp8rV4whdou;~u`#c{bG{4J;cm9(6mH2&>roeJvG6(DM8E@~iw670ZA`)Lu3 zfDpti*Xh7`iI*C5;0{RO4wwNm%3zk`Zv*P7%^Gmk^#BogzzL#V4ctJcRtkHET@WB} znkNL=gtpnJ2eY}yE!+ZMrE@6Xx$o`-+UogJ%dD)x@|WvK1c6Z ztI-|*_ro6w_P+5;aYTke&cugBS(DmW6xDHi(^K#T$F1bbOr%G6x{kbzC3fGa`*mYUpVK9y>Bh zT`{8K1zLLzi8mt?;TV{KwsrXk5P^L4zz=x90OUa0?d+1JI~gP+4cMc*uL8Ww`@HkA zTh#l#<3he?@xHS&KKT1s?|Hxse8G$B!5es=D|~?wy3IH|-e~;YNIZ&8yi=>NHNj!V zkL$)0?^bv`U4XndiF|7smFAn6`KElQhk(s|hK$r&jq&h{j}DYJfx)(1PVQt9#GiI2 z<#7e&iUB>Y55>@j#QP<=5d?t);$o2KDYB=*)n7f;i>F&+J$hz68Em}~cRdV*-I$3z z5rBURSOD6qJy`<44VVxNjH9;subL-OLR?!pyGJRMLg#(*{r;!+I!kcByR+p3{1^j7 zuwcCi_9|8^TtbBl6Jm3S?O;TS#RSfp)e2)qSsP{T+I29YIFTbsmMlpQWlEJRQ;KBy zvgOH_CTZ5Rc@t+z06PJgREZ8~P@phx^5i)JX;POdg~C+16Q)t5D2?t+dKGKdjTX7i zLK-3jMvh}SdNh01qb@5Wa*-X2)NNdjxtfevn^aa0D;(?8k(Ff0l2)>i)>$$FqY)z* zcO=Q!Y6p_Xt&r?svkG&aAxP>ZNs~tL=QT;zd^UYL4U!ROOjkbR`plWgXK0L|@p^}v zB0J2SAybsq;MLP$*GydDUl_gOdOHL7DqBlMU;eUYDJpn%W5eZgF=xU zs9ut41gfgaib$-s>dLDTzFo<>3{B$zia26aQeh~9>mquT^Hk}Y2KJfBC7DvcOr>j5&aDcV0;p;(WJbUI*}=K zN;HaL091PTsE8$&#UhF=##mjAPmVImD@QmP`Q!;Zo~(79e;#^^jh>$R>0`UTwk59L zp8NB%CJqJ|T4;e)52WK@gAF8DpZ)bw7@_R>fE=H0^u!ROSoI(tffZIzL4`f@m!Cb%KH89wr z3B4THp!ta8K`BH@>S&0M68`1Hbr3vZ=bS=2a$IG98k`s`*i$UvRZe(ZBAzacr#vT) zjCo^$-V~`Qz3N@DdfZzA*D%Gs?vdep$`K#=z;?d$wXc0P-~kU%AivzvuYP2>U;a$7 zzyAF%fCKE?-wv2Sdo0i%EOej_MIu2BPH-bv!C*KJnG_CsuoWQGn7c@*ITH$Ub2kxW z3vpN#7&1hL6?vHvEdG*u zUKHjR!#KY2mCt-0uz=an*vw|SQG#$RR(#^)y8FZ;7JvI&-~@NA26FO&s0?Q#$yrV! zStNKCljKGyX}ZwS{%e!4y9(h(f^mIh|ywJgb;?ID| zj&=DuWhxPBP$A*YkQ8j_U>>@Ph>~HVF0CjM*QHUnz7;7PwcH3W^U;rr)Qd(OfpLym zM)Pri11MGLVB6E*Rgk*u$RySgP+FCS09|TL3~R80sle?16uy!%ndcKMVcUlS zS20rpwWVlc7hAB#UgNRZh^%BOTcChKHM5%)ucHJrBSTc`ULmj^R8KfLa4U%FMUcEOeW47P}EBG2<)3;vsHq!z~f$#b_TtBe# zggySl7)E|5i@<&C1CR>lq&~^zkO9A$g7u5dh<*Fn%$3lx@x-LP99$CB7P2b(OyPww z47#Wew8Jl%%7+n~45+*TD_GtKFgn7)_D04o}oMzJYl+BDBft%sn>>|mT zHEFOIJ4fhFOXhj0d;afb|16IA2)eX{zN(>Jh-e+cWYJG)bZ$i~?NvnDJ(C`;ikk;L zmGPJ(o|Z*l$O5KBMiFJ87Byi&rlza-1x!=|Sw=#pU5uC-3Gd!+!AFpWHG~Xgt^NsF z#i^&7r>WrxAwNPFks$IT%wP;O2>A+#Km_x3zy|Om0%6H!gA}YU1vO9O2;iH7q|{&l zyi(iSk^&zW01*J^!3aUfY>zV=2thkNHYfMTY-e9R&ghx5yN_CJe05vRE1ddeD=A?h z#W377Jae%DmPvfF_S{Zcw2y!kRt=8WEs|!>Db%AL6kDv8^}e)R>R^R7A+Iz4HXc%D zwx!NwWeALSLN2H~0>dB%BZ5joj57jpiL>i4M^5<6knkBKfT~igHX0I?u$t=?0Vze$ z-fKosgpvb+23ym?3Vxsi^KF0#@VmK6Pq2d%oIs5jzyJ?yaQqRRfPFD%{$>N1kCYo^ z#{|Bz)m4m+bfvd~>B4sUKA`U3*%q$q*ueVwbyuvdkCob>y%*TWzM!z*v+S!qJ1Enh zy0xRZ?NrD`w(7QaOGt!7p<0Tw+%50oZSVT-Sc)p}+~R`_%%S?t@bGQ%0Pf!k11XFE zOH$@9BG2-YpiYtiG3LZhDuq)bNlzl<^VnqsylV}R;Nq0PP>cZe4r5U|ZU?qUSSkR3 zK!3l5H;AJ=S^z1cBltWZ_?SrrMgRo}YXo>;eHy?98sL3KV13po`gqQLoG=S{U?;Yt z1`@yo4&bn|;``iXK>DE{o-UBGYDB(_{pOH@!pFSEAdbiY(hkh)`s}GV{^$I(#o8$B zlon~w#O*-bjzKsq?rO*GHmlBntEeV%@AmF@=#2thaI7v6(~zfv-XbZ|1O%B!1Y6-Q zOfd6Oa0fC^2xg`QF~jp711VH34K|O+KEnt!rBZCLdSD|qT%$6~fC!u82$gUIjFAbw zaIm5fjjr$uw~(3M=LscXjlz&Sa)+YOkPI+F4efyq-H_Z`L=NeY9E-#b_X-c=Xb z&id^Bw#`K)Lbf5@i zfCzZNCVejEa$xvWfcbV{_?#)`U`35k00o#2R&ZceBq09hUgZgilL%mi`2c_fOke~| zfNkDrDvPBmXW=TzAuDZYD{G=F6%Z`jvq;3U1;|nz-L1|Lj4kD*{>aWP3kEK&4IlA= zE@Lah((~<3DKFJ+FM$gF$YLM?)2sw@6$mqV9%B%szSJhdbWBtAJ;l;Y z=_WSNv=7yEO#z@yvEohrQ!WogPUjRo>r`Jv$K0^O5wX#n`qWPY6Hv*(?*x@S2z5d; zLXr^m(@2p6p@>nRr>GwFG`6S7h~vr9tIBM^2Ydi1J=I*#wXi@{t=>=KJi;MzqF??| zRmXIEvQe#&A`f5Hz&t`A(o$A0Ygu+8LR3V708~zE2wV0?lUk{h{*kNdjy>WPW z${-JgD_QmGe&z^oS_&ag#!xHNtwOL`{*C8aohMth^)tBj)x6c1z}40^6D0zq_I6|YcFb~02pM`NSOo{UoeDzIdh zX8ZPBc}-t)R{l^+*?!h=&53A@HW+p`Y2#5L2>08Rtv|UcPT7u>^paRdOCRxcSQC^; zKEt8B)?($zY)iL(N>>bGDy9fiZ4b zwq0YjBm(Skk2hixcVBlwAQ-p)aan}IFl#@JqRk$nUs$4Y0q}AWG;`}^bAxrB^b~8k z1$4=L$jzB?lG$CiDL9+rprWWw|27&H2?#cBy|kFHJN1K z2X5_m*#{{Sn6QjOZL&ifKZ6~kw=Jy>c`rD5;|OP4!6KR$8=e<>ANRo+Vm_GddUMra zVT;^chpKkOwDfO$J2zr=M-l_GSkxCimNjGP#%yEie$p0xH>xqzDG7o=BQv5g5_L*& zOvfsxFZlN{J_E>5W5@y+JzREt(n|$o0D;d{C(E^c7MOum$|y(xJ7)MiBp5A4_>(Lc zgWnh{h;|P5tpg1Ft0v1)zim@2Vb{8oCtBWN-j6L-z zXEv7ECjxF6mv4EncH%m+;}OfNT#CVhJr|DQSdO`_75KG|{k3r^m~a<@dLhIfadkkT zmWDJ8(10X`W@JVh42J(P#6} z1B+~!aBPsGT>gomNr!T5bTT@b6n>yjr9?XBun_02!fcRFN+W;@$)*9;rvh{?z5t+? zeRc$Z87U58m}j_{i~6TEINHWanGNxdrI(r85}J9UA*MNns`+5Ana>1Dn@fwEX(SxI z4Sbs_C6Eqx$XVjdxga5#4Aj{H*;%;4DtK_I0@vUJE0hxx4|$@1x!MFH9?#*DAW)JZ z3Ys9*{KQWHx-eGZGuQwtYLQP&Lk&itiaiPEGACZjRz1XN}a z3F4$O*x8|a%GVVYJ(VCHJlwRuu0 zyKov+D$B?fek7m?r%@=cumO^yrAxd4hMR2QC%GA5xp`%_pBu@6D!P%Gj-9uekv6@t zyMnd5bWXU2tQowwQoIk*pS;=Z&ii$;f|!$H#N4|K;yb>JioR#TckY`j@_QI64HRMi zx8B}F2x4qv4>gGU?E?{R z<-pjPmQaCtZV9i##+lN!c}~|p9n+nuR?6m5PaG?5`3jR8xUZrChAY{1@<9c%V3#3>NM=x z!wE)ii_oh5o7WqtvR&Zgh}+@2sJ$(T?Ega#VqYHG-C)}a}WD^GLZ)bw;lye zlrt6jGZ$PlDI>5w)8ghN)DVSFgd;qPAP2<8_c(wEdH_~>6Vt`GvwM6fOFZXk=x{ZJO@sI0c-#VF#o1~@={YE0C?s4 zaOFE--u1Q7{gQeWJVMx^+`*Df=M|zqPZ%Yh_NwVLt6}(YeE#U+F#hSUJ?l>6Yw2cL zEAd#@Jlv^X`Yl3&Og8I_%P>L{H7Ycp5znA^=4BpEx)|unFM@O0$glU>oA~A0TW<7?{F_z<~%88eC`tMTCM28!#9#Vj%+t zC@4}ic#&a42@nkq05G72$r>ays$9vkrOTHvW6GRKv!>0KWOC{}b0$riRjYRG>eUMy zws7IZDP796sne%WnIfG^HR;l-Q;iy>s+62pa`x=u!?&-j*|B54swL+XfLj1aRWenJ zwyxc@YrRGl_qH#9n=fY~7-;I#p<~N>{aWQ|iltYx-pw=Tm@%F|eDL6bgK-WPEF@gc93jPl z&zY;pVMBRy2^TIT-){Z-zzE>OgTF|=y!rCt!6)RN-0xe!@JG0JAHTl+`ksFu&dJkt zE6_w4wU<&94Hy+xagBiBf(Sb0)m;$cgAO`sL4{Ob2_n_iR}tQoS6+L~_g8(prLi9w zizUX`DUh}3;$xd-M%0YG2t^r1p2arWY_#>L8*Bd2CR=DdqGp?ExV7?QiD~pk#&5w5 zSKM*QdFNep(Jg0#4?d{iU3Tns=UsZ?ooA+bWUj~lo{0C=Bw}A}#wq7Z`HgX6f2))R zU{Tl@SfGJVEl3fAgihrkIUU+HVTFN)gJC#>T18i)XnnX=i1XQ3;)y9L*4T@n!WiRa zG!kXwEI58PB#}k7>Jv{s1=;GXsU?}(lCPfO8*nWMN8E87WM}2D#1le#|1tFKcUCv34W$BfXiBP9N7<+ABDOWw2OsWWedLo8|($lP2l(h(2XGTb+I|Z;$0Uewf4DH^y%APM0(P!tF$yrC-T=*;FP61b-_(#t-ID6KG-4JVPieEMu(nl zucdn7&R3>2#lGLeb4M?kWI)9di`}I5lJ_usuS(kzN!&KV65yN02KXq0+-el$w_k^8 z<r;nOah8)qjoSixj9Op0XE1%1(=1V2mo>f z4e(iW8i1_jP-|`S8IcDkNwo7oQiPb)2oQAwvOR5Oh3=A0z`d1YN@m^@4|=0BPF(Mm+PV;;Gwz&;KzArT1VAahp8bRtrb&1qyp9=S@5xP>B= z%;y3uSedmY06c-sfkY}ekc)Kd zEg?%ZbrEK)hr-P~h9WF=>5#}6vK=%b3P1ImPiT{D?Ae=q;fenn4f*uf|z$(Z9MRw506YSswcJu*Vn{$E@oB+c-NTeNifWh#5 z*uoBJzytnI;Df<-xWgj|v5IYQ0>LgeJPC2^w)zs;w@lV^mh~KNGt0Wob~b9C4efwN zyX4X;6krk3muhVosZzRjAF#zJ3u(Ji+md6*x;+eUk2`|jmN~dB8g49#s~IvU_cgH* z-)ZuMQzQt1sISpY+pG(eI#9$2s8J?Rk{|>mAYlzmCBqSR(1Ih3U~ z8#Ex+Il%B>(`gXuNFXC9&>XFKu!Dt+00qcSr(%1yEFA}#ve<6ckB3a;Zy9+No&~L; za{gBpRvL8NPo5A%qfEnhU2+6gM$2m{CFR)y;Gwr2(LGy|E8UJcdJg;45Qz)$QzRxa zZ%$2|ku-uiJEj#hmF^aG+UGw9T8gVNbfMLdlSMcB(H@Y2gUd>3O9L>|2}!{YWPlJK z@Yf)oW{w3)eQFMb(*vt+^{Yo6NUSdV)?PgbXd+mi!BgjD_c1{(19H* z(tv0OQX&`WTxC<2?XI6^+a2w8kzt0rfD18t1TVb75B_Fo(u&USi+G;3$df$-g$+jd?!~o8{$4U5 zp$J7-L8EoB0wCz1I9x)`q$%LInG@mC$O>Qq&zb_|xO^ZPNP&b$kR4!oK${$>d0972 z>lh30*#gAs9f|(oZxRHr3!!VzdtPgx=i2Gi=fMCQaDu8oTiS`tdUz-pL2jLiXI?MQ zBzrtOv3r~BoCPtU_*{1$2_(VzUM`ea6C!19o zDfC&2$Yi)vHC3Y)Z^uxJB3tBkA%4MHz7sHYk%^4Bcbs@{%Oew;WO#A|85}8r9chX! zf{Hm|W*Im*xe;6=I6ENIB7%2Ki8D?dKmjyalK^xbjsr7!WQ`$59UgEwF!N2&_Fs6F zIYtRHIKzkaXpfYIk0X#z`v`db7$^VO3IR!f>T)&8W03H+6bPA+W3iAFDGpTO9uSEr z5;>81$B4`GPzF;ifdNDuS&EMFk)#-sBKa63Nd{&H0wC}hC}}bfBR)QH7$x#i*JM>P zc^ou(X_uBc$x)3gHJKqm99z;QHglA5? zaVKX`8bU!70;v^P!IprsPzm{Vk?0gy;T}(BcLj)v{&#;>gDL#dewy?=bGe+%=}V?a zJ)qJl&_fx137CPY8iUDjg~>_0kuo`vnD(`p#?hFL`8bei0g_3Xl{qCq37YQtp2Z>_ z&_bGCXPSM8nyDF;aLJnX;hL~H6umH;0|`pD*@(HRo5T5kW$72c2}^fpfNSY4#TgX` zgPfiiM9rC@0hgE1`6ANkOO!zz)|rwc+A1R@cqif+EX6Y7$xW7X0p%G$lruoRr#R|4 znTc~bnF*gf8Z%$m9Porr5#V+BS)}_!hzrP{{_)|TtsoS^5Dc?PkOg`u2zr2{gcT}L zHc&=@9)dhmN+4b7mKXVM7rI-XqM;m_mnB6R9qN&vaw8)kq7R3iC0ZmWiZaflq9MSd zE&8I_5u;XuKzVedER~~sw4*(msDXM;@fj^ZI;34^r1+_yO4=q&>ZDMLl~VepUg>t~ zwnGY9ZvE0q5y_=?0jgg*p>L^xWC~ER(@SV-cxsA7Y-&UVC^hE?Z&;o=y zu6o2CTLo8E^0dr>g~Q^G%Ygz#$*wa>Eb>VnsH0=_3YA`auOmRI`dT0S`kw%sl~v&< z1j|AOOIi+@u;H++ftp%VMH17eYX$B(e{iFOGT9qX|z(x#z;8O9+{B|@xG zG*i-qajU=vBM^&P#2Sb38x;QG0Y}gSXq5pnkO4NA15TKFl|}>?utqPcnAx#LIoTY8 z8Umi-aW0^z7yA~k92C*G>C3GPHSITF#AaPeS!&L;a5hk2fk)sjSA&n}mnZ=7^2*HQR%XQ0Z z9{J?F&%3YD3l!7Kw*G8qy?%?m2vxV(u)X7!7v76y_yE30Y@8L_LvI15G~sXQd$@@E zp(6!71VZLS1$Olh()qT+&Sg5l%Kh1S=OTrB-Tw`Z$$V5i5rs zOsHVQQL|1(5isBajur$mn?IMM0vIHQJ5YNkTzdn-gDHSP%xG6xdyeC%bQgwUJ`i9i zKw%@`X%@g@v?c+&XINZFlvo&ZJ-UbKVV^yGCa4L-K^&K|L&X0Y42n3gwWY+onH5^$ z#0(2t!Wp+}qi-Vu6{$qG`zDnv0UAKDml(R7VXVHZ;KibN3OSJ&#RU{(Oa^;)#z3;N zOMnDx?6SoQ{E51`o6iBpa*jh0 zIq6k3Gie;K0zVK{K)`4%AO=oV&@;eNM{s&&l|K{#CK60w+i_}Dk^vaBC9C|q7;S7A zU06{5%OwJY5FqVz>*0kT0h)f4($&V&+IFNa-A^#R#WGD9YkR~^@h3Qaune-(+>4u* zD8*f)mdtD*bZ1%&S%?-x8SJ~4Ao&>De5-Rw5gL2AYkCytAyC*jmjj61gt?ai zTQ$iModRA$5nck)1%$Owo6!g{(hK2fT*8E$y~>{bUz^?FqCLC0_+fQstaA&H!T`39L%*c5tM-9ZoJqyKc3Wssrbvc(Fy4?OF z(A=STL~Z7#(>dKM6#`4b)!3Z`tBowdb+YM0z?K6yh+^%d6npz+6zN zn#7HwI}M7rdOOs52jT?#m13Du<14r;k>l)}roDA$zD{O#In}H1+_5<$Nu=YefLu(T zxhQka^os<%xCCoptnsXj;QgnMvyFmYjuNo#27%s=d0-3?dM&`_N|5eH;Qkpz0D3+c zeDb)!dH%u6xE)?-9qmZMDBO;l?Co(SR}!5Z3{jL2(MT%shMS(lNtuVp`-f$F%cwKz zq|Sim9Dk^8w^N$pWVwi)TB;E;LlsHu>Gr8Jj^o2X+}#Z1zuxQI43eWr?8XkDM3L+! zxr*+L-FOPm9E{f76r+Gzv@x2VVlebXucv7JqTErgVS=a$&mG8Ou0D$439oe=-jqCy zq!&B!$%!XL%yz6L7bt$y1p7j5+wo`_Fc3TIHQuSY8Hpy3^1;5oWHwU6B=g!c45k90 zr$QMScrs^RoT*8(&+pE%sMR_As=icqi+C^4lBI_9aj2D#7b1zoBx!@*-9DG-5G% zpZA#Imk!tDR1Uy!ES>;F*RZGFh96JNU!%Zsqk1a%d9?J_Z`YQu64Js)h||@l#4IkQU-|J~GnTO3s--0R2K&;ry5j(G>eMQN z1q~iVm{8$Dh6Q24iWM=|EQ%E^Uc@+S#0U@|T77I~FwMv`XU>p8nG)rgF)duS@Zf>N zOqw+(+?=oxCr+I^aY_Ih6ll*27i!K7kyNQmr6FP-Qt&#Eo_u3ROrTyLahSL zs@3XP3t*>WEvr@S))8ynzGVy7Ed#oB?cT-9Ai`e0d-MLS3qbH-!CVa=Mx0pjV#bXV zqclm7Vz6M?u!X~%SuBI&*Hq zg%hi8?OOQl&%FUSrudMcKvSj!HiRBsy26JNCuYQsabrh@BUOe8^RmT<4^L@^9XevC z(DicRLT%c#qj{)g?N@d0wJO^C{l^;4FF*m+>PoHxf$A$k1^Fs)LB0U1YcHUTBg`=i zFT~I>l?d8pmtJ})rWn*l+)cENawF|D%Tg0xgTttVs+;lU|ve1k>QJfxc zi}AMAitCLriVPAc$s`Th=(&TGR1%?xsCx*O=~kICA&jzAh!s}01EIS#zJs9%BwYG{ zh#%HmQ-!H)NI`<0Zes7Jp?vURqd4J8!3LvhichKeWP&Oxsci5e1^=kx(}uJpumDj- zuNuKV6?|}XQK|rxtItOV4Di6WM0K##2pTLELb@cBfWpBtgf&(SH(aH|4?`r8#N2ue zEk$2T42?z@Uz3qW8&M1=M{IU1a)i!)WGzS`iL7w3BMX9Z$%2|3=*eumHHgcDsLy}rlKy!xF~`v#V@FdIiAWb6%>`TQmz)wAm9FM$TTerMoz0hhDkOHRGS6l z^kxbAvdgc#SQW}u-()4a=#3&-FkSiDiRT*KkjGa6$Qj#$@(BqwUrl*Nok zu7DF3pN+UC@Z{zCS6^iSQw>f}Wg?=Mf%(JMJUxM0`0 zcCB*0ndb;2zzgW0gg(w_;bTQw{%NL3d>YuOL7Tej&aT#4xM9)0@#`GJZnkP5i9LH- z&xUSn?UdTqb~(7^o;%yR^=5Je_Pv$c?}B0?sieWE{U|CT(paLRPkO-dRfDH;pgrZ0VbXU?%=Cyw&Jzdpvc|PziIGI636W*0Wf)2 zm64?YQ!X?nCtpZ}sr(X{h!P^4MsP#>a3uwegVZlMDFM+LrkSpjN;fxRz+XDk2cyJP z3QD;rCKBk0PJ~Mo^D@O&Rq=}VR7@6`)nnEm-Mg1x*Q*&Os`OT%qQn zvU(O~N`GdlGD^j;VALFe52VtS41f{^>TKs)L^U8*naXFq zi-1|E;wpR=b_BFC-WI#qE9C_=S73~q8i(UOWKAtame~mS=$OW65$lc%?aW0N)5ndD zFMZ#VA3{hvoz;reqwafKY0+m2NqWGgFM;V%WV*>E-pr6IT8!gq7~9VQj|j3il59fTSm3FdCbPjq%=0>1Q9OoL zkBT8}X~{r7)TS11u)R`iUAtO=$QFH=WQtP=RVWTnfC4@->Nc79Td1swxIiVsP&oh; zm8q;Kog3f<$bzT2GP9}@z-tdj=BACfiFH$X@-nAFWDAfo1DzY|R%wSPv0hiZ={*!% zHOStw*kA|hEEqShIk7Y6mA>x`ieDcz&z%Lf&Qug_e~b3teG1r(WAse(0P3SbldZD} zU0$Gbm1nN7NV3$ka6~bz(MDD}rKTOEAi?EYP9L(P1-TYNup^k6q?kU1axsikmIE1d z{*s+;kwFd&Mic(^pa(Ko0Z>Ocxqhv>PptkiPJ1fkvDhG&DUkJ*c|Zg-+kmP(FtegI z!fXxB&;oq|rkh@d>@i2`*hEN}3YPurNs&&i_=;|}t8By^OiG&rTz9)Q7|eo=Gl9@n zCk~wLX4}G`TW}%Q#0{|$e#u$ucK7n5DyHWGyF#~C`0up-810Qi4J(ck1llsZ!Nm3U2UNA)KFpCZlD)=oyGlRH2|{sP#$Y*kIp_bDrUqyDZQy`dMZ04VzfSXx7dJbUBEgo#DdbchXO|{*z&Z++A zKO7n_`*;iQ;sI!L57=WO+>0|iV~gJNy|@cLdm6r3NeO~Tth+-#%S!$<<^#OEd!y30 zKEzlo&MKRUqZY-RvK-h`)^4t%VtZC%liM5S8mn!cC+AN=iz=}&2Wr3&*;5+eN|4k&Y8aS`3F`Y`$ZJ zu*E2?WmJh~gbrz}!MEW^km8CP?8qFf2y7%jZrlh1FaWraxeG8DoCu{Ef+nzlleM@B z7Q2AB!V{ZY3rVpms|dyZ!=^x!N(O8@eN@E= zgb?5XNQ)!`S?se7v_*!CEIO>L=krB5dPBs}mFb(T{#_iw!%(S^`=gO`Mkt9Ny7|7n zG#|MUv6NiNfPt|K&=;JDHD=lfZ2B#moB*7RH8^QASd+D%gvWWbLX0`gqAWe845xg_ zfF|t3rcAx3gvx3nMf)?0s^mh{Sxu~jBDmX1q3KFk{K|n0OXM3%=_^aG*^IPQOJp>R zwuByIj7!6q%Sy{gyWB{;>>Iu0%kSfx=J?AIP(+nfL@!i}-@*yP#1ws@0Gjw0-P%sg zG|DuyfrL4|w4*&xBsQzifbhggPE?!>a7TG`$9RN7sVq&nuu9jo8F|Vte(J>SIZb;;5#>t~^-w24(cnps>NJ3Flnb1&DXvh`(QBChNl$0% z91Ose6F7k#H~|T$fSWpjxWa(C;ujk#i*-^QQL@Bw>ZzHaAT{w54j_Ua04pExpMBW@ zSmH#`bjRo_&Hl4T1JP1YQNVlz6*>Nc5Ih6ZR}@GDeJIn=yXBk6h3icS{l)7eOSjxb zW@*!nI8M5JBofUuw?PQZTc5j(&XFt8_mLUuRMA3R#6!J_M4dL$%cKI_QGP*z>DmDv zz|_gCsxea;37|54u}rj50ewNG3Q{Ev;DA!fsS8@Jc2gXs3Qa0iM=#6O^@2k8=+6Q9 zRZ6rSVFe6gwZq{%Rx(vq4s4NTRWyc7OGcYkV=>Dc30Z9QqYW)BZiNy){nqhoh;vy8 zlcGV5EF{Gc3`Il$1ZYtSxCsj2PQ|I0q!^S_GfLXiSAMBEmbuhSb+&p%0SV}_^NK4- zfuSV43TB#|rGh0Qupxw9uKsyRviIR!d?x4TOf4Giy0j!Y)}5f+l$rPy+yjd z?N!+U+}`V%*p&*xr8_Y_T#_w~=9k z**o6`6bcA53%ZC|gB#O6D@bMq4(IFN9O+3C`74({f;& zJ>5d8;C1m5R)`3S*unC%2z0544tA9f4vL#}TM_~S5-wpv86ladC9N2`ph%*EDKipc zr%2|y$ux_h96J9=A(nBVB4!|m`540(y(DIfgth7BA&d#}QM|hRzOu9rVwbhK-T}^T2C3HPk zwi&-|Cpin6VjVtRPS7`vxR-U-w0y__TUo^`yn~u7$FhtNxmK>YE%9)P4P{`FBT)+0 z*$@j!Z_%4Qu84^666+uclh!=b^=1SZXK@DSa?a63j)`=R+jUMw@7l@JgJ({h=Xrj| zTCL0^%;!bf=htaHe+CtRW+H+99fGDigN8_iHbI3>S^jmXhh$TTmOhQ6Xl$@(38hW^ z(dhmb;AjqYL2^YckoH#A8fow=>Fb~fl)mOHVd?B}>7xB+aF%I9HRt_Vu~WWJ+F8$? zW>1U>YSNR~#>QvDuGq+aWm(Q0zY;k4?Jtw~hz?26vRp{CRF;Mo?PQJ6yGv-71w1!g zW4ZJrH+E)7y0o>^j42!_w?l;B1KWY^-kF&>n5BZb$$y?W;!ZmsRa# zF6%Z9544Ws&XsNE%u9}BhzQ2*>(FgOoCV(IX5Sug;1+J;j%f-ZeF1pcSefiCuF!usyxInzWdZ?Qh_7Z>gI?u<2> z$P~F~<0J!Seu<9u+|%NgKZM}$ONf%Yo7EC<>k#nY*5+>JH988!u3^)@b`~VDB?g%UcDTtzg5DU{FtpB-ciZ zNOc5%@>YNKTED4*T~u3lAY8W>A1De9kOBJS-CxhiN|f84l(7iEO!`y5&N0g99=5@V}Vz4jTixyRQ2LE4n;hH5-^MY$vI4m>7R@lA<#LB zJVC-wR+yn9qEGe{ojzU_qDfG;D!E6i2C~nl+93{F(gqsrqu7|~-JcB_Y?N=(QNGVL zzw;@*?rtx|+gV@N42zsEn(wBJL_g-O7J6YU*>^`4NhiM6p6_OE`kK9M>7Zjx1NeVG zh`hE4o^3|y+si^E}SKD)`kQXBW(QL;bX2_k2zA<$YH^(jm$X^XYj#TMT!)JJt{_Q;WX;g z7Zj^-%et)(A9iPRh)tWw2n`%OUeJ((E$khCZH#Dr0j^xy9%&<=oBBEQ=+Zq(uO6NH za|znFbLZ}{JNWS8$9GR1mZQk@>eqWbbEZ|RUjDrXUc~57Ai;zN5f&V{@Zdlm4dhUL z6V(S%M%bLko<}m3^wLWXN;n}IKv`H*QWpY+6IDhjwTe$4W{4qCP(g(hO)+7m6<1yv za2{A>l~tGzYt7XhWN$H77i%i~z*t~|Szv3#VvA*FgJ?NQHl$?|q_Bf#h)Ey= zaXzGA!DxmpW>$2o73bQR7udFAZL-aVn{K@M2Ar9~{Y8XvI373Ka?C+y9iP=<*Qa%V zqDG!~BM^EhqTHDWBZG~u=N^3W(Ra~(`1!|QewgmJP=F&0_|QcL9+=>Q3{D84OBAYF zl7>Gi)oO@0bvS~Ev5H6(RVA9}6pE*){y0KbTy^CYjOdLpRsWMeFPZ*W$)yY-VjHK?W&gpn?rY_SWog&&fq?3a!0n=40TVY1g%O zy;;|p8OXpFng!F=7NCBPkTAo1g7;mb5;fP*3HFCgLLPBC zGRmJ4cwl{%UJ6#DszT^s8D;onm4jA!WEIan^9<`LLiMDRhd33@lZCe;ovW;_ez@zd zu)v~Iuq_f>Y)8i~5WxwXsn9IAtI41vb42tY1GOp?iDeGbt`?XL7bM05lPUBNca9lU z#`f4Y^bp!+>+(QEXg#nc!)A#7+mJzO^J^rD%5uy1y=*Ld zGDj#=%{QBp^Hn4Ge7z|^3(d4mM|V%_P8TZ8;m}K$uN2fKN=>x^V{PRk)>(VBz>@54 z88((}Oho}7akJSLNmgnAa5oTVB--U*onJEp-_ zh{$ci5K-KO-Jv27fk=jBl01A*$95r~|NMuDoNP#??vuPF9wd}8GYKh6Y0BrViVRli zV$)K&p`CcIDE{E%qSIul6RFWsm$-cBLszuM_gzhrV;N>K{fJF#)@4u2q)RmC(#IUt zF-Ox3BuCM-(U5*~n-yy*>%uwC9G26Zltib;*2zwVxbvMVi|0I*he>;y3ZME+$;|rc z&+NGpp#nW$P6}F3fGYGR3=N}0A*$6}0?Pn6^kqeLCr&tahnm$)X-WNfFl9QEJ9>l+ z>dczLmF|eHsRLx=+yYbaOlM&*ZRAHzgB|jSlbl4gse0g((_ZZKKR*3wJR@tVOl@R$ zF>y&0S(4Pt!bGY6gsM$^Qc#4-l4%1~8u!3R%UI}SwP76N7`M7B`DEp*R%;{1Mlja0 zl$Dxj{*CJ&*D9Bj%B{D&xluNKn>xEHX9Q@)>qoW8O}<{ouYXNsV6l4|!p>BZh)s`T z)yde#7SX4YJ?~_fXW0jdA+s&vCwrB;R9gi!Xa@}+Xvb&Tgx)H(OIdAeU0X}o%GN}* z^(q4<%ElLgWdJoWL1jn4gA)+RbgKEm*yO60AN)Xocyg}6eDs46s!lFyvw;Sg2`(aK zxGip-iwu5r)t zA5vC?Lk0hmBLm0*gtN986a-E+VDqgCjxd5Fh|Vs|C1GVq3>m#yrp9)H@u7>Wow=xB zaIFDujdg@$xBv!icKIBLHMf=^r*z2RD)M!aY~+S5*>+8)>0zPl5h+u7yjDIUmQkkV z;1wg+>TwU4#av1nW$xlH`3X$T7*~2;Va%V@B1PC3HntZCl&;1)Ba+6^@>canM(B~h9ASWe2@JkV z+!khK#yA&P5?exe!FPEEPI}egkfwf|1(&ll6sjKm&Qn zOrw{Z@Q@N2;(ZmYUz7Yui-!l}z|=UeI}XH;huo(LF?MKZu$xYFqhvmwte8O=uFSSUhDy#xt+(K@qk*iTLJ-6@12gk zY0L1f#d1^&5iFl@F-r zUtREBS`3Hp?Vr~DAGnBN|1s00ogD!hV0DN`0)E#5HlPnp9t3WZ1WsVF)l|uq#8K^2 z26kRaaA35V9-EC`%()y1mYxZU2nudRVZj~?V$A?}1P&}l{se3qNaYc~dCnIq&==Z< z-7$**@t_r!jbQYP38c67$eSgS>r-wMR80W=LCTOL5|(6K=tv>j`UC4?2WYqL9}efMXrquj34MIPUesyZV-X! zz~bdtB&m^(wy3}ge9#EA4VnmCZcGbE5X|Q!j?@8W=^!H*&W19Ap>)X_bU4dS>d~W} z;p@bYP;wkMUeY%TNPpnwrXYk;o|A)M79XA?R8A#^s3U)2WzA_NaxUjhYy?<_<0E)3FCr;( z{3u5WDHsxIb>wNErjUx+q`Wk#2Rvy|I*R_3M&N~3>Bw9uZ)T|l$^@5!=u?X5nTn}# zYLU!&(Wky+n%cygc4eD(6%J_!oJuFwh!aMENsR{S;PI%V`RR^=n31B8p#GL!9UL9~ zsIczoHSwt+O=Disq`}~-HTlu95+t#Dz-dHiluoF}T@oj;6XuD8hmyfbY-(^mTPsP= z&0$ZreICn=AkiqNJgzJGP#aUEDpGi*o4V>ujV0}cg{-ROH0^40t<r9@Nuj*=n z1}l*MDX|KYT{$aoiD9$~y17LnN^B?b1TmyMEB3a84ED1E_giOTJ99%9`p z)ZOMBo*l*B0st@J(2V{qSjEqbT4Jp>F4gMkm$=S4_C`b^+&O(LMLXPq-n6C$-Z=89c`c@J94wU<*u!_d-PR#F9)bA|ZEkx$EEF0voVt5@ZTN@dan^qiV3^k(WYrYvz?i znCX*du`apBN~@^r+@hX4&aCXt994PIsAi?!nut#DN^^cCi}>&l1Mjd5aS>ZF5)ZP~ z&Kn^&vGP7K7H4t(0w*#RXDu=UM%a0R@v9h^W+o~)YYls^27aPm&+=d_= ziy$2z;;4Qb-p&F}L|E0x2pC3L1RJO0p!V*=!T=|@@L3xN&eKQG8mCG^} z?#{wu4Z|>a3?8>=56f~N3-Ed1aslhI)jpapH?trGvq}~-K^HV5Gc7VNvNCTjK;P*z zKWa4l+BB1FHH&bUlCVrT8#->Yy0UMX9z`jO^Q_E@IlJ5(tFp_{#AmhhJIC`b%ro!q zu|4#Px*r^o(`+r1iCdG%ADh?5Z_9vNivrbA6>2RLC`5*L5%4 z^)B!*0?aZ^M<-DYQy@RGQ-heZPAgL@wqYZ6GBYf5N4In@@^TyW(JrwRUu*&iYXWZe z_x@t?O_>~M2Pa08t5~0_gM@Ri zOpzz{Ff%q$M;(MWIbk<5_8#o!VmJRRvj<2Ls?I`^O*NUnO}%lr?-jMxk%6M(P$5C zpK^=Sxq7dj9pm{&RL!2_kVoViviLZlA1d@dTAnO+p+9&eJGym4_k)9gvM)Qc3-*&Q zaG>w1q5sy`W_A;WSBH}0m#0Jsbi226wS1Xb%c{7ji#Q?5IXRzotjFt3#JQ`(>-e~P zspJF_Revp1~Z4JuUA+q9!qwM!DV zYYbCvdkc8`w_mhqtBSarIk~5Zxx@Rrr#mUD`OLX_37-3@zS65VO|xnK40kkQsmO?* zuO(nZ?X5!fq8EI27renGcx6ZWv^IN$8?~|>wL-Bxo#U@l=_`C3*ObizB)=cCA@3>BBYFbgz0fz@ zf&Zw{_dFCQ{i9Po(=$9$L%UBSxYQebl~+C5UcDZU_otV)Cqq@KzB}2I)@qw6$(KF- zPK_6-{Y$WYc2V^$6Y!t&v*RKzFf;n%6S`3syHW4`!T;!T3%;^C* zs<7TYgCo1aW$*|{nKkcW8IQJUm#SEYGAoVyskeKpTmQ|vaoPTFet-E28IW&hi^QVj zGwSbium39J3iQGQe$yYikPmyos6VmdJ_zVO2)uvqOZV^BTku2g@Do2kcn~;HAP0j7 z5fT&#fMG+1BOpeUm?jMwi)6xtX|a)GM;9){h`BhDWXY1IOr27>l4VPmr%+l%iSp&j znKNsuT(y&D&z=x{1{DfaXwRH2izZdNG$>J~Mo(D`Ir5=Is}`_k)#{KT)(c<3enmKz zY+18s(Vi6uQDIxRZ{fyOh*oZ0w`A+G9SDMNU%nv#htR9nZeh2C<)$5Ln6U@HZy(!L zOmHJt%K*+~J~Ogo=N2JBi!?cU^i7KpN4qpl1|rLwH~v+=PWf`D&Zka&;(of+vzvtvx2e=iqh&;tBUv{W@^F_}cLz{}U0Y_R5HIr1E>9i4ClWjKHYO3v&-E`xr!s2}D z4a28`8*al@j!SN(yBh5(4}=*<08Gd8_`*@h zfe?bI$Po;p5i$_YgXp{`1JhAQ#_kiSqcO0|vLq}s@+`Cg4E6< zEXuYI;VkaLp++bwxa07gB{&T83{fZ#b2AYl{uEV|ti?mkdNIcJ-coYNxzc)6zVdkV zu{~qiJ`b6$e;sO;E0R*sW>w^zA3TY#P6f+Xh8?{^SQ%wsC(nhkp zjcZE7O!Z5mb^i*%T!Q9(6w!hfb1Pm_MIFI2exZ!FJ{+&zD5H^J{f{F7Z8eG3hHrgI z&72@SDyLzKT_xjTB~&WeJU?t!WRa_qmRbv}#r88Xwk0wxZ@(>zNA<|XvEH}PN*Atm z%WaphcTW{KQ+kKC_fUKbB^uy<|6Mx%%1{TcvEUXCz9?aZSBBW(5wtD|SBqhK4eSVo z&3I#ugZ1fSJVPGY?c+)|5k(XQx_TqPxMdM$7vVxoqD5;S$kE8$vrb)~r6d~hOntW0 z)VRjo+i<}d-8odJNmUqgOrz#5-n&DI`p}v6DQ~zAOJ*p>g9Iyf2y|oy_vZ>%*S$b{$Wg`Mi*1 zapp-k&-}mgyT7@+&szXYbO1^3`t+_-Uy!AfUVB~kuq!@_cG_?kKmqRVZN2+l@FD^M z2vqA_XHlMba0VkyiDz$+tK9zhxHCBm{-{(%Qyk&~)|U{%%Y*MZTDX>Es`8BreNO|7 zL`Dd;OSRB^@C#6Yz{E9@NJML}TN8uACKFz0kX&5gU zx>1Jap&^vKbVD4@N{1uiA;f&xD!~r1r&47F+cSbU{&8u|@gpyRxjBV>M3C_- zUBk>YF-qzRfFf#;BmR@v5;j?KLr3u#EOs}nJOyWM$Dv~H-u9DFLS&SsygVsZmocBxg#gdPv>Zd>f+M~dT?mVDtq3Awx&>N1Xe#e9+t{keAqqq)| z`U4wOigLEtDCi<)Qp#}N2B@AaD^ATa&Magh3lWVIA}Ec3O3xXyeNt|wFGb@zWvb5l z9Cc~x6Ufh${>m?>lFFxM#8FU@T0Ww3u3bmHDIS@+RGvN+Yf%M>AgNkNg_d=Q6e|%V zm6MdM=C7+GxGGY3lD3_Qm4Buv&}_~ci?l*(t+4PY$ar#`xXzWXq%7x3Pgurx;&ZPv zb?z+9McAH#z_K&c=}>D*N6I;mpX+Jd<|3oL$pY+sEr3XQ%jX%XB6PH>6K!bmw;Cb3 z6%h=I+!s!s&3~zkTeuN&#}1#ahDHET`((z z#C9ZTFO`Z|NBy*p*t>91+xW*6FSaA@EAM8XG|U#i7{2ZGGyW2E(Il>pC`5j(Y&C{j z*kA>b zZLk-^l_++VIKto&6oq{T9ucQHv9-jqcE#;xPT%yOw&qugn-r0q-kHS^nW}r+J2C!7 z)~eUHWhhrAVo@OC=4=wGsE`|tA+rU!i6e_EMw=&u}}p z#4EqG=FVK+^)k%YsR`mjON%Qr=?`{^d}P9JqjZCht>8=tGEJu2aS~y187J zl!x8xp?=hrJN?R2m%ZHaMtiI?&&sy1JhKFq`=04ucdy;OR)?ObB>CR={{F3GbxGH1 zGz)KdYAPl11EzY#uRTVskDcQj2Rq134&jmibL8r zNAt$3d*f0FO=*GxkQZsUoGs6N(XI;J=VP5A!x{?Eyp0Ewkd}y$pi~VBm5%|vtEQUp-O7#LpriqB zjSBT_*R(JaWsD1h4w7^Znq=b(5seJR>HQ204L6FL1kCr`@D243>-2CCxh^6yjO@Ax z^AymGI&KLoE9~qr?OKQtTj=@d$;8|)&;COfsZZuM!n5veKyIk!QV-wgX9Mx4H1h5P zAIazZ?x6%|POvfkc8~qE(KkpiD1d7x;;Ix!K>s8F73Xm4)a|Hl@r|S}`6R_XW|5|R zrn+u%)}-){cyTXW@fYWy&-9L>=NA*^RgtR1BUk6LjbC8Z8|u&@ZR-L4PboW>;c`* z?C1<2t8nHj(8Xj0DB0@*WlV^I4H`o*3@K6Q6zzw2%>1lz=^%;|sggrNDx)H*zUU;b zW-$MPPY%P(By;d2%WWmQO|Xg&^I#IOWYX4XaxJ-y5z*@xb+XoYk^)grDC0*jL5nDv zvBx&>5*;KdPs=G4sS9gs_NZwStFkeZ1uM@l(HK+yWT7i*Q2$7>51H`)B1`R3a{3l0 z7KI8W-w_uXD<*l#EqfBr9Ppn;MIsdO7YA}-_;UV`LL(s)vNo}hK#n4`YC?z{Dv6AZ zqQXx&eWOA^5fss{>6C@ZisO+)Bq-FdSws>u<4_$HU@ zRMXvnaj}dr3TX`r<8C%rMmGiIHb;Oy<4Q<98sIWbE8Hu6J= zqFL1NH=t9Zq|-U6vlPFAlqO&Tw5%5iku%e70S}Qp;c-01Y`i!Q5w9yCN$%~;OQ|vo zJy8wjub$SsqjO zN-Eln%?&410xI-E`Eds|G~P(lG(nFgBmS?#x>MFj#YLkK5LJ{TMrB1?jxOa5edJQ+ zWVAlTfJR-+M&}bp6;elACmMUyM-!8^enm)&^G}WQNJ}u2mSRZ@tVs>;Nh2*ve{V`j z$x3OFs8Eu!&<;!Mi7h=;5IrZ(Jd-TZOdwhFMBx)_JP#Pl)F0E+3O$QXYZD?~wIKD9 z-)4-F4$1ZKEBp>5*mku@|Bm%&O!hFbNHHYYnhc~MLP4F=cEXV-UNDG1&3W8C~mJU6vGJJn0EQ(JA)30qY?P4!gIr(bqzRasTD9`RN0GZ{x1$O$3uz{(;R{pA+c}Oj$>OSqF%1d?H$PXD6sNQmyqA18ZEz zbHp_CW5qRFcTg=mh-6b0b0RQZ)fG*ZsxDddJrzb)X)Yr0QqKs|7(v5c_pIg`QWAwU z_7Wsu^=>dpYgek#Km8P0r;<0KayQVbPadvW9h6xlwzs4RQmge^H@3n$wkARLYd5YQ zSFZWEM7A>?3Tp1!grgbk;t_pl2iTX9+f8g*K94 zM-zXv?}9aHqbWL>7DJvkPonnr_@ruqgAGfH93^5T^C}3%tZU)&Yrz%=#kK%hHDz7) z&e}6=2kK2dBX#9=HDk8^3SBov?{z38aZGe>M-$hyWY2JoXp)*zaT%6D#}LVyC2BvC zPH^XKByA@w(<>d1b79TgKsR(bwiZd(A5HgdWo~xS6(3>rF1r_YgHd+Lw{7b+FZuFz zTMqUGYQHUKQC0R z_ewc)RL_pw>e5|N^i)apU7wI`(YGT~H^uf=kPeA`*>?m9*L{uBec|_5ZcL**Fn)<* ze-X4BK?D6yZ_}2z?SIEzI6>0G9mtkAjVq&;>xsfSqSQOQU4Rcs( zd6<)YI4OV_a~aQ+npnKR7m51_am?$xo_n(lk;?wozYgts!w09heSEGNIAzC6P1aDhAnr% zSlJs{hh7V~Ii_@$|Cr+x`4_cEmyhb4YtbLmd4pr~k8BNHffV~Qj_->tQD$o z!#IZq1Yrl>OVehGRI+rqGnGLZnrkAXnPnswXI_Dk@qcl$waAdPLn6sy~;BX?gUj zdXY(WHnTdIIqPMq*sJkYeHBuyNy8v>+N{O6#?qRQ)|#!0b&N}y4C6W$=K5H&5gaQv z{!sFowfS0-{F>T+Piw_;^gNeUt5>6wxHNO}OtYA6;~9NUub=ypZ|4;#_xQFPGN(U# zPet34$xpPUnIe@Fs5eB4mNk!e;%Om*(rQ~{ZyS*1X|Ydpx5=`%Gn7ja8MuR6U59(c zph{kqn+%XUxovkLX{@=``nfrfx(Ot@ZF)}^S}L*IN!##YxqB77dju?l>TH|%-r2lY zu0y+2-9{IC))QV)^@6e5ToJL7X%)Y7mR4(5CK2j8VUM+t9cAj@VbZ2 zB5$XFdZ!mWNo01s7rvV-AY8m9JftZc)hs+*F&uj}oQ5##0pGh+Pj*aGy0b?9oW$qU z#4TGlQ#>bDTugLT1U(zZ2fVs3ra(0^PHtRz14zevr^lP+$AcWatBuHMk&UD)zMZ^H z6WOo@SwnB}9?N^rbM28Go0p!P-i-S`b=Gcax6v0pzrj3VrTeoH(_mxAX!|a-5p6&d zH5P*7y4yyF`-`>R+;@iI#|`LrhGDkpytwQT4lkTc45^)KIEZHKMJ^y)xF7&yyoBCf?agD z(K~_*TNr8nMDf{!t%6>$yu{ZF=w}YaRj=nYyNtE4cV!&sG#&67)Y@^JDz}}#e4<%m zP|io7+-aNakve$H-sI6f?Q5ON*&g0~8NA-U_?}wsA)D?!-2Uz*0`K!a%lF;|^vv(; z4)Av~1S65~pK-KCTVaKa*$}Pq4fG5d4)W_y@+n{B&mDoVBEr`>^f~_z`^9bD{xe~| zJQ&d|!BcJdNS>t}ZM9Eke?F@GUFTgt*_9n%BazEle131bVq#oOWCi?+bWlAoGBM`r z8E(yuEz}Q`W9Viqwda;6<4*V~#L6b3{g(7hSTv8FJ&t7DS5@^*Pe0Q5P-^`vk{ef!Jc9BFSgZPPxrl3_{fq*4QW?~Y4=HQuXt_d22jai6cLK||}p@+6bG*O5nf}kRF#uWz=jUxre zVxKM6gwu?Q?xYi+h60+@kdiWG)OO(!$sMJWW~v=uO&+Nvdrv<3DH#P4MjNUlWI5lJ zS(cjLDTZZ6k3C2)jy#bJCfihal!z(T$G| z`sYu9I*QVtg=_A#U? zt6wh3-@r}AI%{CD3jEfs1^c_}UB>?U3hXS*LPlG$6ElcxW6Cn?Yy=A|0IfmNN&wph z7wE}cxaW5JvQOW}ye+xUeIzK&>JIr8R_zwGRdoc37c`IZ8eOCqSQ%-rdG(UDFI)NI zYhIU25)^TQxo%w-)}~x}rDJ6#mUY2magFfC3o@G~W1Lx7+S{ZNG@8b3t9{o&u#H@D zv>&1zfyyl3ysgf_rE55(iOXp7jX4{>ZqFk?^)pdL8#VNJQdxfVR+2y6bX%Z{6}4Gb zn@;uAUN5XQ+FW}L_NuZrHnzZH&*!>=YKO*lW|PScx5coOM)xds`@TD4c^d=)1S9he zt%nY!ymD^UD!TZI3MD@CNd7G|PVP&*{dQCcMuD_0=Sfq3bo%Lg9+gy9EgjZ*lPi6H z)L-?bkb9?p`aiSO4oeC%*jUQ87>5;bSGgMC>trXfHC=3Co(Y}>;U=NGK_*KXYTolm z7QNa`FL2cp(W0{Fr|zjph2gSR3&Zz9;gs)uJKNOy;^)2`BCS*Kg9`mdH#HyTPk;4V zi2qU-x+Rs$fmI67*$jjr%+#tb41;2s9;iDtP0&~syr38B79kBjhJy(i83GXS!III& zA=5G;3}F@$7M{yQ-^$T&T$m{2*obf^(IL?~#lFh5Aaj@-0leA=G_HIOe?KH5SQ_b` zrm-i02ZT%2kZ39^{!Wof1FWK#;<7p_cG6a|OWqj&C81w^@q!pb-oyx#Av2=!d1_<` z8}VelJ5?P3=!m!)mQOf%99K>DSWN2p@sL)zTu})5OhaPok3GD~{fy|yBN9=P zsiWi*op=@{A@EfK>f{0~SxHcipn;?8S}9FQJ5)wUm8%S1D|ZLWGA`hZY3$oVZUYfL zxp9{$ET~C_S)z1(?>EKNV=&R@M`*%NkV2DYcDi#zwLlU`@yaF;`FBZgCb3^yBAb}* zqQHltGfL_VC16;mn0u~5jJp#fJ?m*9#;}4FIZYlxWZBPJ5(J>Q5z+MsYS5(O$T}-h zC?AhAKJmf+q4;8~JT&t~cKjD&?A zo&Jf~T-vO$#C_CbRTSAi7KJ10(&{w*h}pG#6-XCFWOPUM+0bhDFRVRKTRjOXe5qEH z{%Y+h%}XZP&UUZ0t>#ONax^!@0ycb!6%?nOT*e zg|+@ELmbssz_Z{5j}@fbwbw#YTc9MCcXk@9A~>HY*YP$?A*0n#fV?(Eb=F6{lWA{z zaSOLt(zm`r<3-$GBZzQ>C#=K@m+Hcq z%$0__tC@tExGrG&+B!uX*Durcoa^~=is6D{4zu`8F6JwYEhOXm()hkMz7uQ$nw!Vf z=*RrEqmJR|*r%dPnMDRqHh;9_ux@oK4c4EOQO7jWk?LL>Cg)x*Ic74kvtZ^NU??RW z>2#_#l;&OUdl_^$z7~&_jd6u5z^IwQ%GtMdhRB_Zx*GuVxwwA*vq*e7U_qOx$o@nz zv?CGCQSL07!BBqmSg-=MN&834nk?X4LX9LdcY4bR%=ETN`&J-=nbf>m(63Itpj6{@ z)fRM&t6|+B!9GvUv!u0bh&njoq~u#v-4RLLm$-`3FlK}TvW$q#SaR>T9+fJLFbOe?%Ir+FAnR2^se!} zgL^%F1BKrPH=n;FwXT3G1)4f5IB`g{)pa2o+Z4A{rXGIPh)aChpw5btJq4?3YrN`N zXClZ;DsoSkw&Y(vxtdj8YS6U&yg~mwAWi-gVe_fGaidI}{J$$=dWM9e!Sk4{x^1S{BD+T`!g2 z{Nx36TIN^jGh@?ymA6KE&rb&Qf2IEAS7Cb8r@q~Y5e(~_=RCR3nNG1k>g?mVYZ+4Z z_UThmvHdQo9`pE7hZJN+m5)`_Bv#9pT}iZ2Hw0~P)kKoFU7yx*+{8)Whj|RdWzR-! zX_sYTyHCX+aQ3u1|*m5G|zW}>$yp1A%R!yt;ISc<1ueyIonun~7` z*oq`H5jkckDRF=F7mIYLd&=ZoMVBrJMQFU}hfw#6+hl~%7KD<9e5v(B2vTNLcNUl! zb|wX4rNwOqw0Y?zjjx4}XEKo+;~8FfjirHZU`QIQL5kfNiloRIZU;uB}y4ulsFkGr8{U> zJGa7O1H?reco?AvH#^0df7NE8(V06{dL21}rC1DPs2Zwal5AOya%XP<5SP@GZ*?h? zcbS*Bd5e0tTs5RKe;G`Hd3%Fde4(Wzhl!XNS0#&Cgxckpu4OxmA(_=zT9sKlmkAk~ zX(6HMnJxyJp*fnPL4u}=ojB1neAV49&=p0SCZ{=7wN>j?qvsb~BLpL&Rw=`){1r1S*049JRBMe9?A-a z5uzD6qF)GpvtXiRn4;LQqUPD6uNjvz`hJE|Xg6A;cY1q2s)K&QlL*G3Qg(Hj!g1_T z24yfnrLsuE*kx3CUIdh(Go=u*<(#-8N)V!j+viH25v9iRp<>DkEr*dAi5jYbjiWKD z+Zdi>$)@sVo^3gAZ3vfgSwimVmj^bVc#5lhr(8j&J$>q*ggK0eh@^qYbQC5Qg?gx; zlBo5ws2*3Pw6dj;+Ey4!seobrsTcYno}sC)C0m^eqMr(?U1=JpTB>N88mL;Ds!9-N z)T*qRes8Isu?dH?3UoVJ9EIeLcABgEx=gk>hwFHw)g++GxEI5Ehz4pN2vVqs`Xn2L zjM1qdX(x6n$A!Lwf$4^=YI3Q@QcomF8sc|)9rK;zI)*4(4B{XT?Aos9`L3`UuW@<- zbm^iHvSNv{D!Z~Q`#~eKmMrUv9-ybhX0tXca5(F>Icu-~wVylE z6$$8U$|q%aVXVoQh)n+We~0KLDtBVy<*Xv7PO7qL+h$aI3F!yPH4JZvx0@#j0I;TVZ?~WeoSX zQekYyIJnP4B0Q(I`Ui;*GO+pgO?y6E@4YP+MgS%)}EzO-n* zs++#JYK!dqlm3GGzGxM{`!c`u3l>gxzn)?>`fIpPX*K`rkkU6|%6q_UV!(|{g<08< zxzfPf`9%<1PZCVE@`b&i8@jG)U$WVf?~IJt`gn8_Qr!ol~+oD6*P zYn-C&{pu#y)v}#vG)`T(rszM9J*T(j3jw%+E?HW!CIv(^zeix@O$m%?iQ95faYgoVBcG z&Iw_`g{+3RHk-a$pZprkgZIJmY@>Bb%)$8`!ureu&5u*oO~(koWULnf^Dnr&U4Lp} z_!3If3aQ)nU9J2Wcf-&PZ6_A;m5dQQ#dE48s2U!NdIWKzPo1u2Ig%y&MLSi?wtSLj zyTLR1&i0tkcly!A49xo4$Pk7|f_c*Z%*>8<(~S9O&9?sb*-J!Q`gTGC)-QZPEuLB%WM|8y@*q~X1#q^1Pt84-O$5r zuEu?$Qf;zpI^EEXveMn$)&1DmZPDnA)!i+p^4H7rT)s6s-kdYTC5>cfZA1QD#b`+y zHH~DDN$W`OjXzwc7syIl5865c4SfS68)fFh6T=xrjj`T38U!xn4NZcK&Dg9#5CVbZ z3bEv@ks+p;QO4bl=cE;k^|#&A>)<7L^ghuWRT+)xZ}psU_<^b^2lx^8$-rc+W-Sw*G zwo2C0?#d_@?O_*O~ir0?8hf+VnHX-?$CryJl;$j*e=uy@9^L*@e>d3;{NF5Ztkrf z#SLKrXMVaO{Ne5HWFxLaNfz&ZXx8fMgThWk^aJd6j#e_BtgOA-179Bpfl>*N85Ga+ zJ@4~B5A;E=5a+(}Bj6AozpL;G+Fm^Jz7FR~chWw{-cJvtD-VPK=<+W=fH7~Vom8;y zEzmb_5IL{MLT~nGkM?N~^bS$B&%@p6&XTY`r%k1Edl)nAXCCKu-oE}`^Ve2!O53p4 zq=W;ie5uV~)wH1cEtL2@l@*9OY7hC5FZq)%wlC?qKy zBq-e^NeK9vRo~O>c!qD*hv=|j@Ax;)_!da{w~za|ul4}}03rDV0S5pg04%Bi9{_v; z-~p!q000~S05kvqEiC{yHvl>_El>aeLp(Ke002lx09920Pe(j*OFe060DF4?O-Dgh zO+s2#M_pY|Utm#WO+jN?Ol4hBc}+ogR!MYSQDtCGYhzY(XpAf4I{f=4`1Uu<#9GtL zSl!r6+SFLf!)MFIc+$#c)ya3-)@j++bK>4d;@nx|+h^q1cj@Lw>E>7P?nUwIRrT{n z`1Dxq=x6HXdG_vT^XGc^@n!k+c8!XJnT>#)k%O6*kf4r)qK}ZKmx!pFle3$Jv7VN( zpP;Uwj;f-Tx}uA=rIfq1h`P3vuBo84sieEJr^lFs%%76hnT5ipjl`>z#JGjavYObV zjo7M_(z}Y$ww=JOtH`#c#=W-IyQ9&(yXTpO@|J|?qKxILl;pCT@u80Jsg~rrqshjD z&cvD5$A{3un%C2Y+t!%P!mY`{xZJ_1*T}cn(Wcwbz2eQ7>D!9y*q89$jPTu(;>E4$ z%(d#&qwLYS@XxsM+oSN)yXWJD?Bbg9=7aR)mi_aC`}UUX<)iE3xcBR+^yj(%@u&az zyw%IW+|tD9*~RPL(DK~F?cmJq;L-Qv%=qWg|MS}Y>E!+N;{X5v00008{s2XY;6;#^ zz=8$`B3wvN;K72zA_{xRuwp@h5s7Ks$Wf!jkHR{N94S(lE&wP2fCE>qrOTHvVWyl3 zz@Z3KICJ7urHUp1oy05F(tzf}M z&3ZNJ(w8f(skH_Sm`RfaVZq`lSMJcFLFE$Ec#2&V6I>lq+NYiWlG6rcRwaeGXkO zw5V_5Pvbi^JHM>`s+qNV{hD8FKC)$<jjTLjri+HT$0>&o79r4HVI{uTT&@P zm@8$8u9aU(*6zAejtM}S3Zkhdn{T=q=bUvGbSIwF?Fmeu!u>hv!3gIB>B6Zv>aZ)2 zCM;;B3}On)rWote>8JgKI%=u(oGMPL;jY@MHL#|9O|Qb<>Qk@1@(S~>)wFE$FvJ#n zEOE)|e3Y}#{+N=q)S_hVHQ0hD*|y#`og}y=uL>`^>Q3$Mxl@vBwUjgQWN*G;>w6SW zMag-fzy@Y)5ug4N$)Z4MrYZ5<=P}Ii!;daZ_x^dS^u5YZ8E>l5N=wn#l*p)3HnNpW zrmHoRYBesIt17<=^X0nER4eA3(|WVbF<+x>kID{a8vviX3_vif2P3VteMgMSOl!6& zH!5<4NO@nAAubM5+@j=kaV>G_5KiH2;!rr^ZnDWIOeXLACgDuhjR@aN_6;cMXz3&< z-Hg}`DA{l6&?k~zFA(|ViU3OWT6TSAPHBei<|3Bl4+tO)&_wntW_t_T+@iLMu#F%l zA;A9nml7}l;twgYN!(0Kz1|j$&QI z9Ok&j=~6e7*17I=u~QUIXos)c<&GGK8BFgG2fQQ+Z+J;5-qi$x6A^eqAc{2CFAw1j zCjHVI!Nig$G=V+IcmouJKnLTR^h^;*GhM$lMES0?Jx_4s5ZqV^Iz+&Yacy%%pAbPY zwA@AP7Jt;3#GOqmuy9hCqN(r)?&o#38}kxG};I zchJcq4iQnEJQNc-X@nsfaS2OE$`T@o#i3jwkVc505r@(!M@8T$fjG==h(bjxE-{Ek zG~y7Dz=Vm^OsQ3ny!T}|La6`Lc+^#0j_l;_9GaTc*X4ayYUM_(`o9)A1 zRaX*@VvbX5QgU9H+8L;KwrLQFD1#uv(3yOmji0>G)IR~L3r%POC2(?p2pr%OhK?d` zix`AX>;O?fK|%x=#R()dJmNyNVh|xc)QLYV0!SR{!>)jFqh#DDm>x>R8b$>sFuLLu zqv91f^=U;10f|=(f~mTo#31P8U<4hR7lY`8R9RBht5#JUR|brf=4(wXrSlW$&}JGn zQ9X2QB75T;nf~*x0S-ev&$4=z70s$Kjg^_h5VCS!H2{l^YSh)vBB+KyHX&IN?4}xS z=7b2$F$`;nz#5d5?J%aHXwuGX(bsSQLIFU40TaLwhn*FuXB&*#o)WjYT?M3gD+1q+ z0=UB^ZW)Zb3gn{fRm(k9b8Yfm9vLY)GqG-X%3(a4Xcv2HJ@b>oc;948=DymSFE_KN zUG<6+zTPv$`J9xzFrJe{-Z;b|J^?>;eB#{XWKulV@rOSwLJfdI0~+25;4+9H5h(dW zyW2g0S3qJCleoksIPr^LaN^*cARsRg&IxExhvCpL2{a60h)L`MCuNX?2mnD~`>n|h zgt(yG{xS?GI1~cJIr%UuN{k8-036^V0O874I8vLqI29v~@gN)(3!LH&Vs;yGD^juJ zRP>n0sW4$I3>7Jy5ZTC(kc*OY0gEO>nG#TzvN#8^iFdf<%F<@seCPX(bZ#QdOwunn zxLals{AJCebVw+3RV$hRQ9!Q033AVPu7;lVtgAccnb0=dMqukM_eMWjSbi54=Nw%~ z00bfsoc8p9YgLI&L^Ym zBk0^+`Z^}&OUkj+uIz7=Qxo6)Mzhrp4roi}8)27H00ji%58_AYD;_ZjOei@MyBMMf4v`5? zB)AfXPzjZwXaiFb04RW>2!dci8iW&a zAP^xob1Ro)j4%iwB?2Ra6PQ4A4fA0iwhJ$|b2;ZIJN9!hHDZte35S4EF=h!oD1%DJ zbUCpIm@o;4unSTr0+b+7MwMikzzK(-4O6B(BH#`#VP@!{3FMG%(nNO9w+Y(hY-{I5 z#b-@hcn*DG6LaS|x=~J$#YcMtDe3vWcuxNQGX)WVCw!((PKnfjY(PnMeg*8r+d}m0E_~m8KlWt9- zMpg3?#D^taMt$D^ehK9W<#!(P_D*jg5QI<$V~_^#mr#tr2&!OYl#mNY7EpsAfP;`= zO{NRLKnVrN3j)In4n`2rAOaEBV46@AIdKOV=wEAcfpFkkroe&t6I2^$35GC&DyMQ4 z1cZlR93!vb4lN-LShR&*XeDYjcGrXsgOE;!uoBMm7i%@+%l3>e5sl18jqA2Q*{F@@7dG7} z0^c|WW8ejUus?~Q2ItsOPRNeHPzmqok9mR+_n42ou#f%dU;v2|0{#gH1Zja7h>#>l za!%)vh9Czbb`uhb3L%IbB$*T%S%ZzzkseuNAUOyrxeFvoWUhd8_vvpBX>>%kVlz1i z4-$_@1`JWglS-Km?-i6_CybMWd|#N9hQM7-2@X#w4pDh$Y$q5ZunBw>YJt=;j@FhU zfDMbNcbiZR+rU?af-YAHx=HduyOD>aIUwnBHqV3&tC40#!OkjR&Q37CQj zQ-uk7p17Ec*_fvAm?07-l!=*^IU<$$E|RgC1JaprQ;VOVO>%_}OwtYCHJZCuPGrg? z#s`}adVJz?rNxJBQ8Suo`VHFvPOoVtwmDzaNTv<&2ZHbg{$7(4^0tj&lLmw!2m#i9 zV4whjDiAy&kkR)RN;Z$rNuA9(Fav~-nxK#TXcE{dbEqJYa!@;AQ;^@;P~n+l8@LD* zS5YOFo*#yUB9#h_ph6;W3GL|+kiaM~Mq`ZPVDtHNBNhvq@T-iXpZbZc%6fya5THah zpdhqka?y^!U5PA2ZoHJ)~c39f>qjMCnayg=@qZ`x!u+}hI6Hy5h z5ec_-p9{l@uGR%zaF`!3vLrjQiAj1;Di;|MnX)AQ8L8-1;LsUck~BWiDPbaP>>>i6 z`AgjpOiXe|=s-;7(zE2lBx4m#@Pl65=MB>q4&AV{&eTQPhb2tH4a_4ho)EOvhl_hU zBG{)+<%4{n;0;^IBy$A@V1Q7CiW7(0oB5ImgJ4hyg|?Ea3cGL!f`DYekO}R`w?-vU z0$2%}@C)|HPk<|cgR2X_Aa0L9sxW8=_yRT`cL<4aFQ&j@j9^1K0SDstff~gK0_RgD zwW}obVl76JBDsH!z$iDxQM}qhKIbTn07E|q3pCXTBeuG(AaF{hyEpX+H}$Kw`&1is zDM)owlpq%Zm#0znR)zo%pf zLR3Ua)E0DH37wh{mrz7c_y_`b3I4m_H63LM7lf*B;#(px2x`z!37J6_l|PM8gaRjX zknqQoJW>M3QjD^zBH2;`N4p#8D9+G>^XWpD00|tWtfs82!1~9qz$mK>%a(izuOJuE zkO_mR5nL1sp)f^3{6)f;I3$u)=wK?mj1K1z3gVCr*YHK5bPd?B!-_SC!_Wx~#|aVK zqnLGYvSkeiM;zY#&5yRf2wPfcISl3?&e%L@3>UBh!3lf_TYP9URwxb6AT7dhaFoCb zh!U+g=dqm_dL=y2BzwZZwI(XN9V{ytBw|H5`@*z0Z5q)TG<+rFaM9xsCSMvg$;i>9 zX?@zGD&>O3QnOxhdL>;_{!Y*n(o8ZFI$_3W{7#+06L@e5n4nK4F+e(vU;+_1criaZ zVaRUcTZ|wAr+Q%%L_rc`V+~WRc%x_z(}Yev)l}Uma*-$r%@He+71kxpR=Y)D-O!^F zGU8w=%goG{la>1FSMQt6He(aHGNZdu&X)$U5i8fWLWmLD2~Kqhoq$`cz|V)W3mbJP z0PSj`N6-Xq&@_P1Dy+~ftT-Zr(pck)5={&gEty+_(HRXU8|~37?a@^e+UBBs$!Ja@ zZPLBwIFcg}YD7KpvJW#MZ{}w|ov{K*%5Ay&konzNRniQR& zD~agde|XO8P1mw=mk~SH@_pYQafz@qn5h78Av_8odziwNn2KGpq(^!d);Fj(A*$E1 z4GptfbJ>|4CKs*Io>_~a4X2_#+8ln;s(m#jW7@6ln&qRVlOZoCLEF4(+efhz=LkT& z-4?%148bkj#Qh*ZeICc1FH4Hlw{tMgEdtPO-9~=o#fsewqTQ0Y6y5!LZr~rN)8LsQVXtL3m-8UB4gH4UhAV`-sr6>#35&a zc9y|H9AO^jat-Fe?y&J4EPi>33w+=sWNquVj_XzKD@noYy#DJ+QS5h(mc(A{As_O| zj{bSe9^lRX>?IuS(@xOUe(edZ?GWA2-cB{&P?_Rx=fojB(-TJA#Xds3K1>pZK0iIq z^UIr1v_EVU?DN{h(QB)+T}dxJ=o5y{Q$5=-XvhYARq0IALp~_c0Q*A#w*=FNS_W@G z2x?CUU^D3+WC=Tl3BMrRc*5xbFBF7=KQ+V%WdH{?ls}7526~@As~RYNPsj?hL(`oo zE7elFO5J$lLNG)Lvm6Vuz{!^&3r@{b4&%qK>d{g%%`2N`w4&~%cRqIOt;q8z&aNxpu6XA*5Hvj+<01`x?p$HLb)S$tL(UK%P zhzzAE6EdVlRd)tmdPGUYFI_ENzJ#eOSFTsDRNcgR6V*jV@hsl`2&%5s`MeLQ7G^SF~;2wq=Xf*;;3jM8tBX zcJAA^&MpaxE*ls#<1c3hQx^72QWbQ zD01$bPYf|og#7aRM8O5oagd_?MEK+z2pL4M!Tbuka6t{fkq|_5^6O?n6Hh!5!cWja z5F8Of6ahaGMqJR45z)~koPxfwF~9x7h=@OmEW&6JL*6Ju4LU#)DM^dk7-SJua(QGX zE3a&6rkZlnsj8ha0uzmq21%rhH$-?t4Lj5zGmbby8cKvi;DG+lOH>-+O)N+TQ7f#x zE}^I`NJMaDPrmpn%dJFVX~ZyBG|}YHw`6%_kVqJV1)56?sijj-J*7;TX*@ARwag4L zXSC4r$p4$;Z(J<6+#L(9aYTQ0bg@VM8VE#?Fodk= zA~XnLs>!AlVR?}!ql5&KnyCEh5=v&Gq~=K;x#^Kfe*T_B6;xCKdJ;Rr#AwVi&qOjL zGMhAtqUh{ICC^m$>@$_T1|<}&K?@y3(zYTw1h2NriX^bMAQk&9OO1_$(@#GQRTy(h zH5HvrymggTS7D8{v{^N?weZ$(MSNJ@e8nwSUU_3&aoUPC7TM*Lm9E+8poLc2X{)^! z6~wgV_L}s*4Og6a@3Xj|bIVEhn|0Zx=-t)Fo!1lt2l-?Z1oQJZ#N9t>utX61m9W7E z9sDME=0D+GtqJ91K0kCCcG!A337*)%O&a6|KO0@l&k*Fp?--pOzj1(~KuD$tqe2Qv zI;1oRQ6v$h60vBILJTRyP3nM&NyO|BkWhsq{w5&;K}-S@aDW3LCZRt=BmxbIs9+)% zK?pUdtVx3)#3CdS6_FezBvVm?B}Bl8p73TT6hVa}?xH6`eNAg3ummLRLMRc0%}{M) zn_KvFh)Auih;Et1EEbbQTEM~(k(gU0B2ydInCcoV8qGUI@Q%>jgH>MyV;Dzcn$x6) zaE5cuuwYY--9S!q#$nuVBKOAIbZRlHScT;a!1dzP`upi#YkA8^IUmDJoKMa-(C;+_49Yk=4n_vPH z(GM_S-fkILd>4E*@VX9bcvgA`r1gkec=AW}VwRNW;TIUm?X(i)R& z7f&w2K@_^6GEPXmN!a@P&GmR!XAZODa(afRYA6-$R=<(Bk~=u zl;{)D`a}Q*l!Ha)XAwD|DI-i%86gbu z*S|6;on%5;lh~Aq=tPYWRHH~LUa^+2@TO2*+gfV>X%~PRbf9Td8(JX6L}SgZ7KW(A zY+7?SQoCMcS*1l0=)<_i&1kFW5gN{rad4UOsNo(b0yNH1rNL@sN=aI`DgPS)t`M50(i*rC1TXRpyCRdSoqYIJj334YO57y2NUNFQz{7iC`0d5E<>% zvWP>x0S!!J8b<7JH2%T5%pz()tYQnnSjS=nvSpZY88TajG$5jb=_~`8Fxa#tk*Q9L zD8wWVAqP8!7800vg;-4cwX{G&wT5CX5C!TAOYvp4&TvL;=Z0I|vWB;+@$F}TE8Kh# z_qfQ-C})^U59gW@y3xJWan@Kk>s~jz#kuZmxT~DYeV19`{SFMsYhDpdD?Bks?|KR8 zUShykzKG;+edl{$+2wbV`wg{!0W9EectQl-aP>m`<%w=UxYhpxUnyUGRTy10c(vXa zH*!7eMt)-(VT~n>gv~r~T*y7)n5wT6vW?5+Cmh`vgeSZKyo7*35P(R)T`6J-Mz9!y zhe$*?CyNHC{v6H654OW(o3g(*5xEeFpaUH$SOyH{I}wGjtjgkmLpG5R$ONZ~NmNLY zRnq-k8o*JLH|Tr7z8_^iHKGh~Wh<&T|bze%ihTX&r#_&N@fN z2fzL~^@ZcLcW~sLH_i!%Cls%E1}`2Ipa@6eJ@JWcOx{3?NAUC@&!ELqB=V`OeB)gW zIS_6BBf=+={J%W0AaHPF_3rV;<3X|d%QJpK+>kx(mj?*mH$dDtv_w#39Q@#4WD&#% zlO4uw2{9c%_=^w;9f&Upk&H0-bU<<$obQIaoDmB1Uu@D)&BP_fkJUrdOuqmX%Dun)# zd%3XbA*->P82Jz$40{iXKq_KVi=7}6q!E+s^Pu#afi|20OCvk#pomOULzR)5QGg+; zK?TbZ3xM)NfTAt`lLf}Gt-5KmD$sLhkfXWelRZ25FB~< zz)oZ%6V$E{Y#ib!oWy}6sq@5-s*SL7j_8Of>>w{_NjtT>G&)?b#L%g2$qXR;G;(pm zP?L|pBZe_VHAecy0a1$rvBG6!#?yIGSJVT_ZLzQ7eH-tkO zltU4)#cnKvJIq6>;X|$Y!*=8g+L8rL-~~dQ8$%>OM9d6D#5qQ6#0_K>NdC+R$XU8C zQo2gK#7yjrO-x0oYqJ%cx?Dl2Qq&dg!j*+oMcQD+=YWn^ypC9`!5gH-=_p5RX)j%* zyPmSUQ6oZN92a3EMzvU~Aw))2YsQ+i$!3hkn?w;L^b!3kL!P*?8v_$0bHg{JMI3CF zke~>q%&zDl1yVRawOGeKbVol-qN_wG+xip|jHpC34OQVs4Lq(4Os=vtI!d&}e$c4W z$P5p($Ur;9i#$ciIkZ6oG%LysMH7Z#2!^m*7Cs8Eqx>A|pu?WPBlFm)((x(IkT1TI zNtVQqB=nDA^vTDhFZzf=oz%?DbeNpv%r0D?o(#NnM1`Q-#x(Sx{-P92OVb>tWXeWz zN~okK$eBuZtje~*O4`y&PvJ^9`^wMY$9oV<3@omJG)s&s$h2I`d1y;BdP}&xN4Xr1 zLc^6q>qNY~2EF7; zl)}%fLeHc^{nSDX<4-V*Ol-^~((H+#97>gGL+}jG^eRUr!yG-_!>PQ@L!qtY*iFia zOGHEsG6I~?07yqXOMpDi5e-p&xWq~X7seC^)j*Btx((N`%j%>^6r|4RM5E?JjSZC* z=d1?GKn(ACG)Tja@QkS@2_0Rgv@Q3%*mAgPs_x+`7}ah#LxXqw*1^u zXWYUrokAoO(0cL`1I>ukG)nLkNe1o42i3#coX~efC=1m}47Jg&)KPtOl@HxO5G7F( zy|WYDhZI%M71fLu^{5wZjToKC8kJFAfjS(`(LVb#AB6=Vr4At-(zW9wBQ=G$>p{6w zQq5q}Lvqq5wT38-PckeTqmFzw7_YgH2&)9fl!lc}F32}$v6(Cmv% z2wlestx$R_#89af-{jEc>LSkg$39KEKebjs)rU%C6>-5%M14*WluniE#2lT}c>o;F zK#kczj8^PUXVKK`AW}>lPq*Vi#C)%lEY&9U#c}>=)z~o+D3#L6gdBdg(!6VzSd~?s zq*Z2ISS*yr_6$w^c*#cU)dK}qq+HWsbx`PdN@L|iWSvuGtw&~!4QKsLMwHePomM}+ z)|N%iY~6=#4XSSC#BT*x7EH7|MI&<6(Q~DTbRC9u)yN=y*G*-+dEG&5vDZ$+*L+{Sg}2rn>5?tHIcO4Rf??&Glkpbg(r@cO)sHa+_YPf?G!tOC@a!a zX!To_CCF+W+&?W`Ydu_WNZis{+{TsM$Nj`agVD(qfy({O%gx-)y@t+3h0k?Y&MDpN z*k7AM-5pfjQDt3}Je@*)UD%Bm*`?juWmVDxP5R1RwFrrAq2LOp;Dp6sS^7^dtj4xl zkmLPH2t7^a{okqR*tz{!u|W)DX^c9}Ti3wO?DdS~;?tM?UY8|Q)Nx&L0GIRt*t)sb z^L&hE2`jK zBp?5X30huUZ~Z_}HeyBojnr#UVp8r5iZEr*NRP~*49_hCv#Y7W^wgceBe)aQA0%MD z;S7pkQi2^S_PiZq?&aDEST!DI_|RfFKIRL?U}ZkEhjnJ+z13*O#zUiKs--4z=XkpD5NN7}8=uoX2cRnP~km!`8=z+E9)xl^p)@TO4tBxk-GEm?J z_FDh6Rb{rxlGe<;o_&zx^=qBvZn6^Wt0mB(F>Ikh?5ddQZD#DnFl5@;+i-@J$?o3D2HeaBBmQn#&lUmP z25`_;3(+3!(zc1yPK?xM+I(bA)|M`vm0U=*70Q)ra<$yr)?7(;Vv5l1QR8i0@NJm_ z?wbtF8wV39f-RGv==-yT8)?K?s1|>iSis%D47HKS0hAmKr zD_q882>t>;fMzW%w!gOEDm?EcREwP0iS_0Z#JGvEZX3og-mwKTH(qPd`|fF*{aU%LX}DXuvCH`Zcs&ST~OSU ze2)UY?bJ!@^@Q=ZuF`RFZdHxD?H1_@=4b>~wdxLuW{?6Vr-)<_^73BhBj;-nVe;LZ!EtFEms9DS79%Q1u*~S`o0D-H*+t-R!3HIb$0V*XY&_Qi#Sj4 zIah@`hXn>-+&|NE`i>3Pj%p02?LYqv4;S=fBy?dw3`0k8L|<@4H(y3~4@c+lN{;kg z{(eGWG(0Os+#1JpUeNTs=5&E=<4@o5WDtQP$1f1+gFfH`WUvNhNcexur7sl{5*9jH?_gWbuOWHUuSHV!rQtLbNep#WG`oCxA~ig zoc6wT1zz=zDO2jlwZ&oEVZ0ob@>`SvPnQ-OD^E@gYb<+OH8 zC!BGtwZ^EeS{tur-jyX<-;WJhok@4&G9Y+^FEwKj0b?)*>{fR}1ieb>H>UlrFVXk7I|S{sFCW&A0QH00?0M2MVM{jo`I} z3KM3_M(-iShxsPvlSuL6M130dUEIhKBgl{>GCDamt|(sL}L>T zs+>A=s!|0D7B61Jh%KBqFJZN$N|!Qi$`oZnlt!n{L;0{?J&zhoMvVR_P8_(f;82P! zYc^~`Yu1JmRO{B-!mwZGii>E{-b1>2^^zSc;;hQEf(5%A9QNC{p+kW&2BuiCTEvnk zQ&u|^0Orh?5gYF88L)_%$wVl#hFB$HWu(9L5%JAW5y`5ReM5QLwd5;TQm?)}S!FWH z!hfe6KHRqP+PL2`Z*F?HTFue{u+Hv3LAEXc+sLrj~zFTZ14VV z%=q%>&!<`Q=FXixe+C^|^yoEC2{>R_RaRPYRUSQGmDSg0X{|*}Tg=4; z&R%wzl-FJ%_C=vsfqh0;OPwM1SYwVoMoeVMO=cM}({1+6iT*hnhSE&ROwq?T)*yq7 zHOS5OT5PS!CPFgC&~_Vgy7Bg8ZGK2Lnh3{iu|+d78i$;WV0!u1W6rrHoLVT^nAvDsRTQ zoj`QLrO=(%87268mf4tmMYJw z@}vsUst~pMDnxV%I~c9k*g6-kbLrY^h)1I+wTg)qi*UfnE^E!2&L-PgwBSrzZD`ke zYwi}2ZMo&U%B;O*x27Sp1(4sUChs?I^E>z2lBx9WTUkR{uyTSg>{hX6BI_`9^1Zn! z#d8u<)>n7kMKVR|VNQ|BiL(4T=<{hd1L-roe4kC1@{}Dc+u4lsLZ3DjJE%XaS`R+> zY-M?Q5>n0U(ohQ@HPyv~9c~urP+Sk}(QwyxM2`fC~b1@QZ_~2W6 zA28m9gMYBG%`NWme2=#-r}Sb~Zh4=ZYrc6to#!7q|NXBtdg)F#lbhf~b=RpGQ9K1Z zg~*O6v_sWY%7c~M?T%=$Djx6zGrSGz#dsc^nrF6VEar*Dd4hqSbmB)gXyX==S+vY8jQ3jM8;{xC2w-ycKS0p4$Y+`Aj4ngK5`M0`LBvq z)XYq+V$K$3Q|HTo=q5XxQd4Ar|>8E<%J;h-J;@DB0e4_NIra4AromB#H{{FkezX%^^TXlgw2pS;8PAtZkU`LB5PpgL(?G* z2}B_dk%$j#$q_a6J|)VfiS~FR6!QVg{iV!`wgjCPwa7&>c+oy#oYWX)cBumbg%@e0 z6&r76yRN_yA9C!9(dsC?JK_;)fh6Q0i|5B{?(ukM5ud`Er?syMhLJXMq+uWlNzhD^ zl$mr+n2MvEzy-`qp3E9@>?r~>73-a(MBj@{36nTkEG)X3$UYLfk5=gqbGLkGOit+% zUzSaP78M`?$yi36?5CK={7-`BAwk^fZX*w|V9~^3q8#NhnxFCAX9O8Gmay}WDVfks z%`#JL3eq^@M5O%Y(w9ay4E_Kg1c$DU7sG%0(~`-NS5vd5&r9-9pZt7LQ~!CPVhQvm z1P!7=%YjgZG89ozgeY2DBGHym^rCKkSw@Aq(T<`~7@`WPQASEZlhOmFAX@2(T1v;4 z`YNW_$*WBk;G*Z@@E_Df*y6bW@yLC-S zcfGsU@J?jBA1rSN&-+;S^0dj0&1N6@*wf*#G|6G9Z;kGY&dBO_9R2MtPGDKMu)^N?rO{5E@(=Q8SovBuGbnT{)^Q6Bf0KgQfHtHR43SK%e4Fg;o|g|+4L?i8Ig4XUcK zX+rs`6q`i;Rf`9|%-^qI=9*%Lvk=Ryj6RemGO!U&YnJoox5$~!tmy-vlL751;JIHZ z(d21%jdnBuARTW>LyFSBKHYS6j0R21 zmD6YMupX6+fegzeVW$hEF_C5~SE<=0y6!w<|= zY||W@GR7FQTTnt<5p;>PS7389uFwZ#yd1X1h=MUreg)XRC6mo4Lc5fZW_Hbd4>(V` zxYxoG<(>P_O;0xvQDR@Bw!7+!A{|QJt@TEGk#zR{dZet&Y1N@*b)Fu|R|fu|3qo83 z)ujG-dle3?xI=l#a<{u#NC?zZXYef3k(aQ(!dbz8xriz8_&-4|@-vmZ&A?`GyRN`; z$u#~*Wrpn(+68SUopzr;zk)J~(5=yIK@WOR!W57m?s5$6OCtJ6L{SQo+8 zx8C(Hf*tH)AA5evZpO0{BkiJIdrD*dcA?V!?jT$^-sO%?y_1vg#Php!0RJn(w^G-J zZ)f6*Fl?TaoXy11UYUuZhd)!E%_yOblD;toC2XGM{49bVz9ITEi-2y>HilcQU%0^t zy20LWz20w`(puGC?d=}vhzMBNr8wHl(Tm4=JUdje$ zR|m?HK78O{p_&Lr-`$yD!lhRV3d;%x71X$3VTr};?IC&*mJMoI*_2zt2$+++#e+G? z!oRO&oTU{#h(vj%
    b9&R7;n3rJ89toa^uJIZd9^$oWkK3@#ndr@Am`fzO1-Yr5Y3NNQu1(#@ zBbmL;7L-Q+tqqJ213PX30NR-dT)~#qqCuJ%5#b{3>7oemVlTqL7y@GjN=m*3Q!(;b zPaxyPDPuk`;|o3?A0pg|NTcyk;|xk4e(90IWe_)F-`_bL#`Tvt!jRdZT#RTHIML8; z&{IyrQ->i=h-nof`XiGVS{5E8N-)OjF-A~q#}>ZW0w&rnJ<6nY5g0zC7|y^1UQ{qj zioRXfbqF6=s)Fk*Q7cuM2>xMbB#o#T7MG#qH`3v-P)29?PD}d!1qhl2Q7M_Oz1LFN zWcU12Px9nEg%T;<)`jFC()p8*Ou-fyrPCecP$VTVEF~~Br7k?Bi$&#&O(j*%gjHf? zR&J$4ULYC{lXZyYT#+TGm?aaTVWj0+&gL~V2W>K$Tb>}RWn=Kf;brkr-|3|xCgW!9np$>T zO&+H{0VXFECUZ6?K)F*SPN!s6XJcF^FT_buY-eV6CujaP3V708oF?w2^HX{>tNQCrCeJ%u__US-XL6>GlX{kh>A{5@rDFKP75Ku7Fh-W1 zsUb%rUx2CSGGqN4DdO<=36&Z?T$YNOriylv`TAOff>W$pp^a~h@BahsD!*i-nqULnlVhL zHdVWVDs&PW{>^J-zKAb~0KT$_ixe8a_N%{kslZn4z=mji7%UnfY}G03!ZIujIIMKx zDlqBWrp;-^UdP2+L&gH@#;S$KA}h!O{;D>OEX+ok$;uYWMw80U9m~>@%LXal=^B$h zsT7JIAB>#No=G31S#r#V5_+3TC<7lA~*$<$*E&IIX^x812^X)Z%Wy>hAfly9(bEfE9D`VuIM zYSsIu%Ug^_Kw?{;sfDzmM7CIi5x$uo@Lc9K$v&Zk>7@(lnO-JMuxiMw1B-wjpz)s- z!4&`l{t?4yB*RchffNkI(l%}EHpXx9tL@q@2@7oCxhbm- z>gehXuYwSFE1!yPGQeYfhcNK zGZ+KUWs;!16El0O)b+8NA;VDYF&$4ZW0*?^Pp}Ahb5RllAPX{+7y}`P@TsD6I;-<` zfGKyl>Pw_jPsnpT3$N%v^-Gi}P1G}1-m@l~t)^Y1^Gb{^1O;NyPoi!wWf64T8cQns zXksDOH@;UPz5WHtI&`hwC=y4jI8O4jOtGNS;9#7RaoVImUgF4cDnKrxTOh+oGe;(F z^D2Hz&aEHI-5k#GTx;aq`=KIa%OWvAV!r6CWzV7lr^FU8Mk?MM?D~Qx9>Gmhr%-Dt zQERACA2q8cb*wJ+5jC|`OLA^U)NZo`RnLS~KO|Q7o>rf2CtrtGgY`Fv^^pE(Szibc zqxBH0ay6=CTVvx}yG2|-BVR;x4|8{3n#f&CbzbK(ND@|Gcl5!G**WeD;-CaNs*R`a zqq+3s+W??ytWB}`Sz@*EUN8#hW;_2ylRia{xO#3K^&b*S5@OmciE=uMB53d-7Wvb~T)QH7}?| zI3}nEnYDLRXG3x*~# zN_@E@hk2`V_)2*AE6DS^iMX0inwrF*e9$V`hV5Hf3jx`>#PXYQqk?MchbI@)uSPol z)$sYp?r2*M`dT|H-J$RABs!DB-9vjfFW)7$vS1M_`%+cyr=+k0DWx|Zw{LtEe(Dv{E0-T~b)Gvqn|p?9cq+Zg ztB+|aaqZT9zz1x=2BdgOY~{+IxxJ%laQ7mN^SiEdH4eXtM%HbPOsHD`y7L`s#L*>` zi%9swCM-*P!4teK%ezK%udevD*?c?4b30%nCAf#YIgdQa+pfv~YnZ3}E8PA(wzho5 ztHjI4{LH_7OW1r-fq2f7=OwRc&zDV|`}>Rs{VNQ8p=P7egY2~{y{s`k)HC138@baT zIo110;9h%KWW9O=$7hgPK)t+)G@*k?Mbmc6;3{mHAd z+NVC`INp~Uk3{Y9=$#d@_074cvuspSv(a~C-h z_hEYhmMr%Q4?la83;&`D`gRY7uFxbvjoA|JEdTAx`&kA`m!s)>vA!U~Hmg4CGwr=% zA-Ja-WqvyBivU3I;w3_aK!XN#B~-YOp~6=WAx6xV3qVDS7YUXrqyC1Ynu{0-hJ-Pa zXi=gBWhPaMrlT5EPoYMY zDpgfgt5qK+Bt{HeSFc~eh7~)u>$h*#(56L8mTg`+Oy!tM^SOwkgJ`-Lsw3|@GCU-RJCwYG0lf3jJ5f%V%&W6c_15#r zJ)q)?uRb&uRjMidAVr10{$A0FD*`diG_JlvB&$=ozG1L62OqqUva$NA&{V<578RERLWu(@b-sH35F* zDvmTFlnkCgVhI8WB8Z@Zhb!RD0t;9&k)Xxm1hkCs`eZ52LJuV=QTXgDnbD9qij<(K zCVdDNSOfx4)0t6~jAl-4_ABSF=1NOcwMbQU)0_tjOfRDoyESOM#^U%dn!Qq*th-D^ zaaYb*^Oc|$X)IPp)|4&c3MG^{t+XZynt~W(%oPEcZ(CAAimmF^ZCu*+X!~t?MbNF< zJ>VT}G~nR=7MOew+Bdm=nfo{3=LS}zU_$;8Ua6&p8-_UI?Ix}`*Nbb)c&3f{?3kdB zbz(2%_eL(tWcyf38Pb*ayUJyld660F-NE^kK%8q8tLM79Vr}Wc0!*-I5%xlwX>g>r z)k3kH4vBZ@r$|q&CCz#rZHg&m`##6cIP)x9@_Q6vND;0irtoBlIXg9KiK*K* z&F(&Tv|jSpx8aBjT!Z6<9)iFnw;@hn_&NyV7%~yZJq~hKc?w6Aq8^KhV1wvc7)vI` z9nV#SC)Uwe^*R9Y5j7F=d@r8L*T>hTWB6F%(393__(&B}*R~XCasy60RQPxJIhbVAO zE#}Kw`abh5v&DuO$S@L1f(48iVJUv~I@aCxw?7eF;R<~71#paE3}8rsAYA&=0Tb9r z1}4sd2!WtNB$x{duIVZlR6_=JvcV3D=Yt^$;dVv{fESjBbX*)1Op3xn)s5tZFqB~p zX?U_5ia>Tcteq+%;zM2lQHaIV84p9fXov<5lRdr3=PlQf9pF1egd0&G&AY|1WE znK097=S~+HiRc0)tCfZXhN@E`4F9y0n>2-XPw6RCe#*m_33EZlG^&V{nW-c?Q$tHU zn)RkOJ!syfLfe#H^uPhm;E`%9SS3|qxTnr_ss&hEP)3rJ@ik*?p`I?frwGuBR%@(v z3tC_+lL(@P_!)zcSGX&du7J>nZYEfS+-qM82^_>;L8F8WiAMzj(vUW1q!sKWDo)yw zn}BnrcS?yxUJA<-mTsmsHPlUEXtJGZRs>P`sZU!A6`{g{sG&OQZK3$YnJv|4*du3G zpXxg>Vy`h(70mJep7#~4dTN~BmG~*CmCgyu=SsV;iYS z4OJIER3dI6JRl?@@hjK3hVguR+_pIHx7?g+H;ubZt7etHPitz1otl?av1*LyoWMP? zTjDHd4E4E+q@re5syFOXZCC_+-V2{IM8)YAx;HTfubAZ#G{xp+A4Y5&|nk1`C%H%jJo>u$m)dY{VpJsg@9QN|oEVGKPfx+uu zm-*LcNlUQHxglcvj@a5`iL#gdY~nV1i>sD)$GK^3yEzRf^U7Owmlo4BonoEM72>y*XZ@;;A%U@uH^Ya;D&ywmF7$Va)AKX^oN+-X=^UOg zhpJQ|^{OBU0*(%Yq-T2RhH84fbsz*3L>&hu7$reOZFO2=y$nl8!tu|r^@|_?2RIPG z@B4IvB-|iTUw7TC$!>PE|I$AWcDqsG?iJo5x9-kOW;nB$ck}1=RaEsm;=R)8m%pa__N35;L~wytsv00(;D`7Folk|67{4Ar*mz;;PLXeX%n<8~4Pi0n>? zj0pYCFYYi*d+d*!CS(kmi^JXz{}QjN5=2mtEB~@Bc}7I#3M02%j=TJCH=yJ*2yk3r zt~c&5@@iv`7!3k%Ljpsu0w2pvFz|scNeZNZ0|UkbMZg4E!UT7~2ulDZRSufunETw3d=6Rq+$wrv1ML? z!LV@sifIeC3LM6-E!ylDYlaMK#tc;q#8^en*3jgp2o1537^O(@0FPDZkc_yCMffKV zLBmDF@r-WdYT^i?fB|i)1fht89g{>$fI+;xWJw5UOT?>50xLPXL`=v87sLc#!~_?3 zp%=s?7ZgHF<{%;FzzB>$1Qb#ivH)DNpb8q&7OG$)H!=$(A{SU<35p;Ek}d;!AS94L zBWz#^Sd#k4fF)tF22i2~kN^pE00}Yx6nj7jZc^%U1qVjpVoHD@bU+9GAf^V2vM6UT z_*TFMM8F29<6u~FC6@py0YDa;&-nlV1idZ@n~*4Sk>R!vws4J7gh_XNEu4glELa2M zq{a+2Wi7Lio07`?uILQa534EyEj;8a@~_S2GPk6LYMhM!Y-~t|q#P0L(CBGb#O4Up zM!fE2kbWS3z9kRh2N*bNY!K>P%H<}$1xkP+55UD3{4q7Yg|R5AT|V=G(kKh0K%+t; z3lgGS&IL9V5*Lo(2=rhg3kY1Kz!q{r3Vr}Ke_#$ik|l;<2xiYDQBosr;0KdH2+4p6 zmVh9ZUtwM6N?-?kFF?JH2#DY-1q}NRj4Wq|7o&oQ&hkA}psOOyc-hkSBg1B$nU>UVtiz;0FxFDVLxH{?sXD zk^^d>1~$MXcK`uM&>~FG_bS2?iLyOKAO$Kw2YLVlI{qz$Qs60du-|^5KR=ZxmS7fl zU>k)!y<_aZ!HIe>Av={c^T#o}aN8@Y-0v8O@5#JU| zD{@P_^bvI-7v^9h9T68AG9j)M7ZzeTU(X^uG3jK&KvhQtd|(L}7YR6EQ&WHgkiZ8> zO$8jbVV^Pu3l$}Npaf-*(?Zcvw{l_^)jf3p1vu6Q-4k*NwFY2d1sc}|^b-b3mQPRB zR8bZH44?!IzyMa2RmHAk<|DIaR>3IcWgM)i0<+ALNN2%e?!-yt*zZFlgBiu}nW%`) zK#nq^QHzvSY16P~!mw#?C9H0gAOPzAY8ulw#AOR2$}~b^t>9-X7D=GQi+~77exe|e z8i}I(NnE0o7wSb11TZ;(p-QTtZF>QrqD2X^fEThr3Fcr9@*oO&K^GP{BpPypD>w_H zU?L}21ggLxD>4iIHgB__2ciJ>D&lZ4O(vGW2yVboVvq=8PzO|?b&;|MYCr{Q;5w^v zBwAnymY`6J0CHon_j*7FFu(#*00mBP1Ofm6Mv#edzyK;hb#(v;F4YFN*gR_>iAUo2 zia-RCfG3i`2bds02UI`-G*J;CcvFjbbIEv*w=C68dB==-UDSDZ6?&z&@0Mv;b7n0O z`B$B7M7r1TGOR?ORi##xoJ9UqdrXwXr1fgT>#Y7NMb_#8GeZv+tFih@u=on08nCbI z2Cfk6koc;vD3GrrIA6q8Am*U2N|+ZkxUU+r7dWyb6XKUsI2Sh3782qjfq5Y;7A34> zg+yQpNCF8Aln9EFB#|;HAy=A-U^*Z6_y{5ewRxH+_nM1R>asE`5kPa0Km}%XDau!wfBj^{A2&4FC8Tjd4RT zWqFPjo2F6OPE=XB(eAQo#LV}3&{wP$&8@hr=B)KMc&z7u0dB8!56p!0&`WQZnFE@6 zC}tpGZ7*U!(G*d_J^o0|v$#X)9%eDxvru!dox!*Q<}E0qvT_2hG3t20x~!lX6nU-i zKP2>MzptUAs(B%r3xRf`1%qhEx|{xT&LY_wH<}nbTJSQC?l3uOPkInb+S~%k#>NXd z7O{bNL4l-TmXU)w@)f2NqALOv2LQk%2xcgN!UnX{B!ZguoX+VyYjt3N)V>3#>#fsJ zKnOgWQj;2td;02{8Wx`#C!%^O@K`@=?bg(8Arv}jajP%B=8~PL8L91hIaHB7tgOkp zt=HOUm5cDOhvnKYBpO-%E;=$~)LKm%=b$^$@_KE5jIRfxx{X7y$CR)YV(9i(Knbym;&o6|s`` zI<<*?cn~uh9sJ4{#k2XLK@sz0g2>&eN^Vsk=-Dn?&0Hq8a?kwlMB7fQ1>n zq7N8;wzWKaDHOTBmuVSX*4>&iG@8ZEe9O@qxR=|IZS0Ky4}Jx39NSz92*{*&Zs-1p zoy7GTyRRGBw_72uls3hbIp%;MqMgA8_iwkt+F=0OfkNB4U7m@c1z>msz}@L$&~?lG zCv2de&z%g?J+f<(-963SgD>8NeBQ0hbcSLHj-Uw~g$}#6qZxwW7`#FmlmO#z>%gVx<9n6mx!0mw zRBBFsX>X;%MLy&&{QR2RH|`Ke$&uz?%n@xvk$Pk2cfRLOd~q%*2#B6JUIrvR5?~gB z!JHoIM?&gj+)hwJa%b-oC)*^sKD{6IDQ^nhNy4)*&9gV#?9YB-pv=?^M*h;>{`gdT z$uSG>Fa4xmiwS=PMkP_4-pQOh%uu^f*Lz|>w zTmwW4BuH8uLr01V%v-mv!92S33eI()hyVdaYtFSVOC|%}H)I?F00v!>=U-TmlX|7{DugHxyw66Y|N|gcCoYaiAJ_ z`gahj*|I_4f%(lL!W;+A(S#38s1l)GBJi<{iVYnj#WBb9am6>^Y#~AvTl68&H^%%7 zri?Jcyv$9<6fw{@R~!U0(=i_-LX6-vBSMWArlkI(L+WLn&`m*N9ppz{Pf6uPMS{a* zlR~Nl(nDm6jWz&3W>gZE51om3Pg~dt=2K(l%@dpt0Yl82aRxC~5PATUC@;Ni<);*Y ziXc{6QXGNH9(y2qP!=Ne^7!KqsU-!ixQIZPE(hVVW>k3v(bws39U%oQQbYmEr&+8j z0%C?`5$mkHl+c4@Kj@n9t|<(A8uJziA;bn5AR8OAK5*Nw2scz~EfY&5@dLLocnj_Z z(5J@S`4*%g!n)I;;I48yTyVl@Iw0}G5FDuB0}(d-u&ogB$VM{Xix(aCRVYF{f9sF5dp{W_S&ig3S6*HEkd1Gz{__MqW{6!Q-ney|`^D4_`0!WJ7m zW*}6E&_AlErwLI83tpsfg$-%phe8B38Hzwf$WTIta418hiGzne90=9=;D-_I@Cp-m64Qmq%I)&NGZH7c2=DOCZnLq z-Ek5zo_qx;dmu`*hSQYnt3eG?U>a4Ph6AjWCTwgV0vm83TD8<36K;S8Ti$>SOXwvG zei=-4LGyV+NKG-1866A$xYYtkXblGHS1uGlN1D{M<_!LNgC($&n+XKK0ueCNa8_iT z7&Iq3{i6gW=j^@x9 zf`b_x5^mJ&hS7~`7m8H;k&{5m(UHQWq+3L(Mp&ZKv&AH)Bryq0q0|vB>ZGP)8q*cF zkS1gJO{c!l?^Ja96Fo%XXKVVY9*l8?9~eVWQt-jzc(JDg8zTyS6bm4|65BoaA}ylQ zoE{kE3krL6D{4`KSMv~sT)m&Q}4$5iU$2) z4z}P44th|qUG4q=wIg_q2zpQh(6m4ZO9(=gi9;MD6v3@MNP-GlFoY%4APGL;7a4AF zgp8qK4GqgynP(tA@(rh0t;qmott=aLC9?wP<8!gxiUc5}AO%2p7yNV(0TlE=2Q}!j z3tC`=X)z(v&}x_gmu!H61q@-Tt%wP2OWPkjAyxblfyR_zTaV4QQ1m3(51{ZMvuZ^T zD!dTPl93FUHRBs}OvV<1kPLA6K?=AI!WIOAGwQ}{BFy+TGeY!@DI7!D7HZl-wxFVm zZkKCJJzpND0O>Dq#Gx4tzT)+i@67^qGS`V982I|n)ys6llq5P{YVVF*kIjt!{p z1US#Y2}ytq&k=y026p-&PZ)K6n$Y*YA4CmL;CmBP?J=l}K(}+~I~1y57+q9B3tH#{ za22wJ%x@vsRMY&7Zw=vRfa=RPe z{sc)|y5HOGb+43d>J>-1ft1CJP|@By{cjt!^!)!e|KZfHzV*oxm+WhQ``ZtU_rDMR zyhLc``*0n9-hwef!e2p$y(9wxPS4*^1m$AK905U4r`3Ug*Xnz!!YGS4Av^eDS7yA`nx| zw^LbyH_;b;d2@YJNQK;Ig;yAUS@?b9SAJc1ekY|K0AMgXkOIT;e(`sIX{d(&wn2gW zS3zpve`ElF0vH?wxB&}zfC-3)d5Crn2!X>PfpSQJ7I=Z>m4PC#fgQ+!6|q4gSWhI_ z7$!&zDAOyVR%D12D-QD^fb z$9E7*2!`|3e7OjH0ERaf7I9SgaDa4S)pv#3r-jF;3th-byTy#EkQZDOEUCl+?>B$k zLqTpRA39-yR>y`Gh>Z_JAaGb2WdLU-@hsv~8+N#d>$rgI!Y-gue}u>zWq^T)n23sq zkMuNx5E6+zku}$F4dYgPHi(Ipcr~9Gg9vGmD$!jEafzeIgRf|W?dAS^JmQMMhlApV zgy*$xOsI<=*%MLt6utgzV;#AGscAV*eJ*JjFv%*f0EAL`e>6Y?+!Kx>m>=QTf8)qK)(DQ8xta1&h-q_< zS64nxiJA-;0SmAIe>i_Y>5cSgQec>YS(%kvnHZ87iXK&#P5y+IIFfF(r;xk}icmyv z5DAxdnMEm4k>(YAwK#-dbcADMUPdT{eTha_;9ofvnA*7|f!Py0bT@;El7%^ihpCc^ z85nZ_1+wCjj`?Ge$pLCenU>ixs8COtshLIDnK}8Hpc#iIRhr|2b#j%OsmUA-$eON+ ze}fp5vT2ojXPfzmn~|rR+GUEp>6;2^d%>wuxwnE*WSknombW)X${CByIhW4aZqWIh zZZn<4SDlvlBrJiQfU`z9Wekb(UyQ?VZiHe4c9JA%o`6(S-KU=4XA7~`h0J&mj|iD2 zAy=Ronr}!#Fu7a$37{0jr9;`J2O*kdP#YC_f8`S_{s)SO(g6Vv$Y&M+8r~9!vB^CV z+G!KoffZ_2l1Pa^qJpZZp|baz8|tA=M4V(fgR%IK!`D&+DT@QqoO$VrLI|DEDVCL* zob7g_d6T2WAQZrW6oJB{I~5f?;T3-rafC^QM(RdLnxuijn6KcZA^@c)F{M;WL5YZ^ zS*jnl+NE4trSbu$Xh4T#YJX;W8fe;%(Xpm__@*ilrw=-(hFF_+ig5_Z;NWFKd3e=`j+fAsY-YyG-`w=imA7FZ#AV9Kp|lHh800U zIcGAe0k@;Pk_8K97GOa*T7nFk$8UPT6>XvZPh6p5x{wE4kq3E^3t3qT39~4Al3;@Kqdox)Q=kW$69s0n z2NdS8Q{Zu|(+o)!%HfYs23uZZF{|0V_t3P5mG#_1@Wi? z5vfn&qEIrnWwW(HSa0kbxBhzjo%pL$VzDJZWyWNozd*&m#NfZg5WoPO40^CPIu)>K zkrz{7Ne#SJx)8yhR8|#y!K#qK8>|E!{J~Lr5F$*%kDQ;o3PLEnpS{|jVLGNQoQ5wv z!<`(BLaVH7Dw!~_!^2Cw;RM9+guG8n#1}fXNL-0aY`vlA#KSkJ2kBk6=S8{FYia6SQ^r223_@iRQ}Q@$V;QQ-@F(7#ea4AqNz@rPfGf9*5&LWVpKlVHLykoN31V2zuqTA2E62dSr z!i@>Z95~4++@;*J{*B_pji8aV1DcLI>&X@U$$NIgz*`$f+nGrlPPVDMxq7YqWX!Of zkhV9y+C{~&NT`e|#a=A0R=lDXk;P-1UT=AvD!Qo3TvOic%x6T+ya zS@6y$XA2@b7%wMQRSjaJJah(!&l!t@w$hh9MRJtgV%8keThRJ5qbtdn4UzsUsEIj%tYH8=Vhv zd^io-W`m+UEx+_t+qr#xT7uhK@@oe%&Rdes>70Gu7a=bW<1zlKh>@SF;8pAQE9Sic z=$+oGV4LjCnbqRgbqL?`ZHV;E$@VS7_^pSjvEMV$-$?7x$rIqYO5ng?;KhmHvHY!; zy*B=K$H%rDE|GEL+U?tfLT#Qy{S(SC1yj(>D!$?@ zzLJ3vNtFk{2k>}zALJZysT~*u5Jyn9_tFO<+;8i!v4~XdYo6p>!|MQX{(pOPX2tv zJ~k+d6UKh*WsItKP8K!A?9I)6;Kzm1UVgZF5;{>SJmKhv(c?buF)*vb4UObj#x4!G zrY+y{3FG8Bobu?7?!7A=aV7JlEWA6Z!vCEUWniZ*8zE`oy!dYPI+CHBol(2~*+*jQ z6h7K8YQ7h4m+7nUV}5));_wf@UlA|yXzWH6Z-p37=o-KA``Gbi@bSbD@^-E5uDhiS z?UU$e?mN5k4(Rf03iEE7^PW!ge{b{Af%EfM$~+(BK0mub&$2_$3q^nQk3Vl&tMnr( z@J){-EGW}aPeoJzqE%mfS3e|KU+iT7_JDJ7+leMiBe>ovxDa=JSukX_Y;8L z>=*xHdp-qG;m(Bq1WZbPzpsoic@l=P_8~v=dOhhgU*8*`htD4!EdTP!(}1H)hurvn zG*6S-Ps2D5yqCxhwkgxvB$;+{KoVV`upRKM@ujb}k5g8t@?-j-> zNE2r>yQL2h!~_l`C=gf>Jp_G4(SwX2up$W`0uvzu*hP#Oaf#SsOi#s(A%Xca2CSek zVZ3;u^mWCTN|-8j&D14DNfi-UMA(7_>(v}vuY?XII&{vQqDh6SV%ikIQvgD9d}!Nv?OVtj96NqH_ibadWXXmNt9dL`&`|$!C0*JySFJ>Qs! z=+?{iej0oE)8MZwj?Gxmy+MQnfnB*`@?k{z7y(-hDMAmhUPS06CXp_R=|Gq^!i6RV z8N>ybEP}{oj$C^3X(+6eQcA1TUIA?^p=8p9C=R#k3M{e8C=4;Q(xNOf$sU7ouKj8h zVJ{p1+AFTZ5SyW}!dir3GPPiYOs$HDl(9&-?ivgR&BFfjsx!}|1FfRdvNVmUq*mjl zwc)}PbIjQOx~-x!MNrSL<%kmwH|3a1&bjC6Y%{vh_Nz{u?XIh6yXXEKk2&dm|`RfMK!-L+R$a8MS98_EbV)e$i)u_>;;QiIAB6KioY zBi)+Of*b+EG29y=;1LENe*{uUC5^m{gCv#Y;N7?Gs^G~e(U>wt&8(bGOMp?~vM4XX zB=cZ|Z8KA0H5pzr&feUN7*0B$o6}B=-;7Nj#vSkFphvT^4YI|>0Ebat%sCMJNyNsI62*K!vl7dIQ6YU`qGn>v zwS-%D9nIEZH}7ORXP@{sJ0->#V%j&(6RlaB8a4x4NfSg4mj=AN+EADfuxJ;fXo4 zR%H$md@XBCX+jU;hJYs2?QYUyO0}-Fw-otpNH3}kT?SV;!ySnOiCbI;E7Ca5X-jg3 zp&Vn{(yh!XX>*T5*9<(TFVJl!MgAgPz)lCYqNwgmtaDut$s{|30dY^kIgah1gS$HE z&Q81|V#8j;G2nTOPs0NgbBtFU&?IkpnF`57b|#-qQ7UF3QHe-+aS%NqND5LwkRF0y zzVzim1nLvPf@V^Ysp0W`LXjU<>Q@oBHAQQ? zE6NCrt2j_IEE3WLPjlCj>Tfj%A;Lyt^^p7c(FiW{ErwPMaDCd5shkOY4Mi}_(x7fAGeIT~mwD7QA@!LUizZ;EX~gtM zajCh3jZe2ZMUaW$ipBm5Cl&!PPD52p9Oqow&dgdM`WWK~B{^$F5Oko8TwxBp*v}qN z#S3Fx;Rkvckg9$_t2)jk7g5N<5v0bxT;N0m7qUhFpzyW-{ZRx^V9Fe_#=pw$uWL^r zma&A^22?OX33G_s4iI1#tn74PL!hXym`f~`o?79A(o}6(sp}tAGt%XhXl1eeAOkEGm)|te|FElV(aAj)D`=3QQHCu~t}MdKPcB(lH_B z@m)ITXO#5|0G=sBMP!Km*I{!gy^jc=4$+Cgj>nyCXDY5Jy_O^s8T#46^D9kHsTyLO(j${nq0C#>K}uX&jY z4i5eW(19+{pxY{fL<<Sg`w|QxBGNcw< zTuwdbRFmZ?tai0aVeL{`)0&00CSgo-4QwZ)eAhcBwz0p0Y>jU@V9b7nv%d`OY3E!_ z)()??)4Xlnq}ki;ZZlQo?C0Qh)z0aTFUhb;&3DJ!FY~5%)y>FnnCzQDiS~Dc8r^6O zU8Ue-&x%(h4Vq6onMr~(rR6G!K~w|AU($hjVQ4@D-L`1Cf5Guzo-*teWX3Z>qNU3I z8^i0u_gY4#>=De9{kxfGMK!RvZgz>zU7(kFVVke^wbwM}HH-W6&6ypXLGRO~FP*DZ ztRm>4`tW5EXL|iocb#}CSMV*3cYH7*4=|eByr@Q;cIL^< zd7jJu%(d$w=#K+LMS&(ffuhvI4&D)-I{PLhnx@#3H`=ov+fxa93ozW%H++K@SJAzH z`@IVhsNmCzpfV8ro%HgD?>FKr|_b>2^5JdV5^Lf!0XAk zUYLS8I5X-3%l(f_`K@{x18W;j3 z7_}87k_vi35r{#*zySf6K{TjA&$vMxL<=4CKEK!tA0z`H?4%)FJ|iryUra*gTfz@$ zLSB5rD1<)_X*SB!g(?g)DZ;`o+(IAn!rZVw0PLO6D?Mv;w={gJasER(DSAWR@uoW~ zFFP!+2AnihvVHzZeQEII&(L9j}0~ zAIP*$B3({bNCNMz=f}r**3?%z8zgU0; z*u~Hxix`N3@hie76Rsi5NhCy^&|r&nnVj{iA%dG0XPgOvz`1f*f#;wrvs^o z0r`u1beezax;5&F3CRVb7|2)ni=l{uD99UyRD;lJNKeE>{)kk9i3CN991@GljIx6Q%R^W3zn=1mxM_f(u|p`$zWRxVbsZ-94_hbNgn~qHuQ@S zoV22ZMq)rpHgh+wBtxZq%J6C?ZH&s@Xd(gBO6FwB^=h-M3QIppH?mwu(o0Hnf{HwR zz>C2#Jj_h6M48y8@LoQVBT%6_`N8DsYv4YLGdwu&LS0Mze)o*^gSmia98P zBB%m|^NL8Sm68lCA5g4bIt>8&Pc~44vQe8Vpd>$20VEIsB3J^oXaOYH&<&jz4nP7O z2+(MV?=ot#^1%%UsyV{9`I2SFaZ$~DE#BpN`BYnZPbo&=1} zZ;CzNu~VtTQ>!DeyHbfYvL`)|qYDICzc3%bxFbg8M_BokMhuFq$$}>c0<0LI(m*(C zp;t00<|d8+j=3c*qbC>P5xZd$tPV>BK&~2n9a68nYcR*niC46?9FI{y5JPp zr*zY6+`=Wo%Cb}xHjO*zl+!t+BGnr!a#EB%1CMd?GmNb|jXjW#g^4}L37rU8z%ZX9 zuuFYJS>L;wod_1cfZ3*yS<dM z&=TOzTL_?^ zD1x%-rLrYj%R)?qtF$I)gPm<8M*3L?`U-@5V(K;80D>Z=6#*O2F|`;1?k!{PRe>6~ z+7ytC8jw(^7z-|mf{JL+DJk2qINKWtiza9Sp5iPKD1xq`Rx}8g@vYl727nz9f(;M? zA=uv@Kmr&z+c_AEJ}%&}Kny43OygrU1V&&6?xX}3Lh@TFCaDOsI497cT*>pYqs&|l zwhb`#t}*4{&&9%tX`(o}CZH?fq(ouXlf$q)CpvAfL9t)8j7Qv4t3@3!p}7L}R08p- z2w(68pqT@qp^2gX>Ae8*w=D3-gR2`l4xk3I)K2{hCOCo+L(FvUW6^2@hP2c#2p6yu?U;{9&)g>5XW~~ALtN|5JizO%ms9l0#E!JBV=<%&SF3Ex(Py#zv19N5r zG+=`xV1hmdRh~Lq5m?)b2#av3C zu28X(L`?n|djcwE3Kc^e6?+1Sq{#hfP`gz9Xp z<)$iF%|mb5qegIast^{(7q;J}TlXEe=$SFDQgNmYuwYiAr@W_6uz7)4T>~A z;_D^H_6utXTF6{4vmj%(pjRe|3?y6aoU$=?MG>z+W(lU34NzdSz?%{&jn9FuGGK1+ zCjJfRmTpi6YU@^D>;?cM*=|*9@m|u>XS|3EChvnaZ;DA6pc}*3VQ;E_Iy8iDI4j+T zb<>C)9;XXS{k9VRUYtw%!`uV#Ew?}s8St)yG{!W(3SRIHPw)mu^A9ICqbB1jweX0` zrL(}PE93AZ#j-NkLAis9#TW~l6RJxT^TGw!u|N#ED+2{Ta2NNC=$`Qw@o7kp0VZt> zc|{ADD|3GBaWHf0fOR*iHnS+Q)2uE|up77VYNg8iWQ9}zlFFq7GNfp;~83cen{x5?+ zx5Pm2^+AU@Lk|s?`)<=O|Krjd11-ir?H}kO@c8WJa2tW3-SPXfEb2%@J zuy95dhq-Wh;HQuk3vrbKzY0OusY0(s7Q5cKpE_drjcSv7$UVDng zNNpHc8O~fxK(`y-v_cOS6Vk2s{2P-bhw6Se!>k+`HRPT727r!v4mgeSD~dgnSrh5| zvsSyng+F_SA8?1K2@}s7iJ$n2kNb;fa}fxx57>C}n~a-61CYmakbt$ zc|uxwD#1Z*fq9uP9h$d!oX`25uWp{VZYHhqpa%fbTomVicME1}rQcjPF>;-I`kkxg zr&d#{H+8EIt2^;!uJ03pmwoyAs#ITLv43*1=eLAM`$g=!yqub;5c9VuJ7JIexTkER zR$z8lj9pt-(Bv)MFD^fS#=QQz56m0!ds6Bfi_#E^=SH^5AOD{o#-!zLVApn}mv{LN z^5G=Tdv_)^Ty@t+*ngEO(QP-_FOII~f7PvWfB*+hga~os2m(k5fFMH=0tGfKQ-&AC ziWVsnyr^*_M~=Eaf($8A7r~JubLD!aa;2)4E?>foDRU+&RBHZi;>@XYC(oM-e=ck& z0tQhSAdZ44TJ!_crbK7Vkceg~8i`Pq{uIiv=?96hV3`#8bu6rvW?8zdDN&-*wlIJK zl~}W;%DHpb;w=+nFW?6a>?(42jB}JM-+TkHCOgvnJ3WWy%jPW4>J3VCK%A zKZEwHH8g3=1UHMDjC%EH%B?v+gl+KkYS;qdjs}Oi9Pi$|Yx@q~+cvm_5DOj@VYuPt zhGWKbj4pk;#*ZaMUJv`xEJ4O*XMzv!l3+`_J;*MdOm@{Y%Kj*LJ@?mh8;${(Uq=V`TxONQSmS5RJ%po;q9HdMa;?Q!TXM3!s2XjR5p)|+S|zEQ zIKugMINHFU;(}&9F?lMBQ2WnSO%)~=z=id#}#5_40`WWHI+vpDWq(g z7pI?Y_*bBY{d8(e9}zg%<(ZYJ}NO>WyImpYavCC1XS*u`P4S8_Z@q8l zbZ^!}6*U;Y{Sx-UzX1+)EOHe*Tit*Dd!_Oq8dzwUZyKI>eYl&BHCnv$h%S((zqO-azx zR7!0%vbs)fEY{9-yS2Dt0v;fmAE|pbyKjP*Dcn5SNflL=q9J#__91mQQC#8oFN8#` z7`E61swB9gDrL-8QTXA{!N2KmP(cNZ1H~?on~Q}eN4bx6sxL=L$X)`qm*>>vE5Z=Q zWm2}CSG>e5FFT!#SO>J4-3WFb)Rt+GwxgoWh*%&5jg)pLA`|)!O2R8g41c#Yaa@UM z<)|9ZT*y3&WaN3&iJo?*r;F-Yk4@NHn|ZdUlkRyB4d4?W-SqV*K%q~68(1F<+6OrJ zy+VFqtX~Re$#i80mG*RvRtqvKJVoIH9S@PRa>l{yUh z?l!8ECWI*xQ3*vt;?iY8^(Ac#k6osMmq3|Ri#y%v8ecfE1Hv)2sjZylo+A-)qC$cc z49!yosgm}^Q&w3$RzPQEvmTc4svo>(Zd?ROT#Z#fL0W5-%&IirF-a()d|^Z+>O3Lh zl_6ma3s}FNYtjFu{v1AuCL&K=T=>fQ1rez*6T2R>|G$ATF6Q?@=O|nWF_~+$=_pg6y=IbDc3E& z_+yHd)qrJ?VAhq*^fF$+Od&Coxl?97bAc_8zcn|c&EOovo9Aq8j@6lu6U;Ml_}pif z(o}<`gV~^E1?fm0k9CM>lG`+L(Vo?+FX zJy+|dvP{<5@u*knW5x(MyzPo=+GYZ4ozPO&>$PH+aMDyEz{<{N-9llF9~joHN&I^Q|Z?Lw9bUgH`ugpIc&v**b88JSXrr=ZXM$ansi zn@3v>p`r~fyQvE|(#GOAzJG^M;z9J^l##2C92(skC;U1DxdOxIaD|avVGb9~f)u1c z5GmNg$55EVN+Qk>VYjmiBA5eAn(%~{6!|3=&q>BOqhmxg zX*VRf2tpQyX_7gJK=AQ@_#AAZQDLj82{4%h;Ridw#pA@|2_RK)oRmof9{#z-4LAWC z{EaSHQ2jAV#t>V8HI`B&ffLX`U%-G3_`njJipSi*5ir3GXdn!5h3w59L8O2Vw15XN z#a`S%5i|i(#nxEVLM=>C4(ebI=2<$W)9``A@gW^CM8*&X5=>aw^39X6fEB$xpN;%X z^if|UMPG^G3fB!+zV(KsY2iXCL?^|N_+iVHG{nG|AHyjCSwN=097w<)!>wQY=~%jm zKo$^07ChYjZJE;1j|k{rc$n9m0H7KS-~bk&`5a(i)W;2o00VxGsxVVcOrZU|ms0$I z2bQ1+P~rh0;teE_A)esOrJx9;04TcP2aw1QFaZsc#SQM@D&kooiGvT?1O5;SA@UJn z5hh(b;g+Bs5)<;G(>-BVC7S9uVF*xb*;9*c;l6btTYVu7t(X`hk3zhTmh46Q z;23rc9xjN49Oi;Z%mFw4hZ}NNs`c0_%s~}so>|D>I@$t3*n&Fd;orRidFbIwsACnl zL>mx9KDL1xv_U><-gz*AKsLcm7~T^+0TWOK6WHDoG{ICf!9y;=R5+yVF{DI3Bn}7w z00;mMFbPExh3(mZ?Uh~`+yF(+Kn&2p6NtbQG{J4*0v2Gw=9R}qF2N1Jzzk5N4A945 z)Ls$jWKle14=e#uq~t@cg-b4^RxH5`e4)Bp*vg8u5W=u8)E>LC@tcogN zCTuPN5kN%}h(HmvUapPGQ4j$UD8&+F=XM_D47A>Hrd}ETkS9cHMG}x_R5CUc*;{rC5H0S(0Tf8lf(Pn>z*CFS_MhULU(DS~2F6i_iv);H8S`<&W@X zZ}_E*0_Ix@=J*lj-0TH+5m6Qd!8aZX8j{-Bh=AR_ly_OCN?;~v!s9FWs4B=IGO=f9 z>S1R6KxwuF6Z`;qv_WfD!4oi`8YsbU7UbaBiB6~{8!!PItiemdW)Ua>8Yn@WqCs)4 zK_*T`5+p&L{=jguW}PA^LBM80AOMpPK@r%1LlVU#&cGz1qzIfOY)S+oGGKqbLJ;U* zP3Y;QihvD(fPXH*4`hy?9K{d}!M@~YU`%2RAmaWKylE0xh=MXnO_)jygg^*TDk;>2 z&eZ}*_yUDiMmn97KIlUy4XZw!6A%(#hMFZUHtSh>XlCJ|S}GxlTC0bVnDiCbp}8p3 zg+_}K3+*tMGbV%%g<(*<*j|!ft@3E}_$ZJr+`*jR-5C>-nne~^fe{$flSU~z8o_GD zq)S{WOlax5G=UM!!MrFz5%lJoo@q|N-x}aVn=WK;$|;>v1)idTp7JR}{wW%iq)Rfv z84#+W>Zc?=rK4sd2qvOpAQPs_$)-N4r-mvF)GVnYg{h({5vZyMwkk%>;3&wdR?w;l z?8U9->aMy%uZqC0c4e^I!?7A`J`iiNLjL1r%;FF}Yw|4}TVCte!e#VD*Kc*JFJ1NjR4L-I zCc&cSU@^fQG{HZLfD+t98$|ATw5i12MCM9lM9yhLo`J@4>=~G1aWVlJoWaPR0e><< z$&Nq?XayONK~YSi4HzY>LaIc7Ca2y&6PzTfTQsNO8jf`HBV|2VYvoRz~QJv0bFz$T)PHofTZIOgrm9O zg4~sf+Wnn3u7oY9Cf_-!67ZiK3T_;VfCM|KX#T+AslpmQLI1HQ;Wh!`@nb{$BNH3} zXxip%@&uJK!9l748;BriB4=>I<`JyH8i?R=0;dlwqz{O|8LR=B1}C9LXAfuv6F3M_ z=&5xk!3>0854Y!}il7Wi1RFHL4?sZ^)PxO#<`Nu%48TAV^gs>Bv8N(0fBNK6@Mog_ z00u&D^fCz!n8GN4Lox)x7T|&~Y_BdvfgT(|GKBB=8p9NP1NxSO`tlMg!Y2lNe^h>4HF7@G#A* zx}>Aopd%DO!4p)$O2}Ue_nkr_b4z@wGZWq%II{}3fiug?OJegsUb8d%Fi$XnGcy4o zqCr9`Bvn*%MuxL9TjUeysh-{d88E>+KLN=m#0cO34h#(G6~*YivraOB6A1JZ;6)QS z!4kNZK|6s$nnIU7fj~P!6R_$#>#6G@FAPj#`7A*`3p5~$Kt3Y`0&oEr^g$nh13ffD zNtd)ZbY(JZ!7uA zHSicPF8;%|P-OLN=h%a1%FC7noktVIjB^^)^VMb%T=uL8vuxL&aMch3Wyua%)N) z6(RzvTnr?{QAF=gP-xHzHi)yiOpnl>b+WgaIAw1wS&}zR;o>``Oo`VUd(%vilpBuB zxNyby^VN3@!SW5^ca5&=kmre!A31ovl#&A;M>Tn@J^A)Tc`Z$OgIoDNvgIqOS++ahb zc~{PQn_HC!;d-(2`LepNuWu;mh)z^}1vwEz#apY0fi{l6&hr8Ap|i$Aai41QceX#e z*r=Tw9+4Di-r#{m8+PiMTw zvv@moyi&RSD2x1C=I@}Nn4d%Yz%_Ny0HOC4u;9DAws+B1%X}`>->Kbv9MZN%otnK$ z`u)8L(Z|FeVqBDiPg-Z9zKcL`n=V_2`oXb9s^WzyZcNup+fj|RO@Rsnvq!^MLp3x! zh{NJy1HK1gywMr^uJc))Zzw?k`^MWnEOB+4uuAyyE5u{X>mxL)Crg&BL4$?~MT$+(h*(09;u$h$o``tDgiOkm z1XYsJ$dC+x5jbe#5CDK6$QxzK*a#A2$xfa>k}PS$bIh0+F+hM=nsn4CR8y%=MXEGL zPOTyUboJWxT3E5ws)-d#4{chs_So7(D^46ZxpV2(wR;z@Tx-^d^(D6V+c&#`1MfA= z*Kc2feR=VM1xrwmGUA3&cv=d{7?R?ts#H>$DyrbP0)Q4;%rc9hE3cVn9<{toE40)& zBkUW3=-MkWzyzC%%)$;sEKS53qiny(D6@uGE>mIy5h{X(s~2V zwniNlN4G_D>P;@KU<(eug?u6wsVlakSGe1ES4dp^7ZW)|I zH%pW>Nn?8yXVD^k&C=H@omAe~GUbIbPDNObvQU-QMXM@M6=BuzQeCyxRfAYByezCR zq6z(S6(QFjb`_`!U-!#avSEuws0kwsYPMSb2BTHz2Zu5g0i(JvVhD|GwmlCC+qL-Sx14}TaO1iG6K+trlpHQ`i({7!I3SY| z1T80%BfW(Uya0KuC z;0bL|g?GB6$^QhXYiejiNdWYNgD~h>%$ge-O34I^py3I=BIQLe>7pZ8WFZUjRZ7kv zNyK?@2`yTJ4|Je{6aWDUD6kQZ1ki)nlp&Z-a6$`h@B=3_0h4GDo#;x3m8FCr1X2=R zEy!65vXDh#VaY}|80MvXXp^B(JOBZUu9r{oT+S+6h=du9Y2Lf z?HuSpkNhKgoJKW5&aVops*gmfATs_)r$$wQ|kQE-H&qPuAnMnkI6*QT+f+Y1dyzbDeEJ;tP{K&eV$ zpsG76?NoxC>8qf&T<5AvcytQhbf;St2VNJu2)WjFw|fIjo`EOf6>m#eQn=+Trvn|} z00%a(fe5@8zFiqX4{%@rtt>~p`3J9o}eNi&_(-tikoHi_DnV8H$#pEp55zX0Au5 zG>V2Gyy?vv#gSVSzHww#;mL5zceLWN6n)8kE_0W>4Sbb+cRLXmJIf*V|tB#uorM*uf4Ea9mZuR-Yh-vWO3QVoNhr#av`D7+nin7{}NiGp22CZG2q79}9&u%G0d-p}I@`R|c(u0;4XSAaw2JSx zd!+srX;p+p6(Y~Ej;gBlt(TnZ=I&ZDQ~R})r!s7pN6^^YMfS1Fuxu4A$Jx;4fV8Q7 z?K5XPNZaN~x4#XXa9?BGS1NbwC|*X>5S%XUb~i!bO=#fITLktVPQE!lnGx#=;00ed zLZLnvgUbuy$y4~k?a^?W;RWKQo;bQI-qDMDMp7DoW7n(laqYX&nAbD1~LbDw|S$GydGe*MLh|K_9=r4XGD70b?f z_<1dDk*7i_8%Eknz14=6`eUR!$9;?J6~h60*a2SlsE=LavP-x)*v@d-R*%MKwEite z>E2^>pZ@exI>=O1)puF@9yx#qf#6SNDk#X5GPIIHPQ#Onpc=jkQjmf~fTQ@u^QZAd zZ33_l0wBm^7eKbF@+1#$EYHhSB=a_py*jVjKF{X}g0AY!$n>l9${_nhAoW(yhsq81 z=pn{tk59;iGcFMKfJ67%jrX9;_fSE2gpag{ulUA}-RL6u+GP2fk1gEJ=|=6xRE+xO zPRDwS1b<`uP@(%g?)&B_{6wHBo{Tc6qkVGWYTEA!svwfkuR7%C)<|Uzen2ZW>5+78 z(iX2f`XeFO;BEeIZq|S!Vs38=aJ*FFylfx|T7dJY&GQ@(zO*6&C;$g~{@^A~j{=e8 z^h7}voJ1bvA$9mni2iJzYA@|_r=v=c5=-#$E}{s3?|g<&P>j#)WDwv)FyN4{dm{0+ zbOQ%vEZxLp2si4~sxS0lpfGBrPz(ErRpciN4G;hD zFYyKmy6zAEj^$U>F!J1xg5WT`T4D}GfP@wh4;xSq--{0;;9UYy0tay^3h@wAArTib z8yZo;9?>+8sCWWn7Aw&nH!j#PQ4P9o6JO9}Kv6S1v5Q3UWhBKEr6(2H;_XnQ6(#N! z=PvGmrrl~0_--)?$wwC-;{!f`-8v95&h7^3T$mvl2HWyngBhzBRq!cKnh}$ zV(LI71Ev};GTIOq<?+A|CTKz{G$JUnVoEM0DRdDnfQYf&5&A-q zvo^-j?olt>ZRRr32!l@-I1vUdP5C}iE>17)LL14Wa&m!6 zNhb|tAP9n5T;!}&>B`PZZ!RK4ECfT!U?DhU36kIjZXo^%en2{Xpei{42}B^7w$j>6 z;0H{=1atrh7=QtQKr2iDzRI#I3}6S`B`rmu2bO>cW`Na1;4NJtF6Gi49TCt1rLx{+ zF9TGh`f?wsq903aFc+#Yf95bHFfl!2G2y8(9qu$BbNcXZ)vB*DdF(RZC^LOgj!ud* zJ98>N699TqG)Zm_7U}R#uH*^k_ zK$V3}0HDnfpexplAhsnaexzrXVk%CD5xwLd?*1Y6hNyW6f*wWSFbLuV1=LW1qbu}_ zA`kT6O2fef(zN6;jHIM66*D1qur4=p|2v=}3FLEj}5*EZy#0*ag zU6dJbEhl2MCB;x{xQ0}6G)HsA2ww76Zn8ffk63iF|F{Mrl%NQNlSr2ol`;fMi6u(c zMH{QsInhi@P2Y3};*?t|r%q$wPK6;))nZTk6tZX! z#Y7-b2USq>@=){jHxf0!78NiBbBh3S6caRdBy~+F)dn3hA=~cxR?$)0QUcLP$2^ro zK^6BzH9Sa_d`5JRP_@BY+@K z00X%7y@23bBOq!cpiJEq0N`|9U|=bFh9~eOEZ*szS|_q*Fk@s#U+cC6`BhO1v;_mx z9|_iY43^QPFT!v~?U*ki7m`64QgFd12qX3$F?Li*l^{5le2_yIKbE?dEEi(RZJY~{ zT=ji|0RPGmCSPHZ(!-H9=~-a1lHLQ8H0hE~wt)a7C7Fc{Kq){@DJ6LYS%_`BXxEi4 zB9@GDmlP)nYG4V3fCV<727Vy^JA2?OBjA{>GJ3g^2T*_@#K2PCYLjnuoW)X$Q1AQoUnat;Xt&|eO}db!6sFf>Nm9_sA!V@ z8c(X&02Kg){uE@CvMQ>a3L%^ds&1CMOyUWg041c8t%{-pRKN#jh4l2HRvVE_L2E((*-dTV1a#!}hBZ6$Q};ud8hveZz`kZEy$S5VGGwA(0m z1?y9&AaLjC=2aupzjaUS}(Uo8M+C1-i zmZOV<4vcw0jPrqv&3FentxU!)P$iLGf7y+Tc`M);2IM%r==fjzmY(pqH1t^B`1noy z7(&}3kRQu{y@-J$?(P!Vw|yw zlyUCapv{SeKnSY#+QJc*2igHGlpsC_U?Rf>;ewap5pdbqm?Qd)#4PjR>>|3Ze;XB= zqd8$4^fEWg75-z4AQo;RFQsJ?nT;H`-SpA>;4CTz#-*b|rcp|~LT(IKm7Q&h$(+mN z=9!+!$DXyT*z&pA_IbU!5%h9`pqJX`4B9?zD4|thp~a!0<&}QrQKGXNd?Jr?+_1}8nPoB+jgu|#H%VOL!ZR@sv%mdJ6r0!`m&o@vl;A; z|JL?=nM^dU(W2*?1DP?knTRy5G~m&xBhw)pm#%?BoMEjDlESxt8>)L7xDi^o#cQ~2 zx*4ZS{;&tzChNqoJ2}`Ao4ZJvv5VTV^H8$0+m$VJ^ZM3 zRJ6tW=}H@RL~*kN*Ur@B2JOMMB^0(FMz%?VwkbO}ToJb|mIxP_w}<<;joZKx9KnAZ zxldBxX!bl->D{YY-8Qn(;E`GkEsZK#5%fHIUFC}?4h=Bj%+)~g1FV3i4aEVbLk zuje_Bq6qtqzEPVnHq1@TTgL|!y}z0&6j~Rmj=k}CL2W$4P$;6lAvDwikli-M40yi* z{84DozZF=&<2pDZcfoyI=(@bi82qo>=cgkhC0At*ia=KBWC|_ZKym^ly@tadybGEB zz(LSZ#6g_IiTcDjAO&iG=eYA5TO7Wi7NA`mmaoSKe5DL#e8g(}p8$1t@O8&0{h4|k ztc856^SG>!NVNeVFqS+mn*6mx&0*&v%5QthO})y0<8{Cpjvm-5!fUv_oYrOCw-N7; zCK(lEHoD*=%?T<9T+_n6P!+t;&Eq^WqD5w3PUa2}z0`{v0iCG@oofvpmNzvgmLR;o zyNYDTUMU^id0f2gIx-#u-cHODA6j>MW5besq9U~UN_uf!ag1;V?#{Y4tS^Cs!y-pi zzZw~WMU+H^YjkcZ*E@VFx<+_xAqqs`*CEL?=b)!{jo6KyAYy7iV9E-6^g#Z6k|qy? z&JkkSsp>#_@<6D73JMSn)bc5x{SLdb0im`l0U8OO_$$R!2e?#CBY>5406iTrJmm@r zl=z9O%>;4+icjE)y%Yi=r?<47Nnk1qa6wPJ-7vx(>%oUWf6v@Ci*QjZ-POHK*gY@Z z{kGtp?d1Ie>79%mlge`&-RiU5`kgcXoty(+;7t_?8yv6^{>N3<;h)PpoNK7o&ypge zHSa@K2BHm)MLR8#HK$z%_!19u>Ok5P@QB*a{+aL`WebMFg`A!$vqE z;sn=*UGt(9lA?!Nx^}(drK^KM;kQJ=MyODtagP!JA`=x+{-#V5BQAaA0Y>cGH*3~B zd!9_XwCU5RQ>$Lhy0z=ll^a&Bj0TNQjjD9%0tO7UXK=uS18*q2xbfr2lY*DCq%g4RDz3$u8 z8BzcS2;e9Ljsjpt0~v%MK?W)0AS?`t00IaNi8PT#0_lfRM@GzH;fElRB!WpNwR92_ zRTv?Hh)jq8lZ!-EQAJTd@nn=wE&5bj8B7#m!$Tbm@dFY>B9TG`a^-bb4%wPgfA01*KMfI$HM!2%16)ld%8kd;cb#(b0g&2of!^qoe~1dGYk&wEq~L-K9`xX_4NX`fh#2mt25vGI zQG|yeM*GSfO8B5siPx$!#~i9O@dQyV+5}@ms)%cpO+p!!qZ+l{U<4C4Fabl5LtLc- z3K$^C<&sTu^<-R&P1#VDJz#*PT!5hv*j@cD24-4X23F>oX|CC3VsVxUL7tFBmgi(H zO~#p_B$sUR$*Un+nWDP!23n*r$1I$s%xV7W9HyXY$|ktgbMw_gDsLXN15!{|+(L~#N-NX+k&9U|qWw+=O z6H3TLQj0&#p#~F2uq470Z5%~Z6GnN<(+yL!@LgAQnprNaqq8kU#|ZSqjN2sju3 z00JfSfWrtVH}CxO&m*cRLN154sm$0LM{{$)J!egM)Ny*E1MwEz%yu@3%%KWin*$Wu_Jj&P z;UeGqTedh-!Jf3Cf(>~B8`Pjc8mYm8PhdjglEA_w=-?_G(1Dv+$E7RD5HD;=iwxEB zrPPH^EIU*SSIQ#9%LP$}b|In+832JJvWYG_Ov?g%Cqo<{001MvffjK9y)Jt3i>;B~ zvQS|W>NV;&*-K;hwkMi3GABCH314vBXOHsv3~0uQjQUJ<9y-47JMl|eabop6`1u!0qR zT~07~d8Ly2qJt#K@|OEj{*x{(#-?5_Kux}6(=PKOH2Q(@n8@rRqH04B-SC1JFMHHv zWOg1mvT=LVp$;0wqa9Ci=V<6Vj%Ugm12@JnJ7(Z$(D(RX6oXZ(JU2FsEMlJT=SaQgpN6{)6GwXDm>xT-la~Z zv-X`6o%T2%9+T6~lD*R?@l2$FNI}p2*)wbS%;zKtdJ?W)gdk4?rPmBf)@1!tp++&K zLm#qAR%(T!9F6P#avD+Z7MR$!zRJ16s7o~%xsuBkcd=I zjWDy6&1mMEZ#1N`;>!*_Sf!nwibpwn6ajNM)zkMWHK>s?Y^`jCNUBv8SgvqIB%S%p z+Gh1ZTa^eWb!#@T+DfbjEUQ6%i`IoU^r3CV%3EzI*XDMmu6DiaM)lg)>iShpfJKsO zzev~xZ1=EWOe{+Y;@Cz(Hd2xmEgLI)S?guCwCVILc0g-cqKtNqnnmYnKO3{}=7+T^ zbM0#p6x-Rp)V8(FT5c;M+^-HKtOf;1gNOTIg(B)9Y?UZ0H$YeCDk+w6rR!a#dr`ga z(z@2gu9yBsTmk=@48`6xCU~DmKoN*Hp8AOhOx=6lqcy@(>@e|X+L==#bwG@zVs!bvrm8YHc)PCn%oN;oxn)n@`(V{G6 z)KXc-ueow-sj6j0a=FW24l^%syEU(tsFD}q$+KND!gr=*!WIz`NdR||ZBh7X7ly%v zYW^SsB(RdMDX0N+3tdCAJQupr<%%mod`lBUz%V^vfTR~d6bfAKt_JJDrkPx*?!ves zg^iW0Kz+>0M20rD86!eYeZA}j`QonL*&iFi-zA?aXEV)pr_w3w&MNs)kx?4KQx??# z6Pun50anbfW?tGvw6sbIN$?wV};S|#-+Qt z0`GV)MlSTutG%(LZ%Oz2-*-iVz=1s|gQFPXG5$2eS6YULm*J@bnK(3gY;la+9o6_n zC&y{+@%exp*M3YYl6^L7`N0YRD!;XATJG}K&KyCHUr^0;ar0*LwxA7ZLfKGq{;h?g zLGxtnb`{8aZJs}{3Y%AjjAW!YHps~JOF)A|qk@DbwABLTt}9xmo`N7oDPTIJp^}vN z!w867hAChr5_YKW-tW+IHgr?gxzfZPqCic$D-1Aq2s}24PB9b+Q}Kxi1hBMN;ewqH zo6x>*>#BY2hKg#bDGsyAw)*bdD{|oPh#g$_ec_&gS+6#7 zvPi{NY+V*fIA>5gcM(4j1y#Uia2I;n7IX|$1sX^;ALs)^XAw=%H%(9lO27sm^aE_* z1V12qWDpfg5IGWsdq|*rC@=)Sw-#ZN7GZ$`4N(?CfB~1|IznKCNH`V#KQIJ3fE7fD z0!Eku7$5`R$%AOz-ze(ASx>n8&3hhpyse}p1`W29qqhj%jdMni^wG^2k{mSp``Q^;X!^AUhN z7I@zzc)T`cD2I3pXk!bGq`V)Z?IDwV-5YEId-DTiKofq(0a77$PRC*8CIN;f7Z_k94S|HPG$oc(Lp^{5K$v_DQ3F#U0v3=_ zNWvCwF&0Gldw8*XuQVr1qui2h$ai0aD#%c7eEW zgGh+4VTb~Oh<_r0!ZBHsaev%nQ*2}$?}1L9$Q+4PRFJ4&Cbv$J;(tuFa1}`!rc@bY zFa}X|iZbVOs3;JzbycvCk^&JKtay3YhJizObc#Y&wRjS^co8tc1n;6ZzZi@^;Ab@u z1VmDe=a!7im={D?10^MXIslE-XpP{w0S&R0w;id z?Kl=pgpOE(JAi>0Tj&Ep!~po1B@wWX!PJk^@sIx)kOCP-IChAp#tR2Ycfp~MM8S~v zWlfd>k?tXpzUE`LRvLJ>f2(q2CkH7UsWc3D8X;K*BmP;E5V#VI(LJ78%7A7=SNaQddY>m15V71ycduc#TAHCBLUS!&5|DLWL2~h3W_= zSmJLQLjisfF>u)>_htfgSr-=*Cnt7xfXJ5w>X(0+8d1eq21yL7W=*S>f6399PL>`; z(<(>R9)k3LlzBaL1S$=|DuF~(z@dP&vT}=8ic*zjkVg~*(GV(HY`)@13o;<1@PI99 zd97$x9*9A928*=$RBX@$1QAL!(Kc(-63fCj{&RB#h+_j#@f9_&0gzJzHQ*N*AOR@= zJLZSuhK!s$OLu>ju(RZIl!~<~311E3+ z>-ZH-q65NX0)8PosUtdwAp%{<19o^jb4V5*b#MbppnXYp2U>{nq@aUYnD@nqK}KKB z;g}Q(NEccTh9^!#^^rR@avmxIAR0d+3JxUNG@|&C2#TWfM4Bu*5H9+1Flse3N(uyG zqq-^~AkbB17D_|fZ51?nW^*I8;Vqi9qssbK3RFQ1RR&McLRDcE%O^wTW&uZ(0unG8 ziWYr8Y9BfpeFFSLmt%-A0?>}o0ke#sV0L+nEFhb`eW9kJ~cy$kR=|f0#un*B;tBf2qeR<)otkf3`@pM+_Tu|f#!WVUp7NGX#uzMA;5Q}~k%XZ_13Jdz6 zqOod-*<%A3vZ6Y&GgGpc*hT{gUz^CXk?FDtNIx+v8#7xV0AjPFnX@jrv!Us;FS&3Z z@BtHco8OjJM+;EW>R=1CR^t8!0!_PNSTO+;0Ch^@oD9PyR2u=HySf{o0~vKBB<5jg zQ6^y6C54u{(`Rq?X14q`plHW_l7_ZvYpHA7wv8xc5GuD6${y??Kcy;EaFn+ihmi;v zGk`lkCR(fbGgVU)Ac&h~H=B~B`KvSwERhkplbaDqt1JukG_$C=waK|lr(vusx}=*I zrfa)~b~&uex{QWbVEdHphP$zuNvBNtk7TZ#6o2d+Xyl%UgJ+{2e zi=jnEU(pMI6=zgP#fiQ4ywc>c>_n-kfk=wfy@x9Tt`)whIKBu%qXc5U0D!(Tc|i0; zo1S;MHd&jMkxHKny8aCjwNcA%NU~uQ(!`#dgIjx17Uf*28^EuGz#;Xpy#&0z#KpYZ zO9uMDiX}#I2MZWm!8wJ&a!WKA+PoP`vW$3A?}cQWh?yFR9M^ljBPt!jk-enB!rbe^ zf~>fTdzv?@!!!9>K3tnmr5{gYN<>V*t9!&qoWHVL0Zi<~Ppq{7EK5_|Tvcqvx%8+b zrAr{?#eew4d=0%Av{LSSy>rUT?A0vP~r?A#FBn7^?! zeG(9G^=!`|fX@=8&%HN|ue8}WI2r5goEA`x8%0+e zwgf&PZc5k0w-;R$1&+A%md-UXp?ubIh1_agT?)+BZSB^h2-hbHaRNbGimA6Um5?D< z%W)h>Lk5Y0O~TciJ%(M(iIv!l$JpKr!@5Gl114ZJ2O%;FET^c$lnY9+i4mLq*<`dL z8Sy~;F&m;i&Jm@2tZkLAUE8ru6tgV>wVi0u838r$eDbzKND!qPumsh(1T)aN^ZRs3 zEkkFKeO;kM&`08T!LD9%uS4Vma#@Z$lqBOQ;`VBN0qtnk)!YmG+|VuE4Y*hmY~B9H zOUuTAYfZ-8x(q(wy|*d*%j1nb<&D^!hTetSz28d;?)_Tu4J-)JKfjt~k=w%t^#e*U zBTTR$H{v$7F~q~TO3DekQ$Zv@5Ty#P;98r+P?C*Yk)=Htg&7VNQ9%S9-X}po1V})? zn3iZ%xH|Tl7Oay3wUcNg?&u|@J5M==KyU$b@dIV4>A;sIrSUmp*oB#XOUiA)D#jH& zzSa!v$36}l-CV}J@h1{0w^0tqLIy`23*NDInZRtqv~qatlih=KDv2!+0FvH@J2mvw zz4WasT4uweP{Ti)!yh2#1x3>>a^?tvR%~t+ZvNWZXe3fvZbTwzb&iyShW_WS?bLft zBzkxiMHv+`z~Q6a15t6{69sUIrUQJw=Uv$q0PDIx$QED?I!`G>dJhN&{|LOU{_2xK-Kbzjw4QN2cI$VGiMlQteFWIyU3hOC>>WAmK|{>KhjR^k82g~TVXe;lRUxS;5Hj#AO;!MO4um`5|BB`Cw781 zXzA{BNi1*W2A!J&g-9?2yA1-PP1;Lv0}r9w9PkxO4csF(;jVj~VIkbw+3x@&7z;zL zE3P{W)9_1qjY_h6X>ssVTfp|V+^pW#9q;jL+cIZF@-$T%GUGiA{&|tU4qvC0Jqmal zpc>4_9NnuC5y%d#H98wQ&+J#z*aDK}ArA{Ioe?{G!#=-ASIGfIe{`3PE=sRwWzh6b zzXAF(72*n>J#h8jxr6Gy^#OwfUSE~EEp9gOBT6Bhqs`iE|Gxl-FTJ-qbKe$T3iwmk z5GSB8(O5+8xkC&O1mmA1cTe~3i5KWk#fEQUh`;d+%)5*K>W$ARb*)C6A2R^)P2fOl z1q}}T1`eD!hT`l!gh)>!J&5)sHWa5&<3^4f0RT`aLgYx19WgTO`0*o2mMulRdW8xV zDN>_GmBCrYCQY6_eaZwHbf!CMir%aI?IHY?SSltj;ZUnj&bm%~VL`aGZI(pPdvBARNyER1AkdRmcUB)$f z=y0rqLkl5GY&a2dW6TmGZkGsYp~A0WkrhmzHk|?p5)>pOsMhfV#cLpV{m!N>5_gK$ zIz&{6po0er6gq&Upey_?@CwCAreLWf`0(P#8DGcFSY-C?j3ImnPZvCd1q;TPN54R1 z`t|AEzlZN$B>Zm{iH7e=Aju2w-8-or?NF#>IDW{@* z@_A??dQQqn!2{>3ZzB#d@@PK#@DoNDrDUSXCKvukp$Vy?c=Bqf8EHDIMxd19u}2?Q z)KR8ZT3Ja1tGGfkE3cS%qRA%NFbl0R)MCp9B;b-OuIo~`3o;3~EKD#9HUJX|3lv-I zx-Pp+;e#5INWuvxmKXzuCEz5YhRNuz$@=O_u4BD)%aG855)amg*8_F`a|QtR{|VxAP;v1 zCqZ7pX%L|Ya}`k>3N6IYqKP>CH6@iolyF3pG&1qT`%(n5#TQ{DMaCOzypg9IgZ!~v z9)lE;$P=wP>#QV`l!>deaAJ!stFX*6%l=InOKgG(&>RfSPEE`5gAYIeVGM=Gh#>}q z@8uw0xdx-yg3?aA7`1&j=9tq;JHE~}kUbrF(@;+il~t8jUbWgHWraEBSzmuEgGw97V|7qpd9n-{jPQlnio-j-KN zdh5k^;xo}CpJVdR?|V$S3}$O#h8+eW{EFwN*w4mCvY)QYBj4CG#`y+WiY_N*FkQ~9AvBRRsDirkkgy;m5Y+wdXu-psLmoRy!m zAx~R7=@z=i1-2OmrG{Q(%Jh5$J+h@JML0WB_T0ujt<3Fv_KH}({D!_X?Td-$8;s!E zS2*~|kACyBU!VM>zfTFUfA`av7sUub0*-2B2uz^L7T7>G%Ibj;%#{U2AV&gaaA
  1. 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ᎪU8*^~cBkUg;T(5&myFgLl4JI+xmc~qFXCV} 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�=@)+l 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
    U!_Xn;SvMX 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Ųp1s1ewS?GM-%4vgBn0v=oeq=cX;f_WWF_A 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

    P+plCJr(zU_-O9K=3<{`@{pybfJc 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%0Alg#k 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 z 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�Bu2-wCU)`|plsk(W5S_R~Q{I46dsK|| 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%0A0ec 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

    a0R!L#=sw1ADDL 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

  2. vL=|TtfOWVJdYHjtV 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

    `To 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

    4cwk`4sL5sq-tO=8l59EF`n;Udz_isGa?GpT1; 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 ybuR*VUT8KHM?9 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ⅆ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�O7p|?ms4>{`s=N&| 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

      1Mq+7>Im}|Iv;qy3X-foCYwe~lWh>D{rMTLv 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 _%fj`ok8;g23480Q&3U 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ν+k7kh36Sx$_C@5R8CZeEl6_bg{JR0MF7Yf9_6O< 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�hziMKGCRh-QFC});4&Z5qfP? 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ØWrhBZgCN77=*r!_gvHHQ&O$aqt=s&VQ$&7ndP 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

      djBRjmW(d ziJFyBm5Wz{B&p?yFU?xMv;YgR%h$CPti6B@WL@NZinA=(qWRi4b)BGUHnLqN-y6o@ zeJ13S*yB(}UL{hbyq-zHEvKqVLy9-sl@vXRWfYf&)7l2rRo+#l@9MoGY6U z5eXQ85BMwG@PIsv7s_P^cLT*C z!Z(4{(PC@J_9(dAOa)k0U|H~xd?(WmZUnc1Dp#2EZBm(aE=Ww;Z^-$GnL(ApffDfJF`fuPegYh@0*654d|ll|c4XL{XR94yNoL)|spMq7 z`)FHO>JVdWA9m;}~#|S99mhat@ABWZHe*tG;U5wM%?1RphkGnQ@MP)}nw8 zEd)|F{?$NegPxkSwo`@9xUg$ltj=n!=4uqk=L-1hVhQU^2Iv*`U9*NAw9Y}b zmKwHRjpCJ^uDfBm{u8mKZo^-&|$8^AU$!A2WrEK=#)LM2769b9Z@IhITO zfIEXj-ALUSs9=DxC@gq_AE1aB5CSG(Y8J65Ow`1KR6jeDlJTk%(#8#287TbD0W4tt z0sdwJD8Paos9-W4Vg>e|I;dG=5b^&g@kCa^8h zf-YO%V{WVKsT6(g89oi^2A<(S<;PmF%s+{(r#w`=~yQL4IIDNmln z)(!2*7|B@gWH}ZhV2OIPlhoCVs5O)&z=AVhf}2wj2uA@)x)4mn4RXb^+z{$6tQB=V z^D}p956|=Ym4nwl^Zj0PESO&rS5gwU-G4oCdQR~bXK~Fy@wLuz z9+WyBhgi7o8X$*gUM2D(C$b~QTkOVbC3jCJcXC&r@~gx??q(-IUE62HCVxU|)aYCm4{6oW!%YE7gT-c{Wk`ck%Rb-|e6?WDof;IDbvdV zUu$vwZXs#5yKP5Ddq=-^6aa`60tW&pXi#8=3<6)hN|tOI{={hxapAgU@fJmg4wo&1 zc<$pla3V*NENSv2%9JWsvTW({CCP{~r^Sp|Q{_yX;0zkvuz_bmpCWw{Eo$^A(xgb` z$bsYZDb%P>nNp?dQ!3W1aH?|c>b2^ru%}XyO%;}@)UQm#`V@PrYSy)G$ChPi*DhJM z8{DRqbJp)EiV&ee^I4(7gv1jLD{kzVhKs}iWX$+LdBy@+vTkjWVn?moB1L@o@Co#^ z!NW`$GPUFSwd*`swAi_Owx+>K?5kVL}%^E>ORa zA&GD3+M(wjNDwGOg((<1lsU2D#f%y`dISmcJ^c9o^5?hA39;t=k@->Dr@0fTX#j38 zlu`v6Xdqfz#pTsi3OWcHgj~5*mRWB#6%}ZDxdj(ia!pv5Z4BjgN?T&}^;cMeO+%Pr zh%I&)jE*^W0}+P-(7_Eyz<>j7$La9IXI#Y*M^{5$ki-ry_*BCJs2P;tY9UH#hZZ^1 zW}9oc?RG&0F5F;5ZdwAh0A>XhcbsOju*Q`@O9TM}3fidv!*(#_xE*&Wc;_8Y-Z@2< ziuTwe5=RtWgb^+pCBvS7I5kQiq>)NmUw@CvS6CD(hoP)K&8q5DfYJV1Ybp%+bQf7&K_!r@a*%ZwMa|;E5MwXG z=%S2?(P$$9IrI=i4nX<{WRXM)8OH@Z>@a~(A0Y5408q*yCA?2q8Df@H0Y_a0CEx%i z3S#oKzy?hMaONv%s`*M+0+E&*p4*|2!x0T<(A}N_^*PX=sRTMGIEA8Tk$M|-^k}D( zntU?Km0B7RrX-KFX{Y(I8`OZJmU?qi1)<8Tf~{@^A*>zBIxDTVTG&^Fx>9v3R384i z>?_0Km5Q-XA^S7b3^_{?w9|SWt&A>^aM%SU!*vQvN=1!xn?v^#l`4JV905Nm$Nh1vucMx;8gzYg@{CkwnGD;Fh4jmfuq9cp+ z5z5Uwe{#zzLsS$`BB66V_As9$lSrVNN<9Ds;yk{o97^SLtUw2i>(FvhNLGpNw$I=O zC;m$GugCtLEU@oWeW6pn_O)s$hHPfr02XebHjC7YDKU5g?Y3m25BP*{9Vkc#KmdXn z$Y1~ffWi&5V1*56K{H(Vf)%VF1S`Pn6;Iee5VWubyIA1~PxwI$DByks0NQR`72IGFdmJ@OGg(UTtd3SvF%T~B)^;og5}Mza8k zk9;>Pi20&|KB2v8eNCGmVEh-q3t^Ie_M;X4Xr;f3@sBS4<5gk=s7e85zyvw)!4Ec| zwlxh2IMYg{-A1QD5Xhhg3Aj<@s&t$jSV0!Vl*J!5fI=$-feS5s0uE}J1G`YchB%nq z4wIlG7r5XsH`oCQuGN@n0RUi2k%MT^#E`#`#ye&dqjnyK1l_#2SE6Mc zY#E~$p$1?JNWcuVzyvN#lObOaVG#a+Ol1b{2`r4)H08w*DFnfqlaoW-dJ{x%5@7=3 zEFg@^nG~j^vtS2frw`nj0VKdPck|2*ESDfyx#=?n{CovP018ln5_B2oah9UusL+=% z)S;GT2}HpmQKD3@qS?D>%sjQYd`G_|u8OC_&{ zQ=9f`rxpI{DNueIR8TYQrFv1rJZ}?YsGSagn{^% z1zz+M91feS?w+L3a!WMF%Rap$92sfZYn!J34D+qxK@XAA#q!4Ep3PB1| z$o>IsVh{u*aPtR7=+X@!6KE>eS6U_5ff15Y)(}xe&u?nMKwy9c9KgVLDTu+2umA&r zFyRL!3^oNV@Oy@D<~P8f&Cy7dT20SfCat82sP^NkYdhP413=JmkDpus<0L4Vk1`)zc7Y{y`_K zsE7DxvWIk8taGke>E-8AoCOLYgN}||XEY-0^0kSdRP12?tSiLstN2l){M0LtNXr=obH^qFvNKO;NK#T+oyVHzJ!jd^c_MTV zI|?F4NBXao&NCE$<>^pADTy{Pb!b<8FE5pL*ZT*eWp|xdQMyam$DV?MB+Dnx%?;XN zr1s#Tpl;C${ByxG9x2(~?jb4;Z0PlxuQ12&m;)Q&13xX`Bqg4@DXg&msRA{M5JuOL zcX?waJoDtaWb>TAu;*!Qs?&^q=ock=L>V0bd|u9s7V2%->IGXT#T1U^9`5npjlEuM zA=~?e2-O)4uN)Rb1mDyoh(P>a)NH`JsptRF74pMF5z`;AQeRi4aISpDJL{aIN4`J9vV-~R#N z&Y9i-`p5Jj#UdRbPb47gVG;w%)Q&wM*F~TNx)=q*m~C93N_m}AXy7Yw;MRFy3V@*5 zO@LAj7vX6~3W8sip+=Ovp!H2j4R!@=aNj^M40I5l1z5n_HP`;crQHQMB8izwV*H_a z*pC|mA1tunn>{7S%Bui*-`&=^lj?V@kP8vL(kUBpz=8O0(=?9|jdC;^6l!6(u@J zAsQkKB4Pt^#Uk2ZBaTr9K%yjqBcVCh;9Vl_WMV;VVs#|MFP73L+C|ujVy3WMDK5h) zIz!B|f zjTT0h7)Y@gYcWMpRE5$6%>+IhGRC1^d_`s6Rx`?0vf$5%jEL{Sq_B)6Y+cANl7%hU zf_fwdaO7lA?ThEw$q{%74U_<5(1>FcE&$yH)y zZQ_ZY7y)&7B|J_52_y*#FjZMv;#r>Divbxf{(wOd{DHGTLo--|PFRBu2tr*#13*z& zULxUMQdoQZr7H$zr3~gp73N`nmPjb(=kbJNCK6;CAkt0d(rKnu5Cvv#fEXH^v$3Wy#n^}oo*a~7*Qt*7^(NE-RH1l?nF#GR)==N$bEe$+|7(Wrho=$09uw> z9m2wj`coHl!QpC|4*AhQ8MRUtH!(Qf7y?B#?C`)3DE>rWm$u9g2?H5SphQ zwdlFM=qibg=eW`aD4C5?98ki@-gwZCzCw@U!jF=dcpVNyuvg?DSLO7;ky7Uo+<@h% zKy}zo#N-AH*v{=t%qwY=JKhovYyb_kRXOnuwtCP2@Qvkc8Ve+WU@<`p99GzcsWAkB z5QIT9M1&x;EB2)6nnpwz%xf4JLz^z4<>_b5(djGR>GR|%=s5|WqQjX6-Jc3z06Gbw z7HWWSs8b|rhc2q7Ivs_2Xi4&(WlHFzKIp{Cfu(L8q{^YDLMX6!s@Gi`5jq424E*p6-3R-!p&Ml&N75`5sn>*#?RW&4KTsb;@1Tn!O{62yQ#W$i1eKp92p*G^Z!07VVlKnG;m-S~i0!~ojB0TK{J zRSA#EO@kMF0XXQb-r7So_$}ZH?gkKU7YG63ZU8ed?#r>7Mm(-$@vALPuB241L+&3? zV6Ns4DCZWP=gtJ^7OLn{YH4n2#6sN}istJYjT%lU>!x2D#w5t5?(AAkM@EJ1{sr!q zXFuhJ@nWTIevQjQOb={8#H1kM9Uhu+ghkw{UEpsH$-%fS)D7on$}^@J>^^ zd~Q#C6oWoeyC7Z*ui@+E9t5gxY(-MW?pTJ>-VD1G2D0!aIiO2XBd_=b5d#2q9-X7k_aWf6W+|@flM`5A*eg~E{}^fl zbFT>gvs@7Kp&GMr0KkwiMOJ2jDy8ua6oL94!IGXJ3Se54SOj5AF>!7H6;QzjV6zZN z4h;Oj5}<(8a#Ns{z@Zs|y4^rGc}*mm01b%sSs&3>dkGPkfC}^g5`5YZFhL5~NoCx? z46F-k1ONzZ00>AI03g5zo&idw^w|qEg$z>LB|)3a0D>d9z?=r@Ah--nSAv%b01N1ZkIHbD zv~edn?%A|*$Mi5ZH;+9x#zyFLPq%Mj_h_*jPdr)g3efT)>EVr|Ll_Ky`Sei-;wnYr z7;7&Q0b=15M3yqd%*?q#gy}E*LO(}#KNB)8zG4aI#EZXQjJFzWznYGlME$ zC}*zb(&GQ=+C-TIMx913lGbpirjjpU$68&KZ|E?xwCnydO=;>6b0&zK=v>U+r+y$z z?%`>0Ir9ZIQiFL_pvjmsrR#9_nagaNt2vvu`6IqL0L1w#&^evkIi3@;p6_{?u1ue+ zOrXQ~DZ*(JLhhmScFibyLozx=ZAu73dM&=J79o*Dq?3Dt z8pO_UY`sgj1Re!wwmS@~^r6m=vDujF);m9%(7t8tiT#AxL-Bkux2VUsBJj zB+*wJsDnD}VV(R~tcBe0OyY{u#~5wVA&Q*BKc?JG=EmtGGYX_WK%fvP@WO=(2PNz&2TWi z<@5%PXHTC$fd-v6bQ(CL;D{1EiZm%vp39&{l{$6VP^ih0;nKPlD^{pOmxc|SRBTzZ zXVIoj+mvnF4I5^@M29Y2-E?zp+BExCrqQ{7(dDhVbg0X>hY=@MycjM3jS=BQmOPnq zWyz1_Oon_Jb7#+|K%e?7`te)Orahf}(4g;o zzJ1@eE#bCLsV?i9OsX?ySF_qmK(DGQO05GCOi;nH0Bk^$zvydlnz+CM=PkSJ!YdrH zlHw~SzyMosFmPZ}j3>rOJWM0YP)t$972((nvB*%v>^Ii5Q%yzKX3TL$;zFy<#~*zQ zZ8Oc}(2ci?g2W6v*@ToRINp?FuA%3kE9fBV78>Zf7HjnEq3$y9D7-PpGbyDD(o2&j z4?lDdzW3x4%0Z=$q7Of+_UrFI{Q?wFD*_{2P|*HC32kpqwjeZcLJIE+?832#(hw#N z|6XvumeHXa`)iSrxd)GR&!MKddi$Y32G!(J8D77$PrZC-9VG~6KbwyHF z?UcwEVbw9!&LXZDNLO3)@kk_XYf@r3SUYk!T~izxTEjM24p^CnEw-U!FG!ZlWtp|^ z*_)%~4uxsItJd0UwN=y7I-TkX+;HI=m;PLH*-E$Fb@5Cl-gxJ=mq7#Z?fNWz_noO< zoBrkS;GqVdsbELXe(PuZB`9&7vf6(4z(XtI)d zJ6UDQ9@mIvm!YFbCSaq(Qs>E}4O1nBnB5s?Fjoq%bdaX2*`XAQ#!07~zWD~jIhn3q z>9+KAP-;Hc?cM6DvBm`}|LW!1>*EatyRh`uo2#z%W=|WYn%2%M`nVN-e6qJH-DvYWvMp_tEcD5xY|iqSFo%MbRL5DI^BK@U z$E+pY?|`18)=5rxCDlEobuW1x{_JE2Dc#wwcJ#?zgLdaT-vKXp!*fRQke9-9DKAaU zqf0uV2Px^jgn9+Do(!?KDeXzdd)wPU#=sZ9RE@7o<(nIkX7fHGvMPz~6I}QtGQZxW z!hUeTUuq0UK>$RFST6%$0DtB=0){Sh3IQ6HLbpIGGRuq(4BF|;lOEc{#U~f^#=(-; zlsEweT^t0;)BpuSXh;PyS|K64WRXZkmXJU6IuKb@C@AF-1wDRw;q$nq!D&e9C1W#K zI6is39CAu=Yupl%b{Irel8-Z~9OB?2Cy}=x?i6oP-`sMO3d7x!fuWma$U60qT)JdA zU4+i%!04SZl93~3q*(&~uh`2Jv=NRfDG!?Dm zLmu)Lid-bT{&Y^`p#_qWRL~@s$1iX=&n`#n)+QSR6Hl@Ylmr#!C>Ik<1)k59t8^$9 zTUp9bb!l+$J0j1186;bZOrl(p;zf9AN@iu0Ru*O8Fac0ZV#%yIafpLUz&MaL>a2`y zbmr$W5IVngPE5!eNVa;>3!b>-JvlMUq23fV_*AWT>kK3~v3G|%815p8j8`BL#1?yQ z4WCUxPYo&LPo$wOpmHH-UP4(Gmaz<>aubL&Psy`~%7J34q?=qXYQ*0JX?!SBm1QEb z(Y^wfRlBi;ErkAK(UaLqm%QQYDK0WEF0K??tMI*Cz+Q6QwP9Q)P zDl~{16r*xgkmBs)dziW|r^*wmag!=lUtv{vVfB$s+3M`Nnv|~=G_0BYCnsITq;4cuI;G%ltpJY|4YnuWm=uVh1QoSuk zbStm-IoBywq3Q01~`YZPW!WH!6A?^c(_d0mnCx*NFnsaJn8 z#w(BiivFTlHP&z&)h?HC8>EXIb|^KOtTCHoU;Ls#znJ4MO{e)^0AF!@1=eEG60Bg= zGI*?!+Q5V5gl3<(n9YZ=@KiA@i{O1_o?oNWhZ`K?^Z1KVH#}}xr>EkxviP7A-b{>v zSYwA~_mx8)GA((`!0pEJ$cxi4ZjFpL&Lp{{OSVOm!|`PL+BYQ2fyqHI3ms-^Km*Ox zvM?*QnFMAF!CFaem=Rn@oq%hSK2h^e;M?Xlzxl#dmGdpKR%hVe8PCCWn@l1!;tCDA zO?m`000vr@71I--!v101zU{Cbin~S=?OTon=UvLg)rbwHYq&Y{BusB$u#zSjWU1QT z{#RhdD57QvsS#r8m!LY;{Usx-UHxBJ*9s1^R#UBUacf-bIw!nVp06Xk)Ma>k*u>tA zZj;?%W`Ee(i5gqkj>Z-gXS-1`JZiUvt)d=+YTPt0H$%@oqjYn$GVK0wN4GokUEzD) z^=6RNx_{JI)t-P;R5DSWYQ#{!`dzKp*Q3ieWd{26dR#eK6s8hY_6L87ZvA#O3x0>snz2ev55caM9jJ2>wxODg4`Vh1N9kPVlsN^hR3oyYg*aY4D!lb-&kt^k;@zG~JN7@7->NL&s} zD=_FyFzDrQ5ADVY0fEBzey=kqqS$il*xm&zj4#gw1^Eon*`DnsqK!=oYVgP^F2Jh9 zT<$E`ibPHjd$>>Wga~|2hGQOUd=P_gY|Mzn>s2U*V_@U*Kt}UM!(*msu{gs>h)GK3 zkN&96{_wBh^pCS_ikX%K0Bu14y&-l8unIG1*^(;bFz)Oau+2Q<0pb44*sdxWDzMDX za4$CC?lchE48#LJu=;RF1c{3T3C#qZ>-ySi1rx6Ya}IFOt)voX1}&xr@#+SfBnMq( z2Z>DSsK~~CuyBHqG>C)<0buG5VmX!r2{};$WFjQ4Ox2ia6iE^3P60h=Lo0v+*M5N~ zUT4|Jik!kF*uK!vQbPv$v>N>IhVgeMiB!Eb9 z9?8fQQ85)%@h4c(6?Fm@0ZJC%gcfVDtyBXS;Y=5Afk1jOh5mpsp8x=oh|$FI$RPy^ z8S79PTkOnWZiYrF8W)eE7V$AE>Kgkd8!fM~xG|ytQRf;FS02&)k_fjziV{WY9ACl# z9AFdMaVMv)2vJWS>CwlQWH;i%I1UTJf{GP$?I-e#_hd1h1`?sV#2|$)A$c)D9E97N zQeT)c7+u0#YUufv?eDf_1htL1*sv>S=ouHrBfD`W*C$A5>6T=qmclPKifH?^amRoz z-gJb$N(zbs>n_nxCTH?Bp z3CA$i&s2AgaW0}3YQayof>(X@BHlty>68=g)D!X4JMRy(ps-KV<4he^ZBvngl zOEbn*e*;!2PgZdbL<^JCj&nl=u{Hj716X|(7Zg@NgmnXmwOAzpCn=U7$&9u{ z3bn!tp&>neqELIScCxi-ymetP12HfoTqCdy_j4l4RRb;QHZ`>^=rAI^=}_R+C6NPY})>PFk(Ev77#1CW!))B?@B-xZi7uIS^^c9A6P9?TtEB0a` z6SLZAV`m}&alvCjwkJgP;z)KGD(Gah$MLRun%s4*6~gy$ENmTj8 zP1gZFF>FJJAv)^>VS+Xg4E}95lPOvATAgzDrhz9G^=;wyXXSQP@3UpCl6aCYZ`oFB zFx62qkRsQF`Y;kP`g3PH2}HW}`Ys|Iw-o#YcD&xw5Mz~A$A=mzG&_=38d(J}FOPFO zgEg*eI<59y42M^DgLJp^biFop32t>|%BEcRC1Cd#WH)VjB1ew@7yKwD zcy-H!*wAis4A*Br_-0x@WBDc{5>x^RLq zPMol!g3v>O6Y6(`{*-QyO(BanLL|74n9oxQ^gK?k&rD1>gemwHo>M0#*;X0Gza z7lylcd&4)!DEH@TE)qKw2#3>E*9VFWmeYI%Vu84Rg?M5efb<^oh~a=Cl(>2~posUxG5qMO3m0JoiB~$a2Zh$gpWdm z6(f#)=#C#sg&ohAbx<5_*nGznn4=a=-N$nqm%9iVb2pbdw^m{qnTVfDo5MTe zqGQ){TGx|W+s5LqH6WJ(fkF9-MLB617vT z%dCgXdmpNaY`8e#&6vT6e;G&wjynn=@dWc%mje7K7HdtN18)djf%v6(?zWiPt%Y!!W1CRX=@^ zl@Dd8EhK_B@NdaRO3|{+x)Pw*vNoCemPuIVzMAqDx}h2I`^?%TA=;w62Zb-~IfprM z0muG0KXWrmgQgzxBJM`8zKDTWtkHz-yOnL35^I0>P10!K1o&8+>IW6+a`~!Y4c|aQ-vT z5+%dYc*F6wwovTDEnBlkJQ_>fgioASQ=GK3g9h<6S1ok3{nEu#fyN!tqhp&-b3Bo0 zo5x8S08sC;Tp}V82`h5X?2b19K@%$A)FlA>Ciy(U72KvtStBYUr{Q@QwZ^&WV{AD6 zi!b~u-%v1|SGqa8sj+RJgc`)JZ;u~$kShvRO zcbv}~-N%;|&>ce#20a-H{q_$10HtEl0btmp{n3{^(nVQ&C!!*VO{X!v&NRI~EV9#8 z+2oEovblUKP2G~_BC{3r*v-4uo%z)#I;_d`qg{}3i8D;cE7xZ@->4HD{_otEK-#T^ zU8JkMq+89pQ8PI*l!m9G)p4eioNu;*I_lD*ga2zTlfauqB;h-s0oAJ>(^vpB_-B8$2 zChXZj_z5HX6YkLipD8<_UxL2j9oxsW%(*Ytk9KJn58fmCE;TP{lmDUn{bAWWwH?+G z8F6&=T#-Xx+8>kh<-qdg3G+4IJtMyJxiv08AM!_^V!s}gO+RT<-{UZX^+n$GH68Yg zSN4IL_Fu^MpBwkjL-zp!9Jpx&r)@Zh@F0MN4B@~@0WqS(i4-f!xrp)N!HgU+Qry^) zW5tmqDTb6&(qYF_EL*b7n9?H3m=iOyJm~Ub$%GegZb$_*)k};lfxbHW3a87ZJx>{Z zg)1s9q*Px4wdpj~(SrvLNcajitXK&S%9=fkHm%tT6&C(Zn7|eVii>va9F-;O)~#g8 zoH-L%FmOR=gbN#9wu~@hzIYh|DEl_@1hteam;LHEv*yhU6MFs(I<#od8b#NwdndJO zs(Se%CJ0zCVZpR(+rBMWpzeW!7ZP6hdfM)T>C&M?7cRN--LY|h<}C2|apt^7FU%M* zdkUI0PkPtc{X6%O-^dYgPFk;b47w6o6Kx(w={E z0M*$BU5&*cSe8AwR$BnP71vyH)OA;0d-e4fZ?+i*A~c98whUvkI0l(ylR?NLW}LmK z*=RD(C}U}%oo0t>t0C1|GQl-B7&N#INn~x*(f;NeG{7wbn{LDzhn#ZB9XaH4n?)xb zmDT}(opun7XW)Dyh36fZCW#pmdTAnbl6&0!ci$;!a^#YI@yRJiepS7~A9!$5CE!&v zsdQi}2`#WdOonyNas>Kekc7Afn;1=ZTytwQFy zt8~8pN+m(V3Rdiu#{vuFvJ5r*thCT_N9}nVSUaw`*&4WQyWVmHZnr|?TVA<^K6NKd zVZP_CyKu%!?@3udoi5WEakX!Q4>uZcq;h1a*Q>M{=CX*(=!K#KDy}&8zhO;Gs>OPv zD&xjgRqC7G&^2$=~X4{A-6BM&%ytZr*XpR;55ki@hw`O`j4@xHIKpR-K z(Q|_C^y%+GZRghCy$iaz`W>~k)j~IwAGZ!Ags9kcLs)hN1E2kh!D`D^Slfuf%}|Px z{cbl{cvHN0^%#fdH^)8(PI&kJA}?e(;^7>pII<)YJufj`L#%Y zo-gK8i(Y1TrE{w~FsY6{th1N8&;+|P38;3alNzDwlrER-4j~FqfbXEkqJYUI4soc9 z!T9naw=s+}4#VKs?lwK@RZnl%^Gx=Tf|rhYk8tO^P5N>rki{KKe3YY2rj`-8%;a!< zQDWTtEXRQUkca{E&H?Nf9zJIF>=i zsF2)5QGqFfFGA;A{S9Yae!|^lN7O% z9|N|MCQT$I>;MX%IN7cwUOb?AxTO@S{b^5X3<^bGakNmTAVJ0q%QYY5B4%#znRke0 zL8f^N&RFxKb<3tU9n;O2ZeUfcf}t$Li7+FU)0`d>Svon%&Yt21F$#H+Jds6Ddx9sQ z64_?}3F=Q|D7pkhm5fG5Q74I1krkDF(y1h| zJfj)8XjZfOVlj4CpumUdq-05lG*I{@7>l^{VZJjFo~8O|-0yWkP{@iliMF zT?ZDFMhVqh2XQzp60T5%FN})}Yvzwzo}-5|17eGb_^>2CaU;p;&Jb-kSK@2&v0hxc z7%ybTS%Pz(*O!@#olLO&ue2L?y%4P zKq5@Ay0Ot0~mRZ*g}E<#39 zm-*B+CE==B4M7S zdhBQRZ=>DYYBw;FLy~&96MF6onR$acb^E*9eJpHoky|FNinKkoMkEABLljtIw{dKfmm7zJ z4kvbnRmW89#cV_KebI(RPGw}I^*>`+g46bb>UTOem@ZmFU-Obs_cezV7e@Nja-;Tt zKS+c`ID~(=cNGwGM`%JxD0oYF5KUM-4)}!m7KQrOd{iijFa~Ivv0_|^f%oJPA9!_e z5Qb|=f@FAYW|)5I*I%UvdMn6U!|i)|O;o^>HX@f=wici3XD2 z*m6ffkNuL5FWHOx2zU`A8NR24iYSmHwv0$8fwfkFwvk4(Bi(&1i`+CTJ3w z0iI})7g=OD_)2w1i(iFp`lV>L19pd&I|p8~jSBoC0MOkS& zTRCK1X_7NRhho`nRZ*6kRuyQemY*qv$)tB|c|u?@H^Z2KODK@UrAIwkB#j4sA*4P- zIWk&UY>l;W<8@=n<|UhFCTfx`l6jJ2 z#tA0E8H>bOoS!uk$Qf~3H#Wcpn2Jh&61n@k9Q(xsdibXgb!L(jtl}I6)&goMNeHjh2xG zS~dJxhF=+NaHw%(g-Q$*C~;UXA@`sZC7}{}6c%cs5b}o_noQ!UBB@DlA-W+W3XSDN zfhhVSDw;AZnkg>&o=X{{a#v_IYJxXvN+Q{n&)FYpNTBcN5igNVTr*4>f z{9&CX9l8kX;NQmV$QcV$x||%QEN-rQ$N&&nHP5x z*`|oOCIUJq{JD;B%6X+Del4M=oR_09C@4iHows!mP$q}*@|Z0_ToOuDF3G5jilO%S zsJkZtk{TIt32Op*sR_w^VTwF+M*f?QSB0XwiB(ssO-Yd;xQh9rs%XNh3pysD2#&3| z6tSvl^FgZ$YOA+unNu~LRk5ol*Q<8&t1J<$QZcN>3b2A`OvwtV{n(+-8eKW*h$@<% zC^K+@*`g=I8Lv`(Br~k_36X0WciRZAJ!+><^n*usb}}}w5E!msTF#oxT>GkGYIN+QdEK<7q6DqxL0*F z>*ulq;yIVwAE){qsiwAUE4n%Bw&A&~St_?aOSd;=w`~@fCi;AOTdjo=u}52Lfh%5{ zXrJ9`xE*V`iOWjl%D5`%xDyAts4BUW8z+^^KlE~2WJ`XZLoYGAM4$T#3OKr>Te^oB zss1Q$AZA!~d5~1NsS#@!wo9VYT8%J@0u#wp0Xm@W!MwlwvC-*<{PV8xMUE5HvV{tv zVp+1b*uSYDTLh$}PXvaaWry38y`sCl*wno}+fCtHT-*buZe!N3h{vv$WQq3O16 zDZwiwYdVRyK}9koQoApLD?>|8X!@e}q^6uDvmWcNs9J`hCrcu`#i@jqQC5Rgc_#&Y z!uzCEglcI9Y(QrG9R*}yJ?z5(3&dAyfI54+lj>ordvC{+sY+aQOx(9H^2B#mg;JcR z9%yyNo5fs<#mc#HSo_HA62|ezMQ*&OSCz&G1dAG3#wREya7-0)JjbQ{N64D2{aD0$ z1FeYXjCp%beEUP_+a%_-se^kFPP@qa#G_J$uH8t7VB5%0`GzTpP$+wc$LqMy8?VVL za!TqFhll=K*lWtw%w>Hz#2mWHYG$dfJcZcGSb~fgwCu11=c1gE%MmHUyew6X_RAa> z%*M=u+&4hNe9T^(%&5e*%xtU9Oi^XYuYYq3(_D(g(|oqni$GKbB8M8pogH`?RJ zL;eD)OH8}Qbypc!$R}EGF~&h0l#SjRwZ7}cLx#e`?55Q+T2wSTFiR5UM~W$@nVIWt zV$0bT#UBT@)_S2AM{yAlp?`3#+IM`-LQL0r*HU@xy{^VhdTqf(($|6f*MOZVf*nbk zTG&&3*m029o_MNQ?QD;IO7y(Blbwbtc{(wH+0HqZ&s?3*T;2bS!=il)Q9;@RjZt!d z+C8}1<^98U9l>}VVl`E_dyRCUTE4s;*iF4_Nhi2dyb#IOt&2UQS4_;Ir>9vxwZlnE z%lXbGT))fdE;LO(C@-RSuLyPu4xwZ9Xx0}z@jKuh`9LJO;Ah?7?DyaUyhbTF;klJy7f!4i zuH=sT+6oQ9ckSWa+{d>);uL*JCeGW2LvVw8jaALN#@(C!G|7u=+1%lqa>&MOJkK~1`O(9iRYiD=PAJFeh%yE z=Gworv$IX9)zd1+Ly3MZ&WfHXNLOPYyt`j6=`X&Dt~xcJVJ%<7CjHa?oT~^DumeGP zs)Em6c2qfj)Na7f+|u^kwRAqo%xvLo>gq`z>*qe#{x?UpKIk%%>lVE0y4~x(PUV_7 zxWm5R#UAFz4vIL=?CK$v7_;n{j;hffWS6GxI&Ox3TFEM?*-!?Vbh^pt=N;k>2QnHF zua52;uh2ml)chwF<4N1=Eo(zpn}A%=f2}aa^)j)1efOTR?Mv*&?k4~3Y?od?jLf;l z%jPM2>OShp>4M2$EnsSH9!h2$LX^sL=hKMnHA3gvrD@-=1hwd`w5x6~=N z+jrISfhol>;^p~H^Xwei1BCPQgX8bIjx+x0WE|mP9P|NZt_1#m@SQArLy`32z4R1` zo#%*`52S&b!`v+*5ni1ghM)1mMlCpPN6V z+$MisNs2X$!#~#PEgR(Y>fkm-6)XV}OvO}!Px!a5orYiaFO~QpzW98GYkV8|!{1mD zn7fs)UYFmyQj5i#Kk)kX`5+PcqJN~MulHT8k#Aq|bKkYCUumzOA+di7vrmz=Ux2ue z{%WcFvi)4rr5efCB)CgYf(-fdFZo4c7>>S_m(SlNNd3$W5OM^bB6v#RL4*kr5>(i* zAsmPiB~GMRQR2da88sF}Xz`*$kRd}dltVDpNt6Rmq5fo<3gLzg8CkxfS<|M?TRCsh z6qq7K2A~;y`kXL9!cnA2l`du4)ag^GQKe3$TGi@RrVg|^Xj-%=0I*@jjvWir>{+yF z@2tHeOIEUE)24v~hYnr1aCGJFod(S>v}J*p{Ur>IZ{fdu6)PrumMqveZv>)15!7-9 z%0o4$@K~{9XV9TV!%>(~WJ8jt6^>>d5#vVK1`mc-U0WnclPy)YOnDHdOq4f;*VMW5 zRnMP6H5bL&-1&3p(WOV<%9W|t36HgxP22q}TefcD%B5Q#++xCl1tXRVQ!Zk^i_t?% zt3C4M%9k?_Z4L2ke*i_ZZ9oD)3sAs>Vsogq{?ZC!DK(ICo2e$=coXgwD}z zIVigfGZZuf@V^72q^LkDZIhC=1Yui{wFV_j1;PwhYRRSw$Gizc)HK?#LpDF$Ohltn zlygox>vXQD3i7Pr#qDHND?C|p3XI6~di1fdAmK}l$i4h>>@mtBjnuOJeDZIDD<=Xm z(Ht6D{!E5_B0tc{FtXFhnF|)LzEHWkaE0ggA`2Vyv^)dZ~-E%b2@oJAUQk8xI3aWNZ;D zS<#dK0(Y#H-)Na!OJla%XPIlpn?c)xepR7dEz0@e0f!#0>79=*Q|VV|MO==jdG>ee z;i?|)>a8=^d}8dr?$gh;Jih(~u0b0;TRmFLKS`am8#GUIzZvG- zV#*hZI(()mSXgjpSZHgG;}87W*Sm|e?iXD<2)&VKZY z;YVhun*J%zK?F=3ObB)%9_r3<3RD~sz4SMKK@cUvsu$#v_KLGm@PbpM;#D%JL9lhF zgJcWg>3T%M)|n86ivCg|+*k-d7s?NYHO$)$SHs38x{-!9BoJ^Ql&}r_@JvC>-4LI* z#DDSYVZ{^3g9v%E>OC=vajIe?9XS;&Ztzbuu@UOLXi4;yaE#f4N&Cc=AG(2vGps>Z zzT5~$ij>lRNGz4jR;dwvJ&{bd8Xg_xShzqUZI*AOBf}=h$VUcKm`RDG#gZR{^`Nrtaex?jkC>Ur#T~^I?Dby@j zdddGp@=%CMPohFQB;I+L*0k9oO?uTTqI82R4OBh_qseEc zE-+<;o%`fqQ-dNDq1jXoHm_vVgj}kdduwNyB$qph1P!UMv{GIDl~jhJ({~NhA>(p_ z3tZ&HCM1D~Pg>>^m5>yxlhvG7jmgz%bup|c94q@~`o6ijOs%41E6^~-DY$+HN(O2p z@$Oo)ORXxY_=@9S`5M@WUNlRERoY<_YaE&|77mWh4`g*ES;{6?YnB}gX1%J}%_^$1 zo!rj;Czk}27p^r*w0)}_^y<{U;G^E$g_hn_bdw7l)|zu1~?cVDVCkyzDg9c^jPGQ`L5_0^8$z z0U2LeepImz>(#+De5(BJSH*V14#t@4-0_)Bz}BL!G($@+oT}9#ZjCVh*83_XV)&?W zFhB>od57Ee0}-h!;UE?+Jdp!YfXQfNlgQB(fHXZN&BaPP^O=~AW_4*wP)>{1 z)AOresM`$D93pJ64LNm#x1?%VhdU&$M)zpei!>s#Tik!db*>L6K;*SIfiqJ{uyHZ$ z;}kmuDdyg>B|z|GZx1_qVmPzCT+A(guyis$AGI@W#>k*GC~8hHP%SLfCEt%`C%&P) z>H6_u?b?t!T=~4klAl2E!Va^UO!xhoJukz`3y~-^9V0B#4Q(U%MA#`Kl3J5Pn#w4;JWjg z^jxYxH~5LVe0Q%9y^6~|dY+Wd7V%NKZPI?VZI2e^HSDOCW*A}F_PIbj#(I|4 zj`QG=xFJ16Ea{6?uefS$Q$?Cy- z^X(e1^#VcO@_fx5Fnn3+Ci!e6|=X3ag-IbJt+gPl`fC+trHRLZ$BnfVmOo1KH2{&KY|wf%dr@Pepx z(j^iL6E+bG?VAqn>pt(ZAn;=n@oN_H3k$9~KT8|1+dDJ%1Erg)x{gB-Z)-exxxdrO zKaeB70_;DZsx7hWJOL!Y$7`np6twy(Dq!mn22`}|d%)F;K#Kvwy0eO9b3bwMyRYFY z#G1G<6B+f3x{O035JWJ=6Ak0*u8}&ja-%Q?Gp8YAApS$L&v>KAn>poED#^Pg(t|mV zTBlPH2-HIeV`@MnBtq5`!aE_t=r}?q`6MOG7$(F8CoCZ-?7$V8LNxnB5xm0C$U-UU zDOc;l-b9xJHroK!*d$IS7IK1u{oEl@WeShh&tQ=%IG^-j73?T zMOv&yTf9YF%tc+?MPAIsp;HPzISQkTottUD%LqoL$de1W0LlQv$w9!-OCWojMry3a zYOFWmsD)avMsDoJYcvaQWSl>1JEdvES7=3;c*R~^M|NyScYH^9jK^5~MPhmpVf2bT zAx4NWM$16Pq)-PJ3BH|002flHE{p{ zO-%q>TL4Z+Ja|YxX=wm@dH_~WLuFb|Vq9TxWm#-vWOi$0d2Mohb7*{Yb~4Q}euRXV z005)_0J#7Fw>&hHMm)4cJdjjNg>7AeZeoIMafNqjhI@6FYiE&da*}*%lzVlsQc1I2 zVXe|X{LB}x@Tp!ZgIDEX}5cI$N&J?007fBFy{aO>>nEX2L}8R4f`1u z`XU|XD<$qOFy%5V=sGp~DJ1eQG4?Yo_Bu4=K0)+9K+Hos??gM(RZhfSVcB0`)n{7B zYGuK1aL9IP#&~trX=T%IaM^Ze*?D&7NkrvNQ0P@k=UG$qN<{TkO7vP%>}FZ$X=CVi zY2kce9gytEGLls(ib(ch87;#l336ymsn_cgM#7*w_H)=K%Tn0Q~$K?(9GO z{3P}CH`&%)%F1WP#dy=sWY^Vc+Sqg6;8Wt>RN>re;@NlU=t}42SMcpc^YTaY@>J^R zW$EU3@$Y8x=6v??X8iJTi-UuTk&KI&l9r5unT?Q|k%pU?l$4{Jn5&?qjD(?&kfxS~ zqnnquhlaC`kh7bIw3?Eto}jIwjHjZTxS@=?rj)p}guJtvtfr!_u&c7Hro67Oy0fXg zx3S2EgU6PI$C{PZiiFshhu4{r!aU^m%zS(%d(u;ppDk3mC>}G!>pmnx243q zvem1i)VrqAzOe0;hU=)8=dGdVxTfU3vGA^-^th(V$cM_rm(xw-(5U3mz4F4Y^2xOG*{1T;yyW7A>gAXA z>xTK|l>hLP?c%8a>7v%m!Q9fq=hwsO-q7>g#O>h9?c&n+^nl&p_s862+dRoYEVX0E5PSvV~3|X>d05WRasG+0Bk03*e97(dI z$&)Bks$9vkrOTHvW6GRKv!>0PICJXU$+M?NfdmaARM?Q=!-x|rUfjqOfX}B;qe`7h zwW`&tShH%~%5uX7f~ zWQ(`3;lqd%D_+bvrdL|D!VcZ!cOl?gN(VP>%(=7Y&!9t#Ug`B#q|=dL4V?oClA(pI zTDN{B@hrAV76%*nqekQC-@tf6rr)AmoAoAx`-n+HE@MP%5-G|qtIjFeGI-E>pW zg7tKCAV~Y{lTSYTjZ{uK37*83d{}vf3pU`%GKnH$@o|SIf+Vs~B7&ImN+F6wWKAXD zq2h&ix6^Fcm@Qr1_0>7d3g5?mxPO{5hh+#LPVl_!Evba+*S?o!sTQCtAP)Dk!0cBC2RQ^*Rb^I+8Ba?lRkA zA_yj%zRb?2p+*}Qse)tzjv$dBqiRR2YT$|@kSHQ6t*&G=Nt?Us+G~6T_yLI2XtYF0 zN7*3DPA2S3@{YV?+Dz57*It|LH5zogZ@A-jQ|`MYqnnSqD6@-9M{ox!FaEvt-kYz! z&+^MRqX7?$&w>W?I8wqmExZYuHBv$eSg}Z)N5!7hd8fwV-Es^ee`X|(I3bTdy0U@N z>y8E|j~?=&*I42*CSohL?IV*=Q_C#W6jF%>u^{cpM^AS&D?zj_-SjL-BmL1Lf^<~L zEGc1gOVog@QBygzYv6V5bxl-_2G{&o5n7;{kEpoZlnd{G;u<>ofb!BWZ#jR@rc$P;)dL?R+`3eJV+bC3ANMussAE1n}As7nWf+R>>%jV?F?3{o{} z;RV+c^a_%889?prsnt;F&c9pb-w} zoJjVk5_60dN_vNg(;#gYqSO^NWWg&}5F{kjfF3nS*%50Lq9eR31U9TO32be%5&?qc zaKKWFMNC2#lvL3ZgRA=tvU(u9iJ*e3eYhp8K z0?|e#rdkPY;Nq%MtwfAI(TdZwW)2G>Cu*!=o2f>k5-V6iMow@7V;I9w;mCwsH6bWX z$Tbt~D3D4;Vo=5)O%|tdA<`6anmK|cPq5fa?>4%Zl|(|Y1X;vcy;(|`T;dXY4Ndbl z)D)Y-A|s%hNKHY77V~LC8$2zhGMPD#fBh?6^`ib_MzTpJE3w3_*SLnb)Ogk2`W6=i zi3mdcVwQ=ZWg^EoMq1a}*0(MrZ}6I;UNbvW+j1s{*v%n9x)X`rfyEJy*wsp!w-?b? zHYU5Ju4gvO*^PJ>w6HL*E=&8L)20?&s|~7a>jhgz$rb>#ElFQdf?M5kLyZ^tZEq*S z3RW1zF9<2_o+@&NGi2lqZz$ar-v%$yY$PHffk0aZ94!?#O%{@%=qH;Olk)CKy#j78 zTOa@k5x3VcGGYNbebK^5op6S0F+bOoDNNmatT&EPNygWUd;K2NAR*pFRwc z+G~(fhr*T`vaUxAvSd{k2hKI=9G%b1qm3k2&oXw)kIie|tHigE4$`(zD;cJjC7hU#4a|Fll@aKGTS81ehIXrt%0cCRj!uUMl!NG z5$?#QH48C>Yzz?*zBx`ajcT3{a+slpv?TvIYS(+i0%%cScP9&36$W9st1lh(Sip6my3{`*!Y_;UTa9H88+Wv5191_}+N$ zi$nlvfPfGw|C@>=w>_8_U$qcg6!9MfM{xHhZ=EL-$tGmQBxFfPQ>y1(1OReCjlZFK zO_5zm!&$XL7(PKrxkV1-FghS8ZMAoMxwj3JAPCsNd#vDlz$bj3KzyWt2f%X*%Ex@p z2Ypl_eIfBDClMPO5F_5E5vJyN1LOxtSODNBEUU%`Nca(JfP_ex1_r?gig1N41OQPZ zg+{U=>Q{Kuw+5zWcp3l*2Bi`E$A6;Xf5!lTm{(KTa%=~PYzgQQF~@+&=78V=fs}R& z5~zAErf(ORUG24jc=me!!|;J2C=MgoaBH+P+hThcabPF}T(jVNhF}PUum@*=A}T_I zv0#IO;0S;a2+!vhbjO1vA%CG@3Jqjx9$|(65D})95snuUQ?mwq_a}YwcplLT9kB?z z2moqObAcc=48Q=nxQn5%2-y>bfWQD=7zk5ia?%KXL1=0WfOD&MZfYntJ|tXW~Kp) zM|ZSXYPRT$AmRQ8x=4*n2$R4AJfQ#pMrbP<;0F(|1`M!%8KDMhaB6-Mgo)2vU{|gm4Kv0}d16dum598u^JDfCr{vG>~@{ zrq~f=2npi{0KiBhA3-8y2oh+>c#8*>9Z`g4s0KI}e;V*uMuP~UKu3tcnxPO2I2j6% zV1}_dng$`8te9{f;Rg(Wo4iRhz!?fmNNeUdnz3OBP&j>6Ssd+RJ_({s`J+riRuQ05 z5~LL#8~#ChwQyrHVGrPG4-+yW_izvSLJ#Ok5A-MxX{naoFm038IUDhhz&4ll36BN^ z3ZPJs!!S(4lo0~am$&ejfk_CIuyux63%(Z{DzccKKs2pj3Vbkq+*lQpsR0l0cqf?= znMsu-!gnv%i+&IYqNxGgS7SVhnymPmt@(pBd-Y~03dmP0GpxE3L}D}Bq9t(qX>Cm5VWcYubDjnz;|kZ2&mc$mkEoh z*$O=43I;K$8n6HyvZ>HYgr#;8kwBF>VkAZy9AlC{333q=;cf)Tdi2#f6>*0rAunc` zKjdki>x!1{38wledPyg6aLI4@c`&c=3a|%)Pxfe=APZDARhEDYmN2lmfeeAg2d?1> z8rK@H!4Q66axT|6s%CP2kOqICgtORC%-XD|5ecRc3WRkU^pO!7J97m93W{+4bCK{0 zQ|TZj_Xm+ssUe$_6HBwr0kWvk9E8=4q0msLv9VfcavdS7+gGir84IUjtR&kJe)kbG z=Xcb~nYJ0DySc4)x|uti>Kn6mIAZN#pXqCE^R^M1OMb|@zWPh8mK(%F z48NX>o4Dp|J)FQpe3|)5O?BwMa6w;M*}%(IyNz2C_H-!Zcwel=wr!ga{J;-J<+k$( zxAu6!W176-5nMyq6c{GL+>k*dd?A5?!q>aPzjkd6@xn0-zWy`JM>U+1xQWB%o4Gq& zwK`00=c~l)3%^BNel97=M_i*xd~QpeW42_zPt1W)EX8g?#RqJ~;9|g8OcGl>DNE$V zK?TP6G9hDJ#`zGu`GdyspvIyXdKuitvw(gZ5y!AF!g)D5cAO4^d!`jQfnh-u3-QS* zfw}+Y$k}GYEosO=EWhT~l8%hJHTuKs%gKs7zcq@@nyY|#hOGJO#OK?|nheT`kwtoS zfK?18Es+uJanJW`&%r=Qgp?8Y6*Bz7T8t7QV?4$af|mO+o?A-13cb+jc#aVLwMl1) z0MN_;pr5d(MTVv&#~hb|2zAR$84TgfC;`nwD9zJ6{>TPl&Ff3frKZi8Y;IHO%}q?i zjoi}X+|8nE&MAk^_^Hn7%+4I>&W8cd9U;%7OwTN#&-mOP`pnP6;LmN7AOLMl0*wy@ zUC;;3p7D^-4PBlM?a*Bb(Owy!w?NSrjnVztKH~sX3(^rCjm#_sb==EV4MEcCmd%p8 z$kV*DD{aV!Y-)WyzCc{q;%wN6ExI+$&5J$BnM}!iJy<+0Yt0i8`e_QL zAcq^hUvQlPES$o0eF_U<*CRdDEMb0x&AEO4eYt=Q-GdF&iJjdst=-)H&F)*jp4-?P zvc!Eo*`ih1$#8<0o!ND<*{9vvO|lZ99okJn+Bjv}=c*B^y$lZA+WPR?vHi*mP1~_7 zA-9d&_n_Ng8Md_I+n@m4!rd>#eZmFs{>veR!&S(}vB%+5Jgvmdu@F+1rq8=eXW9v1ja!Al(3+ZZlmh z5kjgQGKA#R8Uf|ARY=QlXZ-SC8F7GMq|jYz+xsD=qGw*c?RKtE5$EXDVO`u7&I%Zw z;rhnm%q`@^lYJv@;?o_u*@ohQjoAJx4#X`E&fBcCp_|<_KFN)(zBr!PI$lFO9v(gp zr|sm!Amsqy>04~&#)RbnpyjP4H?O@P=;`IK{hnbiT4PQt zX3mviJt1m7&BJ)XCoZMj|xea-93?ctaP;w6Dy#9r)oZrw1Q>~_A_ z(!TLB{p>e>ztRrV)lN!fOa8l|2kF~B58v)9DF^O0A?`0x?!d&>QA8l=9@Xo9C{P_T z@BRw$4h!@CI`wYA_&yK%j%@ty>i&+mV(tn7zYPPw4+U@Q6i)G0Kh2~-3JviPl8#*z zZ{ipz;uCM($DWcFU*{Yj?Ldt2F3$Gqd*=~>U5yTC+3xCfPuAzCOlOWS5N{LZx$;XL z>{S^yDp5aS_BQZLMH&`AGoP1+GTKc|NN!~)>YigE(-f!7RfIv}!1yD~_>hm!lJ8uVFJqU_6q%o-o3DDE zKMz@5;O$EKrO!u}G1zzQ+$Z5#t}o(oANCcm>?6Ma953wvp+Q3^f}sQoESON?!i4|; zFodY^)G1dLEmoX0tJX%2w{9g%wrv~8ZY531llSeL$!_ypzEr95{*xX@lks%9~H`v^^d2PZ192l@&WPmF=tSC@qKE{pp>Dw21A7gSzi>ruyexL5pCbbof~06oVjm1^evm>>x>*b zehfJ>8OxF=RkEDvGUm7F^GsVM>J#Ww>{4%b2OnO%2GiwFAFOKh`}l)e$9DZ1_I=s2 zYVC7n8(05Zx^fiq69 zw(9=MEUx0yDlDcB8@~6 zxh1!0vbiUxlae|rW3tk^Q?s0B%b&0$QztOBH8Wdp$?FzeG^0AR(eT=gFHSl4T&q4j z-IR|{Kj#HB(6iNO%j6H>O& zV2ceQo)`=&1^{4y8%AC#j4*mhF)tMjgykaDT%CwDPiH=*p@(|KIp^S9i*?9hGyW>p zqq~@7?m3gDn^HQYXTmCJn4Gl+D0orzQ++q9JB&A%dEfypNmky4E+n1ya;uOP(;DJ zt0clog0vim4o-Mf&Z;FA}OuJWa(p?-R%t;3@_AFK1hx@)Vx z_s;x-z83f9vCHbFT=QgSCb^T@+eD)SVz2Qw>fg7AS{tCy9!-*qt zs#x4B8uvI=L{1fxJ5S}hak-WNOmpYyoM*6rg^7fa3O=~P2{{ug8<1uqTsT55rqBTZ z=s*V!QGinVP>db=E>(eHQ7u#zMB@z4BE~!3@_4kq<^5__qPYm#<|i~{P?2avLrJun zBs1nX?XLJrZU1jnSP3r_bd zhq~ZakGzeeBznsqoZ1A)bP-ZsTzOMHgOBrGr}xqS`B zEr7{OesB`P&Wx~x3R9s9C&EG(o`MTpFqI8)sFWl0p%=sO;qPGn5yT;`$~d(!VvLaJ z86_@}S2%Mbus9S&BBc#Ucd_F1uqY2LQjcln$ez-`IFsp&@q7RFePiNuB+*hyaa>Yx znVd@~J!uM12BVYvBBeu2*%nj=LzNmh7%8wo1yX!s3R5V>2ti{)ADlv#5YvDSrqDvr z+%lIp1V9cI5H6j3K|uXUQDGbxjHEUd8P;S~MWWg&o+)!UNtC9naK@{#`38zTGaGB< zXPj&%s~gi9rf>6u$d&$(aryI&Lh&kRT$Il|POl_w zDqm9oy4W}sQY~;|j6$=**oYDkqUo@ko+fEgwDd(Ugz9L37zcn)f)+4$@oY)wVz3K% zVhTifY3NEph1aR>2&lN252k=I4U{l+u(g^sNGPL!i8e=XD&%CsZ)~* zRb*OZsxYc5Sg*<<8fmpxT&)R?zM5TX9&>)uGb>uT8LfG&^{m`e8W+n^op4G^o=K^z zweE`7^y&3PeC=x+p%U1zu7*0E`UY(6AA(8X4^kdgeOW;eSGOmfAu z6b!9iMq66N!2-3*2xVSYs{spG05nd>*cM1(G5*bH=3yYJvBoCiT8)8*6j`Y8s0M%o zBIAGq4&eX}k`kZ*^(VU0#pW%d445JgFT2acYVz!9BhR=>eg{?(Nt^^mqp9SrR%+6j z>l>{yb8nqUVed;&0?%yuW-2x_53b5&PvG2Buy-8m{19vsbY&&6dhKI_9oo07=xtJr zaVUiqy=Va@(x7$XMqBje;s4;pqf3no1r2m!{%le&0%@^_R9(xNt=dDK*)LC+tQRLQ z70OYbGAybLvp-uE%eK<;fSEVVR(%t5#;aIgLz-vrFcT zrf=E#J9sXSo_UgIvfT_KJd>g|2YuK={(n%O_tn6pFReE^Vdc^Jh;$(3J#Vk*Te9ua zbiX;hsFH>{7$p`AspVqoyr9~}u3j~wL<4b%o9fL1nRSyH&g5ICh=?39V)JNq<>h zXHT)?V4r7AD&A$?CW-TO&J0(U$d|2|a~gE4bZDMr`z0a)37x$qZYJ7HClKi?V13nP zix5_yM1yvrd5&nM05o%q#$Q4Us+E1$!zF5w^rcy1r?e1eQK>9kTjo;I00o>*ad9}s zRW0#P$^F%*h;>dfPV0>asN+#KZ^-`)B$CT2nmI!`u~q&vmPp)PS^zbe{yG}2xS=;Sysg1k#M6tRDvF;vA zbA8`mPfOV8H1_&*w$o=fY1)^u_NBIc8Jivl+%-^v3P4;ScBl9zw7-21VesM_*t?4R zu9v@8F=!rpkNT^1dk0#d7&R&HCP%N2g6}t{!&7x#~Hy?a_+N zJ2QC037xSLaoAmIfjQBpB0H{KG zkFbN2ndrK!>$euvJwxgSv!I(l$+TrKi==9c9rQGnNts}9yGF|-t`G?7vpx;LK8V{s z?jsHFyEdH&KLOdh@;m-N^mBz>TMhQ(5co45_#?3S1Aq-A4kKy2{DZn=X|_1~KWa-b zXWJeD)E;p9h68-BZ}OhoD+&gb2L}uq4Aes}nZPrtK-JT;ISMyFBg6aiK>cGkvIs!| zsyEu}FM%+@D8xNKQb8hQL9cs>7o0%~gF*VZL4eaiZs5UFM82fTiy@>FOgh5qTS8Be z0f87HEMNlCfC4Na4Kwh?U-U)o^N^q_G9tTy)WZocFsktD4`VQfVF-gSXom7bhGO`F zF$kg{51igfKkAn zV6UHWiIVWc2mVxwd~Aw7GrBSno7OuwrW;2*dOE`*G<5M35FD3FoI0I=G)LORHq1Rs zbHT=vmotOJ1>zsG!VgqLhPSv2qzXb;d?+KFK3SZ_E%1RT2$dlKjo9&lUIfNp6h_hj z00h7R9!N5wM8<>of*+W|W_-q8@PR&{Mq~&BBFIK#+Q#_%#%{FAP#`>-5yz&hreo5l zFgwThN=MN1Ag!nltZ>IUY?cC~L#&|3Z?MNX#K%C?i8$lOdGJT&xWZdl3V~z_f>em2 zgusIoOfD-hVSzo!>xM#$NO>uViJXNK%!!M94|;PCm)J^iAFb4G-V}0uW9Dkf$kh z#jjomoRT`|Nbf)&MN$k=0!HgS|b zX_F=qiKmbvz{H73fzOX@xBM9-&lHHx^uLGNzsAf8QhZ3Y>;@n-J5N(hv!Jj^gp=2V z%@Yy`8SsQ(WP;q>O(vLu-}KGk9M0kl8ImCiy)YS*>4m&VPPbUjE(n9>oQqy4(mo*m zjOk1nlM#a}t*-0b&g|sQ;vqv}@y=oaiSS%Y^300&%r^8?8ucts0*uFYLsPVr7Ws@0 z`kV=rz|Z{LPpa(CFZoY;!VLj6H-_Mq`ja9tb;J_QiUz%p2W5^36^aS9OQf*Sv&7Is z)6jzA(0KF2v;@)pvqKwH)RI8a<5STfWKn%{(RzT#~S%Ovo=yChzP(Dq>8X^VG?Umbtu8w|v7kkypB0PdEO($3?|9 zIeQYFz*CbD57r|pq`-{~Y^Q`2tFLs|M7>vtw2wA4(Y-7d^YRD^&4~*IO?{29LE=bD z9mUe@3U)J5QN>KNI4$UeE)#1i|4|pue2i9I!dGPiS*2B9yip$gOl~WLG68;HQZaAdYEC-c!+5Qw=*`$KmIFVU> zpjqs@Q5j%@S*=x`<;|W1jW>7$-rU(=HBO>E)}6?Uqb<@f5Wi?;&R~dIfdGRjz1p{+ z(yjFZk%+QlDIOZ(vf_b}=lM!&a;juwjx~kHenn5pt=Fu0N0Z&xW(yd64L}iH$9ZH5 z`sA-3Nji24T!h?_0z1@eLWZ>MpWth^-RnQ20g1k(qRGvP*^|M5xi^sIOh*b`NMwn& z2wgg9&W@v`yz1q9rTIn@E>fOSu^saBj{@$|H-VW^ES>hb9=Jv_h)(Is=2_V0Bk~k48y53wym#%O$&*KlHfMpr;+GKXc4KGvtiyoDJm!$+ zc@B?ywz$9D34N9(e&$|eV9a@`XPEn_#A}j<`?aE&5by&v>XD4C9FIH={PUkL4>$4VP$EMh|?pwDW zlL2*}V;j8yI|y#hO7Z%${ms7+jbH~=?mB%E$IVZK9!rIu%T>KlNg3hX1Hq&U-FVgj zy(w$ogOid-#YYC+8Z=2L)9lC?q)EXEB+R~?9qrLB?KU`V)K=}E<;~X4xYu5W*d9NP zlkH(B2CfYQ-M;3g>g`*gCaVf=;XYizPSmvW)UQr%vnFeGro*|7*f@l4#;w?Hpzi7( z)VjW-a;)F&w(2I{neQI%@D^{qPX6wJ=G%f!ZzajkIA(8sbZ?OrnE3Xik)`iQv~T>D zas93b{!S6X5LF)(@Ol900>_5~he=gyLSLj^-V|-$#N7wqD9~8#-lWXEiwkEA5R79o z*#<(?JWc5A!2pNjyD%?p_R1(e+n^b=Z94AqEoU5m@$D(=3vIUimhKx@-w)bxG7-${ zE=QIa*!r1j?slTrJMt9i+>(`J0Oo5eq0c;x@+cSYZkTfanM4?*unp~EiT>|@mf#zo z2{DIcfe`clP7#*?>Bo>k2|@5xdvi00^Ani!-mG&^Ky8}#ggl>cOq9Zm>vLoHbMOoF zjZ3QMGW1S+3o}pjr#dD^{zp*8dvrv-qUmAr52bW29_vfTbQ#z5wC40N*1WXF3c?Ka zbD|M`)+bXZXjC_*ji7h!TJ^C7Z?VjpkJTxVK8ZzsR?ThH}f9|uaKXoLdx%rPs* z{$J9h=wt5&|0WD&pZTUrQD>J7X!k^EZ*$OAaBGkAV2o*sQ)N}Y-Q4}n6 z=H=TsK-X~Rbgop4iv>CsMgPu^3nJKS$TS>Sr)lwa<8<^aw6piuyOr@zcho{-H-%sL zz^sXjxa+ZG7L(Xxq40>37*q43c&Z+rjL++N8ShzVa)KWDk04w1-n8jlH2R}YdMH?e+Q$N> zZ~8wyh`oz?K@SG14~E@wQma=qV#nqzYqo5#v})5DGq!A5+hKBttzFwoL!Y^NbEcJB>`Sp>BHyNb zYuIp0k;xV(yXE-t;>WiXC)>8|;*~esZeR9uch#IDvQ%&XI_ZxSPm(N|SS3Q*Xfshh`Ot(9KAhpC6Hiuo z5)@HIoq&{6N>wO>Cq7W&pjBACpur0j&Hz?#?CDmQT5Y`**IX#7^+R5I$;DSNa@|FY zVE)J)H`rl_b(0cfjX4+DW0a*QoMxGQ=hEL}AY)1!~} zEhdtnWL`JlKugj_CAuDwn`OGEA=J@nnU=F9qV?KaR+xj98BaXnO-fvv+`d^P{xTh1aPqD_|eCwb)sc^;$}<#g!18oc{jeDuW|DM1Eh?6Aoct!ojFmKIlO zH%oFRYJ*mliWL()V4(pFtC|7D5wZFNh0s3Dioy^~DE-w@I(Xm#ukD4=1u(!g+eaTu z^s!7cK4=ie5x*AmHP%|E^~2X;4^zz5S!+O77+*J|S6|z5yG)_qA`@=I6_M*&l;u3x zZl5d5o36a@&KnzSR(AZjm-&*J9>4yA1TZ&ut67p{CUJ9cH~dkga7jV-O&r7!Q#rAC z6`ObQ>5y&=0OTH*3v$FFFD@_WCtuWi%uFt)BiYS7DFVTd8d5nZ(PgBQj85JoU#3)>6UXU7jCwCAVQ zMHg&zz80xPE}DCb=n6$KGie5JuW_K_2$!x1E-oVjF^dFCCNC>-tagtJljPD9oqU6X%UymI3;+tS7X+-^0hf`$`z-!&B1v-K$NrWu|7p?oJD5Y4JC%|BrxO5MV^R{C~j_wR0I$#KSr}Ha@%c8bM(?4S#>28orgsqNJB}UYoqAGDMB>*S{Cwqxi$0M-POvZoqC5pE{`%d7PqrWhqs=M<8DIet65P%bkN^h` z#zB|Tq6a?mu^7hK;}>%B1!8EJ!fC-Ug#*(J3V%Uc(5j^7h zpaSVsxhbkScn9OGmGzh#fcUB`s8^xb4pM+G}jDpuhM8NfseTq+P1WXMl?!s0aq;Q6{}d( zE&kk#cY0nKtCq$z&hd>w1M7|Mm_C{Q{&7jeB;+WMrO2E)vhj$=qhS+ok&bk7bhp9l zDOb5*sNR!6vb^PdbUBvWQS+>YIc7kW`OL7ZF3Jkk=4HGY&Tr3!2a_5oT#}B44M_cUFvcw4zNFX`l4lR0cM%rMWlK+PFwtoHj6TjLsEV_~*$ZgHN<$pbtpMP5sr4N>5> z6jGLH&Mjcxn?ZYyrP^r-O*)=sFJC#59~tTmjasK1s#)9`xX$B5QjnWC9(uCxqoK*FbNCE+(0iiRL!HNSbtB5>)p5 zQ9qw)(5YM^x3kp6jZZqY>#=le*V4H*=Pgl#M5kR={XWdpSjV(J4z4d~&SQU6*m?YX z{H)vT4naFgs)$v#-@@&_{!ZK>?YwjjWs7)Er}%?{es%W!;0m|xZW=!EL&|^thu_QF zWMp_5Wt>k4I?#DR9^@fJ(@9V;zSO&k)+;!B{GN_(jq(tq(jD3WQ zWK5apg`O)6+CvdfLH=YJ0LIzmg$!u0j_VW^oH)iPf!TFs4B+KPak+*~;Lg|ij=J>{ z<4lyh)kkR=5fu%ZV|-t}AzJ!r&#aW6^PC_0ZPEI*pZi@v4QfFBky`zQ+WpB$PH3V1 z*^TB{(EoW#07~8frr>sL)B)-V=2@F1Ap`@qoC88e=|v#$i4<{FAONJq1(rkx777PG zh6l=Cm`s@n=16gwpc$ed(}kJSogPt1*9*qrRLvlyT;Xlpphx5&eeB@L^q>!t3=ry> z5XKY{GKUe~0upvc_|@GL(w(X37tSPDg3Z7z;-V9FQya8_sQ^IKxW^WT+AxM;7k;7s zap7F-oME_F{zE*T#*;K>}`OPGMwHqe~qu-i2;$6FXsk8B`% z6cv#?M|2coZkd89oWdy#n%h}Wwb|GT&I8o3V=|Z-oPZ0sxspX3A4M>eCgMhOq2QgI zBBZ#+CV`iFJxYF{pfaVRWDFW~w4yY=gwFacJ~z(~#j6C42;ImJkxz%FuA zFa9D2L|8HY1u+z37p@pG(v32X;Ap{A<3VHKNTaN|p=<3}9M0A>*2gy1M>pEbH?mha zrqnoMPB}spIv$2PhD$rH5_G_$Ny#HU+M~VUqeCpEE%76CRZNfoq;m))w$WA+U0p%a zWkTNm#zNLZ**#S=J)}oOCxk*MXr^Wc#aIx)mkc954P#D)3DG_T4Y!s)nA4h614tg zsJ0x-jF?3+?BA%h=4+;!P=;J2j#WZ%UT9R_N-NdfAL#-bJPyRS}?3mYp2>sBPtzKt^B$PGBE0#|Zi)GGt{lW}iq1NdDC64V=hH zbT%opR_7^PXPEqiJj$cny~W|M>eJnvc*5YfHKdo)C3cZ(Z2{+Qh#hy3P)w=Wl2Bi7 z+6Sm02o$X;DFz$Ri3N06hHDfEOuz)5>goFNDG?CC3mlxFZUSd=CZZ;4C@gB1$Wa)~ zkp_T)u(S`b_>ZM(4L|`DhvCRDV2xaKst@GFKRp%}j_P5U>Nqf>sz#%8og1tcC9GxA ztS+U^-l|~cs*lc2DD|qZ#sjcY(XfhEv63oGrG&EjBeOb(vqEdMKIybZX>VBTwPtJa zq$OvBr;^$s@g32)THQqe9^k3#wV6`8Ce!kL2fP}lyne*S)hqQ`{tB<{>o)XjKK$!G z1Z

      7gBwxe~Xz+|aq=*(jhpucAA;@T$6}TNbH%mm9&l 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
      1BtJ+d;~C$OBRMyXIjWEf?Tfd9$I$o@bZz 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Į?^Ib;D<{*JZd9jRcIdG88XLpm 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�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

RH9q@WAn8|zn-d>L8Q>Rs9{sKaL%58h* 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�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 z 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%0DIM-~WbI2BRgg z41#)5P zEVMa+Xo25HWVSbzlDPQ^ZVW?wQ#PMoBaNlKIJIH^W)ZbM9!N z8ywp*<(X%D{xi2H<7eJ}JEIjIbcPpl=tL`I(UO)lq}d(m=f>NW=ShgArCULTuz1U- zNRUxHtz8*|THx9IwRoF2P%`|)N(s%0TZSPM_Xf<#399k4GmRFgNM&QVrn0Ut@DT|} zfUZ4hic!4$Wt69UVpj=pRY(FmsWc@_Z+VML)T|cZsRYg&rZ#J_eeL3Dn@-=}D51xl z;ks0B!a+my_D22gb_WmYCYJYeVO4K?Pj^2H(f4Ngy#{~(d%J=gIH(ZV510|Rc z7Ki=cofdmScH(=1i#o?2dz}o3)RP3=BxQ&-GA!!;b?@%IEdA|CDXd=#VrPX)Rtib3 zs~nP#JQ2sdD?G%^e}404pXIQF66Bc;3x~%gE-9n@n%5HFTtu52JlA}+&D8n+!;3kp zusj1a=m|IJ0W>`0lcr0zb$Y$#ay@rv&2KELZCr%N`-OG05gIVNPeCmaQcc|XLW25O)}!^nqxfHRk9EQ@of zx4^srlqfKq#p3}$(vu$EVmjelw>dnTIF!0yjEOq5w>#88J_f5p!y0QtwA&p* z%pylzHnmW!nn=WfS;UWN#7CUQNc6!;{``PS6ha|{#zsU!^y|bWR69@%#ZipHQanZZ zOT|^>hE{wvyo1GIkVRX(#n1c4Im5*?)I|*AMH5uF7#K!BS~8Q7L)I(CtjoG&ygjdb zF=hloX9TZ=Bnn0ZN3&R{Q*bDNF^X^0o!of{*pbG&hr#HV9O&vD3CATbD($cePHio`dP$w-ad$Q$d(;Tyz&>JpN4HIqz1D%m0skVYtB z$s<&`m)y838LXKEfSNQooE%F2pZrNw2uhS2%AyR0qojtURLZzuN^WpUeaymKkV-D} zysJbWS`5gngrhR_v!nCM2DC|q6w9$>EL?%e5<|@*4OLenfw`6Nx%EED{s6aDN_ao|tYtE-H7ECA&Z zr;aiTTS7?Mvv4ooa-NFEffT zEzyO@h!Z7)^Yczv08hl)Q_4)4X?P1hoyR_r2YHyI%S=x=OH?>Z8O~%eeuT5r#4R9A zqde;~qnsJgtR5?bDP2)Ideb%OF%k z{RS#jR7GV}8~%0F9EH?KUBF4jO574RnZeXdg)L6So=-i})`X#uFbXDxIALT+74x1| zwX{~PQdoVyu)|0gld%o@&9?$RMck4v%~iP+Qt|ezls^eMnu+Rtt&h= zB3hsYJq-p^99hdm(#x2?X)r~@zz2MotwZewZspeXY|k;u(aeO;`CKp~^(d}%lRQDd z3fszZ6I#9ysZe#zc^%18g{ONR#(a%ZtFyO$Jgo|zn zO`qM_{youI=Lx#p!Z7F|+IBq?qm9>Ot=AYd%Q<{n$ePHh_17!KJ&PRJ5A-13TM*u> zF@*KnvH)AKjZ>{qK}ZbDy(8A8@GOhH-7ynew=Gd?um-yQ-I2B1J5fbdL`8Z~MV1Aw zlU2&UP1Kru6~WyP$(y!FO%sBw&pG)~0USg6R72DAUUxm(jkVlX!`wI2+#X5G&ZXMV z6#?ohUD6$0)0N*C8(q{5&V+>u)?HZFH3KS%UC+vxi>X~O!(EGQ+ubFK-UVLZ72Z2K zUg9-g+)88O& zT?!qwA|}KqfC4AzFC_lZrEmf$cmjm8*olY%CzjJHu3{>FWe2{CEcRefy<7Bz*)INK za24a5{otNGlQR}!VYa9`Q(+J;lcR-Wlkf_9UD}txh0r*UD_{cu$%P>hAJ6`&gCNL{ zZmy02vL*P+y7XwO^C+K2cH~E1P^?XeHi&{{@<85`F>7Ii`xU{2Km#<$3_)G#y{%0v!NCC$zyTWrzI@(ieiq`97=RxL=rtW^Wy(pW z0M;m(*dz%8hJG?Lz-ox5ih~eqa7kd3z-VjG=ql!D{`BaN=0A~^w*JCh-drARnN4Xh zUg=#RY|VpdiaOkxw$J0aY0%5*0dw1>Fd3?`rCAbzQE>@TiiuX~jCczTrWS21z=Guf zlA(Hqo7#fdb|ow@rKWxbre@XJR+XDrDpSG&S9)!Q!7|#@+z5 z>@~*hAr_I%F3YB+j{_Q%0HVX^+KyVf4XA`5`k`(4=KNb_izvX2&VXO12>ogH4k$D!H-`#1r3@eBT7x#|7KN~618D*h!~p}bO`3J_sJ* z0cJLW6mf$7X7na_Yf@-~_ke;Xkcubx0YV>ion-LD=?O-c@L!{FRIqRWz;F%caBJ{z z5tm}a81Z)v>@8+-luelxH|)bc>F14cDO9b;CgvLc4^qv;@$E%n!f0g?@QQv@TFW&L zM==iq^^8^38WA9yq8e)U2qp}=1ywMc=a{A8SQOkQk1RhAQR!{jZt|O;0wfrY`%q+9 zNe`TQg7U$S_ZXH5x}Xe-pk8rbRdDA6!SiDQmJXWg`PKLY34#r(=ReQt)crk32R^wj z0~a~)AlUTz{)i3O08a;Xi#~4_F#@WPYcnuE99Z=rI6^ZBg7g-8hyeh*CJ6*E35X#B ztWJgQbOjCHaJtR#-v#mNL3U)%Wo5@(W^d^hH|bqgY!;Jom%ethpGC-yFm6u_ZwGg< z6L)Ba-d8Ah&W2j(Qg?PwZF0YYJ>M02FOUAJx%Z}eu6-x>de4#R$k77~~j;~)20(oc=`4CJ9tj6DMIe8IG`6g)j)_3_9fO(k* zfKO*;hG+; zigafhGiH`7DO0BDjTlXUu=vWNLx&9;ELf1BRss(m000<`DJ z;=aL-EqnItZnkgZ&V8F3w`tRc4dbnQ_-@|DkMjneD_233&Yds+^-Fj+*VeCN&#rwt z_wL@mgAf0Gr+DqF%e#K7UcKD*K|z2xC4c_L<@R&cxe_EJ$AYk6Er(G<|J}#Y79!wc zA4Wl3QAdIYO7sL1Zm8nX{(<|wvIP?oG1$<84LYPBf4GQv1w$EbScirh_4i60Ks^D{ zElkAt&=#s-k)nhW(fDE#PN=d|6hKAcMjK2xq0~-29q9xT?Ge?U6H_AL1X66obcB^@ zu;By{QCMk)lT$W<#0@ko0fY@p{9prFW}&r~1Sar+09@|vWET=mm{CI$G3jMS8c8T6 zMG#LA1_cyHhyX^nwKwOAc7K|QMXvW!Rpm8=@YNMKVo@=zBiYjrdcEg)* zz){C4ZphKfjdIMr^4xRLO~;LG=m8t7u)`9Y9eKo>ir#wb;fd#S^PPfHLH3b&g|#4Y zL?C`wH00lZuyBaS{rpq^U@Inzq?2z*ga`G&J1tLHeS+h{k(5IqM@M%@XQKahxDP-V~gVZ_L z*&ZoRAT5m6S|3r&r=V^o>Zq%cO;4(4qg|VdGs1#eyeP zvB&c5n%{u~3%EGRmbWZ>a>3Rt#Lhu0?JM^!*J482R(|=nme*(Be;eT~Ip?q7((UM{ zqkekmtLy$MA5pKv{(4-o)4m4Ew@bB`8CvmP23>TKMHUAf#M$#&76_4p0Yc+Rm+sG- zK?*7INlykDid#*JD57jFOfN~?@^xrpr&jiAX`_F3+_|+4E8OeP?P}e3v#vMXgm*Xi zu!aY&KmOqv4sqg99P^CQxMtC%IjV@9DpHp%0O4vQpL3wY8%M)1hSId(?=)7$}f|8PryPCYZtg;O&os{38ch=QZSj0+yw) zcXVmt3u8FL8rG1G?b#t2df3Syk|KyhbWahD_?aa(ku;=I4HRD^#n{+}idCG|6@in* z_iZtLzVTu%HW9E|R?aT?{JOf#F>elk$`kG=%~m=RMDd&_o3)q_>l|gyvJB zNew;k4)!)d5Pi38DyYLQi3+~qGW`kZOyVx!*x zsW?s=Op(^Lq=nO~GWi;wls=QC(e$X}5||K_3<+8ii^9JWf(t1O%z;;+0%a-7qF1ad zbuyg~P31*}$Vv>SE~40BgY>xP@N{*D{Ap33@C4S{4uw|HidT%_rr;&Dcud_b&qf&+ z_;_+LbQ$ILq!*gw9@mMbF&}GArM|Mp?Jc;;p>2fLwq0O%7t-;~+PK*MHjCz}gEPIR zM&AZlx}w*m`}1r6K5EyzM$wtqaq3QDIoG@v7LTPp6lWP*2P9zYAQ`L!g9ywmhg?>h zdJI<(5Rwp#h*l!k3~y?kQ(?TFq75Hotw)>yTb4P2Pqe)O5SkFYcgj$yyj}5Hd}|co z?!|h-jRA2*VO-?mSh=h$TQgGy-RJ^fx{IssovxeR?M|b+-USYLH#=Uq$~C=G_UL*$ zicIeuD~|IOY+URs&1QYz0~}Gsp*H)3Hjw!V*Ay@Y55i_bir1PP8Hi{rSjY{Yf+eio ziHBk?7G!CP&V&<>H6Ng21Pr!o-(lrcqgHxbksWubAKcp z=QK~4KjUgF=iE$Z7hP*3`kDy8u)wc{$){XTn6ralQLYE;i`moWT)V8*zzXf;S|}00 zv{m5-Yr$k;?!Fk95NRzw_v8syu)@mL5aK2P90yvt!4QU^gclUL13)0c4wRtVMJt-V zMtL+D7BfmpTN)mi&a^5weVR^tdTpQ#P*0fbEp8EoAy_>K3si+t zo&ex$s^ZyDzq&)%trLVrT`5!-y2G@N5;t5735-pN!=^q3H^5y4d3S?NoWSnaesD}) z@^BlLFr_i2><5N#LJ?lz0UH!t2`i9c27Vxd9R$G!5Z}C7BrcT2Tvce+lTR>$foZO; z#;ayaXvkMZa-hTBCPb=Sxt^rOUJJ&>?A4yz++LhTUwQGK@%bL% z0N)wq9Iy2ru^=A{Dj$Bqo?!tJV|maT$OkqxokeVf2z1*PYyqKwg!dgtN>s@ejNfw% z!P6y#_l-*uV9OLB0T!5{wT+JaSs29BpL5Uzx{-w6xk3H$U7j)02L)gn&_o(EMHB!W zz_Cz?dB6&Yz~pTJ5fH&rSwIH<%ua0JqM^m>xyM`JlYIQgW)#$Etj2P!o>Ebe8t@SxdeKJyu&|;y^qdF`p-Tas5pslt{6$YJ;UL|@6aYcD zy#f?E#6(P86m%cfT?|T?ga?(Gb9AABpr1qZ2uQTwMUY?o*`EN8Kyklm>7V_*VgAXX z2n0bLvcyN=Arsin9_GcsbwvvZA|VOv%UX^(M$r8}O4eW^x*uW7e0S74D4%mPa2*C=Z1zPTa z2&9Dy{J;*tr3hreKB|Qy?v^Od1v>@gUJRsf6qG*b16VbrUPk0$zSIP5*6XC=?%fYZ zLS}n;2Pk&K0da=_bw@4M7ch}g3znqCK%YuNTk435L!=A608G#+M7kUdVoeO1Ee&G< z%xO~FX`-gQ7z|4uR=|Xl!%U34i2xJ4i<(u;#l*yXWK5s=*}Evp65v2xV1*GV!8NCSitRqao&d!k%Jw5Mx^82cGI0bheuoig*?kC z?8Iu(4kSrZJHZfc5sw96;11NKU81Nwb>Kb4fDa+XKmv!UFl6h|k!=V?0l{aE!rtpZ z5>ohL(P0;Gcp0y`qJ9dWdbyG(R;KYW7jx;FUOCkd;;678=!A_K4d$MNIw&=9sFr3E zg*wL-m;}3Q)`ljbpP|r)x>F3H#SYM8io&V!tSD5q=qJ7CdBQ@BHrI@XT#a_ajsBXB z3hJowC<^(g5(4Qi2--dm9yg#M_PI%tNz zj;CT1n6BZvoz@!OA^z-m=nAbViVY81JY1aGs+{_xTtt73?fez@P5-UVP z&!I*ic5xS@KB|$4Pq2gv#2NqN+EVD{3iH z?7Zqxg=h@TDy`mXyyEJV#>KAQ>3=M$$OWrI25YhUE9@O>8ieXKDQl83YqRF(vpN@_ zj+J~-tEE~iwr&S0!pF7(5~w1osAABzs#X%poRy-^g_SFY%?FwS8ap9XilM~?TtLr+ zr@YDutu7VkF#rQR>+>(53c^jO7@{$jySD#Grkc*J6oYHEBjEUUl< zb9L3j255Fj{@g5*qHR^^yD(cp3<<`1tF%pwGA2Z3H6KlN>=n2cMpX!Dh3u-XPR3BE zPpNB~8Wo6Il2Wm(%Zh*mtN_E!?5)b|KGy8b;*-uw)C%4#&@%2Q3auFs?I{$5(H<<) znh}3u$I^OaM@H+~M6LNuE!Bd@)ix~=jv86?L^S4#e*xHGIbAiO%#SiygRon&CD@gs zDuH>}cu81zX;UE?8=jph?O4Sa;J^|%UWig41*%2yOu+L_fbnF22>d|c?ju^fD~m-y z1k~*IdT#{KQ?9m$?#PGY*r-vQFTFPI`sU*A(7^lBfL1`yz)tQiEUUs=t}LDncRa1M z&PLh(bXDj+tahB&um%Oz!XE0bf$CNWNr+vL5N8L)E~55F7lxe|qRz-J@a`6!0{!mD zh7O0uPVqV*1S;?HazOLa5cEc`@ldbzJ|gyxsP=L%1AOoHhOhd@1^J$W`Ti;T{;&?S z?+`bS`@*mMJ`erA0_Eaw{(j{CZb$zz)c=xA03Vd-W=8=NPw3&1^r8K6PH z0b&evfD&BZSS~LGP{8rDw9<>kyX?!w+UF|fSSYyey5-Ug^Cl*7`46(ch~R4V_< zS8H@&7q_6P=7$)9t4|6nvKAc{P{9>Yvx@|VgQXo%JdRT;rE_%M*SVo`a-CD&vDww` zD}=L7U})%MjQznxP+Vxqe94q70UDse5(L5V1_AIevJ%(;3PUm{4?!mfMFub&LyNLn zXfh2sv|Oq{5Qwr0OtPDvC{vNLoS5wHf!cipx;{r(qlDjabr6&gO>D&jdIeZ00T7^= zJPr>FKkr%~qFQ8t5@dips>NSR^d|dlA*zKC2!UD<;ts5UV9V@BO8{QJtXiD%PK@+s zk8~@m^k*gB1%kGiz}Ws&BSJ zBp72bw;!>!k`i&_7%S~~|@^WPl8^*TDi zTz7?7+;v_T;$HK$UlRe(5ViyuwggPHV=J}I{_;#_ivVW>xXp?$ zXcKruiuP!;Q)y?cDx7xdl9X>dY8I=?Ldw@`qe^W1FQry-ZQpiKH|b;&^;_^ZET2?F zR%`>O@dr1xz#{5HjGqFL8N`ePJiAK+0fof49TPlGG@?YA9TFW{6II6uahilVbC4V+ zVg02{5R}0f(12lhfCIV!2WavNwB-eGzy-*o3akKMPe7a)b_S@xV9)n^GqNMLcYP=J zY$BP6(TBAt*glve5!~{9Uq15qY#1PoJ zxK2Hv8B^9XO5}*Clc}yKWsIx=+|fi70KpA7c@Qjt4Kx7}yZ{H-KoFeyL2Ee?C_(0V zd7Pl73a9{DuD}Wiff87|5bTTubh733t+sP}C-2Nzihx14ISgYGoUihn!@Gcc_MOvv zz2>=|!*niN)1UWBr8}2R7y2jO7ozj)qHlPk<2J-X`fguqqxm~79_C_ot>xs$xjDyB z`Ka99vB5||nC2$HC=6l+#k#cZyL7xNtii-UpN35g!{jFGz@5Pq@;|%G5}2669l>={ zAS36D2te;8ivY`BfXq6g1%$F%F!U$;%+Z58CR6@7Cg*p%pYqhtxn^@V4oiRm*ZbDD z^iCl7Sc4D46plSvpZ%_y}JXr)o(V| zYdzPKzEGU>Ub-~c^Xho_W=$HIX<(wXX|v_4 zn>%-&It3FbP@gjXwa20D-30t{#_3HKF*R2~iRON8t zf(5k}#J1%c0d8Emav9XMdlxTWxLqsu1t1b|V8Me47dCttu?UhRDK1`2gGN%xNo5XI zl`Ge;U);Dkgvb$e=z<$XmnMi1HA080S+{Q3dLjVU7hxY1C=g$6-Me}7zI|I^>TjZ7 ze~uWtuSbm;IVK*=GiUUbFJsPx{%M)$NtfA)8m%7mrcduOkvawe0xDFqW-p>ed$ny? zw_W9{U0)ULTDJ4~&-EYoE|2oMYcH{qa}L1-69JzR7&=0Y4XwGvmO&9xMHl&v)v z5rR=h8EFKLqZ=2>F`>}@F7*+}ABFr&&nB9%DT+E&IkKgbu7CnpT-yLDiYK7_)u$_Z zwdsi{+>lbHppHtaj50_%PdyH7C?YB}&7yz;t=R19y$P(XN8WSuLRAAH1bk&_} zK0Eb%7hZVzY|PIX0u^-0LUX}T!)_S;S5+HDlvGmG2v(6t);{ADpL`sC*watxAucr! zQ3H{oZ%)N1NQ^HUGS482uqg;%X??PeAbM4K$u;U|<5wtsO4$jU>ZpUsD_d4pvSy#% zQmPef`1aatvEpil9abQ-TcW25cRzCJ6JZB**S*@!b}fpR>#iA`7l3;04K&#`^yL>( zfEmR&xPcF@^fmrTFIAXBh98DFMu{g5O;pn^b~NLSNlW!(RvCl~qmfZ6nJDQ@3c`ss zAXipA@nWu06%lH#5~iM;brwRWqIH@*jIs(-f)zwiU4*XeBb_X=^xM{Ts%hUUYYF7S zJ%X>`lCw?#>dJHYkMdg4>*Pm*kX}FUE&J?4H#BY`>emK*#DgiNJMPvfiVa1Ed%L^0 zPbnVJ;!;5q9Pmde>UcrKFH-!ZCuBvbjw@0^QkBUkU*ic^xI!H)CqMzp$_)n;pslVT z0$-_OD4Iiw2n2YnHMGH18T?!Zn{a~|h^|^wQNjqPlC&M1a0ODK+73Ko!la3SEf!!Q z3tPvP*Zy&!2_sZO6Q*JV9V)>B8&JXtPiTYG5m9Mdks;MkP`j!r5sBv#OYU~3yWV-_ zcLNGu@$SUMIN=3(%1fS~ng^lh$moc>kEMvma-ihFrBG`NnVd0}kry7R0 z8PVu`B1&Hy6~aD>y-!t#i$LO5m?YA5fniLQ^^1@f4Kvx*x;8c zPy!KFFwFVEPy$QbfekKT7N~&020ysS5QfHrA}B!xDj34KRKUU??0^Uu$N&*AvV$0+ z{s09RNkN%lXuGYTAPDf>fejwX0yJc6G*5Vu zsTngfNDzWRz{*|DW;r#9QT_*$pZe6e zM-3`cJt;t@GB{m}fs!1NHvL`q<37~WW6WVYJPZG7b zLyfkwjdejyLcs|!V9E`a@Pj>ffCW1+x4JJ7SRtsuhs-Qpdohwi4Sd7~6R?0b(iUJg((A^j) zVF^nxf(<(G0wnIB-7+NNnX6LPb`H&ig%yFmwRsV~5AlTiJrB8?@ZCPE2k}H)fd$G* zM7G?WuXnGS-X$-A%AYWXQA9bLRKD^{56I;Tg}J6>K6Av>yj~MBwHkGfQl7v1#XrYL z&|^Gwk@Au0NGF)mmwxme@yH`jk9s%a<;4$t;J999{&JMOqb%$5j9H)~$>_R-t*@Zz z%~HV@wz6`86`ZrpQn{}TWIzV@li_FQp^BPjH+uV5nx5nO2&FONJJWL-06EOlTyIZe z;3D|M=1L9cCJIq*uhkw90(EWHc*9|63y^Xw=}>9{jc(}CF)0qw@e=V{u%!_v;QJQwbiAc1u1T(9z!J>>6Sq+lkB}2P(G&B}6G?GuwuLSj z;1p9)3Rh9HTG16>&$Ird#1wEAU!fKYMm2I#Qnp9vN~IUo@Ye1y7+q}`&k*=}>`|zP zeKf@m#laat?D?)^8l!IorDQ_15nBEf5lyZl2U~Ld9C0hgF)O^WDku>h$>0*-FaCgL zJ>0_`-w__?Q4~Wl9_!JHPLX%`G4-af_5P7C0&;A;upoC~7r;;A#H69 zaSiukZ7aor7-!2EC9+gTa1KM_4*jvALb6vza>;Dv>|*64hQ%7S%MiUQCCy@&`0kkS z&LvwCCM7^7vBDcypa`gi18g!K*YUn&&H7YIfZ~!^RqTG_R zSYVTwL@u!-Wnx8Tj%8-5P5v*lgdMrDDzYM*{7d{OKxi&NCS9^HXOa=Aq63rw2r5ws zhcFY(;;kmrCx22cGJvh>uPrbRn#zSMFzyFDlL?11n%0DNK$A>L6E9Aa!vsVC*HSeH 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