From 87af829d0f63e24341dd2c8590338df187ac9a1a Mon Sep 17 00:00:00 2001 From: yangxiao Date: Sat, 23 Aug 2014 09:14:38 +0800 Subject: [PATCH 01/32] fix template --- templates/cocos2dx_files.json | 6 ++---- tools/cocos2d-console | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index c1e45b22d8..a688c68820 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -225,10 +225,8 @@ "cocos/3d/CCSprite3D.h", "cocos/3d/CCSprite3DMaterial.cpp", "cocos/3d/CCSprite3DMaterial.h", - "cocos/3d/CCSubMesh.cpp", - "cocos/3d/CCSubMesh.h", - "cocos/3d/CCSubMeshState.cpp", - "cocos/3d/CCSubMeshState.h", + "cocos/3d/CCMeshVertexIndexData.cpp", + "cocos/3d/CCMeshVertexIndexData.h", "cocos/3d/CMakeLists.txt", "cocos/3d/cocos3d.h", "cocos/3d/proj.win32/libcocos3d.vcxproj", diff --git a/tools/cocos2d-console b/tools/cocos2d-console index fb44ec8cf7..b2a0338f0a 160000 --- a/tools/cocos2d-console +++ b/tools/cocos2d-console @@ -1 +1 @@ -Subproject commit fb44ec8cf77f6f51503987c3a1a0964580b5d88f +Subproject commit b2a0338f0a6d51878ce96c4e0521d083e232e67b From c7f76233205a6af5c97d8bb6e307e0d6b01fac02 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Mon, 25 Aug 2014 11:30:34 +0800 Subject: [PATCH 02/32] reserve animation size --- cocos/3d/CCBundle3D.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 8c8bbab2f8..b1a8020eec 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -1202,6 +1202,10 @@ bool Bundle3D::loadAnimationDataJson(Animation3DData* animationdata) { const rapidjson::Value& bone_keyframes = bone[KEYFRAMES]; rapidjson::SizeType keyframe_size = bone_keyframes.Size(); + animationdata->_rotationKeys[bone_name].reserve(keyframe_size); + animationdata->_scaleKeys[bone_name].reserve(keyframe_size); + animationdata->_translationKeys[bone_name].reserve(keyframe_size); + for (rapidjson::SizeType j = 0; j < keyframe_size; j++) { const rapidjson::Value& bone_keyframe = bone_keyframes[j]; @@ -1627,6 +1631,10 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) CCLOGINFO("Failed to read AnimationData: keyframeNum '%s'.", _path.c_str()); return false; } + + animationdata->_rotationKeys[boneName].reserve(keyframeNum); + animationdata->_scaleKeys[boneName].reserve(keyframeNum); + animationdata->_translationKeys[boneName].reserve(keyframeNum); for (unsigned int j = 0; j < keyframeNum; ++j) { From 8bfd56c080d7db898a6c784ee23da1d84bf1e36a Mon Sep 17 00:00:00 2001 From: yangxiao Date: Mon, 25 Aug 2014 11:31:38 +0800 Subject: [PATCH 03/32] use normal walk --- .../Classes/Camera3DTest/Camera3DTest.cpp | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp index d381e4c2a5..6754895447 100644 --- a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp +++ b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp @@ -363,34 +363,12 @@ void Camera3DTestDemo::addNewSpriteWithCoords(Vec3 p,std::string fileName,bool p if (animation) { auto animate = Animate3D::create(animation); - bool inverse = (std::rand() % 3 == 0); - - int rand2 = std::rand(); - float speed = 1.0f; - if(rand2 % 3 == 1) - { - speed = animate->getSpeed() + CCRANDOM_0_1(); - } - else if(rand2 % 3 == 2) - { - speed = animate->getSpeed() - 0.5 * CCRANDOM_0_1(); - } - animate->setSpeed(inverse ? -speed : speed); sprite->runAction(RepeatForever::create(animate)); - //auto sp = Sprite3D::create("Sprite3DTest/axe.c3b"); - // sprite->getAttachNode("Bip001 R Hand")->addChild(sp); } } if(bindCamera) { _sprite3D=sprite; - // auto sp = Sprite3D::create("Sprite3DTest/axe.c3b"); - // sp->setScale(3); - //sprite->getAttachNode("Bip001 R Hand")->addChild(sp); - //ParticleSystem3D* particleSystem3D = ParticleSystem3D::create("CameraTest/particle3Dtest1.particle"); - //particleSystem3D->start(); - //sprite->getAttachNode("Bip001 R Hand")->addChild(particleSystem3D); - } sprite->setScale(scale); From ef472d6250ff0abc838609e8051b29c61a33ccda Mon Sep 17 00:00:00 2001 From: "Huabing.Xu" Date: Mon, 25 Aug 2014 17:19:45 +0800 Subject: [PATCH 04/32] fix LabelStatus string error when labelStatus is recreated --- cocos/base/CCDirector.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cocos/base/CCDirector.cpp b/cocos/base/CCDirector.cpp index 30518792db..fc5f588ee8 100644 --- a/cocos/base/CCDirector.cpp +++ b/cocos/base/CCDirector.cpp @@ -1166,9 +1166,15 @@ void Director::getFPSImageData(unsigned char** datapointer, ssize_t* length) void Director::createStatsLabel() { Texture2D *texture = nullptr; - + std::string fpsString = "00.0"; + std::string drawBatchString = "000"; + std::string drawVerticesString = "00000"; if (_FPSLabel) { + fpsString = _FPSLabel->getString(); + drawBatchString = _drawnBatchesLabel->getString(); + drawVerticesString = _drawnVerticesLabel->getString(); + CC_SAFE_RELEASE_NULL(_FPSLabel); CC_SAFE_RELEASE_NULL(_drawnBatchesLabel); CC_SAFE_RELEASE_NULL(_drawnVerticesLabel); @@ -1205,19 +1211,19 @@ void Director::createStatsLabel() _FPSLabel = LabelAtlas::create(); _FPSLabel->retain(); _FPSLabel->setIgnoreContentScaleFactor(true); - _FPSLabel->initWithString("00.0", texture, 12, 32 , '.'); + _FPSLabel->initWithString(fpsString, texture, 12, 32 , '.'); _FPSLabel->setScale(scaleFactor); _drawnBatchesLabel = LabelAtlas::create(); _drawnBatchesLabel->retain(); _drawnBatchesLabel->setIgnoreContentScaleFactor(true); - _drawnBatchesLabel->initWithString("000", texture, 12, 32, '.'); + _drawnBatchesLabel->initWithString(drawBatchString, texture, 12, 32, '.'); _drawnBatchesLabel->setScale(scaleFactor); _drawnVerticesLabel = LabelAtlas::create(); _drawnVerticesLabel->retain(); _drawnVerticesLabel->setIgnoreContentScaleFactor(true); - _drawnVerticesLabel->initWithString("00000", texture, 12, 32, '.'); + _drawnVerticesLabel->initWithString(drawVerticesString, texture, 12, 32, '.'); _drawnVerticesLabel->setScale(scaleFactor); From dd93439c4b43ebfd4c90bf917c3e2ec98c150db6 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Mon, 25 Aug 2014 19:25:51 +0800 Subject: [PATCH 05/32] replace model --- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 18 +++++++++--------- .../{Girl_Lian.png => Girl_Face.png} | Bin ...Girl_Yanjing_01.png => Girl_Glasses01.png} | Bin .../{Girl_Toufa_01.png => Girl_Hair01.png} | Bin .../{Girl_Toufa_02.png => Girl_Hair02.png} | Bin .../{Girl_Shou_01.png => Girl_Hand.png} | Bin ...rl_Xiashen_01.png => Girl_LowerBody01.png} | Bin ...rl_Xiashen_02.png => Girl_LowerBody02.png} | Bin .../Resources/Sprite3DTest/Girl_Maozi_01.png | Bin 20858 -> 0 bytes .../Sprite3DTest/Girl_Shangshen_03.png | Bin 2978 -> 0 bytes .../{Girl_Xie_01.png => Girl_Shoes01.png} | Bin .../{Girl_Xie_02.png => Girl_Shoes02.png} | Bin ..._Shangshen_01.png => Girl_UpperBody01.png} | Bin ..._Shangshen_02.png => Girl_UpperBody02.png} | Bin .../Resources/Sprite3DTest/ReskinGirl.c3b | Bin 1221009 -> 1111971 bytes 15 files changed, 9 insertions(+), 9 deletions(-) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Lian.png => Girl_Face.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Yanjing_01.png => Girl_Glasses01.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Toufa_01.png => Girl_Hair01.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Toufa_02.png => Girl_Hair02.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Shou_01.png => Girl_Hand.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Xiashen_01.png => Girl_LowerBody01.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Xiashen_02.png => Girl_LowerBody02.png} (100%) delete mode 100644 tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png delete mode 100644 tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Xie_01.png => Girl_Shoes01.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Xie_02.png => Girl_Shoes02.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Shangshen_01.png => Girl_UpperBody01.png} (100%) rename tests/cpp-tests/Resources/Sprite3DTest/{Girl_Shangshen_02.png => Girl_UpperBody02.png} (100%) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index d817e0e348..1ec8d15e5d 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -1056,7 +1056,7 @@ void Sprite3DReskinTest::menuCallback_switchHair(Ref* sender) } void Sprite3DReskinTest::menuCallback_switchGlasses(Ref* sender) { - auto subMesh = _sprite->getMeshByName("Girl_Yanjing_01"); + auto subMesh = _sprite->getMeshByName("Girl_Glasses01"); if(subMesh) { if(subMesh->isVisible()) @@ -1159,14 +1159,14 @@ std::string Sprite3DReskinTest::subtitle() const void Sprite3DReskinTest::addNewSpriteWithCoords(Vec2 p) { - _girlPants[0]= "Girl_Xiashen_01"; - _girlPants[1]= "Girl_Xiashen_02"; - _girlUpperBody[0] = "Girl_Shangshen_01"; - _girlUpperBody[1] = "Girl_Shangshen_02"; - _girlShoes[0] = "Girl_Xie_01"; - _girlShoes[1] = "Girl_Xie_02"; - _girlHair[0]= "Girl_Toufa_01"; - _girlHair[1]= "Girl_Toufa_02"; + _girlPants[0]= "Girl_LowerBody01"; + _girlPants[1]= "Girl_LowerBody02"; + _girlUpperBody[0] = "Girl_UpperBody01"; + _girlUpperBody[1] = "Girl_UpperBody02"; + _girlShoes[0] = "Girl_Shoes01"; + _girlShoes[1] = "Girl_Shoes02"; + _girlHair[0]= "Girl_Hair01"; + _girlHair[1]= "Girl_Hair02"; _usePantsId = 0; _useUpBodyId = 0; _useShoesId =0; diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Lian.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Face.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Lian.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Face.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Yanjing_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Glasses01.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Yanjing_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Glasses01.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Hair01.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Hair01.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Hair02.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_02.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Hair02.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shou_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Hand.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Shou_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Hand.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_LowerBody01.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_LowerBody01.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_LowerBody02.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_02.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_LowerBody02.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png deleted file mode 100644 index d7d47ac29fea01a4a126fd322857f988b2a5a0bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20858 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 Vp7O(>mm2^8002ovPDHLkV1n$23Dp1q diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png deleted file mode 100644 index 0e8821b78d337c58680bfa346ca9f0ac6985e4f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2978 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 diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shoes01.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Shoes01.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shoes02.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_02.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_Shoes02.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_UpperBody01.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_01.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_UpperBody01.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_UpperBody02.png similarity index 100% rename from tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_02.png rename to tests/cpp-tests/Resources/Sprite3DTest/Girl_UpperBody02.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/ReskinGirl.c3b b/tests/cpp-tests/Resources/Sprite3DTest/ReskinGirl.c3b index 001818417fc2b354ec7b8ad4cbe0e084fdb04e41..06e51a31a0c517dfddf9256ed57d7bc7caa1f76b 100644 GIT binary patch literal 1111971 zcmbT91y~f_+s0P}5l{&!gRoFS0TB?`J4*d;=h5+l zhiEWAY#Od5GGe~=NQxOfIA+Y?sLpXQNkhhrh>0~|ep_##mdKF#8Xhxhh_#cGbIj-w z%zuxFA6=LE<(@5CBKDYZL&gqo$$TBjyy`G7E#}4ke|_fV7Z~Lm7(#}dGT-;~=^pOW zJBkbs@7`4!6&li`Yk1d?;D7(6@qhj@IHY?J8OTN4JNM#@&~PQFB)9 zKvCp3Bvk*x^I7|D9{+xjBb9Rsq}QcgJ|QoAz1Uu zcq-xTO_Z+XA*lc4d;u(zH0T1oX41=#zoV8;eejEB{#5VN-Qea)S3y0u|K}xT!msQ= z`GbA-k~!U)qUq)n1l#{??{_dL{EV%gETp}YGvQfEpuAIooy26zcZpx;K7#t@Q#A;Y zv5&l*w33#d$b_?9cF8_tK{FWAGZFA^*ifX zCO-HxTRe9B->=`-x-?q3ybWDm*-RRytAV~XOTZmrJvEbvK%?|l3Fc33{!8uM7*6Db zVpsWmx$ep_u-x>hpuSRry&xh0&w8NmW$e^T5JoNh|>TdncFfddf zCyI*E=T|434>{*6o*WB*y(@R!8h zC?R|hv^o2dioK~LFF93+)_H6}KE{TSQg(+q4!0=xq_ZAx#*5RI<1G$TsMj6zq0Y_4 z)S!O8*zd_+lph(3>Je^Gk-0#nURD1a1?WQWgm}UF|7w|lqqppr&%Cb<*F!R(&Wn{2 zzuVj7#7#XIvE_uIURD2995IJ;C*}(3#dlU<-J6SH(uHmCW_B=SELe-Y604|olcaF^ z@Gn9A=+$#^MMq1RI{qTq9n65>veS}?<%Z((!|mbT4_(3e>sDk%hveqtZ1EIo!^);O zsqY-B<08N*clV-iWE?s>EEr0oeVKZ2i*o$ZTieo8T$bZ{{zp*7msq@LDyBMX43~89 zEJD4yY(aB&xx@4P`6~5quDj85$1ann5+s=Z%)pLI^dxKEZIn2a>A|Hc;r>^(enP`_ z!PZ82{K4xRUO2N3Jh{grKJdt~{s zPk7g0eOf147uKKtC5tf0z~?W&my8#;N0m_+748`h)B7G^)}f;C_5DL1VI$`yV4R95 zpGHSz6%OHee=~iYdZP=Bvsoy(ep@7K(Gi%2Z5t%iL6Z=y`PN?|`fh^1O=tpdtrrXG zclLjX_eI?X>VTMfIdHeQgNHZV2y2ZS&Taz7JckI*zm3EJyhV?K`R%BW0(YOL3&vN~fAyb`uy1jepg#T81Kg}~6&xBp2X2U{{drUZ z-q~~qb?}Ned~WepP@lF%mkzHw4||K(!-4l<`1VH`igpw+6@9!JYs}T>V6Wzk0@{+J#RsWwD7y?wc48i!S#^0+>A1J*n+<(ta9$~A` z-$8O=11wlpE_UCX2pzg@qFm+-f>DD+g865|zy~!KC*VEu)A6;~6o+*-#B_K8xYKza6ix$eCV2_yRFvUNTXmP27 zyg|hTSXIXfIev+Ry;=RhHZlYvbEM2T@Cu>$Nmcv1`3``D@xtv_75|y2KU^#lj&Ek) zl)h=b08%Hp6XMrtSU0{7n$@j2a!DW{W0r9H-+XFDw|uw`N}6O5ZbuSu#PTgD`^*ga zWw|fpl_bI|>m&$$FX7}r(Vw=neV{6TI=Zz->v{<1PgVIl@JAThlPsLSRqY=q4Ap^_ ziNgCwRr^J5qND9-aqFPIXLq4 zYUI7@CmdND2mVF5l>PBB=)-Ocn08)x{~Ek|8@^zx3FfDL374=wkTX~lPbj!2$(hpz z$|}3Tv{!~u+3q%X{_@7}#h^|2=|4l4YQ1zAL#`45>iDicQ^nk0{LF^0sPWYE6b7amVHRvAAo`4Jxex*3|0 z5klA>-6y^|JRK8h`lxZa3CLRY5Ujtd{I{*DH~h2r|DXSenS)?Tcj5f!xON@xaO?(X zm!605oxY9N?@RGq&DT=Rx-cj5Dws`KZvrzE&+7H`5Qbp zKL^Jbu7JXiSLLtl%BacoQ22U_LYC{lp>@$FP=c;<$B$X{%01ACAExxPA9L{a(&^wF zYJ+9-HdBK;IKom>IqKT=8M?gJ82aX3Q>j-Kf8JRNMMVn7KX`d7u6nlw|Fb(AnB6Cg z*>Q^s^D~7}A7rSP^cgx4s{vzdzN?I1)xeT&JoqGN1sf0s?MC6fbC09vU6xA{MPZPu zZ6i2-S%eL(4bITX_dM)6JOSsHJ(ZmAVTg)H+k?wj;r+YH>!*_hO8ra-UO%bY|MwXw zLBs1^lnCwrKkRKpi`+EfXICHMYGFTIZY#q33!h82rnP~sZ-n!Qs`WeZjS0-M5?;Tm z^2h0p#&B)6aQ=`)HKLEZyhAN}Wf9-z^u!sn^l;_FVp&qVR^Z}37D5Y0!K8HdI{Z%| z{(Q%L^Yn=sO;qMXmzmq(*;5HF`SB2)IWNMZ-cL}J%}c@kx2o&EQF)KiHcKaF-YM4# zH?HD)Rq;#HrLg%gt{+wT2Ue6hyet*Ieto>M1;O!uU>oEAyi)7`5QL)c?AMMjni2~C z<;LfeAJI!t_)o>z@5NUb|4FXa zf8y&swPu6D|G8$|5+7##pD$|tAHM#BbU7&em(8{>sba=|sZi^`@by!sw;&Y$Pwe+g z=r-g3#HjUu`1*u#js(Yl0((LKiLZBbT?`!m2ebaqMYaA9tDnTYYD)K*1W@=dH$yV; z%jYX4Z*QsdU-utSPx=u`s1_}q40m!tZWLS82_iUTK|XN zepT~Fwg1A8pZ?s9;P^iv7W9Akdc#h(gu;LN@+B6gGyc7yVXpVnF$%Zrc*LnU8Gk2ABi0=Ch6#mi2g+nC&_K!M!jRcowJpYKN&xn5n3jZgh z!BO!C#{W5}*8fq)W>?V3r~{zzUv8fb!Slmo#Ldi;Vx$Qmy~O*Kg2$2nzqFER^zC z#`r(0)%rhty{hq3?LYDLHs6at;s31q6oCgZ{?9kH{tsVo==um0{>!?&a+xRNzqC>7 zzwq^{#$UDn!`G{tf2#c_zW#jH15o%s$Ib?qu>OyaTK}hjSwG4`-F^ZJ|K;MP4ia6) zf7z?ne_`V*kI`#FE-3sTr|W6>EaU&&Q|tfm>z`ph8x;PN_M!x=Ww#OiRO>&nv6aVA z)qd6fkFxG;FQjWVClvlm=OYQg`Y%1y`Y-(Wn>?Em3jas)It{*#u7j4T^?#IgXXC5t zf7SjIt5>!`RsL1@KmXtStMGq>@~^7>qiX+$-~OXfIiT=g=(TaUH{-v!s`X#^dik;G zpzwdZ4Tj(}#{Y3u>;Lfes`js{{U^RY;nFt7bExruI*0YaQyKp!NUi@J^r81oiB z0)_uF;n+Ueb;f@o)%q`d{oTh;K;i#%GXEiF{hzLC{U5$wcgiME_)l{05PXX9pJ=uI z6JM_?|EczWlx=6{zpDJJ+W+C}Rh@rS`!{@j=;3vs@Q+eDh2blVf3#Drf5g|TI)AD5 zfB5?Cx8H!m|5^R9?keSA!_{_zFt-RRr^PLy-}zQq3~~t4^My*jDJ(2*1uu(%CexjCBgBJfc1}# ztM!lgdR6;()&32?{wlA3RQgAJefIH2gu?$RE9?ia82_hOt^ZTNv|rhVbE6v(9RCF} z8UJO|19kojU#}{EsP=#OdR6&Lwg1G|r+zXc6#mcirxMu8_&?{=`ajCHv$H_e^`C10 zhp$(4{jb`;;p;GW z?D(S*Q9j;*h;2Jp+~#94I56CX;lt5za-Wx=e>=+lA)XS}kQkcx7Fzg3NPZF%f$V5Q zWgL%#jydLndR6gnGV#SS;rPCL8_@G|UqJS{D_|y-VC(P}aJy;@WlHshjn9SeAE>JT z;?g)cxl6eIs_s85d;AOS{nS{{zf^Vq?*2+`6c%hO$X{^p|C%(?#Mu!Ys3&iG!kI7o zB>R@T2;TqY-hXXp86!^7tfI!F0WjDq3C(<^S=;zA`Ab<`i|^x~1zFJ7d=L@6<(`MW z)9C}Rer3YVq=o2&%oki-#=?ctK$ZS6_x@>zYxUqmfj!lxRKUe)rLM)KAd==KAlA23`}- z?)e3|9g709_JwHXqVa>hz{Bv*mdr;($MW)VTZzg}- z;pC5yt^siTW_ND>V8%~*3{`qX{t(iWC67UoKR&mcD`WFVJGJ>k8JnF&bGkhQMg9=` zM9A6vAyu0{_n==zU){chAq6XrAd%PeDLZ2n18 zn}1lnvhc3|uhqjpnEcULZT{fL=UzY6pZXAuW%9>7wfTdu=kDLe^m<2)XYz-c+Wf)S zbN6p_%r)5@!TiD3&j@HvFL84~zs_GHO^_Ql?5qLDUw=kDeFI>2r({So?f`G9^3jj1 zxf}+ldJj?Ek8`6J;7j*%;Ed^Y()!3eYR=|p_`2-`+B~Blw7NbHZru@s`NR}dKB%x( zePYB`975cJC&_2YC^<-UXqS~Leh4UtLz^$zfEGXK|$$xBYqPp!OrX=jXi?dIjz>}X%BtzSO5no-N ziczC1s#2#pXoxN-zXQpa>srM87a`79SH+cqm{QL$N}GXC2Lt$d zI~nYpTK?<&r;PumTMN4F$U;nsC?ITJLrQiB7cTSxnIuZuc~AJX@5@Q1N{0&KP=N7 zKwfq4D<|?&@H;A-YLU|%GQ2LLAN#z)z&ei8e|&uh%bWOH@n-CwFq$0FBuMgVWg_11 zv61R()Evr-pQAN_`XC$nK&9R~(~vfhCg2rK;z>UvZ#*xn89sEZ7v*%_7WA`TAu`Aa zGKSnzsn_raT6}o{wK#4TS!Fr_cYhQuSuq7D-vORbVrd9pB9mdZlby=``?R_}{Vupl z99~2qswZ{eb`Ndv@BN+=U&QpCa{M~CZHiCsjieq+W|HgY zWL4(H+g`223dJF1D50_Nq&VdlV1~kLc?Nyp_GHVU_A3BN6#Psre+JV)4_gt z`Kvfm{5b%2BpYF!UVhZQL;4Vlo}y1TTY_n~11j}{-UQ%|4uGBxOCb9k$bgi>(~?UA zJIV@vd_pOYo}kfv2=L2iIZj34$MkfH=AD&{~_myWu zN=?m?_S5m$Pq!u2=cff!U8{{hRn8qY{+C0qu-)ltayK(=(rCaq$(Nn!IP80cJQ7)g zQDANFKjiEE*FD3xWDW7t{scLuc&DVoW+HZ<(uA70+yX4D)(h5O>y{mzWS>OIMo7tq zrk=RbXh$5T+gYA7%N}eetQFKxpl0A+Iqel z1^7Y78PI*CjJS3>84~m7A|0ZwT(%&d;R<#z^IrYYN{fBWNK0o0R zn!aryc_BXoV%uz%-0nVEvPUZcM$Ec^c5I1-`CIZi>z6-&&;QzqyD!-UZ~kI&--&?2+3h&-`Sn-Te=c_`(V&UK{dexZ4qdV)8dfz)A!RF?;1~VPA)F6G%t@6pWlAjZbP~g84BBOOd{tuF~>`*0-HxUy-$T~*8Z&-$T}b+n2qo8}Rq9pc-!zW| zxC0s>lz+ul3vhnb!Xx|FACsAMgb`+s|&cKFN9y4 zD_?jc8Uhcuhva6NP&{j}mr@~O@~?7DZWz>oE{`k#3%51or|sIf)!^O`sxez0q#q1= z=?-w@O(v{-`HzPxJvBWQuU_>AH#A;Gc1jmR#durXHdddyy|MxH9B2cE?=m6jMTScK zA+L+nk!3@uTRzK4^VAGjw{@Om!{Tl7(vtUR!U!A4+L#GDeinMFihtdHAnn>;8?Pn{ zNasxxu|vG6WKW(o)xuK@_ixw<_P?t57Y2`odmHTp<6DgFi<3Q9f?@Y!@=c6Bq%{tQ zdlzPV9kCk-j~NDBX#AWS&Zh3{uB0BN>?E_^X2RBx2yyqFi)0`Bq<|X&NRV^`q}z+L ze%bL;mf?3E<6PIvV0wEj@xvqc;HO6E;8oHTIfnEAmxmgXVMB+)$1iB z_ryZ=pJ>;X#*;hA6E?JEuAf|Son=n=+1JL@Nw9}4_L+kD^Vvh7uN0@j>sfZ>uL&9W zZSZy3^P6Sz+~*#U)v7lBo^8LfIK*2v&adtH zAAEgX!koTyb~ZZsvmPlk^TUH2EbwkZm%40Z4}o#Q`o{U|sDd9|apvv4q)UY*l%M<| z9yiq==RSXfn%85lhx}SFIaJP_KWya*MGFq~+)TZjb_>T$-bb#Ub`O1uTtc1B?t?Eq zstc1J1;c}9;Xr$|LU%_QapnN4ugM|A=Lo!Gpb%4-&-z0^~bD~7rT0bhQlsq-6?ZzO`r3}U%aLfecxj?JngZVc#}E~H_J*! z@7wPcLsL%}D~}UgKRx$#q1)c-4ad*p7i-odKELRqxs zH&hV!|JM&MO#r<;!qs`hvgRj z>3Bu|2XX^zE9fE?o7p^rxlmdH+7H)ifXMhoieC+^1&M*l=#Gh{^jydcQUHN!*FXUJc# zGlJyDn*`^7vwOO9)>R|$za=9+6~*9xcD<&uryrKDEVc*ovT*xVUH@m27yRT?ZFb7%S^h%t1;YM|D*xcja81w(-6q(6Rp(F5N1Cv; zZ+F4|AMUP24?JQF?<1J;9}G;7-|B$e7vDcuSfkm3aI)aw+>Et|+pDJ#qcO zv8xex?J+AxnG?q^u%JUXOVRH7Wu&pKBi38+8ATq_gXX*HNG2}z5xjrUHpGW^pX&uP ziL+#*P6(SX)&_&@i|9>B9du%lFPI>AxLIU|&PV8R>QKO}f0}uTM5}`m>BICC{QdhW zvZY}hezRk#JYuvQ)zuK8*3<1^;gBv+G-AxZw5+nGSiQBSH9CC53w~T8CC+Ym6mE=< z=$}PDEOaGtPo7BbGxs0LGh3l1U2Qq%&+7IQ>=9J;-@Q&h#WM!imk9Nrs`{5r`y~l7 z(vt|)Klx-B-KV1to%{17nerU4*A8QxlDP&oTUjM})#RaMdV|xb@Uk4`Lc;GpVEc|O z_X+l2qdN<5&g}W{A>lgtwM!1wz&R9bS870BhK^)dd5qxwn`OO@;lrUf;HvIZvi zG}JYqjbwQLDX5}w987xfg46faGNSrl=AXR$26RAh3;My`3*_rX7pbdn`rsskO{h-C z3h~Le?NKPRAEtMDbFZHmm2&<*J#0hwUFJx;&pbhTjJZtp(22%6=2_^9UX>(!rz3KI zUV(-UnSloGn*6)}*nU&=p-42KfWkA+OX=Jv$H>zc94YI9WPIlQV6^l64@v6asi^S| zG2C36&6$5S{jR7#`*rX9SJ3U|IdZK`w=nYKXz<;?4~5%mq6Hf#!eHyYXj{<^W>2w< zbByXfBo)Vi<4uVB=`ym=zLgWHJ05P>#GwxXQ_zjM6XBZa0d#x&PNp9g|JL)h4uK&@b_>0_D8@*=a;)j(fRfEkWUNOJ9T?C5vL5YL}m{s zAu3}xdbemNs&{D%(p}2#McBgX4gR#9{f*J_PIMh_S+fp%EWL@WQ>A*-v3?$ ztiHNbe~sA`OmETmqFYM#l4Apn@vysrxO|x<3fGv7b{ILJ?a>t|eGo=FQWg6jw*G&P zQGFn<2!im;Uq>#lT<>WAnc?@1UD3gBXOT%S;qm{BH0imSZp5k5b!6qm)l}TRIOyc= zhq`P&iz=fBf@W3*h%zu|{ZzNTy6$Xn^957r=5Nlym=)_tt+k%G@JdS{6SGjCPG?aE zD>w#MiQa^R~0{CTPa$RWhfDf|8{N)efqmQ9UHuw?C9MRdu$=` zyr-?vM~zbCd$ujQ9rgv~6_%r@*M7g-aG&WrWgEi2iRf%m9Np{jN^;%$Y|6hR3CAqg zLgzM|K>-V=p^3($p|$+UZ0sJs#J5VZO`%8BR;Lit}+ z{WlE0jvkr`*Pna-S~~fhWMk?Ys%UT`j9K>zUHH%&gw9`VeCo&onA7Zfb^gkIF#>`b zTtKHv8%UgIPK3?T7O(>yls|I8&WJcLm-> zUf$PHySs`#96NuM`BV4ia{T$EJv}DyJc$!EDNWNfyxXM%+BDAu!dwyr>u-1bBVKm8 zGhP4cAu{}}2W2UnfK%=?ki`!*hn1K5L!-T&;PC>*xreQ7bs>I#t^P7Yzcc;C;T#$F z$Mkc=fZns3VTnAPSO@LU3Bp^I^&p%-_%J%!d8b#l=9Ebmzd6E>hO2KQIJeBRP zI|tckyEEL$KnPmZ0)`%v{j2{(f8u*SCFxvZH70GYkb1_0a8QsQmHGSuDsSxu{y!7J zc!wVxvD8Ah!b&)6P`Uq`zP=4zbhHS<8XY2I>@{%2^L{W?BT2rvC<3;f>3PY8GedEoK4nzJ&j!%iKLRdk9D>a!#e>`8VCLL42nzjT zBRq0U)9Zu=Rza{Q{U zcB7;F=|LacV`NfP3?6!yVNH&=m)v#?fE&*vVMXr>%a_jM=x3rn_@A|y z{ERa3s4pwLIv-gs*|p3A<}K(csJ}E)mv#v>ggqq*MEc1{9Dnc^WnOoaI${ojm^n`D)62>T#<`TuDzu zb;7J+R^0@_{6FQwV?2;~{v%|_pvj4o zg4f>*&K|@TElpraaXeu$tUqKqits?Hv7{`ZF}OXuFBqSD{q}9xU`b9;4wce38A6`C zMw70N7rcIBN1?X!_uygIQEPYM^B=2MoWCY_T2~a^W&!2o!koX`-$Y&G(*ElF_0s$d z+<#a~!j6=pYwi=lqQ4{3UOEz1G>T>Koq+*w{;(0*^`k7cuAe2ZP}HFi!S%x)rQMRR zc*DqjZPhQG&yd!r$|wHRlh8-y}HvCb0bGb`HO(#qgWf|KT@TZOs@k{3s~+(P%k| zSbo%2kRMg*8GaQw{3`l;ezm6l3_nV6_))mZ@S_dX@}sQI>Cd^7;Wr5mzX>eAX|I;w zzVsUz~M)+Fh9!IGyEoS_)W1ezsc7#{3vkvQHd}= z%GWdZpMb-!;xU5!Dqqj=kHFzaG0TtMQp=CBdUg%f6jkd-HNVN%GyEth_|e@CS16Vr z%~s2g^4BlJuL6f(rG)uaetd=>1r9%oh51pwURD38=12K@hTjAQzbPkvQo{Tuzx@pC zM{xL25avhudWK&mIQ%LI^Q(Nls{F5-ALX~7;Wr5mzX=|K{3c(|@S_BWABCX|KYCa# zKg#Nrh2d9$!>?jtewD9h_)&txkAg5i%CA4ee-a%26NLFsetd>M1rC3Th51vyp5aFc z4nGR@7=Cn@T7HyYe^vVj)%+)a{xJM0aQIV7m_Oy~8Ge*d@T2!GHUgF(-J_Nt71@T0)tN3k$J z%IcNZuM9s*aQIPR`Oy##KYEnmM_=9H@}qn`!;gZ3A9YO^tqnPDKHPrH>d_BXj0*7Cf zu>5M3T7H$UXZTTq!;gY6Kg#Nrh2b{|1-~gb^Mip5zqv~-zsc7#{3yZUM?sh$KMEXv6btjCd_BXjA`ZVw z{T;u`9-}6QG5jdO;YT5e;YUxX`{|Oxa6JKNa&!1}fPrjbvPl3aqVqyN2 zuU8dcH9yMNGyEth_)({dTh!n2qssZi@S~vMNAI;Smi!$*s?;<5Cvf;ri7@}kuRp_I z0*AlE3mE=#s9OG#uV?sA;P9VVnEzz;%K5|ar@-M)B`kmHs+K?H>lyx&;P9Uy%zyIh zuj=|;HUG)iGxz_1!++xKg8V06uj=|+HUIf9y^8anYW|beEBl|}KM4;12`v9vS1td^ z*E9Sl!QnrF#g!#+RKe>xNe=z(f!QnsQ@A%K^ zV^kl9;a><2e+n#r+W)WkQ+5qk^Ctv{{{$}oX>iz74S!OjXZTA(!Cxjn2jKFTlf2B} zzx<`5{RY+X8GaHt{3H_QCq=yeWA6U}hu=hh&u`Y$pW#=4!(SpUf7!U;kqZ8@M$7ge z!#@Ite?%<*c=|X0sG0Y$7XGoO-K>@^41Y;*_)Em)FK_2+!+-fpR54x)52Ni9vsRP3=5*&UJYU3AE7=F?A55HKg|1*ae{*X}che?6P!19N0fAfb% zY4zd1{2^O^MIA&Uh94vp{NU${s}ai&x~k;|`TfW6cLaz3gDOG(PZ^t?KMa3JaQH(I z<`3EU%40D69--j(T)bNXm*0z>tpoq%_xSB+_&q|w@2y{-jaYtf;BS7CyB&4uqj zGyLA4^~>;k^8c0J<9$uMH98*H~@M z^%ujh0f%3c{~f=ktUtql5gh&tLKyz*s9OF@sb%M$s{Nm8{>zEC{#0E*tLMLzbzt}@ zg2PWixFA2J)Ux$w_$`9NZvo41{W_+O-{R{T{)*u6SHSXDP1N#NZ2O5neZcTjgo2-X zGvz+|fACYF;HUCZ{pG^^6hFQy|4B7J#n&_Z6ma+{EX+^w_1ygv!%xZoo}W^VLv8u* z9+UqTv=GjJbI;7jr)SNB$?d+7TbnJQc0P`Uy6)+e^FA~9mfr%7pE89D#3j^g!4A%Q z@T=Dz!OowK7c36soY)B6H+>-=oViruGBge1>P1jF-)&%^e@j@g!vv14xx(fD7?slh z)fmwFzJKC%@g+wJG*m0C9brg(0?$S=luGA30Q>P8P0INb~)*@>M%97Q!I3fo+>GBVg^2r+92-L3Z{pt zoqsN|_i}r+IUYj4?54ba*}#{FE@0Uz5N3=GQQ3aBHwJHg43lH@ zrT$;ayx>p|IC(=KzA*E*LCRRDJZcC&DUs-DawO*%EQ4CZ5MEfh0H51=6AY&6OK+Wd zBk#Yo6Hq@p!i0lOAmv^n#JVm5u?G}QDs_Vgon2rI zQ~$V=V`2U`1JKtSfcEGPsI~t61M~2SbK1lPk9yK~q7(99*9q{Ju%q5(o5O=W{;+1L z1LXZ0kFeLqf5opE$9dMvu>DVM!lsFyG<95oeDjzI5VofS+Wg%dLQY3Q@GTQ)-RJ<) zx*7H_eNFvOT8oSB=hq|txuq*jc^&9{4yD863nu6oQ~#`#esF*^1^L7tD3W<`n$NVq zrvEnuX%*Ri&?TJQ>PfpCe^T^eMLHM{(W3&{@xS8_Hc!%EWWQEoGv-yB{-W57PP-5c zKfdTo1DpBDBOF7-{@XKQ`|yvFf>Eh3*GUu7oe!W@#h(=QXJa#E62bm!;%-JSAAf|h zH`135eNiTxIqw}6@-POLCF!A^(xFhlX%%`)o<;5EU#eBV^7R3%tGAmvV4*KH84@Ia zHTNBLV`U69yY7i@IgNzvB^8K$bxQ7}(6eC)#rV&Cz87D=j$qIb1L=mj=2T;|4)UYV zC&I`$I~34wBABK9L{4R|(9vYqTJ;)PP3R7V@8Ru5E$Oh-$a~gfw9s^dw$=B_uRs+U^D55!9;BEjxj{RYY>3anF zH__(dmlb-Z?rf>)zooK7T4SRIES#Y)O)fCN^NNDx;NU*yC%f==cDUw zJQd?lD75TR#9AZhm1$q8RgsOPw^rSywisIDcTd~ERpuG!?F*w|mwz3YWilVx?CM*q z{;FmGowWTbwX39&RI=op{QUC9c+9*Ic;T>Hax`)vlxDv`UAN?+Yb(ars&BEQJH1!h z7^1{o$t(J#}<_=`GiBlz!`GxW`8l?sjIL zJ>uR4g13`!s;CjF+wrPm{Mgvc`#0D*C=y++D8{*MP3Wg%>q{S{u9XlDw%E7IlT{HhC$LrEV+;(EOc6!nZ-$~SFq60qXbA4(fB&`^_qA9BAMzfOA2uGPc1(|g*X#38{zWsWh`om5+dIOADIw^^oM*M_$IR?V z&lu)Tk6&|xoSWSa$6o7%Ken5O9=Tef@J%~V(0o(KUbPQZR`sb>-%ht2-xJ5sTe7Z_ z@2l$IC8!rZXGx&6;{(uO$$HdreoGjZx(DUd3;Lb^`1QZrdnJC~4-2Bh=YGTbMYqYxl79Gd!69mQv74V z_xn)1jRBOrEkRowE~{1VROv_mqi+hu8du3-&Ls9PGK3AxXF%<2!F;Ap^eQykqzXmm z97eZdfBx39W5>3EX1i6d}(AoO4b*~x6(wH)wd-)CwSW!m4*l~*5&OCQH zFKRQ|oo5EOjW(mxdX;Fwlu|VJu;Tou=)2$T{}4%UY3odnntPgj-LV6nN4Vqrsn%%f zqy}hqa0+sWJcH(*KZtTSCI0TeYTcjf|B!Pn=t+Kq=mpIC-?v9w;L-#i{9V%)U9b;E z&3DD16IPE<>(7T#yGt&LIml?0^p^P zV3i@PEZ&6j9WVSIf120+vhx-PzAyO(gQBmKkDP~>^uCe^$;@ZK8EdwMjT$>p>>Vwz z^{G(A7S;4yP1~6ts!Qf=E5gY04B3Ow@7%|AEZAIHh5G5Wg{a6hBq{C>4eWI|dS%^N zaYFP!da7>%*m$2LEw&N(mXvvBaJ{W4TBHS`--A$*g9Us$v;j43lggRD_X)-PB?srx z8_yWw`HyKbYiS% zV>+3Xk)eaT<2|PuV2?0!bYsDNNn_hL63^4WP)^Y&l-fn{{A^Y)`aK3BQKPlp=)=y@ zw2UYrlQrD2%^f@3KPv*oXCh=d`>de;-kuqB(R5RK^O9n+=zRdr?rwsOyj!B{7561a zFU*p(i_~Y{|HgfOvm!oI3#R;|GlF(`(35Uty@On9E@nRevkkV=3r4Z$oRQwdW8wv^ zMQ}5!5*a2e`knt2`szLqsoFo8t~Q2@?&AgbPo|e!&{tN_;MGrGS{PR~u+u~tO^E%M<;R!S~x9oTSi-_uq|2}`)&F+Z5v}s7oK59#~+k2o7u^sWgbj4MXilN|`7(MN|TA^p;)ob_nahT7r5$n*;7Hdmmm*(y|Y37bUzv>7!3%bLD zW!<5_uP@AbI+Qd2*yuHDpZ$(4>(|ThWeq*)%bc}NYZv)q_jxU<^}aTdFshd&bO`H$ zY?xQgU$g%b1p5#364hJT1D{(Z!xN+Qq)#QI#kzw!;aSUFVV>9N8AQCO8nu8rpLg=T=^*cT7D7Ah4DBS+VB1u3mZ*V!>7KSY81a23(@Bii3ojus% z(mwQ5t>@%`3F``NZ)f5jiP{pj{nY2SFv8OnI?U$2|MS24IIli*dE0U_<;6N@`HxJz zFSeD8)ejil0jPG(VA_sToci)5ZnT>+H)(i;7}ut$RFfDm&b?ppydpm)JqZ1roy-KBiwfz%Z zG1H!2cknqGUEqXc)^x^YD<(>Q%=Lt;t!$zFnZ6Ks*;u9i=yyBpJJpO@B{h=*MceYH8?vK59Gke@^=F&NK{c#`DU#Rh% z#q!+x9w6GBE~uY07Gb;ghS1f)M7km?9{2mO3-x>zET3B935S}cK*8*~aOn9LPW{=a z$~w&StA`!>Pm=jIF_t=x>4Q%msf$}(EteN>@PVVmSjbK{f=`;<=eP6q>`!g_<-#+A z#?pn+b9a@EOM)vemY|}$)^Pde9?99#K&JhF_TKEDGesGHdzuF}de#ib4s zZnADu2E#OM z9ccQkt>jLN4&W7xbp#n#R7$wk{Kt5|($&a7hUSNE1U=#?XL?(hMxZNuTEjUjx` z*n;?Lh|Pb>KAh}nheNFOrEJaQuY$0Nxp{T|4Uh~2%>nvQ-#Z4q=n}&jgK8~vjGB_` z`&byepT~VKF1S6tP(+J{;HZkEiByN zNLDNe%^y|y>keaA^#g>s~2r?kQ<5Xw2zQ|^X&wucACM=g-v1Bj=iW&mlnVG5A6AitwT*& z`MLo;K+}fy9dVvKy15SiJijL%EDfQ$O>klE1vLPcJP3zMlE2_&EAl-xH)I;^3R`R%yaSd+1+Vhp9f@kzpc~(odi6?mX@&If%`0L zaFz812YnNj`n1iKwC%Hcbd~)hGUTZ%*1Tnlx4nu-+rpjT`?i*_d1M4cMsS~Bz>hD_ zX+U?&)T50YUyy^lc;nBlTjGVY%Os|sUEowNI|vBs3s+8?s*KO}Vk4(WdU5jy)#t@U zk2CS2kFUk-`un`o8dAGPLhGB2)at(u?N7_!muv^Kafl7rK|W9*tsek@LN~V&9j| zaqPDO2~M|#2~JHwVrv2y-|R!%e#X^0e_Do=;IZQ=eCU9l)TLb;=#lk}$`qS|`{pFD z^6LWY4cfrnfAY|tp#wSlR}rCD1Ls2b;y$)!wC1t;(%{i8V9TvK*eBW)Mh2(A{xP1A z6W|BC*Bc<4-s?E}>M>-FArgJ;y&XH8)2F>%>q~7Hjs{u#ILhbhJe2$*6?*sdgueB< zz%bGR4eqwRR((m&oj7vPc5G~>CtbgC3^@37qk43kgwDCAz}X#L;PQ~BP<4JY8u`yO zj$T>+b;tMMBN>C}F?nyv!*`nDn5lkvf0h~L+B3ZzdVo2TgO)G>$b0lO|FOIhfl>+fm<3J7-h;xziU8I6m#@#^0Yj7N zO2aDBW$Jf%WEJ!I#b;%*!F|R-z|+>y<16FeHRSG}*-=;4VS(j4y!%}oEz+$bmoz>? zCAE&lCk{`NA5CSRVKuBZIOR5lRku!a+RxX^>KoG|*9Ot@P%Y`#>r<$)!w76Mt{Gfe zo&e7Mogm7A03Wvubi`^7=NaV6`PX^%OFXl64|>ifE$Naur{xx@-pqV%3G8!Vb6lLE zV=Dp{zsx}9tLxXQ*PQ2n^H>|YBJ9mlUb*C{<@xTL)UGxLDEzGkJ zEo7Yer;M)+*7Ux2jcLCD^`-6fcT9YQb@|Nq8@Rnl>P}7ac@KVbjPU|>8>}&4)=lB21osP6`#%{dlrLMI9=kwH7t5#UN ztu2f^JQBiB5wK^O9!z0A$DnY2J5K$T>+iCQ7JVY_2tMDUf%Hfl4XX1|JFNT03+{c7 zhv_4wP!VMsvl$CkS=>M0GrHiBrTm{D=$cHg7a4g!bLP1j9+$zH@bD< z#OB9HtM0!)!)X%1wq)HSpvP4Dh=HV;X3^8 z`$#%XUP)F?j{rN@hM4LU=e3wjhvrdM5LZ_RY`&^q|E^0m<3pR`=uM(3(r$?qx*utS zFUAaz7_^=MZvV6apXX+f;&?$(cecq)QI3CM&Mw^Z>KNM7yox-M_ydKd48ViD>?Q7Z z$HVE+HV}N;90rX#r&53K*gpK_dv|)+GA-$VW+F&WY>PGA4MBH*3d|et4E@Xy>{v1d zZ5s8o*89(c&+foc=YwdA&RSCEdjsId@I%zWA*<1v*5lxxiOyj0(i8Hp%|r_$>}p+q z{xi4Z-WtQ`h6x(d?^Hj~U-p?Q4RA#5E{}uVY4$Lc`5cKag*#Q&|47zee7DzVddfc< z(g{?3u#g1fQBG4(;O125-o>8zJQ`bAb8nkU{jl;PY;!@3-;8T0y%9PbIVJJ>jys2KcOcgf@=* z_x%^5`WO|~LAd*a`4Dl}Ksq8&hAb03ab!JXm^)}3Y!B`WkzaMdFkv5hl=SERDI1v4 z*68)~GVtonJK^hcBdJFI+JjRPBV?<-W0~7`PK1{$LN2t42a>aW7a?Q5T3odr{@kx{5xiuD4?Sj!$V!>((6sH{YOP?rs>s%`2AIsu|}6hI>ivYN?&Sx^DEVTS0@-arY;0B zpW7BaKN2=v`#;j|11xH0{TnbK*g$$0kq#n=f`|$`Pc~w~0tog3VnxIP*ik^i-mqZr z9l?TKWHZ6uMMXhh3u5mbyM7Zel5kkE{=YpJ=Y7w0o!`!6QZ`RAx$^_PzEh0$xliGb ze}A$`rT@%1wH@C#bcB!I`n1C@IW)KX&a?=!{vNz=Xn8qls+((|HM+5ghwHDd$5%(9}r%R=I?#sCA7wm3*+M-cm)&`>pjNX1g zT5}WNMb|!HvP2&=3d2xlLFMx&xIA*c4*rZGJ+51$CP#i`$}X5BLg@HOVA?nW-nqI# zs~yg$B;8rC4ojDv;<8;%reZaR%TU|PfL{D@K9g0@2|UBA!}mvVu=8^`^zUE?vY|%> zSuVvbfB7fO`y<@5GoX{2CS*PH9s=qY{zEZw6XA#VAUH6`o?Jg`j-tq4c|y>B*Nu4F z);CZqUzZNLF`YS|5)NZ^uA(>dM?rzf0JzjuA6)C5LhO+MrQ>JZsutC&jV{f7|5@VZ zCB0mami-(HW6lhPD|annF5Mn^kiW{>udW}&4(-qwzRuLAExUDXc_(|O?D+6RXjJzV z8ua^zY+2!F6c@Pwy`Ie9KjM}>iTss)GzvPhZT4P8221qm0TWxvZXTGx%=$8py#M(l zS~>o-EOluKYLGi0r3R1T+b7xb{D@7B*xR=1&@n)t{@~aVWqvbf_PrVhrW=aTAj^3& z?GDvp1-lWg53v>Gxwgx`y}bq3j>&^So=`32Q`tc}_}b=sg<=$Gm@|i;%X|zx0?>lIy()gde!MsS;-5kE%h$@ei`+P!0UMEkgOBftB{Zc*zj9>2XI`ZLCk5?+2_GV=JrG zw*hF^RELlihUoS!4d`gO7<~w@Ja1+C9C$IE`9G}7raOJ z43jkC9O}PG2bP{cC95&~CF=2eKcb!g8sro|cHAiDMTKN1t;vB0`VZs=kyj7L4jl(B zQcHg%6 zVeebWA>onC+%5=4e0+t}PZpy#mWoREp8$PN_E_f=cy% zzrqj3Pn)i^{RwGl7-wCB$xiCD)vxA^ZoyzUX?~W`i!g`T7rkKYiT2>~x{K2M#)yt= z`kJeFu&)-4$g?}XZRRke>KDr%)xIqI$&zcJ)$QTXa0&&E{X2hw8vu$Q17-bR|Ku5Z ztwR4>)%RyVUB7~L-l)-Q>Q2NKRDnXz7%_fd&dQ8?HiXGd9ih_~a{PI5_RsZ0uKCjO zCw(CA4j9seO?v+XH`Dnle|0w&+wW?@;H4?dkkkpM$~u$( zjMe%ne?o`hI(erV%O|TDA0JaxH{Tip84DOh=8te~m4C|D|2k4X`aT$0T0hp=p2z%Z zH3a8p)nwGR$0B-ZJ+PT!4!Q4?*N;n*ty$(vZ+3NK4SMEkd)$4oKlZWpk_B(`Lq5Y@ zVbnM`ur;W7{$Jj{O?(|Tc6ztc>qni|*2SsAWO!!cV#dL_6|%~+hBt>S!9G>_^&{Qs z>a5+}p{3VPHfp6XITvH_qGrKpyH6-uY2OeE4>g3&soRw<|NH$8Y|}zumzrzQ`=8ds zvKH3ZWyV+3;&4;+Xq7kA7!9z&aWcwmw?SYqm#@G2U)YtGJWSD&@X(xk7+!m#G33(TQ+OHr>#Gh~zR4PGZ( zz^Jz4k?{fz{`f~WgYx`-UvqZaB^P$(_Y(QMr#-Q5x0lR+xrxlIT9zncwjnI@*N1Ck z?+M!GwxaU&ckV}X_GWKSws?vG(PJ)?nN0 z>&SY>Xwg?^wqrWI0-Sl(7KRPzh=!kR1`#~~=I=;CntLiA|67>{@e!X$HZ4ViZojFG zY`69}{OwsXdObc4A#(kpLx~GS8|_lM{L1G4;|6XrRp$TOYHq|ownefj=1&Ku>Og%gJ%3u+{Mp-Uw4hr8c@KcZ z{MoVhd$YZo^~XDhlHcDbHGH~DPyD^DD+=44D%-Oo2$tmBM9=KV^9yo2!5EhR{!Q8# z&6=8~!_?=xbgRPOOm>C=xHfi%?rG|zBz6{PEgN-bj zGOg77q4E1>V49)>`JW&2%T5+ry#BdSm~xTKzoAP??>}8mPsDlZAqwvPSHZnz@bl4&^9+9~Ver9@2awk{pN|AxuHdc6Uhz_*q5e`ptdJaoiB_V{6S+Vwwc6n=jk9+27& zwW<~XOEvxB+gDrA)yYws=h~k_^<{?*RHwOrKd@mE-jeEwxb+uzs};OmTOVwXu~p_D zt!&Mn1ZIE>kUWF!u4IFCub>kBc}5Hu|@hZRQ3&tH_yKb#`>gmEduBfT{G^^AQ8s_yra?=O% zTvnJ%-hUPT{<+bZv7I{zk8K;r=$uJ_=?~2%fBz2VRA&oMc2PX^)u)#JaPqehjLo`eG@AC^3x1aI9A>UCWHtxeRw1hlAGO5)nX81xY=H{7E zFk34M?q-C*yzLsW*mWb?TC)ki4^gG@KfghZG$?k7`*FsS)}tS$S7+q4G8nZtBjBPe z5-x>yf~@$O5HM&R%4}1=(!8?gXTBx2hF1w%lF!d5`~6Fs8Ukw$*OdJI8#{a|`{nU7 zG-h8NdL$EySDtiLe4VHV`>u3`ZT4y~wb^6z_EaINtHodcDF5x|#^HxaJUcq*3iE5d z4(%fMz|(fs!#-)J(Y+}0?x^iw(Dx73pjSZ=O4Mq}*YDi;aet*BWxxM{0|&!XkD8Ld z|Lo;S?4bkeA=s@B{qu((zIwSfd>U~Pov{!atJ_?MqQTnt^u zYDK4`jb63rGq-*4%wD?`PtG-lDHlROBcKrdOy~u5G)?&|>9ctG3y;iab?h!6ml@i0 z*M9AAZ)U3E)Ff*#2_+6@<_n~LM-JPJDb(doM5W7L&1Ei|uz3;qKC4aJwrPx$dh3Dz z;}_`2j()IU#7pE4zCbMtLJ|97QNYUu+sbm|M_g%a63FOvpPL0 z(vmS>J_$E?KVFtF+ZU$n%SZM1_JU*|(flQfEClyg`mxzFfIZ(P2dx^QN&j-!fp1;x z6@lcP%0A!YA-&`#k{#~}o<*x=kI9_QvV?g3-`_lu^)@++eDRv6P zZM#f@DS21X+P(uo*XYroEcXrKd=1m-Z2voJp@vM8zIc8yx>wB?!bezRhZdyjDcC-!(xPfxJfe-~-JkV9tm>L_XD z!%CO`!T3e&c8`NFV@Y+o?)ErlNfNnleXE8{H)sgZy9?0i)Nb%NNA&zVMOGsBSNdVH zr?ScF$6=OVP5M^-eaz-FBcZM3EWe#Yqu|t+r|8;6IZO_3fTFLit+f3f=0n)YJ7_%V zQZ0JN19gm&yW_;+eu!Gt5<&{!BKLsDXiVD-#N6%kXC0JoKU~`s_g~8DuiM%!fqL{A zN!4Gij zcCw0dlfb&J8XdT75Be4*hs#TJag22=_?xCn=3gv4&5rmz3=M6hN#9Orfp5&sQh3(z zfbMiC?07Am{~C6Zjk{0oQ)gDAZ$GfZy8R8|!$M8?PKCjU9wb(y zZ}q5!Pue@-8D_P?E2<4_>m%KM?K%h8DZ0(E-!pZ(Wu3K(rs@g!Qr|POn&sht-C`&`o%ZEfbG9#5jlxn{+Bt$ggc?cYV$CO3QOd_3~t zGx>eD8?u=RCa~Bf5Zh-jKznaQO6Cj3TjiGAn~e_!J(thvD=Kb89zZ(*kEi~{>bYK-lrWYpSyxMbcd#5i|-_w9&PdoFiL>IiEb zs=>a|8&Gq%p|JSDYqH%{z5Mq!YvewC=?AiI@8u8knllUI<6+~&b_&Oxkr35{yXRbW z{z2_8>^u_-$e8e2zAb(m$~)}~ds57C@W@y=xTcw8{>32u+`}sjkbCVX^7~qy;Km?~ zUQd66ZjkN21$iP#s(pt!Z&|~SFBQ)wyprFVZUt=>LG>b#nj9 z!py42kL2b-S)vs`J&yfa47jnj@@>IYY%Ty5jkvTDO<{QW`$NR5;}eqM;)!Cq0*!AE`7=w{zO zqZ6{Gxc>)Dyt|e+)VeQy{7zkFp1bSgJUqMo1Nq@=ZSjz+YH+$hfu?KBM~C)~l01Ip zy*JMFEl$9TH6P1+z6`+jNxzVZ^AQw&DFr#R()k{vjB|h7`NUYwdngb2(g*7VQ;JSx z&KBC2f^22v-GdUxFY=spZZ8iV{NT`idBKI=IHR_);=(fxX#R0NI^9S*e|n#s&6%pXOkc^F=;q z^LaFC4|(?TmN9l}83!8%O+({yWneftMUYo*{qN711V}Eu{xiSaX9o>N@YMddJYcv5 zUT~MVInQ6A;VH(|cCiR0QIJ|2EAAV0nS7pIK zE<*^~7w6wZU1wLCHNjnOe3v^dGLy|6IT`Oy(MAu1ViII=#0%)Okez-uDmoJABW)))+LpI)wT{3u`l zOYau2!}1)!Y~3e$JMD2|%-Qju z@xuNL0v^@;18w#}zhoLpW z#&9Z3xc!R9zg5s1_Qq>xnAh=#eDbMU7@cLbEH?WFYi$HLQB+4XI%%kCWdD4!bL8fFB?D^i=; z;p~zIaQ93!aR0CcN$=PlM?&$h!*As6Vs$~y%LTi7Yv4y= zO(9~I57}<3KL1j-{M`AE&9x}W7qgK2B3|n)?OdohFlEt;;OQ-|y-B9dj=h zHO8#vUHQ>p^Z*O~H_De-W@Z;2^)mXP9qB{fEw%g%!lWO|4LH z)Znh0RNa3MU$fj%4PsEkFR$beX9j^=#wWD;bOsuFKMd+=a%M`^`GTb;xesbZ;*f!_ zUdFLVeZgn*KbT>S@#$-5}m?@c$jkC;UgVTrKaBwcp4We#}ST z-{dkuTSLKPR$I8Z=bdE#4M&^hF6g(FSvdWjJnEzg%C3G*mUcHDHdPM=c);B=s(Sqi z`@dv}FV0=3rqK0i1Pv=}eS3VY|25QpvJ46bKak7|uU|EP?=K55O~e^$^A-9%WHA03_snb6 z%b(DxPHvG_D*nPekw2MBu6->^XS`fG9c{d-DS3DOeaXDAe!DlJ1m&%?!tM6jV1unq zA)#o8WM0|+lheyprTs_Q{<~*~EA(k8ef`I-xos|+l_+zl`Ai<}u?^`C_Qrm8Hh5It ze00;1oI^^CpYZxa_N9I3TH_u#srqFm>;4q9%~m?^-o!e0)Qn%Umh&FTU%Gtp(>0!i zbFO=!V(U4m`K_Lk?VHLibBm@qp>uvuGv6+4-l}c2||oKZWfJ&wtkpa#iX4S9twGcd#MM4A#XhMq1)! zyPCqdMsp?ipG(c0a$k&ChArOTmH$5Z4K2U!j-7vK<0((QOZ(p^WeC{ZIZnQZ|A@~& zm7RY@M0Z9l{rX9czq0ecg!CZt4Awx&yt3o}XWNlz+d1jq4`s(sd(#*+V0pM?`^wHA zlU8*_zsL2F%qu&7;>0-gzbtrUmm98Iz$L}^nhA^M$kuZDBTqaI$DCqCbkZfO>|JpAu7H%K;f~5RcW%b{V zNkQnmyY&4dW#>vS?JrXpoN!S0v`&UNUO;Fg8 zczkDcKgF8|Vzlg0Gz_H5{d=o(reII}`w#!)-%}KKL?r$^ zCGh8g^XGSx2XK!bWRNQU{Fm?6l)!%n-hZD{mm!XKO)w!2SV6;z{#N-p8S&>q;Lii+ z&(9|Q{O|LtRr2SFe@_Ygd*JyJMlIqw+qY90;OdZ_Nt6Tb|2zdhuNJL;o9hj^*6fBp7-TWi7=; zeIK#Yxxb5}g?@T@p7`w)@3#+mR^Z3`?ZZ}OmHO>w#BVpHFQUK&ygwlBKk?5g-ap^e z#v56F83PfKy+r=`N8MYfa47Gei}S=^r_7G2QJlY?kd=wFyPXsCbuvsDpN}f{ z%f)%(r&GM2?)&bu>@@N7S~uzhiL=k4%Kdb4p3Fa`*4BJn>bE~R`UHKLVugn^asp&u zh${En#rddNy(zDQH%tBWvG&{0%kINr@kGDBe!6;b4S3c)3Avo%pF!mE+^1{|$owB_ z#`fY;KfTATRFvk{2X02({OhNuslP@m`W`_W<^23xah~|;l)z6%yq_L$WM!$JzGbHz zHtx|ytD0OF>_6PPEBhYems0}29Pxg6{D5txez_0v%Nr8ET=qifXK>lF^-tzs1MjE1 zb%>Sme!6aQYN?+-f%xgKiJxBc>=;4&<$3b_1Mq(Pqj8%Qyx)Gh(aci6z3!OSa5mc< z&HNv~y{!MlPp5c4-8hq2TmR^%e|U2M`uy?JXRkSdGG>Ltj%}*@>BKJwfnN@sU%rg^ z<)$5zRr1S;pAG^)9e6)I{{0M<{B+{CQv$yoc)$I0_BNILcH)Oq0zVyq`03XF=BHBv zKOL_A@zbyDIEhs8(}_P$3H)<-F6p252zC{w(v$)rVa`mHXvf`&`>)+duKkf%nS`wx31jvwOoBNxz(HyR84jAE$VKd{@7E z!29D@AXSM!o+N62*ZV${z&{7xKObk3RfT`feMedUiC+%9U#_vX0J##s{B--O{BpkU zWqI=a7bWn&LE8WRJAR}OrT#c2@W(+lf1LY{vh_#&Z%W{Q1Mh#Un=V)4e{)%G`OC(i z_~Vqo9|ztaKi(Ll%KdS1p7`IC!2br`|4tsUR*C;D&J%x}68Pi5`Q!S;A5S*NsB(Xt z&vT=v#`)oup1<&ZxYYRz@x!V7-&v)8xQXJcEK_a+JKbCV^}~~0HK5g31-gBTfBv4L zN*n(3`$hb4;QjEL?kyPJ4`0fV`**|-ze)UXFXD&i|BoMD_C3V!2Hx*}EgO-;``yg5 zepUG0d>=~vZV>q0i1)kIFZWZ)?fis`PnhV&%U@OTqQr7_}9Su*Wv3M1Lt2~ zC;oNt@+g)3YvON%z~2VW-(Eue?R~eSRr0rqpA7;(8+bqac5y$I{A}V^gTSwbv&64< zAb$0-#Bi1TYT`$Oz|RKW&ptCeN+my=_`4wRyMgz+v+I$$ud4aomA0>{UrqdB5ct`^ z`PrfW;Aazm7C=ct1Jh z-YAv)Wa2l2z;8yp-;6v4sN^>j{}_1xxLfZG#QDdwIRAK6gi8J~@s~m1F9Yu{&-*$| zC4ZUt$&|oP2HsCze`U0)eljKSlY#e>n|Z{jD=aZ9=1Li}M6_`|Y_{_qLn4^Plh?$;3i7ls^||tApWpV(*(4%UPXVnZ2i{&8%p5+qKf|SeB%F>%&v~Mc=P9v+}R_y?Uv<< zKMVqYSXR*=HoDptJkm9g_W$_9WqINsgTOzQasF{Hfq%S=_{SR06439p75(F~Jn@4; z;0Mbp`oXf=ZZPA8&>!LZ&;3(Pjrhfsz%ND>{o<>{FYfbJxnE5DVM^c+ql*6UC*ltW z5Px{^e3wd(AH@Hq1pY6o=>Pt9)Px50cc6U@_-9zlmYcu+MEqfj_lGYgH;`5IhmEzX z!3yFJ|5kUc(0*`f{YLy_iuaFCIBKAZ{&6$nAL|hR*f(0}A9H;uJAM&=m^|nE*B{25 zKRopx{9)q%0`LExi21>A{%?PQ|C>ep-?dT7{R83;gTNog75(8Y#2-G~NVz{u{9_RK z$7Jqn9eng3{A1z|gTNog75(8%;t%T*f7o+qMSr+#JraKy1pY9t=nqE|e^`z9!=FMc z`om>;;s=Ak55^V!;JL&PetI`k>HQ1h7lXhr#ufeIJI*f9whF(P_`x9XgKh{%{!ahuw%j94YdL%ll9KV-WbqOhy0r7V(eU z6aUyqP5_{_hpy|5k6r z`@iBm@rNniA6~oW1?r@dKg@rJni}zsDS>|s75(G6mT#kvi=i47zBPW z!}-CP0zY^u@qLE!%) z&i`#9>Hn7Ixy4uO(sd&U{9bgSg5P_Y_`Njodw(4csPOxtMsa!K?@|JPH(T1@<=QS= zcU+$Mx0JxYWjOy@X2;{Q^-{~Ix}l|tJ875AU`yOhA+MbiGRI8XdtO5pDzX@6IoCw?v^@N*Rv{oG>W z=W4Gyjn4n|bH&R~{9a1n_c9gz-c!Wy?N0pOQGfkjah~|Ql)&GGFyikvuhQQY_n-K; zl)%4*LP`HtoG1P+CGdAa+TRuDiT_Ip{9lmvf5my??@|JPm#OIQ_9Xu9ZQ}2y{q=Xb zJohQveu=+J3H)8AqQ85O_`64lzk6*o@9&E9#NVX^{;opW-xc?t_`8(A-$l~?t~gKp zU5fX2ryII~w7)CP6MvTy_`4wO?~3!p&!u=jHx^!@+*xgKa>{?mqeOu?Ki7x&xnqc* z+u4HmbGbbCDI0&{=TZVc7kEEcee;1T{9Nuk%Fcg@A3+KHT;TlNNyN|XnR6K__j9?n z|Ma6~cZ&CO$H%Qkb!zIMi|#_lD?sggGfVy1I>h#VJVkl^PW)R+ z;NOD7AOAMo{}|%@+dSgmM)X(i-x9wTc)wP6dmj2t{MzfpuZ^oVsnoAcCVuU=x611u z;@46FzZN*ZR!00<1C14>eyzcHH@K&#y#6KrEXDh?8?;go=g%%C{_LY8^Gf~MK8G7Z zzyjs|Eb(tC-oFi8TNgP0b{6q(osXrJ`nPiqTf(#X%CDagzm^jCwZQwetG});^=nrW zzc$={G8)jfqF-CK{)k^o3H(~%{aW>=8%q7!5o^5Rmdz3r-oB!rT9zk%EhX@4f%@au z?q0g1)UU0%%m|C=8GfnTfO{aUZ-Nu_=*nD`M#bq3nky`o=RmM4BKCGcwz=hyBeer+{}g{6M& zb>i1{QlQesT`=@8y4lVUh4-@}1)lm8GpR)NA=O4zF`lnL!CzQ?q zoIPM!XG#Y)wfBaKW|Kp!-x*lKZpEe=> zX~KzV$oH4fKb={6?Uy_L2=D(8{}k>K|5QWZpVlSspFCGzc>Yj!-pggVkMQ{GPGiLR zrxOJJ>46A0Sn8)dPyADg_fONBzVo|Y!9Sf&{L@_GpPsG5&p#~NZuw&<@lPp%e~K#l zr)k7LJw*Id`0JmF^Ta=;1pXxZ2qZo|CGy@AODFzO2rX>)L@nl zUA?0#EOoTStCn7@!XGU^_H*M;{8NhaPiL;GLw{pKp-zueIWw}W@=wKiWygQz{;IhD z{l-n8IKOm&aUJ^Qibn7`t}bY#=T+gCiu1~Tzm)r_;ym$BDc(Od@bQ6HcXujM#y6?L zKNT-O@kc4%A5Cm#3s>FsVRA`T{-`+r^Vu9~@*n?n*b5gpblM1<+m=+}pNjKWc~ObVBF9d zU&yV>PZj5<6(&-=f2z}HC$bnc67P9XP=$Xg&J+KX68NV`+CLTNiN8tl{^<{Q9W3pi ziu1%DrFehz+u%M-_jMl7_hpkR{84e9_@|V>KV_u-Q*oa7qm;m3#nS$&I8XdjiuX^A zG;WzS@k=S*FHH@|LcfV$8Xw7|ZX#iEdJHBzXRTX|Jm*qa( zagcnJTtBMXKP_)x+4ZZc{nPTivi7U?OUv`ho}b|TRH^4Dh<{4){^^LBolv6#6Jhzi zi&gliT-&LC&wq%2O7Z@wZ^1UkeIR+?@_fT8{8MqB_@@-_pKcl39BloMDmr|s%0Ct7 ziGND*{%JwJ4FoVo;IK%m3jb7`Cw?i#`=vg0*2<*)QgNR6sg%G^1!+H3oF{&ST;QJ~ zY5z3!@7QyjFL{1bF7QW@v_C4&6aPpq@J|_O|5ThO{)U|QSMRyqP|P6y>XIt`RdJs9 zJ92@4ilzNiah~`!a^4^P{<9;_n}N}lD*aJ$p7^H}@1N#J?PTVz@q;dxOseot#d+ed z%6Wg)u8BL!HJ$`>Ho8^euZr{J`Efb#m!^k~$8=G=tmV;BRrsaiJn@q#&QBdS?v;E| zyaU!5J<;!|jeiw>syI*lQ;PFXA1?kOKe2BkN^j?gs~>Mtg@4NBga2-W#2=+Nf7EZ) zSNT0RL#ET$u{e7~|0?`Zah~|66z`vE-@mN5U-f-ZfKnQ} zV#C|@s_<9EdE)QL1^y{W`={bO@kiwXe-xzsQ7*sy@Awh_R4(vOf%8w3tMpIBdE%eQ z1^y~X`>W#q6aSRr{nO~f2EM{E&C{Hb!Z)<6-j7 z*H!qZTt4{k_Isz}MXIQ}2OJ{rFAR-RFb|>-_)XER!awD*<$X}L{+0Wu;`|la18R`I zH_RRVTfVQ*4p!m1VDRmI75*vLHuoK6AGec_sUE~X-9PTPJhz22n9nd~5)i7wKNYu6 z{8EbdOV@jLRBQ^Ej5n;W$}bh?iJwaGe(JikJ1Ek{5!djvt-?HoP3e^i_&{wZ~1xiw5* z_(OhPR|lTyIY6&lwW{z>#r-G#D#iJ$tDgLnr#{ewB^Ems^VWw{;jadh{+IWG_@5N# zpWgWKQEm{}3f~VJuh@FZ;je%CzkaE>ed3Q&ygz#AnjU_z*%`MVqF#kRTHZD{io`#q zIRA9>=o0zz@3y$R8t3F;{)WM zS?iAh8m!Xt^Zu#S@(Yij#DBul{%M8fcQca<{86SB@ke#4^hd>c;-AU|{wX8vpK|%~ z-+$s?$$5V@=T|+vMbcjt=Y{9*x>LTQ&ys$rxc|gYl?(h-#QCWQtMpUF?Gyh-&ikk7 z=9?MLKMk+aKNYu6{7SjNKgErRf4Zhh|5ThO{*|2fPai%&nDbBls`O9AdE#%$1^y|P z_D{um;#bLe|8(S>emHhsks^OkRsN|suk8F?xqm9oE2|%r`={c(vieK8e=5!^TYt*^ zQE{I5Q*z!vouHY)tdsOl#d+dK$p!u@miAZ0d1dvZa{pAEC;q2g;Gbg7KiyuXe=5!s zze_IgPci488dd3^iu20aSMHCB^TZ#N3;a_?+CLTNh3CJ0I%(qzlK!eVFRZ^-&pUu_ zN&2VaJn=*20{;|A`={bO@$cjU|CHhU)8H!oQ*mB+{e$?UNZKD2=Y{gl{qTuuZr`;@00WX=}uDn^_KKc#d+cNtCsKm6&;9wy0c3ERGcS%pIqRdVrlt1|5ThO{+wLkpDLvNQ*mB+{2~4+lJ-xlJ-x4RP_LbF-%KcPvUikad z@1Zf`{L@`k`lsT&@cx-ub`ys4Pm8MbPsRD4Iohn%{&2itf+f9aNq@XAW*hTzK{{j7 zr6bhTw64V8Ex&ff{oAX8N4VR&{`g}fGukn`EB@Kx6w|rY8D{LA-tg_cbUxBy2Y$3n zf%Du<>HTv$U=!`1%$6_vn2A>Xq0^9tlI>rJzlx6(9m8m^1)bNT9oD^E2b-BMVst-r zhPOr1`8jvj;dWh?|O7{FrYmnWx8p#5bJ_ai4Y8w1;|oyz`7HR^RB!oQ?4X#di;?ow)zA#T;Gz`9xwpcpWBL= z{pvb0G&6@^10p2*f71FG9E@#)9y~Oo%?AbJYO%WbTcRs^(XB2t464kpFF$s3|90}h z1=!R1v>%Evr;l}v#%5O-W;Hr4TX(?>!gVTpe}*`}PktMcRyR0mI>wUDP#cVQIN34_ z?p;BX#~DG|!G4nc_m(p_=IjSNcC{0ID%k<&KX%6Hr_UkdJtmOR(^oS8cFS6Pq<$@S z%XlZcWQGOaTI_?(7VJmZKM)94Np@Q$PB=b6tji|BT7DIyu z4s_AZ;c%+iKGgQnFWJ-`vry6cPm=kcos6kP=azt?uPvQ8G#YmHI*wu%*ej0LNkaLD zI5)lO{?FN_&#E`K#MOUV(r&k7@fO#we)rurFc%*OK&rllC)s|(D0Oy!`ZdK}WI@LS$KYR!jM0(TE10ZiA<%iKzGVK$mbxsP)sGq5 z)|$>eIS$Kp#-Q*XYZWWAn#0a5()ksGtk{zEE;xH_J$laQc-%s9O5r`ofq9i9gWDUV z*WVIj3zqVZ#e2Tm(#;pK2gEe*G5KW33X~ zPNNqwCo^XBv6`Z;FnUWWHO%8|+}nDAp#L(aVcQ;dQO^WS#qNVJ_6^ z1qFf9ifesK#*)tCPLIs9xEd}`{)E?!-q zeo(jp9a|KOM{CO!<~5d~+ef5-|2B=ugxz}0*tDYhblAZ{21!~-Jo-A~E8}?zk4eh#nli$rti8%Ro4ViNwgVv6(?EP8d z{G|^yU|(7*c7AOedU5tMnH!#rgNMvgICW1)?~eABT>j-TZ~TUIpxJjn zq(|}f`}!sQVLPectEZ}7zc&fH34Hy0u0=bjOX_Fsf2g0YSI+{ze#dhcydl>Qy8pxVgSYHf;OqCN^MYU}so%B#p?;syY&!7u`_hO2 zuqO4p<3H5z2UE-`zJ4DyBLcEW{a*7Q>i5k*UISmhPbvz8-`i{9%l}ZnPtCBPy8Wr& zzXkS(lWxzL`PT|muHSd}`VL(E-j~$xS?cW}@3AS~`@6Bq^?PRnGm5LfO~P$ycEUiI zknotv(SD|K{XOc92F2C?T77Kj`GFl_e2O{7hYqV;|63o|rMUV#bcH?r^F$=T;bY8% z7Vaw7-*u-|qqzG2g03CC&9)1)Y^R4$KC)A}{$CKIL2>oBL1#zW_;GK@8+egn9&J>) z{@(QD8#E>Lzt2N^diD_+jCmeR&Ihjk4&Gr$cg}VJ_eX#iCrnVe{tlmb z2e|rwzpE|Xoy>#0u%#t_`a@0S`v1V4V#p=+ciK%y`p0KCP)v2fMJ4Gf*Wb57PXJf{ z_iOJ!n;SHSyr8Cdc!`(F_5X#im%!EUUZj3^9_|j8N&Wu*AL{q`PIrK>pEY+khF_$9 zp7#&+^VfE#fUDmZlluL2q7fL54#0kns@Lz%GcE&v{h<4G16V+=ADsVB_3H;?P8S1L zzq^t1$8|q^K;FAC&TpEla{XRh?;&vY`zBJqADc|W)fIMFW4^A+_4_9Klfc!lt)4j1 zou@fLFS|x~y4FsW>({bJM1^{GjJ z>bH!O!-tG>Qj9E)`=bid3$1!uD+wn_1l=o<`h>y z9*DG~ujR!-^#_{hLyLJx)%vl~nU}!TU++l$<&+);(WL%r@(=abiGC%(*MAvBqaZ?_ zCu{f*^`DLF0lfZx3?A0kn64Jv1>b(Vi;>;D&#as{6rT5xzJFl6YX#Q*F&d}VGNLd4 z?u^?Pj9?D#(!zb}je`3Tc9Q4cDZ^s%m+k9tNQnXcB`Os6ShA4$-uWxDFlh{|2#~)1 zerm1_uD0wf-ZfXBzHv7QH&t9=df&}ws&63gLDQ7Je-Sl&JU>aU%%N(v@fZ~$nlFR?7wmJ27 z+c`Ypu{9m|WGJl3zsNM3HCoZ99)*_nMw0ngg>|SWzu(};U9IUlUi~2Q#z*G){pkwL zjP_{E{MM5Bm!{RIg!;8v=l-_zu=PQ(W0@fy|LdbH#wrQb7*9*)tGnw{+m>I)HLljB zA8L$%UA?lHIrn}mE``{kD?Qsw<{MNuq4N62;Oeg}=xe6Y@MvfkW`w~u=Ev4N*?{F8 zB=eK)>ri_Zy}_Erw)CAlJ)nW3CO+n*j#hsigG^1O*Wa`yub@E9u4b+#?{Ag9{$aEHG;GRh#9Fqtp>01~z|NG8IQi9oz9uK< zpfTfvCEH(TlM6;O+}W!h^=Y4DHNab|3!cBC1>?Up1${i;MKb^K{wA>R`m_ItA=|hHTWIS{FPviwxeps)D)S=JHQtVXcuQ|TFTeOehhD($h#>bL zYlS2CqBxus+!HNyI*59&kY0b=x)q@KB43t1;Xr5Qyp?$_9F3FmW+Nm2lW6sD>G7vF zo53b~Z`NhEBkeR}G^*WxI6l^533|Q!7}5%n-hYc`04{M}1y0#!^pdxpklff4Kh$wS z-tW2rdMSPV#dNDZ&OEaVu281*iKGCiUdsyOv|Pong3j<6q_2O~9%hD@N9~0*1I*}i zwX|X8m9BVh*dAHHtS2KPfIkNbjky7cwGUn%>TLpN{3+8hgd(!N@7 zvoFFULe3+bnjK-#!$`^gryZSxrw%&?wLaISe|4$@9U|QEHvO+CI;!S4Ah63OCq2vGg2~tCt@+)_<9D6_-aAVY32<%Lv`??q6g^e zy>M{aHdr!0yLCtW!tx$;R-5} z?QdzmDQESs5x7pXLn^l~T>m$ZZBbm?G7LXId|c)ApOovYJ zDJy!NV-2*%VK`3Tv>*L<+Yjn&lU{#IZCApi8)w1M!ir96@SZ8MYlUAyF-i|=1l4az z??3F^o^UPV8EhikkD2aOrk_?D+_cMQ)M$q{Y@R2*{S|82L$kPZ;QY#h&Q8<;PmCtUu-K?TgL>m9Jx>boj0zi|AojWENmhH~8N`$Cn+f9-+#5Pjwd zoX;V@pPO3X)Mjq@%>q-Dme35o)%v&f-}cu#M!UctUyHk~a{DXfFHyHohavtnX}{J& z#=g%W+`Zv$6mp~mn0iXLFYN!sF5_hk*?!b}GAj3fT(yp<>Fq)|eASG$e&CEJvR=5? z*LkStYzn??>nC~q5a#>6-GsjE8-WAk8>*ZiweNNgb0`<+%_g*c+*q`7!g$=}a%#&1 zbz8&u)zbH``b{5;!u)e#K5kt3HkKa~+2h?N<2tW;Tb9qk2iUFU$`Jf5E(2))glxRv}gM z%?sN?#Ef+iJkpfz@ZKH=8&G(2Ll?AXkr(`mmp=aqbZiT;Th~FmA7*s!FmL=&-v!SJ zOhG4>H384Z(!c-npTtA;qX$6klLehV_&0O>r!StH^#b*=_JEH~rT2eJ`w*t6_Cat? zHle?yJwhGF4#Y0IJ1U}|w}XjyyGoAV?CyIN2Wy{$HrqT3bHOXzE+0!7&_B*s(1g;AbK+)5bz8&U` zuZ*+6u!BLybVE2bU3&YyG-nN{J!}WVGEGYJc_fcWJ}bxtwDYC!pHp}PG&S;vo)^pV zeEX9ZIYT>7>HDX`d}q%=`0L`OYGY8i= zK?j-i{wEwiz0vKkb&3(TJu{L~b^JPd&4FN(abRBCoSrY77C{uz=%!K z^@p(igpUpIcuzl4KkNLT+UN6$B(G}w!u^lWbM33T|IJ*x9$NaY0-p|+wAX?bxZ1Zz zOy*%Nuvz8;$=js&zt!wHIFXkLte+L#Bi$P zef)W~dNX_;`vJwiGNm7X9fU(WUSaePI55XH*}{)l>HTlvnsgY^*c?85F`?!CJLCH` z3YnnRXP8IJ9pL_3>HY8G!z^eOP>Avyk^R58Beq)mA7eG)1{2ZQ779wF^Y7!2!_kBz z$c-HTj2rsn1*>i|qpN>pWQS}ZZngCBN2~KuNN)WT4URRTFMMo;1G@dkgcW{bc01XF z$#3cWt@A#u!MjV>G3ngN1^1? z0Hkr$lwKffkC(T$!jILX6g6JegZp{X$3LfeCt>d9hq7zCOz1vegK!hM32wO3(r?rM zSimE^}SqI#F*#75ka0^uI?-A&2QNiVId}?28M%PG<7KrGofoLuppIQC@ z{FHRy>kv&W**T8Rne&85OOAlI^Rytjm;L`;$moQ{ycZ~bmL?YXyU^3TN92#bD40a6 z!RQg}^CMRFDX2WwC-YU*@$=tH>8q{h$$lz{mL5`s^Rw9T&xE3vkTfZls5q)&t)?)l zRr8dnDU2lDO^UF87W@B=;XQ_uPp1XvpR3~LiV%8s*#rj^s)MaxcnZGKLOe#`>S=ZS1rz+b9SC6`pgQlvuWI{02QE4FR`!*A$11eCr zhK=8D(hQRd6XCO$7XI>d6m33wj+lxXLC+dJ2u)p(QfurfAgTp9t=qKl+tiV~o-v8xzAuL8UCVK58>P0p%?KZoA@!$BtwK9&ZGY_YdJ!ONA-~W}5|G^Jd{=f0lf8@viANhlg z-@e{i2ww9Fz}SO3Kd*~X;n68{?&mDB>xms#%VwY7|K>kyokmin5-0ll^EEQq{O8~N zOSM3TuFJ)A*4_#-*!=5|q!$ba} zZ2y1x(_IvjSqC8&O1R$rmB2)5HLY>qM|fcfeu%Q||8jaWdXaq<{2nObP0NRou!b0# zus@z0*5SeG2WT{J-2f4TC0R{6t$YIgqF zWW19mob`e?mzA+cQy>@(d?iv2cEnh39*8Hf?YDRS23o|9)`|SV! zU-=iZf}nX=7detV84Xsx(%n3|zH>gj*3iJ^Q$1jH>=p9vuQ>G02!onv_We=@fx;jF0h6;{sT?w0aa5LyEx05~ZgSop%HvT|L7Hy4@g14pI`I)l>;$1Y* z^ut%l+oVv~uftydf8}o|&<6k4d@AUOME@`H8_W2h6sa8;(`kA8x#!9%*e1#zwsw!9wB(wgiWd$69Iq$q|Ff%Jf5B+_)8e(DI6EBd{n+Pk%)S$JYUw;Q zb*3sFduA4BE6GqR_`!Rl5(#sEv+Yl<;t==dG#{mwtKfCqot591v9x8Rh~TYUI2@~I z>#rBTmrm5Vi)Kty#VX(q)~}VQ(upl-_SD62=p5VsF0w12M`qL@!BsWfGQF_^6!0TJI9GWYLh_G8*{!Vyxe zwD8E?9?%wlk^DF<0jK;U;EXLhe+xhSl)CC1N8KG7I9F#H9B)V^V%g#lv^5$IK4za^ zH(Dw6pEm+2Tc~4c&paAnomKqx`GP{9pt~(~kxUY`)$A*Gx zOQGP>@OQ{)_-fD#Vb>2wU+JP%L63M}GBvS{Y7jUWNRTxff1(SftD!rLT|cL%p!J9YIxtib?{wr0{J$b@T_EG z;DZf&{U@misb57Ac{o=Uf4dS7j@;V`_oE7ePKni!wT-?1&8rC22~Q$5>Z&+Ib}e`u z-b7T?W(xkoN^sR;8PR*}H#TKK$pJfxfu zN2XG0L`SuWci_7z6F+390spDuZSp8g2YZc8ggtJ3f|S=b3Bq0~1AQK%^#Cvs(=nURSU9=46oD+5%qCbQ>mqt(7W&QzIo`3pBX=Z8?;= zr}K^l7n8@&j_}?;7{$bwp5XTH$5g72t$}6JV&FxeKoFUmLi`uj@a~4P`+v6^De;fQ zsn8Gp>bT|OYH-<-H$krL02#S^5ATZ{k12oJA!YtA{$p%!0fxjOZ=*2D=f)p^47FNo9O zD{N1pHdGhaEQts6Q-~aR)$QE*-VQBo9L<#9T5HI6ES^ReiRj^&=0q5!EKZa|LY-e{ zj7Gb&%$azb?FRhgc2cxgUJvg~NQ6_<0g{r*5F+LXU~WiqKK)WOfZ zlOP+e2^Ixz7U&y}Kyik;O!<4qoA8&`pB21K)5b?8CxO$<|sHKgIz9qwecDl3Pn?sjo&nLAuB*7 zLKaypI)YXy?nZD!iisb1@CEAcJxA)&7I=%AC;S=N!khX*6V&VTP>|h7CjMncKlJr2 z;Pu}y$7YE>pxX3J;PPQOgw4%Ct^1Uj_}OC=`5%uMpzm!aSYB!+WGznTT?)=cvUgI@ zlD6SYyvqo6erKsMG-Vm$nv?Oc&0h=ozPQWlyAgw;*NZaoUp#gBIv!@I%-#_HJ)Zyv z10_*{;4<&PwE5_>k~9;)>$@I5!fX`jHZ{cc?Md)QG{5R)=SAL3-dq%UM1hI-e5}L| zIp<6+mYd)?I?F(zwBQma};Uc zYK~vIc)`^_ab$1La0uY%pd?>4=J)G9dk+TtOzE!@bA0)f2Q-ANC7uS#;Q2Hci4wN| z=bemopTU1XuQ1UQa7 ziPndVWq$vGzGB#>(nGVv&GD+2nh>b?k$XRB1l4=bqQg#Xe9NS>@Hgll9qMC_m#JyO zb&2m}RfPe37*&oO^4a;z9#J3Ip22Y_idtfo93i@4@RJxl^@M>hHE5B-7^eP9N}Q*Kg5$HN zXyy>M{*$YE(6WL=8g$1BKR2C&yq)XGvbr$P3w?xkh_d&;^2BRjYZmVcW7vdB@Wu8iR$MaCiW{=064uw#)fvx^~?UUg`8?U zMGr<>;qIUF$rGOja_d_tbj|#TUMI5G|Bjvlz3vuCKWbTFy<4s1X?_JcKQIFhb^b!O zZEXGLW&2Zkg{f4j*b?*3J|G)^k0oad!#MvV2BTK8^Y1(39cf=}9@RZyiDMp0)3L)- ziGHFN@E#5z&2V=9jZ7BNbH=H(;FkryHugCQ9&wgzOPLKPuZRPQWanQ8TB7JQ-&0g4 z(*g&o4W)NiTq4eA+@Ls20+!gb*Z=F^6!v$y?yJzIJqRwJGUu7y~@F;h@#c_P<+qKcma8t)?pO<~ZpikFFlJf&7x! zg&o=>p~{ba{>h&9p=K7kRP&N0cAC&aR_8Yh=C2NenZ{yZyNaEEdh6|`le>W4iMGUX zQq^SK?Jt7mR*|q^tt6n+Y`ota31QRsDl+1mDX!BCqv@xLsh3!FX3kBWf=4v}J6kM*dToncpks{z|!#@8PU0F{SQfNni$;rw#1IQZBqL-190{1NM+EYylS&D-h8y&sgu0qfRXn&oAexr7OcQtuIXe z%|D8o!hsPJ;Bcxwej~b$9^Eqy*~IPV^+j?0pWA*h@j=R3LfuCvkdLuGzHu*^j;xWa zs!>)E?8`QQ>N+u|{@6fPsC1CySx7O)*%L$PVwZd*<5Pm9JyjqwaR?J%Jo*>?6Tcp< zPB+6hJH6>KD?7B#SP525QUIG~w*B9$@1XYA1EKAk8TRjsKXpznF_hSG}Yn43G8$(b>A#tZ^mH8`zG9WLl7W`g$O-ip{^ea+#WN$IjtU zs-}zG8rIR@DIcoRkvFOIG=_>5ADHsXGKLG&6}3P|TN`hC&2bkd`cx^{zb1$GnS!#; zLni+4E>YpB)4REuk6PH^)I@rzh&S`>2+-O7j)_l{d_fm9HiAw%$Dee5Je~SOgL}(YfF4Yhg6@U=O#J<*PqbN8 z2AaQXU@21`-Jz_BdR5Hm%v1~T3MNcE8logj#z)b{Pdd1!Cyu@xX(;#`Hp1qGxX!;KxUzX#b82n05-OGV z3UX}qa7k?v?Y+C3*Jrv*(7)OWu2{0`S4lgRg<=DIG)bs~r^&3NabzlLmN_7hT4n{` ze0rJdw`|66VL8S$(Us$mTfBmP&9o!GAMHa`61uQv2Rna$w^CmCEHR$C-7vyRDN$6l zv5;(7Ym1)$(1XAlcK!FVvYc=&*+z>Ujc}FvGMeU;M;-(^pq66>@HT^;zq)(pQw5dd zv>jPs?_0g(QfNCF8N&zr7-`77&CVb4eBROdiP`k&W-}Za=Rw!s$|c$7WnfZ^B2;>@ zHFEu{1R0j>{TtCSnaWrT=#SqPc=x5@^ion5 zX?^Ji#_vSnvFbRc{AaftNO}ELYEWv4?_?ezQhM*m2{AvY9NmKqRN49WotLBN6dM)c zxfC4xcK$LLKC{_ zs43*SOT$b)V#6Lhf*I5hn>IK_S?7Y4ShWR8vVA} z6pP5Z(dBK*)Y~`(d3{la7mwNbZ{~-;^jvZ-O^GzY+ns}GRM~6tDGew*H@}`1+&006cMvV+<_BENoQ?|Ls)EcqcK*06>O6hd)lI*TH^n_cR@Ao6j_$g$ z6xF;^fE?ij=K4)8_(^NepP{20jj`lrKZ7ggU!W#11KW;U7Pvl}hws+n@M zH(UhXsY*dZuqzY4S9>4z3>YD_9%G8TeH`fJ4k;SXe}i-vOTx4`w*0=M%jiTgIpLR1 zQ|y1{Hz_nWraH5fVai5v2)1=+%5N4`p|?L<2;*zH^{==^5<+IsV>j=i4f8&uRXN^F zyq)`KH1ft6;e|X?9QWObw;*OA7elq8kBv>pd+kIfK8%}jGHr;BuzN8l|3oP=GYq0- zLc+-xqTrJrO#HzO8zAwVmhi(~PJU?zs%>+nBV*qq+nbkBM-Kb^xFw>)b9EjoT%2oy z|BS8^%=L_+HQelk+F?&n$YU?2{F_mEWaO#w!gC9ZvGqa+67(sWzO=|dpT@VK8Z~zR zWAV>ia>mC@=tFe=%S7qVP4`Hq2Zq7Q$BRPg6uT~3 z_s1O9lEeiIh*ys0*7oxPOQ%q<$&jPR6bcT!@qfAGbID@mzcXaIv zyMLuUz>q$FsUUPVG{@&WddZ|cqv!-BIe1j~1MxgD(|%%HPmmj(dcyptX87oVXmV(z zCk;NU0Mib2qD9=he%ARl+0sEEG>{iQ@U_72Pvi(xUfR*C^5fvWX&X{{$JRgS9mlzH zsF^y>;OcLwsbq!kOX4yz0QUdsL3_uu_uuB6E{fkKCVVVsiR&hd@$7Zf=nugZh&F$P ze7L?;mj1P7;*dU5MVJy{j)xwNLRvPMdbMi8j*dq3H-N{)&-!BzJFiO!m3=Jm(AKjk zR$qty4jc<%cj{4D09$^DUNrjE{hZ1QEwS7iC3NGPEfJp_2X3!ka^*v||7o8&6Esxb zQ^y+?xHY%~{XS4h4$Jz0M_?@qzQ*>y>2?_)ry(UQ;p!h}eTPDHs0sakRR)FzS0c58 zZ2c`npTjYOdK!Ai6sNlaNXE622}1_Z{lXly1F_@JFIhb>#jcdr{WZl$j&c3N6CRSA z8+uT8b{5hpV#goLQ5{IBm(!w3uKxSZ9Omu1LkwK>Vfld))FW=m+&|-WPhlg^pYFI~ zjyV#Gslw)T_2Hd_(3%5Iy--x za7~6^{MDVF3^Ku<=1XDiPjhlH;w&Q7+fcbE8$TjVhF_glK;LSaV7>AFAdtO7I$DcS zSkNw{@Ql5FX=P%3Uv7Ti<7>uP;nqy}Yw?D}g_omql6%oPK70QrmJUF9T?a)4#<)%t4 zA`P?w8{nPZ(eTyfD3R~BN9(y5^2klL{Qn#O=orH)UUm|nX+NLyhV#?Mji(ujYIyn2 z7|=MBDwt`oom?u~z%!i8j{ov2rc%}9vBDHE!rzaaCSy-5q}e@t(d&nwP|~T{O!-xT zTdDb0UEx*@6MQANlbk>0POBHZM%V9%aQ*93nfPlPhVh5BZiTfoOmW4xh4Aa*9@O%= z6y=(wBdrW^CjPzEE7+VA0=9k@xNi;*Qq$L<;ca^GrK$wksIlvxE9!p0)c6XRUv7$5 ztGh#3y#%CBCTKxzF0v3~*FOUmoCoh+Tad|7OMLZ>H1zIx$BR^*4UcLo(X=#n{e0%F z0;rra1~l}o@RA-Gu<6a?g$KZKwSuGw+}(hK?}U2KpvJBh(kb|36up?Aat1BKXpU&Iut0jgTI6s{##@S z7UgDO@!=NYZ##n~mi960S4Nc?u&0o~Y3}|n#8(35ewP9hR|`1eD?sBdC7JqfkXjG! zK~ns6rDixz^BT(f;{|F_J!rbf4b;wK*U!QyU}Vex+SL7hfVd4R-(9<^^&vXB7AD z=Lgq+F#j2^Z}eg0BfkpN?mj@r_OtPNMJ`tcKAS>{fi+J3RxFrpWQ3Y(;~{wW8}wkS zDs%t#XDOm-vc=*`WfnLvJ*N@k|Nu%42O7mCGHo+6t^^>&$K5%Dm1~RJngO(0q&+p6aPNAN=tSUG zq;>Bt6TjS4j`pic^5+vX+^Abh^gO-5|G5~f-Sz=ZAwQY;=EP;h+qMO&drf$RtQaNt*~#=W5L=pHE4QR1Y8trMNY%m_qPjTYOB80 z#DL8ME4;M&rr_^|6x1Ib1CQpkp#cx}{h^KcY0@#g2ug=q;p{tmNHAABSQ+34T}~g6 zMhg4?c@Z^~;?oad_&E#Q8-Izcwa@|YLR&DO*NsLWWq<#?F#%NA(E!&yEwIJ2Mxr!H z8$R1wgKznFeZakW~#G0Fx=*Ebn$XV3|0^7tm{-+U4 z`I+xMDDP1Y?8>*qjYCR_wet|TPA9?VKi|>7QMUb>DXGv+xhJ5G>%Td+B$0ec917W2 zr@@rrUy*GZ8*iYlLHD`(fx&4jZhm75$>s8nwULoh)zB1iJEF~k|&iU*zkFX;IncK>Vh zCuiDx*b4=mvcmmWcMykmL>>!Qfb@%B=wbu={2vqkluVr(hCH5F;XV90#8}CYJpQu= zhNgc(n^f5Lt2IxLu9MXzE-F@dT4EkaU-G1?X!c63|Nb{Be#FjyUo3u4z0QckglaR) zvz|tm>6Y^xt}21m#^EshGuwXt?%xJFC$pgChbo?BJr>4NeQb6vJ1lhSlPYLBB}}BLDm*IAJ}SvT+*|U!%SsWP)}>^-DEu5H%ahyvxwZM=y!a z@+cH`XD1Wim!Aj;pN;{)Q56prbfENabD+RHop@TsA&uXOO#E_#9q@J?$6@(d1wWrS z1ZF1q!i<>;kU91Md%Y0txQj z%4u~idVEV53VxHx#IJpP3~af#w))j-ct(l`xHocrC(VWAv0@PF=6EDn^-mgB0Lrg( zK>3S0PHb?3QGw|wCR3a4`xb{f{SGqmFLJUV>sd9JS!m!tDGIRvx)MB5Rie{1cAyg- zsZ9LA_3J^BJ_fVt-2CtaWmq;<5xg=K=uoK)G-AyTCSGOA1E|uu4mr)5*o*7eo<+pq z_b~~o&E282`<`IpEq`P}qg^j_z1GAxWQW6~jL}e7(nYj}9Y^EMGT8W(cTo2373?q4 z!Im+jVOi-IczS&nd7hVsZeG01#LoyW2K9Zz_(@N6uxil=cx^KUB&JRxttEvh=f+tk zeqHM;n6K0WOMmF&MhhD_Sn32ZRX?uyiDsjx{QFFNV~zx0R^&V+uF=7-d%fY;X=#|m z)vx9%ZbGA0U1j30$h3f4btWVgaqp)c5lnH+MISm;Xj<87w70pCiT}gZ&q%~x@Qc;K zceaLru;BulCz4L)e~3c;W%W$Fh5dcltJedXR>t_2f))7cJHcY-;b_R1LWFqjOuX%> z<8b2r2>$ah1KcDk4w0V%VAYr0D`UC(&Aw+1O#H@G8=+fHgFmQMPykhc$kkN z&m1nGv6sr3c<0BfplhEbU*v@*-YVOKjCV{0T>Xfooj!xkj6T4`mrhTEncN#@p9{vg z{QGa@=oA3&>(o(mZ57Hr&#oT`^|fH4rY^rr!33w+BedvH46G=fi!w4B&?5~tzIFK? zw11Z#|B$)~H-Es&xi2vm8a~G$o@o>6(PiV0TdDIa##+J;MSZM&CIR+TsG}{l3k6MU z=b?{xzB0eRxML4PhX@$x^a zx%shEAZLUIe%{A}tH;XGVSPpFtS}AL6yz}R$MoKSBzIN|bvgcH>dre z_`@8!OclwT?*{04#xbURpT2JpQkFv+#;fD>H&Gy+nU9K%?8xo5eqQ#c0w#WoQ9tzl z{7kxS)Uf{T<&dghiXOFpsWKh?lJ~Woy?)Ui-{DNDdM3U)Q+Sr{F&T9{w(Q2z6a8n_!}YK=sGXhWY@+yQTQ6&%RPujk~aaQI&j z>(Hxlj!gak#qYk`i-JDRgG8SjyusoVwQeBkjSs+6K?S=8)*$P15zw}*h8JAZfS!*T z$CUr?`fq;w5}C&?f-eeYyuq&D(Al}@S=0kq#PN52S`vg*MdD!cp;BJStvjeD5;5g_ z_isfj`a2i!u+)_@D4&8a5#N4rj>J(W8UKi?n{{-CX?@ zB95!!B|lRp+}=JHvU?=yK*m#qI~OtKAKa%#*7m-K52vZ{y~Uy8I-|wzZ@D z^iU?gYQcMf!PsZ8^QbDGv=5W2_y{=AS3!n*w4nopZU0kc%Xu^Bwt#64$A8x_mu$Pd z7`}#8k>KX%$UBz3e(^Swd7~QcgD1!T7oL4l@Y!)4RG)AqRb4MoSeye>|A(G?1zH~; zKBO&93PkhScyGCvWXJeNFgH~dUr@6lvL_ z6Y-bq-S-BZ*Qw#Bn+6EI?F=hrJ4wgLq0oOimZ^X7&#UCrtTqr2SHrgZjtN?90-%J7 z(GV{QcrU}QU)6p4MlMlN{@KUe{2!lP{o(E}Mzix5GipuGcxmvZ<#ln} z!CfS~ZY2y`Za~Ia^r3wzXPDnFQ6EQ-v`F&bkI}-*EV@be7x2Z1BE{!SV+`N3~AZJQqLP1k~LOWFBb=jqF|Yvl`=;i-i!rz_D1 zXN@82#2<25I1-|2ikSLOpM8%$AJ+plT>WOEza{;#$sSZi=aBWEp_WFYnhSbMTqM&R^Ci9i~~!T>*3Rb643UQlD^D^w87z%C{5d za4Mc%KQmRyqGFY7(k{{f7sw zYcNJWMVho0o5A%?cKzaK_800E)BwJQx_DRsrni1;!;mX8Nl&dJOj%gRl;1e&6b&8H zh-6~au-~a!l<#^N$?W|?sv1T^(%*b0ezEy+`fA?|6m>-vyF6V)CHpndjVX;}F0qB7 zaGZ%3waupwEKi~(l4>}@dW(yR?> z#H-_BMNafc;c7I~ikkud!5Yp8+4YyE{nA3i=4#aEu8rpeEu^+LJ_zLYJ?HqxEg|6c zGv@a9QZTu%Ux}evUpSE3`Q7 zjbvwQ;}c&O(kDtHX!GUABsy#qyu8!Ql)r}egD$X{>->?Yi4U6vQQ38FRfX*$w5HGw zq`lboPt9BCYR{X3WyTu#m+f?}7onS%(L0i!qz>R(%s#&tf4)tHE00Zhx&LscA{H<4Z( zstKPR3`jw_0%$hHG3B?}@MxCSS*V(?f@_0=sNYNxX#M!D>b)K9MjB02x3(lD8>_@xTw-e(1m6;y!a zvE%1||E+2;!`+fG7%seOSXqFI-P!r;tmEb&^t%W152|6^nG4YOcwd-w@;9;Ocu+!R z+4YCMNDuh9x)BzYso}F@hJl=%9Vi8UBl0hfqu;OC`S+eV;~=cC2Cj4cJEfN{pxQG& zFw)>HLE^cnr748D{>>++Lt4cJXxpNSZ4`9Dgl`K8UoVi_^drdgF}r>t_I(a~ydwl@ zPJitwA;`^l1w?TC-IKRxA!B{E{z(;Ppfm>vDJx4j;wg50xE3X6yeq{r@B1 zox?|R`2QFE9ld72_P5<=>g1w9>p#|b95hbW=3AQU;+d~!qABmzK!cMR!RM}_9~jWVQ+}=ENwvkpt{h8J-_(dk?J8mJpGeg134fAw_&gb1yojH{i+QvT z+ADb^uKgvN@tKVuX|#>3NHySVIqBkcN9_f1l?f28piLHvbfB5<+4@`99Yl%&M*MlX z2G~970dG!L64+jvS+)4+J)~V$%hcba!w%+N*5ij18sM+rQ&4XH8t@)6scK={b*_Jf z9e?aD&>WZb^YTNRQdH5Q~xzPo2iX<4;;5Mz|)qDqCLG%F!0rjhs&j*Bjp7X-)fjnOO+M* zp2-H-!d8s_Pzi+dLtJ?I7NSsVa*v6B_Id(s%+ce^Wg6hWT;E21#A;CO+Uq=fNe>E( zZD8V`%=Z9=uR~zBsx^K-at}J^eufwIbu~0zzJrpA+3$Bmuk1j3Ul*Y&KWjY7cyHD0 zk@84`;{pG0{3W_NhTZ>LvFbH1ym+o)?sjWzaZ8&R>eTUy%HyGH#v7Elj?JIia?ciC zG*t3lSy7AS(@-e3Aa^*Q}Ydfc=1>3$=vM=!OouDf80Wpg$tzSSFM<@gJbi< z>9mL@qOz7e%-O_#zqPVYUg$?-c&)Rvu*`*(w8Oz1fznQ5Gt~{YA7bMT{)!93 z^eTCqCAj)e_bTetCW4j+?a=`5y1IlhG1qhhO8WCfXd6*^`Fmn_hG`(O~`6vyuByRops!8tBTXfaXKY>(^06&UWnh zsc%^mRH`pS#zR!`_zAP2CrA#uRx0os$BaNbQ_`67cgt2m&g&I4GDryzte6GiUrv)( zPhOMEbxWYrkNy6@Mr}Rx6&|BAdPm~l5i{Y$fmCwc=O;;B9|IYlW=#9txGx9ff3K$d zq!jU;zdo?$@iKDe^bi`Ty&PT#v-_`ed`5xz;W~PH*9iQ$c^U)=?r|L04~gXQ1c;Mh zzn^_PtpHAacuiC1tKxHNBVc-?7tQxwL0lGd_mCUd@ArB0)%gG6->TyHw?b(MD7?Rm zrss#C!SZjN&Uyp?;a@2_YJwjHBN+Q#n)12%--G2}dFdv?{}2DmEHxACSnUs$FUrWs z4L1kP|MKlx8~lgAW`>R_-gyJV@vIT_^zIXb=CAp%bp-!E{97ZI8sRNNqPTZ!TgYv$ zZ+x))TN@0r;XnK_KQ5c%_m0YNF>X9&k@x@Xyc}CV0iCAyA#?LRAK82hBg@D_sEp@n1JM|214?78r2;>-7KNzvk|I z3IFk5iJbpxt_X)$od4SKKlm@{(dzvF`mb%d;oy|egtWJ34BCGcEm7eA*MCV}SP2Up z&5_0b;J^Hq59R;Ye=X`>1w77w#s3ff>tFnuXpTUE^Iv9Y@c!$*qay#m{wKo69pX9v z^Ngl)HUaY4^r=fC_Usv`DYP?WkJiLPPuA2qlKfcP7Cp?bM4 z_WLD+wzwqFuz(U6)9Ic8c-JO%I~+wru>$ zRVC>51#e-~3w_*@{N6e1c{2SSyxZ9#ARYN8v-w-(y$S`9`QAeHHht`+byv`RDv6Hn z&zmq${s?M}Wb-#Y@zxNi9+@b-@lY4P@2nE+sZOB#$4ih&1zXV^IX3^$f~oc7??qSP z-q*T#LwX`Pq`HRkTz&|YZ|p=dv26aK8&|k#6K_0(QeFD^lJ)^oCmBP%0wSFA9FL(# z*V+69GhhlmVvK~x@9E=^v!BVwPr>x$c`0YxhT~}6?3qmeo4&w>9*lGrZhNJR&*e3d zCl40WM(Zp=&9c3yhT{=ny`S*Z{!1Qw1)*t>5w>qTNyctiN~24rBO7`Sb@WYU;&;6t zPF!m|gmjJ(J}be^&DD&fk`aJ>Y|4@C5H|nPm00e+ZmWlIwvQ2>am<$2T^vu3*xDo0 zgc4*ujm=--f7A-L?Q#<;C>Y_jGWKXz*c$54?}NsM6e61`aFl9Ni2^d%`#-xRl@^8C2*=gv<1?W~G|R+|^7dVIw!VE5?Hj?K-@LAJ zCw-S@BXnri#lMp^>5kW4^ugNsf>C1o(K+b==K33b*+-WwvJh%W8F4|U5p`POO!eQ- zL^>xgqrO+{`JcbmJJRzvY=i+^|GerWF&bp=O}E}EM751INT1KP-@ZI?x}nQKc*N8M zAF+QkH%yp30;m$;WzvLt1GXdVSG)Y#cf?IH^hPd*=I|QS9l0clpIE5uY@qa zzoT~-*t|wU%LYRnQ+6F$28L37n+?d@@g%aj&gLJo3f%yg&e#k4pBUqVb2`y_v&l5i zwGIt-{=(+W9C*CkQW&w<7}rly0a0-~TJZcXQp_$#c@CqQ`d1nxLsqe>@Rq(ACaNAF z|Fe#)qkqs~=P!sUh*C$pY}%n_iER#rlC`2G==-#YLGzcn6^*0jo%!@&vjxukeu79V zG@^@B0|w3in9^!W3r1X}m*!exp-3fpSvsQXsarI}zYvGNF6{r;E5V=EPzdPDD3WL^Y`U9 z$x_Shz0`~2pPE;3m6UvbLsU|xfySRcl(U2Fe=nVAA@9DM2qzyj!^&m*$>wTLI&Z8D z43@udoo52ETh0?2&N9L8`aH-I`w05d>inSj`(j%{kaOXG^Y`IaCM?9C)_?Knq zm(OLi<0YHFQzgBuW6d$@%w+0E9-&krL_;5zb|}wGCjUYN%%z63_p3IMkR#i z^p)AWLG$u{z9Bz&K)%W-Mz@)Bx&^sp{=3?jx;pgH@ zFno)m(8Y=4uM0mVn3rThcVFcVn!m1XsuD^S>!Bh^mUxteCaQ_wK=N}|gR*@O+TqOp z{@T`)Nb<-h`fjQvp3}GoeQ`QM#?pzX2|sAbYK}kQP>Eo(Mk|Ru6$T@3 zd_()~+57jm@&wH@h#}0hXn0* zaUL{(UeyaF$nzB!K09E69TF}fwB!2)5w`EL6`tQ`h%XKu!p*;%P7SYZ9yEVn-0gITUh5`| zS)q?})vloHB~kQq@^;=Som3Q>#kT+3t&Om7z*hLif{WipB!O4vM@vF#d0&q2LYKYR z^{b)h3PFDyUwC7gEiY8GaG@yZ^5D}3f z8KMk@s3=2(&fbSek*SOcMVTXHEP1~7|Nnd8_u{#B_j9i6y!>2i?cuxj+H0-7KH-gs zM#R!gzY(Jc+yAY2+#48QWGBr0sEenJ>P2VeXVD5$!W(S=xlMEH=wf{ZVQ-cZo)qs! z&p)!J$2T~kVM-KfDa>M?zmMbz-Edb;7a@u zm)%F7g2S2eYj;*s>;0c;l9@Sn61SvB7bwt_=RZ-vmTvUDhkbu)Zre&LsixDi0s$N(9_Pw8-CnRXI1Z}4_+$a_qqNw2U>_$ z;XP6;69-#uO_}SLd~F52x8f4rpQwa)M2@FA-$bZ!{aMm4x)5#%teNwm-g*g9yD%0GY1uIG zT3A(>EV7PjIO$>8z$lub_?AeGc_diR_0I3#%#Po;XZO;c^^d62eqHP&I)NT-P^H}m z9ZBQj(IDt!+aGD^zf?2i32g|}$4X0m=~q{E>bg)MD2#K0Pn+5Im$#)#!nhMVXwP&5 zTpJTjH=cP#&TaeU(HCY5i6zF&@mFh!2v@CrPA$I~;44mnlxHhPkE~X$y(?x7LEqW^ z-_M3f3Cq-u(&i*1Tr_+hmEzYC+fk#CL6ZsWyvfdAG%NSgDKFpBxH2RBE5?JiH<{B! zPaW>lUY>+n+7&mt=zO6D=B-kq*OJClFViT}WEudngsp$s zvIlh7__x&4MH~M-VNa#MJJPu;fc!`u15Gln%=s_weL|l_|Dk$c^{||kJFQoH+pj?EPzZuL)L3ReGpIs^fa! zI2dx5pj1>R*x#fEGo?eA`rFD~2FV3p=t8F&mYNd)Dv7cny~>ijpQZ&?{=rPV#y|@Q zex@LAu7AML*|Rxc&I_&YzE2d@)L~#Y+ken@Y=b**sxNjYYvOW|xlm?mfO4MSB^gVV zV8>au|I!pdXpUtsO^hvyJhSjT7LaiXz-}i$u#O?LrUx*!>eXs%Y@5*6al5ZX>+NEeQ^MSc4w&ozZHp z|4jRVZ%q02TQ&HXkL-rTi3T`qUotetY(p#N6btHPR-t?6I+^(3N_nC6Z%z8NUlUul zCDN@nzdX9F50aa&#=};54d(o>>iA8cX)Dq`uKsR_X*`vzs1O|Ze385;4}l%`+4Uon znr_fNvy|!bdS(17Y8n-%g(ULEYcfrqdq=0p?tj*yL+H8eP&!bfj8pao(Q?1N7mpgb5Q)3TATk7aN=w({?Lk^!m_FGT8cy?~6r+vKKi9cBFw50~S+> z?aJuP#{zQFbqd$hRGvA1*~hhn3ogtilg8;{a&;-)B%OkEg7*pboOFldhuQeK@!CT3 z*%ox$J{`OchyjqbFB z?hEYslg>~PepIlf$jz8(%L2@lv726+MK#fN$AjKd`ri_~j zUFPime_odNJ*v{L!Te@ryyGcX`}6G<8RlV5ZLfL3hhI~e`sYY4L1SMEVeB=P|AlvJ z2QZp5or!-La9U7!tPymk|Nru1{zv}9;xX_+5WvJ6-&E!go3om}`KE^FjaUj2Gt7yi z(_}K@XEm=-m5t9ip~Al&vw;?dtK+om$)FH8l8nlV<=&6i@ibNanes&xl=%Z4RkVV8 z{}6m=F?@NogSZB169|lkR=`sZ|4;oQ;B#gAd7_ zjXuP9j53PZ$JW37lq5eosGnX^*1}ypFCeNqR1h(lG~BdDn`+tklHq-johBt5c%+F9 zJ_5Ywn^1d06*77eLJyVL_wV1co8g?PxlqXz$KmfoXpt%93U0zwGQk zfsL(>@aY;I+{!nE>aRehS7I{3GzKl7IGH(rnTgln$qQTI;+J~ZXtX3;NS{t)?biq@ z8aJZf>Fn`u!xiA|=_*_pricHG6N4!wVbp2U7C|JJzYS7lkN@n*YWk!kkz%g?Ye-@s z{n2xRm_8nS{a2-+fO?S>8pG9ZJ^VYFuHx#q4*wVRTeUffRC&Y!YQfcy^(~l63%L5R zTmMD*K+k=51#qcV6Ohl`M;?D8k%u{)=zpt=W+F4dK&Wd)2#`V1`ode ztF^8IvTmyhb?0c{u!Fs*{mgjk(^*fZ)q0{05$yb<-trE(8Xzv5$-TcTDKdZ!HMUe@ zYb`-Vpn?u1?Cn}eeLr(7)hawKJ{pZvialS`V2iruODN&?~NPk2G^ZU7HSq2^JB!x3iaPg}`G1wF_n#Oy+ zCK}0x$mI4MCSGz#1Jtj%MI9Pdu;eE#So2wjUNrtolx!aJhD);Xjju%c{X=fkrg(L1 zpA2wceJC{wZXuVQL{aQl_W5;ue-FGXKTY>msN(!po-k(G2QukmHwpXL#A{hUgQ>q< zx)}eb@j*J*PYs(X`ogsnjU>e99nqU}h37BMzJKZV^+NdXb@csy75rpm7#K9ykje4_ zvb%o^?|>tF{wG+!fQDu3=p9pKth6lx{KuUlr!r2HRW=KGH*BMs`XAxypUMKxaQs)? z{7s66tHTbGoU9|{+rjs|fI9a1RW{@<7(UFR%9TpE=a>h~JT5}*B43lD))3yt__<8^ zmVygVH7bi9OIO58g8`;s z`j2t)cL$9kQ!UPtN6mFSjbOI_p^>A^Z(p*8%9d#01Hp@6UdMFe5Veu?AGyPuy_=ms zpD$}Y^0U>+U;^w8#LgR zE?)F%J{*5?lWc5H5`^pU(atc$#OvOb;fqA}P(hF`zTz?qbZ>H8#JAT8#LFk3l+En= z1zouze93?j!oPk7I6>JT;@>IKoE9;(SbG&3p31Jj+pI6jKYLe7SovEACtREYFDm3{ z1XKwWUW6h=TXy}|wsRlB<$|X0_(6UAB?zFS!JIa&Eagqzm4&Kqu4AzexK}2E(7Pv2gX1Mp;ja{=s>+U^e#q*EYBy0K+%m>v>+K=6#)L+@ z97aBWb|90gk<9gX%4vo2lS)GO=SKLFs2yyrG^JX1j-soZcB41@+4VE0D+nyru@JVs zG{lQcwP8XZkG}EVjG8M7k*Y6y{KZ2x~l>^OQl?KL#G%07W@GVUCdjcHVUW`CUw;EA|EO23vnQ z#4!qXijEZCs58Q{b4$@g{v4XJbI+jbCj*~shB8MRVMdiPE}r@kZ3y(G61VFHT|a5s zUJT_fTEda%P4J5VdFYw#MklXmMiHMYP|0Za{>kp7Fm}vv;g21rxT;JWZrWJVMG;Ss ztnyLR@50`{=O4Sl;~WtF)i%PTx6eTm#}nz|?3h8>WfP9L9-7Cld- zb=9I|u=S7I#ub6(X-A<~mo|RC?-F|K9z}b3xm-2TYGfn9_P-Ju#=-CeEKD4ukK5J9 zp|4`g=?m*uwS%qSoUr#c=ckSl-u`2N3mwk$CY{cpIgO3H!PZ{}s6Rx*6+DFeImXzK zKfp6;PNZgb+?!DEtEe!ZU4JRQRt@X|U4-}Cxcs?hDmt$bOW!#kKp%HsMnk8t?O&e3 zQPA!-7G9Uq!c+dXqt=LN^zFhUh1~qa#Qmp*jg_cvGd%A*lmMP&7F*6l z2iICNy8cNwv5)@7t8hzT;)^~Mfa|lf^s<~1Ht{g#`amnwvH=kqSh0tfKYtMuzf8Xb z&IhMavlj|DHPID*8@(e}tR?6IKV9BZpT$i4_>z2h|7#J=F;c+8@<&3k`)lHFK9sh9 z9l{&flgz|VUzY`rmujiX-xWpTHI2nEbJAR;23iMh19{6)!4R7gjq&fDE@LSrPxO|=l z=mXn+y5^|S)sm+mdA1rBN=nhqcY`1+qDnBnbux^e!p2M0za}1&%fXG)|Gd&`-X@hO zXf$|BGK~D-ZysC!f5-nXez4%Ud=Kk^$m`Rb+jLUBMGhX99AMjpxtLq;st@!BU^=e;njbr;e9`o;kCK%BvZmdyE}F2(LR$ z_NBIQoDCXSx>f-HmeQq|4`K5t<+MTKO zH7Pi-;uUFrJ`+q!+3^P>5r67)h>L-VXk!ts7GKQ91CFS@A)jrh!nn{xrv7;iU&*|v zKFC$l#s@b4CQHlsuxxt=v0vp2741p?72fL8L65KB<6uYHr9tB_wr;-IdAJY$aQ!Q9 z{4KBjW5~roF5Mz0k9vcPDck=2yZ(>%9_G2EFMtk@#zC*Y;?>xZN47tL*G(GOq5Zkw zjA?o^lTV8lz|b5adD7+qGNtVKfB7X0&OCkx%N(__{QL)K6L>;}yC}6SbAdy-?EQ0X z%w8C^qY?VmwXwy9UbJv2A9RIp$T5Fg7}m=Eeu`fig0|vy82G^Tk9{l-Q(eY_1jpm2 ze##Y=l(E#_?x_xF8qF_2owjvxG+ zf0lf&z*~EBIlLa`LI#_E{ujTp@+30LSqK$xGkJr>N83w5;-OQ}%f3%RQHZj5z-c6oEi@XI1sb~%9KEB5&x#Bt5O3#o>Oy&8DF`d_qq z(`d+x?5+m9Z7nuVe53qm>6?*kmuTzxluA zXXKfIk0U$(V%@a^wuvCnxuS{}J1m5K8Kr2AKpvefGKGmecK+jE`O_Tdz`MC?ka*k$ zG+6onj(>Qv54dG1!NF?_(O}1a)@UQ>OkDz>B)R&HC7}?!yc3oG+(2ex3rHwo-#`Av zC-+*wYVOT@-V$jvSp2{GCvo`9|G^Jd|9`)~|HxnSKls6ZfA2OQ0R7fIAUjbLmpYDw zWRWh!D;Y-hcbUVQQugR0#C@KR`RG50hs%4B%-R z+x`UP9)itZKBMv7s`%TlIiT!&7ui%Bqst`*(4WZuetzU01J49Cxc*ZG`$SEKis6q? z!k7lswc8jvdf4Bu^Zk?X^vVNNZmWtrU-*LJJ}!2e_5ejrHh_oU+4#V?IvDr+92&Al z1shs+39$!$!xx5Lm zXN)%Ji!I;{@795iJ8b*6IpZpv%X`KvJE4O8e)+>#PZijHP_wqAQ3sxNvE#30BZXjL z?TF+)s^GH=!lCJjDBMs|<7utb1@Fo1{HObrc0h-J34Ua$;!1BmxR;s3FiCr!h@Lvf zU(Ci29B2WvDLT+Nl)FE_ae=jy9-+n&^0X^L8&-a2e}CFJ??CE&E1D9hg*SzI!UqrT z`!f`!rVG`0~TKgY?@VPN@Rn@>B`{Q8cx@xqL4kK|pm7qG1?f)DscnUs~my>Qc zj{od_G>FwdMlOm9sQbPWY!76AzpXY8K~uC^u!-y6_3BI%>`SMU%;quXuAkXz8LtC?u za=t1wE@9)v)SrR+t8}?yN%VP$G5xwkA7*E;;~xh){(xAV12pGo^KT67)EV&D#G7NHa>KfC|~qh z2D(|Ng-vFUgz@X%BeU!w^hAs@RJ>&GpYY2Ca9Lp|n7>oTCDYs>So<1MnxPDSvUU(V zo4x--*RF%CPq`p=PX!CYT%bW+3i1!ULiDUHG~5kj`rlG__Q4+MP4K5%85f;)1>^V| zNWD@CWV3CcFqSPpb@wi4@LUb^5>#+%xIG-+Apuj}`cQSeHFyZv>+fnb2c}7FhId`6 zSZl5-P)#r3P1uMuj@g0#O?Lgyzj&LoX=s(jJoxaXk_;CAum54k;WIgWH-{gr|M9Q? z^Dlm|{?EVnm&KzLK(AsH$G=&J277Z9S(k;Y<$htt@PeY zPuOUyf*W0@(AaJTc%a$k5iSw|#}p?szkj2}OKISr<*;r*1xpBL(1xP}sIuQn@T)cy z@-MOPpK&f5>6D)FaN&Xq=G_mc5d&Y)5?3c=q8|Z6(%JiO`@&4RZg~()KcI@=>`9?} ze{Vq%L(kMIbH1-!6x)Aty^v1F^{j^d0vIIr7be?bB*%ZZ=%^bF{OkZymyw`7i^Ges z?N^U&B;CDs8{FKfjOW)o((~gSz%O(pN*g*24s-9xSou@mus9lLumPOjE8|Q_JKE0m z>=3A1qUMI_AfC%!|C^IH(Ms`&;KKFKPqs**d8;O)xpV!Azit$yu3+CEhqqeO&Go0i zFIok6w#=g^={Y8gDVFhf;={;+fq??1Yhxl?|42_!3W-`}AHG-6&Oa#!Cj z=yaG01I=vv@vr=b(-Kg7 zTm?%XoKHnOHOcT@m$^Bd4cm3u^Zzeixr$F8CuoBHuxyThW^nj_^)D{fp8S>?sVmNLkJkVg&6*hgqR0x{r|P!_TRPX%ILA6^jVt>)_(tM ze-2_jy6@FEhF?C-BMYajit zmxq4pa{OoUu5?zn1I(_d6Hwqef?-cV|?v-CWN8&$5RT79G5@ee=LI zm~Fr14wTUO9M7f6R5fgKGLTv+OF=XGA$X}83nBgN{dcNvC#~{5jOJCT;-oSc8s^{( z-AW?7E}40-{|0;f7jm}H`vtd^IG*z>Z!~d{u0K7}v<(g2 zH-yeuw-9zbWZSQ(FO;qbl0hFVH1P28;q>mtbOg{z^rIF+$Q1VY<-B_7w$yh>GEEzc ziBG08jC0Y^c2P?2Erg>}+4_$(J566qA-v1x9RKd38B`|f1{&X6i0)U#!n@_{^Z)0Z zvs5Dby+@U^Dn7aL=YtgDKORDK;rtJLtSA@iw&5k;x{+(?h(LRjX?-hacN*3f|=hj<2S)bT*c zJepIGgH|0VChtctgh>wU_eY*^nFef}M_S}H@QZhebX-RVZ({T=a>FJCuB)^0MbS-E z;>lsbqGk=eJ(cUA-F}o;E%%xja~uNtQSA6()Aje%+V>8xVUHHJQky|18;YZ4tACMm zX35YU&5j=|$m*x@8zoR%y*AD^k~M@T z*Q_E%8ftis^iqme2^CVIi~&+I5X&9ixH&RjqDczyo$ ziY3J9iZ-quvK&%Mh9F%@b)u_wpO^p5jE!Go$e*Z6OmYs_w*S7aG^*t(bZw#Al-@7Sxw_dM@U-xhKGJMvN>`g>q0f~%a6&hVcnt8y)W~LLhfeXXBi$-e&%Kse$<{1WXR~Brd&QG=RiGozP?BPr9j2T8GuFIg#eWRFocP|~jgwY9FKT8jT{4)5_971r| zH4iJtQKnWFU!}d|j;hq_gFD<C%x6p!#kIFRUw|tYNH)ZwlgC!X-cJl}#y-I_(y2BdTcp5VC z0WoGA>ry7!cvKg^AGZQ>O|J;V-en04jO0<8kscFY=U~eJ-c}>1&C|gizANBDYP_K6 z^bJA5*AKkRWo*2rt}$QUcN|d+=H5RUq{6v2FLEzcm#g1-%X1R4`)}QxqQ@`Xx|ZUb zhIqr*CGg^LAX)v?1R0jjM8bD$`&GC`hkyUJ4c+zE5F2-;LH65;f`N!&bnbpQ3a!y+ zj(>ZR5x;Qd&e}3A{@*)dCG6|B6uf=AN1*nojyL8!8-GB@m_NQPiWhxd8~2%}LtE7x zLD2*=@^r>EUXc=e{-y{`_(U`pZPC`jRlO@g`QPHQxe9f);{6#M97h5azajR`QG&R{Fvt-xWlR`IS7%#=d zKeU(U4=k2})J>*%$C3n?V%E=7g-Vp9l#Af1BoiNV?554&5ad2(>f9K^J)rOxJs0X z4@lDENApb3Spy>s(=*_nO(Sp5j|aSb|Cy*qc?1(ryY>054i2P8!3aO9SOFSoH)_{k zZRAbmg`n8IicEa^ZDqcGEfDz-Q~bq07TzxVBlx<2qD%E_QD`B1{uDOK^O1xYjW9ID zSKdVfIO^ph=Dtg&{`c)|NEYf00cB@p2D23fkY@kUJjKO33DxkGtmSd}%leOZW}{#s3PYZkzvoMyC=vhD99 z=MtFWvxlg2{gY4GNI}4owItfZ7u>&IM3Wz}?cbcDQ*dS3eu4iiD{OH@8VY$40%xvo zgRJ9uBud%+k5*s&3UN~$i1IsgoPfOHrbQ-MZ>K_xr4bfb z)YcP5jZPyef3;xz<6^`5={pSA^)^$7v=O1(AaDBMY;2qmXi&x5D$ zKcIehOXm0s?n%*=_mt=qZ)>bn^NY+LB|;ur&){k=f1=$-*ysPT2Z}V=+?(Fkx5jOf zBJ^2J1u3xfg^MeGp(lsf@@2y|gVyL&8qjKqi&VrRPWCVnv7QLS?h{mVgFXHmN1I{b z@h2*xZ-y6&JHjKkkK~$*G`K4qMysNnndATdrVNUgex*v&&G8N?6?pvi6B(jz34`TN z7&Gz|Xwth>{)jo(|BK7}Z}`T&{WgaWwpGaO2>bpL{vrSl{k}=dJS_2@@LF`i`WJcs zU;+%5Kfx`0CCn17q$}Gj@uRqhDEj3Mval=w#23|}V~&I99~*oMOzsg?9znF;!{AD|pj_WJ9*SVdxS zA~n#k#_6z_7_Anicj5!V^UFtcaw=Q@hhtKabL%bo?6oB>m|=wqCH9i{_KW_%{@*4> zPR#ZHYqyRF?JH;*wZe2UkO#L~iRS zPZ!jbQ*SLxEMota^iID@;@3`qvS@Lb@5-M4t=W5NPjMDqR&9yr`&N=dwK`(d76x>- z1l;+^p1+9m_i4f~J6h6ZfoCqT;^J={4aq|{;Caja=Up&!{d9_2>Hf7TbeM((zOvJm z%I9q)p*`-#C|7eEKCq>ck#ztgAd^;L8K@}qX z+5XeJ6mj9iNPQYL#|)nej;6mx_>p%U4{pT}buN~r%bY*c%PPV%9T{Y3pD_+=O{L-w zvjy&HbCI`(E}XJaV&Z?k0_x;?gG}V?kAYbWS>SV4uwP>yEQl2WcRRNI|9gEEtv~RT zpcHQYB+JRD0cQe3;-OSR944liFy)V!c#{S^d_nY0Eb+rxS~N6!nBeNTi4fz(oy#t4 z|M8i>xG->mEs3@<$L-fbsQp2^(V|<2!DL4jh`h}9KgRm02$#kjbbjA8g z4`=atDEYJ&WFT3l{%1`@g|()4J@h7<RUR| zXJ-G@CM_-D6~9rCu+0FUNL@ysOdNw0CKd30#&h+b*}s{1OC4>YaB?v+H!;9tnpe`c z+w!%Uhm{3e_Zh;aMlq)T@|M!Vcg=kGyUqlA&WNP>=Sxw|(MmL8yehK9`Z|9gCrkCuzSYd{|leIp?^igq5gq6?%(T2i-RYi;frNK@sc#O z9Fk_r-~P6be())Q%Sxs=u`ZOJpVfj=LJlI=d|CK=M}&!Yh?NnZczOUL7VF_(qh`|Z zrSH%T9S5>0Qv(t^9x>;?uTxd%c6>TK3e>|J6O!q%tEnhqiXFLYpbz3n?Ebm1L|qus zC<|HYdYE6mjJo&@6YPujC1=N*z?sD#nDUn&loQULtOeh=_|5U3bLjLB6}7XDx0794 z%|J!>9uxoFPfWOVQZCd`ZT#)rc-m6M)skQMNnR|~1LY-`nE3gR#f1`g>)^1VA%6Qj zkQSbmhC9DYcvDZwgYJgcOuU+E8y%Z)8@!WEaaWxSz2(BioO(~A7C%Yop3}#~$7Xz@ zRY4=5`kN-!=<%SMy=o|8wK<)-%@QU=5++_oMp-CF_M(tay14#p8eOJfB>0^cLf#Kp zz)sZ5#J};>63*#~bi*}6e7G>4PR~9^l3z3lY?DkuB8+W+cl}lt z=3nX;Eamuf%NthE?RRo{%gr|l2Fsu8o2Mew|HealLR}mrwTyli_#p@Be1T+wHS|vY z&YZtdp>o2f;$GCy%LE_QT1-D&awh2u^H8n09xTaW-=9w}lNHMF)9JG--1$2;o<81m zj9k}nK~H|@LwG$q{<~I3Mz~dPJxy>o#=7_8>7CHS1luW9nLeRM+vXa6Shsg`~@IdVY(eA<=Z>;$&|=i@v? zIHh_uU3}dXe>Rv)*NUzt1;VqaSV|MtA7r2Z(bEpodw*icP zAq^)dvGX4jZe-Ih-2J1)*#bvS5vL;0I6gs1yFv5UEj2$w&G*&PawiL%81jn9I1LaL zDFolXNyCt4w*PLo;0z6)`;^*-bLW528}ey{0uAi9gSxM>@PXstV8xGP#&pqVai^)& z12bIaj_KpMugT0&J;>{?G89;`*Ux+SBx<->Kw}qL;=ID4G|oCxaPvwCn7kH&hiWcN z`CigDNt1OQ75?S!zc!d$d$dRp|9aV=`L|?}-08`W%0k-)GkmDpmd?CqNOwfmAeWW> zXoL3{ru^cw^XZgM5#joa=GZ#GgN7cGrrPhXBjsCSV5JC5yupSv+UD0!=UAKLy?+#` zgS8g@(kTsRe+-3)S~k9aY#wbG@q=0`nB%9XipcUrbNc;_-JtmksORkw= zlMmuFIRogB(iXI>MGiLhv-j_o6)$P}wX0Mq+zd-KdeN&@%2c*)Gn(*O1==_sAlCkI z?f*+}wHMQ#FjMR@Bb+XXc}b*~uRyClX+l^k`~I)}`6=Bjyg?5gF~zsL`E;X*5#6qA zHfa8DvA>>uwO zG=F((V;jA^`~mH?GR6CyM$*4)rRlR-4+hPjUhcn(cAp(0T(541PcC(!OMFeKcgy}k z^N-I~&!^8Nq=m_2O>v0yY#R2ug*?=mGHCwrJ?2~KZVd^c+hQ}k*UXGoQgNC-RR&(G zNkUVk7jym1ZMIS|S!LnU2c~$ZBcDdx{!HvsJ|MlAVc?(U!^B$&5@@rdjBwIYGrYt5 z2Kh8ymj>;!fk~@}K%^u4`;{_KrNIVP!eKK^@q*Ga5~v(VB~xB;{F6N>>A*y$d~xlq zbWWzaFvZgZfANl?4cA*qLcM|@w?-Vs^!hXL5e;^z@SB5ho2nV!9lwTmC2S528PS0T z%b#gC*#n-s*a`PMGr|2e$B}JRD6RQ*ebD@wzZYl1h)!)`!Ut3Q%dZQG*?7|Vo4z5( zYZuU)18n=VOGcY_H_lo3!on1HyVVFB`jV)^i2OnGXS!7!BKx0=6i$~l!R7aD$>*p9 zdW7p^_Gx50s#j;%PfEF$5Z-EYVJf%(9+O>UciU{bYT`*WSpH0rY!f602c0i22gAB9q0Pa=LFNVf{M@P$M$@Yr>DR56 z_+PxgxF~d-b!E!`_x$`9KiKng`>J{L)%_>b*VYn0Z{%wE@82ZLqjjP1mnh85c4x}} zSN}2hKM?J_s{)^WkuX^O(;h_8==}F|-U$nwdq$gHl-HuA24bMuFAA>Z?DJ=BpD3NB zHAHy&v;}USw~si!HKCa%j)UeOb(1%zzP>8LkQQ@%{;d?fe%F}Vt4qRzqdyRDJZ6qx zs-l88h8PL=tTx9YMe~Sa)+8!nAOrq8-=Vom?ENF7J5n%ds;sbTj|DEP7$-Ql(t+NT zb{{l<>DliOiDhpSy<}^J<>pI}19yZxTaN#Au>7TVg1^MHuZOEa=JF@gbIFTEs`UA3 zJZS#WG*>+&Q6nZ?kj3!_C+*{jWU116eZN8Tj}}M{0pl!Hq4x=MJjW{?Ipt$|zei)x z{G-~>T;a~~;li#B7WkFgMPzNEN0)~<44Qv5rz8O>`nS>SK2HA=L1@pMXMzuRQU}dH zTH!nu9GAYOr$sEW3-2{DY%M3v`=<_?|Fh4i0CrE16w1Fd!^2#~!E3PzJ<%)&|Ka~s z-@*R=azD4i*)=z)vyT~m^~N1SojZvjVmLG(J%Dl$+y4&A{R(sQkJCk~%lZwR+P|T6 zsGd^3FFOfYDV7)2IpiGbd`9VqY$ z`~JG{q7=XF%vjnZW{Nk@m=AZVElKP=AtINuQI#kgk8`B>&%TyYw;LvSeC~9JX}d|D znb)A`8Jmz|D|`N~l#21=IQ~g>jz4bIqyV@!tBXh<6`<3@wxH8|_WG3<4ZwBFxAfX% z6Z~oTB#@EsAhou4(8CSe(G*km{pqip8vjI2DfP)S#QE13fz`I{WXvr$G+6%B*2AiN zeqCD1R{wKdufVXp-K*n$bIe#pZXXNY2#IHHGh90yt6>7XP!4AGAw5G&` z_OIBA&UpMqV&nXncngCKbZ?}-FyovF9+fngo|*BC3`h?Vz+X|AIg5>d+Tuq`DxHPf zWsGt3QxzKDFt$t$enJF!SdIt zR0b>g?(TlksdzqEPXEGXHyoc8+Y4w}DKcv+JFD03Y&J~qW|lOy5Kyk)4! z?+z+9-;J~jhA`#(>O6<(wUO}lm<8r{yTakiDQLt6wf9oZM&>y=KRE zwBg)DBglIB3GuT}qH)K6GUK1?j}$=aI0636gZoe|$H8>*o*Oht z-#|BYhBD==e#u2^C&=*ig3R%YRXpB{=OJ+Z#DfzdK6T))2zC1l)1KFJ{<3~S){4`rD6KADx| zaH%fe{fG%(`Ot_m~J?D0qaj6gXzyWqhQ&i_)s<58k+1;qgf79VRxdBN=Uk6qA!Ch(8Ihci|<(_0S} zr8Oe!-WYKC@DSH&P;QMa7Krnj*L$LVSPr#2+fhItyMFih-d_Ue9ZS)!o7UJ~vRrVW zC`SNUE8ye%H>e|moqtgKnnwrXM)39JO|f6*XR_sU0IYaihK$erL2*Ob{GA?u*3--4 zz3@@e99PbMLRM^bhfQ%(kPzF4uDkqU?!Ti=BdI}+3jf1N6Z~7SgIu$p3kHXeppx(} zNc(OV6Tfe)3{7}Flpk(uj*pfVk;}aCQ0^!ROS3XS!2A>QqZMdjCyt_!h>m@XkaWm|6J&Kg4{ZB6plw);i;>akWbEk(6pu?ct7d` z(p=B}epGUYQ|n3hV5+PoPQP%FEc~Sp5}ht!5z&q8i`e7e6%a-bWjBHMB@4X&$Qhz_ zRUaa@Il%O)Z)j8q8y`1tiMAUY0XwdK=hzD^dQ~6-1|xJJ?Cnsn`p(WjHmAqYrwRr{ z{k#<};CSoD=9!T*o$>IHyF*>-V&5NbilvHQfAs8r`~Yd*RKiU zO4itY-(}KL9*!!!=R%ZSKZ@n*=vn!L@3H%-u4e+I-M7R)-$_s<(^E)RcMODgigEqJ zolLS+KM5fu29#&_EG;|IT(&rSm*Xz}?siTMr*g=H$r3 zgL#u+lH3>Mn8(J?aMz?WGN(hLyESg8pGn?(oJO*C^Wprauc$4CoxirXZy`p>k?_u$ ztKZEhf~?Yu=bzwf+7@q(?>0q~*Yn)T?9nMOqU|@TX=2;|T}K|1-D4ur)m7Gb%m`(&wpW(4 zap%|Y-Jj7KRrdb%%h0EeDuyJNvwsm{`J~u0N-*bGGWUL?AC)~|#}CrD*p2QdF(~2U zPu-0Z>6NYrJmD^NuwE?(ay{(*6Pc9_!@LXO+z&MzYvT+`)BwUgj}UXO6!b=r$+Z7U zD>gusO&K&&b$nu(3BX-tC?5WY;Ph2!(&}s`-e$yh_}I4zc0X0e`td<C2I_1PH^y?H;V-B!baf;VV&?=(1Sv73yyPD7gg8BF{m#T;nR*a16wRB`#Z zp%9-w9SWu@l8%}MvKi1%6kphdggJ{CCDuP|6xk0v)*iSrKzl@yz8+{J-+|=`Mzp^6$Ji`3J~g z<@;?*1fR#1V0cs=D=)4?(Lct)!M=VnpXAU!SOq;Z9>QOLP5e?q1rnz!z>*;p=Cus0lrw`45U1J_2hm9L0w&()MGusdkUpY`e-I4se{5x4xnsIC`1 zU0X#$l-3~Iq{~eFGTC-8pS1^qj%i`*%+cVkQiynuv}j&sGTQR&C=)NYQh_g$wH54A zb#ddV*>JsjHwyGSNoIbCM}3tynD~I&Hc<5Y30E!~<8m7_ko)KgZx^mYLmiGH#CyfW zn|D`2pRyW%uDcAkh?gGDT>NHhYZDWH?88R5E7ay6<>G(a9p9q5iZB>n zpGaEW&LQXXRZM(;;S!ipG@SqNi53pzdVgi7c|*{bUnK9uNp#XapNU^*RsdlFRep%C z34XBc7dp8=2r>)Spl1!WsJNOPKR9M(4#yG<_}31ZV5bQVsAA|Mcs_p*D%jJ69%!=h z7rG80gNcUxPBLG&liP{dcefzr@e=T+EKtu z*1}KeXt*u01)VI_r5XAmsPD!JCO*4p2tO>m0p%BJVX&M6_U)6<*V_{G_)k|f<4+9} zpYr+=%#ZekrSh8i=}#Wi?5{$*43wycqCcuHJ;20^D!c^U_e;<&Jx$z$$3xp%A=20C zBQ5^ssO3i)6Tjn*07MQ;fNV9#AL}*&^2DXVmg8?IH+Dpxvh4H6@q8<^&D@Db-BZVJ zo{okkKP+IKnG%`y%@AGT`U0`;A7|h6LZeeLDH+M}U%!lpM+HaFI%6ktv$K!4?^7ug z|3SGAd{=xSSM1cW?9D|WYIq#^zxiBiX8)A;rHVa&Ew0~SV&F;g)mj}N=g!e5zfU0l zpl`L`t3UE4F8x28od-}9%lh^aB}d5_L81X9h$w8o%culJ1jT>^6%iCv%mEcMVnh@Z zq5>i!q96to+3qo*7(mRJvm#<5iK6n&de44mZ`GxG_rF!=)VWpn;eETOyQjOSpI_7S z&plKJH-5Me+AOj^nkl28brnJ2HIZ~ zMb$qYY=!P>$n$@2_b06jYxf9y6AlH#+p)s<8Z@|OIaMD!q#V_`cjCh}LuTCb{b=kc zKj=P9k$7CGK<5V}QuW6}_Tte7zrdClGFBHpdb+4^b+})aWVAIR?;T61`aipp@Z4?M z{I3sPH6 zNB~`bkkNwKnVNi)N@FJU?Hc4C8UiB~KjQK($z0pv)6h za8#hrbi2DBJu~tG-ACGlK^3T|Ul3J4+)RMjE2298I=aqn zWYfkUas9Tjk!4kl%OEc!tV~k9c>W^&Axq5kLHtLS-O zcWVCP`W4kJDC%y93>{^cWO&89AMZg|E{u^Cn)tfgU^crN$Sp zKmOaN$YWtNtm|sWleGSJ>t&-0s&|0L@n5ZD!;yi^B7p5jc?H+1(B(KpjbB%mgvO=c zgYHy0AYIA{JfuG#*-w($hvrr8l{;0u8G5gpFq1h@|?E+9qDHb^~~2889DO zl09y&3xSMAdGcrXL&VfYQ{(g13~|`@4{$NnfI0lu4a>Y42RU9p@Qk(ZQ0}ftRK3r* zI)Uoo_n#5ex+j2D&OluD@d=7r)Q_J3z%7D58}GpC(Rxf@ zmkf^-^`)TB8sUS2muSoR0aU%mWNnf@u^j5l^_Z*94&+0gE37acf*pUTKoG};r1k$t zO*$mucsWev?yqwD5K7)3`ibfoLwwp%6#`SHQ}r+Vb|!xg-2<;P`b>+T5xG{303~k4 zhvSrBaF1zJ{nILCaxJ|AGH>cJF>+lXPE}I`?fdlhTa?$1 zXF9$H?F0jczxof(sq};p)jC|;RRP+LEu`je=6(_HXnYNiVhk9cwEcqnj-hab$dbq* zUEqTXegDeBr5QV48?YL9646xT%Q{!ive!!c3botY}m@tXM z{4q+3gkkF*;PtZ2XbH1}s(;?sjND(*2r0h|naMr=V9z72a3Q)AIksOOHuSw7t zk%5(J{NtJ?%!`aucmv0LpSANTKDu585=YbbAB;YmkZG6h!U&EZ+Q+&d$>^j2Mfr7j z1m}aB;z{2>HH_RrW)Iir2lC7r=H**lX*m&iA1$!UZ|?g=ANu;mQNfe6m74KisF^c! ze7E8B5wqa&z}~oTk5;rL`8c)w-IJG-lWhuomb*XF@#hEJI2gD)7{23s)$$NiAh76W4&5Kq+h0xa zJi?FO4M(~C*SKG;*lueC)ZZxDa~91||)r@Bc=e-a~X6f}sz0e(>z@c=CD5PM+PP zzl)4Z^9SJIIeXQXl3yxiyi}%z_w%eh1P!CFUko?z92E*fJ8$46#R>(4MKpY$v9f|nVF zOu%<R! z&%BKdA#ajyqxQ9j@g*B)s1Klz|1aG4kZOHp*b-#Gj2J$E44J6{ei8R@lb$2Y7)EdZ zjqc|OIq(X7OE6^A4i6xk^5&x9y{t$;eQ!9<()V9-_9(NbLs)ckuqiVtd@@1h^@6Tj z9&`Npo)B93h+6)+=YJ7iRVG@x$e6i5bpkQzZ^Ls*Y{ok*9DtX2g{prv_zD>jnS^Q& z8#21CgGgGt5pRgC75Va~4{Vxnf~vQ5EF}FeC!y>N1E%wjafI9W<_)~pnaud^3@d8s z;o)4^L&`n``hp8Jkct#p=}|CP1(h?$8hj*l~B1ZO$^z>sIi!?+k9JJ%mx zRhClq{6W{rfadiAuMY-HU~4exR3gjy_9AfM(*BUL@f1~`-}OHEr4))EB^odW@}r3S zPZfxLEf5r*^aP#ilT`iW&bNt8w3OvQPN5#N=J{yyLrWQos@Dsyb}<00)p6AL>xT!E0ptiU-21QF4SzD} zr#`G3S}b^=r3W~NK7SUUe<%GIMutq*gBKCU1(MFc#pjQT?xRT49yO5DP4$#?{#bu3 z6ZU3}gx%cz(bJ5^!B1Z~_&R%%V7qM~(j7~mzr6{~1KqVgkkF#XU=#sQgPW1v%r3}z zwl@+SqVNBG+kFta*93yHnm)63O(X<bG|;@x-M_aW z3^W(FqXD1F1rzGVp!5?-)aSQ&ZywAG9{~L?>N5vT$3oo!1-R~(D=2mLMZe3|QT1LE zj)1Hg0_PWc%&)?5u$23O`b_%F3vnBW>etZo-{@8dGK;)n_5lOt zfOgLx16Pmy!o9t6(Ii#+{=*G_Z@9006L^IN%yTnE7^?095i6Up`jag5>p6Y>J-T0C z2=KWKd${vE`DaT|`SBnywtS0G=WO)iUL>{t4<-dd!pIUhw??1op=A!{d}qjSD8UuG z_8`9p^!3#iYJ*zWfH zCU4DGRxxL)J<3gzs2*?=X2IDR})^5Gx3cu-r17b9Oz71eB8ju z_Y{vQQij^(Csh4Tyoap)q|I-dWyzS2>P*%R9|sRtRq%2-FGz*WEvo*J4WB$}x8PT< zuw7+M=ViQ@1vg8pP+~sa zzmvLTJ+chXLkDm4Vp>j`@+KW{MyFmbhWf0h=zFZLOkmvW z8Lwf|QusLHHCmd`je7p|Xt6VFJXgePU)_u8JGcmi9WD19K6obFRlS8~kD&9*SM41#q#==!hnU0AGM#0%|W#KeD^LtejSLRIRW>#Qa zKa+S5$;JIlT2P`{JhlDc0~xe<6Z zAF=v=-I!1MQ*qL-X(T2q9Ult&fp+H8^}4)=ydPJ1tmzJOMyC0pAfC&g49~%xi+&)c zXa+U@`(4W5b=QOK*J8%RyqCohheOGk{6Dx(u@&WwoKMxi&8$P6l=`#3&YLmE%j9si zeF%9O(U~msZ$s6)=27*_p8CO@P&am#sTuR?w<>P38b{Q%qR~w&ewuzIs6_^ za0w;n9hcz&b*(7=;Y4cuLbn^(e-NKtzTSe7KT(ax+{2wY{3~7ZfJz+7Ha)%e7>D59XJLiDw;CK3S>#% zqd}0SS&nDVNkLlzo>KL~_-NcY@Gmg^8^8DLX`sMd!cqGGxlGfc>P@$Xf~fu+cdEfD zuKwJlsK3N%|2{w0p*uZuzZan|y(E8r_pi?aQT?CDvIHNl{)45c|C&8JKvaJP1+pNl zzim>~U+;P8q|J8$ajeo~6s>t=!nAFIproEew)`lHTSfO@oIMdu9NgBC6WslkYicyf zlt*SrHE=lDrLYf8ebt-V|N7RACuxGyB)d$PIX;a?I{S>m?*-k-!cnoPZ@NEKzsF@i zF?x5JxMg$e?bmQ$epHI!-D<}ZZy{*EwPUG&c?z#3w{5@ z`HwL^Qf|QhK4`!Uu`k5RPBY2(dn0(`Z8doB+v)qSMFYm;@}GLFU4H|{WX5G&TsW36 zt)+PQ1|41y=Ow3&f5QIzAj*&(Z(_h`>13Wt)EQ0IPf#V~l7i>%Ci?dyp}r1G*w*O= zOhu#e=~oU*iNR8REYxpWdYl?RE!Kv7c-oD9x7UKnIJbslx6UI2US8s9y1n8lZ0A$o zpF^hX!TK83?CTTVm;xveRK%+{QRA!k(c*$uqhPBJZ zwM-28x+w*Zw{zh=en$5X7Ji?M?{8}-9~bB{`)n3st=I*`Py3kQ{T&|9>DB~l`xQPv z&mNuF_yk?1@nZzgE$i`LN z8IDC4(RdX#-hxItzdJFdRZtpl!&U{EFn>mMCm(t_lh)ik^!%A3&-n=5Kd;}MgvmNR zcCoq%<9ET5MDFAhtJ{50-r)7TO^fOL9%1`=uiS?XoM+5TN`G?d)#(TlI{(+-@iTH* zGqwCez2-GLc1e^8Q+@yN$@zb#kU)#OfAzTXU_U%<8M#KBZ$um6`lc!4FfAu38>HLYOX=?anybIe_YQzMzb|Zp- zfuz?{L*(PC!!t5^Pc8oqvu$MDo>uZK%7$sx?nIK49m(&>^3dck5uG?i-+u^m&LXuL z@+@la&OEHwBAS`LRBdPh>3-x?tLe*zk zSP`UghiDth4#orA%E^TWZN}Xw57z~bM=QMJ zh~mp%QO{omSskjy-&$~tiV({Y^*NY@$OBuXh9 zoxDB-$=>mzwx7L$@%VLMPqx6%h*47>MV4s3#|N4?rtO%~yqHh)^CO4qGjM7TGq#J1 z5i`$dDltwf#Lw4G!|obsybu@q`5R-`INUPYg3W6(Wcq}>!2@PiVcRYKWH_13b6rFC z4`v*@g|}_&%HGyDWOgLh;oc1siJsR(L9JmPZ`?jYt-tE2tMHj}J$7NCA#>PUp2P(3 zNfXC_v|F~Cr|eHZ|Klfr92a)eVN*E&_yToHGBAu!)@33*w?{6ox$F)#{*&U**n~6_ z_k+4j-tL$9HJAVF%eFYp=nC(_!O>Lxvvoa)+u0_v{h=P?S6YFszlV^~pEHYz>ImIFpjua{=wC~>~L)N9Q1M`onLXH?mhX{a}_CgX2v{E zSwaeGv~XSbOhNsoE9mtr`uCT%)TgBBdnp+|!Gy8i7e@{yoWr9RsAA34S!e=JmfC)A z>&OvPc~$n7xf#><)($)EF-JXkEkFdFt$RZvU-x(`)=Hm?6PQjd+*yUS98o zhpG9GevyyYq${(#i9R!1d90u_Y{1Pw=MkNhRNno~*;M_XmFv0w@{Bw?rO#}f=KX#DOwFU8Uwi*Z3%m9*U{@;|GAS!l zaYoc!GJNGJLA-q@-Z+PI)cEGbu|)Y#8}Z6EU_unSki@tC#Arzdb}i_Ie(RJ_^@Qg~ zYM=ZdI8UF6b$xq1u?aeDN#ZSUi#Z!rcYGeEK69vv1V; z^WT<*CtcKMdsG@Ra}P1ZveKH2&-LL|f8NU*wx*VYqr+F}<4|V)qup)%~+HAzC*PAo43h!}90AKdqs?#9@t z-)(%;A)1WO*5RdW%B0r+wX!}~@ryD$hx2c^3%rs1gN-OneHJnIx8m8)&!Fms{r{;E?!EtRLqe z_4V53Sw2%;aH(<`@ZEOs4&2yBt-qb>gR#+YH8zm1&!kz#;pow`$+LYi=)q?vo%Z5yuBfvn!m99l+4v&f4b>2DU%gXt>@Oy%hdj}es)Nue?NG!e+{`2)J_s^7&0;K za-^{L2$D2oDqd*oj7BBV&kuDrEF?PiH6&`6A;Td%$?a`AWbTVYxOQLyl98>V=D*M; zhir*#A`>o~GN(VQl3l|_k!rhOLDYkpsB$ZvKh}Rw8QD_&miW9fX1*`(OV)RGCWi9j_=o(>9b7$C=nKRon>`2bH-XuEdARcgTD>`!BnyPQQdz@@k zlVLsInlr8Y3`n$nKQeu3DW1}E5&Ct7K7JoNR7Fay8pu~8?*7b8LF6iT9wL0HOj+cM z&8Xm#CpEr%;YU*Ywt##wuwdr+FC>RYEyTGSj+R}sIfl+o??=@O`=44`cXn!&Ia7Vs z-np!L9=ZE-GZyauo;RoGe>-~w`J`*gZeH4rLA6CV*(#p&t355S+op!vJl&}A^@rw= zTdOtMrS29?zLp;OGio@w^fS9mXQwx^JlvnEACjL!Cd+BEXNPuU+J?)L54A2tf8HPb z*{lASW_wN>WK+Ua_vW{)R1=yL>b;mrRwujtR;<<)~rFcA=5S@-$`*`307B*{~Q0V zEq(mFur^aLsL6`GT4c!hTGwIIwY%~3;L#-h^)=5OmUO+a{7s)+*$h1+##qhsTtFd%d1$*>jY^_hL4QTS!+aB}UF5^42oU)!2vmWw>^XdG(DM@{aB9EJYOg3jiTk^2{ zFowt$X%PQs+UVOpTk7*W|8*S+o1o0*MVd3Gt{uYubA1UrN`YM3;ERe5ccju zz0s9D^zp|rJA%wlQD;4dnlmTjw&7BRvE+HxdtBq@$lW1F&)>qj7YWqTV8dI@nAYMn zT)ricj9nr_lC9Lx`c(S*&F`xZd8?|(HuW@Pj{Ka6pJYc9>yZQnPcTOFgLSF(=eysV z$SNzdL%W+X4Yd(?>Wxq$IQR*L9WdaoPp9*9quMRVZdRE!cQj)X22=@7XN@6KHz`2t z0vYttl)is`dxbW6@>GGn<7L1km9}Av$dTl5+9o{VNFDED(^2a9B^>{p!|swFJM9>S z@H{8)Gs+~)ZVU+DzZPScQp+Et@ss??EXL(--I;~i%gFmFFUsCt_24DdeMFh=zEpim zk7lyiJ%k(`V#!o5NhFQF&jhz$hL=7Xcb9vAGE{wOWgV&7YDX3u*)Vs);>c3BZ-OUw zEOPDp3?-kPK-EuEJwxhhQ%J%kTgK@^55hZ>j=zs`fc%y!HojdBmbdoD@vVJifPd$sk(fdhi5`J0X|Aa7o0!P9(e zCM{fptg`3Bg_S3e;|F!{PWPwkh4IPbG&BXc`}^h=IQct`M`LRi{moyJ_IGl77?F9B zj^P2 zYp|n^UpD=AlPlWY$l+Uh%+gp{qS@~h(!K6WWVLQ1r_XeL&##KTL}ir`{$^mvEUnvz z?Pq#Gx4y>2z3nS%u--_GFRZ_Ol}O?Xx=i@dWhd-+enpi(CX%_UdZO4k`u9uJ-h z(FsI9N3#rH3C1gT*CXQ7iK@5lc88q&^c?~fEezx*6jh@W>~$Y1jg+rLr))vNZ@@(bIKXUSXeS!uyE>G55zI4^^Q zhAe@w|68Zh^B3wx=btB8DY{mlm;xqK?qQ*R9p~kteShqk+)Rq@mX*c%n=>Qt%_p|7 z8WoP3FSy&U1udN5O4WB={eXlhe#Q6O#d!aB_+cF}e5y-A@rv+iyqlFV5G3!)?`6ea`X2EW6YT=y~DBbH%sEbkz)cR`=DM?^!fLBb^__qSB2f+Y0i|7-GNu`>Pv!^tjO{= zeNcTLy8cd|9mL)FH@VHNpB}tCi?eUXkouAdsA$cMa!r^+G&ST{RekRH?m$eqowI0H z4Iqu>^!dB*%ig5PQado8x1;OPHq3zPx}#~tioUu?<~~*5(fD!prXuXyIfSb3 zX#d9h`2|$nu!O4bX#Ae%pbr-#)2R9_#~Mhpg&A4n*^TKRmPlkT6bi7YvZniBd^fPC2wjIY4icC@c!)b8mhz8WV(D!e4x)`#z2bv-|h5yz+o~H&| z9$8W2e^1w9^KX6@WQYB?J~FHe^tGbDf5r9e+_7Za$r`*XCl^bq7tjB^m|oKSPcQvN zV#ED#<3bZgsNece{Nj_c(7T9!es^%YK3l4?4wW>TG6~$?liM!^GOuP5zA{=1%8t|h z-{SFKA09|@Pgs)KQ=bbYjW1sQ9S=s3s#Dn8wE%WZv@Tvf8~PNs;moRPwQ$I{t{yzuxU8IA-E7L4URB zGW)C} zaac1|;_*|w{>Al@*1!1k7wH|j_>w+<@$$z{@5l3wDdhF7Oq96%;_Y|FKYCYAFKPP~ zfBvHQLcOH#Px1ag;-?>(JKC7IT`m_$+W%Mflw;lI92TfFarci5=GHDxj7jK;Y4}fS z7l`+xpT7{-JEe!2|iFKPbb^(TzK?4S6O)}Q$JYu`Bz55FA^&kN2;JpPK$A9`^5 zfPeIo&L70z|HAk}{WC7Ur0;+6{_~V$AC^uEg5@P^k)-`cy!=A_*?;tszJJ8~pSWJq z{wMzYg7yax`PF)aSslug^!bU8f8u&c$3OA*E7E&$@g;4);_(}o2N5vRB8%i{dP)1Qc>fWPFKPb~ zAAgFkaOcj>O@oV7>m**k2={;g*ZEiFizaZrH~sr-sSz-J+Yv|t}J32or)H62osQLS73?-{ipCbLH88MEv zj&No3eSxK_```Q}(RXxyHue$6HIg9zj?TXd^^(?qozDppC9lVH8s~Fz(w9)YUOoXb z+<6k!zwr6}uk*9Q_>#0Aq5hN65)#1i&m-GCPe$EXM#7RT1)lBB66rg7enP#`TDpI< zk6svg^{|*+yrjpNx($Ov%7gK{_nLppFUj-kD88`#lIX?1Uuw(Q5l4temAR6CzZC!e z7_w;)8JK+xjd-X`nq*EOHPds{{VVbBhqgJf*d@6H^*9VSx!lI|OfZgcz; zEh+dZkGcC^MEsQLf;Fg$B}`isqv@B;u#!*epa{Ieto%6#SHCW)~9iOD0!f zWXADJyrtlmRF2<=MEsB4J?fAx$Nv~E1^;8;>ElSm|43X`hq`k7kNr~cKYG1bh(!F3 z^#`KiB**UYX&O)2;jA<4!d;$IxQ+zYBX{>6AH_!q^O&La_jBHSnsE$8?X%cbB? z7^ZXi|HHqqUZn(kIsV05DfkyBwv`|eKVnI}0{C(Kh{$Zo`4PuX1cDep0v>Vv2yZF) z5vHSaLBx+3-Pr&PIDUk_6#R%k&hwCnAEBx|3Knzxh#V>S5li)EArb$sLEH_|2NN2F~!2V(pP*d`@E;@WErB7TI5tv%dz_aLE4lJg^SJ69qRKVsLW*Qk-> zM=(Mj70p1T!T(9 zk>f|qTqrp|LblihMEr+}J8w`V$A36oDmnild$t~k_!F11@1Y=$KkD{cm;~*_zm7t@EgXQ z9s(kM#Cq2!Xa&cQI3NW-Vr|(15b+xZ9J+x1prb*6kcvolxB7VgFR|#l7$B$4R zC^MzKHi2smWnvdi-{=;i2 z_z(P$t{~z+6eoN^(()gUr*sAp|G~>D1WC((=teX^#BYeQC_@K0enXZN{08-(<3PlZ zFi?1pMsWOyRZ{RHzFZuFMEnPK4~x#@e=~%>pZV={Dc-M_z8=?4M8G)1JgYYg>n3bn^N!_dW9u{h<`Ar zT@DU&{DWyy@DJc#A&B?~v-k0U*H4%9)HotB|KQTA91!sjPJUK}bdG;8!d`Oz!J07w z5b+Os`nW*Q4p%ay>AA%GgYL~YLBu~8GkFdy2}%$QOxYtb{~-MERS@wH=6OfKdF3>G zaA>i_{Db*w??A*q$Q!vBLgkVL(^t4j%s-g)@;r$62h)c+!b*;RFhmOeLF)Z$AmSGs z&#;4Jj$aTd1;0Sk_yvgg2~V}6z=7i@5GnWx{M2F)@egkAGl2OV|KO+;{DYs9Zi0w^ z(05Z16ma~5>5C-iAFPh62NC~ZhW|onN zFUaKX?2{WkoM``&oL`U>y#+-4g5Ses;U>o~2$zCiFnLcNi1-E3)Aisb$1nIM1;1d* z{*55w7fkwg6=iVzf=fRo=NI6i*LWiSK+K&IWX16Z8l>P4tnx45iSYxFnUws1m)F1X zME?H;#$S=p|9?sf|9^{#5fb_Tzno}9LjS+A6#oCXZgn8?|KE&_hd9pvze5WDfA9lC z5c&W2ghrtn&i{X33jcr5i%uZ&|EnzffX;CK{{|`i|F&DYf|&mwr1k%wI@ujW{{JCH zZ+U5)|36y_|9|V_5)k?StuKbcH_rcWDuw_5L8?56{QncxucM`$|NpWS{(qTvHxT*% z!&>r?(Er~_3je>_(e)tm|5si+goOV8QYrlZo33Vp$p3#R^B9`Q`Tr+L;s3v4Gy%l? z`{)(t-}jZmzrQgn0z~|PORG!JL+%WBffW3JvwM4k$p8PiI1OFp{Qn_R`2SyW-|R&G zfA6-5=r-s7w~@mCZ?dpEi2VDCo>jbj&c8of3jh8KeP0mq1IB)cK;axe;IpwxvzYnf4FUr1ENbcW%{H_^9{{5Rv5@EdGGr_V1$^H9! z>pz0Xzh4;^2eSRX2|i2V-_NT!10w&v?S&rT!TI-PMoaGBm%TF)ME-s45t(Qw=iiT( z!oS~&ugXdpU-aG4I=;fnpjzokBkDikIuU|~h2a*4~{B$-Voc~+fS#tmPwg>A#t?zuj+70aE1r z+lO@}_iw)laRiZnTW-~L<{M#Lkf0FvQI~qSE^>25y{+86g-O>0f zsek)ZY$J&L+wNhBaQ-~!-`*m*f7`g1I$z}9UY2$oUFZDUSPK8P^$#t+$bT)am(+iF zD%FrL@_&o;go`h!|3Ex```ocG;zSK@mcqZSHQ+ah{MX`oN&PqC`OD1vH@>9#PYO5S zi~QRMeL3D0=igSB!oMvZ|NMgyFoyGAM@Zqn7BBy|!vkR_=l?d5!v8Hk|12!njn=N5 zg{Mm4-xi-gHSQ*8%!FZrep2|akLG>@k^lSAV-5Jes=4gD6#nm?Pc``>|MqHKC*;Wa zw?9ka-}ddV$rt&ry+R|(g#PQEQuwdM=YPiz1PNYq{_iv?{NLhw@%gKy{_T$D&yxD@ z#OrVE3uSVK^MCJ^!v8J4e)8Bf9PV-cX{9fc`?tl{PXomClKQvA+rPM8(*7?#envk2 z?6H{hZ#zrj-!{D2g)j17UtL&>LOK6+`dG>R*W%-!M)*0NTg4K=87chV;`)m6KCpxH zZ`ZGu+`ldU{Dk`L|L7(4uZh>cxL(rw7q7og)B6cxrSxx$KR+2xKb6x<-Xr0ZYt`U@g0yd=&)y;chUws`r4`ZfRPCH3!$=Pw># z()`88PX)O+;EtF4{^Pu{%`U2zrIA4yqOdPXQl9Oi}ydF{_Q_{ zN&TbZ^(WN7=JaQ{_>%g+#h?G&{Q+=yl^(gYMsokQc>9~f>F;p*i=19k|F!t|CmvtY z@lRZzvOEYXIsf%1Dg4{w?@yt=iqn6V!hbD3{}PWcssCAg{gKl z^wT+gA5Jf6{}CTQ#N+>8#t*h)9g64t+ci@7w>vujCaM3rqw{Z)`lp|-^#_sv*}c}0 zlym-PLn-{v9i5+()PLR4`8P@Z(;c0Elhi+*w>ca{{$UNbVWgPz4}X`!KipCICG{_N zq?goxEdKpUOU@2%bN=J=QuvR>zdr?U8U)ig|FORm{$ug)PYyY;Xb|T=ww1zvEIxn8 z;=Vfy{lhI%_=k^yeUwIXe4NAW1`?#qcY z>GyvM{nthDO+@LS9`o?NYTrGE5v1R~KiDq58Qsk6N{uhn$E=lQ&zI;k1C}#=EvIwm z7rH*j0WJ+_K_7;yPxfAd)repJD*KeRTcWyv52cA{>2kgsKmW&?m2cmyrvvx%)eNB#?Q=S%MAE z{O}$PJt+33-#-!Kr%a~I+e4N`=rh;b5{bvOErLHABLoLD_2EIBGBtjc+$ALHzdg5) zh5)YrdTB`Bf32@;fN1=9eQg#z|2+^Nl4AVWe~`Op=b!$6^nfGOR#=h1?UMI@``)QY z)PH2^4I!B8KNTU8_a7IX6-d;7oAW=R>s{*3G{coU81G>)jzmHP%zcFS{ zkf{CFd>I3m{J&xoDcb+kYz+{#|C5SKU;)?uzh9KR{Xf%{2T}VUH*_A{;M)I~oszeI z=OHQ}YX7%}&V?GT{hyGc{a4&K0I~KD@m%}gB}Myxc3uTU?f-mRBHWDMA}HJ}dHWwr zeE8`oi#WTz^J?p-4ztZvdBcwd6Mj!wxWSz#Ev?gsjXi`Mbn)ME&e!*!-;{+z_)+Tn z$gqg_UWaBbgS*iSc@vjC@RaSv=^wVD0i$$bQ}7n!(TmDlYQ^=)~lg96nZy& z#pd6KqsKiTp#ql{^!u_Q$j`pfp-knZxlLw#Ku zkN;}nZo>Ac_wrYo2b(7j;YqTxuW~GbRc)J z8vJ>q16|yN_ppoq{(XL%kM0DmnWN#+{kL8=fpNT9H;Yv-$9u0kE-6T-(_HSoQ7=fk+!G?84XG+wKG9va+`n~2?^~vm9K&NcYDNi)ogIK; ztmMGCq`5Pc)LnBdyKobV95r6*wmR(pQ zji!o4Qw;{Pnk_9}ORW|-r8G|>p}%VJwqZFa*lHNMaYGfRM8E4W{`bcUMbp&=veAt# zUcU!e_sJeGkCZiTl~`|o+?gL1`-m*)ugEk;_l90W)JUq*55!NqiDp#{f$4oMA%Y~K zo@4HCEFR(SZ~pwh|H=I;X;Xjx%CG}O@0t>$RBQlQD*edY6Q!u-&pqVQeN-YLDfZf`25KZosp~kpZY4JT5#s|X6t$> zFh+y8=dEE$4vhuST3UoUYY&9CbG+ffTOX7W+~E12GXMYQ_qPtd2Bm`K9tF0mK39G# zFTun%EAoE)K!`NVK#ej1pgb}JYEBr5J-`32|NG}&tXKm}_PVe;%jKElJ<|l)+I`@!sjS|%UtWG$t@zfBaMI%RSzvp{7b0;p z(l^q9Th||SsFy!G24?%lvKP*GVoonIA;)G7A$_lQ=KUER0O5sl(Dkt;JohW@P=BDy zC|L0-iVe-{#N34@9Mfe2iH|QbmdnUPvbH6Bt2x)9e(ZoakXMLgHFy8=s+gKc zRXp)-s?A<7aeT5V&J32{e$0I_5MA z@4X29zooTCa5>zGwcjky%>CR27gcljxBlYVOno6r+PMRz-(|q; zRt(yHW!V3G{#7A!j$fEGjMc8~%-r9RbNu*+apcSCE-*D92lY$YfIgjc1lt|Ld!R+X z|Bhb}yc))Ab7Vc6-g&K5nTqlUE+U zOE31P#wRb`f|00);v!PI_`YDywlm20ayP18_}9p({;anu_x_le<8<=)Qle*}ghROT z=X<7wMEYs+ZtUj|@4SS6EBO90lAxj`u;BD(_tWz~`usFR>PE1tGB3PlcIiWGI&VQG z<9m|knbweZC=(r3Rf4>CpE@kR%b{|VU&j^k!K7<^4 znn2EBAqQRj_iz10I%x9u+4{2k=DqToIl3n_XeZ;${Z3?alqm!}Pe+IDcZK2+!h1Ny ze`5NYE6_bNl8p&@?xn@E=B)_*j4uU8l7MN}@H1^6nz>jBER;IVzjTT#gm8D(9d6ZQ zih4%E&8liVNPQYsn|A{JsQzE~fAaa_nXEXe0e955dM37LGXwp?Aj?sPR8L|BOY(|P zEjNbC$nc?)%yO~(g}MLxHxgfa0CHA>W_w-6<=}L9{j?PAS(_?|)-Oey?%zQv7y81h z1mQj0qMuOvZ}~$jqoF9L3BAuYV0K21gg5Whfau>B%=8u@rOvN8-M|0e|NMo2V+;TH zphau=UqU*A*K1W~`Su`C(DD>KN!Ehm8No1O?mKka(+bkM9!H}x14R9gi!a0d^Pj)_ zKz}ZOPZw24t5Ij(=cqwugMnb9!YKIhawL@LHK3A8c{tFs2)&vmyh}s)Th8bH#r^Xi z{qhNM{A*PN?=MheGKMsxw`JNSGteGV1wP>W|46$NxEi|uao}kol@_vTOCr)~*tE>}sC6^xI_}YIW{RQGz>Ij!ziQw;4Kh)yik%=d z`zc!Ru0CWOjzOlGW#|9PvPjx*^C`#}Y@~d0$sQJ}YQWuHUr=<{p)k<<1*&$~25Qwi zg}TJ~lv#c+hX8s<*EopoWvsN#--DLqS;5=>Ex>Z`Fql*CBO0lv2XRXepf^c1%FO?! zrS|aq-2v9x!$jF2XBVpD}K8hY~}} z2O0L;jdYh^l#MSq!Nj^Pvc>VQjFl<=U)_6ocgI=Z%-~0#-H3j2MmGO;3Bj?)TD@Vv zx2UE(9e&kgY^zB8w(EA)5R(4Ju$yI!e|-5%^1mU&guZ;y4Fdd3lqpT?pm@jYs_Zji zU^Ik9t4B_S7dwo=!!i+>E}2*A{-dxTYQ3*`9BhWr5Z%XAnVH%J=_N+7uR2YHdVBVv zh!tTZE%o{?{WF-z6OGWTy4-ZuYF9Ei~i`KTP`hCftw;g zzhx%sYdRHkurY$`mumdU^D?4aaMW3i@xL@B4^{f2FkE3nw#m=uwLel&3n(peh`n0UQ0Isf36o zpoa%S|E<*^B>Mt7`QD*a{Eou!c>Tta9u@QruDTc~2U7E?@gKsWL838g-J=ei8afan zdVfai8=OUH6>P-i=i9X~e%~{DdeO8@V4d}p+v-}P+NXzsF_XsXO|gWPl{>@pF4{11 z`%Oe!o-UPsQM}an+0`cxMHo$n|8@MlAO0SVn;isl$70r8>8Q;cf2irYEc7;C6pdYJNvBF-=9&^W2~kT8p0T=wD{}vj@$k2iH0VIaPI)2Y;lq0WBRN z@R1e1OB{U!V)-Ed%2yZDnN_CwNP)SH3ygFmv!wh|?hdjh-dY)>DqM7VEW@ z3a@H#qH!(ka@z#1tm+Jl*2(! zD0_Uutbp~sR1;Ub+X`%3FQj${M}Wb-`o(>ZKWq55%lO-V`(hm#m)k1rJ?9ByesBnD zw{SWRUQ&&!d6$7bPvql&AFa;3y|N2OkABHmUom41J49ez_fPTt+ABfPGLz~aH-n_V z%ac#J=ul7p$Y?X>oktHm%Ktgjse(BU+wzC?Y+;X&y=n!~1D?so&v;mqnYUXT*w-(Z zNl_-~gTZtdjTP*>%i|!@Rz7|6`A$sk_a4ZNe!@&LNu<^!g~K<`KdN?z#zCJX4a&dI zp0RIvS#^2xV`j&ZkF0)2b2x14jE^;)tWo{XuZ0Y3(l^lk~Y3!7TQ|l4#Tz4`2FqiA}cp&THOf^4+?@SH*Sc|U%vill0QYq zA`dg>OVA-U&p4BbH>ruU-rlEnWOcz?#<^*f{>)1s=#=XU-0Si?=GheeCaT1vBe*hPBn6%l6;+ zXlv&F@|*0Oyc}kkp9k0v8$o$nHHU-)ytbpMQHR zxQdLX7tBT(|i5RzhOD!e|x2C5k|NPif(tkXMT%(sLcCuYe z3YffAHF5WQhPc_`ns{?aYuGw&40=KCUxJNF-@lZ^>)?HKQv0jyzL;OkI?fcIjyA{p zzf{LD%UZ+GrSkb7LCvDaPdda7xuT&abB2HhElO{GU;S zK-W)ORR4V46_$Y%Lrd%4>(BJC`!u|Dc+a%EafG!Q-5e})>fnRTCToz5h91-Iej{Z;h8! z&tzsVaD)--)2R`$2o|311-skJ$IpnhWL#{fpo@>PnTJ#AflZJ#44jgOK1L1$%UAN_ zch(p^CaR?e1P#h(?me`G4sKR3e!UiWJRGV~`I$cV=rtcV!wHY?%8ez6^2$ zkG@~y}?TN24cpNxw z?2p!)wujxS;iB~Uw&UBN=(u?NJ{`Yr7<38##MCfIVn23vg}f0K__N()s8w+Qa>?up z9jCUHjDHdLhEBapo>wToGZ%laDX zk>x*_n(npWK-S6lF&Dkz%86cJK79b%tFmQu^h{jL#^1C|UrXNh}jhr9nG0yMov2om5>bIe?aQq#6 zyDtjb>;X-$Zjel0DxM#IqUiy$@gr_EX1JT{@X9ZDnFD6UrF)z`d!}dH}i1~ znTM@6VMW1H=6#AkRkOb@Y&lpJFaNKDM)9>8xii!5+{4GMA2Qv@Gq;8rjqnBUyKF1+ z`_FskC&m5Qp5XI!fn@%#t#)8G4F96anev!PtgQnpj2OIPehM0r9;{LNReLmL-Wh+P zYyuxJ3($8o!sQ8S#4&j5ig9qa$0x<9hHb&ocf4f!srT%e+>n~MUggJ3WMe-VY+E7z zUP}{j@{iCceWTlrnYULJ_^Rh!rcP6HaKJ3pZcsNo%_*X={V0RpV05p(Wcn9vn=moE zC$nz-?=erhH-h~A3z6{vSG2FPE3q{@F7yZwKazs`C$jmocmtOe6?|1q4do6ej_Zx2&9zhMv7ddvn5 z^@0j53KVNo+QOleV?}FyyNi1owT$GD@s&D*)0a!g?36LAczc7I$)uyUjad|G+es*cTKcEX z>CxW+pUglv?FC}>CTGUI)#Z-nIj8=(G= zyUf5f)7kqKI^j|AW_U!`r%1QOakOhyYuMi17wt=2P-g!5Q6%o^W@wXow=iF3U3=rx z5eC?K<3luN*F|K1+XLQzAB=v^+%6e!Jog3oAH2m(3Omrmuv33*Ut1UN{&Nj&J;kA} zH^#wae_yKSnc2cKB(?H~q`iP8jg!d_&Ra}!FU$@&?t#ObTVjK)sc7k9;I}U}|ou!8P=)tn;x6p2fjb-M4 z$+jP`OuGhmfAACL`D9yIWZxEFexF3`X`Y1IH^s8?t}|bO&r&Py`}S<+mTgmZW0$sg znZ7mNaPm4rJ@k=ZlqK}}bwy~q;!#`unfl5pJz!1EXUrM%|J?F_j{(D@8}ZFQNleP?p14a|AM`w-0)D0Q1DzT@4|y#b57A?Tsn=sq3(pYM`d^>Kj`Ws` z8}M#}R3@wKAng0u5QWdpWoI4xg%xW{xjezD1LVZbP|y9iYa8Wyop3@-pLVg)+2Oh7obkZ!y0--LNHh zm7T*`;CYKOQHAxZ(3STC!MN`aYWZBJGW-7*WJb@(wBl}t++wtP++ zq((-e%(Q7R{d1~KXYhZ5{kC(vq8CZ#AI4J9c{f_|v=dc<=?1@kh~J-S71tjhS#-<`Zo}1?ey#Ao z7i2|ZE$=sq`Chxx!jt_J>AoT0n%P?D`+R^}y!EBu5ZL1bt99!Yv+>zoRR8rpG-+BN zoU~pC*6h_sb6#1&SC@-I-z`qD@v zWc_k4YN<6C+W-C|gg-{_|u$$Ec%7_u)2# z2KzvzNb&DK^?0fIqhlT7(MIwvTWA9|F(4&a;NN)b= zRvXLMkR})L@C63S{Dyk5$97RT{!2q(dhSMEP4<#Lqh8+9pY7Uzk9n|3mpe63UpdI| zOU&iU_PGA>Hc+L(HP$C2YSk7A=W?T|9mZ`Po79?I(5p)g5C9Pi&%PufI~~uiZUuFeG!J zY1N=I27SoX(2NEa;j7D&biNX$P? z&W$G1Id zs}A^_tN?@8{uJfEr0)5aSZX*I{%ae=ZRzucd8K`reUdyD`<%02)0nlWB3p;7fzgJj zH{T`WrRKl){=SO1F7_Zd|9wE+Xs}*1kn?hW#n_>#n9B5KO;0pngF0_Uxry4~x}iGk zxRoYKU%mf)IC2;kj2z4M z;2Ov|cF1M+PiVph-3r5(Ck$0JjoN_T^)Q2^+qGcmfF#NEpIR=3_c8w5#Ywr$gY^-3 z(>vGr8hZ@c+rQVM3chA=c1dkm@=|*J)Q(!QkYzc9J7%2Ce7akay452RA8?#Qxi;E? zsDwYrl9&wF>{BJve^U1c{9-$B^S=6a-WZ{6`-amsjlQqy&lvTkz?2%-A zRu3(Dm1#$=W1Sr4%NIK^ztIZ6**FEw9d{OOxuXLib*e$F%lten@ln!;nr7FhhkBTB zQ|`WIE;s55isU?YwfQNecjykX*j5p&L#o2Xn$qb<(e>!2Ta7upqi-0?k9}cryU*-s z?f&Tgl2r6QqcU94uL{BMrQ@xM|90EMlT!@*!rVO98h@njvHk50u*1k}sDfEnG(txU zT)+L1%zqc(D=-T;;_7V4WxoDA#}-Tq#IrvxVf)p(irUt7MHd5XVOr~RlJUVQDbTiS zeeUN4t z>XJH;8b30v>qC9>SR^-oNS(jfz?Pg#7m?igi#Mf0`@YRM$Hlo!%a~A{H)9`_w~S)- zgDl8A&;&G;tbb@(&iaQd0}<`@b`5Uc>jTs9`V1Ie>k_4N>#64xvVL=?wh1&b)q&`z z-$ebVr0jf6*sN|w2Xk|9cw#=Y-zNgDkFSbO{n-=0n5-XNeVnWZJ5n3iXzB5X-O-SC zY5NI>uFGdm>juNR?=k!wIK|-ok5ON%novvE0+PR67p1RW{~adOqC3~O;+8#m!+0EU zgYK=XFmW;+`fKUOg+!O(1ojj>ql9#{R1X|tMO}O zz123N(Ty%C8V_B;YcwW-R-e(=yBk^GndGj^G)h%FFnsobL2;jh^ zdvmCj@s>%9O+ul1HZa)S8Ll^547ztrVaC>)pqnVYemNxN4cxx34QCVHGF5BbKt?Ma zz-FpF+-NorjK`S50kR(B(3}*>{8OeMp~^f9aNY5mX%V0W>kNCq&Vln#aKJp+;8_{= z?5G7NSn2Dxd!IyDk=hMRkG*DmKUIK;gziwY+AK71(qb?jQ5k|4)rNX+q|cxCF`uB} zS$hcT@QSHustcd)^#j+BfvRc!=0Ux46~MnD+0!Xsdi~R{u8GjI@jw_c`V~{)t_>$g z4S*KeUgy4EUJSXlw4qNvxreKLNwWMm!t>$LW=j~;GMhO~o^w{%)e`(0ncyid^Wf;3 zpXg9eYuM*^K{CGkh6~`H*ay}GW;4;X9-w`*DM(nRhcj+0hSlM}khN`HxOgr>GQOkF zTKL_9%=eFb%b<>H(3|HY!LZsY^isbOj5=5ej^3#S(SFkPkB6=XW}X5be|X0ny1xl6 znK%I&)~kYQKWPYu8Dn^Vz82VpO2@y7j-oxsyW%|~$@7moC;QO`^8>L>s)6#2tu8da=!dst_dq%mJ>f=DHcGa-g$&*vMveuu zgzqShFB${us@l-@FSL}J8*~p^q0C*JKPj>x^UD^h+ z=NSX+7&E0qooqJqX(enC-2y6v4T5!b2FS+O({2wpzU_hq6{;%TULRvaPC4N3UmC&M zuYKWR*I}~p&$oAiBf2}F$7fSz>w128LNgP5=Ft(w(iOeoXazF&PIRwO*kGkTdj;9i zPakh%8!a$a&KY_e<=wu--Wg8Tu63UP74u?01%aenr}^=opc#PoG`65BEwiQtmWp zg08}}ivzK`n!wc7R*`VI*a(l3th+nTl^a~7RD7%7h|+>e%i_{C0* z^oED-Qz71}6;z7r2?sr@p-V%KmYM&A#2WO^XOHlwAVX!=(?O_it|eaY*al7x8V3`a zHim}&jUZsmQsjHKYjGLW)1PzaF-%GD?=a zSABOwCT?5A>GPSV`M-Ldv8Ai%(A@il6_uU-TZG)lw#3at>cdU{(O_S-k$bT*0|HBOyz>x!&z~EO^{;dMYTGEcP`QQC}4^-O9v09gnl~bPe$A_F2vUR6FMT?CG zL#wCq@#&5`po`5V?0w%*sWrk4<`8(JfKsHVG!T$u4KH@W(hFe8gZ@{D=8yXjyPaI z7CT+b5}um(fxVvAu++aBT%Rj`|4`Wf|EB-vW)$2ox93`-O3JC;Bk+@a#9qG6p%>?R zLR!2v=q7cBkC%NU>)-ZAI4tPp#Wj4bryTUq3?E~w^@c5QFB+URAsvRX6 zzvDtMJbBWFQ})tRPS`aCQ)bsyv9D&JD&#(9VSzcgDm-Dw{DqS7TZ7iawvJEXVS6)W zn~6Ws({*j3SD)Kx%I9IQ%VD%^`!|m05o`5Tn?}3LlzgRJM$=)~;gKj#djQN|JzX|l z(KsO1{la_Lwx^oXaniP9eRMCNhsVdjzMef{=9v)L`0iWJLUjIlJg=*fa?*~LtbVdN z9#XF}?7lJtrr9)uh*smFc2i;PC!a(0_S0%H9^O^-=bYNSfzEV*yx z$@pi6D`A{sB)2f9f>LXy0~)q!I^L6HiF|+h!iqdya$U89IS$hC;`~o-I~vEi&S#H2 zTdQ&Y#r^M2m8p1qYkhWZli}!p>3{7uhTzNx7OV{yrE&kWTILT|pY-JB7w9P0*p0%^ zcQ0lY$s16Gt3H5M7=!N?R~U48n`Hfo_s?iVo_{{BR*{{({OA9)f5zK65qQP~PL(+B zw#NHsH2HQAUO#*bpJ_6F>gA$>ZQbGZ+TG|txUJ#EuI_SOqM`h05>GR}b;Q2P)|$X=_!Umnbb=STCAbBqlf z+8QsaKlO89+pyDMTBR9q{a-Qb{^#d+74>VugYG9~pWjK%zgaY| zCMZ)5$j-mn_O=Io>##d`rJE>Mau(Fwdb6mQE|FlM(+k3;HieL`zmV>US;+K9q|gR* z(HK_r8)RmhJ6-hv1qM@1lzt6=s?vSCq6_DzL1J7lc(l9?e0z8s<#&xk4u?h;#|!sw zMe*7*J?IbZ9wHZPqRejaO%?9fkoBJu3Ugzws=Fbf)csRY{KDhD z^ooAT$S%i3>9$K-@uvGo_B}HlaGp0<`8R_Jqkf=;H|8UwRnyDNzm`QH-Rz_bbUS9E zG&~)RmTqyOR)tN3D6gKtwP_4j>gmEgHUb&36U6bwbwK70)D57$=UhkiZ;<^H_H01i z!v?YgwZ?(rPH!;Y>;gl`GwkiT;poYkN#c0^ydvMBrImNvgbrKN8Up*8DEFa2)qxMy zQ0VJ$NF)2|#DC}xbB7v14W~;eqQ#st%fIrjG5z>^I*OZPqWr!3h$<>*7(0LAH28e7 z3z&v>2So)_NLzdX?OYmIX8eYcW9jp2ZlE0jCQADb?V#IfZ+26f1q40n0=jFRp#PE2 z=&Ncc8rZ;Bod3V&&oP}q{~UE44clO>46_P`QJyq=vcp>Bam)+O?6iaC$N<*8K8QXC z{ua{b%l$V#_VYNpo4+0WIAp9`Tz4862X3U|ErXHH7GDVKTOYJy$$qYX_7m6edztYQ zCXAuqwQLAmhMFk%lm50r$BMGev4dehdcZtyM`(8Y6FQZ=8#%}SeTU4a{WpDO3h{du zQfPgev9j5wG*z=shS91gW-mvEnMs03_QZVq9qsSA%;`izksA&bRY3S$Ddxc?JO1UVxpXuGZS^Z zn$M1o=?!1<+CcSwO~AZM1vsagg)shN6nueK*Ls)U4OS%jG^29F+M3dl{|b^b7m_-~97+n9wx>8W?0V?OWQr4bF~)c8fC8#R+-m z|95hz-$Rx4{?~@Y*E>}p`~J7hpEPu+(ooLOwSw|^w-KsP??`;YnV}4>971!~MxwY3 zYgmQOi_%w58$FnHY}HIZ&S=;V=GeZEZjR5#;b~RkSRJzek#+4MsPao~c<&+o{?h8~ z$e3{>Rzkp>Kg=)HvY3h%LC|q{2J7bpaI&o%JlatQE(NMk*L`bC{r=oR^EHv$c@w-J zw*%jM+S)pBWVQ-9)F?ZB{yXZ%x8fF%{ii;Ryyfa-6pCFJ z_Sbm-sH)r7gV)%R&{0{y%pScI?K(0M>YLcIy&g4$hK=h&xSs*&_kJU)e?G;MHkcpR z;Ao|xKCrC8`@;O!H<TC*$ zzpPKvZ%y9cE|z|OE46=8^d&uLxGq_C|0JpXD}2fR#b&t)Wd1|>`{yw0hQ=;>x)MfK zuBLpud+c$Q-z3;nbvxSr)dYsWydWFDecGJZ5#dp=G^M&SWM90S`M^ks_FX}3zH0(` zL*@5>TJ@%GEc#i2-r3ba*{k-pqdrx`q45cKcDplxSq}LPX6FSp#@(Y%jJ+rBf3%iX zQU9$zBRi&b+B=xJPfuAP!9Ml}3W0tDHnJWh{+F@~3|lk;-W~F!E|5Qb%NMsjEyPRh zKegecE;xV8BK@YMuM~!h_U_?7AN4#G+i34hP$tw?K6ME2Sou2=!n5vsek6OiSDKh3 z8!w)J+23o8s_v)m@a>)no?gEiw4ml8x%roT9)$UW+vvkCN1`ZbX4MFXO{oLxtE@nB z^9T8OVgC7+8%{CVK4ZWv^CCK?Wev%92Px#{pY!qE-=BbUZ|*TsCJr$pQb)m$=huN_08Ux-A8Gxx5N=X9P)(>>v6KbKavvq(jg92@QmLTm5aLkLHaIT z@Y4Cj3IPUpD4TzY57)jpgX3Kd8@PkFv}uq!__cr z$hcDhXK0&){^_DVSgmCMd{~-deK1>=dgoTX)7o1p9FXH*C-C2 z-@?{&(1u%<6nrw*hatn4p^53jGawUiMs+J5N{H|J*@z^M|{tPEIiH zY^x3TF0=cV_Y-P z<;w`FD6GLR-3v{3SBT>I$fELJZqkNcaO)3y7POQzQo}$$^*HtCR6W+Afi^@Wxr0q& zZMb`P6WSJbsm%HdPH9D7^5U?6O)cdet5DdhYs)@uQ8+Hofud}BPxo;TB%{9#9p31nxGcU~rW^su9)t9j!++nTWp8XiHzYFa}ouV(Y=!{w(4Gezq#C^^*M4{AXI_LbrW(54)`X#;6iQpuP7(wprVcsxd~H z=u;@!yY+oVXjeZ^viwr>KMt^`(AbefW#@misHvbERI}jT#po!nLNNGbA7le|{70<{ zNkUh{TSDDxO(FBcLeym2lQP?HZ17`nGxO(uANa*2IG#gce@5ZSXRO%Wu7{9yx&suX z)C6<#`>v?${NL*BmvPpGw%$~YTQ<0&^2lj-c)l{9z4AjJEF!KTlVAq?bv&WT5rmE| zI8bK)+jGi>w#f11ULV#~R`RR`sze98NAVGDNJ>D^sui?+;|bTd%tbBTggsdPrcd*^ z+2e0UFPyp=X}N!4dgM4mQky2=b#X0QwUaq?Ze;_NCRB$!E9v`(kBf9-w5J7f^K~jH zucb!0RhSitv!6sz31t4d-ryPN6Sjg{GsW}2|EA9;ujSLqg1&sviyPJQ53?@K6|QPE z!HNMBSofV69S(4U$+1>YW3zO;)c&obRHL|E2Q(%xNjg-|r&3 z|E$#W&$gG>qLdUD+2@}LA&(*c+7PZ_ptdsba0K#*2*E9GIiLlN4xp8RuCUt32_C&X zEZKisRGh|G%+qKp1n@*Tb|Wc^I9qtG(lSh@PrS;`~0E_8g`9$w6~ z0;`I_KvmI(gB=plq^S?Z=N~Ox|D^W+d!=gz`qM&X_y3dHe=+q^J@^8lvimPqu0E9Z zH~a`QKUP-eZI41(>nFqB5r3#Jy(ht~M$gd5c9w8y*&?)aqp*frxONuRfzCoVZusE=yvZvD$D#mFrpsSzQ%$H=}kN#;Wi$o6wi}pcT|;vBe^U8xdfyeAr=O6`f443(>G-n`z{Eyh`7LP&dO2_+ zoM^F%d^aZ){OYI+eYeOPx5X#E7 zzm%V_;!HJgxVv7~PmoH##{R~T?JK{3snq!0(9Z@wAIO!x{+zPx6B~Z-5Y$wfDFgPN zi>;D07VllHLUc}7Ft;BCUZ_9lS6WT&t+=|>__KrNTYw)wZl3H8vrn5Sr+=;o8SSjl zR{J&()@TAGUhD(*9Zewm(zv*hO3m2?T z$o3z}{LeFkk-2A(T>i!LXJ#LKqk48G9NXqUqcojABc8uAr#Rk@#A`Z#N1T5?{S1<={RJMr=NdG~NGI{QN{5uj%s>asI{en)V;@`P*l85W4W7KGHFm z0-Bz`;{Ml{#9t)wx+GrH{wL0V@8b0Ncun&!jyGs=ld9gsl-+3;u5rA$|BK`EE_=Yo zz2UOwkGTHC@tW43I9@kn2vRh(Lw&kvUjO3zFTLXUz9e4L`!8|(>4?(TwEf8XGfw0O z;gDiK=ym0V3f>R;?@diOJZyQ`u7|0gE)~Ngn2*chR6>x8*U0u+@4D2pZGnT$nU|t-_z$G z{2t;5aUwqm^M25gfAE8dU&M+0B3#-py7$Z!x+|pTpOf{2Snz}FeMYPP)ej=;A32fV z!~Uz^L;N64J`RO`&(&LYP(5lRO8g#FX8Obr;zWKB z7W|;-9gis94+Y_mI{ zjGlR=o<9|R2U-7&1%D^D;TmdZHCLQK{GEk;$7w{Sy}XIUx8s&yBQEoy)AkjrciR%kgu_ z{Wli*J&5;vCJ?{JeZ&VUx#oDP8}WMrABfkVsi#loKVgv{1cD#b?R*aP%~tKd zp3BP&&;!39{!9Y#XRPKgMwzwc{TcH97K{8FoRxkSts(wRgHy{;&^!6}pTyt6fyMp~ z(`f+SMf@F(_&a9y8&JYQd4GraH=M}7!4+lwn|kDTCg1mq>V^0-oXDTS^8So^Jn?Th zk$=PT{>}Ds{Tuao^8AVu{GC_3tKglo{*HP)@ozYhe}m=y8})ed{EZX&H>|vWqaMFy zsXZ3?H>}{_3_7|F{UDB=P|retEB$$svpyF5n=ITO=M(?tDDiI^8g4`{;^h4s^8A4l z`7ta<{Fqn7kFhthD#wrE+n+ComKO0_IKgkZJnyS2zSwU`{7|^^DC;OMt%+1zXS_@jP?3uo`N5A3W_FKLYzhyJ=TheNa{T87NT3W=9 z;Y5Cns0CsAelG3xOZJX_#aCH@OOOZLopNBoyNmdnwquk!xOf*zsx zU5P(~M-YF;l=w5J*DXSeeX#8LPy827Rz9@a-uW%xN1e7tMn*vo$d@n1NR|HAVAOS^LY7xj4J&v1f2lVt48^8U<{ za{U?g{1d;06Z{r^7bnd7Ej~Hg<@hb?=@UPO6ZtXNN7j!~k0<^MC-Psgy#JyePy7~6 z@LT)`DbMkK%bIfi7WH`I$8drlqg1Vp=lvM>a{U-SzGVC*{!4=3zdRjf566lB(!E^& zg>QTMZ~GH}B|+q`fV{t=9#8z21d;!Oc>hJOT>nKqp7=8fB7X+){>+4O{TcOm;=d$_ z{1;ZkSwC9~%lj|t;}`K)IKf}Jyy7hTRMuZnFF)~LIFbK?A35q~8?7%@mmr^ehZfOTh#MU{FnrhAA{xn81?jt-@=Lf79{VtsP}*3$8aJ) zhL!hY)Z?YjA8G$Zz5h#%Khpk-dirj^o^o7?--6}+7WH`I$8aJ)2D{1nG3xPBLS^q^np7<}E z$bZ4xW&IcR@)LiB6ZtK~8j|x{)Z>XC!-@PDP|Er->iL&SU)q0BPoMZN34;H!y>BAh zg7`1X%k^LQ^y$CjH}O{zME(lq{go@_`YY=3#D7T;{Fk>W{wjI@MLnMQGYKMp2Fv?1 z>hZ*HNf7xhti0c%9#8z31d$(u<^34-c;c@l2>wb&_eMC6_$yV)^;gv6iT{!y@?WsL z|DqmG{FMZeKZA$J`ZMbB#D7T;`7c=Be^HN@N?+Q4QID4@zqJ3N9#8z21i^nfmEImt zB>qcGx&DiKJn>&Rk^h4K)qf%W3McYcFz>H?`Uii7_%B%SUpyRgSrzeLod3apA^r>& z{FzoMY3#rHGsJ(vg8$;bW;){im(l;=zYu=_i~JSzul@?ze*p{rNs?_-vVNh+KY86G z6n&Vfk8+8BQtzj<{@2^}X{z_8g$!Onld4GlYFIeQiu!8@xeew!)H&Wg| zAp3V?k$_o)S0 z-K6*LAp8GwBL4(<|0L@l{1f6=a3X&M{?#8L{s|}YPe613#Ha8YM*I~{jKuvi^xU zed3Q`-XCc|{1IE-vFO3s{<8iES$~T~{s}AiCo$cZprgkJ%K9h7U%?`Oh2{N~TEt(m zOj(M2c668ZSH%5?_$T;(@K64ZKg2&_|J6SsenFY%kKhN%oj=4cz#@Nywf#qbg!o5g zp8uNqN5miDME(daApS`5KlmfWKjB3F3FiHiX8+)y5PyUd`6IX|@kea`!5<<12`BPT zaKOL&CuOETaik|&;#)xz|K#uZNBk4)TkM~74^*HAdwa|JCoj%gVZlGqF+EEO{>k&> z8_<`Z^8Sg``}@7H2xY3|{Sm48b9MJFK@%P1{gbS8Gc5QkdY?@Z@2?yn{>qzxjVL`= z-d~ZL|95-Fa&%&iyniBf{t14F-1#Rpe_HT6xOo*ZhAWehA0=A$xqDGcV@X$FvT@k)yhyslTlY{gB#v zrjYbmdj7c7{LdH8VTFE&-26|e`KQYtOe*v<dW|piJ3cJb z2HUsN``?iL|FOsq0l^PhZ9lot578lh$oF#m5VHS17W|I-Xe#i2hY9gJCbS4F^gGrN zzvF(A^#0{!|9vd-Ghj!tpRqZ4Y@we~b!lyQ{6c#D0P#Dp;CCFD&;*Sje#bT9cig!? zqR{VXm_kh7{?hCJi64SRe#lwg4|z)bkXAbf7WyH>s#J&OFQnHW5WfQpe#gr_2C8cP zBXOW}B$Yn7Z=v5YpZFblcB#_+ukH^l@;k8LcMPlJQ0R9UwW$iPri=XtzSoxYU*czQ zB0mH3e#R)`XIPAULGgaZ;>uOw^;_w9;&*T&zXJBEJI(en-fNa8zM~1+r~X8{$`%>vv$0-vOoljyJ=qLZhbQ`YUNWz9pr` z55don8$YDZU%~H?JAb9>UsFGX_#If}cR*>sV@{YkeAO4vpI7g{#LvJYKLh^N&yX5F z1iwRW{E!;I1V2P>{33n_C-OTm?{{=2euwkj1q$Bp=whM+!=Fj-Uqbv1PULT3-rvxj z(M<8ZfTJ|=H;DhiiTn@D`ya8y|5&88P@#$cLHrI* z`X9vKz#@Nx{a1g3_#as0f3W}Re@LxA zT(o6@V%$u9kXwH!wf=I^x&;cRk0Hpdza)ML7WpCU|KNvUksreTs~;k@{#2XzOPZ`d zmHPci6MspQ^|!^-K8ocO~;Th+o3BE%r;Yhizbw6TjqGxqb;B z%YR4FLHrO-@Jn)RbusUkY%SL>5#o#PW2EA>uk57C_D9s?iGRWg{>l2@^I5?^SyUy7 zlJ-x8@6ggBehC)&C4h)ul1Tg#t)UL6%axsE+*7~bD*gGz_D)#vLlpJ=U>xy74iP`3 zN~$M%6?Q;2-d4Lk7W@+T*T)d=m;4}p$sVR9irRWiHlFw?xP7soVpk^{JuCK8+`X*P zCA~ee@$0WzaoQ_(6#6CkTc5M*EigMZ#0RQA+e00nwE~sxmz31sh`y~k!4FaP{*P_n zDVM!7tUDZD=uO@2I|G&Nhlt{n^*O;WNjcPvjnb=(M-y{9tKmMXU#&5yY`=t$FFJ^y zf(1WiiW{)|e!pZdj2Hx&PaaW*`5}l5y53V^&(VVejKcpm{_$8dkFJT40B>$5; z<=62ywZ^#i3hG%5^5Ajd%g<}6CJ@+IVwJ=9jC2B0J+g=Ho+3u5#Cw>VQ z`6VjBFEN-DP34&$q(%|Hr18oPle{d^>T2^Rd4qj4LkEaI1pBz{Te$g5OxVl364 z_$8gsl`t+@Jq1Zm-s(4gQLZMiQ&~uDr?yjN&~+Hi~JH0 z{F0T*T& zn?d}P-o#JIYGH|(Rr2eXh+l$5ehCu%61!H9sm#p&NCUqFi~JHK_$348Wl~Ej#88un zUsAi-CQ=UJP%jVJe-DfN5q3E7NA?ka#62N}vb#K)nn?T+%Lb<<HYyy{>V$4X6RkRhqC>j_$OHKPp<3bvVwmyW<^D`zAm< z6TgJhA6w*?d^+TY^JV=K^?2f!aP5ozl7o5u@FC)t1eWWUsMkO7Ls*d?LJ5AzY`rb0 z`GrWdiTEMc%ke{q-+@Jb2g~~%=R|(TUgCF5uJ#{#@qhddz8qRw#LvJYKZ7mpXQUB7 zqi-*1KSOH&6HWaJsrC1o`V~_9w`l4&i06M1e}Vc}e?iJ0I9Q<{s^BdD`<3iJ%ZdB} zmiGtN5P#r5lin2X4;&=^z`=WK(f+^w0N-wW-!B^fi9f&z{=o9c+PJhoP@DJz`A62E zkpJTk6tzF`2RM;GfHm_6gma+K58y<80Gm?m2P|@2q>%OlgmZw5-=SWd$S=STiv5Du zhZib%zhD^g3uX|%AmpjoFDS}8-+zfez=`|;JcjrKb%;N3?O`m%`vaqhfjRuC7s~xV z{y@=pNTo0M33BO^{eR0WfBAkwN%@I?z=`|=T-rYvda*XNAg;7tcxnHjDF0IN&Px|6 zct1fdp7;rz$WOp~iv5IDkN%^0KjGu8y70p11Ui~u+D|A-pZE!!$WOpiiJvf>_z6sQ zWsUp<;vZmX43GUavQM{ips%lf>xi3U7wwLx3iqa>30v7oRtl%en9>Wy+ z38BPKFzPSff3xVi%b$DvLHq=+Zi%0OUljWZmDBVK{e)y~Ph!&}G;m>QKcOgn;wNw- zKLNAFenJ(u8ijsB^lMM}uyrol;8EI7D313x<3xS}{#QSN_y?TGKfr>2@L;h;p?`2A z#tKGmDc3(JbN{;ssx>I#X%v#%|4wTEx!SuY7y1Ws`_B>o0E_$sb`$Xr0*HSw@<^LP z|GT2S;Z&f!$xr^$$3ae}M1*qkkYZe_=6s zf2PU&1>z@gB0m8Oe!@~`U5)$%;y09;|52S5Dm3vMq~?D-A@2`0ng2od59S2FVdbT> zD$V=`zV8*?zYxEn%>B2d{RSbnXdIH-|Ezq!LHLeBzkn0`hWzbOti0bKT)T_Xm)bv0 z+HX*gm)ieI+HX*gm)d{rCgh^4CwP@=N;-LVQvArPeQu zc!>~Qhovk|r6O)u0`l(Cv-C6Y!guIW>nGYfw?w1Pt)eVaEn(2&07N;u2=T@5-iy+g zTECFos1=&$-hsLr(F3Lp$)O?!PcGiSS4%Bky#7kO{vd1fYgFTgpX~Yrsr>_0P02g- zl^XdKW$qs?_!V;dhfAfe>Hh6f*I&V}kh}hh_pcZG6^=OrQNe>4q=8?-34TSN-M0AN ziVDc7VjEZ!e3Kd!bpVy^SCovOWdC<8_z@=WZ>aMB(T|YYKTlIXLOlP0_zM*8KiCt0 zLDTsU;`)ms@x0%_`w^PfpLqTR@goY;=luvx=TC_DPy8NiL6!C&X8(Zo;CwEv6SzZ!`*DE1dL^%KP9=hGMBH7&n5p7;^0;7@28 zFYf=uzhD#p(XSBKU$5fy|HaP`#}mJS<^2cVZ_u><#rY?GL}5JdM`-Fdi0}Wz>6h3OS?;7JCbXYY%_PBuCM;hyORS zegTB_3&Gy&(Bh0qc>dUEYTrsHX#8qEvLx#luGvekU!Z3!g;|lqxh?NsFauY3qiYR9 z@zU^Rl;uKOnA#!=C10%tgU3j(zc^+d1Knl^aeeJGm?7=@pvhXHIH;i$^{Ijryqb*A z*}zJ$xaCL5{EOHB%&Mhgzt$g%2k35~CM6`GMPAd8-1;BdcsE}8dL-Aa$rI-O$f@jh z|7rNlqz&=^kF>LZi{ktK{;Xml28e+oVvB)Yz}~ah#6&PaML<*xP*Fitup0{z#TG>c z8@t%KyBMH?f*q*X*oxiH8ThWu_-7bizvtf9?w*a$z30}%nfLCVIgw1ds|S;DBT7NF z#!qDHpK;!cb*wo~*S+^6TB<Kk82aOB)mGFuKS+(zDSbV*8~mY&DhVpT*xFNeE_q zPk%r5g5RxXB@@Zpb{mP(_eY9zi?jW&bKy3Pcx1+V2Zpd)mOHf_yI&<;s}bV+zyxg6 zPi6i0+V_5#+BTn4gBz!tgta5Hs{Ji^r|>w4Y*~c+67O&zvVf_Oa-k_x) zP2(T92eHcG^R)*yjK8DT}fT?k<-o_}{>VHPm$rxp3$&lF0!+?DNrv#di< z$HGU~Y0Q0Eds0)9SUH3p^mU0Janc5QmTyHq1(tvc=JLNEkH23JhTpIEH)_J_6b>Ut zJsYrqg`3Ftq^D$$NePI3ny)_3-@osBazM6T>G$skTz1wk_+`pysWY@^l`(wWw$W_- zq6pqQdN(>G&WvJ9vq@&iN2N;#Mqa=b1n}It+)hch89Cp5Q@l z8DkTi^-0N}d1JfNwBq*p{JvSwwEgM?vbCBWWX2k0|IhmM(N~(kjz1fjOj`wvW~%#U zWa;iWvS!E*@@QcODcY|aWX8CN$6q6^|4h1*KJ`d2-}6%{EgsN~bzZWI+*qoD&o%du z!P|e4>RLPC=L#H}A!$(03AgNYa!C(;R92|A?88gcJSCVwxzd4Cc z=sT5t?Vwc~7kj9^xGk2PS$2+CZgGLIpqBsY4RWsH7Z-iTtv~#}I~Qn_wl8nKFo*>g zuRxl|93(x{Zjq`+72xa_$^K6xZhtwezWPq?TlvS6FVJg8rZV3AfVxcKOX{T;VoB%Z zt7Mu{Ein4>fA}dZBPZ2u?4r+13gqKb5^3Z-Pj$n9KzMa>Dc`ZwM)EZ5G^x_U7|utE zuOH_2y--4{CeHezTX}w8{Aqf8ieBAxdRMr}S7z7UwverDl;`i1bx!)&<-hp*MbFT) z-F%_%ySe~*ccr_VobZ+Gqp z=|B1`={vF{^lK#l|EH?GPI|ZKd%XRSRQmDpbk;eva(vq^_Z&KQJxLzmU<$iZ^eVC_x4tbT2% zo4y_iW(&9K>CT&{dB+h&`R1=ivME)rkgww+6#YML?WR8x(~T8LPo~p;4`Zi3FIRs} zze`@=cU~7&VT7%22SytLMfK|>{#U5xtp6F_fO!UArdc(*v6nYi6XR3Gpys#BxCjS3!ssC?Hy6clK z1AE*25;ZHf*P+9Wj(kn4VCMhgBoP^S=L-j-W(|gwZh+t{Ex!6=eB?S@qYT2^XIUvmlx=Q!e;z={5}0{ zpDamW@&jTyNlW@1DhaNUnIgT^|97qX>%YHpVuvFyP~+c$jG5I`?{-{FysBRzf0iF7 zLAwfp*$(md$EEdG+cZG$br7|&Uh3_i_ua1UjPq|qcr5v`&JK)|#QQHn zKLc+$Dg2k4en$W1?Aq(I^ylGOeAcM(F#k-9X*;zrEG_a)X@{Cy5-cIIhC<$Lqi~CRN|5~rU`Zk{Uof|%ZPT1}bt&eBKw=T1nZ)yC1n3oW^ z_59cWsN2r^t-S)+mOg28`N)avdr~NW#VY#bkSQ<7`Z4dx$$Ook{M@0U_G_^1I=tni ztcULUfT(+{%)SI#m2~D;293e*!))N&2A70YMqzo>pYc~Kl;Ft^)Q`AygUvpYNR50N z@kP#0VS5wP)#_oT;OVpNq-IhfI5Ac{{@MEfVvroyxVeXZOgqLJxF^!Sk<;0&a;DlP zom!|{85IM~=&j_9x+>J3BXFRGB-LNPGDv^*a5AgEMo&Ghim+$&i}vm$H|9F17x_ON#qZ?exHqJUQ6sVvm( zBS}fhB<(fRVTTs%4ZWZ9|4q62TgJWhch~M`zlvX=OPyT6J1Ek@_>n1V-s~$`aE%cM zqxvxa%Px`s(*B!K#zXJ5JDzP=m_&Ep4rYB?Pm3RayA_H1QxwLh?;ySvxOFt`EgNLJ4H**@3IBI*e(CmpWFV{4czsn9@|(6+eAA2 z;7a~L<8iRzO%^KmQZYy6eMJjZR;u~NW-zsfCD~oclpse!zk(sRsi7plU_&h6n@n?Iz3lPOFdERG)t z+T1p5pVnUQ*S~~reB>qisc;PzRId~K3<`7DlWq@_I{hH$(<*?UyZHP~s-M`Wi+)mt zO1k?^F3?l!>#+HE>w!m*jz4MB1$xZP>-#ggbql?C`cX%HsA)Cbq>kt5qvdDFwLL}1 zl?x-;jc=~-dXw|p91@$s9m{(Jq^ zyS8%GCq>?8rk*KuQQN!x**iY4BF)TUzC~r|l#)n1T9k$kk;4A~8j=@kbM^BVxa$4i z{b7z%F4EqS8a8ay3clxoilFLY4Mu-15dTsHte@bu$iGR@3T5P^8y|Y<4@JIYgYRFa zvt#SC=Vf>BF=h>*)kP~%m-$WR8@GV>FCs;HssEK5bkcMCy|rE&Q|aB1sbsxKW*{#^gL-L3V7M(*NU)w@FdZ&Zdt=?>(*b0=2%qd%G0%o+w%w}I|jF+U`&|J0KX z`YgJW_bHo7>zw^X$`)!!_SYJ~!sbpQpRW{y=Q{!+XmD-O@t0Iz;a+?Fxl2o!+B=nU z6<(0>H!AZwcP}>YLVcpEQ4Dm|rvs<)_~-Z~*Z&_bZS)^Ujb-cERhp$%fyw-m4t>75 zvtLfOq|5s1uxadAC_a0RZ2cDBsNQncTek1_WxBSMD?j){9Tq*=j$P;yt3Lj)G`PBq zf%~6Es^5mU|8EW${LfiK7e;i{J08hmwfCpd!Ridsx?@w;@U$6AKekPMW3&-`2@U}$ zG+1{2kRI*z89O~##@t(U;s`Ug_uYDRpYqNya>qxae^d>UG|uqgr=9Hh1q^JX*VWXp z(wEX{FI!VKIm$_`o8SWF+kPakzPCiqStI<1x=1hdozRAy)MrFXy|t+kA6DoNZP729 zKfbm<@awOWQI&YoRMQG91B=4B@*hNcL;G{|4%O@EH5V^w$N8kwr53k|NBQP(GsBFX zDI89Y?Q0JWOH2jsuv*l9Y5g6B)z<4~nz3zP@6f8wHehL7&*9xKVCDURjA!kk-bEkK zEj=e1KdHV?gsr}~r!5Pxyh&kQ6R2+IqV`H}!|J_nODra~!M1aT+kY*V`rqMZW4*PN zDR1X-lU}#VBIQ>Ri0S#BA8i*-yq>j!SF?(N&3Ezn_dj|W|5K0kf?v_f{x5!3TR#*Q zu-`a-6V2xcEmgn2(Z_a$fT!Yi-gRvZVXakTDv-Hwk zpm0h9SoNq2#Ex^5oxj!hYV>~J{;&}<(rC@2ZCN~53(j1g!Do3jhnM4x;er_lqi+8Z z>6-}a=kNAkPQPP;CoHlsRn)(0-A8ZIx|ELCr_k2-`;&;w$!um=1N8*H9`sh9Bid?( zV4m)WsD3Z3yVu|PCz|xv_p&q9T^n$YUh}dgZ)pg-_b}St@l0Jf*?uSSY3l+bDz_Ht zXP{OnBPT7W=c;dFURZZ9C5b-FaDqg;PUL--35z+<5YmtCB)>QJg5s0Zvid)dUG$c_ zzp)<0lj)c#4$yRhD{+dc#ZKL{1?#ovNYWZ(@J|*We@OjLs5D4FX<|9unGR>@wa6z9 zqxwx?j@}#jh}pH_X6d}n{{{bZQ_&Q6y?@W5x`V6F(aTX@%(vEj-nvW*nH*#d_nXBK zf`3L{e0Wt^|I6O;)Tcfysk2*jnl656#}Z&6@AJf(-9K#&4a+V;-M`1L()t@s=%zOz zk6FN}OZ4ZVIHI29$k+Heik+BO9%k#GkXe^|!?(jtMD+{vH+THx`fu-y3IM$m75lHG zxw}67v60Sm;(0puj61tJ)0ZER`IO9ewg!^}!hZW-|8vJ)=*6(JZu(c#RJsEbQ)shk zJy{vwNd9o)!Z2r;HGEAtO)R%tLDInlk^j>18#i>IzD4j`cA(oiy6W~W{#P4+nEWtS zo7$ivk|^T9Byy((#i!f3LgXJ4sy|^FN=z+mPR6K&j<_ioUULKr{( zU*oqWJrl|OSmomwx%O3y99e-QJG=a5;N+=$G-%SSn_bE@sj-e#IU>PyR^G?P?F5KKVjw-zeGji~J51@jFDB-&r6z{z86+iuf6#%+E;m z$nQ`QzXLOo->H=^za!|w{`!FY5Eb!5M42BFw7EVYze7d*4*a=iMwaBu@2r;8kNgZ3 z@iS^=enzTCeus+q9U|~Md-COXqOg9UjGTo05Eb!5pv(_R^~m2)5r4zVDe^Z$|K-+? z`~(&8Kl}nk{zqCr@;g+-?|{JX6wjC6k&YkoH&n#m07L$!Y`*-B)PLlEsDc04r0q+T z`5)={A%8;+{LRrRdaW{llRNi>5k&rn8u*{p^E|c6{ExK#c>F;{{0$TMn-}@=H&Q(w ze^3Melhn_s;^GBY)k?Q5sE8jT z%KVU2kNgf5@jH;9$nPAJ)Q|iO74b7fnV*sBk>8;reg~BK9bx>1GIA2~L)5?zy|2*? zULZeIB42(;s>kyeD&lXLz~4;Gm%kDEKDT~6exe5c$FkVo`1XqYkF^g8#X55cwY};(tJy|B<#I`5S8BZ%#jA>ICF(((>hRa_bgG5cwY} z;(v%T|0A8hc>YI4{08;reuvp9@;g%hk>8;reg_18$Dvw&{El?| zk>8;Pe#e@0Cd&Md?(f_e`VaXTD&l8AnV*sBk>8;reg_18XIZ}dj-XHa>jUybRKyPv zWqwGiM}CKj_#LRI$nT^|>PLQtiuf6#%+CnE3uWXac+S z@k3HQ@)K0V-!NtVM%sQnf1n2b=cm6Ze^-(Jk=Bp=4i)h`An-dA^5u7g{u9P9Cn0}B zMf?pY^EcA|NB)P3_#YzhKZ*JBKTKf`5meM$nQ`QzXJllb17ebCklPfo&R$4 zN1nft>gDFIJpUt|zsT=U5x)b<{Lan4eJ_jv@-tM#&ww&NlY#o&GLYY)27V{= z){p!S74bW~GQT6$BR@k${0vj(XQckiwO^j!k?Q5zFV7E2{YQR>iufH+=65nB_%MS_KT>p{Z zp$2~Ee#lf_;CDhr{7wVpcXm}4^E-n7TsuSmBR@k8{EWq{nf$-}%va=ROeOq`RFC`) zHSjx?%#V?O`JGJUcbZ7}9jPAqA!^`e#ja5q2BWh{E$JvI=c^% zzo8=jhX0qp`HlQdbuTf0W6=NC1G`&O1OGGTMrBs`AO0s4`JXrO!gWMLlIoG)p(1{V zSLS!5dW@e_5kJHK%gOqt)2>X9F!B7TTjDe^=A_%EZE=Xa!fIsfJP8L9us?@$rH!<6}*fAr64QxQMJ zl=&g4|H$u91HaRCi47C@oeTN$JBIpm)(`SGRK(vf7e)TYpwC%9$p26g|HB0S=c9=K zNpI8`tmZnC=kpBwkD$-4J9`_B{0%kmJGG9s1%cl=n=ikUVbEtgAg7n-ccgmccc_Tp z;RSwYZod4EbpM6?2Nm%%teGM|Bh};ee=6d4m@>a(g#9Lzk&}=gq6U8Gs+TP<@I#;S z<%gttpyvZN7{dK@oRbhM(Dp|f7>7zKbPl!;v{;x z_^mv@Bj{uQ)-M;omFIVIwZbUKT|blOcfzpl1%K<8yM89m@8oKQ`jOwE27c#{MRdHt z@0`h(-x2y>*oWsNsN07CC~5t?Z4~>AiqOJ{0>C_ z!|yEoI2pPQnCK8P+raM_+Mk-;f5`7p1HWUp!5YpXzw=VW?+itL=Sa6M4rh-T_?^G? zXOAE9J5<)715N6P71 z3k4v*Lk;|n|DHxLT#?_AuD@PGEOkp;H6;BGU85~STd)<>2r?tTlKKnPu+H8C-o?~` z3b&T#_4`R0p?>SI6)g4sGN|$6Iwb>^@&kjs;MC0|Vzs3wd|W&jrkLBp>)&h1&zVa^ z=iu2)akieDyNh+#+yRFH$<$p-`E?Exz$RrX@q6F`N9Oj%?*R0H&SfmfPMcVfo;l_Pg*O-s`*@a!# z9j4Lr}m|qrDIaOhO;2gP~~_8s2-OONic1xbmlOYaa`_ts4HFZ}(i^P8sgBhGXtPdh$U)O!Uy zVVSF5v#D(s(9s|EsC_eo*d7~yURSCc8Dw1umL&vYAJ!E0ozV8&`j2{7*VRip&t9xt zK#!ej!c4x}vIFzR^Iqf4h}!~XJ*{P>tG?qWZ?(sR9{SmyZLeK}4a$0|JsnblRE~%z zpX<4Uje8kU`?KptA99lQ<_9eE=Rh`l;viZhbWObFvW%8ulB6=l7y$8GlY z@D5fceKg%YeYg7gZ~Q+nhZugrmd+$~b{a`ZHUS?W$?s1Ibqlxbw6Qg*H*YwH?eoDccaI`!hN~V6+u;*<6?RnKOedz4=2?ALkLq zX3$0KK!NSdq;@Li{E z=)03Fett_)AJ-{@wK+ME4RIY!TYc#UhXc)6UDwWhy)nV0aED8Z<2R#wcV^WP$et@> z=}Y{x!}@Jbt9w;z5Z}vt2Z`u-hKy4iWBfw$`%N00IKnMEUGUk*EWR!zYl;@3Z|^w4 zWG{2J`|}d*oKtX@z)guR+!!H=#-$<)Uyh~tAP zxcxD(+d{Lm+pjTnKx$Tf-G~MOd`x>vvnI4;d%rYi)Ao(gF2?_#Gy0^gH-58#S=oepHki;Ui zM&Uu)kJW==IMuvHtmZa=)1P8RdQKzW|H!Ssai@kr zv#hI%>(A@!7FOT%DwGY>(d|x$wYxPFVcXC-{GT&@V6v(cJb2azbZu*rd%k9Q9=`~! z@-x2xr4ujExGA;bJnMzPeAa|a2=;*DPx@x>Kg&w@pMpdq+!>Ppu2k@A%IGnE*Zvv} z0$|DQHGKb>UJx+3Gk*W_-}z%uFRss*;UR79y}VWP57jS-zQ$;_S*;2l9NUAPdfhf_s6h(w`V{ZkD0V} z{CkoXJs2*8_{G;L?F`|OuNC!j`;Wpyhr;Gt%KOjMMiI<)-%nVQ)srS9nZWXt?vT1Y zkZi*5|E}q_MREHTSEGq8aL!jS3+hRq*0W&qvj7Gi2qWLuso{g=W<`D5?^Sfi!`8rh zixITsVJqh0WD9qr6Um`w1k5u}DXzcD@wPhap#$S<9~?)!q)li0bjKZbIDCn}Iiev% zhbylix#N$TxNgf8;P^wX{w-09)ln0b>wmX%3EN+)q-OTp7Ife*3kdY>4)I-Bd~7!- zxE(J1?%coYCwu$zcM-Y$Y@%atN@gOKvBQrNE2P> z0lSIqz#(+;hNh}|C7#tFPY=FZwrUPorS*?kH3P>R?)?tnF>a&7E}8pWmpGO7nq>Gquo^w z;Mzqa#roxrUxW8GfPx&qrk1tS>6UT2Li5+t8DULWUEgLbt4bHXY??Wl#aGH}`=|Lk zcxdPber2_)nd>(GT1%Vldf|{cD44|`0^ZTTJLy=yqM|GDK_I zT2Y_TY#}@FJPI^JHqj7WVb~Nu0QSZ$*V?u1177m&v+!P1>^GV-C|*cGKBx|9R@9rZ(DM-RG%$HgBz1 zznuTJ$A<&ozKWt=b9n#@u-gbDS{$B<%crT9Byf~xL`j4FsJx_u9-TK+|J{B`_4ns*V@I1UhH5QWY0SP%fbLv^=qUn)n*aIj4`73*9Wn0{yoVY&Wexu7^XJM5`MQJ|N8H>u+;7D zHiS$(YedJ6?8v_OTC>l?o@zZ76em$S;dhtw*URm{&f75@FtDtk|0%6#qF=$`kOZIFiGd@D6T)b?az1DMsT2&^7g0R zqXxRY=Of|c@uM{18g2)-xq8Kye@98qzoh%0hE7#RN%U)A>+xuuhV8)zSvgY3g;w^GCV)H$Aig6lDI**z2gfcVZ;$kL^f*xlCvM=KYDE z-EE$_woOCm_i3f#@vEGE+m|KkFEmn7f4}rf<~iJqU-(f&9lLggx4$c~`d^HBqkH4X zWXEttz3!2Q?JkM`_utdtxN~VyyzFgzrrXDeTP}VqRoDxgOZh(r-r@_nsAA8}JTW7ZZZy8x*SHQ8$ z*R!uDJ+lpf9SLj5f%g5OYT!`V;Z+s(67lcP3Z>+36MrY0=%!fL&?N_4qVRbpEF(}y`_lr8M1%dncnGDj!U%^mQ+E2dP9Up;jW z3E5f?n$+(BJvLPbAAP)R|5^9$po`FKW~+^_(2HM(unK>Q@M#tA6K{{YP_)NDFyGr5 zPFWQpcbt!j>d&q_yZybiwRLf)_d{$JqfciPXVo}2=nTQyuTvf2r*j9W7KFb8v}+%+ zF5Fzyf5QC9?Sreo>*|JrOJEH;5W8&&w4rU%5+wfy*FC|HyU7?pf9@FgWAkqqo+`8rZkJXA*7o`9E zNA=Xz^D)x}B%Y=vSu57ps4?4s|6LgsXG)f5b%T06TEhNe!tZ$eO`5+J8gl)=tnUGJ zkplGptLC1p|INkF_;+2}>c=#gs!xq~eYRISw%>4wJl+ZG&24K=y)&fs%N##!Z{7e3 za{M5anb-R36FV0AxY{YMKh4yRI`@GkA+FSEYQ19!>x{p_cWIlgL-;r~d^2~14Q_p5 z>4y5U{io|SN%xBD&obxpbbaONEXDk@!|T(V)Dd6m!!)OM@X~HH#MWCSn!Cc>%T2RV zA2XjJ6A089r#Tz#s}7wqooTfX941w;BR@kAJA~o&Cr%PS6Z$U-Z#l_h+jADaVmLW` ze3fS56F2SDFVmQ*Z-mzIk{xj`8=`ppm~LBC7m`pKZtY#A*>lO8waIwJzo@FxKD}6& zbpJkCQGa=qv93jTQ#g3cU(-2o5Np%r4?m@tx4O&6awNRnK}G+CR^)a4a`Aa@=rUXR z`lVd|j~EfDPVJ%G{~KrWY;I->Nl(;k7V*6xFt!|fbfAkiqth7t?ao9TxBTaCq3ds% zyXgyz2LV{LlF8^?arEVqIyzgt` zYs?x=pzmnK{`Z(=t{XmNA=IC$*L2?+#8w@dM0P=hw%V;QwL`HK#rp5}Eu))TWibqn zU8OlxdJ_BjHiW>3QVylG%hfM!l*eCJ$3!+kqfi_Vbo{>J~@{t4q6KtbAn{OMM9 zRlfkDGW426^+c%qd=aUB-!|Ut{Se5!D#UH`pFeWfUv|EUAoVv?R@{EdZGUGEUQ0&3 za97mJoqz60Uq&3$Jr(DlT>C>_EGKU=m}2|I`i37nvkcope84PAR#3h8`jaN413NXm z6(1H|l`U!Du;a|7`(aX+#A{l=CM@`{DZFg6pMTtN3>j1^T~ROIet2E( z%*w7U0n@#r`GRggHZOU}uEuRpCx1DqIhg!C{#yMYs6Jv2-^S8`EPVA?v3~LPr>LnB z*|~B8L~+abf^L7h_ARSx=y`|KTM@4*zM~6-s~+Hg_T1$gt~Mg8QA5SRXp0jlGp&=hp)pfT?|wA{BU2f{o?J1eqeV9@YZRscdx_>y8V;W z7j*k0=YK)<;_IJV8?6|cW%OS-{|&6Qb1i9ysL$8KQ$((hI72}7keaq=~IB#TxQRMe>v_kta{z(k{p#P;meB3|$;G*9^k{GL@-nhd|E!@d{F$Vtc#f`}hv27YkBhF>!Lpj40i zABgxrX5jyllM6xK{GXuDO~~JYh`-Yc{M}aM?*ci?RaolEAW4>k^i&wDg}A-e}Z0v zx15ChpGL(0fx!RGK>p9Xs3qjh|4H?D{s|)fk16wiQvZ>^0}+3xR_5=ddOZFG5&!3) z%>POCc>IU|PxzNVWXk-ZRFC`@i1M~`4c>B+-1?E{@1%O<|3Jk5@yh(4P`6M< zPD1_=MEoJI%pXeYNB$2C{NFaG!|Hq88LEikGw0^n% z-`?@241XupBmV{>{*71W-vr-}NRFC|hM#TSt!2k8hm;aOM<@O)) z{GC*f{F_F^zkxFUCbV5BBPSt$rxEdYpv>P%^~nE$i2q|@iu|8ckNlfP#NUCy-|fnm zzmw{bU(<;AHBjc)1buEoehv)$ock{eHc^qElj@Nl(1`dqc>N#$CeIH@{g*rbkmuJl z=)cH^RZ$?~=Xhm)PO3-#O(WvpK$(A&>XBd582GiBVNIaUfBf2qz)Fxezb5E&6Y^sk z5kCe7e$4)g1?0_-N%hFDX+->*gMnZ3`%(h(=GUZp{Bk4cn$H2gkbzu$Jd*sKOAV20^`?Cx`CeMlU;ZmsE6f6npK3(>7bx>zI!XJHztR}^t=}%w!CjHx67;z~ zAU_2nehUAEFNdG{{OFbpKPA;8zXc+Giy8Q>Bh6HhH@_v-%hfN>UrF`IUxA3fQVaam z8sx9MRulqx{z}yTJ@z2tr?dusYEJT(eE6wcJ@Q)`5x+$Qerp%@>AWApYm!`7UcOUp$$3bPssmhMEn#~ zL4InjB0rVe2gvVeMEn$(7nq;QDFgW_jfkHDfuHK7$WP_^FZ6$2{1eysb%FRNL7x|Y zb$$A?0`XVKKWRk#6ZH9ye=0*PAaDLDx9^0y@%lN4_$3yC{8GPs`6Zo3&>0f)CmIp| z1Iql5w0`7|G$Q^8l=&m69{C{<@k3ezKeVP+8OWO-68z7=TTViLM$wcSBh`!7AM!7}fqyCJ`oru0AmVQv4E&8vbZN+& zzme82UVj%YyRrVrzZfC^Qqc8>{D4Np->|>@%^XX}o4=9PFW!D2|H2IXOF_3E;^SxJ zZ#m*-ccdb#;0&#%bqkw5u+{h^@q zSG<0Ze_;mxrJ(CaJb&B0I_dBU`4xBMR|-0R#q$sO75K}q6mb3_e*z-@gcAoKauK@KhcQz6EN^6^8AQYFL;p`KhgsKf3qO`NY%*dI+M2X zyo=X*s1ebD)#;wZZ@i;|Cndj=yLb)PaGd{NbN|o7(8e#=_~hDbUEixv=+~(D=j*#N zyD^q9;^7_g+Rq}d?_WyFD3SJ?>uaXlAnf8^?5w$|!B>CjgNZl3|>;_pwq zll=aKAkXDrtS?v9?Yr@SjD7nG)=l(fSxrarF`c7{<#7D}+}l+Z>rYu)PIt(60`ydE zf$Q5-`6-%au!vSOW{@e8_l%GJVJ!L&R-F6ngJjN7Cg)ZXvMs;G-XGaj9Qj-+*a_z75+XSw6 zoub(OI{4d7VLOj&Kld*V7oDd;R)e$ZF;6CI(_55)$Xa?uz1;Zqd4vC*{;sg%{P`WX zgpIPb1H1DKV(#F7k7O<;Yr3}L3)O1^`tqd|^>XvitQ-FC>vkhWz1;YZDqadMHdF4u zLm91fNfXv-Umd3~&1@RGdCyiow)#u;?XD$&HB|0DN5?w45W61mbd?q?L&h@aV>?LH zuJ2l-l1+eCQ*QsCW7Tv{;cHn$ms$M5BURWS+nM~TSPd&TDuRsgSDrte8`|jRH($?Q z+MOoNoP62X?>heA*XL@dn@fq4jq?1x)b%?n@uHaSUDrfyqcVN9ubsQF(cx9u%Fa*J zlWT;L=FKNSa&mVufA@Fp3v0mk+9zgnro1lTmNB%74v4R^Dv(`s4I{=SR;q`-J+G*L z=lO`eIgkWi%N_V>mJ7AIS6!KrbrlwLt36Dr6QQ_%zg_*tVmxm`uS@oPaa$Kw)ck?N znjfa@d$0w(wHCg&le?`ntXc76htUt&xtEXO-BmlD#gA8)%;*HZ!PczQA`3WUH%xK; zm8b*f(l-6DH__BUsEKIEvj<<_#S*RS?a^_;Rk?W>W_uK^D~C!B%U3H4a=l@g@! zPBpXYmqliD`=;ps#9t@a$ajaK#h4^`@w71v^JqZU{%*m}et$=P+c!}3U#|bQzU~k2 z?=4i+%Z*=slRj{~^kPN5=gbFe$i)lL@y~kTzF24nz4d1;zwP3?yY_|oRf;OEe_cgR z7qsC4Oz*e_;vS7;MQdD8&rd(cKOXB2e!Z{|= z_H>6be#&~e@!#^^4epuFS8TuB{JWXq0Uq^~`#-AIBQ|y54_K5K3;XY$S1+zG9yWw; zz`feWiv4H!{e*J(`w1hKtc};NngVkd^dj>--C*XQK*;0w6R^zOWZ;h<;qMnj zUm6RCw(lSlVxFq)R1|*n_E*#=_=dAm4&hKbsfEU@$s{-%UX=8H)tmHNL}B;iZV-a| z-{O+}uXH`P(>`V;pFM?Xe*HD!?_BL?e;x{sg`N<%2v0B{JOY*`w1me~B5)kUDYp!{ z_NT_Vg3sU}MgQgMx61N>c8f+T)_=cQW!-h_6_B>EwI*mo5UcscnDp5>kaWWKA9<+U zegnUK82Rne-^a4R1G|W6Go3p5hX#^8mHS_A`+f7{8ug%Q$%@-=x&6oP<u_w7heI+?nB{q${N1p)7^x2 z{!ZFfS3dr??X`?q2c?qs>s~_Gi2(4}+n4Xqr8jXpp}76&mvo4Qggk&tz7L>p12@Ppdr9{8T*Ai>7!0X3 z^Zfl9$@t0b|1yU=!PaYLiuKFwf8w_Hg+;@PDC*_*e}|6tfz_pyx8K!LUbAIum$CY< zH$V~ETf57&5F2aZ4!8FoCuLSE?|+&bRn&F27{->CSO9m{RAa50T;VGk*N1V{lF6Os zZx#1Ha`nIbeFFc>Q@Q?bk9M&DRWR%RZXSGztOxfzviNfP^6()fnIyGVu0P4#N>_1c z5_tQS)kHM+Wl_J+k)=M<9QwKUhI!#l6#IYofW>U6gAVFCm(_S*@Pj9A3B>$MM7%Dd zH%y9B*2nXub;Vm5f!m0V8fTRUo1OlOf3?|x6zxs<3PprYxw^5e*FG+>2(9xP#@aNBTQU7ro z@diLnua6u;#@S{n>gC2SeVI8dOjI7fgRzg9?a$I0$JGrr4h?rW>@OY&Y4=tT&UgY; zwd$fce}CIOWOJNLX{zFND8J}Tb-;iraB*sL{@D3(;J>M+qF%24cC{uz_h*iZ`qd|k z=^DQO2wJyv*tFS^l}I&#t4CJwud=*A(@1&yE9d`=Z{uJ?V`cy4&VOF~e{R3GKK?_F zeJY3JFI{iqxg*$e$1m?U79)Lnnkyc^$gSVqk>(KM7@)ZRF#f0!#UDXA{;1K2+ko*u zjUoQGcA_tQ#Q0xqzVSb)9*@7k5Pz(4F7~8y{87-)`0E26e}O3e>7X3{l-7^&AB`dY zcw>7i5#ol5Yh~l42IsPg2U#|b; zk@FMihU9YZ!kVpKtt8 zs+XJp^6^ip9{1lGQT!2<hJu+_@hP?e*}MwKkm;r{wUSs`6r0thYrf|L!oY= zjGTnqZxF>V)ynZpsUDBtK@@*fE5{#m>lQq~_z#HUf9$1V{7B)@%#@A@y9=(E!4{KN2y+J{>aBarFx7%f++sT)+xpx zrFuO721ERB@7?oS<@ldeFE{_>#T7rFyyJ zU-|gsKmPYx2BP>MQ;z=$`rL%^M-asynR5J5s+T+dmXCi*^%#EyQT&k=ApVH{=aymM zNB)aHG9mu>KL7ZmL@&4fk&i#-)-Cj+-1bjC{wUSUZU5!te^R~N{!>2wDAi;96GZV( zrX2s2>gD!7^6^Kh9^-#th(DI3z17O`N2wm;j~Y?@5n5vWu|mG_N2wm;haid{vJA!e zp;RyDzkK{ss>k@FMihU9Ef{~CpKtt8s>k>vh~ke-h(A`$H~uKqWBgGgia&x7e|(*P z{86%g4E*gD{Gk3UNFa_2Ad@kgm%ZvP=4f0XLwj$h>Ck5Q8Gms`L2#2+R4k~jxU@HSz@VEtw5;)+vRrj6>u;Ny<+N#NA&#rT)#Penu8me5t}a&( zvkhAHxdvQA%#F}$#MyF{PMCY4<;=Noy)pMet1p&C zF!w_XIM-}{+_Fmt&JA;atY-kWr3U7KX!YdWxj~qn(5j8~cwqKKs}ASI4aQs-EpKiJ zHx%y4!3%G@tL(y8qE#{VBUW(Q- zE{t1_IUKDOSVth{2((smtGGzatI=A+t>xBXUXRuWZX=dD2TR<5C2h*~Ckm}lZZkgH zlx=O{qOldDuq|6qAIWXSybUd1ZaWu)c{y5RuywJRcc8VC+r{n1ya%nl*zU2I_n{Tc z#c}&FZ%3;+_EHP(0FG)C?8mOylO6F{C!7(jxP#c=weS@W?0-ibl^Xc!AsplS_;?VX zA3{qQqxv{XeX_^<0FJ9G=EGRVVSGHo9p#Rp{un+U#}N^%5jYFfI9fj32^{}+_^C!% zcQ2e<&RF+g9N&}p*?#y*SA6#f`p_I}K8CLlv_0`zFRZT-`qdTv8iDT!uY05IjouEy zQhMMgobe{iRKX7q^!_M%I|%30K=gb7>V;L&49jhfpX`A1v=OcqTP~i{ay;G`-s|ug z&*`}Yyl42xqou?9j#zRNZ07;I_r$VCU@uO=9zDfP#IfIneI166i}85~cN%AqFTUc3 zqZ5wf6OFHp;?CfFSbx;Dpl=RN59SAG-NbvrzK_;V-1!LU7h37~itu_N zRXUbXSY?FyM|Nr7xFV_|s=})8`1lRg53p55R7F+ARK+ouK+7246+TlEEfduvZ0SR; z6j~+mwG8}pX|&2qg7UAiuYyEE{p2Y*`K+?6;+w3%BjpTmq)9Ds-mhAW(%}F zVjF&A{+iv|-{@l@)gOFTSye@4iMgt(vg!_wLoxKJC|XvkYFJ}QEZGX*HBptqTotYN z*q7ESYb;f;%BiYjwpP8v@_uLcRShgR9iP>}{2F`YGgnhp3-cGWexeUqm}{$ka&=U7 zRrORhs`{!1m>Z&14O?Q2xg=Va*eil3CfRitQwcNV5hwJ^?d%bMoIN9MWzUwU*>mC^ zj`>}z<0+1LP1R?#?xK~6^T7toZm7!SEYN4c^G4VowyMUe=Qv|BIa^f|e3pq;L$n&A zFHJEE)(frze$qnq5@(eS-V1gkEXxM(n_;exRt@ao3YcGWLTf9a<^|UJ8tZ9tb>Zfv5 zxvBc&%@utefPS?@pB(Vh1JSQesByu$ZiVy9T{TGMq4HFDscvv}RfAR6Id9bv)lhtO zsA?F#?t||P$HTbVxUwo?ACFLtRE@&k{>7>A({)vKFpt0$;HmOe`C*yGQ8@@zB~+ua z51Zpms)O%Zs=V>lYN#lSpS;2O;;Z#kWAM2zJ{yd;>$p{T&vB};s2zlLUd3&a7usX- z6N6Ey!dYGk{dkY{*2c%5oF%RoZ)}5a_Iw?TC92TB8d$SmcFU}A#SB7!EYXW*IHJQ< zZ?OFOD*xk7)Qw3-Dw>N&a3Mz-7Zc_H>g{Y>grm3c5o`Kd()hyL)%yZD1tD2{pk9h%F3-R@t zm_yN8q*|<6f_W)gOVD11ISj3N`2HNs^U+$a3RkVb9D&wK)haAuE|#-W6{%XST7!8l zTI*EnRU0sGL~9e4Ae0k@)&|vP)fUXrXsuUm#b=wdt&OT}s_mF#P_YF)iNzd^)=aEV zutU*`!S{Dy-ig*+)voN<=b^P3%h`>2Pj+d0RC_URL3=N@ClvD*wDzguRQoX>KS)T@AsT@-l{rPU0vN> z-7}ly?t*rQ?Frk9_Cd3m`64t&(o$x+g3^Mp{b2{f4x&TQAM{^`hC+uKZ38+29VBNH z+6c{HyrXEQT-T#v$IvcHE5eS;wORxXXZ?>OL33H*6X+zgBP*<# zuybMO(FN!TM_Z4!LI*jPn8{j66XYGTj=Bk4b#cXqN}43^mSNOQV)RjHB=i??E;>+vt-3@yz_vfO}6Y9nOToSq&_B8An3YX(OBkM64;bc4s zdyXDLkHcQb{ka(QH0)*AEA$L{9`>5jOG(eDdx0L)@+9mHEw5>R!m%GRyF1MBQP^9a z`FCOO!#;$44Eu!DW|nv5{#+M&L$=tT>p^R{#}0>mW_SJ)_LY6$8+XB=u?BJID;c(Y-K!=bDTM@p)O2W%~NxjqaI{F*SVh8IE&>R;{tb-uAJx2GVrFN zE7z#gIZl{7hoAIU_+%1&HRUtw`&6#&LrFJbOXYa)$E}`|}{y zq!-WdA$HkA%&})!ANJS5)QkPO6xaFz_ex*Jc*|I}@}BF}oV+jO_o7EL;t#G{f3DyE zzp1lFd{a;57bA}1DxTsiff7QIp(sjJB^rtjIZ6y-bV?42Np379wh{-$h2kmkl>{gu zlt@XeBtc1`cuF!QIf@UZP*N(XP--X*b;(d#D4mjC$$&CKnK(iWlo<+?EJ{|C4T?@V zJBk7Y%q$1W0%fN@C&~roP;x7IP+lk#BjiIlp{!))M+KmQ)D=R7pbq54n*tiIAvX{0npO`s;k@~9lth;ma@Q?@r!nxW>j*JM<|ji9=W z+5)wNYLeRuRfAe9ZIrgC9aMq&v_~DFj>M{{lccs}wV}Q}=TL#zLFo*2psow*40VB9 zqpnbU`gB8Wq3%i#r6=kI^;Y^QeNhPNr}S3_pn=dJWw0^?{UK?PG87G?ZXoT$&`@Z& zGC~=NMnR*MG0Ipp4jQjakmL7&#!)vBO@by7C!q0AcaHuinhgEHaYmrw&`4r;G+ELR zX4-?&2>cL^KA65@)WLENljKOlD(3$&5BbTa>LlsoU^dld+>Y6+M(xbthdIW1?(b~O^CUZEOlG;8^Nxon}U>$XL?L`DXgnTlOA zBb18WH9k9Se0H5!%4OvWJ(Cklvx8oibP-O*TBlX6vJ?6!G8CEloMRWut6alhV=v1~ z%n#*duRO;J>>@Kads}4Yy`L3wSgF_?r!+f5750Yf$_?cv3Wv(D8{JZFL*e);>~J?} zy`$X4?#XylxvxB+9F9Gd@h1Ke{D}B~_?Wh`j3n}IQ5#N;7_kx~RU%fV_5tl>@b@X- zrsgiA-&dX}PucUtPWg=Zl-=(s^Jz?edF45KQ9E{{ZpsVdQ_AJ#*`MPr(VOd(4Id~k zd7At2JilUh=}+mE@|q`fD$nR__J`@p8=mah)Q!a6C~xs^B~Rt4?N9b-p3)ic3|gn4 zH)On1-YXx_M@gTQ&*%enUzD%PH}qZ77v%@~N!>MtcsRaEgmjbG5{ zs-c?5f;8%E{Fg?{3HQK4w+7v}O^i4H|l ze<(537-~!?mKs})gW^K*)c9%wln_ctOoS3c(a06^{Gvotlc-76WGFe5LQScrLaCuN zYFafNN)PFH!3LB;&8TKVnV~GqBPz-YMP*)m}n2<5lxK_#pGByQ7$MN^@3wS zS;@{AvMI5Gte=R*RsbP+ql|JeLGeTIN?66@rSZCDf9r z6qJIqD2>WMW$9lKm4hO24q|P8ag}0nUOEz#i*eE;LCH9ZI975f1M3(UWrUK`Cgz_6 zN&_cHMWF9oe}^k-L(wsDeWS>;k4}uj*=6S}vJg7UobK;_{0C?1rQd6q@x zwG*QfsSqP+hf_T911nHmVOb zP#da^P-CbG))+N~nqf^*bEt*d65kANp|(<6)2kkRTd8f-wv<{+YNxiR)Rww-Y6rC= zrS_6Ksh!m>sH@sZ?WT5Dd!U|BFRUl(4fRp`;(Nh;m~joYALuvS;3^-HA%3ftWY6Vs~C5QxXW@A zb5NgCUJXGxxC*7XUxul}nR6F<<)pSSSF{LM^BYHU)FF&ropJxbS0kq485u^ORI*nY z?y%ulSI)FMty|dNFYzQ>Ji!4^vv{Thp6|c-qL{0UP(8l1N2;UL(P)f1QXQ*~Q^%tT z&G!yz;{YRaJ zW7OP9pQfM4AScVotW2jk2=ttBh%27rT-{cLUBkD2r zI1;oMFL)nRm#^^?>IufKtL)`S;+woFbW%N~obQQYBy>lJifNrYc>Me8| zx})Az@1gt9ef5F*5D5w=K0vpiN9tqs33>`WQ=h9Z&`anQBa880L(kPW>Ra?e(ktp- zQ+mUZ->L7>W#}&bpQ3xv6Y4Lar*hm&jC7Uyr}$SK{XQ({jhw@MNzdh+A5iz4W8X%% zpbzRt^%MFGeNn%v-_UpHllnvbi9SQW@PZ?0zc}hIVkGT7^iiEBzsWyA-}nzLABi6% z{VTu8KT`KqRm6XQ(Y`UZqAir)Rs$THuN z6h-Fi)J4&v($AtCMT@3Ir-w&&G~~+qsFDIkHYvN>B6YL;CZEVNREV$fMa2K07}|U_ zrWQ+!p~ciEjoEHdJg5gU#RB|r(aMA|(1&*u(FtldzP zXi2qXT5>IkmO@KOOoie@qt(>fbw(PY#?unAyTnuyl9yUb!w6!W_)uCc9b?U7-$+YL zNAKkHoX5zi$xTOlQj`QruO)`YGoF~q1a`7CjF5`COi;yGG3ghRqr{^wIWtMdQPQ9! zP%?TZW~}tYbkroLbX`rRWzZJOdwmo~<7WnDI+OnFgUm9K7>}8xAU_S`rD5DHYDR4< zyWDhk#u(Zx_PiA7cD+@! z#bq@|vZpO0GZAx-!#a&%XWPn=cCkO~RT1+_zJA?+|b;1Rf>c7**gr&gF*U1Uc(g+HYhp?LX!T7qZyiCUccl3EG; z6SXA%15dW-SB&TL16kkkC8#YqE-o2hAL}Sw5mu@8BEld zgQ{uOWqlQ>hE`Lng=#}}w7Ob7R3ECTHP9NOT2Lvik=7WMhN|ENSA&|6TNgEjYSOwr2!owUwc7t~c!H?2GBLR~9*iTSsM zdT2ehUZ^+JN9(KgL;axv+CXg(8VuE8=7I-8L$p7%p=cO1TpPiRS~8pA_>r7zZRXcf z8^zpOq0vwqZHzV+wS`*Y1&@YCXyfQHlI#)Mcx?iH1fz^cUFDo7Kohk|+Mj4LG)0@L z{e`AM6UY$fG94OBc^Vo3&Cq6Qf1`h(KH4m8HtGw_(dIJJBu1IT3RRP9TSu;1b~IucSrV zVr>apsx8u%VN20+Xoa>?TZR6ER%>gx7dmoBtk%|Q>$LS~1GG`wL}{I*&Ds`9o2c8Y zZG|_ZZP0f5u0}hco!Abv3)+qCLVKXS*dDYG+OHkZ4x&TQVeN=^6di+(YbPijk#rJ1 zj!tPOnd@oo3|a=AWmaNt=b-c0IdlP9iCsXepz=Ir7g0I+9G2mUsf<-&=nixjyMyjQck%bp1L(f? zPYJa zz1KcyAJHf1Gh;kQU!bqrH|;z60sYi|aR%3!?N9tK@kb!}qa@cgg&%f*QT_>Ox}yJt zbjZ+6-9k2GQ5OHRAys#D7yZ&y-P3(NKp`ly9z~CeqCwI17wogPu{(gfc^E^(^#CPDWbBN=_+@o)t=p&xkTW+4Su6OHc1?dJbk1ALWGN>$&vY zC?}MMa!!;N%BSb2ltWShy`WwQ71j&j3(}IG_Cn<4)Qg~^P&lhzOfRMv*Gr&qI9w~C zmqfR?i>`6!h!qz1&|S@zYkimd<$-3%EAW83RjWoBi)3i9EqctKU=b*!paqg0(zRjy<;u4Poo)uCwA z*Fe=}-h<*odPBXD z-dJyY?{Sy`er>Z@sVHPw%e}!1vV$k}rC7fd=6_6T3iz^ubU+ zvWB2PWRHHtKKf977#c3e>O&l^k6_f!`bheW!bZ|l&`5nWevCd=AE%GkC+HLPN!SGa zPkpjJgp{Zm|(x*eyi4)KaXa;d6`WyNOFL)L-o3=Un zdu_JBziLaVTaa->!If0P!{`#=0@eT}{rt%KHM>(E4K zgT7JUq;J-@=v&b?XuG~c--&iX+wp&(A<%ApkG>b}gZASEAAk-J528cRVf~2Yz0iK{ zsiT<45ck&sbO>sI9ny~x59!DC6Z%PX3OcEuCLYtz=x1p;12yL!j2J`QjprEcJQfiz z=oj>hlrG^f=$G{?`c-rdx{h7bZ|FDmaQznk2D%O1!r#&F67Qh%&^_!tItSgux5nDw zTkH2JKfvzGtOxKz=)V34daOTT)SLQK=owz{E$BIR3xA8uyW~IDUtkZ>OXww0jPnY5 zMSO%_LvQrA`aARq4H2^dKgUvSAnxBja8sj&!`VIzzc2&H6+$Wji92m zHAcl~Z$hk(8bD3(Cf{KqyP;u0rrwlVvBu3qNoMb7+=(AX|yt0qc%`m zyx`_gb7C{pn)X(V)XZpy7t~H(!FEP_ql3}W=tNy7Vk@IFu`{tH>H@XFw=}xq+n}~k zH>@pc0kx3F=xTH~dSIfho6!^Mh4n;Fv|i*imS-ojyFpD+Pnp-$5Z}p9w4TNb@}BSw z+Y9>4*KBX2HzR(A#kgX;&(wX<`WSs_>4W+~eewN`0a!oILQp4s2kQGn;ygr7XL|I; zcfogI)E@Y*#z13`G1#c54}$9I_4I+nAy8d?i17y+VhlwCpaH}V#xP^JF~S(h%8bG~ z;zwg0(HLknek^%oiDSqfitk7qDf7k}N_vxqLcaC|gVz71TW z=S*~T17|H$5RjEedk`ikCyD)RkY1}dlPvd?V!?$OAfgTy{*_p7D#HaAN7=KACUC*5}K+WPtH6rG9vE*Tj-vzp?lZULfBw zG4Kn}Lf$+JiHnTIk`@|Epe58TrEcl(xXf5aX*pT}tst&MtDsfH|BTgSikvl&XkUXw z+gf8Ct?RLfxXRc-?Rsp3%-LXUM4RAE#LZ|6v=zVE*k;r=wi`Q$+tE&F2Y#Kg3yX;B zjopm33){_j8?oJJ544B=!tXZr(!Te1+(*BCl=tIzqV3QDOpIR}s*Ke}RiJ~$A>*)d z1b@&tia&xsVjM%qp%ZvPC+NK&e-iD3_7V5ea*DbWcu{}KIE_vjXV6*W9K2U%oo0S} zD2e*ba>i$9-HdJJ&Ayd*&NwgM@d=3Mc@HJz{d1Ui%wgg|$_I((f75xHf0oigj&cN@ zl_MXMvp&P|#kq>PA18`)J&GzD7kKMjAXemEbb<4{K&-?O#MxKkEmcMyPqZ90E*h7N z%h*NZig6XYh^|4`jT^>I6b@ZBZprrBI z#vY+3kjQ#yJcUH*sqvNHB0Q5BkBw*OIj#4w=SYnHLwh0Xzw-NrZ{$9u&r9Q*_LBID zF<$+SuZ=gxYgv9v`#a-3_vSlH+|O^Jw?uKDzl2^A7a=jqH*Jx8UcNJWY~#DOfFpi~ zVjCaiv43bEppV82;}iA~eTKeZpV3$78}=1_hkh78jbA8|`Gdb=^Me@4{0b>%81XAT z6#jUIVv4>W)0?&(=u(OLpsqx;-&549saY90lB6p{sRx* zM*$QvBb!mosAe=XI*Mk-KrtbW)>tSuq+_x1vCTM0j2@R58^wd-;^U(PP(m}2nHVL3 zlHvs?gOU-GqZCjIVoGE}CNUMVpwwm>$tj_zdS$_8aKv*R<6lZo0K_?%coj2JH`HMtl$7cn<2xqrtzW*$me zP+ll6F(1kg((1{rmXGG=MB3>l(tS*RRda8al@R@7`n z&(dU-hbrI&moY1t6|pj?5>y$hgsMPQu_~w|@8M&!LWI?A^9>zoM-Rvv|#1Iw3I+as6|dU9lqa{^|;MgVJN&PtV z`IDviVpz=2mEtGM7>3SoZ?9>Q^gd>o{zz-e56>pQy=`i^dSCOGX6X%$er7*YlfTdH zXZA-Czw_;H4loCrgUrF$KywKC0~%_6W2gLX412!X&h-9F&~-^O*ixLyW2ea3}~kLxA_m61pThtDzc1yC`0qfHJ_m;&@=csdLikh`3gO!?v?r4e1o1tZ_Rh+d-MT%Nt+nwBlO7p zMEpqU5qeAe2WlRfpUp4kSM&|~&KR%J59p`)%jBQ2u)?gLCV#xmy2Uw!L$~;2t>TZj z=#asdFaB_)Vi}f&DaeK#%e6e@Lmp)t`H*P^RtTw3WGjjl)rw|Cw_>1}P%OOQ*ibBd z926IdhZh_liib~t5<+*GQ6ejmmDoyx?!tG?Bvw*%kF^bFJ;iaw%04uGIfI9+;uF)6 z^LoM>zF@`PuwKcm_hxb{g_Y7uWu?Zagj1muRvMJTN{-S(>9Dj`dP(W53{ZM}Mk^DR z0cD2LP$&APx3W;1g_xC=bSN8?#ma8wuySI#WXw%X4lB2nhnSmQS)jbcJd|?c^D&=P zR(`91RnRJg72yBCT2LXY2vig+LVg70wTjWB7-bQ2p*)O{i{8cPQ|xyvOyA;G2~<*! zQ_?Dhiom7uf=V-P8LTu%7gUBhVma@uHU)m~1xjbHQS*Sd|0xBym^GLAA-QgR0S^s#O=NORP?; zM_X-teUuzZPHceELJe8^HU_Gr~R&T41)fbD1{jC00Kgt8Jfz%Bo4zdPYL-0eaKdhnH5Ht)LZjG=; z;ztn&Sfk18kB!EUVT}IJ7;7vxnvCJrIBPsM9F2q~Fv3J@5;hDCf&RpXSd-~F22FuP z?TaH#jtFV>Uf0V>t_L=ti z)@s@FU*c+OjqJaa_|;rveKXgRC;U3%dTbrE!CG%^#5P!)=sgd=S&lNFxY^nwM_EnW zVr^xdt&Fn9+GcIHc33;H?PwSDH@3^#ZSAr4TKla1)&c7vw%^S}u@iZ0@&sb-zGnCI+=ZPn<^W0CTtP5CY>N|6PohIkBywh4it*ndq zOV(xUiggvcY+aLdo%$Qrb=oeo0kPwN-< z1OG$z`9zFlhuQqaO8&5ZB#i$Mj|4>`@*kM^QAT7$5C+p%5bK|bao0}3#a zAA&+eF-~MCGLb(*YDa;h5Tn}BFi{g7iXm&G*fF8#b}TzKiY8lP+i_4_nH`N7*N#WO z_*g`Y!f5gB1SlpH&rT>y@rjA-#C8&t6iS9AMaiLL_=H#rd_uhFo5D_sQbDQhGS`Lh$1Hol!YkzW`(j6#hBTkY{YaZ zJCvQ61LcHr$+k3<(%HG~%JSWi+s#Uf%pJHMTevWNvxe){CH3qslOg2agYA4fuk zh&gEyRKPAwpTfi7!sZB6VJc1!xz=4`5AwJEiI}8RSFpR-UF~kDJJbU&xD(Wg*b#N3y(=Si zw0q(O^^{kzr`^l$ZTGSJQrDN*)$T{^N9=<7L*4OR>;d@hs0TC<>w!8$o#inG*n{lB zm}nbl4}t!`hM*VbALO)?XD6};LLJZ$nb*M<-{&vPA@&>cUhwVw2lSn<=%MydM*I$o zam9Gwsrz9Lvxn0%42^(><44+~un}mOJ(_b7<-Yjdw2p+t*@(=3^c#xrkMGaegYg6G zG4@z{oL$Qr3)Qr0S!0Ofp_RE z!dgL$$$p&*EtT($m_*S#hP@J7CVQ{6S5aCnd#|#KTdU|RdJ8Jf&kF^hLRMtiXQg~g zg~(rp#M`TY6+q&hCNlF|KAhkB&;C!o^Blb3)w~JU*lX=|b`5L2y}@2j+-PsKH$j_- z;vQQEt&?}yD00_vC$Eur+(vmHZluQsJK`&UgI(9!EZ|qTeOTm+@!OY3K?j#%~7I!cAYoYb>daZSBZ~)(<7PxfYMctasxe(BZtdb-{<(^T*cgP5yiRQ zMD^^)yu%(7>+oiK%y~X0*5wG|?CbK*t1gcxT5j4;?5FlK?1}x{et|tfFQHfVYx@m) z3q7;n$@cf;eXu`LerA7yKFOX>?a$C>+TNot&{ymW`UZW+zM&tG$ogvkghc75{Zsr_ zL}q-qf1yauS8~1*BROJp{@Eu-)c@q4b^ApwJ#5AKWh%~3{sQn1EFx--&R;YVWrKf? zgI`EE`}mJb`{e!1ui2^HBkyxXw(sJu-)f6dewkb4^Ad^Cli87Yio*B}jriWP9dYb1 ziwD(l_(#-SO#IJ-e9S`u6v6@&8H(aWb)uo@Pz)?O3ZR&n$nl_9nCR<3vG8L2gmx^< zc9Pk#oj6WhC!Q1ENr2)&afk^~TqqGfp%WXQ2qlJMtjFW`_zng~=-56oHBm^P{3rL41Cv7``AX4i&?fa7tpu zQ7NdDQyO1{oMP0L!I#A%V#Ii5sVT?E<%s2JDgQfGa4JwLfhs~3iIq@gsFG8~sfsE? zRh??Gt}?NjQ~h^tb$T?h%R4m~t%+UJspZsm>fmdlx=>wWJyad4PHfJ1Ude$eaG1LSvxPjBeX^J&K z&7kI3Gt>fViM2qjpw>fj-(DiCvs$JlS2HZnSiwwyV<} z>nPj1bC-7~?<3E=xchyc&JR4L;;C?XRwMD0hH-D|+?Tr31K$(tfqFr`v0kVT)Ys|f z^oM#m1Dr4R09oGy`o?Y{@^we-6yI#!8ORgOAD?H`fzBXIJOv4$!I*eD;zL8Q_$VJ# z7!!A30ceo(hcna}h94w*43oLTs1bP<^`gxZ|KW{1kt_BH!x;_@C#oEKI9`;*Utt^w z4VCi{*T0-I0;?hKuMzM_c{dj#j&w#beqsDD=b%08cNDvkMY#z-E7WkBVi9qK)65=0 zc_d?qH`FO;6l0u%&e)^iGxA+~kkSs`!Q1W8&UWHxXTN;U9)m_Z$9S)vu*X27oiWZ> zG*0q3XPbQIk9JP*-Wfxicmt)j$3kiGsqJy(rjz3mk-Fjwru*Gkp9jk*KvL-kxzkzOJPjn_ami(>sL}wC;_|5es=TB#{GsT&T zO?Li5)1c|j3}+_#8~O+P8_j}dIkWL=_{Lew*ZNxGI!UALInFwJE;h%R=>PxqAXmhHJt)dQSiQtq>MTRcoh8l+XC;0Kyuw-K z{6}e}q$SR3XAN3P+ge!Utc2EKBIiG7y|cmDh&Dl+oh{B*v<=$s>~MCXUC?f4kF(d= z=j?Y5po7pM=dg3cIqDp9j-##6QRjqn5*>q1Ij5a7=qz;HImdY0$T{wucP=;=(IrWj zoh#@fbyu9LjCUBm;#_ksQ**(&4jtrZH_%NeoOp{dZ##F;S?G>)*SUwzLid@C7~v}P zfTNy8_n`BPbAkGY9P<+6A9fybu407S&`swt=eC>CZ#qw$r_M9yx%0w#>AZ4Y)B1>< zSI!&ft@F-#?|fj4kCZ++pPetP%|_b4qD|0e=Nmm=I^Ufi&QIqTD;9}=Bvo-=QhrWP z)#Wex@>gg+aEvF+>AYjOPaTsVg5NXpL&$a=*L6MDcLNlX{3~PTIFZdPomAS-5aon#?TsNNhi#*IFu6v&KFsRq5i$`m0 zH@=&|eaE>bgk1LszvfEhCU%pcq>>W3$xw3Y-mxYL;m54oO|DEbH-)>Gdn6_2v4^-D z+RfUga#Oj2LhephY=`4(DkQIx88~-7N3Yb51N)Gdi`moUCrRlZd&cb{{bg{{Ss3_{hoTzIL*69kRLE z-5hRCu3#>AJ$JzuCpWc@n}@ZF;^wA3m%GVHz?#N~@^W_K9P>eW-283bBntr+^nc1RLZ?2pNrDa0jIQk!zo3*XuSoM zam%{pP$>&a`fft>))CZz zRf$hYP+it17o`SnL${IJ7;EA-MS>b~^hQ_}>Y7Mu#`#xpo72*m*wAeTHzT%SR^o^a zpcZaRN@5l@S`FzskHerYZdbRP+uiMf@8b5P z)Qi~7?M+=b)CcMd_eTAo{$zG1tB=edK#y+J^g;vZC)&Ha1Bw0c{fQO0ZVh=36rP;y zJYiAro1LimExcdiG4oGO0(Ks;|Ga}Xu~)^REGV}7oxgM#n_2!~5B*O01N+rOCl4#& zQdiU!JN0v(`j?#BciKJ>xA0`X=DKd>T4&>^ubnhJzhVdb2)$uXc*_p{jy-%3_e?!^ z5cZbQKX9z`ti9L|t`l8W`G|bu9pv4x8#=;!B?Z?hpL~ixvc8|Nk4|!)%0cKYl#Kl% zIb4G4HwbIS^H_piD4d-nIZskap2mz^|zhx&Q5!Sy>_rW#Qnn^>JD>i*?UbEmsA+?np*?mzA`T{^zcC*SKrlb?$n110zjyH@chL&F&VCHNo8~cQ4c3=5BX)xI5il?rwLF zyVu=^?Z+RWb~ifc9+K_5$=eAXChHK|LypK2e1Nvw#{^cBTkGjj9qwWg6 zYmT`~o#WUscNt$eE1VOwouK6i8OPjX_+_kTTAm1p^-SfSbWgdbv6Jo@_pE!)J&&Dr zFSr+Z6J5eCvZj}LXI*jkIal5N*gof)d)>X^-gLv=)F34&&>_z3bj{?_+n}2gECm_^uJ#Dt5)W$J^$@{|Zbqn)8@DHARbal`0ezIaFe|W>@$NrCur+Yv7T=6`Y=zH&((Oc}j8+ak_ zhZ`9Sd9U0kUQ{od7u^fo7+7>KL{um%UJNfLiUq~S$HB+-;$gAjn699B#8|AiSp8da z-JiR+SfN|Y{xdU-&urp*s+Yh^==okEEFrVG%M2d4@nty??FqcZ-ZwW1me@OCet;can+dnAo_g)_P0rtvPbs%gD9*kwu~ zSKLXL_@)tObP1ozOUr0!iErF=UV6q)@1^rHc#)XTH&-084u&T zrlh2@UO8IJdsXCjO?j_^SIsTsRiupwm4hq070D2h?;J?fl_Qq-%93A>+>%};ud;XA ztxT-qz2KXsHcwww?4?xi&Rek(!t& z*OYm=WVx1C+pB|`%I}&wlxk6`fSSnfnhKQaGM{2zJ=s>4QZ2X^u|7u;N2&O*B*hYQ}itX%@%!$p6XC z{ED3BoJAw{mFw(zA9;@6yG7XrbgU>llS*{F)?OR0t=A6U9&YP(@H)b+y-s*h+sW(f zb-}m8x_Di^Zcuyj+ECw`?CwxUYC2NtPDVR2dXU!z-vutqb*aFU;Bdt3JQK0;vAwfy zcI>>HNUn?6ZxZm7B#`@)cv|AKKN)y2SDna?${9Uy^KkYdYCdo#pV$q=PHlK%4-3dR z&vTyL3zu)NZ1P!6&mNKzOYi++5C6`d@|E5Do7gT zmE*}N!LF2r{YuOwIoD0>eNniEX}CADu|6NTPsNofN?Buv3}YTqycE29FS7fIx8EbT zm)G0tna-b8Pb_op}6 zo8nFN{-VbqZyMP{yy@NyZ>IOR_m4Nro9)f<=6dtI`QE>@O(SQ4x6oVUE%ugpOTA^@ za&HA=tz@)S-hbX|j5*c^tSPhvesMYt@k!~8@+w*CT|mdKi??py&c$QZ;OoU zytTx2-d1WhV*6Z?z1cf}t;b*D-FXrFz*W`Q$uGLwyw%QjZ##aiv%?c#GfVm1%nomz zv(sBk%Ua?#ZwKu=yfyr`CLPa0239jI>$%I@?d|dQdi%Wn=m2!kJLDZkd!YT^5$cY3 zN4;a-aWZ$|cX=nMIY#|4>Q7R8kla(=Y3~fZ&wA(3KIlAUG0q|A0(ED-i^NN0UMBZ6 z{tBfFvi_2Hm8?_r_{N={!2AF2rE*97Udj^xYKnK=yMbqoAlzH2=956^a5y zrz|)I6w{C8$3}6WxRhg{c#z}A_Y)u&3d0LlpfKi<5Cu>oKe3+#C54g^6Qkr%3O}Wv z3Z;gUQlAE;h0@WM9%X$63SSPDhw{^>0?G_kQ zKLaWZ6{238OFF0yxwTMzs1{>1Kn$~s4-`k4;6$O(^rg86l#POL^Yt?eiOeb z$_bU>+yys*>N8eD)C{VE7hDOdEBiNMc6I&ceha@PY6TT%?OLNYP;0-f-ww5hiu)Z{ ziE6BFala$^%~2<)C95sgyfc)Mx>hI?RGbmAp$<@c#>k7ZLzU?z`euYW(@%_973#pc zifdX8>f(3xyP@t-55K413-yLRdwu-As2|kdAK(u}-TeOkAb&7*{b(8F5Apx-hoWK7 zaCitB0gd!W`J>Sos0X7BLqnml{y2`-l_QO%e;=|&kC}=Rp>y9Qt-TgoP$*7B*^%Q?98cS&sWpOS8p)vknvVJ5q&7bbiKr^8k@JDum zzoA#`5@N@Q2KoL!v`*s*6f}#h>6HG#&+=!ZkKS~Djz8C*hvq~766c}?(7*VFXc4s7 zU*a!C%b?}{3V$V91^wr*_Sc}blK%78`Rn}+{zkM3+U!4MPx|6*fwuZz*q1(g{h)3B zc7F%j3GMQC`+Lw{NxS?X>|Ecy-Hf@Crgp%81ZzcXP2qU&LVcUOi*E-z$T~&l$*Up)K`GYQePNlfI5?x z3AKVM@RS!tMWE#VWw~1>layTiRZIU0bytYuEpQcz;a~Hwqj*qCcG$Ei6;z$4NIZR6 zp^EGeV%N$FrJ`NzNHw8)>>6T+sR>nLR}fqgYR_{j`nG{?_&5D~`^bC4V`38Ccy~JLiSI}$h6?y}`#onNI&=dc?{{el39@FveJ5AN|rao0-#B@7Y;kN8^n`;#28DBd&gE)S!AV-ip$iqD1_&MRclyU@5 zy}UtAYIEar2l=r4(&r@>2nq&;h=qe9oa;lcD1C}iE*KOKR{DjAEBz8dN$Ls(t9ib2 z2BjGNk(VfV%&L@Tg$f5{7^Q6RfpWs2D3qV? z46!()RHRfMF3Fjf;CvqPWtc43#Lichb0`$7VTApD6-L?*-SJ9M+RvVN$4k!9#4dEn z7nGbcjl)%sNzWo2yD(OS*+1otkudn=mF5^_sI80@3uf}xnC3t8uJPR$%dZy1_Nxcg zf*P#ez9!nU zyELMIO-8uFP8P>+9OMfA+oE#3T6j$&|GL6Ku3$IX18oWR2K&%fXn$}ZIEc1Ghl0bw5p)zf790;wpp($4;503VgEP?C z;GC>K4sB-yG0uMId~hMSh%P~wgDb&RbPc*5+z4)>aOhTWJGg`HLbrl@!F_Zay2LRb zp!3kf;1NeY&QTw7yu-}oQ1BQ!PW=;f7J5paIMy@hLhw9zfi6OuIoEmeI&9`_Uk0zx zZs>LJ2EU6lf6Z+725-?j=rS`rfc8U|@#0+GL2rWh^nOW?H~0_1NAwDM9(e~WGLS8Pu9*d83S|yuL0O?}q3p!0l(L~k^5>fDP>xW}P%e}k$`i^P z%7^kp1wsWwg-~IraHt5rXsB4II4S{^43!E^52mw=l?;_;b*Hg2O%F%AxX5 zg;2#%B~%%z9Gbz7^-mzE5F_VD`JhVVlt<;DuRN*Z={wCGT7_d(Mb$!8Le)bxLN!q> zs1~s{ssq&_)eJ2ZfuyMK@a z8p!@F&apX^n^h@-L`Dhf#NIBbWoQVy`{1AzG=hCy?DK;DAc}pyb?A?vO{jH9@G$5; zyP9~qZ?nrh54=ld1iflhPYqW&;+o7`*Y4rGOX(BmlCR_FowSI~KKcd*lm z-Lh?H2i7h$pWQ!#+K0qjV1Cdp^dCERhfs(Ak@p@@Q8Y`~@Q49WVRwcg1{5WUq7noX z+s)|v8Zj&82q>6EL?sC3oC7GBb0(;uvNLPWf;nfBIp_30GrJ3{`riBBd;R|No%3&< zoq49GySlony1IIISQNv6G>AV3LFqux5YwdDS5ol|vF(%`wVncrh%Hh?ItcU{Sc*0u zfbwup!ta2L6pTD`&j1Zqj8KdOg#wLIgegXY!hyyp#wx~vB7j11KN1uL6s;JKvIyLX zR>UY`(P}tKV-yn<6LA$Qqe+U%xSEKvNs1|oskoXfqe#Ux#dOdNnO8XK#-ME!j^T2@ zGl8an_ju4Opz-KqHfRpe9K|B@StymzT*W-ae9!`*g^ESEnkS3dKsrD$r`6HHx*kS}CK|C|d_wk2@O_8x@;C zn}N2VOsc;XXe-WA{cS+oa9#`A4zvUHHiLEo?LdiCzCkWsi$2zX+Xh7?b6aE-laN2)|8MRKt!Y8RsOR6h#eW zI4#9SDt@PtfLK?8tBD)z#9(_p!giZsOx9fI_1jY|_#``2{p2hK!%tPWPmCnFuPGL;;$Pk;LWe1FaVkAe=z9X)V;uvdwMdlrAejT=p zH9v!QGPHdLBZVztw&ZiVJkz4LkG)EqJ2_rp=eoo+A6YIuC*kP9WFhvUT zyBms|id%{s(En^ijM*q1s#uTg@wVcQ;x6tbo8Q6Rz2^7O>KfHQyw1Aj+$ zV1jIdK_-x^xUF~y4nuG!$$Xz8Pm!;9B(K4b6pyh|KE_I^#EPDeRn!?Ps}ok}Cs=Ds zV~tg!W<{);OR#D_RosKz%gvu*u0Ds9x1do9PdNk)AI7_}d~AaAaja?6VC@WO=ml1> z7OA{tWAUB93*iCO5-+oPZH0DqJ!Dcfs;2%odvu#3vHv6~UO- zuN5xX(Y#T-QKSOBRlHNYSA0->RD4o=R(w%>ReV!?SNu>g%3?|*WPEYA3%L}?CG5^0!H$)dj0N z8-2>as{f75*JVdpoVB$3*-spjk&P;n*6~2BeL#Uu8dKe^3BWUmOEL zK|lkP1C_y`5TO3bLCV3PAwWZw!<558BY;LKLzSaIVL+q7IUF|kVTe^Wffa;^n6I26eo^rnI58gnI@Gr?Ht$`LO7s@_a4X85S)j*Yi7C}#;pv6EV zpr0k6p+HNOamskmGN8fGa~x<9&{F8E8z>H_8+1Dw6epwZ&|X*Qu!nLvv@Pj80mv3s z8vsfKidL?GHl{--(Xf11**Dq&wTJyXC|4?1p`ZS+`)cJHeQ@EZ;eBVgGC*|y!$({gyl7-+Bw{Jauo zTzS0ha4ZKcNpr9okQ?SoExbK(tbw^x6K`)E8^fSv~lUn-%^+erOAU~j7Oag5J+KBqe zpcJ6>C`kqF2HJ!Bn?c)v_9*u%(?Cf;ThMkVCK_Fi13IoefmZ3bdt7-E_cA~t&@r?*0y+$IN_kp&26PtaoHA3H1v(Fu z1$+T?5$KZgvhoV(EYKO$zY4krbX|D^txlo*y7DIOp97r-x~aUSybZbnbPaqigDwHx zQQlSF1KkID0DK4Z5GY%jqs#^60p%+nDIbIG0zFYaRXzhf2YR7=seA=`4fI0!M)?-> z66l@sz48O-BhV}5C*^0*7oe}oZ_4kWA3zLSjK#k;$3OmL*b;0>7C$@BKEl6;dj$^P zK%Y?mF66+Eg0lHQIm%Kje*B8f1u|tzvv^#ZEsG!dFvFK8_%H(4jD3#fR(d^wbR26T z{R9ZgIovg8EkRa5Wms$Jfd-V9VawsZG?u5za%gLTnjGpphvv@8y1fl#!(M>4GNCCO z)`q<%>$yBo1uX2((T^2S1+@nFN zs<4&WRQR6clWFijJ2pl3$*Qa!yB&U(0+LWQ)?WGtsnAw6_8WBPz&fy>pd&}tiFF25 zXC2wks8t>G1-f>`IUlw%MtQ!nI`mrtx|OV0ip_!k9s{|sHDsNaWL?-D%9`vu*y;^t zNonY$9LNiWW|IKUF%jH(`WZ zkir8}dq6G+NNofOwt~ClB`2e1qcjUP6*0S|ntKo-wjrjx zhCXhh%~PD6G0u`0X*Im7qmF>MAs~kAL0hS17S87}Z)!tNwc({VfmyV+X3beMc#kE{ zH!zo_`Cp#Bil~u}Xt7UOg*}RBwI1=QDw_=C0If>1${sy^fi$mRvl)giGIY{Zmy0PzZg~ySYQNjI21i8CulTZ9qCgaK0WxYV&tS4KK zt-po{ zhwY0No!NeDe^3BWZ`26{1pzgLoC82SP(OAc8w~0XL{K7?hXD0q2eE@eePwRF*&(1o zz(deJ2s9LE7(1LD0U8Muin~&sQ9xlB`(L2ZK%-DL6ci3Lk{yGZW5IP0C=_TM8-e3k z;BmMU3B5Ij_J*-hY&1I_6ay5?PGBd3CIR_lBmtma@|XkI$)G@7O<||9(?HXKRIto& z&@iAG>`e4K3cb(3-7rWr8g-^YvmMx3pxHo^!B5iC93XcP%q=Yx6z^+Ug% zKns8tvWwWo=x++Ugk375x@??m7cY291K6fJYAj^q*=6i>apw4cYj+*^;U1iZcAO&!s9Jh&}_WS%Hn4IGae31}6J zyR&h>BhUhz`+@&d^e_YWCGH8}7z~N$$m5=hu_xm0NOqfS)iJQ%B1kJ)VT7#zFrY9X zX{P)w`-G3|`Ay}S(MX;(&E>h_3*V>Ea&!3pJe+&rstvoH-GLErVs`@VVw2>tCj+Ih zsql_yb~n%-_=tp4f%dX#m`|-Rm-eDfI=c_F9mo%UGYQlhC>dNNo;!f{vj^A=kQzvh zvj7r-M4UCCgFpvyJ_I@pbc8+19s?Z*I)S5vPXg^lkEcMVfldLp2Au&qgR|7{S)j8x zOFn!KXfFIY7SvYuvsgI-w851hWS<9WBcn9g_vWE&4eU0M&1ADMrgV%a6E<53t#5|ORA=swT`l-~e71j=S}*j!K^P%dyj=n>Fe+`kRF2lSYI!afB( z1A5NB0Eau^^PGLjzG7d4-T=L2-?8sOAAml>SEa~y1?UsFNjyITy=T9$UqRo1-m%|t z^+iS>*dHvzFl=})~!aV?|hu~tunR58MGf-I|GtOMDV+^F=lw3B(oyRIr%A&;s)HX+L zQ;y>-Py@f%4&D}=C9nm^3doeZiFyxM7RZ__$Jv0&16ANEa+N@~K<_ceAD|By-#3f_ z|5uIs0aTf*!r6hUa+Sfw6cUx?ZowKHddJf&Ts8D-hdTI71=87Zuh>eQJ?J$wU6ONv z4jAw$2@Skp9dIq7PtdI+=g2v6pP(gY?kz0v0jN6X!qwnvqNl2yE8Z^LRaiu_OB{UU z8f^5Dt-;koz1rMmwhs3Zcim9So%29R9nKTFt_yy}F``P`b;PxL=(9K^aO19_?KRd4 zrL{RP&Knx50sYp%*^{fs)#n<38Uk5DW7k+a+;PF!EYY$WMv12dfUBVwZ}fZ(ajiRg zzRY^#{uOxfOZ*q*S8Oe`@`N0h;m>s-rzdJxLyh8)<`rrb$I%(yPy%{#!T31b^#k-Orq2PESlsVVf#fv+8;wS$Hw{cBO4JX6Y|EDzoG+zYk> zq_LIJb2$Q3K-p7_-U;6JOpXXn@H|KEFI?4yC0?@KFp{RA?p!xm%nLU5!nrgo;|0w( zfN%5w`2saW&2FH2K-SQWFQ^BQ3p~;t@1F9p7S4rqjEBf*I5!d$in38$7&jUe4%Cku z!;J;?2O7skaFL)WplEJ97Xyj~n!ruuCV?gcP2r|;(?HXKW^gkh#Q;b!gPX<8=H`Ir z0?kAH`P>3C0o)pHEhrFZ67EmN$U?bwXwe6E6To3A`1V5SddL@q^EzCw2a7jJ zf=&UQ=FV_uLFa%nxh(EH=mOA1?hV=Nep2S8=8yDW`&$FP3G z0{evq_NiZUnl=618Rz#wVPdJ&;I9@TtKjUj24W#KM zPlKlY0)qaFIba}E-9KVNPmcl*E1UrTv%>z2dwIGQD6Bc6<^QTMuRo$N@45vFE1Z)5 zv%Li0b;FCxH2Jv#AAY30C@nZr8PaY>3KTL&yQag3hm8sg8Zn9q z0`K?WHw!$Zdgw#kwk|?g*6mG(biEk;u0~%Hf9aZ=SDLhOxAr|;OgO0LEtN}83ut+_ z3mOt0G76Wm4h(Z|?T;TZazp9-eR!%D!^E$b8ZaYL_Y{+bOR|@*4GvnNrIk`zthJ0g zjtChR#C!!G&8l_{nR~D6$xRNo+rRr-4DEl~Odf#6+kJZmoHkSMN11g0+6txb^QA|j zs0ZnKfs3QOP+*y_JJYG%DEcEZN{D*I3sOU;*d@f}_#nFK{Y+WQ5i4(~+yhn%ri(_( zj4i87@Qp3j{{WLTWxt-Wln+P&LMw2apn$>5{82+`t@{~d>%K5qzP|O;!ti@TDHGHj z@-WPku>ops%I=I8Gqv*ejNRiKyR)1Kmb>+AC3y?kHV^6-$jqoWmZs-4Cj*aI$rnG$h+~$d@O*v;W?nZcRaWhK{N7D9bb9ujhy3i2>~W8%fwMlZD04Yx@}WbS5uexl4EXDc>eI~eq9j51xID7_a(~LFoR?K!r9~hO_0AKD`@NEV z`%RRYFRH;MnaxF+7tRwu%#_fee&GFgi@#{OE)FtZ)Mv_faiGmm25mr746||K`;_{DCKO-}i1fP`eSQ$^4N1s9z{_QEfNX@^)w1DZFXvPZA>~ zMhyr39nhSw6ePIrK!cJE2o`pGr z8f8rELizfmXT#*F=QpNmBM8Ivm6=Np$QUq}GIG5W>LizZT-!|Y<5;~F$!!byeUjHj*Nx7i=jt)3Rq`PdGy1 z1xmNeah6yjurTOCHy&L4>ggWLjqq6{sAV{9w=h&z^0D^eqWADwMDtl}geFW%+Y1dZ z9-WYp^g*li>fcR#nQ>>-%!DxLu2A$}J>A2d$@iB~z?4P>RKEiWwwpbT?dW}Y^;x5xV8);jkDyV|l=P+fWzGUsq*=;@wC zJYAAomK|qwBR7+kjzOm)A=8B%+?iz~buG8&5fZmnGLR3RCiv@7iDHec!LRpm+2u-4#PDEhCSUe}#@I(&g@W_L;H z+9^4wdyM!TW%_{}sb9i#{`c+}gqD%-@luko5L$ZuOXeO-N(-JgxhcbRR5?3Te0FoU9B*3n9V)huSCerA0%WWBw%;mh zTD~CJb!Vae?-bL)t{`u*imynSVlTMdB;*m*tUo7v?P;w0TRChb?{EMJ3)UJ4g1rqi>Fo)aJ)CJn9dT8{Ho2Cbp>U zD()$%O`nfw^A^dH1wL+=w?JrJ-ZKArFX~%ol~0t>4@pp_+vsnklG|3*ppag<K+{ z>Zi&W8owh(*7ir_Et=t{$-NM1@hTL$s3{Bb7I%|SnwGgyvOR(-!vG6X8KA6@W9L=tCEJI_pc?;Z7a>aki+=F>ieLTHs`wmiN$us?y?K|~Tl!3Xd{z;Yu4=3bZ2mxHi}&NzLKg(rTLowsJF+NxQsQL~_~hWkq$B^A0GaJMba0f#(b{7jnZ}kp?}qyU=hcZ<#LV zE&oR8$Xl3mW2qN6QnIF;TGZo43PvcyH3q;i^|)8=M&~~2HX10<<}Gl;e_BHIdO_Zj zF+G|(pEQ#!Dz9-)C(VTYC_`f;gA7ysBKf41Lr{ir&Gp zMe`cP3iVNjhRITM+)HYBb&R{-qDAr+Or=8RzlN70dCPJrxUbBfVV1)HQZqYQc0}Th z#el(Hl)AH%^Oji2AO-BD@?Vu+m${qLnzpdLO0u3@g%TNNtm1^=W*bbmtf_|KFwCHr zIYjieQB9d1i2fKR5qS%Pyk+&U*66EH^j|$4c}v;Q?ld;CBpOQ76xAb3ic%S%Bpfri z?orRt%w7ya%c!rMx5!HWH=bVCgIR1fhE{w%MUqlx4lGDzV3r~=FSG2j$CXJ!0dtKu zZ;@kzzC&pmad;cX^dfo7YRIXT{l|}0=th#$SC$>&CiUA7DmjcOb*If+g7TZ4O7ouFiPf} zzecGUU2?Txz73JRh{_AseteSCZ^!`V)QceMYI$F>qpXqImiNgSlrfB(e0|B^*K_5n z(*<+ilC8v}E)ojH>7N)&A4xKGQzEFQguRc#wyiAj%++Qp*URImbzD!WGbXXUpAcNT z51F+f44q-q+ty2B45ren&`F9)+-Z1_8`JsX6ycfW7%CKRB7gLActW^1;Q16GwD~ky z6}?|iSFdvy4tNdG?hkuYvzyNA_*g?jAa9E85&JHk1a{e2K1FB{&x7e z`u*Xt)U#C8mR`)of#bvqq_40rzNhT6 zcIrNYa!L={AyWE;2H$3{4OAQVdQNKDN*~@KI1e)SUEe^VIq~HwuC-c`%H;qmN$FL6 zXh>)%KHm&nYnUKckOue{v71hV*d;6Gq2!BUsi1OY!zNSve!X z^6ji*zAvwA7mLa(`C5~HLxV#5;X!~-{Xz!@g`uQSS-8->Vrgx4BiXN|0^kBa&Y3t+ zlf5~WXUZ>VT(qqT>gjm{{+=ny9VLd^S1dkt)7H~79q{g$0aNK~C&T9#Q1B~jKfiTg zs|{v4)>K=@F#Rs5q{*y%#ZrBg&_2zteFm&F?iN0KA=Qvdv`eG(EktImBXu3y9WDq6 z!PVjfbzGSEx$1VAH!zjTqD!@xug{cL9(uXkn@=DA9bXA)`;@rqUs5nB`s4#H|Fc2q z8EMZy4a!41C@FdyJhmY@RM9Xd#mBYYojey0JLRR)jHn*_tnVR#ARZ^oq<(^IByx2A-p}hR@p=aZ7^)pQUTkWPTDx8QoAn zRrap+o92njmD4j0{f3{kFtp3`@v(WumnUc8c(u#z08N_L@Yq(;vWfl} zMjG!vjIpa{x;$P9OXKaHSO<0RQ76VrFy6Jl;U|svRF+T1;G;ne^y78WjklR<8@|)S zmo2*Sep%B<{+LG^Z%vH%e8X&6KFQ09dYTklWlt;oT3T9B{-C#c{?6O*sEagp3$>;F z4z^si{dlLg~{fE8HxbPrGq|NH044*SSz}KcI+wl1aJQ8!4KX_2!gVe|Nmyy3J z{pqXMEfGuHRz_%`Xzh3s-+ay>_hZCv{iQO70j5$}?e4tnyqTRZ9!wf{RdDH3MsD*< zepBqMkI$NGF$LZ>abkvQ|D*9@sRvqb8Wrywijkjsjnm^~g z*oyv_-dl9G7Az_5JF2V|+zy9Qn}(^{^fNz7#XPb-aCoA2o;_$ADh`>jR=Bi#h`i!_ zJ}L0uUU>6?m9AmYilqgdyiUjURBy+MZ=+k~GxMWKs-~OxVBj-(EplBoMqGPkoS;dY zD|517PV$@H8}qY*rQJ{wPM&K&+*Dg*MXRn`#aic^3K!BR3B^B#$#biNYm`{tZJyfA zyQ;i!&Q3VarkNAM}VRz(n!9pk9Q%JWH(&Z0)CiAEX>C}+!eA--j zv9^VD*WMZP=@Yx7&mugFtnfEJ+*Fl?oZW6~7jPbOK24uQzI@Qi*%5M5w|Od8ot!Hn z=WA0NO=q2)g>I+Y7mYsWld-hxgn~&wUgvg4b(3E2cKS)LcRT&0FPvuD?a==kM2hnJ zZ{4nF&@3=aksK_g%34wz4(Q%6RSslV;eb6K**4NUU^X0Z_=L6OfzAQ9!2xf+@;>NT zQR{&J80ZQgSo*_(uI}#wou`|-B_d6s#ZnEMR#w2eU8#QHdkNe#S( zaytJ=P8-7a7q|Pi`^7)B-y^+@?JTwpFH1Y74wF}ecEyZ@m2GybD?f{p{i|cRsW|s? zC-L!QPWI^`*&BVUY{=tZ1x(Qx`mkTY7i#lH5xT1V#EfD(8Sj!+>ele#%0+hF|G!u*3w@~IVXD@Cgf5s_TJ@uZHpY0t zhi<}$l63YNuk#@roqZ%9>ZkP~**=9aM*9rahuF@vRd`u(a+21E(ikIQVB6j5s?W5~ z9khoJ&4&*?n#{?ub})R%4nFiUV2ZC~@1GYpX*rOycN~&Tci&k@O3F#lpIw5BN~lk%{?p}X@QXEk z(1mHfY3Vl)O8#8PvoM_uITS4>m)WSw(v5oH*&eFO81<$PW91OHyl~X=GP<>J)N(rc z2cq)(VS{+D$(wxBbz&A8`@f6IW!tXv74PKm1H)o{rC}HH`!ktjVRrO~_JKw1qPO*b znm!LIv^6gcy3j7tM-cL($Ny=@CE3MWYZsYip&tLcjH|THF2P~38cD=LJ^rCAQ;Mk4 zTmLGu{0p(Pt)*|to1ZJs{DdE8#;W)D zN652kQQ9am>~=J1r>-Z*n$N*k_z_F8d}leH)cibibv)gxM7+xQHgG)cq~rN*vX?Nh zb6Eb{WleJU`w!!h2rp#E0p48hD8O=uX`_<;sW&PMzs<9m~~!iRuQc zsIXhda?X;@V%5-+VhbJ1)k8w~zrqjli*+pjw1@nvN>7g({qj`-RikOKgU4i5x*w}A zOiEj>zG4BH{E1C&m{!z4yj_2fw zRfLExuhmy|Jc|#E5TBfRr@p4+c_uQAFE)7szedONS5bjy z^$;%WSU&5~Q9Q3U6(8tW9zNcmuTttLfA}B8^zgW9Z6dsH6-`$>8X|8$Y+jTXnp`Wd znvk#E;?zAIA@=X45QceZA3u40FNMFAGo25+H2oij?&1FC;RxYrpRsh9j%U{jwnFiY zWFI|Gnlf4pV8;~j9I<;d-{a(Rew>cyuS56Pb&(S%)oD-NbS!hbR}enD;M97SC+*sZ z67mg3CFYmOj+zb`$kBp+$<^Gnf+k$Sygf1XZ-^_C$5J>*78bsjB`^z)#3MKUmYu?` zVKu%*`4tMuME1wIc_W2j^OnqEm*uJHI0Z(CnFEMb>cR|ndv{MBC zqUT}WLdVl!B%Y$< zS*Xqep5Eok&;?GN#g00bH=Bs+%ZS7~bz;s&Bz8a~_S3Okp^L;zbSw)a@t?_|3eBSz z(bMBW-+XnSs?lQ5A#EgXj!66@eYyI)S)@Eia}kNhX(O>b?1_lP%MgjT_B;Czs`PXp zQqhbI^^X$Q>39x7BrezObpcN)62C(vzV)=0%=0WF@sCLp_+2`lzpB#Hd#5?|wdp86 z(y=`BFjajJkvK~y=2JxCi`qymvplGa#0URTOb?GA)+Xc=o~ap~tBu4ABC*Bg@~X-C z+7Ajm5s8N&5|8k(ka_AOaqOk(|1fk9ciZd{g;T8PB1dy{?iJP9H(es8US z=Wtyl9(D*YFLHE3o%Uic9m{A$;tsDlwVvg1L}FWQB$mZ25{dsoOgE3PH&y6> z2Fu9>UDOOjBz8w6USR#V%%cY)@l!?#cE5P=_Y=s?eb_=P`qw~_ zoY(Ozi%8r9k$9<&XH7)nQ;5WRo>C-Uib$;I`RmZ#nup&arru>}mX75`MB-RP;shN_ zDH7jBBp$01vy3hh|1(SXixZsa#AS8GS-NoKib$Ms(2ZDh9xadb6C!a8A~C{|oS8_G zxEUfb)5KZ){m9+judaMfl>7X}nL3_55s4Lu#FjdqYDD5eh{SrHCv}ndOJglhgOO_^ z@qhZE*w5RqU#GgeM}=ESB-J&jVCa^J#DZl+!O&HR#4Qks)w-c4A`%xzBsSFz{pZYF z>f@)cxBtv16VjeS`-F(@_Z|)Mb1&&(m%`BaXSRcX_@ju{OO6H`@JlKiQp}L8&;^NKl7AAQGS2+86fQwmVfRUCFC&w z6xtm^%^){w{tTk2Kx`<_6`g~veF8Y%Y7Fm9c_)7WYTOVU;s zYFo;hHhOVUkRGkoJzh(z^;o8%IRf9xydC)Z`JDcdN9@Cl>5XqzH1L~N27TQKqh*>B z*#dv%R2#9ZQLN9#7kOk}j4_@5#)>KwmjvmrO0<8n7E6yUiq}Lx5cv1rtwr<1Wj>L& z@<_!w#~1KsAx^3+^E~p<)`Z>-u%fSuUp5$<%ff}4dS?Z`OzV20 zg}0}w&*NM&w4Mo#^RuGEYZ}%~T(&@S49|{u9`Y0|i~Fi(9L^;P9Zcv^Pb(VL`Lcme z-kCpNQ|Xw%clugKw94{Rok+|j$wN(Ov5Ho-Z_H%_8$X^tPc!-ue5Zk{Xtko7s?O+K z(rJbXO)X|cZMSM=(2s3+-{gbh*(LLGp9GuYdNNttpl!@CifgB%f4O_?$yN-7%r1 zQ!VL|+S5T4IWIgEptWMRLn)bT{ zJ~P%vG|QZ=Dz_X2Q(7|+ zV@uKU)%*JR*V8mhHwk>iOr>a+xJ-4yKZpEiYfAUDw4}Xm8}hx7JymmSoxsPXlojV1 ztyV3qokN7dru3VeC2e6M{l!jUEZKKyipF}iz+X6TBASP6R82L>A#bOc(rq@DG|TO( zf!!8doUECiDDbPCONw(dx2v{1%qDGDnbJzdENQ8(R}IFt@x~;L%`$->ols0vc&DnI z#cUFgZc2|nvY;2nUzOvIUcbKC6E(Y*2>d6vufn{LpQkS}2- zYNjj{c(3Glf}*%a)d_!}GbzWE?iDR)+!1YE{rKXmPteSqC-9qRy$}|J98-6%eCT z3!gnCDa}gLD*+aCXivksUk^oSTqX+q(a#r!xU8qDuJ<02-R(-#zCA2x??Hw#c(W0j z=dl9s7J6Q=srN>;^vXlhtxIX@*x7=v2{Yu|VD30gDb#JgI8#`@;*)A%)qg@=p)msgHt?K)I7vF6dr02*EKTpVwV-XHwS4t+D7?xzO=Hxp#heq` zcoiodz;^}s+JmppPkfCUj?)ZBUE_Y|gt@_`$Z*IT26@Xs-gA&wuP^CbZuU4$amX7z zJ5$I^FeSFo!)@rHA@s1~Cp}a!kI>|!?$rV31!ZPg@;CIG3;k|@euba(`%Z|^*h9Y- zPcI7XjFhAa?A8Hxi-p~;{$#f%>moI2uv_U`SA_-m6U94hHhBwwFo8eR^fr|D{MIPV zboj%{=Qo7&!Pca6^=z`bN@*H6!-9ra*4EYg+1qQ;nw9Xg*FJXzF0nlEh5tT<|Gr&j zL9L1#+AY~DMpGL8+tMpr=#W{7JnWTCjK7%DRhSpIewr8eJH={NU|t-Y_()h}WJiuf zW|Jkkm~VmwrN<2C8(VpTW&q~fRq{f(vM&P18(7Tn`IZigAezNYjlu#Hze0jfl3SBc~hI z-Sd6ArZv_J(_WV1wM-wP%*-K|zM9Zkah6o(qv zCUjDYB^_7CaD9t#pQW+F`qs36C9#`#6XI1ZmsC1zLbsj4*oqsjn|+(j*1Xs&@HM;I ziOWNplDw9=o1C(N*kLyd61wD3>^O zG@(tAmvrzqteY@vzNR$tk}8kth|9b?l2wm#$s6Q5m5}dHSHoN*cJTtuZsa=)c6o}| zL;Q&i@~FVdCNumid{uK6Y8;VAagFMUjQjiu&&}%xT>RF4pWu-q-A_N{lbwmy|$08HIc@cbyeA zk2B0C7m_8KUC1YG%z5#ecL0f+pGWp1PgU==qR)}1O7T=5Q|p>6)r>`+df-_T(Pq#9 zGHrVvd58RW3-aIYT@CqGI>Imf3omGZ>SC5R-j747E z-Li!kmoXoG#gsGs%$ z9T&uF!X5~GsoJfjT#k&#{-PW97hAEv*n|B=(XoXy%QW8~3jDakZNx5v!bvptEzX0D z>Bo}RH1el?%c5?}G!3wCS#Hu!T)JW$vBZ9;7xqKtupjz{{ZLV#Y@4u5Qw{r}5g*%$ zSF)l=E$p+(^fjj66xOuuPx~xK-9C$3&|WNK6idRee+$O`EeiWL%}qnTk1j9MJOJMg z2iuF=5+;xpCG*LTk&qW-bNXsHwrWDW=0Lu{Up(GHY~?kHOxc%5LU$Nb`@>drWiP`$ z!`0zSG=Du8_&!%Ui%-r?CS4lmk&&h*G%?tUetK+wL{o2NX}3p}AO0H*0B`#jcA&o1V(#gFnY3EIbafhilK@+PG z`7gNx#Zw70$ch))5>`sO1fuI_k`PM(RH=RFLaI*2N}has?pbp zkvU6ew=|o;Ei|I6vMWP{O&XHqG{qX;@$Qtd8FWI+RL(3$ddj#yl~H;?08l9 zoGkLgCM*-TcqNbzuP&1L$cxs!ElclDyl*hJP6PdgzI#P}L&arci_Apwacvgy9c@W- z!_DZ)N%suuPN+Ue{Q`CSM8}Dbf>)C0MQ2HR6DvBor8&*6aMz&jisiAY)4N69KWDKx z!)P@rraDF3s#w!E?h0CMhSnB(nYWLqM`}Rcz@-aBm&7$B;L!8s`8IEU_iVX0-D z$d5QZUfgW7nMCYQBb8=WpsTGc>EJQid907?=Ely{VXnw;S~E&)p16gKTAoTCkE%!y zR_r-HW;Q~XL$?ONriOO0~|xxH(z-ZWtt=DbB4v3kf(LaJ^e8`#QpKs_7k^y0L^ z96B_57)|Og@)f%IiYJVc$n^JXNtc|;)XBR%Z6lmCs2hDPiYEDse5pMiVsK(IX@7Pl zd6H6vR(7jE*UmU@P&eOr3hmxfP*ti&z^>)RHl<>XBhCk*k>heQd;Eq*r)|(?*k+vYbtr4YfoE8RH01F zegi$I-malfzad|rvQ{{rnL$h(CXt7c4s^4R9lbd!-GJ`|uMKqSEBuilGhG-MA`qvj z81kc-BMo|HM}6n)HQ<~5aT9%sb#uq;-hy#)4XL6SN8+L#>G=g!=@ntO0pFzFTj{kM z0>31zj<6~5Ac?#aO7^{Sqz7wNqrN{_M)g1zFj&Y_d+Bwk63%48aJsqAx&mp%j z!BkR(c%LTYH*_PzcR14r^Bw4zliLjZY|7^pdUmbAXLlT~DxGzP%-P+AEIaE=`w9;9 zUW080`hDLzmDXJ)@Ds)^QEdx3M}!!EGUC27or_=2ioLhhz-~E_sq{VeI3FxGt6CM$ zBEhUbnV9cPWI3DM|Y~8CY~n?%K4LB`2C|rc@ETD*eZ`rKQCOn zr_v3mo8`A%HOKoR=~2_4_}q4;{7VPAH*Kqd-MXGip)M;0J~?~6s#ew|a@5bCyg%nm zbG|#!L)*1{_4*0LtG6*-l0+@n3;dDO z(^SKYUn66a{7Jj@&UASVNBUuw;n*e_?V_zW3w(vj15}C?*GccU{zNs+nff<(q-#bS z@;z+1gGRu{j(>ZqlDuyc6W=c6)BtB15#mU9_B522eZG}a?42~W?|j;4-6E?NcOl`8 zo#~Xhjx@t}tHBy;Hgz-Ivk&|3h#@|&Lhg{Dw_Qln^3HU4x+5)J)llBQ&upNj@CUp- zF10$au=qXly=zzU;+Yc-&4vs=w#c^7$CA6x*U~*F@EPg!qzum$_sNhWUCAQRi4L)F zqF-)qF|e`6-Bt7n=3C^)>gtQ$56P?s-N>uiPIP%wC;EN2wys{kA=4A-ee4-_$Hc0` zva-qEq;8~rHz&F&!ijp#F|7Nf>N0AC9GrC6p|%>7OP0HKC)4ensF>tLGXe}{s2RV6 z#y-X88t-nZ_Y}`36Oy`<>W>|1^T+sdzup$vfA#(_^x^`Vh&=W0^Q8p;6_3bW&mQDn zk|SMc?@ay5XzS{IGMt@DlNga7yrhco!TSkegdSvam?J&h$C;+y+H5d4TiVW~ZOVxJ z#PtoN&%}sX)1Ks6eMf4P;7oVzG^{(f-c)+nO62=?>L}D7^qlm`>`69$b)bi@IMd3p zhIRKgn@Bs^iTuZ=Lxt8ZAcbzOp^=wCIlW^t2+aVuUC_q<-D z&jbfLtX*|_#!g#TKQ@Q)Vf3Mw$bYM}K&Vjf4RIaOn`HgvK%dX5PG7#-WMJbjD~8Z8 za^^kO|l;JF;!R+NE@~i`Dz`v2|WhACuS4+kb|e~ zX;&i`T6eKw-A?&E>9o!wzu;4v@U{3yG6DP3oeS(~enS`PG0;#31u1L4iWiJr?UiAy)Wbw(~m^k+0&%WE;Ll3l|kSEDV~WV{+w)pb8Zk7oQ-5MRy&9d?s0MXgrmd@&VVRvLT|7tR z%bx!#+&jn6^=bXd$R5>bp8+*!Ot`kLUcZU`Yta@L$qm|~> zphG(w${Y5?nXXI}`IhUA#RqI_uWf`%(S8;r< z6hIa{s!D5JtU-U+8p>PoSY?{CS>(NIDa5KqCFqd%0i^xus`TrN8Z^ArMuS+b%&kDn z?G*W`y*csqxf1lfYaoeBsY;`bYf}Er23fy)J={G|j{2vFJoDL7Jd{w9ZtNOJ4y~+8 zJ6EVl&p*`G)yI{04)V`micTZ|oEKpt$m)r;!P5u{e-yom7>Y)~!i} zbB26X2Ur@gU*tbLDK8e!#9kMC)!9hc{f1b z9gx@jCwbd7v7r8t_w8mIaeZ)UTC;l~VWEd_&_lDI^bn2j!)`(kZ|uv7VP0kE=vslK zH}tz3`nAyMSFeYOyUWo&&@anaiGLfFrDZ<^kkYUld0B%t(b-L}U%T5Cs6FiVFo+Ya zGRx92djp6cex)z)QVm+{Cw~Y?tV}Cz5&0!;6=F_;87(y^fMl1hMuXsI`SlF_>{JV*Ew}Tllh`bPML2|KqQMbEc9mdeV=y zz&v&{uR+hLwS4tk^RVuN7ZP`Z5Mhw+i<>h*hy&y;=`e; z`NHvFj=CB3Bd@F2Q|~P=r*BeI>W{dyeaS5$-V5IeP3uce_}kM;VJ>v$Pw~v_ zXlr^I@odxMEFsv)lI}L?OM1<-r!FcNIv~g}_O-O`OiT0?`R=!l2=z1ZUEah#qz2;e zQ^el`i#Ew~Q*Yy)mwM8*okjjt`ErHwhu2(u)oh~_O7^~G20%>Q&^>Sg` zgzLf9bjRr4q;F#f+J0_zYW7kqgMJ>r@Ebz!VZB(GxKh~SRgNys??n#9I#84L)oI6{ z)}j3&Vf4F~$gd^~ga{)Wn%TP-nW}c6)vc=2c0a9esU4$eAFOX7btelgGi~ULOFc>5 z&knTCb!X}`-f%5^PUgIhP)(7X)N^2tVC1YyOZ`+o#;pG zM@;)`^E16qz6f1HA0pogxp!ObnrKVc?deA9V2^V)%84$VWtc}5`yNmGBahlpbC>#S zaAmr$VK*`i`I&7qD*UE{;+%U|!77MFr za^Bw72YMB2%9K4x+MgF@uwV#i9 zNHyA`Nf#0nggx0HN4lbiVO~A*%2ql7d9|(YOP@Pl_SE{FKY2dYnQlV99`sYbK1Z>G z&Op9?rS7VL<#m6XHBQ6+9ooK$=GLw z*lbs6jH=T|N`Ep9`?pQlzXkrZf19t{zl}Y$Q?($oI{mN`@@6^HC75&l6AkT_FDB7I z@J+38M%6FTh1SL=Af@Lx(<@$%v>`FH#od#esl^I`uU5*OxQ8GYdEcFks_aZd=Q&cZ zy;@(_$C9p>6X^fL*m*!Tv3=n_6aledSFDH#cE~_bVVINH!G^sfcB;KA670QUL%?1^ zflLS>Ov%{A0``Ix0lQ!qq`b2eClK%dz4crxEBCJTvGbjM_GvTuWxR0PZq(^dnYwpG zO}6+^i?`!*$S*kK7}sQ0?@j0uKF6+3+(6wi?SyWcPN90_w?#*0IHHtor*wM_aqgRP zXC^v!m{UYKs;DDbozR520o0skZPBWSj_6qZQ%37Wive=<5#N8~&7M&6VmhO|#WSgb zo(|}vyAyhO)p+ik^0PLYc><3izMSeA*ahwGxPY?oYlDX3GyO;2c&-jztD#&^d=^$C^^doN#?Dkk|OXmm_R3FQQf#Nek|P1<|Pg*2qe&;_1me}{ad0dL5`^O?OCJ!Z-;&g z-Ui>RbKhr%+Pb@iLzFAXL>th?#>AA)zXIF-1@!c=s`5}25 zwI@b~u6K>2noVzlF2ArxbF$Nn;!gVdlh4Ix-p#KmYI>kM`s%Bq7RNP0_tmY@wRagt zdB`N{X!qUV6oaj3jD+wX)Q-OXdC16vGQRoV`J)ezFxBl`rVDV!!Qj@1~uP@7381D`OvKbwk&aFHx(f)7kGuAjRnO7HoQTDYhtDr?&m)!%T#=sfg;Qfgbj!1wj` zSHt&&Nz~2sDRsYY4b-!yE&3FtzosjW<054%;f0*_xqE7vgGJo{2QuOj3u(Y*$~}cZhU`pK)_z@Wt;~-c>sSs zMuGg67f_27R;a6GLnQYxzVF{6VY@aE*TblIijNNLfg+has#EvsXdzo4ef4^*>o+mK zY4z4>l?wq_t`En!izlQyeXz*ro1$(fEtF&KB0j_uI`;Y+|vI_Okg2zJETe*qE@{%g3xA zT2b>k$GFz!rT9Y5f{qfycU~cH!SAN=spnZmkKS!5+w6X5JpGaj7*UJgXJ5iiU2SHh zojj}&KkXQ+hTbN(=Ns z7hOJZMO1Zu($Du?pT^dP>(Ag}dWTb7)1|E9_{UY$diVZlUB_>n#j9%k(i^$l72jIA zeTKN#cwByk8#URvUoivG&5Y`N#pRD&vsM?l-1Ci% z;@*6&Un^xn(&%pQ&gw(iD{dgjGl^RL7CY%|slbKRzm#C`E4^CVv{b_5#p&VzR; zZq3#8`^v6fV65GoAEoU#mQ`dmNab?_N1}7qUVOQqHCN|PCL4_RjN<3R`~B-jv=?zb z9XW?mWksqt5;dqOWFdL1WdBn?9S!|5scGl*& zvG#uJMC~bmR&gZrK0hRTG(r(_KCU#4eUrV24Vh!Cb%>|6lF6*1Ve1^;E_Mt`a!~NI z7aU_dZXU{R^D@?s+N{y~PGJ>Ix4hts0>`3*NeX`1mL2T0P0sAA>c-mqm#Nx#JT5-C zzvg-Oap-HS9{kPG5$u?}I&8z7wnlj<+Hp>6Hl0-r{*}*fGaHY-E$PA6o;98QW%Ggg zg0C4@&Dl&oT^l%qRpgew;r+75qq6foc(+{x*+cu!G3z%OYkMro(7q2~6@e4q@m*pk zAoJoL{MMD-*=A$5GjBtUwTw1HyDW%R{IPw{mk0VGf4iQ1zp?FEzjfo7MWc+hE~hiJ zP9eB{z2EaU-6!JpvM2AZY0kdxWzUfKoKw~BP>&3)HJ(cxi{J6FX8wrt?#XZSY`~5< zS(MR7VXS?-HeG8yn^m-=-ti&X{)icf;|AKWQOT(p-~Z8;?K`I>=dy}9PH%ZKb`mP= z+mpBGRGYQ$7nR}XV;pzkyfiI-bdI9kxdOgM&}1~Jdr$sOcpY{RwKrq?7-Q{S*Ho?l zB36;nB%jZ5pMuug_vEwO8?oKSCuP){WvumhuF>|#b86oKulabhsVK^{C;x79EB2wL zAmi;uV{M)J$=dy4tYZG~SNziKsc2(P58nBCN4E3sW{fh=dFZ5K9#nSIk(>vL75Enm$lo`gK(ZG)yG$9X;Yh2saY%@a2HTD;qpflMt_e@n{@%hWc3*nTreJ=ZOSu`A$|LqaN|=vjfn%9ST0Q+Gf_*zcw4~ZyXm@PtYFR$0}NVc>v$h zLN(`H>Y#^4lf{mZQ4*TN^fENCX$;zsg&Et_x$3jeUf{fxEcj~MNP z+pOZ|uIIdY*I9_Q_uxM~>B7BP*_b=|)3}d2Ctc9aeaHY z6<2O)AH7ywkKOxZYMXz=b6@>8{ITrWXy*(!e)X*>++mAhT#TE8k>CDrv$W0ru!^#E z@A-MLb5QMjE_}0x;ap1UT#mhDycRZ}c2_&inp2do`N;PSnv33LcH-N%+sZkt-@xs_ z_vm5&BJN>c54x|FH{}%X-+$ukb)APEb#2F2XJWW_&ilFLQO0Yx@3=d2@S*R5rIFv+y>4hLqB%v&;Ai}{*d=JTi8=o?uZVk)SI$Y#n;Gr<8l+s- z-ow`k8XwB${eqUFk5LjdCFU13pt(7UNh&wm{|3C~wWgRud6ui?yL4TK`Z@oh@@JM& z&iMPRg9?8bode=erfCo0@4fErlEjyrEl02K{Gf^`6V$eKO|*3~{A6(DzNAARl{O!r zc_sKuM>n&Vqg@TYP%T5u(9E?qD9b(HNE=ahTKnZbzUJ6(D<2yhhHOWCqRN_7LySi~ z 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 z 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

Ze0 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

M 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%0A>I5IXCw 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�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 z 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

b5hbQ4O*uppJomqE$7yGX8^J^tFNL1aqlWSSOW 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 u!^}t(=KeEqHd}5U^sknGE5r!8QEp9c|#3N zy30KX3{P5PUR4^&=k6UVVq)Oj_FnX4t}0Xi=1;dtsAD8Faq*M!n`DW~y)5*#Y6*Cc z_<-J@X7_()yBL*d?MJ*mYn(C1ne?_qy2AA&(Ea%dJ^sy(e{K8VO4|-hKp`ir@sEpJ ziQ{WT?unLw?2{kpY!iF`A2shG@%4>DUJtBsx*&jzFPq?cTYf_!gb93zjVhIShceRK2vq9mSh6@ zttv48_b-B1uSJvAr!x6^jXfY2wgc*(s$;|0=}_)dj*j1ZN^}>;qNp3&nEbbbWLW*- z2nbr#u(YrfW%dO?p+zR~woXKvzml2!V#BTQY896Q^COr4bDR`RT^$I1Q2Cz=xb>xy1X(LDbfv0{Yz@nK}l%~ zT=3xP|Aw!C(HjR7^-+i#MYFyX%?qw+2^1*Yyo>R7?}^ne75n+`pBR8rt;erYIEgGMmY- zxPJufxWBdrb?SI(niqJraB(MXMdZG680z8jNU;2$G^&vMbDaySpSb+{O)fAZG!rFc z>(E_&iKr`RACrHQn*%wI>cHGm6aP+Ag1whj;GvodouauF<#+C8^841V1!;O8%%^bi zFRN7{&Q}?HvXtmxnJhGH`Bo;+n{)?ibuUA1n-=!w;GP+kY-GkL48 z+0bI&58cnT@D=%?;GH!Rib}hQ_K>4!jCmHDPkRI9Z=S)PVqI*JFcM-U0|wF$niWDS7^E-=@1D3Tgggb@EVlear@6!PB=6FiPG#I52Iu<%0& zq+gy!r|fTd-@C@Z@O-P2_AFBb1ad$#Kf_G_5p%3^ER{^XT# z{bK^+o3)}|JvM*TT0>Ah+6ulZ8(^JNt6^ug23pq;Eo@y8j^5w+%xr&MshU9PxCIPE z>S9T^<*+jM8Q;@uEit}35rw+kWAe6Jx}m5o66VBf;jAC7@NxBS^!A80P1X-aKO0Xn z`RT_c1ee;cAz_Xd){FOtu=>eJedG{Y_RSH6{XWa&6~EST^=BtR?l4XK_!}QC9;rYF z43w#>(qvR$n9Jmk=)VMMZm$;UY2x?T8=h|xAq%aaK;F-&Mz-pN@sOUoD{9Oqm3HF+`WMjxgo> zed~kB@?6q1MgwQQj0L&u0(8RIo-}v-f{L#x7L(z|u$YM2q@p)O9sz;fIJ_pW%6}tSI~<2;(~eCHSnj#T=ag04@~+fNylDoKy@xD zOx{oH5Q$6t1yiU7zO41#wOK11_Gk}~oS(hOYyWB{U#qx@Oj@rb(0HVU1sY3huT^t7 z)Fw8O-}Ads;NA=-eMZ=%~y+w`271Q*q6gaL?%}ZF% z)W79GKUx{}0Bp0>asOc>(3jDJABLTz``Tr$hVm>XpK9|8omXjrdqOoFd*=vxs_6#f z9w}3d8c>CkACo^5DnxhR-T;MCH7__46!y(!4 z3jbgEWbG?RcKsdjR^nmz(0XK3wE#L6)$=3jo6zG?4ovxf_kY@}r^tNe9C)c@&i~i` z8$3M^J&L^pbGZDS@8^dho>(GG*k8sky?z7L#~`MBpP!r2(x0s`k*MJ}O+BdeNF+Q? zYIN1|xrws(`u|t_$fkA3q0<$zb@l1L@?tN(@UO;yh6P9e=lwTrZ1a|2INU2u2eKX_ z+%<3vZDVjyxXmg^7d}SSl8Cm)$Y&+H|B`Gc@<%k? z25&C^U-aR#!jI0Ypf2B?)OJ5XQHf4W{qK6G3$@?hfwBM|wwjqUcE4gW_)<-BT=*RA zs&irTgS?b!#l_^bqMWf-P<^*EupxQF`V8K~6eA8Q#KB+{oCMAOu$H;)EQJO#b1_eloG{2E2O7)n8oRLFOw4!ThzI2Gyju;QRktPb`3t~W;~d$oFa(tEvFESff2$a!5G;)F@yp?17udem=k#kgBP;~gbj1S&s|8i4*G&tFm8 znUrl6gOmWa|KarwZJK7%3Q1i4M>i8Ex?6lOWR!Ff{~CFi=gRh<_VjM2b-$DaEBSi( ztM>!4HZTh2_8SxX-`xAfNcR23oZ8S+6Ep>~ihB6fzU}1jwWTm*u_1A={DyX=onp3M zvN4e!Y?l_i9i@%qEPF`LC{GZNZYQlbrNQ?s+y1r_xX?4ZK0qdye~YdeOm8F`gWP=u znzl|B_6m0}<a;3>{&y{!u}2kh?bzdQXEuvAdFDZ9k2?NU zB}bF#C@35Kk)&&=!zD$w|9IV=EH2;jZg8;Iz*5Kc=*TBrJ=cIiRLxQkrl%cX>OW}Q zW-56-15A3pFR!b}xMb{@&WyYKjWIQ)vQ+@_&=_qTvu*U(D2h%Jf_G zu|qG^bN-ugGpxAyUq?_A4@b!QuzPD!tJzcyTZAr1F1!s)l-7&WRp_co*FIc|_p03rvR$T4e zPdDH3-Hyso&C$l-nwrOy?|FX@{dhPAu5tOt`9AaMho*G2&m^1Jk2Zzbo^1bbeZfKM zRXrVox%fBX>&;8_0@|uG?^g3VlCQ$&Eawv+kf%>@FzMU ztO){*^sr0_rq_SzfYgPlq_;sCCPiOk%5NEQg3gv|L2?P|c*coo)Xn_>l1=|aYMVwv z%AW!zKiA?YeYWcgioKwQ1rO&?>7SbD%A^(&OzdDV9A)z2b_Mi~)p0amS{*O2m`^>@ zuJG?|Z6+d9d#GJ;jLCoQIYcFPzd}6Der;b6OyyH=qt~g$7Yll zaL!L1PoL~UJr>J>e|RhDm&9s1^}g9E~%soj-#Lb+X!x%}f+5YqgJ+5Wauzvv17JXDaVg&)nIMPH6F zqoyt$O8j&xAD8 zn4^yWe49Z}*w5jQZ1vJG~9&)344=3(@AqDO7fYcX11WDl|v*z=!Sw9|O+tHMPln)rv^6zX=b zho99yoF1o6;9kPszvq5zrlO@s#y(u4fp6*s(zt0EXisZ5iJR*LH)YN-^|x8sO6Mrc zkjxkj+<0ypT|J=<8ERFMlNZLoi{|r8{@Cb7y7A>k;exl^{QWkKeyv5DcNJb4VH zZ$HiChYh+%?ZktK#2R%hD?Od6{g4BP4xzBT+7(o8Rx|mly|<{NojE!0u8tKtg6Ul@ zZfBn5XrV6`#;_2x&#$hqk+kG9g$Z}L{K3b@(KCa!;G>fvDXdTet=2@Q{0>__&C#xe z+L=7u5D`X$riwww`@Y(@7CZ>7WZ!=?K24;Y%hS zhABUMb)A5ZiuBiYWpQ z@9~h|&%=2r9PFomK^qrKBD`~JN%zyYF)>ftgMzf*ed47z%X%fV^*iXe$R)ZQA&?EkjoQy`=I40LQ# z!?sF#U@EYK`ET_NTq)6l$xCCOj{M{3`n78rJ1_4~}2J@%zgUBJ;KXo&Ng&k-w1R|2O(OPVk4cS3SsgV(~xgKib3r zS|;iUtSt2K)aO&tq&Lf<*~OgTs!M3G2itzh4!(pG7U&8F26XYHAFKF7I+9>pt`%u) zZ9yZpmompsEOy7(-zmBRzMLMOBgo<>+*<`NYxpGb^;6{kkkYM85}L!!kx(bTtW{VnbHA>|NbL3o}a_KLm356DRYyK_@(=N`I+bjll;`g?WS zL-2WhL1d93{`@5krTb*7wYHx_A z%pXDf`d#4H=LvjVAq$;pPni4*qfA<+sx0tcV~8#72GOs)P&gyy#xJlGhX&JIO#adH zv9u*uU!ag}h{eS-Nx_16(CSWioj$)8MXhXN@(*TufzoFw*r8^FpA6rLsy$EfV?W13 z%lR89rG))|NBqK8l>WRJ)dtz%Q6}lN0mBuM7MBP7-O;D$;wX0fZ}qb0{COq8!r(17 z*y_3tG1k4tFRn;}ZvU4kc@;ZXafJm zG;J(JEZm=h{yg?H}vzPpxx-s-t;)|#JtRdqOB-PP55Q%P757AIOmqHKz& z;SdM~Cj9q9uJH;&=7y`1w!Mb5qoykgQzbzAJ}lK77Xg#D^4tGY)=^N1>U7r6TFk!~ z+hcVlg};~Xo&T0G6o%a3`)_Mk2E+8L$%_XDRP`>vnVmM^u`h-#`7BatDfyrVzXK2DC@7Ncb{R170UcL1Qex{(4uKJG9$WiN}^}(FgS*FkE(%xz*oh z9d>8JEM@-t*?S=e;K;j1Tr*nC9~){x==A}(Z`gDekPr#HhCMg4Gj`BxqXDoFps{}N$nPkUU5 zhN4G>OncrHx%ppO%9`Lm{59d`4m9U7gnQzi{7QJA0{&wB%J?7R*T47~Q$+#=F@D(-`QulupN{mu@h34X z2r|X^a}(u{KRZsUOaB}H+S&-Di}6qPKg7SdJMEP<7q-*^1=&%Or0DrkW4^OO}W%~2zDv$OE$8zsqchYh5M zCm)}jQb20X3>5A>vZ4)hU;F1hoQvOMSNJ=}Y$n6z^7&gd2ON}5+CNY*YOf9P z9GQbYzxVbUrMZn$IuIr)9`W;wIhHCKnhsF%9 zVr?b8g;k9fbnfOXw$We)N&>#i^e*R;v~)iI(B<rCVx7iV4_f0Drf3lf<_!x`(id6hPt9O&xks_Z3hktAHm;l@`$zNFV z#DbpQdxzECO2F%Gd9v~;t4O&4pMRmhSsT0c83c!sw$!_6AL~AEGEON7B_4Q+y!sK$ zwZHszXV$yCkAOpM=?P_3)@CvbJ0$`M^EggC+w=LC&Zmp_b&LB5kzuwpbf>4}-Qf(} z>ghuqG7E@X2%oeTULr0d;?T-t9vSGjk9b_-^AEYk&4aTie1zZk?dYbVZ%DRd zFz)YNN#xaESh#f;+?(biB(AcfRsHlqv7Hz0e|UrF>^M&L`gY~|Uu-=W@(vpaSFIc= zGw1{AKPy=V{w4D2FDPj%qMz3ed}ZiDJvPR%nTiGEYe=Hp{AGcMywT~+e%w&+O!t1x zXDZs)Ny*?Cx%nTLK6StYS{L!`aFM@6p_tu0s#W?Ra4KXxY6oor{O@-_W;Bl7D{?rh zIMebiN|;lxfEG(Uq5Z>V(nbez`_EA$7JsXj;FEXGls@^)KD@jr3sM^c3$P=sc+cnW z+kZzLU6y^r0V4m@sM8l&LGv@Fzcd7l|NbDma`^H0Y<>fK`PE(s-rz{}3fHlP7y9F< z?rI<}f8Xr>napdNM6ijlr_X=%VH154@sVqh-28p%4RIvwiB!n-wx=%h6(y|yG|YHh zNPdN#BRP-x{GGyDPjnq+EtHu!(jM!6vh&%1mTO%2%u2pK>ty3oXp1+s<4Pg(krc<6Gu zg{<@8k6&9uJ}H{4C!BY7rt_*#NZj^2;A0P|-28dJOgj^gVJ^aybB=Uaf8{TTj&7b$n+yTDy)e&@lIMKx!4Wy)xGQJP+ zmzzJY^pP&?9o9~$TklMLGS8A;i)z_W8}Ux*^K&v)i_f38gA9b1O6tPWZ*r-XEJy^Auy!>x_`o4nx+dYJNAIxcZ&lXawH3pBee2KjL zbIZq<;dIL`Ld!xMIw;8(&)#>%Bg?!<2OT6PUB+0d@$5PK4*3{0f@{BYV3*o?<9@ar=luh9K4w*HXe0atx`I(Hy; zQTxjZew<>nO~=BZ1U~=d*xXvY9Z-gPCyi)zkAA3sT?6$E*D}p7VbI*b$6J5ciDQa3 zA27M`JRqcDLt_U+R@PczezT+?lLHH^ufxv#$zhQ(nyeC{Bec znJX7R&_qwDte=MMjLhhiC9!xkubw&B18YGkq&iw~@wc2_;mIXcSZ!xY=QRw*mV+wz z)^!FmIM)aEnz(WCCRATYRalHhUKUg%Vk~B8zh-Jd_hm~(?)*P1`T6^XB`w&z^gep+ zG^gH*1MpylK7QQo$ttJ!0@-i=`lGJihQ`AmVnu`{)t(uQEk1_mJ5?sjo9qQ2SMtv< zuMg-5laFn{=3!#~C?OtKoPNR1toiBxJH{Q7^ZEK$MJ5VD_M#`~{MCwH@`^y>-Wl`f z>zCeCa)romeE#?1;cCKRgM(O`VncUyoPe6rGUnd1C$XxwgN-%(`-@uL77Ty(8YdsN zp}!LRv7y=#lLO4ew|};fWyxRv2Wz$B{^SZg*WQk9xDbW&4R5dyHHCy&SpaFz@4vMN z?&9^{N<#ZCV*bp^11Bu&iL!iU*_O^-0rU9ruTs?Rlf`!sPN!MZ*E1Zkm!cGNx-XSv z_I84+A~!fMf22H5hF+Pfg7Rk@n)Tcb-$r?3pU6NWTVVyKkMsGzpQ}E?hOKXLV~QQU zUf_sD+njJjLNW17Gl4$#eE!|PxzEwmxDHh;Oli$zH*`AbgXN5jSh~D7S^EAC(>5@K);RwD!PN5++;~-V{(Y)3El?N_1@=~C z`IDP0Yo-otDCX~9szVv(IJaQ(SbO^9tQB6$^}rzgvqbl}9vm6oi|c=G(GKh#sv<0O zx2GS!>tO%QJ#fHPB!MB?aQhxVf3WnJn)Kw83MdiR&x~^s&>XA*6=PS*4n(aWtJwqY z{jX*(RjFfOIc$%!rH^w5z5<{E z;SRrkWKeY#ZXKhG8Rfe4`PiYTjCm}!>LnYhCBCE6=JTI5nlU`HBpO>wbZOeQNGuq< zjosY#mfhKq05R75{X@d_&cc)dCuF0=`io^=)3L$Dmb}=zk;z+s@ol=Ipm|dsO_wn)L zlS~E2I44}Q!;I#nX5d;`xy)mnEqh-ofk(Uf<2T0CNSO6K8JGODq8bJ12!qVo$`gL1 zSCccmKgaJs^(;N%Ll<{U9cE42PG;cv6Fr%lpjCRf#Q~0K@y9Pj-BfU6N7&y#7Bs?M z)UI$yCTSBLNhfO$u$j;2Pj=s8CWHkH#68O_=;PlR7$EJ=Qo09~E=unX3)M}z{r`T& zN4#irNtQO(fUawphAMq;NcxT3$Er1=;oe|=|Bw1A>L=aa&8|f0)2@dS(XLk)q8*7W zyzgju?#So=>+O8U|9IvVm{_YzS3S0d?623DvcDs`U+E3+eui`X&rz8{`aBb$&lNqo zTEs69@$E&tZv%kMxM5uUv(QtryhD{>Hca>b;OGBe{JlLv@J<%W#oN~CN;{03kFUOp z_2a5DL1m;P)AkBusy~V(dHQ^O&M`gd)r4i3H^PvnUrhzAh#t&u;Uw|>c$vglKZI*v zp^L7xwedI>i0>bU@0|`UFE%jWNK@9$?z2SJgKxhgvy0T(`3&}OH>8^VQXzWX5>`B3 zlg+bwEBRi)KmSH-Qjw}Ef(<>^n-%@mBV!*#aQ$~#(pkFP{0@Gs zGop6IV`2C1d+bJTKV}=GOA>bQ{ckv_B8`vygBNs7=u1g&VESe#8x_VXYPyo;rF?vT z$KSAImYUFd-qr#LfIDV&C)PItlzrZ7KU@h`mKHcL;Y51PBQAM?n0;k zw|)$_iuGev|3m%QpCguN{-Y8XiS=Li>O(L}tpD=TXV z9jlW>{)SY5yN2!2HtH6;=%q*|ec{KiqdS}7&5={Mtw5iy&klgVq3>Am`S&d5L$&1A z(ve*MJ7+3Mf7tHE@q-PhgLW`f9;;+g{oXK(ahD_^%KY<}`R^7O@oO=@-Kj?(^@sth z+7cF~C1acatdi{VhULlFl;Bm8+~551-+WPB8aJ~q?s+1BQ2|cGPW9y=R>~mH(qOZq~zyIRb zZ|(&vy4oO~Phl=e-N+VAKK_KMk<@nUUeuXlN(22T!#1s>taFTnm2~VvQWgYo=Z|4K zLun_KDhz#LPN%+@2uB~*u$+bz*$6W!*%(8(c=MYYQia%Nltr4;GVd{9Uem(VuP>G< z9~nT>R`Tl?%saP}s)VWvZG)}oRNWAm{6-sdZz+-KrrD%pI=}vIrKO^@_@8jdP{VGq=P6y; zwQy^4b2z{LsL(`1TKz@5zrJQg`&vbT#cgGbN>U+tKhuc5K0kl@ZsB_<@>LYznl0^9 z-W6t+*kPRaKGN^+24Z)-2Y39va_Zp72_3=ji47GLJz#aA7(Z_uB$tt{|C zFqmoPBs_X%O{dzMLjT_qd>y!w)E49s{a}9oFI;*BJjDI$)u$Hp%1x2Se_Js2nLf;4 z-ulP0byZL`%R%@h@&{;5)`Ayh12FZ*6t<>!DzRVA-+vFQ&4&|NzCwAO6}|uKEpgHw zjRAhHMBe&IjqwH0L+T^MMqAK$=SGs9Fb@43)8wvyj5xRqw&zHM92+a@wP_a#IiHM~ zJ3=M$)?c>s919y2dk9r!HdKB50Wv^34rgrKDtG;4#KVdz!7f~p~qP}`ZQDvKE?TB_?%iY>Qe#9@5P@#OPUb+1a%a?Z?LDw4x2)a zn=?)w^^j=l9wdLf`SbVe17CQM145gr4ehmV9O-m48IzYJ$X!1fqP`T4Klc}0bIj?S z{_DxKC&_rJNRi1~|G1{_c5puBDfE7BO5g6dKpyyw#TLm5v6^T;aqGn2e@&_A3mvCW zAvwsBHW>CLpOrGi`l}bE^44z-*mhmqrv?ev|60+!Zf7NfPGwITTPMN%Q~@>})}h0d%t58e z2%A4EqU)E9k_eN@T>Q1dLr}f{0lpukNBw4Yfq*6_9A@;B?QGvDk(Ev4;+@vz!ljar zsG*=o=Vcp$cc}v|d-$GpjsGes@SVcNZ-2K1eCmtwVrLy{=Wh$UwRG`Ns{%$8Y?Z8^ zIE{;+ZJ7^eqh_JQ(=K#YvJd>WdBZNdcEZHL=8~EHrgQQA^Vh@MpVKhMrVH)3z6b2_ zd&xo^+hfC*c9Pbusa*W9#S6jnLMiG_)TWur&fwoy1F4xJ7I)qv2_MJD$HXrJi~h;D zE=h}a&J2btxp!EEVm(W}^}_#$Z#vh$sZ$cftw|Q|@H^A*R-pjZ*Vwk=yR6XRoPVHC zCKuoTvJI|JI0gr$`t(kAfBf9Z6x23ckhIy3p9tJf^cW-zp^<@^6{`~Qo-BI4z3|6-SwY;ZP0jmW?CU;KaU8`=+q!&?0H z?_YfD{L`#k;snSHn;6P)qg19~}Cv94c-!M0RBUOI6ej(3>{&X$Jsdt?Yk^jCu~RH;w80D zB>Hz3?6f{s)WVp`#alS9z~hrILc=!`+Rj@8V?$h^|L0aVdDL)lHs!A$>C@NY(iKY} z=%*3w*U%l^uBgGTIWJi4lhI&*fS-S`Q3%0)d&L}>f+UdK|5zu&y$jdaiGzXQZO>o-{vH1Z+xAJkGZW#df2G{xuYGw^kNxZJ z!^>(T+O^?{?6iF{+)T)0)gJ?4<4ykj`S<%%Sh$#do<1ECGDGG5{^lR7E?sU_1xtzz z=%r!jSk>T3py6c9%$JC75sUcW|Gd8^$&|-UaO0v8O&z_2r5u?C-}{VU6&oec-HjiA zm#V!ZweJQYmxzeJ0DoR$d6IRbn5$R9Kg@caMS=NLHs;0?_7G^JV-?~)Y|00n-E z=ziE6_O9U1pDRJzpy!54_+w~F9hS9_X)~o@D!gKcLfoN49sm2;^THZTwXZ_!J0sft zfigsR_W@N=$ItMj56n2sAHRRwzjM`n60Fk?hE=|iyZ!(6|Bp@vpmGr4;?1pc_y3fQ z7BDp7EbJ*YpgZ$>z(OBas9&YeHq7yXUn>0Z_h|Qy^ju#8;Ua(41eG|DLU%h~~XOc%Jg;|Cj&AqS9rjY?HutIFs9dTs)8%X55EWB7d~QGY3c! zydYB4&lsK~g&zm_^)vtCCpPD^@294SddMzv;~lp&lpY*<0gU$QQQMRmY|E^4@M&0m zuE-<^()0NFgMaUzRo-@yEUL+XmmR#By!X%l;^!8gAWk_`;qdEu5_$3QUDY6Y?@4G8 z^Z%ZTiwJR^2?MORl=dp{gO+L0-1Ylkyw~Wrq$oR@85^5WY{`oaMFo!~H4p9X)n zfq`A5@Xp1N9bfAOtr`6NlSPNVFf?cTiIyW|4PMADZR!S|FZl64Qq-D# zGrS1ywHVPv!#1*Dc`sO<^q!3{_kfn}{O`YRXE-ZAR0OT_^{Cdy=dACHc*r^yESdbK zAIz@j-#`6ZKcHv7haH)p09y0b5_#(f#`NjOR;!nTzl$!-dRxrygpPrfwfo5S1%1Ki z6+i#pEpt0uvg!x4K%Bp$yrE;d5ezC|>_mtosNLq*PZT+?g1^wFe7<5aacQx$lLy6n_Ms(G6O!U z7}8lYqG5PO6FKr@85>QVU`js!{P8b7wZ#eMiErN5&QK@v;{WykzxZ_`US9wI{r*x! z``M!XH6mW#@9)jZU0_+a6*LDL(?gy;AVuLhk>qzk%T123-~j*o)6b{^A-e!J`J2+@ zqi*m=={Yg;(!;VZ_E0^CAOHUr7D1X<1gLH?rkU*mLG>OZQm+nZF~|yfrSQ)m%TxA% z$`=b!Kh=;5J%_{Zkh^4k(LPpRWd)CC@zN`Y z(=WUM$iAPl?+f*5VW1Rx9Cm~bDqSTC7KWmJF(2Q$>lQeKn?YrJ@%;SC8x{__Pp+zJ z;qy_ZF!vk(`!mgX18QgMNO*(^&5aI#_x^XuMr%d1pK1tQwfO5t-Jkm)Jh5dy`bPBQ zpUIHDxQI-{4s7y99Vm+6?|*i0c?|u+GT3`xLuz>^9+b)-5HIa6Y0wx)t|=HmtqC7*^YaC~#J7$np?% zWKWQf?QHSO3`>a1;^#khHU0&q$=#qf$CMsu@Pm=9fkbNHjBQ{HDc|_{+cC|Zq@mVZ zh`NaxwYuIH)E$nJ$SobvZKF1{74q@X*@{xd`YcjYW5S@{_Fj&(ACdKjRfApfou<+vwP`a&0S&TQ78>+$j zT`ve0yF*Ue*MqC z`;X}wN-$o37!(hta_>L>weL|pi)1@ZfOnq@nY{M@-M{>cmv{g2umAtz<=sF1d;Xc; zvkO=h^n{w`G9vH!=R)B)aR0j>{sigKmP<;IzkLvFZO$Xh?|Z?5uKf7%@A=L2fEvu$ zLt(_K(?s6$TkOmJ@T$X6VB_`Zl9H$7S=uN#<0$GsU-t%YXa4;4P_ZMI?py-}@%?1$ zfC@?WpERfywVPik^@bBu`SHI=cNiI!RRJTG>(XJ@l}Sxq8a&^VN%WTmz)>&${Ea$s zgAC|V2|b*3>F1y)5-XKdcpbEwNa6{6SLA;`anbcekX!_hTe`GyS|>8PIt{k3%OIP~ zC6IcHZ$J0-Vr(4}1*JpvsJ?|8zIo~iNjImk@4ZIA-~c|pzwok+JPhm+Fdp z=gwpK`!An!nb@~^KJ1j~)46+x;_v+`aIm^acHvMA^lRnk4<2-h!h`Qt!Y6V6**@M5 zw?|NDnw2jJ|2z~xkw1U??I-xuZXNUx_4B43^u?i{x`F0JB5PPE;uZMoU$c8GZeFwo zYBuW9iRGSnu5ULO9NmM=YCjbAiSN;P_piY*lX0@uGVpq@YH6dR*5Q+_x|hO`?rl^BH+==3^-e*M&!MJ``7=% zR7H|!nE~{jK9Se|&qq{oe((vnNc3oxt|F;Z&VW~j#-#A%V0dc9Z~yK}6KtAP4729y z(%2Mba%Jpnxa;IVjz@&ROgY|QPs;x);_a@?~36;dhaGk8F+Yo52<*y(A z+CQE*60KFXza{+nCls&3zk1@G-$60|WSoY%O|7ye(Tm8fpYgE1 z8-M>i#&tbTndb{dTlDG7r^)zjnG3t%vW%>J9Sg^r`FOX@d3fSfCn!CtN7Z&u#5Soh zYrpBD*oSej&Ya)>|KfFzOY!~`W3cM5MAWa55C5hC@?Gjlp>K{I8KLES7 zYa;Gz?z4x>5+PiZpa1%jb`DFebwCzvOlP(4gNv>pNor8SNWDZz{K~I?8hh*>o@(@k z(XOV{Z)9Ig2`C~P*D2$X=tMZ-$v^)o9C(1YM4j|YuZ-yq^AJ2xy@s^k(GEv0o(dc8 z@z<}hpAqLoYLItMMzmx95qL8Gs#6qQNMTENYofxMf$hokvqpH!J7o>%iRGQia5jREkDhQE7w%c@|K@}~O}Z0}$Dg+m+N?=7?@NMXLHzw+ z%=6=@Q23=M9yg%b?Ixn94U(BVd|9*SRG96v8EIEjN6GZ-$!;-e`x0rWH8kFr!;_e@x*a>*X?+80G+<+>SW?<-iA98Ms zw&aa+D&#HUk6+_Fh9q}8Q|)O;b63yC?z+85Wf+sWs;9v_5B~VgSimr~B%5tFGNAG5 zGm&muK>YNENZKG7dYkg?d)_U<;i$#7tTv!?TxOyBo(V+dRXdq=kLmFGEdTscc-lhR zUsYg52B!3(M>;4Lh-8MPDa-h^fpPJ=$dI%L234wjI8 zM4~;Bk2mr&k>2iT&;Fx7Z`pGyoT;Bjo{IW48}d#`++I6!$ImaxQhK#u2J^aPO3$>* zfSLL2h=qzFGdH*+S^w36k6&Od9klrxI~p(Q&vefM%fKJ9Ek}>YW*k;0ma%;P8}nN> z(zHrb^iwpazvx`(HOo^LvuuuRYN;BzV9am-9lIdv@6H{R3eFwv z$kcn;%;)$9N!}2C{W~);l?Hnnqr004o%Luo4BWFvUCvH0|ig#ryR(lXkK>hUH@{s6=Zv{HPtyq%l|gT|9e| z+9!Pb52l+-UEeH4@y3pJ9h(8S9e{nl)#Cr=wHKLuy(`zg!37&>^5jsIC|J_hPqJWi zr4k!4FV(+sOINZY&xwm4JI`8r>#GXZXj;;{GqRx1N>!$rZ6ulB=t|rIthxBm1P4*I zX&%cxXinesodfIaFUi`yStzrz(IT^KEV%fxZuZh|k4j{vYt5*C@Ekako+QgVRVCZ< z<(*{SY(C!D+*Ya;+?Q!biTq(!=}_{hH@lr~F4q6NmUsz#{;ryE3u)f!MM!I`>C!JV zpz%QjoB!C3SRWWogg5;4D{q0B^v-oR+|*`GZJ*DA6|V=%T1Q2ZGj~Ri=n_kA``2x^ zk><_aSbA8zKWI^%3)}xV%ig@+Dl@oWCJ8#r$L}(;mG*x$RuX^Jl>W9Cc~_5*lWia1 zz#fmhBH6CP@4s-tPRbNlkX5E;w6J9^=serxKd;}Ob72cACB|iZ{)|-(Hq!h*&n1;l z&8TAKEO0F9LJrM#CLd}(N>(bGaohjP-&$Jg?kDM2Wlm4uOoPr7Gf8g04rE@mI;o8i z??4r@#sB~J@5T>%X>WRlt%4cO)PG(8EI7v*;0vuod~o z#PuUe_mOP%3m1}UA4AeV7;)_zueOv<^KLj_S71pWxMxCjwFhxX^(j3e_!8?RH7@>M zS1oDlbPY&fZcjJOm;&Jre{>=+xY3W)!7&ya*_Epb<+R6fnU6}&;aXF1l%~s^% zLsKlI@e(^yY-K~G!?NIxTcu>%_q&qyA)`sNt|}Lg?=7W1-MX>nE;jUj!5lD{RaKgE zxl%GjGMr4>rp?7?Ue}dcmIBinZcjglOoETI|H{54BDqk$h(zb{`>#u`mXvf-!co@t z^zxf{5TrBM=&%dKsc;c_ahyMY`#vgVh7sD#A;hjae0RhL|;ab$nl+f|EL^$k%&&-WE^_Tk&#xk4ABs~@w% zNLTu0!yeLe&0^*#nFuiK7HQ~j!}b4@jU$}dyOwo0?n>RC<&j4}=d%?hiLf`Pmdr)| z`g^~7K7{w%$_z#R1V=Z`}5iaB22VS;!a{>a<@Sc1cFb zyhPpyP0zDL5&8T{^Ur^Q$>H6Y?i)v%L;~TO(>%7s)c|6oyU3hjhTQfqy80Tz!yQpa z)rl&)2Y_#{SuCy11o}VNLlhZ5end3o!Qe7~yk_n~e=S!9d$)CLK=1(g98*eKa`^p! zrBD-oeD952H@ebMKR1z@RA1(5F%1r%y-n2K^2h(kM|Dn6unCcja*DYP? zLlp(AFDYP~orB^0oS)?3UcPy(-s<4jWgp2N+nw9~Z?6u+o|#`zXP6`1pr!}+Uw>rEhRz_b z{z6cXlVFTDQER`W$R8%w4J`Z0J|{TBJNM(ncR&C9GU90{?EO`Phy9)D%@L(U=K7Pp zy*mKp)nD)(F&D-t7UJAT&h-A|dnEo@6`OK66qKixkwczx@Xtn_BtsV!qS*x(n$ug0 zYz%K^%ziZZ)jc3X+VlPYkoAS^o;U}i>|Ck+&q>7RV;yU`G#V`9?vflu{`i|c&1REm zGFlnA(kz(HZ09TDwWJ6L`22yK7{d4eUQjyeUUv=aUpmuGBVEY0PTSaLdTxIL4ud)iy z2-x`M7x8T3`@dNhjs0#9#y5U06st}%Rf|dNgZl(A{wRTaGXMPD8s&%D&in9%k_!!0 zRKPthyV&`2gF$k;m6%N6pT84>#^a5}Yw&rNGu4{QSjDc3tm;Y>>^t8M*d+e>tEw#t z6HAU@poue8?D~bZ47<#d77c*I@yamKhu{CJmu$o4JqvMmkuyyQE@WE_%9z!o7{Itr zaN`5N|3;m?gHt+qVE%I_Iy%us%)f~;Cii?n64?1a?~1wOXSTf#cP>i94n|J&@O!x~tYCXSJF-bE0fyKqfoBT;{MqQS0v8{Z z;xIiI`rTzWJ3QWrxrzEEV`g>$a*U66c&jY<&1Nj~g9AOAG8Vtu+OQ=_4Wz>WeTWU= z@1NeJDGLK*EphBP2YM_z_mqt9SHVP?WX$=LpO)S=%joWHct zzq|4Tl6uMnvWO9 z>l!=SCu0(76-*){_U<8vCL4mwqE1}=m!Dd~-sbgi_=6R-G@gvdpD^O(a#LcsSr0my ze&X`4R-2dzmj?HQDQm3gvGm#aU|gs?rt(awqn)y~EG z>sqDR`*dZicUZ%PN+quUTF&ain_4NfEw-ZpBV%#>*#o5HU?EZMuMd;5+H>)Jq`%Pa zV-^Wq>qui8`r!gM2?@zGfRujP;8D+?|5G2n!ZyVbP=42u{@FGd^P>ikPSZ6(`+_>$ z+N;jBzwY&KeAh1@F6xNq&$4JN8FP!I4c|?C)@wrB4FxW~+awL)*yCL=YPtpe(Q`D8 zocV@~Fzd#a&ohGL#{1m<|J|f7_#Pbw_aiLm@+ql!=yE!l8t%bvT3Lc}3ZH)$W*7>i zDm7uDp#=>n67L@dcaZIh4`#*v?cntEcU=1!yE_YUVJ7fZ%-g91*M~pHn2^r z9YD|gHW&YGu#&KP&~mT~bK8oEMfwv7z`Xih7>%)+cLHnKmnhO@V= zPOy=*aPhAKOoVaGlO&ZjmQ<=D^6###lRY2g$kq*WfPvK=x%1D`)<`Ic|Hhh@*ig19 z6Gtk{mMtG@Oa_m(f$}B%{K4^?MnZEpJ6v|fn(oU>!l6sfu+*p3GWQgF=oG_We>eTo z71m$)BbzDe?;ft0gLyYrNYWjb%jDJH4PL7!Sbmid3&ETYRhx~UWrK-_`g)nl6jx{o z`^N3Rp3$9!$I89Yy0;xYXfhq&UFgm-r>-TX$`&vqhkt%PHCt2AkY-~2C0jbYPZHKG zKg7z7yvf7wmN256pZ{HCrXj4hSc+5pY^m9uB)k#5kG*^1C%69Yqv-wUK65v+CMVkV z@;*D#^ohmQ1%XeRDr~LcpC1BZUt((g4qP_Mk^UMeMH9;-Z2!3~(62!UiU;ubfBm|* z6T*w;f@QE>fJ&wg|;!kD4(o-OZ2x@k94v>d=>{(A$xA89JYJxM_;**8uc- zstzXx@$WwdR4u{J;`!rNcPAPfu8eJu+o4#;C%69HOvlscxT6%0csbGJ;V+nmS1Z$3 zBk=XBI<%|h@83NVPveO3kI{XE82`7wVjonyV8kB}DEp!b??ep`Uj8^C=sDI;K80#` z9q1uHiucFAWTSdEliqE*u*HQxet{haq4i1`PMYdW*W|UwiLUcx)t82Y-Ae_yXW-4X z-&?(gRlAm<(B@2Q-6*?wf0``m{Un8w^xboH6?J-1}@%e*(`iC_z#YAb);MWYGYSd z6a3ty4#nTw!>Cd|{!gE^SfTnIUAs8ax|7@4>|{s${z}xr3Q~n3Qo^;LbnrBeum6HG zt~gM;cgmQW1*m-B7FlzvGvxl^&)-#Zo?+&d%cwKLfvQ&a#!JU_QKM`n8SqID9*H_a zy!qqvrwy+)?7`+3d)j^E2uw_P#?&(AknE4f5R=Y7|C@e#j4OpI+`HeNUVkseWePU9 zR@Xsp{czi?BAlP}1wVYTr?L*#Seq7rsnM=->vuO5|HK#iC(#q_=+OG1xbXFB*7d zJVPNZz>a(YrP%)U2>Foj1~9rKd;KIzxiwWJWy>i6{ftir#}WiCrWMsn7I5a@w{@5 zyxPTIe>Q2DN^VZ>EUgUmz=^I)cVie*9c*6oZ+^EAh)}XZkNb zL|G9Ui+#BE|BatB{;@A_{9Knk0bksCh{5j8^hu>y%YUbaWyG69-cLmszr>Gg|6l)u z?!05VYcI?C?T7_={hxJrEXJ>YixZAH(G{mn@w}D^?zd6`<3EbvbA%s%7X4PlF(&PV zQ>UEh%?Uf0*K0e>w)2!*ztmUD5rc#EgyFXwX~}Cfth{N9T@6*>?!oUw(w}nMuU1gN zJcru|Tjx7ch3ylV_QFBf$w~u4HohU_b@=l~!@P%V&=5`G_*N%+sGzT`cy2eWQTLNu z|FrnqJ?7j}jThWqsOH2@Z2JvC;wtLL%Bz3sA!}pyznjGxWbyuF*b4S^nm#t3qH^n( z&hoJ!ol2C1#D&gubjl7%+X8*OY&lqN{n9Ne?Z9@Sz7TlKk;eDVBwp(&-f1?HTffw_ z-Un_R?I=87=0sl@oF^_$7ML--o80=PIr&qFcE}@K^4pn?ITlIQjjNZvzmYDterZAX zA>cXlHJ(y%rrjkkiCNtdR=abE-1?!vZMMMX0V;yl8wc9KM;QXA+hJjCXZVkPsNn|w z_qXCx9TYF9!tVVX=*w4r5YxShm5%BNwFh^R9Kzp!N3Qq+Y1!ib*E0a#7TjXi zla%27jyz(1h`;}O;9d#VvybBiO(%Niw+;Mqtzp?G9AMh|0`jFD|NdcV;sYpci^lfa zPITeQZg92F7N#b1fSl9=B%qX^KRvNpL7FmiC~lkRKnqSsfw5{&mSmy;785p*h)ewQ z>(ujV(nqKJV6&1vT|ROm+$eHpi4z3EE-WF(75R9Yqb9BYasYj+?C5|M!(jZQ8urAo zgv5_rPPFUz{dehrl611DUuh`n&&?kc3Ke6XGmV2Xa;n2Ba!Se{za!gQ;i~g%yb@+d zn>!8yb*)BL>VAXVTegmb+w;#)ZN3K5V>t(~-&$+B?&>sfS+kA>Uh^gL>aW)A)0awP ztMOqsYZ|?23e0QU&N5F^BCq~ybgQmZ#V#2izc-?zx=ez_AA{NNpT}4?n^MV+Ia2QW zYq!0#wETMyoR%f>r~FI<*tkZfVZDrgbS%2J3dr<$x! z9K!YgL+7h(@VY?Zlc=BR{<2nJ=GNv4=P-@$=`Up+(TxaUm&ha;C=NDlo(DrKHw$DBP_mCLwG2_b=zp z9e^ddU17rr7uvp?I&{t|l{CGG0DoN>`E{FLzgCq{0ejA`fWXI2)by_be8s24qtyk5 zjz39!hN^P=Z>fp^e3tbE-F2dOofSc~y9&(d=LXw`$w&{E4qX3T zt+PR~hl+Gfdq;Zgt&A-ELSa+qP7tbanY@tj^RI5E6aue42A5u9{l)Gbq*T;!I)B?2 zs@1DVjahrHef`fX$f5xnQj17O`Yc-_X?!vq&OU1o1x61D#_`+ldVUAUlE#4JKo>eF z;{&PmDj-XjhJn*2Mk?NS=Gxb}GY-ZtTLU(;U1<5v!(?*SP0}xQI0!KnqJE+V7ynyh zF57p&TdI3M~oB z5c8pl#2)y6ID6};s-Cd@8&L#7LZv~li_e&^EvU?;otvn=zlfiT#ZSfEx6KFi(FK% z&9{@!>&HWOua~4Wh=2dQDKM2?PfdpXgPPDDb0)J--X)~h)nIt_Gcvb8rs*Ks*xp^!R)uk8@3E3u1`A4)cVP*d8#yNE2oi z@$Wx12OP)SAIzcaIv09jUNfwlzd=|wt_55fsSRP_#@zYGs~`l6e_KM0daks^<}>W} z-Vm~{)i4Nm|4l|odGx&dgThf;&?ay!OuOqsf4>Sd?%%e{P8>3%M?ch?f~D0O{kl85F5782(m|Xf=-5C ziRVhbet@qf4*0J(jQ4e=7te>WcZx&AzXZnk5E?tA?dal>8gN$)0Tf`N1^l?8fGk#7&aUpFUjb zfM;K23#ZqagXY+V^1ST=3mXk=H>Ob!MUoU0> zgg4y-m(ZN1PHzO{rZH^QE@5=WY|?4Ye6GH!?kf0LycpK!O8mJo!I0D;jU3F*Wj0Y` z$dK!cxcc++XTp%BTfppw8SSCUBXbIR!EWdEtexvLV)=U}SAVbWLbzzL2G)EwrTf}w z!I&AnVSSIf?Ah_rBu#q)SKl{gH8eI`0z~2$yqu~7An}9GrW&$D*P*0X7^jwg$LXoy z_$5vFuhSq>S-rgfOizu6)h)*ni@yCxW&6)!%0eidy9E5}nA4t*C&GqS?FiW)Le5Pc zLkw^(xBP~?m%*>}cv#s=@?VEe0pnP07TiqYXN3+U+ry%{dU^cKHsfIO-a_H+>aDD@ z@jI^=4{h(KfkU!6H5qr74F1suwio|qBP9k`;hj0$_+Q%{g4-kK!c+~({~GEK;jOol zevPbg+q@xU(2E4FKKH^F_%S&Oev0O_TYM07zEKNuA1AY%dIQLZpk-Wrqu|}}d)8LS z|7=0+*ZYIZ{&i%rrVTDHm`2|9S;N&wtlI=}(@sN~vn4gJSr@vEH3s8P#@N+zA=#0) zf~#+|U^aXnkOO61Ea@{H6Bys44ot3Yg4(q<5TnTpx%$`kci`})voPhc6}>#p6;2)f zLBe$mvA*VQ zvjrq~UOMYrZ!U40aE7a&ZtxVG1|~poiWP18UjX=-Y$C!vD_og2kt}X#^(46S0Tz}&h7_k=;p)3)Jc7ENf5N#l4e7q7j$riB2i```CR)vs z2@zg%^-dqspxD?q$bACK~(Bc^JK9SDV|K2ni1|(`La~?|XZ%OR0xM{7R=hq^(GW7sC;IW#kk8|7r z{Z*#Qz8xFU>=i}i;Fe&Ry^7VNomdbjGO(0v>o+>)U zz!8sBK{b1`>h6?K^6~mtZvC6OnkyeYcY?d&HuO{2Byb&@EQDq*Vh!(fBq9FUT>a{4 z?;+AU9E6EhG#3NlhR!l_V7CpCI^vIiw>@F|wqOe+qDXOFCI=Uk?>^yO8s{w{rE>>bwA(_mjywTTA+d zwu49WL}F)E%x-saBDa6+;p*39sX$|w4j3FUrztJk!^#@9!Bu+yVQ)iE5@^8x{&=2v z0FT1f68}5q^i6I6O#0yr^Bn83Uf&(aIf)Cz+kYI*D}YO0+u063>HX{%(!Os)5{YZ* z#jd?97B+v{&DG}{7emLGuk4(=In}=w1sV?fNw>T&8IB&g!q;?u``z~W4jp3-=u`tVmO=^p$&qwvT_p~Dn@`IC0PgR7l#R5PqB=oxV^Bzhhq`yJP^BhU3nv&Or) z=lI{JX&oh< zZ@q@%ICJW|IZr?=P(mDGLaBIRN%`DP!7U z_ekq|v$^_+_L=0JZ#5-cwxIoKY-)f|^zGg*3Udsv@ds^5c}3Fb6E zp#k`5+CpGp9(#Z390_YVkgIq4^pb2nbRG7qB>wiDE#!%1AecU=hm>3-=`Ff(^<8XK zM2x=_tD=8Cb-|&VNmk)(__D+w^;<(!G5j!V}G?ayezkqaz^c=V4|T z^pdP*{PABV!) zRt;>R-5Cx{Sj)sfJy_BxgsX41xsZ7eybc*Jq~Fh!mu!GRAFvv}p7nWN3#ujY_4_;I zvWfTZg2xK!{W2?e_H%m#d^SJ9R_NkflJ@!pf6$ZZC9}k-N(VhmQ7i6m!D*L`~hzL z8^q7X!^PT4QF?#U{nuOetu?>}^B?SPR!!)9oWK4a7UqxJ-9JI3#BV!%RtsNv+rxCH zdKmwoF0589;l?j(F&BSbKMsLTmh`5J9uCehf=AbFaOEl!*y_pe|1m)WG4? z=a3#Q!)CD8`!ic+VGd^v_~*wqJ2s&8s1;D#%Yv5dv_-E+W{}cL6U|&~Avk^=xBQ!W z#o@aVE8%y(8Qrxjj|FOlgZ28aDtkLyXz-9f{_gdhgvwzXV83+!I`a2V=Dac#KHNU2 ziYv2*+yn94_+9$WK)2?r!26vk4LeoHtnP(^w$(M&!=JWrZ6$yG{;>T%w63`gR{Ki) z+Oy^uRJVxegf+mz_0}+dG=Kkg<|)I&-yVT;J8Sxj7~|`+Ht=GqHl7sgz?kzX-15&k z`v4V@-(i!nEgd@D3xB7&!4A!yZ1!h;h|UqY`iq}lV9fbrurR`!cJT4Wl zlwuBj&m83H_b)wbYUku?CR8lYjoud-z_gBaVT?vn{Cm z&0zG)$`=B+)j~_}hM<_gof|**^(xGK6aiZ$etoMBBk}yzWn^8W1m@-47zVfIpZ|s) z-H66tdxD3QKX|-LBz_pNPH=i~fGO%a!q6rB^MfXn*JHoc9RWI+(M|d@u~aWZSWOFs zUniWQTPObh#bW6?DfgX%h4g;&1oxTfIKqrrH*a*RV23m8jpm=9oo=)VFGx8{EmxV- zgJULOK?errE=U#0@I;L3RMd}3S-to^b zqFNMT=#H!4*1(qb+}s|!ACTTX+TNLcyI2o84ZXyTKZ@+dvf0B>6kTGQ^SHHL<5mRcvBp)`J(bo}u@parSq7k3M&NcRg{LcLO z|Ecdr%reu3<=xC__b&d}K1vVThu&ocrtUDd6My`F^F58Y<2m^<-Gb_;_~WAFiKL5b zL+qU26b^{|^Ov0)b;YB7MRKEceHuJqD7MJVSJhemP~y)wf&SMXaO*$u^lucdZzVIQ zSyNqd^*jAQr=3oUOu>q7a~gm?(XBGpzt)i6QSk!Z_Wbcb!0#zu?srYq zx{)RQ=-Cy$b3O<=3+v!6YymCz@aJz0jq9i!Smd8R&Vq`zz42(zl_cTrdlo6(qh!@O z!7cxV`FGLAx;Bd(WkFRZdSYVx$3$UukfomTgXh;ya`nnqSJ40aLRH{fbK3Q1Pt-i7 zDf#w7S=vlLShn~GSHGuDHvX>FpFM~%r)D*SvF0y582Lh_N;|9o-+Pv(GC#Afd2aevV&fy9eP5Iw1vzZ>aas`6@9Wy#V$FIbZv2H^dZIt>1uA|2?5=ji!N1I4QHO)7oVupKcJkNH^7VIIQ73FS z)D)hE9#Bi7m@!A5=1H(8;m?D{c3bt@!p>j4|2_ov5L_JiWKTJUrHVAUGO zuEeAdfBp8de=?ZNZv)c{O{t26!o!~5iDOg^;yFHusCM(u|GsS41r6?X1zmkJ8b2=_ zx_*2@(t0!`byC`q>*x9Uu{$=vu4kjc=!!J|PYHoK(PhN{L#ArryWS+>P#m}aq7##0 z(g1((J1eb!>-T}TJG9}tPm=1SXIoN|v4E=&9Jm)WZ3uWiHKo7O27sMb5pf&*QRwT_ zlH||hmw&NO8fZ)lg7G`d>C+C<+slEbaBgn`8(`L%EbGo+ztpYO4Hmb22c5oH&?y^o z$%u1aaPXKB);qeJ>}k#4zgo_5hU6bv;Iqb@y2lSB36p!n`Mtkc)4(J$xHkX%;cCYq z$gXz-gfw&d#6|}?7XdC(cgunmp)uK6cZgU51ndW>CMzmc@d;h$e*-<5Lx$B6JO)tr_M zlH&CmC*|VIVjUN3B8}|%He9o z-;le6Z4(`p@BD0OR?ibEUa5IdLJFdDtpfggDUu#@;2FD@MQvze2^ikEh7d zua~*yzcl?h9*_J6VV(|jNmoz&(Z&a?+8z;Tx-R6!KjP}wv5h$YLp^1|I0tGITpbs7 z=?C}bUKElfFUZBlH@W%;jg|PI%wBozKL2SAtAyZ@-^h@uSGoG#${={; zt_5U-E1fzfk&IBh5jH*@2RBY$Coy~Y{+$&w77~X6$z<16SNijCePPfJPjcj0G~{o~ zC1;xP^M8G&KNU7z8>*^n*p%Kc&QMvqJ{G_aF3x#i!DRvRGH@ z(>k4m?$1qw}xh#x=h zcs71)u8%!_7}Na2BTzBBL>PYN3hTRID0uns^N;tPHxY+inV-=%%!Uq08i6|^?vm`4 z2^q&`_(HF_eE(LUhN0MX(@5b&Pity)Y&>TBIFn(}bB(NEY{dG!EaEz;=fek#&3cdK2Nk zP;@~M>#wz?r3Lp@W2N%5E<0KE^ddsj$8zJpS+5I$cLKx~g*J4=8%;JKr9Yn7Q_9}y z{3OXeCUf<#w!S0PYWa!3PutM+3@w)B+!vpPR>xT#i%Hh{NnHJ`+;%XbzmGVsz72g| zQkxYt?1u({)v)KdV$%OeG*`deX96A_<0xt$Y9Qs0w8vaqD=e`}QT5$kOp+3NarHxM z)x#^p1+iO%1Fd_~3d4rA#f2_4S#-N^Bx%S1uHJf`JKlyC;;_07)M0;p6w=zFLGc#V z=vqbOQB%I&;ahdo2o4ZOwY8@ODQ{S~SARtJSWY=js=moP`%FE)&&#Gg^EX;QW>b5aiyBjc@Ki($o0opM4tM zf_vt3NYMi`TKiXPu#C2arJp~m8kd@r8a>x@zkiEQUx(oEL}IONM!y?&fm(W|ka3d= z#Wp5H;l7)cKZaW3tuS@$s z2PF=3Kc(uu*by}|_mfd``T6H34h=&$p9OeGdcRMzaha4i9Yf}A?}_WRHW{!RCeNBO|jJ?Q@YyT5y!>WLc8NS`114);ixfx|GXjT8rzptgpSiq z>GIc)+1c^E(QWSzw%jvK&@$uapKCu2VUSr}oY_pu-|uviX-@P)Gp+hK|Cx`l#db2c z{DIv%vx&F##Gj*0X==`5c4l)w+*1EJJGRn8`02&pKYEs0vAvn*V#zM){m@C9nCY+?#xj4IicWq~{=&B%Z2HLdXuDPmyDTymx=CJI-u-*|%PQAG zEJU<6r{({*UOfU`zTRa$PU$N$G?Oc(e>KQL%(tn~S06qQT}BqNf(M2Qrxtwu>WIep zHrGykooG*^Hg96tVifv4HX}wp&jsx@O78s8e#Ay*X4pu4ambDuKgd+&oQpxvC9xSl z^uvVVdVKy!d7Tp;HW0t+I{c}BwY4!A^F3SG@yI}Nb3_m~e!0HmqXyzTNk1|8qDs## z8VAR_kTDL1ioDp$>8BpD5l5Rf{1gB5HR<~scZPIcW~eZ!#QSdsE$U&@Il5x{?8db5 zX$31Z4#J6!R?zkF9br+Vl#j{D9~_)vi$7*qiZ5$6qz|9Ovr?@w*z8C=xp?%JkWq=$q7T|o#X>VYG1CEUx|A~4 zx?6?8dVK$3ae^jG53>;`udPpuuh`@9g{|@K=#|2(QUl?@BL4oReNlgQN@BRqIBG-N zE{J7k1`okUOH?e($xC?nnD4(z`!SSduPVd$Q%q>DK~vZx$0=y3dr|e~wjeaSIj~Z{ zpGy+MdiZpcKm9-3D+VX@|Eg-b%TRG#^3m|xue|-Ew6(-uQvOf*|G)O=ivv4oW4ZpB zB|rb8X7@F0^qx{&amtvs>~)S!X)+8`oAzPat-^)=Spk)bzdKx0OgLfuC;pzgG1&3u zFICMTLj?)u=O2}q`QacMWlV3LuYq3Qjgf@fVV4)n zdUVgD>nu#qjP#UIgzvGhxbe&D+$1_5$84`Cf7+XuLdehJ1_DBZdfW`#*BqFSfcaOEYs5lZRSK@6VfJ&1`RMA99I=>FEnozVZ3X zG0T3cPDVBsuXnSi)*phfkzO6#K4>v{@>oak+{^brn|+UCxWH75Hjv)`+i#1C>n$F}Lf|8mW+*G{5KnDrlh z_{+h#2;TnDA3e?I&zI{RGMq$%Ar*Q>`?2`Q_7w4KUq>-Qo6j#P*LPp$B>Ii2(2p)0 zgX<*k%FBUu6o>j(PQUb(k2vU(<)89L9UO;VEcs9Qr?-5~t$*%neRep~ODsNVNk>go z;JV(9xHiR$wDC3;EG^$~^%@#an|1!-Bd(L;PaAWDSu`7qmTgeAr*0iZ_aZ+3;Hu3k z?6>hJJ|5DT4t%GDL)*Ja1exkk;5LXHI>O(-hInqnyiGMlQr3VfM(AUpWoI-99zcG6 z=uCRl7{LIb)jqX*_a(nkMSft^M@4KSMXz()7U$=5k0Tp z8oiu8u^E|UothDZ!|W8fuY+99MGPWw2Fdj%h z{F=R-h+90?kk``qcah#P;C(;J^+)V&#NSJ8{^(WbqA`7>-=E*l__qA_v&!{L@ftc} z#r!YKdnQa67lT_TY6?%c&#P4Vd&ORp-VmD@~h{(+zWuseSfTj63O*6^~V0UO5RdPOQ*)Syh|Yq(nI>&4F>vGN|p z3VYd$$pseF%(R4US6yM%AGF3UI8^YS$M?T&O1;TeEv_TpGP9um-`}#)vj^dJixO3y zMY7OuGjiK6Yvf#ZJkwO1nr1<3z9?f!wE{85>j86`6)Wg=*%^z=B>!_# zEkpFP?2cQ*3se(bl7#OWx4H2j9sJ0w@jLqNGNH}yy=9kmLh6}qm%0uT##c!W0noWP`ex! zF#LroqQOq`Y!IKnaOm9|{M}?O?t5%Qr$@~|k0+)qBQ8;uzvKdW@tl8uP`n}+3x1r$ zuz}We{_IHHJu8U~w9scpvD?T%L6bXvZy9T0{hGDKo3=L8qhKz}5+>uW&ZmUs=9h(< zL-_Mgl(bfz8)PJE23S)c@BQpv>nL1%a*=Rxd6ux+yNug@ZEv2$em~!$vy}hVAlnWz zOTF=MKoaX^yqM&7;@^M7I5Ko7euf(}Z0NNk&G2P*3$*cTr+PeSIjQE(zyCR2_cE)O zY#@%2@?UFB_{Cbx>x4@drn2>(i9*w&yKL$WDFWF zTOnjG-OkmQ&RK{Bu8;BY5i`1RtaO%IN8-l@<}#zXgGtYxiCq1RHj9|)SYxr#cyp?4 z@tGAI8H9y3da2S{hYC-c^Zm!Vzl?FqARv;VnLVaJ!Mfr;W)jHGgF@WEUdV7j$3})gAu4(T8x3)rThhR4fHbZitPA$ z=Dp9Alo%i5>QQJXtyzkYC7aQN>_XQ3XIso_bb+NGv?G_B@$=`?+cn05mDNRkDSr_s z-DamBcgETJIZSa=hxl&g`#0TMG(rHF1xJ^T4#Jl^e}EnJty%r`W8i<%{ zLv>wlGo0BR*~Gf|b9}yVF@b-6lKj*Vt(E#>{7f6#=tEcL;Wq-Ure?5v=ktZR#{Buu z!b}r|AbTX8Zf{^PoXs_fm{D_{oYlj*h#PA z{4HL(gReKq1)E6cXWjejR7&4dIzQZ5yF%|uCSy{y#jO1NZ~PIy{^^!^c(q#@PQPkF z9Ukl8>Bn8sc-$a1)zOm#$MN%Ds#~O?vGY9~vfhG*tP}7{q6x;HPhoj2rxOj$>)i5B zZM+kghZo?$^Y!VVNxI0o_r`CL3j&7ZM3HMN`TQ)ujTyN7;45tN+={-M;f)igc%ogP z7F*qI4xv+uxbbs*Z(yy1QTSEUlEyBdh*P6yt2#ek#o`W$q}c|3{*l9ni#Rd(AlkpT zpkOo@+eB|-?Sl@m$z_SeIhxOJY0~W#{^vRwU-q-6%fCfqW6O=IqF)VI>XP%MUw8?( z{MwC9V`z=v7(LI9c9`RWLA%^AXmkQg@SaO7NAurrx*PfgHQwF8(|2sCpVesG_VO5u zbg#<_Y`2izZ<=zyAFVAfqj*%x!J1`D?NXhvd6T9%c4{*7KedwVy~2P0s^HE6T&%Al zDqh*rSsg8~>+Kf!X6+F+qRBM!`vU*_k-Gajo^1FPKU><gaaIjzzs#R?y;-mJq;ycugG&h)jXX5MEuL~j$DSlji`TVi5 z)L0D3`Typh+c(*Vxg-C4f3gDj-_LS=q@jsuE9HNd|KBduTe`n(j^+1{lfwD>_IsA$ zP%R_zLN0Ovb1_y&%0Euq z&6b{y#04M9RFTfrgnn+PxWB*hHp_o+F4~n<+`nF~HUr}wz1bZwRMbg7Q7L@`U28F5 zvc;eFZ}7MaT8uWqa(z+pnM&#Rys;ARNqRl2J}mWCJc~XQg+AZvDh!*Pt(5+6@gH`r zqu9TluRk+?tEyE&L-A6&1%1BkEUQ_X%+h{`VC0L-inR{>??-7IQ(4Zp65B1Xpt?J9 z*%ePGoUCDkF|$e)dkp#er}Fk!y=^2WZm(!RMQ3D#CXK=SQu%i|^5d85`wZ|FH6{OS z`Tw7cf5IjO55w~Mx3YS~ZND}C#;k^cgJ}EKf_iBFU|W@`Z1?8QxXi~%*w~kUeq*ow zTD8W+ORQ^SNq5HA#5R`ovG09TEW2(byno4$UtVU{=icH~(~9!9|L%tlU)*ubow|y& z*vjeuc7IT=pLK$NeqSE{)n|RN=1tbMY(>*a6_?ycg6gZ zG(pNAc>PpWu7B2-zy7iv@)qNFC*bAt4e6fj@u++-g$=mZl^Aq8LsonD=l=dTg_`5U zNgCqC(-MC(awMz$sz0{FckE}oV&PaT{`&RAa1GqtNxDA{F{7SFx;SrgN8GX}p2cgv z5F&@H<&GZ>12fz=Lsx9(ZbMTpM6p?>BhY`;Au{mQdtnyx&!0N>u8l!KdgAsTHuQ($ zJ&X4rj3aK;P^FG~B`mk)^SAfe9>XsOBe8Fu87(+582fzBQpNv%!J-}=BRTW==PzKP zg{K^K#1Y@kX#MT`*ux}k9MrrGt{-<_=%U=gt^bI)=BOhWiob^1(owzdGvjmG*x+#h zc6?lqeA(>C?Z0mNTQTf&HL{?KTac-&&{&*86wiUxUK zpMU>RU*UkC=hqU?_}Wl?-%qOhfzlh!)4bTzNg8C>PyX-c)_?WzQLeUlJ5cg3jrz%2 zzwCv*GN!YEd*2CX3-)uz@1Ob0&``V>-T2S<<5^y3)Id|{B;^nFv>eB6zjFPI)H~R9 zjr9JP^!L-C5uQnH`A2`K%}lPoo8d1k-FlE^`ZS#M_L7S{_2&yZ2ruU+IL=mW}DoCXtwab*Cyj z_W<#3{+Ps{7|7L+u6-Qecmm#E?|`SaI@5K#4>FaH z1`9Yd2GX^E61Ht3xBUGl7og69D&SKUs)3sZLpJG(WJ-f<}=!}W)8_1OcqqIOs)RJ-a(JFK@rTHx@&W4HfMl(ZT}`9`u8jYo)hnQu*=A^+5^Opt|&aSNZ=Vira$qa+^Q; z2urr~xCoRj&WF#;zhCNriq|)__x6%VvSU^!CQc zO6U)-2|<~JQ~ ztu%u{ohn!U+Y1)Mt%Qp9-{zG^nA4Cy`Xd?q_OIV-AHICC4RZH1qP5esu;-j^@Nn}a z;{MhEf)YA%+kc(*G`#A2f_()uI(L^TzR*2Ne!uiXpF>wjzpqZ*`MYt84S1oR9j4qg zrOJ6_57*&dj{KIi3pGjNmaJ;VHgq%;0<>ns{KTljb<~`dGVoLk1?#u$=GC2}8 z6d$}@O+qGI;Oficr*0U86O|@(Qcic@R8$sAy2l(-unjFI+tbheb=lAZ` zO8oR@Ir;I%9BaRSNOtEf=hlBuuP^Aj<{LA(U_&j>jzdr-ve9$jt3t>p60x8@xBqLu zdxZ@>Uo$ezntrG`9&PW;VIS*sVRJU*6KqqBt9P`!jfX!xVTVjCX$SjJxVx`8+qdx) z%l`C+G+Dskf3`jP30JJ~fV)w4^iGd{*tB*jIk=)RyPaPH+)wk*ZyGe(gChnXgJHex z>6zF0EPiZ%*mYny3ma(&n)>|rOBX*`gEL$9hCw>@>DVjPu#t%pMtR<6&d>Fr_9bU- z{mc7*cj7B>pJV@L{<_n67TjB#r1~w*pAjqgH?{aSbkLRLsBPoEdO@rW47O^p{&yZvLe!U%{f-it;yEI0Hsqar~o?+sH3}llbqL zekUViR7YF-BX}ytNI92hOH%{xv?wG~2YPecuTE?Z_Q*RSWDK{W{=*G${%apt+3`M` z!HUT@|HfSX`_b3YZKXAHmiVh-`mb4S8#5?LX@b^gi%9k|75De^ulQ#t*M*egEUv!1 z|1#${5VMEa{^|eBVKLZf?n_m9{=I7;|NK=$WBq}QMl zL&ZKPzJBL{6#U)z8-B~Pp`j7AF+Za-F8MZqEnYdD%>Bu~|8%h3j8-Q##C4Xo^uvrY z_D!oTHh7P$_S1pnVI}e>{7tu@5L`{1YidhBtu!Skbmy{9>n5UR;9zn&lD~f{Il33u zW`0GTS2on?*jSc3cr^C1-^7L_Nep&3{`^%VZUGL=))9S!ZE2qsv8wCQ(ae0~6m-yS zOFq`*@BgMA2*a+=Yl|8RTY6~SN@mYu*$ey8xKH1M%*f~Oe=S>Xz=#p0I9A%f_1~4x znneu4tbiQVy}QH7?mqne-))bz=<8X6x1{~o8H+Mjw@!ad$~R!?vj&mKru_X^%VU#p z#_XD+Pc0iden|!kt~M51SR@A27^@_E)A;X~c~6(#3pdmfYn$27^EM(Yah2ZCR1IV6 z?*TEK&EJ21j!wg;zF)E7XB)~EHpED60rkqdve9$qksi_f{%iZJDHbSdi>trcQ12SR zetnNbz2vn_5m1k`+QH91Y+k)7Zr`mhntZgO$y3VMDf?CIR;OlQSgi>kO{`U*Eq;Zf0;cd^K0UJoPJnx3|H03OgDkot^iQ*gs|| z>r`%&pORx6+_>wH^6&rO{CDO4F_suqDg9YKR;gQWg*^bS)XWW z+tLNoCgaRKGnt`xuIk|=eOUgWA-DcN66%V3ZhTa253!|DOFQE6ObZ-z`9Vf_NDXM- zkiY&rI`cP13~0x`O|_=6CG9YIqZ#%Z=*SKp)`X_%eE&=9GBfd{-U4#$TYVaRaX21q zdYUD5Z^JJ1stXwh`2351?SFnf$Rnb_&tD$&?lY#Gk7X;pE$LTh1^Nb>N@;}qS-Nf! zIrcu2JAeFZ{adOkBHvH)*S{q(M&i`<8_2j1^=W8IGC4`3VBY-OLYVZHP-AQU`LV-8 zLoueb8R_n5O_fjmapSJ{#Jz7djE**dzGnRV-G8mW15?c)J&nJ9`q%zrsB{i?@(2I^ z;9vV^kFKA{@tXYn>woQ^OD*1$an?V%{Z|}SL!9&9Jl1oBEsfj$SS2b8Rc#Vyz|)9d zcpz~xDpCG_<-e8d zZ=9UYEr0p^TXNtqme#Jgzdd*94cXOl2rL{aK<9>)JOArna0u(`R_Iq)m69@vqxY+a z01NCZr!P?IiAz!{?tgEd*hUV&91o+U@>eGQzxq#6<_VVb`Tj8v(-3@q{~(?{XG&X4 z41k(WXW6xABiQ6CRI2~V+pp=s{Z19QGqwBNVJ z{P^Yii~r3)vso4SGk3kl#toF{qUBS74(<<6A>jjEGqjOIr?8~ocwYL$%~8Q>Pe3%)N!+d$Hf*@ zXl9PtPyJxw%XH=$l0a(rYs=M3&DX5DN8z9m&cxS&aP|K> zKO8?{8Cl*rSHU~~{@3@fRUR zuY*+ox|OK^{_Y0Y$KnaLOSGWVZKBZVzfd;3_d?cUt+aMX;paa*F+R=Oek;Jeugz$q zp^|ssEs=Rl-puxPs|n89eExmpVPva+X^ZEi_p?kgJ#g{V2H2`_KMR(;M}wmH{;Tr3 z7A`5k{>c@;zpH+sc&2G73s~}<>{Qm}e!t^`W-x<;rC2A^jCRz@W<^%*@wvro)@W-P z*?6f9S6>vcl(o9>MslE;(jI}0F^AaUNrPNwY*`()WgBz#<>imY?Sv@5DEy4p)C<&ukW~;k7#<@&$*kIL77m03TQ>rZ7J#k;W;{ZEe>l0H*r{@H(2cKuX6MpMi? zRx$rsj2VWV>O5f|`h6w8m9$d**S*Y0q`xZquMkJ!u+0k`RVC&>iN7W>yZ@KJ z2I}(HBz~Io&dvYw(?DH*n#6Ad8NW?>cUwJvo5WuO8Gj9`z+WRW{u-#uUz7N0M8;1e z>hjYhejAbT+ladSHi^GRWc)Q!1^yb5@z+Qd_-jPQUnA=B*ChTK$oOYOUH)15?@z`b z6V&C8N&GY-@wSl4>hh-~ev}~NM}fNhD2ZQ1Wc(^nmtQ6Er-+O{1?uyso*t0# zkBGYbBZRaZs=yBd89#_rfgc1ieh{e350dylAmjgly8IuBKLj%V5U9%^ zlK4R&;|Gx{@Pk0c4ta5Veh`uIgP;ohAdvBcNEP@& zAmay-D)56q#t$Ou@`EJ)56JjGL|y)m#2*3~e~75dACmY%M8*#yRp18^89#`r%MX(B z4~UH4!>YjVAu@gsR)OC`Wc(gd1%3~a@q3uM{2nR)fXMheOkMtt#Qz~O{tr=?|0D5h zK*q0uD)4JS#;<`Y@M}QEuYoG?Ye2@YfhzE8K*q0usp|7!%Z$QSs0d@H|62Asy{2HhNzXoLd8mI!l24wsir~hfD8eu^OD zrx11dDH6X$knvlHy8IT2e?nyZ6H*2Ki6G;jfV%t>iT?pI{s&Zn{{b@o2dM)817!RU zr~>~3Wc&|O1^x%f_#dPS{11@vKcEWy50LRcNEP@WAme`!b@?9>zXN3a4x%ok zj2{B(@H@<$p;04v_IXh`Rg^ zi5~(oeh5*QA0qiLK*s+Ns=)sM8UKT*%m0x08zAFvKo$5KAmeX975Ez<<8MF}_!}VO zZ$K6J8zAFvkSg#u{;IDme?#J5fQ)}Zs=&Vh8UF&Rz`p<){{pJOzW^Ekf~d>CkoXTE z<3A8}`419*0c89Ir~-chWc&rF0)GKy`~^}4{sPGO3!pB4LE0{{UqC1E>Q30A&0Fr~>~0Wc&lD0{;MH`~y&ze<0-_gN$DQ>hcRD zegeq&2}E6fg5pH#vB|JV4H_y4bNCiCx;D){$7=HCZ( z{ri%C9%TM`qON~l^6!Jpzt7b5?@RtsknsbEy8HmizYjA1zEB1KKFIw0L|y;B~AoKqdb^ZU6e;;K2eNqMgKFIw0qze9hkoota3jTeN`S*#s{(Z^+3^M;c zQP+Pj`Ts%Y|0nAD|0VxE$o%_I1^+(C{QH8s{(Z@R4>JEfQP+Pj`Tzgg{+0FrOa6V3 z`S(c`{QG|$e`@&mLFV5Vs^H)M>;6j(|31k4`=ko~{lAW1HT?S^^Y23y{QG~Mf7S5s z|8@RT!@vL6{i7QG{l9+y)bQ_v%)bxn`u8ROyHe(VSE=iNm;CEWnSUMB^{-3*d8N!h z59<2oCI36f{O?c&|GQG=e}^jg-~YP)t*rlD@~{7O{Z?83y5ye+nSUPC_0LQGccsk# z&Z^*lSIYeFPzC?{U)P^%_}~A!{#L{P{@4AJ8vggc?w{1~zbj?_ccBXYccsk#4ps2K z|MmX4vi^6;zYa40I;!hmm;A$jy}z!ke_ryx|MmV^4gdRJ@1HB{f0z8;IMfyCC!Lg1Y`)$v+G-|1hZQAC~;TAoKr175u*-^Z!B>{J$Xc z|3Ve~zkl67sp0?q>;A8@{@*^>Mwvjip{LL5z@IG)V4zKHp-XB{R5sCstB1aklkd!6 zu}e9}Q~ozw@}*Y%jhNbAImBQyb_#tHm=rY&E)Sb344Rdr&~%mb_kR-qU=vszeD|OF z|K@loV<#GkZ`!;H{F2olntuJvY<_eh51Tw7`@9NC$$1N?IsWQD^*RBb%ASjjL>rfv zf!Ud+aOv`1)!ocacy7-FvH-r2o1TUcn(*wOdcRu%O3TLyxV8F+z=gAB!H`#90?sdt z5gxi}LSP>~@ET?W30_bBseiXxP(Gi!0Y#Vmzz(%0!J0vxgwm1~WUr(jJ6i{SJ~aX( z^7x;6R^3RM@!5e4+MXYHu+$AwyEwxB&?K_o+60sfwZV6Q2`q2@@AgyX)>a;Hx+mzI z{SdfevLEQLbAjILy-D^>V@QhDhtikEP{XJE9b)<4|MlO}{p+A^R4;gt{VLG8>nLIJ zjRRy^VkD;KHi2D-zmq)+8^XSKNB^n6_kA5i+K+@YE^h*Fdo3d-)h0qS`+Qa0`6dtw z#iVvEd&v7x&e4+p{a^gobIg>oo_1Tra>bTU1If6Ub~)O!geKhJ6X= z|Ece}!bEwvLq`&~^Hrc@n{;ATeKmQxcL-*?nLzC9?O9)nGA2J1)j&g|5G31YXq@(gT;;)ivzn{Jr=MvYAm|+ zI?0YsNFyfw!%3*h2wKjQ_y7OZy}U)f)z?WMY2H#aDl80iHfrF$;`?9>`JKmBb=paK zHta;MUabuyhQ0o0{2vds)5qwy6o-8)4E*iC%YB>wBs}$PWu^7b2RxM_5f5;RpAIb; z))bny*T+@0iimRc4KnUxdl=K)0YWg2xc0s+u~5qY{*+(&=fBcFaZCJ^b3%5Y>E&9q z)UZ9cH5Z=w+K=%F|_E-J*#RX8%wg?NfYtin~dq0h08se=aU)a>?2>J4* z6I?&*3;7?M$Wg7lzv{1B=7FcsRD9>EO)Xk=Cc_LJ{vT=g0Ts3K{tcX_(xlr!P!JG7 zkz!{vPqOv`(k$3TMX_B}Y&3iCy(?nxfDM(+1bf8-c2T5=Sg>Q4cLGMT{t3a~n{&|1 zJ$`p)lF4i~JDCsO*%QDlIv#18w}#wt?ci>1dz2LTo~%W{Z-0&-&Hwh+ZyDHasKS}n z&{G=PGpd2#?Qw4Z)(~84Bl@7>1Ns3$aPP3C==lA~^Kp&LX|o_|lP9<4TxI1UmzAom z=5CnFYXQAltwxdimC(0Edsu42uLB}%>iIM8!oi_SC|7;O52oGLFYK+Weeoyv0#*H_ z4iLPhxk8G&U06ZpS7Zn=g4O2BL!(4Macz2I?%!Ez7{ykfbfXY>Z zIg@oim`kBCcslpiYeK_p)uqYpAT{m_nmEZEOpWhL=I@;t1+go7aCSaA%8r&-R9#p1 z#J)8v!wcmx)VI+h^uW#&I-gu8nU8*M3FrH|a}5?(R*o&uVGrGCgvb790R^uPq1kIz zqxI=Zu(>%Dt-9b{=J8Jr8kcZ-kT+-kT)TMv>iGO#_{}jL2=&>HnlD*^ULR=;^;h$b zov^95e}CXi=&_{MTT&*8xsFBHp>$qV{?WO2= ze;52I%mH@qibV$u^mqvJI6}SNTC@GllBmTr)@<9SHv6&(KkYJ*+TIK!LG7!udza*C0P7uY0#fIK4r~ z5LVtZQs!;13fte;R4u5|4Zc1NfaL1$(eZ1QVVg@l${NG3CCqPAY4Qj8DalVAFoM3E zirFput135k`h=b(o8zs%4Pcq7J#-lH4jnv|iEg-_L)tD)%FIt&J(aHQ5yxiTGEnN7 z60h`Ub-bf~7HV0!BShpqL33Z%gUka7$Rw-m`hQ+Lg$~?s3^E58Dj%PBfO)FwaCh5h z6z4M-`g-Rg^8>a}v+gm}CCRtU_IGj&rel4QAg;TSvfhWCXyJQnc-^}>SnV1DGwZ%X zp_M8@(xScSWoq>@>%V@H1N?fum$mUURyyTxL$wMM8T&IA;Y+H$UmtcB-vE@T{hYC#jjV|2Og#RC*}^x zWP7(aRWcvkJrlM^;Kc)dkwLHRNN34e*?i#CT%HvU&JV&>jf?xV%FlPfhV{fN3onZd8dy$xVB}xZNQTmVEhlmT$3o{d?$jqbm)o z4ljI-l?#frQL1YT)u8p!pxYt~1({5QLnptZ8|h1s&eLH+AEL=?@IRz&8X8pwc+*y1 z_t`#rM#}aYX6Pejj)R){z}d76qzoDgvs~Y!dG?FY`~82$z~5Q^HHdxHXb;%;c@FzC zDk*Q>+n^ZtWgJYox}M$ovJtd@+6C_0*}|#|i&55Pel13RD=wEV{!jA9tya6>XqGlT ze1X35So;`C<8TbD4UD5wq8mdc+!uOnGKX<_XV8%X$G`Hi#jo+=r4v0oheyXfiBlTc;4f#YDZ@6?o?e;bvH8-)>^5@#Yisk@o$CEneD3po zpxU#=^vC?Y&?G}ox&MP39K2xyBdKSoQuZLwiMWTFOf>+f(~pt<-EC!#-&IB|qt71u zj`nZXSLR;!feW|lsVtX}_W<*5peVS59?Wb;)&y9HmNx5AX1;ZUSh`ne5%O%VtE76h z1|4OZ*F$pclrXY8m_H)-HV1Ttr!o9GTEbR*+-c#rFaDco4~PSLWEJA)I)mjfBN)`- z7a9>g2aB3@zf?s|qs8duscwiJFnO9^a(Nld=An=ujaz^(y=y>x;fX&mAV|7PE%aa?C zr{_4hcD0Lm{3H9G`?LRz_4d(PH)6r{&@blB-8<~h=%z5Dwkh6oI~?|&kk9`YbAiqb zJBr5HYAYizBk*lDFxh#RGxWRH9kvC@=Z`p_p$lg(2BT?ON zQU&VY@M#KdGvN?xxkgK==wuE@8r8(EH;v)q^3E`Sm3;XF+!xbY$!@swFcS zW%A`eI%LnREu4Wz$3A2-hdbaz(?Ztod<|@VrzP06nn!I9iw6C>^?vs~{;c7TUFM(T zw>!~^alNU+-ZLLF)%Fc!?dMI#p$pBa8h04j`B*;x>rgf3)x~W%Zp1Uj`l2ao&^{XH zxPMIU)lLbD7Fm>kQVc17n-^bl$);ZZ!4am+YtH~Yyk9ocQPToPZY*M3HFv=A&s#!V zpQp0sUpP+b`Rh>1J+j@9j80SE1zaeR~U725x^IdkSmPFHm7 zYc}()>v?ugZ5!y_sxi(Y`HHl^p4J<>@Z<_Ab=^y5zMTzjH&hG#x2GMRZ|x3Esx?4E zLqg!<)vKcOm*4+W$xq2P-_w-&9I~H%Zq_>Ze86E_CC z8An%W|7V@hX14U{jJH4k$aL*=6&+GK;nV~5K(kHf3e|stwiPpVRupbXXrb zk?2eN_E0x7_^Hd=PZ=-~h1AC&Wn}R{Z;-zH&)sD!g$5j2n zHk6f=cZv52Ynlr}hTv(G451F_Bje)*JBiVML;p`66Az+;ONs(mX z4RsH6{;T}VKl?At$%`@7>41HbGnnHEqrmGz3T5^1IO}`1JA7XGNl{~w4{X2ERx%$v zu`v_>+7@@Qd&)dZ)xrboM5&BodgCV<-T&0zpq%l)p~iOlIsSmokNLqA)OEqCCzq+7 zhZQ*Fvm3lSFaQ3tX72^McG_^1v-%_RM7J*9?Q>mG`DlB*BG(P(%^rz#TKU1-8eXFM z^J7nG|M41lnO>;a%62g>WZo~Yf&K3q;HC#^;0@ueVAJT4D3@Hngc<&Q{Zg9O#=Gg% zc9+=Q2|tWZa+KlqP9|1O&fo!?11g-cCwj;|8eTaTFzv4%Wb2M-23GmC z@xG?xD^$MJ`1@$OdxgedsrRo53!*Aiemkxab0c~k4r}z3>DVa)RZFXdC)8^QtNl8` zuo?4ZuYXQgb7KN~+u()OvY453onY9S3~E>+f_cZg!}fOa`Itm2#?^KLI{Pq>c`%_a z*oN3Z{|WEWyD3A!>bd;*oinl$Gp&Uug!KQw+ftZJ{Vk~_A@>2(ktI> zfFqvYn3*R=pq(0%;db2DCPm^W)zts3M_+S*U+vLyR zjl*+k=OxvUPVb*gVSjg^gT5puk7@xg&vb{%tHMyt-JKz}zn^6N-G4rzIqLyXnD~R4 zv!(&i>3YzcfNqFD3I*<6m;+XgGIHe*Am1G@IUNybRcSpPAE} z>L8b!Q84N0&g7~CMni*jz0n$zcCcMFR8&5H?D%6)vYkDAk51k_1iFNMWNPZCvhO>) z!G~d%_>=v3s9CuWa?SFA4ino*=5v!?(rI_d{R+i5<_z&FKlL$$?7_95DmNH|p6{O|$K+jhU0B*o{(fFy}emCcv^!-Uakn^MW zOoP`B*dS>Y^~*q6JpPWl8H7SMctVp)YbDE<%Jbt-9NkAYKkRxVhP$>JFZ+Cl*&1{X zDO%QIm(&QwA!k~`=8NwYo4D?<@Ta|~e7^pfEm-qS2VzdkMpw)V;D15@?-0DZw?Cl2|_nF}(JK9$$U$dbHGwJqSeAwmz z<4^9nxnwrP$=-L^mgMuF_tcMydo#Si_sd+#`d?n*$gCauS(QKG5p%YdHY_(}@ccQq z(7=qa3YBjb(1dwy^qI09bf1}xzM+w>k5NO8!JC$jhC2Zt6~|oKfRo>UlI5q}bzt6x z*T8l49x*YE0%3riX7ZgD#?YW&bcM<{yxE9(bxDCQdEH@ZG_e4C%u*fucg2$$L>C`F zO1}pf-mNED{#m=mOv3i@tb6afOtybRc(-RBGVJ4q7n9F#{P7>Du~ z{u`#+pr6T%Am&a^t$@WiMRfpbNHJLiU^)AzPU~349Cig76 zd__A?YJpW;Al2<{02rh^qP&x52xCC;_q@V=O?QK9z z1tW+&7C?19+7Vh7RY4X#;>yh1uG|L$zi2>M&{L*~<6D$mr878xK95X~8Nt$5SE;E? z25QrYMG_f9zBx`djcMHrp?gc^%mq&IeQ`cG5;vskSzl4?R!qf1QeKmFG}M zY>zVYe%02&joxda-uFAqfR&Tkdzu~bh-6bd%;yQxX?_@OTiyz``1_&V=jN7Ke|{86 zda?mpr`;*8mzhrwd^}noJFk0yMs7Qc9Bz6-!M6eE$5h^8E#B1X&;K8zS-H?}-*skO zx9eZPkS~_@p(Pgyh7>9hWj)w95{HSgxW(fC?)bio!xv;R&4f28WI&-T#W_us@ z#8J(xu>Phrv}pcLbn$v9n5WL95>pe)%-5Yf52D(-a!uA|FbVypqsIjk@OAS=)axEe zDBS)eHN>|PEUtDPZFgK(X8jj#{tk<^s&n@SJZ5sn+ra{dHu!2mDz&p&Dr(mR%jVst zJ_p}L*4(!(dCWz-ChYnyZSZ1U8@%@D6@&tGQQ$Ny==t-aaO_I<;9vLDmrV$Ol{KC+ zCoCM?-~Sp3uB%hf)nQg(7=1&w|L`w3ykRxiKQN!UdzpYAW4EAcZO7rzCdAKMZb0t; z+d!Xk=1-j7u?}7gpN=@|e8$se2{kn25nA6r1UKnu1Q$K@Wb+zJ>eBJ`k6^R$+03>! z(O|N|j9v8jaqwi7Zb)Yw%U5mHtr!m=W`eUC@1}J*gTXuT`cxQ&z_%!G}kOg7Yq7=QP6j4$*cxt_W#ew zl#a===B|ZbXNvrGX$-U@#=;f9g@O04xH1@r-un$SSOX|+ICfMDc zMz8F+b%U-lUABH;t&TT?u`9H(-ex^Wn=%b$rB8y%pVAc6Sc5Y6pVM>$di^UaE-oXT zvA<{z?c6%zCSQV43+_4^lkrI`(Us`K4|Lq3dcd?!f!YOs%!S$V+b$Uj8GCdK8h2 zHs9-|upS%(!KZh4O-hb!RdV<=)Q-Qn{jTryA*ewY?3gil;iXR#f56Yw;6pDa>q|R{yjdPgg!L&g++(+k*lu}STE_PkQ@K_HVwGYoU0y| z!A$yD&t2g+1<#+jiW=HwJNnpDe*EL})4MU;ldWlt;jiuP7b{J{8J80&=)4^*ebSNA zWV*u7@8a*zg#E`SOSaizt-0EhFBk9E!kj5s)BB}jPN(f?-qBu)48L%2%W5U`eLnDe z|CeNK&i{fz0dH81>(7~uPwyc67rW7zNj-7u8f{p)OBc<2ZVg{t&kB9FBqSO?-_&uW z*VjLe>FbY~6^gOY#K?zjx_=r9>XnZkb1KU6SQ_HCr6BJv-9)cZJbo0{!#1@k9o}aH zzPIB6Gjh%tcz+;Kb?x{zG(71Q(jBmzvP`pr{tJQ;<>V^l)%wrp<%squSdVWx-eJa* zwWtPpJF}|KuaQIZSLk$PJL*z&08AQ~Pel(HFYE)geBw}FdUV`+>>HBC9Q7Uufy+GD zI<>PZv4wW zX$|q4&*A1OeWkX^NtMeQPkiNl6WCiT9@#wGg<5C~fOfx%gu0XcUpn^k2O}%P6m;|| zaRtkCm0F)n*wr)b@t)IUKF9DwNaw+3ga-IRl_}!Sf9iRu`J`X?!2%f(S>Ve*ULdX+3Y|6l6*De=~4^tL*dzkVXepsee+`L=J+N}Jmi%Fq810qFyCi^r9m zqe*D@>Cw0Wla1_W-$JJ!)Q6}}@uL32A9bM*kp3bu|MOKii-I5L%g+CNJftce9N2-g zoRrOsF>-{T;R@W~YFm^&RE4sJzCn6BjG^FYreygSrk?@(k-=QF(NktauY6 zvV=lcs*snq=I{eDYOd@XyBn}2=!OEg&j z=+A`&eP-^bMdIN%(x_pZtFzq#m!rJywZZqOCJb2hLsb9Lea|0>MFz8AN1G6CW6#gb zbFBmH;~S%J*He~kI|4%J3HDwx!O(x_U5luNYjrP?h9+d!e`RY zPsP?ugdD4ZT)a^p^X5)v>UzKwyw7PS<<>A3Q7J{pYE*T&?2sl|{^L5|;V0XkoBcJP zIsd6XBpy`YE|!ky)x8sF12JePD9ykk@}XotCqRQwmH8;Tl2?x&>}kwRxbuR!*w6 z+zigvkS>23U6*dM$%wN*^pdf97X%C1eqx7e^+xv=rlEpNJ-DcA24Mx#d7DM2;HIY+ zr|A2cNj=pHzoG83K@R%ZG4wLhH1$Elv^Bu(YmsFAyZBv%>9`?Rd*fT?>yJ}x;kZF~ z=DUS#ubP)on>udjY_J_nYIRC7A9m{&wDGCO{W|)RS@-4!YdLHX?s>8Y8?f#&S(n`s zZE02uPA|VEnJ)^81gGXbI7Ry(%qgP|cwl}W8-MsA>vyCMWFeyQ;zc#$nMotuv2#t*6SYkR0IY`u~x`}|0qkB=c~q6b&A)=Oq+ z;CNieu`kM>4Q$c^OK7M|Y@-MZu+SGjKf|}WbRS5KA6Yi_pq@n{k{dsy&R?u=N6w|Q zNbdZ_>(iiJP*cun!CR(PLInO6vzz+3m|}H9EWwCLL4(Qj4=u`h{^4R@M0a|%5;yDq zhH<$P14C<`r#`1X@p??2-`uKY42?~+A@0dnQU57zJHIDvS2U%=xS2TW+y`c_Z!}!~ z&kQ9L?Mz-ko*!Ltn0%jcuokd!(&G;s>q5J>`G_M{e_)R5gu&`>3H%&5#ehAJP>^*E zsHtNKH$Gnxm9M`4+mES9cdlp6Eq?rxX|mTH0$NqW>w4WojUvauqAeDn7iS6ur}*b6 z#9L__nk{vr?^dtNZLIyAd5}Uw?j{QyvUf9baUBaOpS58@Qww;pQu_GMd)0*QbfYTg zy!Sa{xsHZ)PpjcJTi2tnw$YFWI$+n>9Fn(6k6-OxIM5Nb^ts(5UolEwcQ`w?I#yWU zL6h~PA^Nxl*!(hqv)bb42i4oJ@v9--|E3MM-Rl{1)vh}@bTq^tU3YtBZy5`xcYQ%0 z3~LY{RQmo?(Ulf-_$x#1#l>fg(V9SbJkJO_&)K9{*)AF$27N`9?^c74e$wxM7mQu# zyam?W?p`@e9j_qh!f9f=X;y6S;4$E4^a9yzF@m!xS(5vILf2;WW?e%rE-#0%s@W41 z=e4lUNk{fzawJT-_5$H*mM}eC`uLv-=D^s$8Pv>t#hgt{MG=*3p}&PQTxq%hbZ(nK z%%&Qkb58pCpL5T1Vbkuj;0x%h-2VwJTLEV?q=TAYxM{qgm03q$4GgVANxT@&I0rT0G`yaJfn3V8J9HM9TTdbDut7;vdu71es|0tXl)C^%gc>?5S}&*P@i zUjMn_ouO5fHKPltTqXvu802=U-(UdHzl5NpHB29MPE`M?G&zI$pW-cH#0a|eLmJNt z)>GyWS&I_;h2!n*hbGTIM!{&!J81oKUAX$7K$PdR#jjDE-+8nbtv_cFwoTJlzOd5) zm$QL*V_pE#9_s~HQ}fUb>+4AW)dA#GI9+&+-}#a;u#T!V?U3Muk1Gw8t9#5riFpiu zm|hc-2i-?Uvim{)=mIonZ6dOLNBzzh=l;||s(hRAIjG6xAdoBn#?-}R{(ozDGSNhN zGprX@hCgRd`_4d?b^5@=uwJsyuh^%rg|^oiU`LuNooeT?Sx>59%edyC8QC9J*CuNd zi{7h?ci3OQ*VSqVSHEt9xteB5_ZRVO_%TQP^>ag5^(6=%_zaQFXK(2U2X$g0;FF26 zRoy@w*3=jue|S)_XlV~Pq)F!9{Z-!Izjq3;r=L99%r=~Bq?|eUCVF@CJexk0JiF#U z1}f{ehxR8sgJykCRAMNCnzsine)E%^IK>+tcua(3>y}U@sT=I`G)LzL9xAi` zDd(!wKb}6sA43e3xlj6|x^J!UYNyt4wEt)r)1(nN_iG3PM=nDBPWt?AgL?ThZ$E+w zDPCNPv99ve55weLUs~Y$WbR#d`T*F~-4fEb_`uR{?x?E!MsfLkk58tzf$@af7W76Rv4(4j;>L@we zHB_@U!*Kq`G?ekUH=J9h2RDyt&9tCr|cj8=L zR8sbTV2Tg1)vzh~9_z%|*HpdaN$G=f@ zK%(^*EgEezRq{LK0-6j%4uqm4tv)bk#bnvMqET?7$C(1yywhA+f1FKXkj@$O;P6P; z-K`r;JrORO_uq69;y#?lvwaMe<6>K|x;HHFz`C7b`^AAU$+js(xBL%kH4&cuX2d^vl;~KQpQI0Yh%yv=q!Vm13?n4 zh2yOImaH8&t-}4!dT~Fv^tc;0r%+qD!hSf;*}i~9H`XG}OTK`X8iC(NH|T$1v*i90 zubL{3OtqL#Jy=EL{%|uJyT}Iue3mej1e z)2W0mQ$Sz4J48-w0^vSCkkd znbVWtTvB&E&b25YvM<|LV>B3S^#-F2t}u|?!`|{X3OznC zPMqh@EAko|8t-o!(~&D%!Jr^x117<Yp@|yZ*U$(H=kK% z`!Lwr=GTUfqED~9 zieiI}m5%M(g70x}c0;-)ggop5I;$E$?}MMv7u8nOx4xga{(st^Z!(7dG5iV|verl$ zX&nZkUNn2O{VL=c-w94^wTEU%A6CEEhdvGZC6v#%`%gac(`dSDKYRGT-$=Qz&Ll7# zw2nGq6^67o`axt+JzdUzpc@>rfl==VaWFY znCcfg$8Ky#&dGniL*~o=Q@-++5q)YNh1R4SDVwfOS2gQsfF10+L0iK%u%o#@ z418z`O>L5p!~Ug0`Q+FY*PpzGhQ`pgp7eiOj)<*itgK@EM)lF+2ix#^ANW+*20|T` zuqf{{`myXfx?d}+%zU%%zO;R<45}s>f4drdOm?v?WY-3fr{EQB;BxP#;2HS^Ej&9L zF`U}^1*Ghf>xehn{pjVJPf}5?#>z?gQ&ERYAJ|a|J>c{E)=;fiW3cF=38z%kQS-p@ zWgb8H6+-_Sd5yYr+erCgzdO9E_JV!i*9ba}ZVd|T3~TQdpk`0@q9IGm-hVfjj-=ZZ znIbJ0BjvvLyI~yBLk%e$vBE4r?P~a*3{iXHE(1g*$mO=2$BBrffJ-5o1A<%wkCL7oQ z;Ak6ncoy@)5wNHIDK_$8LulLB z1KtGK!85ZR=w1U4asT6^H2;V0tk8r>{>xzLv?69wtL=xLGz$mKrR&(Pqi}QYF zQPA*+2fM`?z%-wH2D9%3)koi@j*Pl1?tip~MoIsz7L%9ID*ZJ~-CaqknX<#}I|_&1 zeb%v_B>z*{1%}KY2Cw&fQD?{xU%%hSo)+>_>rbscszdIB=a7C=+EqP2VY-w%21 zPi(krDkxKGDW5n7doKMo1)_59dA-XsfhuG3W%J_smwh^|RM~v=hc9=H@#K2u(43l$ zL=rs`58H-C`N3-ix6T-_6&=Q|Qivd*G-4I8*|r@umO z{yCrbFE|3HUfyM<89OEnO&bp1v#%hh>HIU;0o21sKCp0^7BVR;`}u*~9`g@gF&+Zd zHoju~4?DP>&6)rgLgt{3{cWcx4IQcl=24({l#RO~ywk*({f1=p=8_-LUE1BWg~V>5(%Kti4`T|?td zb`QEz-YoQXwvMvrseS0-cMnzV{4m_vP7CgyX$Jv@XHjy*A@pX_LQ(m}Wz&4Vx_f*2 z(J2+q4%AWVL`;VNMhsyMbv%+_|$JZHqi#=Kc%2)sjBniNpPBXejSmN5C!} zJ2tbm8QUr>8*S*`7>?hl10%a0L1FK?zux~!%HMUM7JVYio;y z#Kw^Cyo}%1h0RSX!P%9cgkw*ttv()P|9S{ZKKpPQ)EA~wkQv-G_r^OnH)ZF#97IEE z*g#=h@*GOI^!MLg`{aPKM;C5@_dDj;6{ra(A4qrz-?HYnAu`c}An?)0Xf3z&#>!tOl`QK@k zE8XVlUF^EzE2BCW4sE^XvCZ1NQ;jstLLVdSpkF~{Xj|{SWc#J&f9z$Cp;4iOW#@l1 zuc4spn_F_P6SS3=APoHT_OXLvcTmg2Q_-cU7Es5$31q&RhZ=2uT;}l`74`_+P5W`b z_Woozr&B1hXgHp5!kXRgwjbGKIKrn}HK02Ad{@$T{!jJemwD2awpnk^EgnGDPd)Ad z*~>n#7r*O*W%Na49L7LDZ7=XVh|s~gd&}&9JCE7Ymib=Xivv2!Dqb}~bAvrtQSVGWi)<u3R; zTiQaEG1cI`wepMvuqM^hwK4Vyqtr#5$ZUEyGt)cn`>AckXt%r?|pywB- zA-VNirPg0HtF|0jRc`@u>#r8Aehlkf{keYGI!X(-`e=O@e;oYS0A3jHL)p$PVNHHZ zSX_M}no!%L%>FM`|ECQWp$~gpW!ImTy8qec!YXv@maFXj&y?^-kbHR{SJ+oeIp{z% z@{A70Ev`GFxefQCWrN&cg<%7D`0RjW|7~GzODo%T;egdry4f~>J`E9G(KUnm)(j)N zTOQDLW@8xmIaV@%@&QdNZT)f1wXaN@jLDGEXcaa4mmk}vffnrbaRAd=WFGT1{yIk3 z)ccQJU=8}=fjXSynfHt%?hcc_>Eo&o>#6SDyo~O4ss^V%)`IzDUWAY?`MdNr{9MWN zGu;nCiwq;>it{Ha&#*es;Z-}xon;NymBWClss;PnpF`s&J`kUOwDA5Xwf^689aGSq z6d}9*pVaz`Y3J+0XNZtpe^Ia6V7i~dJDB=TPx)cXG?cSuJnR@&M1Aft4z4$RibC63 z!TH7W(bjdsGt|O+XURU0T7R<$j3M;ZD3Du!Q)>OanMrzZqECeE`g>CAKi+MA24xlT zpPNgM)!)aC|6Qv6*^i9Ca%NwUYroX>$0UO&=;?9+$z6Z=?hU0Q!XChaL6w#M4Hi;~ z4F&+Z^pVYaM%Ml4osPoy{zS@}JJITh7Qg$T`u>-?{?nP^4kkI5k=*s4RQ;RWbAx6X zM`Y{YwaZjG`Q&{tw$)XBNsUFheaFI)=F6znt4G1o5qHp>jJA+7@6XzmWRDB=FF6`g z?bi(?>%J@fK(75#>xW)ndk)o)U}cZLl%KHlggH3gStIKwNR?lGPb0|llV877YW#Ky zw1rQ5-^#xK9JA_~7A8ej)8M$dxAp;V~G2B9&Ni9@K?V0I2Iqo zf<7J`ckF8M^9LV#w}jox-Edl=C9Kd|g}xUwfM4~Nq5f}s{LTx{f0dk<;`;M1Hsa9` z@E-IOIk^DbT{#}CHF^S9w1w(Peu@h#IiG3a^RG*XqhN7#Kg1LmD~$@SQXkEOA>+Uc z#2s=4{f%Q~KR-#Wzv*V7181y{$o3z}`p-6n(6=X$T>ZuKXJ+ktsmeSNh3!8)r7Ajq zMm&FKCdohjov-Np9dZ3<{4U>)lwZ;QBVPaYbC{*d!DBQG-Eb0Bbp2QH{SzTSjN~hN z|3qB>FQj}&Qa+!rX#WwPzdcrjpfmUDA#ME$P|@>O-2cS+iuONo{rUV^Qoar;zoPXQ z=k=RkqpAg%uv_h;Dx4She?DLRcmDkaPk6U0O7{E_?>~dz`8ZO3MfaaLuah|twQ{jX zJ-bwV|BJ7`D*es}k$gq3zr@E+D4)+)^!SnI&p5#k`r6zG3x3cGy?F}W58Cmv1{`w| ze}3afvC?Z2^8UjKe$V4g)iF~)UezPr8xMbXk>dTHou0;UWbM=6@BJkspg2$bAWrau zjvecbdyjs{jvLz*8NI$t@qW;a3$%cv@q;*# zAB1^7i2DaWi1K73|2#fq6R`7!w^k0UoVtvpt;s>ofCcgiq-v5aogatpy z_v-Oef**7@XdOB~HyC-SOkndY@%}G8clcK#eh(+|dvL?weosW_PZaO>{Aywc+lb#Y zD=1BL{ZMl4!{>>ggGGK0Yft=~G~(w}@@!n}=gd0O0=x>G(C{i^Kc_TL{2os5dsdwb zVgs)o}mQ)XYz)D74m<`^NU#I_aMRV`FQ&S6_tKSaif+6^uH>8{zU!wljonX z$j^bbzx|wSLoHPM0;}*Oe$Kjb{2X%qjYWPB8cO`0Fyi-k40}V}sPP}=L;Rj0_r=ej zsh3aYKVgv{1cD#b^>jY<_|s_W-UB=E?IfPRqn;=J4i@~KaRoYv_jkgHzq2KCE$V-8 zHJVKPopr?D>2>jMf2ZX5k^4_r=&Uqk#IEb@0)!QZLXYAO2qLEhgX{tXuVn`!-O!J48>)W1ime`8fu53b}& z`!VGCUo7}DESjO(dF3r@7clUTKa)%RnP$4>GZk6Xe9AfBQ45g9C6b@n=$qKVv;-0m`Z+@6V9$Z?VX~!MuO7iugD6k1a+a zujRl0B>oN_RO;{GZN%T(&bC-PfVg5PrPO`UT5meM@Ae~1M?ruwWe zD#4FwI;B&E{22221=|fQ@oRF^y0F^6{hFWCI#kH7A?uf5!H>~dv)C(!_%TZ2$82JQ zD(c5@B0q)|{Fq+Jd#SSh7@_SY=MV8?ILlH$hUNX3-o%d??ww4P?Z@zWK3lT?i64VS zeoXS;ehf?en7PD{`EW(-$MCOFvJt<96ZtLd-+s$y;OYPu+mBJtYkD=uEld3uoJ`itc|-h{+g3}^@-OoK%iMqn{Q9>)le4ro z9zy&XW8%*oUp*f!@Wry{Kk;8Uk^h3_{TKE66Muyh`72o7UlH;p{fGE3oXCH{^8Sl@ zp7=AI$e+RIi9b_oNqPQ^kS{rZi2uTg{1+_mzXO#D7T<{1=;xrik}na?AB!)bqrjNfG%oNZy}O&lCS8MdZJ*^8Sl@p7<*%g1_>% z>v=R=)?ZQ2|Jv=4BKR+{2j3yye>qUD|Dv8J{!EIPUOE}dH+Ry z{38AeC-^IumY!tg{T2206aR%1`7cP`e^Jj9e})tJGZgR7Y%bTIQLjJoUs6Q=3zGL= z)b}6pS5id&3ds8_>UrY7q=@_%EbqUl=ZQa)BJyW&f8x({D%YP;&l7)v6ZtP7@4u+; zKjN=&*MIvfYd8~-_gB>O#DC#L{tNK_OOtZ_7xg^x7dVkW1H3;|rCfhTJx}}!PUN@1 zY2vr!m+QCi`O^1a;>U0zKL+Ie81+2yUpT>k**wSwMG*fbwOs#&KYsjclx*ZCZHnN( zScJ4<9f|+qS+4)0o+thbC-PsAy#Jz}ml}Vi{TKEAC-wd%?Z2p(PyCk@k^jP0C;rRC za{U+e@`?YFBJy9by#Jz}Cw@zc$Zx^&ev5kji64_9_%Zh<)W!0CjC%RRZ{Y;Lg>^fF zPT|?|%S-(X+Py858 z@MAvrcgOO6jCx*b{E_xw)bqq|;Y5B5lJ{HG`w#JBIKhue*;I$+{g}z+`Z4Nx;=gbr z{{_qYFY0;Xzi=Y|1g^}~3Mcq2&aWN7NY-yr&l5j}6a1KsT^&Iw>&K|qU#fg* z|3$rg;=iN_{!47oIac0(;mfE0jNimxNfG%gSl(Yz&lCS8MetwpZuL{i`!DKw;?Jar z{246o #-;yHoTiD^Uev5jZ_%SIWKL*SDG3t5ZucQe6N}hj1oK5@{y>k5(^*r%k zQbhg>miJ%O^Tc0C5&1KCpsYWmo+tiGipYP#^8Sl@UaEX)|3y77)qZLJMLkdamlToz zg5~`e^*r%kIFbK?dl3JnsB^{r7visQB7X&6ApXjyfACj`|AIyS3;VDB3-M>L;Lo(W zmCo}1%=mxsXNdoTMg9xA`;Yz$@dvQTUqS!suaNZ@u*g3l&o7ktCodXDpf^)>(Ocr5 z)cqmtpAdfqi~JQV_$#T6#-rU!33d;{s&;6LI;C-sxk(AFO2-eK$iqd!9YqcYF`iuy;yAK^s)2>w@pg!m_% z$UnjV>YosQgcJEA_+R}I;-7FL{{;UJ{z;kTj}7%g3;i@J;-CB(|A>Er1^>iXnqb!xYKO!}MuFkH7Xsn~W zf0C17iUof~=aUKI{gu7MUwIk44rRQR_gAFm|J{sPf{v_|_fMqGKfw=?JO8BSPYZsB z-27>&`Lh-EL!{3Ciuxr|^MC)r4=MBdqoRHY@jJ?#zcwVNcCp_fH-AlP{@kWl0mXiX z-26G>cVOP{sPbPXbEQsmcJ9PTyyog)Dy3;)vEN}dp)%x}e<1S+#9PUC*Zlt>ehA0= zAv=AunVdQGFr$rd%Gf~O`u|wuhrkHphlCP8WQD`{Vn0Ni_#xlQ z@k7Y^`&i_6fZ%tGX+Egf?^sFvj(e%n>z9-D_p!*&fJ49ij14zN75f=xi)z86Tg!cVNNqaK1BF!TTLujJ09t zQ|a|fh`+&!{0%Jl8{Y~!sv`ad@jp0`|ABe`;}G#b=4;GTRK))veg`M=JMiCr#~I>x zM4XhKe@^@iPUL6czx|9n;%9hhiJzZQKmNq;;6#20{@d^PO#BYBSn2VD_#vFg55c@2 zGF0S;1T?cC>#$1qKjLq2B7Xz_?Qc9G{)W<5`u&UeADqblz<>K6Y}FbtGe>&;QsQrL zB7Xz_?Qg89ZV9(;N&6eb|KLRa2magt$Rq0@d2m^h==PIZON!jlqtn%f+o^ z+*7~a`uq3XEgiAohbZa>!YJa093Xy3)if{kJaVsW-cG9>7W@*=7x9SqOTH1mWGB-C zP1_VNnZui?yv9Fzno)SOBiufrWoovwgN;_rqYc5%HT1#V#{gStvve`A3m>nPP z3uaGuQirE6MP>UXrTcGKP%BRGLzF#supK+TWp5AhhXeDxsXIY2sBAw(l)s_N34Tf1 z{-*4-N_u!WF}HJEc2m7-jzneqC49bQBYp}N{FL$T!0!3=j7=HVAF>`lqzv{fL1p_X zrFr6)a3a5i75tL;Uel;*pZri>--fW6_$7yv#ePX?p7 zKOc!-f(5_iVA5JDhxjF-#4pJTy+qwOmq_&@eo2=T<@zO93QY8%6U?^%AH z_$gTMQ`(IE!Sa4e58|ifG`B*`a{1?%h+l$5ehCu%68n~qsI08sr~-Zo7WpNJ_e<^* zzogIXENY=<0yU2KCAFHaC+!e6_4bhU_przxVFiE0Bjpxle_=c|miQx9^^Z&DiGPAc z{)s~HPtKjpq;4rEP)CV>vZ@^ag!mQDR<5d4yg)}QzxSmcL*;D@}S3aFJ&<0(tx zhg>Pg4Y-8 z2=Py_$UkBK)juJA2^RS!?Em1GV3A+K{;OX?{NOV0KMMYc-2F%5pOkt3v!ecq)chI2 zFOi!+L;Mm>@JkkPmMVF_guia#`$WlS5aNe$f*)ePO)L2Y@k8E}>xZc4iC@Br{1Pgn zLVgMV8YSfuKZO(dDb%A1`6;D&;+Jque)}bc$K%*#vVMt>EjcfUU&0A~NrRnhS$|o- zM7{mQAK?UlUrXqaNfWDk_B}pVN>FlB$exz2%n!z$|rsbC-PIUyq}_;Cw>XX z{`O0ntWT#Z=9dUenWkzkY7@oCw>WM^V=`+HTbA-B7Vv0a{Uq^The~w zmvDk#5}7}hZBP7?k>&a&>UrXqaJr-Z_$8S4OWu|1m#F87U&6Kf?Ux*Q-wPike#zi+ z{Sx*4Py7&80`{oBt-Cw@jycWFOEYWL#6+=B5wKfPL6i_Xun-l@M{I2D;_mFVKm`Rm zcoe(43;$=q3$uJ#mgo1Md0iOdGd;VrXWzR=&HunolfJ~HmiF~4zJFFS`X31C^hYf4 z*Z;tlqP=<9|G-Z4Kd|%03bH-J|A0Jh^4w29{-gf^iSa)`v-%&fM*jmJ_bewq|Kook zef-h?fW-J8pt4r@!P+H#P~0u$$$M9yx2Y8 zN%mhb1pOCGMgIjp_gMc0>2;UqFZv&ljQ$7m`A?x^(EmUU^gnR^_I_UWKQIz~U=F+2 zfxP=4{{!iHsFiQ@pP*GfzW+Dd_UG(BA+!DH|3G5=AJBqX{2vTHZ4J%PuXMh^to{$u z>#wG-wP?PR>_0(EkNy)R#(x4e`cDYEvxS%aC%nH@5gvCvNTNSx^`DSlKKf6P82<^> z=s!VtS}0fk6VU$wW&9sdqyK{`lN#m9{{i}6pp5?oYV^NQ$B)mI{{{4aATj`m5Pr z4#C(o{|8$37xaHX8UF{O(f>gm-!^If4=SPm1O3w+{U1n-{{w3Df6(5mT$=xby))~< z=5IOrKad#z2lT)CKTzWr7U2D}-0%zNKS5&rCs3pRghjPXbLBq){WoM=|B>zIJLSfI zgBt&F7w;eDhX26#2TP3q27T`QH^_4@egA^~8?t@>mb(82qc;6Gr1t)^oc%W#^GNew zATjdrlM|)1_n+v$A=~z=`)^Q| zueSfm*?)sE5A;8?V}!)`Z_sP|Z!l`p`(JJUZ1mrtwSQKtf6o3JjCJ5R^xq&c{u@MX z{|%X1`TVKYes%v1Mtyqw)t+A%{)7-+d66%B_zICW8A#_&J+s=t)9#_GJwMU5R&z4) zL>OQ8N;&XcFp%&y>l*cc@4cs&ulD>xV(k`WPQ!NmxuEVadBAf%$jkTd`+GTso_+p` zeg5Flnir&0d=Jg%57gctsBet-(3j@Qe?_+M4>$U+(0YHkTKTzsf4kcG*XX}O>-@{U zzn=A9QS*6!^5xb(k_-P8lF@%f-_4cjjZhO}m%kM(_fFtFr|%%y`>)76e&YMzDdRsv z|6lz_sJ%ZgxBeqo{$a+>m%P#cLvHy8w*QQJ*?&WB`;X-((EkH(^dFI1eu8~}BKmLO zv-*F~dVeBYfArtL|5yJFS^P(&mH%J-N3iq1c(Vk(8Tvo?Fa8VI@h^e;!vE2K0^5FB zFPHyc{5P z{|{{aWxW&X|BL?ycK?U|Bht#(_8*aX{J`g5Kz{xusK|X`?C>o_f8U#?47|iQUt1eG zbZAd}cbP)zZC{M%9{H4sA^qGVr||g&Fh0NF-8q~rOqodMjoHXYEwzI>&*qYH`2528 zYUd^vwQ+}@7=WMT);d`$NIH!g6ucA0K*gY?RZOe0NEgItxhMuf<@qr8@u2K0k6YfQntbN7EPLE}j;S zC2w2)L$sbBDab8MtAF(iw}llCt;9jTf%I1S9r`w%u96NF2^n?Y9PIcfs`dBU`%RSV zKeY3|f?YyoG4xFUz4T#&e#_<8%Imfvsw4Wa16sp127KWZH| zSAQVnGr7{OJbBZvD3l$qSJii}5CRoi4wHs2eIm4&Yem*H52S{%5+C=z5_I`8i-hbg z4X+|u`-?p5Gv|NfX>sIj&2dtx@JE8rY+G`FTOi%(QigY2VhOY81QO*}6rzi%`#*W~ z(-Eu}jFGDP{3~=HZbN=t2&Ai@|8SzA)-d%K{@lwF3cLQR+W%G`4nlS7p;Fti_k`+` z8<5ztf%M=g*O=ia?4V1@rsR`vAt+Nq{r&Oy{(3OJzuw2RJ}sL!lpOK2r#|!7lOJ(U z$ZqpO5cMQSeYWqv?|GtcnqKSu_kAySGtB#KNd=2DLi=)K#l2g`(D4hFivu_9BFE0k z+(>3$%RQepG%4QQ@S~d%9P-gBL@oYrA(9~xP{d3ofEZh}MRt?%t z9?nl8`FnMQXWLxa@z=5CpGkHxBpwbByL?U*3i@=U?H27MHy4}0mnyr-fUUntCA|ZP zvt-gRYHK6c-9Yg@9d?&eSbYUl>D8PK|iR8W7y{( zl=`@Ku7;yYMZ^vRF9>#(kLYg{4Fou1Ew0qBC8vtqA?;U}g0UAaGv&)=XZGKVZygNv zog>6q-x35bXNk-|T9C9lHFw zP;%-m{S0S!QD1f*Y5C?hX}p4imDf@keOlRAhx9PzUJt{A>QtP&Ax@asGl;%#t>^O> zc%Z+yC5oI`a*mYW=nA2JO|t5Za<24OS3}CJKjPjy7lh6Fo?^-Qel(z9Dbi@$0n#Pu z7O7xb3eJ92od0xe`-|K3G_-Z!EIyiYLAZ7}i0Vu1=PmMH;ul|tBJJX@lBuRu!Sw6@ z@KcyadZ)f0)_#at=-F zcQfSQEQ)($P79~~4Sa*(4scN{ORu|aB%7OS&tLyFE{3S3zr}m`&j@Ebj)ETVW{cY| zhl{uN?ITH5v$KEvt@z(>-j%u8 zR~>c#rzU$`3~rn5ijIR4g^!PdX`PU=F|FI*b!yY$1bOKFg?Rty0lHGPneofr{ITkM zl=QlGM|1wD&EIDwVn}?%Tg~}f_GNFwgx(A3h1n;C#Z?pZvwn`D{g)pSO-d(|K>;hU z-pcX9pLJ{xE+bv$~BWj{`#BTU`-y+QZM@yM-Y#1|8&Tl^Q(epw%x zk;g;7zJ{7p2GIo%&kCMqQ|a_*PG2eflRl*46>^~97IL6?MOb~)psHUT;%2Bx0_gnB z24Tm|(_*LL`NamWMo|B9SID>V%QfqN%+}3tcw0xBFF9VAnmUA@{IZn)mi#YyfzP}y zC`Soh*%D0G`7-58iu#wT*v;@O%$|A%To&F}?nqzWSV;<QBRq37(b2Dh(&#DiNCh0txa=#0e#hQ7De{}^SdN2Mg>9|}^>K@Gxo0hQtyOs5SYu?Eae;Mf8Mwf)f z1@<_#xzR?fY!g7eUz{MFMn568CkKJa+xyJR`jC(-aIeZKO7D5vp4C3 zPU*!f-}GcjBRzR@xByfQd&ks265F2H{38{Dp7_S! zC*>#WNsohtp?AbHMz5^@yJme1KVG@eLlGAQvs7OySykb8J1-<&m9CIKOOFx1oq51& zJNx{&viyqc`x?B?dC(!(VufDSgXzwf2FGVTxAN_9{tXX{B0twSfLR=S{*v|6@RJ_G ze!Cf_^=U+}y*?}aJ~Tu8FmeLSf74DJbR?GSu-`^n1m%Ur`Mxvtm$h;p=^^P_Z$r%U zUUZAYNg?_n)t`LW5t81Pq4RYKWcqXM`RmcUr(xi-0dyQ6E0pLJ1Y=JB!BgyK7=Gynoq0G`_%o!AnD4wl z-4mP4^Fu7)$ zpffG$WDR)}=R55y{exT_|ArKCa)$FoJ(>0^^~e+%oLS$?zi9SvXRZlrexUJ`zJTavrG%jr)x3!))zpGZR7 zGtx>I4BPeKXzcxT|4o_tTV~x2|E}Ige;2$UEOK#$1%44ug&$hdMh(A_dDkd$GOY!3 zzwTt}uk62RMLi5&yJG0N`EkOI+X3`t)2T5NZZ{>-fAYhGRXj~C`gbQCXDpG0HJwj|w#7KLRKDEU^kG!#3mcz#yV{_|Db4bAc% zqJ?_I3*}Gx(%>eG^)DWUkjszq!)kv$Ilr?mjE>rvrTonHH?wy)SbA)sh3du%Lk_GE z57ZkE>)zB5W3O?b+q{jKZ_NYG4ye!n*t712u!N(uNr#idXMTdXcvxpR*w&mj?vNLX zL@vQ{v#$Tlw#yxG@L(^)gy0kOa=Tce?%WB`Y)Dn!YwbqScb_FJm$s6paV4SQSoZnj zG=0YWP2AGQFnaS@Y8G@-*gmlvj6IX&RLi_LeK5HQl;E}3|7%@0!<(d7T6}qu@cEY= zJvfcf>qA!XVm&LE+2tK+VA&b?6CIiUQ_f$t`D0^U9Of0%o;%%Xv)S~&eE%mil-c5J@Ofr0E%C+ckD&Ep zv*kQpJgy9VvZ6cmPB@{dckCe;cHOHg(d`$7CohkZ>mg(4tI>LXQyv$nP&t)&t>-{6 zu-7kg`SmmEFuG-H!_bbUr7hns2{lq3Xuh@KqT_`Mu%cZnc-s6AY3*VOQwFg116iBd zhOJXu8AkUhBu$98Bz($Snflgj3%~qAopvWX!sNC;$@!#GFxs8HepBiv^=NOHT&j$8 zul@z$)Y|HF?!Ps`(@zpl*tLhw)3bYiCbMk07f(NIV+gUVC{1p2UU;diU)&A|rz~Bl+q(7Gv1lMnQ z;ajgHvL{wYyUpzbCjv~t^@kO>7nYxcFa~A+l^BHX?y6Zx>)&4yMz%AfFP&@AIzRHl zy5MH8-mNH@$63JhagP|iPBH$Ig22#lvaOV~;gXP8?-Kb~dL%8rzK~Pupw4i^kPjX_ zD-4cx+5LyI{6E!O7()IjAqCl85sGdv2Db6t=p6G?eD50VpqOoG=>FLZ`j&jblrQV$ zI;4lTueuuU2E@~@8D|tzxMJgiVOU~#ibxA-)GWty8{I6X7_LM`tO>d@7=Vw zAui$`we(C77Pk0TJbPy-6u)fcG}pQ;v`vU59*v7Y>j>EopfPx%Hd8-$UT=f$W%!1giTi_8eJR?Z_m-1ykla4_N}9dPfmFe|DS zeNk+?7-eM-O)uI2Uo@4>HERs-Uqmo^W&O+Aw>5D42I{^3Nfhn{29bIDy25<3{4`&g z#bmil0jOSdGB}n?{p-6_E>qTfXO#c!S$hLlxSD>SAxW^Aw@z&7GYU?um_iQ5ZX%K0 z^26ds0kEU&RHr!=%pKBeoT0~jIIg^>V3>C7QOwLQ*9GemN5$R;I>YQ2AIQ)1JIU~h z72#ra0)zIm?a$DsWf$k#ili{2xD)Q1=D0F@}XN>TI7>Anbgo0`c<-nj(V0KQkH+}acjc| zVTU-hSfWtl>~CU~r#9JFwJ!~wJ(+yDQUIQB_XWQJ)tLR4QeWzBE5o@ zg81AhD@yKObk2oZM5q)NfS={&ORUoz|e)3v$b)5vjjExjsy;7uUU+`>*hzq!-j zE_F%!wUuD~xN%T$<}B6nt-lL~@-yDjy{VUlRTjO)fgh{WjZ+-xh4xYWu?IzB37BU7=))Pvq5)CdfJK@H36k%Y7%eAwBdM-o#*QX)1>1xg#{{wMjg- zx(|qJual8wMAAUl6w3SNhjS%AGJ0eC)Adf3svC3{FX_h*O%|3|-zFX<8^NsX}_}k) z2alV=4Vw?7WH^ECUEYgh9Kwj#)28rhMgg$yJ>II*tb(aA{qX6H@ef>j^jBOZvm z2dxmNO=|-Ee>XO^UH+bJ`_=ky-nyP}x^PoX{pkq}4epzs(8up@2ptyLfpoGN`mpOq z=B;Z2_x)?aA>I=Tl>WjOI`rr78aDP{`uZtgWZ$65x+&oYdBdiYtxSbK8qR{9u3(@SH8F^L^N`M4z>gNaTV&(2pt!|3mS=&xpWfbf%VK8rIArZ#}p~byEWcjlxbXurAKT)g+-T8AwUoj8N zk$y7edtupKGs>T2-pA0@!BV=`_ndIWt1fvX1k!R3H#s_=sR1Wi?I1&2xWe$V%^3YO z)XI6Jhj}%78|s(HD;-FP6CR|vz*&d34c=YyO9xh-6D~)3(GgYWij|5ckSTt)aIfJu zLbkd=!C@6t>tF1ary=n{VaZ{^X<^|@2Wo)%;*iI-^xkP(s9kIk>ay-%mF3r&*wJ84 z9#NlDc>R4an&>7wi%2|}Z( zU1-r!5#ph|d12NNTljYJG%3H;2I3B!Wa_URzwv|n85#$?rTaUc6T)xr6n{1M2LA_9 z`b7J(5L9pnDP`pfQAgD0-y&a6!<8gXdg63OsQS1xeOJ{1^cSMV{6)$`hbh|qKO(=o zVb`!iQtYnNLgWbamF+Y}vt2^5IO4BpDDY+J(MseVlRmE)&&{a$0<50bcg+yD9c-HxP^z7|Wf8NU>qKbb*o{hqE= z8m`vTUcYMnx5L>Q;x1{gKQ;UH$&D{aC0^Tpt!6)ey!IVQ$oovwey(P}-Lp<2dC-3R zf3@Eh_KYR>qO|YdsNMhScrJvbv^%4D|4Z%u+sohKr2N~%*^GbY*vqL$1sWT4O-|4r zx9$jB*-cJIt2Lo#lNzJVzcknwn!sU`=CJ&iY=<%idH$xKJLTWZ`dQ1++7LnYkM9YI z4PNOloa#y2A1?&_J4*=O&sl{P2HF-;BR03?IEg95v9E&h^K= z(+OK>?pz*r6zK|+JJ=Jm8=JD-zqheP`-k~2T6x(O!Ke9pebTa#)TPonk}|s*9O{uD z2Hy39)-Fj-CzoDe_Am1BJG~Fp_W$`d)`R6E3ux~D)vjNT)a(Zne%1azU%!mrI|TgJ zm(%P&we?r>VJ9+V%ty`jr*{6UHL)Ia?(|mk{C7|6Vz~OzkM^5)Rj62?1>G2BL)MI} z4K`;#k!UAVDD!y=?DL%D)T*y}mhmf=whw6iva?}yjad3`+*QG0oh^;~GGBaCz!6Ms zN+05|KlcSXF|O7=8!lY4SU=J~X2a$PWn&KSZ?oAz7PQ2jq7IhTj2gerKhkeB@^YhM(cJ z`5C1i`5l4bcZfE>6N%-^d87yAhXjTn0&RXssYm`sVE7xV&ELrVmsvjY69U8kh}!&* zvV7!s1cu)MZGJ~Ne#qYl41WXK{Ef2y$o~jN{%4cEC(-7Al;el|jbP+&&iEVj+WbxC z+>=KT`5%GdfAli{^EyZVN7;Vde+UeJL-!zm^CCz7MybdBhrsYZRGa@%)*tyDf#G++ zLzCZ8j=$RcQRi=zdbRnh&i^RKANd`D;dgkM-|@_m--*gtd-C`pKO->w4AJIilzQZM z1cu)MZGK1AM`zRl`5}Sfhln;mq|_t7BQX39X!AQq73Cv8BN+Lao&)+2ZGJ|nM}9|O z_#M#ZcjWPx^GFZK4+#uE1ls(NQjga!0>j@>ZT?2?`^@rj|0FQ{PmDJIqbwi!9f9F@ zh&I2Y>_6mh1ctu>ZT?2Cf94!S{zqW=AJA*^Kg#waeFr?<~xb-;wok8FfH@NMQIOqRkH}^~moC48H@~{7#~x zeB@^YhMytY{ES?8Igj*!{ElGccbp1z25o*PQlUqFNMQIO(B_AfdgLbrhQFcO{Ef2x zc>N$S{Ew*3|0v5xen(*V9nj`?MG-@H>ec42I{%}bzsT zdbRee^Fzw|Bflds{0?aIJI@s3kNl0m@HezF@;CEy+XF|O7=8z|`5n3JZyDtyKO`9W zp#?4eB{Dx$I7fa+)@Ifp`5l4bcSM=r31Rphd*pX^mSy=Jx&B;BWB(&RBQX4on3bRT zhWw1Bf}c_9k>3#*eure`cb*}?Q(wXFDD}t>2@F3(vhqWdkRNhIeyIB#BR^!+uT1Mh zt?qRPti^8>9Yj5A13tF#HeA%KwBQ|MMnBzK>`ONkf!+Wd}E zkM?tc;b+9G{ET&AAjE(7V(uR(^?3h4VE7#(^E(?Dey1q%JD1;$;Qt&o@;gR-`Wi(0 zyTI^6)CBpV9y#(uMtypJAU`88{0zy;&vfz04?{|`{ESkM{EoozJD|<)$a6O>kF*LP zKO`{x5NPv5%JPxl5g2|))aG}TIDhoejj{MBCpDaJ4EFbw3f#G+kHov3P zBR?cC{1DaVhqBaPMX%29DD`UfSLbJx^+$e3VE7%X&F^HY9QhsP`3w0Ef#GLpV@-ZWsmJ^O z0>kf6ZGOiT`%TUxJs>|MF#M3H%?~N{$nOY7e&<}o;}~szN7iQsLwViNNqXRGZ&XmXG|7!0qqVSU7g>N^_f9!{i^djx$8f5en;7VYW8b&{zmSkgbX!ARA|I6p_^nm=1!0r5%6M`Vjdcf#HXUHa}$S|7U4)K<)ZLo!>F) z)5lM(|BU>OR{yE3Uv+**Eq33yKqesz8)qx`h?tJzQ0`5jrG-gY?ycE8>QL&|;_Tj^q?60H4P8bP?=6AKKd%eWcd^*l&kIi7 zj3YK1yTGS~1HivTU3i_kn*5r+h`9z&V~W%C-0YpSlkN^U^^F($>jiPO(?qDA5JX1b zcZI{VyTb$j9?-6+HQ8Yo#ppTIrgO=mZbVw!s3&|md0q$=1^Q-NNwC?!f=sTcgVEtG z5Hz?R%)DSnLN=CRY!I1xxeduy?hwfz6+G5O?K{x$5!qL32wkvl5G*R}2xd11L3FzT zy!?^>H$CWd_+9>RU)R(VBY(B0*QG^f|1DroyGpRxThG>Ap)a(*ywvt= zIGq$1D3~V$g|ii@U*myd`3Dxn?)Wn@bZB*G+~@$S*J0n`=Wlp;m(GierR}>13RQ1S z=Tq_hS?AUVi^I>fBTw2q(bRkSJf_dWU(=xG^Mpwsck`p3`O&?0-lAmDk@UCC14~Z& zVjosv`c7_pX8A`3R+4JQou@BW%oC2Ds!z?o)ujjLOc1>$SP{2*+Ipd?jZ|s-FVSYV zhp_)wE4r;(W$OOniT-q8AyRgE4Ea*i9qinTGVM<*8|#oBY&YDe&wllzGbi;I>V&L{ zDfeg+y_#>X=(VB^NiCE#GE#|_-gNNnvBHZmp57c+na1rOD4srGL2ehls;N)#1gXK5WukwT z5TSoaAg#8|g?|@PQH+gW!ms_Q-GAfl8cV0Ur0RZ3hE=`>*h{q!_I*ksuW^bRHHgx2-MD8m%;;O1k^`lm!V z(s_Lr%W3ly{pg_HV}zz(JHjDfD_Wy> zJF({20Ft-$CC%}h)~OS&Q3yNB2yHyY;s5FUwD*nD?F$n$!%0 zb@vbP^GXKNSJSM;F*OAe^k^AzzVDC6A0xXhH#@EUI%5YUeyAl4xAzgZwGxC66PwW8 zUmMY>d&lY*qW?M5&)RykH}k0V?GU(Voln@cax#SN?n`cNzpbBocM$9>Y^z!SqraBZ zO-q(Q?J+UBCcCDGf+`rqEN^=&aWr9J(mxtr!e^ z^O}0s>g~WS^0}toW9l#3W6&EQvH66mdHd@>RSJOc$3%Q#;tVc%t83Oj#ild85%7?7 zDKk(Qe0(b0KN88$|K!jAQ)e)YzHcBmHhIhE0Ot6w?EeAvqG`nV?Qqa^xNvT43Mo^d zCk%bPo9t-W6^_Rk$efqm;90lkSPx@R>ZN+SY2{&aVBt?+A@9ojB&o?DDEX)m@el3_ zE>*4(o7who`g0Vc=XC7(M{WI$KQ#y%ez>Z+{=B|zq_r%sLNQ-S*yeIbzgss6whW#n z{yEbFrkJ#a`%im-)S?QxJIX5C{fpeH(IqZGk=P4Dzg3+Zc-9Pr*|a{H7~lZ~ANNc< ze-=}oKV^wd{$dQ?I}>4a1DduUu43;43vaIy`%L!&pDFF|`OB>H$EZsG9{D7U);v&( zj$7Jaa7iI>uU2*HIj*cYYpf5M>v~-C{HZqnaYZ(fsG{vSJ3&| z(AeW`p!B7ppCFxbp1@1i@r$70bht%UQ@%TLy zlH%i;`KKKJTKl%qy|<@9QIF|DlbH7;ank@u2pk<#y+}6*i+HW6S37^?9XuE|+|oXO zCe~R_d++@Pi#~J_PR5zTl7vo>xYd`e$LD`nb=;_V{EDtzU-F&x4XpgS2v2KT)43l2 z`tJ`VKi2T@vHS*2eTyIEq+_A0V6F9Vq3|Ia>giG!k~hVYgAECkcy>y2{gsWWE7=b2 z7gO!Pc%gk#Fx?;>bK2_kHRk5<+OR21d;O^GKdRumEuM@0hg$g?BNy_KleEi!w__3A zXHi%;^KE0H-*0R18-+f<+S8b*jxKOJOn&cN*7cKi{K;5EZoleF^o@mX(V!;6>VhR` z(aT-obd_l_QELHi%<|FHZ$DgLYS(ucsoQUmuxMQnebYNM#=Er{@td)XKj|TAt{*Nu zlDbx107E}55Z;DHBi+#bQY%$PBSecE>+m#^7N>>i3OStyn_(=l5#Ce&-9Pr~L!yiGv_Idv_vj zN|x5tNB_zz^$ltub@ALMJn_60^R`kjZ9QSVzV?MKWc#(o@W1Cj<+1zdgwE3CH&#-K zk_QE+!A)q%O^xWZ#Vhsi`V}R5%VwJTl!o)^{^yaP8?;^sl=8y*n7*(lda2%_MGx@W zS5~wB-T`%`7w(bZQ+9)JYi|KMp_dy3URa`kJV^)R-j;(`-6rEX=yR5HS7r~UJn^HO z*T1HNzpWBn-aA5-rFL}4y)vTf;b|oCbaBn{xgSa5$u&d7hPBoR=bWa(=VmK-hdU?q z-gkGCHD}B<^^vUxO3nKhpx>&k7mCdeq~XO%^TN+6;>~k)U|589`@>wPNbl;mps8aI z3E>XGbcXjF{%iv~eb-KN_%4l_X_l{6|GLM9f!L~?re1fsFZFTw2ZlF2D4afQ0mmEk zgmod|j%U~Ogs+twf;Zm*h*|F}`D~0NoDQ+8}{!b8rI|rluVweYh%0TM2(0ba42d{%KvHu zznY$Q8iwcJIK}x_K7K~xCp{ee@RarlKLZ07M(94B(doU%1w)rpz<-+A7OJMsyM-QUxDYBf3D;SDoeZW9qlg8ib+0L0_M1uz78D(Whu+hV+qsO7$TLt=Z`!MlWYK&9Y#WQ$Piy_?H}5WF zHfJMl`xMGseURTUjA!nOu+RrMLY$1M{eTN<$dRS;QbPEZdyi9x-JCu&y6;6UX zIYMH$Rv;dofbCEOo$;qmn>y0yfmTw?nms~$S{vTiYewroZ7!PEn@#*o8fYGW)z;tC zIfqEHSY31dsU3fQ^sWQ@n`$3_YCg1=_MDG^Psff3hHH2n+~Nkd4_oS=G;R%@?VG}N zy#9(*Tz@IgKeb)TNmmbt!;d*JI;X0>)cJe}IaobTAHLWg+6GaY{cOUnd$=(~t zuv-iM&-&s~17K9b8cqFdyKOY#S7WJl|C2)B#nbfz`UcZgL8f~5expg`)sB$B7lk3S zvicv$oC7H@3Q7f&8cMGYOM=(Qmf|Sa0J=9m!7(LY7xG}KGuU690DbhXS+1Xqs|WW_ zyB(?2-cIt0KQ8pRK8!ExJ%%oBq{n9nXOi`{0u(vi7#=N?-(#x?I`${8VtuF^e@M9S z`e5|1nT7ZwcYo>lFGAq2Fn2=flE`q{9s&J8u*HK8&Yk2~mXX0w~>R zDopno>L`CQ%S_W}=Q3`So* ztr@MX$Shl}|7g`HJ~#d6J+g~bbEuW%6MI@HOquRa?pVW1-^or|4pUoA8HD!aTp~M%bSEtwW%fHrwsV*(y zrNbDAsu|AAU3uv7TsOZIc(MrG+7qtZ zeQ6+Vk@8A>UBN{EBkgJ{pFEnQsYjRaNwx7&e^v=ZPEUZ7+7E+-~Ll^64vs7 zX8q+>WOx5^;rW5kex~;QOSS$VK0Ja??5y4Y|4bL@>}LriIo6u;&Mf4FF@`|TF`E7FF{6YuY|wnD6=cwL+U!SH9G*;e!g77ZTcNyD zfdtL+@AWJy%`UeP21JGH4i=eAf4&VQjvp)zdft@ftr3f2M#Mv>ii0v*N=~!3NGJLV-l^~LCX6Z z|L68k9B&V~Y5%b&o9R`=L8FPrZZ zAJra9`dcJx>e=Im=jC?Pa&;jH_Sz)o_V}@3(Mx(YdL1AC^@MI-{EwJxwfvyc@L6K> z@=j#_t4EsUv&SEEOH;CA#YEV|EfI5j{OQoMm{i;I4ym~;2G?(USY~pc1e^XV)?R5! zRwioSzhl?`#qu4YpY179z~rNt+x5?0zm@lB4k1xK;xMr~y>u~@@AC1UX8YOWhoN65 zm^M(-U++|g=JxofrqAv1N3H(3)wB0MThwXd)Yio2$Wf7$i-WKl<0zM(8#QK-K@x9g8BpS}N_+x5?`Ki#VnF(1)} z)hGJ4KDXvOw)*!jcSFLFEo!xBzVo6032{LnaEp@aRPkb7R* z>1I!-lz_1$`S5zp{g;~k(5v=hGHcC3P5WW9QN^Vl&MV=_gK@e#+a}P%yH}IPhcEF* z-iGl76ZZU{^)?;tAvbz?{}{EgsnkRtFSNQ=qQTAn!L-%SCA`DY5K{6?9~fQR2XrlX zJdUs-^PG(QppM}OA@}^CPABJx{GN{C_aJxto~->_huJ%U;Ri|X_`ys)@{7RmizN5_ zVtW0N-vfr<6LZJ!rEBH(qy3W@`N8p*{)o}Y53XkT!3D`p;dxv3{p+$SQ;+hpWosqvga;iSa{M{ks@77ybL-zcgQjh!}F#Mn1$p6JY zF@x;+Kc${~co&TPVU=6c^+x{i-=l>gd;U+y#KCa_&+f6f9m(&m3q8?3=IEAW&Upq z@_%FRC#mp%Nm}$ltYmo~Xj#DfP(z0mJ`MBmcL0VyX)Nr_>{V2n>Hnjr?K3 z#2+gBp;C|h5HS26mHEA%$nV*FNK)bVBmbx9>|_QRO*rc1BU<88~MNTUKWr&|0nBp_(>1Q|LGY14~+a@iTvdud;U+U z$LmjE_&=)6|0(N_{2eg-9k0#bDfPJj1&04~(&qn^dffk^f5Hs@kZSXXN-m zoBxybI{c&uwe_RU-zoLT|ACSJGhKOKl=;6>Ir4vU*>WD~0r^8<_(M^fKU9{F{2ws< zAD=t^Pp(7y{ss9vVE8*~g!@r5z{F_{NIgj*! z{GE>B??9WsQ|gib(=q%XX!Czcz1sOhoxfA+k$=-M{2OTVZ*tq^JkkU5cRGf@18x3J zsYm_~jQroJICHub`M;zb`9Gx|`8S=Bzw4M33|lq%JEb1^H66pRfi}M;>oWuLbHMO( zRGXhu>X9GNG5i}C`8RcbKv{pa{f9cgro;L(bqJ3HhMyBXBd5G5ng7kzX7A zwGd>_uPOD&&jG{F#TfayYKzSvdwx!-M}7?$evNALYf3%xYdRypc6)CD(B{{adgRxD z;n%2in8gkNg@i{2JBf*OYqXX9&Zu(X*QTno^Ja85sGqTDE%}wfQqi z$NCRN`wcMs7uDv!lzO!PgONWg{&h0Vi~L#d9QiY)9{D$5_%~kW-#X{WzbW;|pXrSJ zS(o8W;R*6**O5P))T}II&!5Tq%z*rtj^V$+$bZ?+D+k&0UrIglKRSj#10#Q?&i^R& z$iL|r{tb-$oBI80rC!Z`;y&?Q8b79GKT(^1?-I_a@LM`X{~jcfi}M->oeQZD*5QUGkUhVp)T@=R z&R;3@$X@}&U-3r%%4=C3Q0K3h_V0EChM&?K`Kej)UvuE6GWE!B=@@>C82K$)(+slb zw=%Wz_{$+X{=?(_+5a#8YVh34x#F*opVBe>6fyEsUd@YvIzJ`1A^rLZ`5zs_PeJbZ zsmwk=en-dfQ;>UpDm@S6r*sTI1-av=GV3q*e|G#6SMPPM_$OJP9e;H__-U^AE99Sa z4F3d1{;4RjhV1#L%)XP$#{1{M@Jm#iUy^jP&KQtC(J}lFX!AeH@{vE%G5ir|^G8ZO z@z{(3^nm=1j^TH}$nR9!T?Vq}ca(bMhja`-gsfaTKQ#4l zdB~n0QtFXk0wce)`mq}y^p{^6@}&r5&o3$Uc>f(3euo@Pm&)+D^$NTTV@ISnf|EajQ2xQOyD9gwD&pL+R0VBVoe*ajh$NTR(hQ9$L ze{-lpdB~o>QRa{kOsIr3!x|>r?QP9@z4cpMezQ zXC@*)liTvy^@IEh82Odlt{=RA4-7v8Mt&yMCJ$uK&nVl^+HaBH0VBWjukse$1H<1q8TlK#O+_Gk{zh3oyZ++KccgB}znCKblH2u%{D6+( zZ)gU8Gpjsg&)+D^XOADqzfdFplH214yMIRhh8p>s-0Io&kNkd zMw5S0>ec4II=`aStIa=kennl6{7J_BhuqFzcKsm#LRTRF5{~>!Zr2Yxe_Osf;q(dl zmA=TYl?`l_c{PF`}#2TBx$THLcMp zPW!hZ-eW-pcCS&(KS7AVN3_%1(cAok z1!?b%`()hPSFn20DEg_vNHMD2CQ^PF`p>;xL9_gX#l@wAqb5QZlZ|j~Yoh3{YX}R4 z()2^0o5b1VPB#3WqWWB^@w;i4@gt$uwn+Fm^&`2v*A6yXl%SQH-y|L;O*H#&=jRZb zSZr;~!Kd9X#FgXA@h4s{B9&|p5c&OK<~KHBJrqG_ z{K@9icDmAkEj`_0h8Vid63jyuhmB?x+g}~u-4wdx znEp$jf^f0hRCsNFmLK(aiaxni`btDQvql z9@alwNLF=dD(0zK9}FceH1%rp&#EK(ecfuRsaG5Skp(T_VnglzJDAc`ikrAb|LT|k zQ>~`b8+YsSV=KMnZ+9pJw6=EtIXhRE0v$TTlW;wh4;)9k9^FpX?fjuPEnFXjirVe} zbF`x561JKyZ$Craf4Cg&Uw66~5v8NWM=mGBy|w30yV`cr+(v8ZONY~>fy*d5?uR7q z|Mr}Bxw)9Q*lEw-OC5gDLN5wP?>fZl?Thx*zv|YWjt#3oSG0S~PpKSA8a0{-@$sEl z{w`zg%WI(Swa?V44%EU<<%4ns88kEQPgTD{U$kQO+K zv%YtOpM#F*n`|ydyZ&wk70zkvlfIcsqwPibHSr8YO{_^1t`s8mcktAv*9S7K<9E&a zPx^hFj(B$n8jp>GS5NA}a1VR3I<+x9`{Nx+b+p&4zgquoe%%M&-<_|iR~x@t<~`t8 zk%gLi&*}H+poYP+z@w&i|3_ARNQ3(Qgaxrtu3)#Fs0rSiZM*jFAzQ17OrE#!->vl3>+Y{cw zM1Y^&y*2eGM}<)fr!XiI*H~Aq{$w~AmY;Ne)t&TOAi%Ci9U&0UzXcWNU*&pkseeQZ zKYapINB7Y!d)M1>#+Sk1oaZrdTkZ)Z1`LPAC!4?{|K&IiY{<+*t^JA7ygjJM2W@><-VRCAMu49~E2%uI_{3O~NYC;>j)|wEIC?RMOu6*X_E5 z+WIAuR%>3u;^RKxwWp`px_x)z#M^=?)!u)noZLmP+L^+{XKi(5*1E%-Zg0e;kzGji z$f~f?2j7LGG5?Lv4=l&$2U^wc4O?n+^yBC5#Jg>62&+8-vU&bgv3}K#KbsqSz|z6m z$8WXck7@K!*nYc^=JBUj+(8-`cpol}x(_|=-Qd2}OR~GmA~B}#07$Ho?fYvKL5ALk0NSoHbB9=0%1>-BmlRJ&xYMy`8%72-9 zoUHKEF2Cc$oz%x9fOdK}2fjwsgu5Oe#NvjM@G&r+#5L0{Kdyw0RC;h63>;ldx1!M~ zx*_!(@f$kTsh4|qm=jiCv;TMXT}THzNl>F(G2Ormqv46$N%Hf{@)&7(cbFWht&b6l zNClgkg4^&mx^5;ObXM{!@zn+=lD}eTYz@w80H zHd17D39vaj0QxV<18wjBV9r08=N@??8=oKN@%eH7pQTQf`6)EE_z1H2esMTb&sTH( z8lT_ZhtF>pS<{z39AQE?zWc@7*Qf$37EjdFt6jgk#p#IuSNv#P|EgWTj2y|6(fN~j zEq%wy@98z~E41_cX;5pjM~rnIOKSJt6@HivAOWkNV!!F&&!1qX|2Q3c08rB#A_kH1 zb)RYK)y6M*NeP%At37@Pq8`z@zl!LbSJu{bt-akTx}Yy4-CagFvx!i_roHC;O?7xc zXLYmCRlxgDo|~TWK7IY+d{86t==t&By}pX3UakC=RVPBHr_P%Cl_v^FwcmdNy<0Lw zZg8dr6V2i3;br2h4_=_Fqka5UtN*m`<6&Jr?fR=-|GfDBJbrI}^oJb%TpY(=x!%~h zBd68&FYo^;Kzej3p}BuiTfe&^N@@EAJ^n)f0XspGU|Z)FEH9aoBbZ?q;3CHmXG!y9bjP$BQW+ys%?Li^^qC< zkM=)c?0@tn+W*GpX#Z1|uhxEb`=e5i=MP})pH$oasjR z^=k7^-TtW5qy10E*#AJ={-@NV{ZYr*A3?T1j>*yfsMM>?e|7t(Qjh0v9b!+VNlA{;1Te?SIwn zk6G&9bqO%`KdNp2ll7Sa?T^6NAE~zeQK?tkf2-R+m3p*40%L!q^R(@cSpUpCjQq%7 z`yeY__>h?dSUhVv;Zhutj(f$dH{gZ0jKb3m5 z^N+gyQK?7!A29YuUfcet)T8}T$Jif1+y1E3qx}#V`yth~A1d`~^;frFD)nf8)G_u) z(6&D+^=N+t#{NjP?T<=5+8=d{{Sk6ue^jg=Bme!^{s+0R|0(oF{`{}~F-EpOp3B+( zsL-SR3>f=oOfKx7O1;YUhr0bx?!QR+ zHNCq1QK?t!zZ~q3SaxRlX#WGo{urZef6Ua%EkOGnF!o2iw*675S1VuL{;1TW{ZYr* zA3@vxsMM>~U)}zw)T>>;sM{ZvdbRV1y8Th9SKGg++aDtp*VETpo;hF=fi-!=FsjQu(<8_`AILm;Cs(AXf+@hbc3zFy>>< zSzyWnzZbz+6jQ}GOU?>oaZHuKPjQSTF_j;GXNj=@rY!OIr7)JpR2j~iD~qvQTBH*QFxXCNHXNFkJ|LvPDhlw7e@}$`=1pjH`rsWwfbbdYcC4;ke3N6|O4A zYM83d)!=Gkw8K;_&Yr7{u@0u{aCNzQ80%xI0oRaggt2j2ssYyoV^jQHGp;$;0;2<_ z962YB$4D>*oQ@MPw!~B`t~J*NV_QtM&qbLaYFbiq_LEXM<*C#I@% zUfckTH83@h8^jI9I0REexnbCDJ8b<>Y@H`J9ODQ~jpRmgqcM)b)L3pD=Z$eZrY3L` zIUkI^X{kw^AI8b}yD6MM7l1JkQ-NF%Hx;9t3g)J9(=pD#)J$#`Hyh&|OwHxyaq}^T zU}^!kkXwXtF{YMqq1;l8VVGKmW%y!Tj;R$~I2VC&C8kz!tGP88*J5fN_YdYe3v*nD zIjv8tPb8*7xDEKz`n1$WZWFd*B(`NE>La+#7`I?*6t|VzhH)vT#$xNDFmA`x4sIv6 z3*&A~?ZI}B!?+hy0bDe<593x$HNswM% zGmc7S{Ov&;<68Lr0RDUsQ}P(q!cppxHs1SjTzg|Ygn1mo?}xb~+)>mY#qY;(MC8

Ia|LBGvd8W$s@W9$1!P@r6In@tq-WT=qs%VJ$Hp2gG zjq|h)u9do645#Nr{80QV;ZGuG;7;OKir+;{N%*x5=3F1!xgWoJV&22C7yYqEPjQoQ z>~~^chvN5z_;Vn48fVZb{LN?_oiH4qP58T!+!>q?%P_SG|9%F?Z~}fJ@at-v2P;q) ziK8Eh-_K%<#Z(-s&tW`|seSl;8-AUQb7e1g0Y`H#{>MC=x#3v;Vk~(Tj($9j|9Sk+ zfADXy_}5WbY5@K`3x6{TQ(N)BCt{g9uuh?v+bsOsC`|9bxEpJ`3jZ$8&qersA=cs) zmKldFID_+TGuC?});t1pn1HPaz`R%C9A1n+PsSCMz+L1nVZ6vCa!L3#fxC=fui#G? zF?9vMCSkslFlRsfdJ5~Z4|C5rwlzvWwngT{XE3>I+;xmMFm;o=#ofku2UE%1zuaAn z_b`>h-N)bD#NVfI54eZiBaDwR^@w}IJ;nGKQ}^(HZ(+QNsb}1C?ghq|n0kfzBx8Jy zsW;qP?j6SWnEJqdyS zzK^ZSXOiEffJs4&g)n7?f0h5IFs95+9%4%$a2A*+ z$5_FntjQf5hXPoq{Ft&asfZ;O#++^NujVEe7%O1vJ@%!oi7n#NF`Z!-Q=8RKj0kuO{old2fMV(J&x;RD8MCcn7qCN)fIn%J4tGO@>48&egrC1w~4 zW2!v%id+-(w6Y7B$TQ?2C-=+kv=M)lHY0BRKc3D3%#LLXqjTCkv2EM7o!r>AZQHhO z+n(6AGqH`gswUri|F`#ErQOxt)zzJI@6D5|<*8f~ce&?xIL1@%d6K{v=nnLp^^l6( zX#>wgVlihi^K@K~^nnb4Fjma-ko19!l%7Lrp|s2;6B6_yBsx7~1zxhMQsD)sBUdVX zW|SIA%oUD~UWbUYjn0@C9Q8Fmj9DZJypohbUV$VWF$!1eEsDxriX6xyub!ZE%u8I! z%uv=qwm^221Iii5708Y9K-mI$1Nl&PD1V?ppdcy)R0%3cTUk^NDn_{ystgriPI*v4 zs7m0!K-ECCK=nY4KuxSVbFIa^3Nxp?^sddkiZiA%Ydt>et4^S9pkAPUph4hTNQywi zz}1jOfyRL*)HVq;rM?+0&H0Q=#*-D3YuqBxGSG^v{W~N;?-YULs0B|z{XpwL8**BV ztjj1n(3WeMg_V??*0_O2)Fxm=M0#EeX-#d)Ks(B6#M#lJ1U9L@gu5upkKptX28FL3Z2f75hGPYBo zBV*e#x&_B>$+fr|(k;-9^GXru&fH=%yEuU!)Ldnky%N$B>cuK4gi1i2xmR7dTh#)+ z<@Ihv-#CnH%(x!%?)3@u4fG52M+2aNfkA=6Xb3bkFf1?}jetf{KM;+AMhC_O#-ef1 zSa>{|01cyk2pSGe3``14MpK}vfoWtIN}j2K>46!6nP?U?J1{3O7tMp_lR@NJ0L=|7 z3@k#6p*evilom>w7g!othL$s85i?nV7DEF$p5Rf?a@tp-RnXADYFR%FT1cKXXsyh) zHn0vYg4c0AqtGH~ePBaiBiaOQ4s4Nq)qYj|`&;`Z{o+Ptf z4%|dn;8UFGesoCERJj88Q#YAopFvZgDMWDvu0i{_Gqcc4d4KlFt9Oe#b%lK5N}hmj z2kr#!qI=N&zynHmB;BL#A$mm1E&{y>ya~KTFQHd~ca+{pdP&`D^qiKkzY!dXBa8oxGuxevwmA`cc=8b@z+oD#|a8+mBsg6)Ra&zBBeG<-T}L`9pgs{Z?}9 z8FCggn9XwNC>f7&2BGxWNj}l%6m#4_T|imSQ*)f79%VkaxSuyUi&Y%sGAl|~F0rx< zys7BQP3m-x6OiZdhw%!ZOk%92eB=7Qkk|I9q&u*sbmbafV!X*%T~U>m96dxi&-sY` zxj)yWJJ0YjcG+Xhv0I=g`|AMe#r|A^d;Ns9(u*7)$Ym>^xL-}^_nrRT8PS;doBP&> z`}hBE>a5}4)KlD$5JzzpPw|zY5&=boA}NuTC@3oADA9;fDLE)QePbvwl~^b?6i11x z#6$6+1WH0B5lRfjQIaT0QCujQl3YoFQbMVyOM+5EX_T}|I+PyDz!9RMj8IU?q+~`} zps19yqDWAXnPo$npsdtqM>(KuN=_vg$_-^8LmreJ%1qC^C?Axcx&o*ml!MknsIa6w z)a0j>oqlMIRUL#QFKEGh%lr`!ltlkN4D#;6JH)yOKi zK2(dWO;Izb8hx9iDo_ihrP2zuhRQLYHmEJsj#wGBm(+@0EvawAIg}%|RXRXzsq2V3 zKpo*0s1wwNF`ZE>sEg87>4v&PJ(QkGFBAdlt@Kg)qJB_+Wq>je4U*Jf8H|Qd*N^rg zXfQNX8Kw+JBcPGWC}lJn1C3S2$^2cRG1QGm6QBviacC^mg`-bIlb}HyXBZj^4JUR% zlOzpfrd=rw!w=->0~jl^4v=%0ATte-a~9dhKz-0iXtFXznTn=C)0G*@Of(CcO8sm! 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

74L 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 Date: Mon, 25 Aug 2014 21:50:34 +0800 Subject: [PATCH 06/32] reset --- templates/cocos2dx_files.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index 7eff82030d..18839d4058 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -212,6 +212,8 @@ "cocos/3d/CCMesh.h", "cocos/3d/CCMeshSkin.cpp", "cocos/3d/CCMeshSkin.h", + "cocos/3d/CCMeshVertexIndexData.cpp", + "cocos/3d/CCMeshVertexIndexData.h", "cocos/3d/CCOBB.cpp", "cocos/3d/CCOBB.h", "cocos/3d/CCObjLoader.cpp", @@ -224,8 +226,6 @@ "cocos/3d/CCSprite3D.h", "cocos/3d/CCSprite3DMaterial.cpp", "cocos/3d/CCSprite3DMaterial.h", - "cocos/3d/CCMeshVertexIndexData.cpp", - "cocos/3d/CCMeshVertexIndexData.h", "cocos/3d/CMakeLists.txt", "cocos/3d/cocos3d.h", "cocos/3d/proj.win32/libcocos3d.vcxproj", @@ -1955,6 +1955,7 @@ "external/glfw3/include/win32/glfw3native.h", "external/glfw3/prebuilt/mac/libglfw3.a", "external/glfw3/prebuilt/win32/glfw3.lib", + "external/jpeg/CMakeLists.txt", "external/jpeg/include/android/jconfig.h", "external/jpeg/include/android/jerror.h", "external/jpeg/include/android/jmorecfg.h", @@ -2083,6 +2084,7 @@ "external/sqlite3/include/sqlite3ext.h", "external/sqlite3/libraries/win32/sqlite3.dll", "external/sqlite3/libraries/win32/sqlite3.lib", + "external/tiff/CMakeLists.txt", "external/tiff/include/android/tiff.h", "external/tiff/include/android/tiffconf.h", "external/tiff/include/android/tiffio.h", @@ -2142,6 +2144,7 @@ "external/unzip/unzip.cpp", "external/unzip/unzip.h", "external/version.json", + "external/webp/CMakeLists.txt", "external/webp/include/android/decode.h", "external/webp/include/android/encode.h", "external/webp/include/android/types.h", @@ -3891,7 +3894,6 @@ "cocos/scripting/lua-bindings/auto/api/SpriteFrame.lua", "cocos/scripting/lua-bindings/auto/api/SpriteFrameCache.lua", "cocos/scripting/lua-bindings/auto/api/StopGrid.lua", - "cocos/scripting/lua-bindings/auto/api/SubMeshState.lua", "cocos/scripting/lua-bindings/auto/api/TMXLayer.lua", "cocos/scripting/lua-bindings/auto/api/TMXLayerInfo.lua", "cocos/scripting/lua-bindings/auto/api/TMXMapInfo.lua", From 7ff75fb39756d97b96dd90dc93f63a9208406e45 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 26 Aug 2014 14:19:08 +0800 Subject: [PATCH 07/32] remove warning --- cocos/3d/CCAnimate3D.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cocos/3d/CCAnimate3D.cpp b/cocos/3d/CCAnimate3D.cpp index c359194843..0aff12f2d1 100644 --- a/cocos/3d/CCAnimate3D.cpp +++ b/cocos/3d/CCAnimate3D.cpp @@ -96,17 +96,19 @@ void Animate3D::startWithTarget(Node *target) _boneCurves.clear(); auto skin = sprite->getSkeleton(); + bool hasCurve = false; for (unsigned int i = 0; i < skin->getBoneCount(); i++) { auto bone = skin->getBoneByIndex(i); auto curve = _animation->getBoneCurveByName(bone->getName()); if (curve) { _boneCurves[bone] = curve; + hasCurve = true; } - else - { - CCLOG("warning: bone %s not find in animation", bone->getName().c_str()); - } + } + if (!hasCurve) + { + CCLOG("warning: no animation finde for the skeleton"); } } From 3d4f22ca74b6a2ee280a6a0859df022f203821b5 Mon Sep 17 00:00:00 2001 From: minggo Date: Tue, 26 Aug 2014 16:45:24 +0800 Subject: [PATCH 08/32] add cocos2d.h into pre-compiled header --- cocos/cocos2d-prefix.pch | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cocos/cocos2d-prefix.pch b/cocos/cocos2d-prefix.pch index fec5647078..0ecf6d58e4 100644 --- a/cocos/cocos2d-prefix.pch +++ b/cocos/cocos2d-prefix.pch @@ -5,3 +5,7 @@ #ifdef __OBJC__ #import #endif + +#ifdef __cplusplus +#include "cocos2d.h" +#endif From b9c51e69945fe82da53e1b1d0ef786788e1cf50d Mon Sep 17 00:00:00 2001 From: minggo Date: Tue, 26 Aug 2014 18:19:28 +0800 Subject: [PATCH 09/32] remove unneeded codes --- build/cocos2d_libs.xcodeproj/project.pbxproj | 4 ---- cocos/2d/CCActionCatmullRom.cpp | 1 + cocos/2d/CCActionCatmullRom.h | 3 ++- cocos/2d/CCActionGrid3D.cpp | 1 - cocos/2d/CCActionInstant.cpp | 1 - cocos/2d/CCActionInstant.h | 3 --- cocos/2d/CCActionInterval.cpp | 2 ++ cocos/2d/CCActionInterval.h | 6 ++++-- cocos/2d/CCActionManager.cpp | 1 + cocos/2d/CCActionManager.h | 2 ++ cocos/2d/CCActionTiledGrid.cpp | 1 - cocos/2d/CCDrawNode.cpp | 1 + cocos/2d/CCFastTMXLayer.cpp | 1 + cocos/2d/CCLabel.cpp | 1 + cocos/2d/CCMenu.cpp | 1 + cocos/2d/CCNode.cpp | 9 ++------- cocos/2d/CCNode.h | 5 +---- cocos/2d/CCScene.h | 2 ++ cocos/2d/CCTransition.cpp | 3 ++- cocos/2d/CCTweenFunction.cpp | 1 + cocos/2d/CCTweenFunction.h | 2 -- cocos/editor-support/cocostudio/CCInputDelegate.cpp | 1 + cocos/platform/android/javaactivity.cpp | 2 ++ .../jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp | 1 + cocos/platform/android/jni/TouchesJni.cpp | 1 + cocos/renderer/CCGLProgramState.cpp | 1 + cocos/renderer/CCVertexIndexBuffer.cpp | 1 + cocos/renderer/CCVertexIndexData.cpp | 2 ++ cocos/ui/UIWidget.cpp | 1 + extensions/GUI/CCScrollView/CCScrollView.cpp | 1 + 30 files changed, 35 insertions(+), 27 deletions(-) diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index 6178a6bb87..1dce556650 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -2342,8 +2342,6 @@ 3EA3EDBB1991CDFA00645534 /* CCCamera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCCamera.h; path = ../base/CCCamera.h; sourceTree = ""; }; 464AD6E3197EBB1400E502D8 /* pvr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pvr.cpp; path = ../base/pvr.cpp; sourceTree = ""; }; 464AD6E4197EBB1400E502D8 /* pvr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pvr.h; path = ../base/pvr.h; sourceTree = ""; }; - 46633BC2199DDB2F00F6E838 /* CCModuleManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCModuleManager.cpp; path = ../base/CCModuleManager.cpp; sourceTree = ""; }; - 46633BC3199DDB2F00F6E838 /* CCModuleManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCModuleManager.h; path = ../base/CCModuleManager.h; sourceTree = ""; }; 46A15FCC1807A544005B8026 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; name = AUTHORS; path = ../AUTHORS; sourceTree = ""; }; 46A15FCE1807A544005B8026 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; name = README.md; path = ../README.md; sourceTree = ""; }; 46A15FE11807A56F005B8026 /* Export.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Export.h; sourceTree = ""; }; @@ -3066,8 +3064,6 @@ 1A570095180BC5B00088DEC7 /* base-nodes */ = { isa = PBXGroup; children = ( - 46633BC2199DDB2F00F6E838 /* CCModuleManager.cpp */, - 46633BC3199DDB2F00F6E838 /* CCModuleManager.h */, 15EFA20F198A2BB5000C57D3 /* CCProtectedNode.cpp */, 15EFA210198A2BB5000C57D3 /* CCProtectedNode.h */, 1A57009C180BC5D20088DEC7 /* CCNode.cpp */, diff --git a/cocos/2d/CCActionCatmullRom.cpp b/cocos/2d/CCActionCatmullRom.cpp index f916b195c7..ca866e930d 100644 --- a/cocos/2d/CCActionCatmullRom.cpp +++ b/cocos/2d/CCActionCatmullRom.cpp @@ -31,6 +31,7 @@ */ #include "base/ccMacros.h" #include "2d/CCActionCatmullRom.h" +#include "2d/CCNode.h" using namespace std; diff --git a/cocos/2d/CCActionCatmullRom.h b/cocos/2d/CCActionCatmullRom.h index bd19201628..f1ef53df96 100644 --- a/cocos/2d/CCActionCatmullRom.h +++ b/cocos/2d/CCActionCatmullRom.h @@ -38,11 +38,12 @@ #include #include "2d/CCActionInterval.h" -#include "2d/CCNode.h" #include "math/CCGeometry.h" NS_CC_BEGIN; +class Node; + /** * @addtogroup actions * @{ diff --git a/cocos/2d/CCActionGrid3D.cpp b/cocos/2d/CCActionGrid3D.cpp index bed68e66aa..b036895f5a 100644 --- a/cocos/2d/CCActionGrid3D.cpp +++ b/cocos/2d/CCActionGrid3D.cpp @@ -25,7 +25,6 @@ THE SOFTWARE. ****************************************************************************/ #include "2d/CCActionGrid3D.h" #include "base/CCDirector.h" -#include NS_CC_BEGIN // implementation of Waves3D diff --git a/cocos/2d/CCActionInstant.cpp b/cocos/2d/CCActionInstant.cpp index 1b5372520a..2dd6f871ff 100644 --- a/cocos/2d/CCActionInstant.cpp +++ b/cocos/2d/CCActionInstant.cpp @@ -28,7 +28,6 @@ #include "2d/CCActionInstant.h" #include "2d/CCNode.h" #include "2d/CCSprite.h" -#include "base/CCScriptSupport.h" #if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) #pragma GCC diagnostic ignored "-Wdeprecated-declarations" diff --git a/cocos/2d/CCActionInstant.h b/cocos/2d/CCActionInstant.h index e5428fc130..22c173ca8b 100644 --- a/cocos/2d/CCActionInstant.h +++ b/cocos/2d/CCActionInstant.h @@ -28,10 +28,7 @@ THE SOFTWARE. #ifndef __CCINSTANT_ACTION_H__ #define __CCINSTANT_ACTION_H__ -#include #include - -#include "CCStdC.h" #include "2d/CCAction.h" NS_CC_BEGIN diff --git a/cocos/2d/CCActionInterval.cpp b/cocos/2d/CCActionInterval.cpp index ac6fbdade3..977936e184 100644 --- a/cocos/2d/CCActionInterval.cpp +++ b/cocos/2d/CCActionInterval.cpp @@ -28,10 +28,12 @@ THE SOFTWARE. #include "2d/CCActionInterval.h" #include "2d/CCSprite.h" #include "2d/CCNode.h" +#include "2d/CCSpriteFrame.h" #include "CCStdC.h" #include "2d/CCActionInstant.h" #include "base/CCDirector.h" #include "base/CCEventCustom.h" +#include "base/CCEventDispatcher.h" #include diff --git a/cocos/2d/CCActionInterval.h b/cocos/2d/CCActionInterval.h index 8bf306a761..a4ad997a9f 100644 --- a/cocos/2d/CCActionInterval.h +++ b/cocos/2d/CCActionInterval.h @@ -30,15 +30,17 @@ THE SOFTWARE. #include -#include "2d/CCNode.h" #include "2d/CCAction.h" -#include "2d/CCSpriteFrame.h" #include "2d/CCAnimation.h" #include "base/CCProtocols.h" #include "base/CCVector.h" NS_CC_BEGIN +class Node; +class SpriteFrame; +class EventCustom; + /** * @addtogroup actions * @{ diff --git a/cocos/2d/CCActionManager.cpp b/cocos/2d/CCActionManager.cpp index dd13ef678b..1b52f5021e 100644 --- a/cocos/2d/CCActionManager.cpp +++ b/cocos/2d/CCActionManager.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include "2d/CCActionManager.h" #include "2d/CCNode.h" +#include "2d/CCAction.h" #include "base/CCScheduler.h" #include "base/ccMacros.h" #include "base/ccCArray.h" diff --git a/cocos/2d/CCActionManager.h b/cocos/2d/CCActionManager.h index f19e2ff6dc..b0877e3302 100644 --- a/cocos/2d/CCActionManager.h +++ b/cocos/2d/CCActionManager.h @@ -35,6 +35,8 @@ THE SOFTWARE. NS_CC_BEGIN +class Action; + struct _hashElement; /** diff --git a/cocos/2d/CCActionTiledGrid.cpp b/cocos/2d/CCActionTiledGrid.cpp index 200b03f066..549c3726fe 100644 --- a/cocos/2d/CCActionTiledGrid.cpp +++ b/cocos/2d/CCActionTiledGrid.cpp @@ -28,7 +28,6 @@ THE SOFTWARE. #include "2d/CCNodeGrid.h" #include "base/CCDirector.h" #include "base/ccMacros.h" -#include NS_CC_BEGIN diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp index e942e11103..57f32b0fcb 100644 --- a/cocos/2d/CCDrawNode.cpp +++ b/cocos/2d/CCDrawNode.cpp @@ -31,6 +31,7 @@ #include "base/CCDirector.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventDispatcher.h" +#include "renderer/ccGLStateCache.h" NS_CC_BEGIN diff --git a/cocos/2d/CCFastTMXLayer.cpp b/cocos/2d/CCFastTMXLayer.cpp index e2646aa42a..522a4036a5 100644 --- a/cocos/2d/CCFastTMXLayer.cpp +++ b/cocos/2d/CCFastTMXLayer.cpp @@ -40,6 +40,7 @@ THE SOFTWARE. #include "2d/CCSprite.h" #include "renderer/CCTextureCache.h" #include "renderer/CCGLProgramCache.h" +#include "renderer/ccGLStateCache.h" #include "renderer/CCGLProgram.h" #include "base/CCDirector.h" #include "base/CCConfiguration.h" diff --git a/cocos/2d/CCLabel.cpp b/cocos/2d/CCLabel.cpp index 3ad34b2acf..123bc1ae26 100644 --- a/cocos/2d/CCLabel.cpp +++ b/cocos/2d/CCLabel.cpp @@ -33,6 +33,7 @@ #include "2d/CCFont.h" #include "renderer/CCGLProgramState.h" #include "renderer/CCRenderer.h" +#include "renderer/ccGLStateCache.h" #include "base/CCDirector.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventDispatcher.h" diff --git a/cocos/2d/CCMenu.cpp b/cocos/2d/CCMenu.cpp index 5d9a861e48..bba717aa6f 100644 --- a/cocos/2d/CCMenu.cpp +++ b/cocos/2d/CCMenu.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include "base/CCTouch.h" #include "CCStdC.h" #include "base/CCEventListenerTouch.h" +#include "base/CCEventDispatcher.h" #include "deprecated/CCString.h" #include diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index fb42ac4ea2..7e8c5c0bb4 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -1,3 +1,5 @@ + + /**************************************************************************** Copyright (c) 2008-2010 Ricardo Quesada Copyright (c) 2009 Valentin Milea @@ -34,20 +36,13 @@ THE SOFTWARE. #include "base/CCDirector.h" #include "base/CCScheduler.h" -#include "base/CCTouch.h" #include "base/CCEventDispatcher.h" -#include "base/CCEvent.h" -#include "base/CCEventTouch.h" -#include "base/ccCArray.h" #include "base/CCCamera.h" -#include "2d/CCGrid.h" #include "2d/CCActionManager.h" -#include "base/CCScriptSupport.h" #include "2d/CCScene.h" #include "2d/CCComponent.h" #include "2d/CCComponentContainer.h" #include "renderer/CCGLProgram.h" -#include "renderer/CCGLProgramState.h" #include "math/TransformUtils.h" #include "deprecated/CCString.h" diff --git a/cocos/2d/CCNode.h b/cocos/2d/CCNode.h index 186d8b3fca..c8b79e9498 100644 --- a/cocos/2d/CCNode.h +++ b/cocos/2d/CCNode.h @@ -30,14 +30,11 @@ #define __CCNODE_H__ #include "base/ccMacros.h" -#include "base/CCEventDispatcher.h" #include "base/CCVector.h" -#include "base/CCScriptSupport.h" #include "base/CCProtocols.h" +#include "base/CCScriptSupport.h" #include "math/CCAffineTransform.h" #include "math/CCMath.h" -#include "renderer/ccGLStateCache.h" -#include "CCGL.h" NS_CC_BEGIN diff --git a/cocos/2d/CCScene.h b/cocos/2d/CCScene.h index 7630111cc9..430886a58f 100644 --- a/cocos/2d/CCScene.h +++ b/cocos/2d/CCScene.h @@ -35,6 +35,8 @@ THE SOFTWARE. NS_CC_BEGIN class Camera; +class EventListenerCustom; +class EventCustom; /** * @addtogroup scene * @{ diff --git a/cocos/2d/CCTransition.cpp b/cocos/2d/CCTransition.cpp index 7546bd9a34..f2c1429790 100644 --- a/cocos/2d/CCTransition.cpp +++ b/cocos/2d/CCTransition.cpp @@ -26,7 +26,6 @@ THE SOFTWARE. ****************************************************************************/ #include "2d/CCTransition.h" -#include "base/CCDirector.h" #include "2d/CCActionInterval.h" #include "2d/CCActionInstant.h" #include "2d/CCActionEase.h" @@ -36,6 +35,8 @@ THE SOFTWARE. #include "2d/CCLayer.h" #include "2d/CCRenderTexture.h" #include "2d/CCNodeGrid.h" +#include "base/CCDirector.h" +#include "base/CCEventDispatcher.h" NS_CC_BEGIN diff --git a/cocos/2d/CCTweenFunction.cpp b/cocos/2d/CCTweenFunction.cpp index 36cdf66d68..46fef8804b 100644 --- a/cocos/2d/CCTweenFunction.cpp +++ b/cocos/2d/CCTweenFunction.cpp @@ -23,6 +23,7 @@ THE SOFTWARE. ****************************************************************************/ #include "2d/CCTweenFunction.h" +#include // M_PI NS_CC_BEGIN diff --git a/cocos/2d/CCTweenFunction.h b/cocos/2d/CCTweenFunction.h index e9bf6e21c5..b825e30221 100644 --- a/cocos/2d/CCTweenFunction.h +++ b/cocos/2d/CCTweenFunction.h @@ -26,8 +26,6 @@ THE SOFTWARE. #define __CCTWEENFUNCTION_H__ #include "base/CCPlatformMacros.h" -#include "base/ccMacros.h" -#include NS_CC_BEGIN diff --git a/cocos/editor-support/cocostudio/CCInputDelegate.cpp b/cocos/editor-support/cocostudio/CCInputDelegate.cpp index 7bc3d50526..774588e284 100644 --- a/cocos/editor-support/cocostudio/CCInputDelegate.cpp +++ b/cocos/editor-support/cocostudio/CCInputDelegate.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include "base/CCEventListenerTouch.h" #include "base/CCEventListenerAcceleration.h" #include "base/CCEventListenerKeyboard.h" +#include "base/CCEventDispatcher.h" using namespace cocos2d; diff --git a/cocos/platform/android/javaactivity.cpp b/cocos/platform/android/javaactivity.cpp index d5d2f7df69..74a26aed0c 100644 --- a/cocos/platform/android/javaactivity.cpp +++ b/cocos/platform/android/javaactivity.cpp @@ -29,8 +29,10 @@ THE SOFTWARE. #include "base/CCDirector.h" #include "base/CCEventCustom.h" #include "base/CCEventType.h" +#include "base/CCEventDispatcher.h" #include "renderer/CCGLProgramCache.h" #include "renderer/CCTextureCache.h" +#include "renderer/ccGLStateCache.h" #include "2d/CCDrawingPrimitives.h" #include "CCGLViewImpl.h" #include "platform/android/jni/JniHelper.h" diff --git a/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp b/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp index b3742e00e5..c413cc8a12 100644 --- a/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp +++ b/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp @@ -2,6 +2,7 @@ #include "base/CCDirector.h" #include "base/CCEventType.h" #include "base/CCEventCustom.h" +#include "base/CCEventDispatcher.h" #include "../CCApplication.h" #include "platform/CCFileUtils.h" #include "JniHelper.h" diff --git a/cocos/platform/android/jni/TouchesJni.cpp b/cocos/platform/android/jni/TouchesJni.cpp index b54362280f..69b759aabb 100644 --- a/cocos/platform/android/jni/TouchesJni.cpp +++ b/cocos/platform/android/jni/TouchesJni.cpp @@ -23,6 +23,7 @@ THE SOFTWARE. ****************************************************************************/ #include "base/CCDirector.h" #include "base/CCEventKeyboard.h" +#include "base/CCEventDispatcher.h" #include "CCGLViewImpl.h" #include diff --git a/cocos/renderer/CCGLProgramState.cpp b/cocos/renderer/CCGLProgramState.cpp index 6ce072b370..1a4ebad0c0 100644 --- a/cocos/renderer/CCGLProgramState.cpp +++ b/cocos/renderer/CCGLProgramState.cpp @@ -37,6 +37,7 @@ THE SOFTWARE. #include "base/CCEventListenerCustom.h" #include "base/CCEventType.h" #include "base/CCDirector.h" +#include "base/CCEventDispatcher.h" NS_CC_BEGIN diff --git a/cocos/renderer/CCVertexIndexBuffer.cpp b/cocos/renderer/CCVertexIndexBuffer.cpp index 44c1a70de9..a3cf1ac967 100644 --- a/cocos/renderer/CCVertexIndexBuffer.cpp +++ b/cocos/renderer/CCVertexIndexBuffer.cpp @@ -25,6 +25,7 @@ #include "renderer/CCVertexIndexBuffer.h" #include "base/CCEventType.h" #include "base/CCEventListenerCustom.h" +#include "base/CCEventDispatcher.h" NS_CC_BEGIN diff --git a/cocos/renderer/CCVertexIndexData.cpp b/cocos/renderer/CCVertexIndexData.cpp index cbad4d76ea..9e0e163d09 100644 --- a/cocos/renderer/CCVertexIndexData.cpp +++ b/cocos/renderer/CCVertexIndexData.cpp @@ -23,6 +23,8 @@ ****************************************************************************/ #include "renderer/CCVertexIndexData.h" +#include "renderer/ccGLStateCache.h" +#include "base/CCEventDispatcher.h" NS_CC_BEGIN VertexData* VertexData::create() diff --git a/cocos/ui/UIWidget.cpp b/cocos/ui/UIWidget.cpp index c0544a33e2..e62a1b6ea1 100644 --- a/cocos/ui/UIWidget.cpp +++ b/cocos/ui/UIWidget.cpp @@ -29,6 +29,7 @@ THE SOFTWARE. #include "base/CCEventListenerKeyboard.h" #include "base/CCDirector.h" #include "base/CCEventFocus.h" +#include "base/CCEventDispatcher.h" NS_CC_BEGIN diff --git a/extensions/GUI/CCScrollView/CCScrollView.cpp b/extensions/GUI/CCScrollView/CCScrollView.cpp index 4c698d5fbb..e6b851a65f 100644 --- a/extensions/GUI/CCScrollView/CCScrollView.cpp +++ b/extensions/GUI/CCScrollView/CCScrollView.cpp @@ -29,6 +29,7 @@ #include "2d/CCActionInterval.h" #include "2d/CCActionTween.h" #include "base/CCDirector.h" +#include "base/CCEventDispatcher.h" #include "renderer/CCRenderer.h" #include From d2900769178014e725248078e028298c82be429f Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 27 Aug 2014 10:13:03 +0800 Subject: [PATCH 10/32] invoke nativeOnPause after onSurfaceCreated is invoked --- .../java/src/org/cocos2dx/lib/Cocos2dxRenderer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java index 89752bae2a..360307ba18 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java @@ -46,6 +46,7 @@ public class Cocos2dxRenderer implements GLSurfaceView.Renderer { private long mLastTickInNanoSeconds; private int mScreenWidth; private int mScreenHeight; + private boolean mNativeInitCompleted = false; // =========================================================== // Constructors @@ -72,6 +73,7 @@ public class Cocos2dxRenderer implements GLSurfaceView.Renderer { public void onSurfaceCreated(final GL10 pGL10, final EGLConfig pEGLConfig) { Cocos2dxRenderer.nativeInit(this.mScreenWidth, this.mScreenHeight); this.mLastTickInNanoSeconds = System.nanoTime(); + mNativeInitCompleted = true; } @Override @@ -141,6 +143,13 @@ public class Cocos2dxRenderer implements GLSurfaceView.Renderer { } public void handleOnPause() { + // onPause may be invoked before onSurfaceCreated + // and engine will be initialized correctly after + // onSurfaceCreated is invoked, can not invoke any + // native methed before onSurfaceCreated is invoked + if (! mNativeInitCompleted) + return; + Cocos2dxHelper.onEnterBackground(); Cocos2dxRenderer.nativeOnPause(); } From 33fd605a166284a2eefa5f52eb524b10879a545b Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 10:18:44 +0800 Subject: [PATCH 11/32] Adjust libcocos2d and libluacocos2d on the win32 platform and adjust related test cases. --- build/cocos2d-win32.vc2012.sln | 24 - cocos/2d/cocos2dx.props | 2 +- cocos/2d/libcocos2d.vcxproj | 81 +- cocos/2d/libcocos2d.vcxproj.filters | 156 +++ cocos/Android.mk | 1 - cocos/cocos2d.h | 3 + .../cocosbuilder/CCBAnimationManager.h | 16 +- .../cocosbuilder/CCBFileLoader.h | 2 +- .../editor-support/cocosbuilder/CCBKeyframe.h | 2 +- .../cocosbuilder/CCBMemberVariableAssigner.h | 2 +- cocos/editor-support/cocosbuilder/CCBReader.h | 3 +- .../cocosbuilder/CCBSelectorResolver.h | 4 +- .../editor-support/cocosbuilder/CCBSequence.h | 2 +- .../cocosbuilder/CCBSequenceProperty.h | 2 +- .../cocosbuilder/CCControlButtonLoader.h | 2 +- .../cocosbuilder/CCControlLoader.h | 2 +- .../cocosbuilder/CCLabelBMFontLoader.h | 2 +- .../cocosbuilder/CCLabelTTFLoader.h | 2 +- .../cocosbuilder/CCLayerColorLoader.h | 2 +- .../cocosbuilder/CCLayerGradientLoader.h | 2 +- .../cocosbuilder/CCLayerLoader.h | 2 +- .../cocosbuilder/CCMenuItemImageLoader.h | 2 +- .../cocosbuilder/CCMenuItemLoader.h | 2 +- .../cocosbuilder/CCMenuLoader.h | 2 +- .../CCNode+CCBRelativePositioning.cpp | 4 +- .../CCNode+CCBRelativePositioning.h | 4 +- .../cocosbuilder/CCNodeLoader.h | 2 +- .../cocosbuilder/CCNodeLoaderLibrary.h | 2 +- .../cocosbuilder/CCNodeLoaderListener.h | 2 +- .../cocosbuilder/CCParticleSystemQuadLoader.h | 2 +- .../cocosbuilder/CCScale9SpriteLoader.h | 2 +- .../cocosbuilder/CCScrollViewLoader.h | 2 +- .../cocosbuilder/CCSpriteLoader.h | 2 +- .../spine/proj.win32/libSpine.vcxproj | 8 +- .../proj.win32/libluacocos2d.vcxproj | 8 +- .../proj.win32/HelloCpp.sln | 7 - .../proj.win32/HelloCpp.vcxproj | 3 - .../runtime-src/proj.android/jni/Android.mk | 8 - .../HelloLua.xcodeproj/project.pbxproj | 1020 ----------------- .../runtime-src/proj.win32/HelloLua.sln | 110 -- .../runtime-src/proj.win32/HelloLua.vcxproj | 24 - .../runtime-src/proj.android/jni/Android.mk | 8 - .../HelloLua.xcodeproj/project.pbxproj | 994 ---------------- .../runtime-src/proj.win32/HelloLua.sln | 110 -- .../runtime-src/proj.win32/HelloLua.vcxproj | 21 - .../proj.win32/cpp-empty-test.vcxproj | 3 - tests/cpp-tests/proj.win32/cpp-tests.vcxproj | 12 - .../proj.android/jni/Android.mk | 3 +- tools/tolua/cocos2dx.ini | 12 +- 49 files changed, 271 insertions(+), 2422 deletions(-) diff --git a/build/cocos2d-win32.vc2012.sln b/build/cocos2d-win32.vc2012.sln index f1a71f1f16..f23109c90c 100644 --- a/build/cocos2d-win32.vc2012.sln +++ b/build/cocos2d-win32.vc2012.sln @@ -1,8 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-tests", "..\tests\cpp-tests\proj.win32\cpp-tests.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua-tests", "..\tests\lua-tests\project\proj.win32\lua-tests.win32.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" @@ -11,14 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-empty-test", "..\tests\ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua-empty-test", "..\tests\lua-empty-test\project\proj.win32\lua-empty-test.vcxproj", "{13E55395-94A2-4CD9-BFC2-1A051F80C17D}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d", "..\external\Box2D\proj.win32\libbox2d.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos\2d\libcocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspine", "..\cocos\editor-support\spine\proj.win32\libspine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocosbuilder", "..\cocos\editor-support\cocosbuilder\proj.win32\libcocosbuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocos2d", "..\cocos\scripting\lua-bindings\proj.win32\libluacocos2d.vcxproj", "{9F2D6CE6-C893-4400-B50C-6DB70CC2562F}" EndProject Global @@ -27,10 +19,6 @@ Global Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.ActiveCfg = Debug|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.Build.0 = Debug|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Release|Win32.ActiveCfg = Release|Win32 @@ -47,22 +35,10 @@ Global {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Debug|Win32.Build.0 = Debug|Win32 {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Release|Win32.ActiveCfg = Release|Win32 {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Release|Win32.Build.0 = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.ActiveCfg = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.Build.0 = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.ActiveCfg = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.Build.0 = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Debug|Win32.ActiveCfg = Debug|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Debug|Win32.Build.0 = Debug|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/cocos/2d/cocos2dx.props b/cocos/2d/cocos2dx.props index 4e347ee14b..543f4ab5cc 100644 --- a/cocos/2d/cocos2dx.props +++ b/cocos/2d/cocos2dx.props @@ -7,7 +7,7 @@ - opengl32.lib;glew32.lib;libzlib.lib;libpng.lib;libjpeg.lib;libtiff.lib;libwebp.lib;libiconv.lib;glfw3.lib;freetype250.lib;winmm.lib;ws2_32.lib;%(AdditionalDependencies) + opengl32.lib;glew32.lib;libzlib.lib;libpng.lib;libjpeg.lib;libtiff.lib;libwebp.lib;libiconv.lib;glfw3.lib;freetype250.lib;winmm.lib;ws2_32.lib;libchipmunk.lib;libbox2d.lib;libspine.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) false diff --git a/cocos/2d/libcocos2d.vcxproj b/cocos/2d/libcocos2d.vcxproj index 85df5c1bb4..9fdc34eb21 100644 --- a/cocos/2d/libcocos2d.vcxproj +++ b/cocos/2d/libcocos2d.vcxproj @@ -104,7 +104,9 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\zlib\prebuilt\*.*" "$(Ou xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\icon\prebuilt\*.*" "$(OutDir)" xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(OutDir)" xcopy /Y /Q "$(ProjectDir)..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" - +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\chipmunk\prebuilt\debug-lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\box2d\prebuilt\debug-lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\spine\prebuilt\debug-lib\*.*" "$(OutDir)" $(OutDir)$(ProjectName).dll @@ -116,7 +118,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir) $(TargetDir)$(TargetName).lib MachineX86 cocos2d.def - libchipmunk.lib;sqlite3.lib;libcurl_imp.lib;libBox2D.lib;websockets.lib;%(AdditionalDependencies) + sqlite3.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) @@ -129,7 +131,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir) - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\win32;$(EngineRoot)external\jpeg\include\win32;$(EngineRoot)external\tiff\include\win32;$(EngineRoot)external\webp\include\win32;$(EngineRoot)external\freetype2\include\win32;$(EngineRoot)external\win32-specific\icon\include;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\xxhash;$(EngineRoot)external\ConvertUTF;$(EngineRoot)external\Box2d;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\websockets\win32\include;$(EngineRoot)external;$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\win32;$(EngineRoot)external\jpeg\include\win32;$(EngineRoot)external\tiff\include\win32;$(EngineRoot)external\webp\include\win32;$(EngineRoot)external\freetype2\include\win32;$(EngineRoot)external\win32-specific\icon\include;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\xxhash;$(EngineRoot)external\ConvertUTF;$(EngineRoot)external\Box2d;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\websockets\include\win32\;$(EngineRoot)external;$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) WIN32;_USRDLL;NDEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;%(PreprocessorDefinitions) MultiThreadedDLL @@ -155,10 +157,12 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\websockets\prebuilt\win32\*.*" "$(OutDi xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\zlib\prebuilt\*.*" "$(OutDir)" xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\icon\prebuilt\*.*" "$(OutDir)" xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(OutDir)" - +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\chipmunk\prebuilt\release-lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\box2d\prebuilt\release-lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\spine\prebuilt\release-lib\*.*" "$(OutDir)" - libchipmunk.lib;sqlite3.lib;libcurl_imp.lib;libBox2D.lib;websockets.lib;%(AdditionalDependencies) + sqlite3.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).dll $(OutDir);%(AdditionalLibraryDirectories) ;%(IgnoreSpecificDefaultLibraries) @@ -273,6 +277,28 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou + + + + + + + + + + + + + + + + + + + + + + @@ -607,6 +633,33 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -834,24 +887,6 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou - - - {929480e7-23c0-4df6-8456-096d71547116} - false - true - false - true - false - - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - false - true - false - true - false - - diff --git a/cocos/2d/libcocos2d.vcxproj.filters b/cocos/2d/libcocos2d.vcxproj.filters index 1bd7f027ae..1a5d9f9b25 100644 --- a/cocos/2d/libcocos2d.vcxproj.filters +++ b/cocos/2d/libcocos2d.vcxproj.filters @@ -202,6 +202,15 @@ {d48c8016-e933-48dd-a5c0-202b0a84b82a} + + {e25a6c9d-eaf2-446f-b9b2-d89fd21a9bdd} + + + {bbba68d3-e519-4e06-8a01-d8ee89b544f2} + + + {8579ed15-b266-4f80-818d-a3a9251c4248} + @@ -1090,6 +1099,72 @@ 3d + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + + + cocosbuilder\Source Files + @@ -2134,6 +2209,87 @@ 3d + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + + + cocosbuilder\Header Files + diff --git a/cocos/Android.mk b/cocos/Android.mk index 7b2e999f32..67466d4699 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -196,7 +196,6 @@ LOCAL_SRC_FILES += 3d/CCRay.cpp \ 3d/CCMesh.cpp \ 3d/CCMeshSkin.cpp \ 3d/CCMeshVertexIndexData.cpp \ - 3d/CCSprite3DMaterial.cpp \ 3d/CCObjLoader.cpp \ 3d/CCSkeleton3D.cpp \ 3d/CCSprite3D.cpp \ diff --git a/cocos/cocos2d.h b/cocos/cocos2d.h index 2998a244b6..0bd428f97d 100644 --- a/cocos/cocos2d.h +++ b/cocos/cocos2d.h @@ -278,6 +278,9 @@ THE SOFTWARE. // CCDeprecated.h must be included at the end #include "deprecated/CCDeprecated.h" +//3d +#include "3d/cocos3d.h" + NS_CC_BEGIN diff --git a/cocos/editor-support/cocosbuilder/CCBAnimationManager.h b/cocos/editor-support/cocosbuilder/CCBAnimationManager.h index ceea8227a8..9d272d9585 100644 --- a/cocos/editor-support/cocosbuilder/CCBAnimationManager.h +++ b/cocos/editor-support/cocosbuilder/CCBAnimationManager.h @@ -13,14 +13,14 @@ namespace cocosbuilder { -class CCBAnimationManagerDelegate +class CC_DLL CCBAnimationManagerDelegate { public: virtual ~CCBAnimationManagerDelegate() {} virtual void completedAnimationSequenceNamed(const char *name) = 0; }; -class CCBAnimationManager : public cocos2d::Ref +class CC_DLL CCBAnimationManager : public cocos2d::Ref { public: bool _jsControlled; @@ -160,7 +160,7 @@ private: }; -class CCBSetSpriteFrame : public cocos2d::ActionInstant +class CC_DLL CCBSetSpriteFrame : public cocos2d::ActionInstant { public: /** creates a Place action with a position */ @@ -183,7 +183,7 @@ private: }; -class CCBSoundEffect : public cocos2d::ActionInstant +class CC_DLL CCBSoundEffect : public cocos2d::ActionInstant { public: static CCBSoundEffect* actionWithSoundFile(const std::string &file, float pitch, float pan, float gain); @@ -205,7 +205,7 @@ private: }; -class CCBRotateTo : public cocos2d::ActionInterval +class CC_DLL CCBRotateTo : public cocos2d::ActionInterval { public: static CCBRotateTo* create(float fDuration, float fAngle); @@ -224,7 +224,7 @@ private: }; -class CCBRotateXTo: public cocos2d::ActionInterval +class CC_DLL CCBRotateXTo: public cocos2d::ActionInterval { public: static CCBRotateXTo* create(float fDuration, float fAngle); @@ -243,7 +243,7 @@ private: }; -class CCBRotateYTo: public cocos2d::ActionInterval +class CC_DLL CCBRotateYTo: public cocos2d::ActionInterval { public: static CCBRotateYTo* create(float fDuration, float fAngle); @@ -262,7 +262,7 @@ private: }; -class CCBEaseInstant : public cocos2d::ActionEase +class CC_DLL CCBEaseInstant : public cocos2d::ActionEase { public: static CCBEaseInstant* create(cocos2d::ActionInterval *pAction); diff --git a/cocos/editor-support/cocosbuilder/CCBFileLoader.h b/cocos/editor-support/cocosbuilder/CCBFileLoader.h index 51e675b00e..9876a62ead 100644 --- a/cocos/editor-support/cocosbuilder/CCBFileLoader.h +++ b/cocos/editor-support/cocosbuilder/CCBFileLoader.h @@ -9,7 +9,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class CCBFileLoader : public NodeLoader { +class CC_DLL CCBFileLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCBKeyframe.h b/cocos/editor-support/cocosbuilder/CCBKeyframe.h index 394cc51d5a..8fa9b898d1 100644 --- a/cocos/editor-support/cocosbuilder/CCBKeyframe.h +++ b/cocos/editor-support/cocosbuilder/CCBKeyframe.h @@ -7,7 +7,7 @@ namespace cocosbuilder { -class CCBKeyframe : public cocos2d::Ref +class CC_DLL CCBKeyframe : public cocos2d::Ref { public: enum class EasingType diff --git a/cocos/editor-support/cocosbuilder/CCBMemberVariableAssigner.h b/cocos/editor-support/cocosbuilder/CCBMemberVariableAssigner.h index aacaba03c3..9caf0fc5b3 100644 --- a/cocos/editor-support/cocosbuilder/CCBMemberVariableAssigner.h +++ b/cocos/editor-support/cocosbuilder/CCBMemberVariableAssigner.h @@ -23,7 +23,7 @@ namespace cocosbuilder { return true; \ } -class CCBMemberVariableAssigner { +class CC_DLL CCBMemberVariableAssigner { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCBReader.h b/cocos/editor-support/cocosbuilder/CCBReader.h index c321541ea6..5c05632583 100644 --- a/cocos/editor-support/cocosbuilder/CCBReader.h +++ b/cocos/editor-support/cocosbuilder/CCBReader.h @@ -8,6 +8,7 @@ #include "base/CCMap.h" #include "CCBSequence.h" #include "extensions/GUI/CCControlExtension/CCControl.h" +#include "cocosbuilder/CCBAnimationManager.h" #define CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(T, METHOD) static T * METHOD() { \ T * ptr = new T(); \ @@ -64,7 +65,7 @@ class CCBKeyframe; /** * @brief Parse CCBI file which is generated by CocosBuilder */ -class CCBReader : public cocos2d::Ref +class CC_DLL CCBReader : public cocos2d::Ref { public: enum class PropertyType { diff --git a/cocos/editor-support/cocosbuilder/CCBSelectorResolver.h b/cocos/editor-support/cocosbuilder/CCBSelectorResolver.h index e52e8bc94e..69cf6c73ff 100644 --- a/cocos/editor-support/cocosbuilder/CCBSelectorResolver.h +++ b/cocos/editor-support/cocosbuilder/CCBSelectorResolver.h @@ -18,7 +18,7 @@ namespace cocosbuilder { return callfuncN_selector(METHOD); \ } -class CCBSelectorResolver { +class CC_DLL CCBSelectorResolver { public: /** * @js NA @@ -31,7 +31,7 @@ class CCBSelectorResolver { }; -class CCBScriptOwnerProtocol { +class CC_DLL CCBScriptOwnerProtocol { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCBSequence.h b/cocos/editor-support/cocosbuilder/CCBSequence.h index abe70b1874..514b38a712 100644 --- a/cocos/editor-support/cocosbuilder/CCBSequence.h +++ b/cocos/editor-support/cocosbuilder/CCBSequence.h @@ -8,7 +8,7 @@ namespace cocosbuilder { -class CCBSequence : public cocos2d::Ref +class CC_DLL CCBSequence : public cocos2d::Ref { public: CCBSequence(); diff --git a/cocos/editor-support/cocosbuilder/CCBSequenceProperty.h b/cocos/editor-support/cocosbuilder/CCBSequenceProperty.h index f62ea71ee8..b01c722bea 100644 --- a/cocos/editor-support/cocosbuilder/CCBSequenceProperty.h +++ b/cocos/editor-support/cocosbuilder/CCBSequenceProperty.h @@ -7,7 +7,7 @@ namespace cocosbuilder { -class CCBSequenceProperty : public cocos2d::Ref +class CC_DLL CCBSequenceProperty : public cocos2d::Ref { public: /** diff --git a/cocos/editor-support/cocosbuilder/CCControlButtonLoader.h b/cocos/editor-support/cocosbuilder/CCControlButtonLoader.h index 2259f90470..5a0962ead8 100644 --- a/cocos/editor-support/cocosbuilder/CCControlButtonLoader.h +++ b/cocos/editor-support/cocosbuilder/CCControlButtonLoader.h @@ -9,7 +9,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class ControlButtonLoader : public ControlLoader { +class CC_DLL ControlButtonLoader : public ControlLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCControlLoader.h b/cocos/editor-support/cocosbuilder/CCControlLoader.h index 83e2306e39..2330cf3025 100644 --- a/cocos/editor-support/cocosbuilder/CCControlLoader.h +++ b/cocos/editor-support/cocosbuilder/CCControlLoader.h @@ -9,7 +9,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class ControlLoader : public NodeLoader { +class CC_DLL ControlLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCLabelBMFontLoader.h b/cocos/editor-support/cocosbuilder/CCLabelBMFontLoader.h index c6fb6808c2..a063f3ab8f 100644 --- a/cocos/editor-support/cocosbuilder/CCLabelBMFontLoader.h +++ b/cocos/editor-support/cocosbuilder/CCLabelBMFontLoader.h @@ -11,7 +11,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class LabelBMFontLoader : public NodeLoader { +class CC_DLL LabelBMFontLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCLabelTTFLoader.h b/cocos/editor-support/cocosbuilder/CCLabelTTFLoader.h index 86408e1e78..f58789d9a8 100644 --- a/cocos/editor-support/cocosbuilder/CCLabelTTFLoader.h +++ b/cocos/editor-support/cocosbuilder/CCLabelTTFLoader.h @@ -11,7 +11,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class LabelTTFLoader : public NodeLoader { +class CC_DLL LabelTTFLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCLayerColorLoader.h b/cocos/editor-support/cocosbuilder/CCLayerColorLoader.h index acea8b64da..6eb0b73061 100644 --- a/cocos/editor-support/cocosbuilder/CCLayerColorLoader.h +++ b/cocos/editor-support/cocosbuilder/CCLayerColorLoader.h @@ -8,7 +8,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class LayerColorLoader : public LayerLoader { +class CC_DLL LayerColorLoader : public LayerLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCLayerGradientLoader.h b/cocos/editor-support/cocosbuilder/CCLayerGradientLoader.h index cf4222b0bd..ffa82d35ef 100644 --- a/cocos/editor-support/cocosbuilder/CCLayerGradientLoader.h +++ b/cocos/editor-support/cocosbuilder/CCLayerGradientLoader.h @@ -8,7 +8,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class LayerGradientLoader : public LayerLoader { +class CC_DLL LayerGradientLoader : public LayerLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCLayerLoader.h b/cocos/editor-support/cocosbuilder/CCLayerLoader.h index 9d7f41fa25..1a98cf0a51 100644 --- a/cocos/editor-support/cocosbuilder/CCLayerLoader.h +++ b/cocos/editor-support/cocosbuilder/CCLayerLoader.h @@ -8,7 +8,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class LayerLoader : public NodeLoader { +class CC_DLL LayerLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCMenuItemImageLoader.h b/cocos/editor-support/cocosbuilder/CCMenuItemImageLoader.h index d1c680227f..1ebfbee1d5 100644 --- a/cocos/editor-support/cocosbuilder/CCMenuItemImageLoader.h +++ b/cocos/editor-support/cocosbuilder/CCMenuItemImageLoader.h @@ -8,7 +8,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class MenuItemImageLoader : public MenuItemLoader { +class CC_DLL MenuItemImageLoader : public MenuItemLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCMenuItemLoader.h b/cocos/editor-support/cocosbuilder/CCMenuItemLoader.h index 4b8a5b5893..c24df2db6a 100644 --- a/cocos/editor-support/cocosbuilder/CCMenuItemLoader.h +++ b/cocos/editor-support/cocosbuilder/CCMenuItemLoader.h @@ -11,7 +11,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class MenuItemLoader : public NodeLoader { +class CC_DLL MenuItemLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCMenuLoader.h b/cocos/editor-support/cocosbuilder/CCMenuLoader.h index dce39dddc4..e0c70d6907 100644 --- a/cocos/editor-support/cocosbuilder/CCMenuLoader.h +++ b/cocos/editor-support/cocosbuilder/CCMenuLoader.h @@ -10,7 +10,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class MenuLoader : public LayerLoader { +class CC_DLL MenuLoader : public LayerLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp b/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp index 633237cd90..840d8fe54f 100644 --- a/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp +++ b/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp @@ -5,7 +5,7 @@ using namespace cocos2d; namespace cocosbuilder { -Vec2 getAbsolutePosition(const Vec2 &pt, CCBReader::PositionType type, const Size &containerSize, const std::string& propName) +CC_DLL Vec2 getAbsolutePosition(const Vec2 &pt, CCBReader::PositionType type, const Size &containerSize, const std::string& propName) { Vec2 absPt = Vec2(0,0); if (type == CCBReader::PositionType::RELATIVE_BOTTOM_LEFT) @@ -43,7 +43,7 @@ Vec2 getAbsolutePosition(const Vec2 &pt, CCBReader::PositionType type, const Siz return absPt; } -void setRelativeScale(Node *pNode, float scaleX, float scaleY, CCBReader::ScaleType type, const std::string& propName) +CC_DLL void setRelativeScale(Node *pNode, float scaleX, float scaleY, CCBReader::ScaleType type, const std::string& propName) { CCASSERT(pNode, "pNode should not be null"); diff --git a/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.h b/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.h index c451d2bfc2..37eaadc918 100644 --- a/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.h +++ b/cocos/editor-support/cocosbuilder/CCNode+CCBRelativePositioning.h @@ -5,9 +5,9 @@ namespace cocosbuilder { -extern cocos2d::Vec2 getAbsolutePosition(const cocos2d::Vec2 &pt, CCBReader::PositionType type, const cocos2d::Size &containerSize, const std::string&propName); +extern CC_DLL cocos2d::Vec2 getAbsolutePosition(const cocos2d::Vec2 &pt, CCBReader::PositionType type, const cocos2d::Size &containerSize, const std::string&propName); -extern void setRelativeScale(cocos2d::Node *node, float scaleX, float scaleY, CCBReader::ScaleType type, const std::string& propName); +extern CC_DLL void setRelativeScale(cocos2d::Node *node, float scaleX, float scaleY, CCBReader::ScaleType type, const std::string& propName); } diff --git a/cocos/editor-support/cocosbuilder/CCNodeLoader.h b/cocos/editor-support/cocosbuilder/CCNodeLoader.h index 9c31637439..979ee210c8 100644 --- a/cocos/editor-support/cocosbuilder/CCNodeLoader.h +++ b/cocos/editor-support/cocosbuilder/CCNodeLoader.h @@ -42,7 +42,7 @@ struct BlockControlData { /* Forward declaration. */ class CCBReader; -class NodeLoader : public cocos2d::Ref { +class CC_DLL NodeLoader : public cocos2d::Ref { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.h b/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.h index eeb20256a0..a64917d838 100644 --- a/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.h +++ b/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.h @@ -10,7 +10,7 @@ class NodeLoader; typedef std::map NodeLoaderMap; typedef std::pair NodeLoaderMapEntry; -class NodeLoaderLibrary : public cocos2d::Ref +class CC_DLL NodeLoaderLibrary : public cocos2d::Ref { public: /** diff --git a/cocos/editor-support/cocosbuilder/CCNodeLoaderListener.h b/cocos/editor-support/cocosbuilder/CCNodeLoaderListener.h index dedaafa51e..de6157b6cf 100644 --- a/cocos/editor-support/cocosbuilder/CCNodeLoaderListener.h +++ b/cocos/editor-support/cocosbuilder/CCNodeLoaderListener.h @@ -4,7 +4,7 @@ namespace cocosbuilder { -class NodeLoaderListener { +class CC_DLL NodeLoaderListener { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCParticleSystemQuadLoader.h b/cocos/editor-support/cocosbuilder/CCParticleSystemQuadLoader.h index e509a40f5c..51f463a4e0 100644 --- a/cocos/editor-support/cocosbuilder/CCParticleSystemQuadLoader.h +++ b/cocos/editor-support/cocosbuilder/CCParticleSystemQuadLoader.h @@ -11,7 +11,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class ParticleSystemQuadLoader : public NodeLoader { +class CC_DLL ParticleSystemQuadLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCScale9SpriteLoader.h b/cocos/editor-support/cocosbuilder/CCScale9SpriteLoader.h index 33e13bba18..70f7e1816b 100644 --- a/cocos/editor-support/cocosbuilder/CCScale9SpriteLoader.h +++ b/cocos/editor-support/cocosbuilder/CCScale9SpriteLoader.h @@ -10,7 +10,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class Scale9SpriteLoader : public NodeLoader { +class CC_DLL Scale9SpriteLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCScrollViewLoader.h b/cocos/editor-support/cocosbuilder/CCScrollViewLoader.h index 30ede8a8d2..d9167f37dd 100644 --- a/cocos/editor-support/cocosbuilder/CCScrollViewLoader.h +++ b/cocos/editor-support/cocosbuilder/CCScrollViewLoader.h @@ -9,7 +9,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class ScrollViewLoader : public NodeLoader { +class CC_DLL ScrollViewLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/cocosbuilder/CCSpriteLoader.h b/cocos/editor-support/cocosbuilder/CCSpriteLoader.h index 466ee836bc..41a402bdbd 100644 --- a/cocos/editor-support/cocosbuilder/CCSpriteLoader.h +++ b/cocos/editor-support/cocosbuilder/CCSpriteLoader.h @@ -8,7 +8,7 @@ namespace cocosbuilder { /* Forward declaration. */ class CCBReader; -class SpriteLoader : public NodeLoader { +class CC_DLL SpriteLoader : public NodeLoader { public: /** * @js NA diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj index 97c5d7e80f..ebf46c54c4 100644 --- a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj +++ b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj @@ -10,11 +10,6 @@ Win32 - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - @@ -127,6 +122,7 @@ true 4267;4251;4244;%(DisableSpecificWarnings) false + MultiThreadedDebugDLL true @@ -140,7 +136,7 @@ true - WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) $(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) None false diff --git a/cocos/scripting/lua-bindings/proj.win32/libluacocos2d.vcxproj b/cocos/scripting/lua-bindings/proj.win32/libluacocos2d.vcxproj index 374811cc96..a627dd490e 100644 --- a/cocos/scripting/lua-bindings/proj.win32/libluacocos2d.vcxproj +++ b/cocos/scripting/lua-bindings/proj.win32/libluacocos2d.vcxproj @@ -194,12 +194,6 @@ {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - {811c0dab-7b96-4bd3-a154-b7572b58e4ab} - - - {b7c2a162-dec9-4418-972e-240ab3cbfcae} - {9F2D6CE6-C893-4400-B50C-6DB70CC2562F} @@ -291,7 +285,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\lua\luajit\prebuilt\win32\*.*" "$ MinSpace true - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)external\lua;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\scripting\lua-bindings\manual\extension;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocostudio;$(EngineRoot)cocos\scripting\lua-bindings\manual\ui;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocos2d;$(EngineRoot)extensions;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)cocos\ui;$(EngineRoot)external;%(AdditionalIncludeDirectories) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)external\lua;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\scripting\lua-bindings\manual\extension;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocostudio;$(EngineRoot)cocos\scripting\lua-bindings\manual\ui;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocos2d;$(EngineRoot)extensions;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)cocos\ui;$(EngineRoot)external;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;LIBLUA_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true diff --git a/templates/cpp-template-default/proj.win32/HelloCpp.sln b/templates/cpp-template-default/proj.win32/HelloCpp.sln index 3bc2c2704e..1b451b8cc8 100644 --- a/templates/cpp-template-default/proj.win32/HelloCpp.sln +++ b/templates/cpp-template-default/proj.win32/HelloCpp.sln @@ -4,13 +4,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp", "HelloCpp.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" ProjectSection(ProjectDependencies) = postProject {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos2d\cocos\2d\libcocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\cocos2d\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -25,10 +22,6 @@ Global {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/templates/cpp-template-default/proj.win32/HelloCpp.vcxproj b/templates/cpp-template-default/proj.win32/HelloCpp.vcxproj index a2eb592205..0fa88ddb90 100644 --- a/templates/cpp-template-default/proj.win32/HelloCpp.vcxproj +++ b/templates/cpp-template-default/proj.win32/HelloCpp.vcxproj @@ -151,9 +151,6 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)"{98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk index 8515d2a334..b1c4a96e50 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk +++ b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk @@ -13,14 +13,6 @@ LOCAL_SRC_FILES := hellolua/main.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += network_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += spine_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += extension_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += ui_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos3d_lua_static include $(BUILD_SHARED_LIBRARY) diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj b/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj index a40809f76f..3335c5b27e 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj +++ b/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj @@ -9,42 +9,10 @@ /* Begin PBXBuildFile section */ 15427C5A198F1DF000DC375D /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */; }; 15427C5B198F1E0100DC375D /* libluacocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C59198F1DE400DC375D /* libluacocos2d iOS.a */; }; - 15427C5C198F1E1400DC375D /* libcocosdenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */; }; - 15427C5D198F1E2100DC375D /* libluacocosdenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C57198F1DE400DC375D /* libluacocosdenshion iOS.a */; }; - 15427C5E198F1E2B00DC375D /* libnetwork iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C29198F1DE400DC375D /* libnetwork iOS.a */; }; - 15427C5F198F1E3300DC375D /* libluanetwork iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C55198F1DE400DC375D /* libluanetwork iOS.a */; }; 15427C78198F1F9900DC375D /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */; }; 15427C79198F1FA200DC375D /* libluacocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C49198F1DE400DC375D /* libluacocos2d Mac.a */; }; - 15427C7A198F1FB600DC375D /* libcocosdenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */; }; - 15427C7B198F1FC100DC375D /* libluacocosdenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C47198F1DE400DC375D /* libluacocosdenshion Mac.a */; }; - 15427C7C198F1FCB00DC375D /* libnetwork Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C1F198F1DE400DC375D /* libnetwork Mac.a */; }; - 15427C7D198F1FD800DC375D /* libluanetwork Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C45198F1DE400DC375D /* libluanetwork Mac.a */; }; - 156B43D419A1F224002CBF18 /* libcocos3d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 156B43C919A1F1EF002CBF18 /* libcocos3d iOS.a */; }; - 156B43D519A1F236002CBF18 /* libluacocos3d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 156B43D119A1F1EF002CBF18 /* libluacocos3d iOS.a */; }; - 156B43DA19A1F256002CBF18 /* libcocos3d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 156B43C719A1F1EF002CBF18 /* libcocos3d Mac.a */; }; - 156B43DB19A1F262002CBF18 /* libluacocos3d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 156B43CF19A1F1EF002CBF18 /* libluacocos3d Mac.a */; }; 15A8A4491834C64F00142BE0 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5023810C17EBBCAC00990C9B /* Icon-114.png */; }; 15A8A4881834C90F00142BE0 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4871834C90E00142BE0 /* libcurl.dylib */; }; - 15AA968E199C627C00725633 /* libluaextension iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C4B198F1DE400DC375D /* libluaextension iOS.a */; }; - 15AA969F199C628500725633 /* libextension iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4271834BDA200142BE0 /* libextension iOS.a */; }; - 15AA96A0199C628F00725633 /* libluacocosbuilder iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C51198F1DE400DC375D /* libluacocosbuilder iOS.a */; }; - 15AA96A1199C629B00725633 /* libcocosbuilder iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C25198F1DE400DC375D /* libcocosbuilder iOS.a */; }; - 15AA96A2199C62AE00725633 /* libcocostudio iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C23198F1DE400DC375D /* libcocostudio iOS.a */; }; - 15AA96A3199C62B900725633 /* libluacocostudio iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C4F198F1DE400DC375D /* libluacocostudio iOS.a */; }; - 15AA96A4199C62C500725633 /* libluaspine iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C53198F1DE400DC375D /* libluaspine iOS.a */; }; - 15AA96A5199C62CF00725633 /* libspine iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C27198F1DE400DC375D /* libspine iOS.a */; }; - 15AA96A6199C62F500725633 /* libluaui iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C4D198F1DE400DC375D /* libluaui iOS.a */; }; - 15AA96A7199C62FE00725633 /* libui iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C21198F1DE400DC375D /* libui iOS.a */; }; - 15AA96A8199C633700725633 /* libcocosbuilder Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C1B198F1DE400DC375D /* libcocosbuilder Mac.a */; }; - 15AA96A9199C634600725633 /* libluacocosbuilder Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C41198F1DE400DC375D /* libluacocosbuilder Mac.a */; }; - 15AA96AA199C64DF00725633 /* libcocostudio Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C19198F1DE400DC375D /* libcocostudio Mac.a */; }; - 15AA96AB199C64F400725633 /* libluacocostudio Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C3F198F1DE400DC375D /* libluacocostudio Mac.a */; }; - 15AA96AC199C64FD00725633 /* libspine Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C1D198F1DE400DC375D /* libspine Mac.a */; }; - 15AA96AD199C650C00725633 /* libluaspine Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C43198F1DE400DC375D /* libluaspine Mac.a */; }; - 15AA96AE199C652A00725633 /* libextension Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4191834BDA200142BE0 /* libextension Mac.a */; }; - 15AA96AF199C653300725633 /* libluaextension Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C3B198F1DE400DC375D /* libluaextension Mac.a */; }; - 15AA96B0199C655200725633 /* libui Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C17198F1DE400DC375D /* libui Mac.a */; }; - 15AA96B1199C655A00725633 /* libluaui Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C3D198F1DE400DC375D /* libluaui Mac.a */; }; 15AA96B6199C668400725633 /* CCBReaderLoad.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA96B4199C668400725633 /* CCBReaderLoad.lua */; }; 15AA96B7199C668400725633 /* CCBReaderLoad.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA96B4199C668400725633 /* CCBReaderLoad.lua */; }; 15AA96B8199C668400725633 /* DeprecatedCocosBuilderClass.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA96B5199C668400725633 /* DeprecatedCocosBuilderClass.lua */; }; @@ -165,265 +133,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 152A33CC199C93BF004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 155CA2C71988C494006E0A08; - remoteInfo = "libluaextension iOS"; - }; - 152A33CE199C93BF004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA300198B28A8000C57D3; - remoteInfo = "libluaui iOS"; - }; - 152A33D0199C93BF004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA381198B2934000C57D3; - remoteInfo = "libluacocostudio iOS"; - }; - 152A33D2199C93BF004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA27F198B2791000C57D3; - remoteInfo = "libluacocosbuilder iOS"; - }; - 152A33D4199C93BF004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA407198B2AFD000C57D3; - remoteInfo = "libluaspine iOS"; - }; - 152A33F2199C93CD004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4E111783867C0073F6A7; - remoteInfo = "libextension iOS"; - }; - 152A33F4199C93CD004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA2C19775E92004493CC; - remoteInfo = "libui iOS"; - }; - 152A33F6199C93CD004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA6719775EBB004493CC; - remoteInfo = "libcocostudio iOS"; - }; - 152A33F8199C93CD004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA6F19775ECE004493CC; - remoteInfo = "libcocosbuilder iOS"; - }; - 152A33FA199C93CD004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA7719775EE1004493CC; - remoteInfo = "libspine iOS"; - }; - 152A33FC199C93E7004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BD5F1986538000A46ACC; - remoteInfo = "libluaextension Mac"; - }; - 152A33FE199C93E7004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1C0801987328E00A46ACC; - remoteInfo = "libluaui Mac"; - }; - 152A3400199C93E7004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BF7219865C2000A46ACC; - remoteInfo = "libluacocostudio Mac"; - }; - 152A3402199C93E7004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BE66198654BE00A46ACC; - remoteInfo = "libluacocosbuilder Mac"; - }; - 152A3404199C93E7004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BFF819865E5F00A46ACC; - remoteInfo = "libluaspine Mac"; - }; - 152A3406199C93F4004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2FC117814595006731B9; - remoteInfo = "libextension Mac"; - }; - 152A3408199C93F4004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B245F10019766132001920FD; - remoteInfo = "libui Mac"; - }; - 152A340A199C93F4004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB48161976716E00411E16; - remoteInfo = "libcocostudio Mac"; - }; - 152A340C199C93F4004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB479B197669A100411E16; - remoteInfo = "libcocosbuilder Mac"; - }; - 152A340E199C93F4004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB48CA19767F1F00411E16; - remoteInfo = "libspine Mac"; - }; - 15427C16198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B245F13A19766132001920FD; - remoteInfo = "libui Mac"; - }; - 15427C18198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB484D1976716E00411E16; - remoteInfo = "libcocostudio Mac"; - }; - 15427C1A198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB47D2197669A100411E16; - remoteInfo = "libcocosbuilder Mac"; - }; - 15427C1C198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB490119767F1F00411E16; - remoteInfo = "libspine Mac"; - }; - 15427C1E198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB49C4197686CB00411E16; - remoteInfo = "libnetwork Mac"; - }; - 15427C20198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA6619775E92004493CC; - remoteInfo = "libui iOS"; - }; - 15427C22198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA6E19775EBB004493CC; - remoteInfo = "libcocostudio iOS"; - }; - 15427C24198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA7619775ECE004493CC; - remoteInfo = "libcocosbuilder iOS"; - }; - 15427C26198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA7E19775EE1004493CC; - remoteInfo = "libspine iOS"; - }; - 15427C28198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA8619775EF3004493CC; - remoteInfo = "libnetwork iOS"; - }; - 15427C3A198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BDDA1986538000A46ACC; - remoteInfo = "libluaextension Mac"; - }; - 15427C3C198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C0FB1987328E00A46ACC; - remoteInfo = "libluaui Mac"; - }; - 15427C3E198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BFED19865C2000A46ACC; - remoteInfo = "libluacocostudio Mac"; - }; - 15427C40198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BEE1198654BE00A46ACC; - remoteInfo = "libluacocosbuilder Mac"; - }; - 15427C42198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C07319865E5F00A46ACC; - remoteInfo = "libluaspine Mac"; - }; - 15427C44198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C1811987340C00A46ACC; - remoteInfo = "libluanetwork Mac"; - }; - 15427C46198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BF6919865A0600A46ACC; - remoteInfo = "libluacocosdenshion Mac"; - }; 15427C48198F1DE400DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -431,55 +140,6 @@ remoteGlobalIDString = 15C1C2CC198748D200A46ACC; remoteInfo = "libluacocos2d Mac"; }; - 15427C4A198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 155CA3431988C494006E0A08; - remoteInfo = "libluaextension iOS"; - }; - 15427C4C198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA37A198B28A8000C57D3; - remoteInfo = "libluaui iOS"; - }; - 15427C4E198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA3FB198B2934000C57D3; - remoteInfo = "libluacocostudio iOS"; - }; - 15427C50198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA2F9198B2791000C57D3; - remoteInfo = "libluacocosbuilder iOS"; - }; - 15427C52198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA47F198B2AFD000C57D3; - remoteInfo = "libluaspine iOS"; - }; - 15427C54198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA4FE198B2B9B000C57D3; - remoteInfo = "libluanetwork iOS"; - }; - 15427C56198F1DE400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA59B198B2D13000C57D3; - remoteInfo = "libluacocosdenshion iOS"; - }; 15427C58198F1DE400DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -487,20 +147,6 @@ remoteGlobalIDString = 15EFA616198B2DAA000C57D3; remoteInfo = "libluacocos2d iOS"; }; - 15427C60198F1E7400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA486198B2B9B000C57D3; - remoteInfo = "libluanetwork iOS"; - }; - 15427C62198F1E7400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA523198B2D13000C57D3; - remoteInfo = "libluacocosdenshion iOS"; - }; 15427C64198F1E7400DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -515,34 +161,6 @@ remoteGlobalIDString = A07A4C241783777C0073F6A7; remoteInfo = "libcocos2d iOS"; }; - 15427C68198F1E7400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4F9F178387730073F6A7; - remoteInfo = "libcocosdenshion iOS"; - }; - 15427C6A198F1E7400DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA7F19775EF3004493CC; - remoteInfo = "libnetwork iOS"; - }; - 15427C6C198F1F4D00DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1C1061987340C00A46ACC; - remoteInfo = "libluanetwork Mac"; - }; - 15427C6E198F1F4D00DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BEEE19865A0600A46ACC; - remoteInfo = "libluacocosdenshion Mac"; - }; 15427C70198F1F4D00DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -557,76 +175,6 @@ remoteGlobalIDString = 1551A33E158F2AB200E66CFE; remoteInfo = "libcocos2d Mac"; }; - 15427C74198F1F4D00DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB498D197686CB00411E16; - remoteInfo = "libnetwork Mac"; - }; - 15427C76198F1F4D00DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2E9817814268006731B9; - remoteInfo = "libcocosdenshion Mac"; - }; - 156B43BC19A1F1EF002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 1516228319A0F45E006099B8; - remoteInfo = "libluacocos3d iOS"; - }; - 156B43C619A1F1EF002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1516200B199E7363006099B8; - remoteInfo = "libcocos3d Mac"; - }; - 156B43C819A1F1EF002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15162201199E7810006099B8; - remoteInfo = "libcocos3d iOS"; - }; - 156B43CE19A1F1EF002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1516227C19A0F32D006099B8; - remoteInfo = "libluacocos3d Mac"; - }; - 156B43D019A1F1EF002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 151622BB19A0F45E006099B8; - remoteInfo = "libluacocos3d iOS"; - }; - 156B43D219A1F1FD002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15162030199E7810006099B8; - remoteInfo = "libcocos3d iOS"; - }; - 156B43D619A1F243002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 1516224519A0F32D006099B8; - remoteInfo = "libluacocos3d Mac"; - }; - 156B43D819A1F249002CBF18 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15161E42199E7362006099B8; - remoteInfo = "libcocos3d Mac"; - }; 15A8A4161834BDA200142BE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -634,34 +182,6 @@ remoteGlobalIDString = 1551A33F158F2AB200E66CFE; remoteInfo = "cocos2dx Mac"; }; - 15A8A4181834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2FD617814595006731B9; - remoteInfo = "cocos2dx-extensions Mac"; - }; - 15A8A41A1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2CB81780BD04006731B9; - remoteInfo = "chipmunk Mac"; - }; - 15A8A41C1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2D9B1780BDF7006731B9; - remoteInfo = "box2d Mac"; - }; - 15A8A41E1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2ED617814268006731B9; - remoteInfo = "CocosDenshion Mac"; - }; 15A8A4241834BDA200142BE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -669,34 +189,6 @@ remoteGlobalIDString = A07A4D641783777C0073F6A7; remoteInfo = "cocos2dx iOS"; }; - 15A8A4261834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4EFC1783867C0073F6A7; - remoteInfo = "cocos2dx-extensions iOS"; - }; - 15A8A4281834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F3B178387670073F6A7; - remoteInfo = "chipmunk iOS"; - }; - 15A8A42A1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F9E1783876B0073F6A7; - remoteInfo = "box2d iOS"; - }; - 15A8A42C1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4FB4178387730073F6A7; - remoteInfo = "CocosDenshion iOS"; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -796,22 +288,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 156B43DB19A1F262002CBF18 /* libluacocos3d Mac.a in Frameworks */, - 156B43DA19A1F256002CBF18 /* libcocos3d Mac.a in Frameworks */, - 15AA96B1199C655A00725633 /* libluaui Mac.a in Frameworks */, - 15AA96B0199C655200725633 /* libui Mac.a in Frameworks */, - 15AA96AF199C653300725633 /* libluaextension Mac.a in Frameworks */, - 15AA96AE199C652A00725633 /* libextension Mac.a in Frameworks */, - 15AA96AD199C650C00725633 /* libluaspine Mac.a in Frameworks */, - 15AA96AC199C64FD00725633 /* libspine Mac.a in Frameworks */, - 15AA96AB199C64F400725633 /* libluacocostudio Mac.a in Frameworks */, - 15AA96AA199C64DF00725633 /* libcocostudio Mac.a in Frameworks */, - 15AA96A9199C634600725633 /* libluacocosbuilder Mac.a in Frameworks */, - 15AA96A8199C633700725633 /* libcocosbuilder Mac.a in Frameworks */, - 15427C7D198F1FD800DC375D /* libluanetwork Mac.a in Frameworks */, - 15427C7C198F1FCB00DC375D /* libnetwork Mac.a in Frameworks */, - 15427C7B198F1FC100DC375D /* libluacocosdenshion Mac.a in Frameworks */, - 15427C7A198F1FB600DC375D /* libcocosdenshion Mac.a in Frameworks */, 15427C79198F1FA200DC375D /* libluacocos2d Mac.a in Frameworks */, 15427C78198F1F9900DC375D /* libcocos2d Mac.a in Frameworks */, 15A8A4881834C90F00142BE0 /* libcurl.dylib in Frameworks */, @@ -832,22 +308,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 156B43D519A1F236002CBF18 /* libluacocos3d iOS.a in Frameworks */, - 156B43D419A1F224002CBF18 /* libcocos3d iOS.a in Frameworks */, - 15AA96A7199C62FE00725633 /* libui iOS.a in Frameworks */, - 15AA96A6199C62F500725633 /* libluaui iOS.a in Frameworks */, - 15AA96A5199C62CF00725633 /* libspine iOS.a in Frameworks */, - 15AA96A4199C62C500725633 /* libluaspine iOS.a in Frameworks */, - 15AA96A3199C62B900725633 /* libluacocostudio iOS.a in Frameworks */, - 15AA96A2199C62AE00725633 /* libcocostudio iOS.a in Frameworks */, - 15AA96A1199C629B00725633 /* libcocosbuilder iOS.a in Frameworks */, - 15AA96A0199C628F00725633 /* libluacocosbuilder iOS.a in Frameworks */, - 15AA969F199C628500725633 /* libextension iOS.a in Frameworks */, - 15AA968E199C627C00725633 /* libluaextension iOS.a in Frameworks */, - 15427C5F198F1E3300DC375D /* libluanetwork iOS.a in Frameworks */, - 15427C5E198F1E2B00DC375D /* libnetwork iOS.a in Frameworks */, - 15427C5D198F1E2100DC375D /* libluacocosdenshion iOS.a in Frameworks */, - 15427C5C198F1E1400DC375D /* libcocosdenshion iOS.a in Frameworks */, 15427C5B198F1E0100DC375D /* libluacocos2d iOS.a in Frameworks */, 15427C5A198F1DF000DC375D /* libcocos2d iOS.a in Frameworks */, 15AECE29195D482800907DB0 /* MediaPlayer.framework in Frameworks */, @@ -871,27 +331,7 @@ isa = PBXGroup; children = ( 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */, - 15A8A4191834BDA200142BE0 /* libextension Mac.a */, - 15427C17198F1DE400DC375D /* libui Mac.a */, - 15427C19198F1DE400DC375D /* libcocostudio Mac.a */, - 15427C1B198F1DE400DC375D /* libcocosbuilder Mac.a */, - 15427C1D198F1DE400DC375D /* libspine Mac.a */, - 15427C1F198F1DE400DC375D /* libnetwork Mac.a */, - 15A8A41B1834BDA200142BE0 /* libchipmunk Mac.a */, - 15A8A41D1834BDA200142BE0 /* libbox2d Mac.a */, - 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */, - 156B43C719A1F1EF002CBF18 /* libcocos3d Mac.a */, 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */, - 15A8A4271834BDA200142BE0 /* libextension iOS.a */, - 15A8A4291834BDA200142BE0 /* libchipmunk iOS.a */, - 15A8A42B1834BDA200142BE0 /* libbox2d iOS.a */, - 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */, - 15427C21198F1DE400DC375D /* libui iOS.a */, - 15427C23198F1DE400DC375D /* libcocostudio iOS.a */, - 15427C25198F1DE400DC375D /* libcocosbuilder iOS.a */, - 15427C27198F1DE400DC375D /* libspine iOS.a */, - 15427C29198F1DE400DC375D /* libnetwork iOS.a */, - 156B43C919A1F1EF002CBF18 /* libcocos3d iOS.a */, ); name = Products; sourceTree = ""; @@ -990,23 +430,7 @@ C03781AF18BF654500FE4F13 /* Products */ = { isa = PBXGroup; children = ( - 15427C3B198F1DE400DC375D /* libluaextension Mac.a */, - 15427C3D198F1DE400DC375D /* libluaui Mac.a */, - 15427C3F198F1DE400DC375D /* libluacocostudio Mac.a */, - 15427C41198F1DE400DC375D /* libluacocosbuilder Mac.a */, - 15427C43198F1DE400DC375D /* libluaspine Mac.a */, - 15427C45198F1DE400DC375D /* libluanetwork Mac.a */, - 15427C47198F1DE400DC375D /* libluacocosdenshion Mac.a */, - 156B43CF19A1F1EF002CBF18 /* libluacocos3d Mac.a */, 15427C49198F1DE400DC375D /* libluacocos2d Mac.a */, - 15427C4B198F1DE400DC375D /* libluaextension iOS.a */, - 15427C4D198F1DE400DC375D /* libluaui iOS.a */, - 15427C4F198F1DE400DC375D /* libluacocostudio iOS.a */, - 15427C51198F1DE400DC375D /* libluacocosbuilder iOS.a */, - 15427C53198F1DE400DC375D /* libluaspine iOS.a */, - 15427C55198F1DE400DC375D /* libluanetwork iOS.a */, - 15427C57198F1DE400DC375D /* libluacocosdenshion iOS.a */, - 156B43D119A1F1EF002CBF18 /* libluacocos3d iOS.a */, 15427C59198F1DE400DC375D /* libluacocos2d iOS.a */, ); name = Products; @@ -1096,24 +520,8 @@ buildRules = ( ); dependencies = ( - 156B43D919A1F249002CBF18 /* PBXTargetDependency */, - 156B43D719A1F243002CBF18 /* PBXTargetDependency */, - 152A3407199C93F4004B68DC /* PBXTargetDependency */, - 152A3409199C93F4004B68DC /* PBXTargetDependency */, - 152A340B199C93F4004B68DC /* PBXTargetDependency */, - 152A340D199C93F4004B68DC /* PBXTargetDependency */, - 152A340F199C93F4004B68DC /* PBXTargetDependency */, - 152A33FD199C93E7004B68DC /* PBXTargetDependency */, - 152A33FF199C93E7004B68DC /* PBXTargetDependency */, - 152A3401199C93E7004B68DC /* PBXTargetDependency */, - 152A3403199C93E7004B68DC /* PBXTargetDependency */, - 152A3405199C93E7004B68DC /* PBXTargetDependency */, - 15427C6D198F1F4D00DC375D /* PBXTargetDependency */, - 15427C6F198F1F4D00DC375D /* PBXTargetDependency */, 15427C71198F1F4D00DC375D /* PBXTargetDependency */, 15427C73198F1F4D00DC375D /* PBXTargetDependency */, - 15427C75198F1F4D00DC375D /* PBXTargetDependency */, - 15427C77198F1F4D00DC375D /* PBXTargetDependency */, ); name = "HelloLua Mac"; productName = HelloLua; @@ -1132,24 +540,8 @@ buildRules = ( ); dependencies = ( - 156B43D319A1F1FD002CBF18 /* PBXTargetDependency */, - 156B43BD19A1F1EF002CBF18 /* PBXTargetDependency */, - 152A33F3199C93CD004B68DC /* PBXTargetDependency */, - 152A33F5199C93CD004B68DC /* PBXTargetDependency */, - 152A33F7199C93CD004B68DC /* PBXTargetDependency */, - 152A33F9199C93CD004B68DC /* PBXTargetDependency */, - 152A33FB199C93CD004B68DC /* PBXTargetDependency */, - 152A33CD199C93BF004B68DC /* PBXTargetDependency */, - 152A33CF199C93BF004B68DC /* PBXTargetDependency */, - 152A33D1199C93BF004B68DC /* PBXTargetDependency */, - 152A33D3199C93BF004B68DC /* PBXTargetDependency */, - 152A33D5199C93BF004B68DC /* PBXTargetDependency */, - 15427C61198F1E7400DC375D /* PBXTargetDependency */, - 15427C63198F1E7400DC375D /* PBXTargetDependency */, 15427C65198F1E7400DC375D /* PBXTargetDependency */, 15427C67198F1E7400DC375D /* PBXTargetDependency */, - 15427C69198F1E7400DC375D /* PBXTargetDependency */, - 15427C6B198F1E7400DC375D /* PBXTargetDependency */, ); name = "HelloLua iOS"; productName = HelloLua; @@ -1198,125 +590,6 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 15427C17198F1DE400DC375D /* libui Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libui Mac.a"; - remoteRef = 15427C16198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C19198F1DE400DC375D /* libcocostudio Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocostudio Mac.a"; - remoteRef = 15427C18198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C1B198F1DE400DC375D /* libcocosbuilder Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosbuilder Mac.a"; - remoteRef = 15427C1A198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C1D198F1DE400DC375D /* libspine Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libspine Mac.a"; - remoteRef = 15427C1C198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C1F198F1DE400DC375D /* libnetwork Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libnetwork Mac.a"; - remoteRef = 15427C1E198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C21198F1DE400DC375D /* libui iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libui iOS.a"; - remoteRef = 15427C20198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C23198F1DE400DC375D /* libcocostudio iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocostudio iOS.a"; - remoteRef = 15427C22198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C25198F1DE400DC375D /* libcocosbuilder iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosbuilder iOS.a"; - remoteRef = 15427C24198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C27198F1DE400DC375D /* libspine iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libspine iOS.a"; - remoteRef = 15427C26198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C29198F1DE400DC375D /* libnetwork iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libnetwork iOS.a"; - remoteRef = 15427C28198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C3B198F1DE400DC375D /* libluaextension Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaextension Mac.a"; - remoteRef = 15427C3A198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C3D198F1DE400DC375D /* libluaui Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaui Mac.a"; - remoteRef = 15427C3C198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C3F198F1DE400DC375D /* libluacocostudio Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocostudio Mac.a"; - remoteRef = 15427C3E198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C41198F1DE400DC375D /* libluacocosbuilder Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosbuilder Mac.a"; - remoteRef = 15427C40198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C43198F1DE400DC375D /* libluaspine Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaspine Mac.a"; - remoteRef = 15427C42198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C45198F1DE400DC375D /* libluanetwork Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluanetwork Mac.a"; - remoteRef = 15427C44198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C47198F1DE400DC375D /* libluacocosdenshion Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosdenshion Mac.a"; - remoteRef = 15427C46198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15427C49198F1DE400DC375D /* libluacocos2d Mac.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1324,55 +597,6 @@ remoteRef = 15427C48198F1DE400DC375D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15427C4B198F1DE400DC375D /* libluaextension iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaextension iOS.a"; - remoteRef = 15427C4A198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C4D198F1DE400DC375D /* libluaui iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaui iOS.a"; - remoteRef = 15427C4C198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C4F198F1DE400DC375D /* libluacocostudio iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocostudio iOS.a"; - remoteRef = 15427C4E198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C51198F1DE400DC375D /* libluacocosbuilder iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosbuilder iOS.a"; - remoteRef = 15427C50198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C53198F1DE400DC375D /* libluaspine iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaspine iOS.a"; - remoteRef = 15427C52198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C55198F1DE400DC375D /* libluanetwork iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluanetwork iOS.a"; - remoteRef = 15427C54198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C57198F1DE400DC375D /* libluacocosdenshion iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosdenshion iOS.a"; - remoteRef = 15427C56198F1DE400DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15427C59198F1DE400DC375D /* libluacocos2d iOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1380,34 +604,6 @@ remoteRef = 15427C58198F1DE400DC375D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 156B43C719A1F1EF002CBF18 /* libcocos3d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos3d Mac.a"; - remoteRef = 156B43C619A1F1EF002CBF18 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 156B43C919A1F1EF002CBF18 /* libcocos3d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos3d iOS.a"; - remoteRef = 156B43C819A1F1EF002CBF18 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 156B43CF19A1F1EF002CBF18 /* libluacocos3d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocos3d Mac.a"; - remoteRef = 156B43CE19A1F1EF002CBF18 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 156B43D119A1F1EF002CBF18 /* libluacocos3d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocos3d iOS.a"; - remoteRef = 156B43D019A1F1EF002CBF18 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1415,34 +611,6 @@ remoteRef = 15A8A4161834BDA200142BE0 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15A8A4191834BDA200142BE0 /* libextension Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libextension Mac.a"; - remoteRef = 15A8A4181834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41B1834BDA200142BE0 /* libchipmunk Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk Mac.a"; - remoteRef = 15A8A41A1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41D1834BDA200142BE0 /* libbox2d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d Mac.a"; - remoteRef = 15A8A41C1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosdenshion Mac.a"; - remoteRef = 15A8A41E1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1450,34 +618,6 @@ remoteRef = 15A8A4241834BDA200142BE0 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15A8A4271834BDA200142BE0 /* libextension iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libextension iOS.a"; - remoteRef = 15A8A4261834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A4291834BDA200142BE0 /* libchipmunk iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk iOS.a"; - remoteRef = 15A8A4281834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A42B1834BDA200142BE0 /* libbox2d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d iOS.a"; - remoteRef = 15A8A42A1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosdenshion iOS.a"; - remoteRef = 15A8A42C1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1641,116 +781,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 152A33CD199C93BF004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaextension iOS"; - targetProxy = 152A33CC199C93BF004B68DC /* PBXContainerItemProxy */; - }; - 152A33CF199C93BF004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaui iOS"; - targetProxy = 152A33CE199C93BF004B68DC /* PBXContainerItemProxy */; - }; - 152A33D1199C93BF004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocostudio iOS"; - targetProxy = 152A33D0199C93BF004B68DC /* PBXContainerItemProxy */; - }; - 152A33D3199C93BF004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosbuilder iOS"; - targetProxy = 152A33D2199C93BF004B68DC /* PBXContainerItemProxy */; - }; - 152A33D5199C93BF004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaspine iOS"; - targetProxy = 152A33D4199C93BF004B68DC /* PBXContainerItemProxy */; - }; - 152A33F3199C93CD004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libextension iOS"; - targetProxy = 152A33F2199C93CD004B68DC /* PBXContainerItemProxy */; - }; - 152A33F5199C93CD004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libui iOS"; - targetProxy = 152A33F4199C93CD004B68DC /* PBXContainerItemProxy */; - }; - 152A33F7199C93CD004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocostudio iOS"; - targetProxy = 152A33F6199C93CD004B68DC /* PBXContainerItemProxy */; - }; - 152A33F9199C93CD004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosbuilder iOS"; - targetProxy = 152A33F8199C93CD004B68DC /* PBXContainerItemProxy */; - }; - 152A33FB199C93CD004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libspine iOS"; - targetProxy = 152A33FA199C93CD004B68DC /* PBXContainerItemProxy */; - }; - 152A33FD199C93E7004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaextension Mac"; - targetProxy = 152A33FC199C93E7004B68DC /* PBXContainerItemProxy */; - }; - 152A33FF199C93E7004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaui Mac"; - targetProxy = 152A33FE199C93E7004B68DC /* PBXContainerItemProxy */; - }; - 152A3401199C93E7004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocostudio Mac"; - targetProxy = 152A3400199C93E7004B68DC /* PBXContainerItemProxy */; - }; - 152A3403199C93E7004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosbuilder Mac"; - targetProxy = 152A3402199C93E7004B68DC /* PBXContainerItemProxy */; - }; - 152A3405199C93E7004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaspine Mac"; - targetProxy = 152A3404199C93E7004B68DC /* PBXContainerItemProxy */; - }; - 152A3407199C93F4004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libextension Mac"; - targetProxy = 152A3406199C93F4004B68DC /* PBXContainerItemProxy */; - }; - 152A3409199C93F4004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libui Mac"; - targetProxy = 152A3408199C93F4004B68DC /* PBXContainerItemProxy */; - }; - 152A340B199C93F4004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocostudio Mac"; - targetProxy = 152A340A199C93F4004B68DC /* PBXContainerItemProxy */; - }; - 152A340D199C93F4004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosbuilder Mac"; - targetProxy = 152A340C199C93F4004B68DC /* PBXContainerItemProxy */; - }; - 152A340F199C93F4004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libspine Mac"; - targetProxy = 152A340E199C93F4004B68DC /* PBXContainerItemProxy */; - }; - 15427C61198F1E7400DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluanetwork iOS"; - targetProxy = 15427C60198F1E7400DC375D /* PBXContainerItemProxy */; - }; - 15427C63198F1E7400DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosdenshion iOS"; - targetProxy = 15427C62198F1E7400DC375D /* PBXContainerItemProxy */; - }; 15427C65198F1E7400DC375D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libluacocos2d iOS"; @@ -1761,26 +791,6 @@ name = "libcocos2d iOS"; targetProxy = 15427C66198F1E7400DC375D /* PBXContainerItemProxy */; }; - 15427C69198F1E7400DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosdenshion iOS"; - targetProxy = 15427C68198F1E7400DC375D /* PBXContainerItemProxy */; - }; - 15427C6B198F1E7400DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libnetwork iOS"; - targetProxy = 15427C6A198F1E7400DC375D /* PBXContainerItemProxy */; - }; - 15427C6D198F1F4D00DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluanetwork Mac"; - targetProxy = 15427C6C198F1F4D00DC375D /* PBXContainerItemProxy */; - }; - 15427C6F198F1F4D00DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosdenshion Mac"; - targetProxy = 15427C6E198F1F4D00DC375D /* PBXContainerItemProxy */; - }; 15427C71198F1F4D00DC375D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libluacocos2d Mac"; @@ -1791,36 +801,6 @@ name = "libcocos2d Mac"; targetProxy = 15427C72198F1F4D00DC375D /* PBXContainerItemProxy */; }; - 15427C75198F1F4D00DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libnetwork Mac"; - targetProxy = 15427C74198F1F4D00DC375D /* PBXContainerItemProxy */; - }; - 15427C77198F1F4D00DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosdenshion Mac"; - targetProxy = 15427C76198F1F4D00DC375D /* PBXContainerItemProxy */; - }; - 156B43BD19A1F1EF002CBF18 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocos3d iOS"; - targetProxy = 156B43BC19A1F1EF002CBF18 /* PBXContainerItemProxy */; - }; - 156B43D319A1F1FD002CBF18 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocos3d iOS"; - targetProxy = 156B43D219A1F1FD002CBF18 /* PBXContainerItemProxy */; - }; - 156B43D719A1F243002CBF18 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocos3d Mac"; - targetProxy = 156B43D619A1F243002CBF18 /* PBXContainerItemProxy */; - }; - 156B43D919A1F249002CBF18 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocos3d Mac"; - targetProxy = 156B43D819A1F249002CBF18 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.sln b/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.sln index c88e087e51..6dd45300a6 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.sln +++ b/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.sln @@ -4,50 +4,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloLua", "HelloLua.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" ProjectSection(ProjectDependencies) = postProject {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\cocos2d-x\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocosdenshion", "..\..\cocos2d-x\cocos\audio\proj.win32\libcocosdenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\cocos2d-x\cocos\2d\libcocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocos2d", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocos2d.vcxproj", "{9F2D6CE6-C893-4400-B50C-6DB70CC2562F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocosdenshion", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocosdenshion.vcxproj", "{46A7D57A-7F25-4F52-823B-FFAC4FF3A624}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocosbuilder", "..\..\cocos2d-x\cocos\editor-support\cocosbuilder\proj.win32\libcocosbuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocostudio", "..\..\cocos2d-x\cocos\editor-support\cocostudio\proj.win32\libcocostudio.vcxproj", "{B57CF53F-2E49-4031-9822-047CC0E6BDE2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\..\cocos2d-x\cocos\editor-support\spine\proj.win32\libSpine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnetwork", "..\..\cocos2d-x\cocos\network\proj.win32\libnetwork.vcxproj", "{DF2638C0-8128-4847-867C-6EAFE3DEE7B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libextension", "..\..\cocos2d-x\extensions\proj.win32\libextension.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libui", "..\..\cocos2d-x\cocos\ui\proj.win32\libui.vcxproj", "{7E06E92C-537A-442B-9E4A-4761C84F8A1A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocosbuilder", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocosbuilder.vcxproj", "{F8198014-F4F3-49F0-88AB-C1969A5829AF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocostudio", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocostudio.vcxproj", "{9640951E-C5D0-47B5-9C42-0BCADA261C50}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaextension", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaextension.vcxproj", "{7068296E-38A4-4BCA-85DB-3A09BD014847}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluanetwork", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluanetwork.vcxproj", "{65E52F4B-703F-419E-AD67-926241A10042}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaspine", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaspine.vcxproj", "{31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaui", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaui.vcxproj", "{FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d", "..\..\cocos2d-x\external\Box2D\proj.win32\libbox2d.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos3d", "..\..\cocos2d-x\cocos\3d\proj.win32\libcocos3d.vcxproj", "{E24950FA-5BC1-4AEE-A900-4F0259354BF0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocos3d", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocos3d.vcxproj", "{06840490-14A4-43D6-88BC-AAFA44D043EB}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -58,14 +20,6 @@ Global {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.Build.0 = Debug|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.ActiveCfg = Release|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 @@ -74,70 +28,6 @@ Global {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Debug|Win32.Build.0 = Debug|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Release|Win32.ActiveCfg = Release|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Release|Win32.Build.0 = Release|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Debug|Win32.ActiveCfg = Debug|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Debug|Win32.Build.0 = Debug|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Release|Win32.ActiveCfg = Release|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Release|Win32.Build.0 = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.ActiveCfg = Debug|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.Build.0 = Debug|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.ActiveCfg = Release|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.Build.0 = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.ActiveCfg = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.Build.0 = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.ActiveCfg = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.Build.0 = Release|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.ActiveCfg = Debug|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.Build.0 = Debug|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.ActiveCfg = Release|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.Build.0 = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.Build.0 = Debug|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.ActiveCfg = Release|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.Build.0 = Release|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Debug|Win32.Build.0 = Debug|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Release|Win32.ActiveCfg = Release|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Release|Win32.Build.0 = Release|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Debug|Win32.ActiveCfg = Debug|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Debug|Win32.Build.0 = Debug|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Release|Win32.ActiveCfg = Release|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Release|Win32.Build.0 = Release|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Debug|Win32.ActiveCfg = Debug|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Debug|Win32.Build.0 = Debug|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Release|Win32.ActiveCfg = Release|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Release|Win32.Build.0 = Release|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Debug|Win32.ActiveCfg = Debug|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Debug|Win32.Build.0 = Debug|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Release|Win32.ActiveCfg = Release|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Release|Win32.Build.0 = Release|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Debug|Win32.ActiveCfg = Debug|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Debug|Win32.Build.0 = Debug|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Release|Win32.ActiveCfg = Release|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Release|Win32.Build.0 = Release|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Debug|Win32.ActiveCfg = Debug|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Debug|Win32.Build.0 = Debug|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Release|Win32.ActiveCfg = Release|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Release|Win32.Build.0 = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Debug|Win32.ActiveCfg = Debug|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Debug|Win32.Build.0 = Debug|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Release|Win32.ActiveCfg = Release|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Release|Win32.Build.0 = Release|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Debug|Win32.ActiveCfg = Debug|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Debug|Win32.Build.0 = Debug|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Release|Win32.ActiveCfg = Release|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.vcxproj b/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.vcxproj index 11a3924224..a1437c569a 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.vcxproj +++ b/templates/lua-template-default/frameworks/runtime-src/proj.win32/HelloLua.vcxproj @@ -190,30 +190,6 @@ xcopy "$(ProjectDir)..\..\cocos2d-x\cocos\scripting\lua-bindings\script\ui" "$(P {9f2d6ce6-c893-4400-b50c-6db70cc2562f} - - {06840490-14a4-43d6-88bc-aafa44d043eb} - - - {f8198014-f4f3-49f0-88ab-c1969a5829af} - - - {46a7d57a-7f25-4f52-823b-ffac4ff3a624} - - - {9640951e-c5d0-47b5-9c42-0bcada261c50} - - - {7068296e-38a4-4bca-85db-3a09bd014847} - - - {65e52f4b-703f-419e-ad67-926241a10042} - - - {31ef6ab1-0d9a-4bc6-99b8-2c482ea373c4} - - - {fe78eebb-3dbb-4713-8cbf-63d742c5bd82} - diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk index 15ac1b1602..d9c70233d4 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk @@ -41,14 +41,6 @@ $(LOCAL_PATH)/../../Classes \ $(LOCAL_PATH)/../../../cocos2d-x/external LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += network_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += spine_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += extension_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += ui_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos3d_lua_static include $(BUILD_SHARED_LIBRARY) diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj index e18faea777..36cda4b14c 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj @@ -35,44 +35,12 @@ 152A3479199CE5CE004B68DC /* experimentalUIConstants.lua in Resources */ = {isa = PBXBuildFile; fileRef = 152A3472199CE5CE004B68DC /* experimentalUIConstants.lua */; }; 152A347A199CE5CE004B68DC /* GuiConstants.lua in Resources */ = {isa = PBXBuildFile; fileRef = 152A3473199CE5CE004B68DC /* GuiConstants.lua */; }; 152A347B199CE5CE004B68DC /* GuiConstants.lua in Resources */ = {isa = PBXBuildFile; fileRef = 152A3473199CE5CE004B68DC /* GuiConstants.lua */; }; - 152A347C199CE60E004B68DC /* libluacocosbuilder iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CCA198F220600DC375D /* libluacocosbuilder iOS.a */; }; - 152A347D199CE60E004B68DC /* libluacocostudio iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CC8198F220600DC375D /* libluacocostudio iOS.a */; }; - 152A347E199CE60E004B68DC /* libluaextension iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CC4198F220600DC375D /* libluaextension iOS.a */; }; - 152A347F199CE60E004B68DC /* libluaspine iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CCC198F220600DC375D /* libluaspine iOS.a */; }; - 152A3480199CE60E004B68DC /* libluaui iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CC6198F220600DC375D /* libluaui iOS.a */; }; - 152A3481199CE624004B68DC /* libcocosbuilder iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C9E198F220600DC375D /* libcocosbuilder iOS.a */; }; - 152A3482199CE62F004B68DC /* libcocostudio iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C9C198F220600DC375D /* libcocostudio iOS.a */; }; - 152A3483199CE63A004B68DC /* libextension iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4271834BDA200142BE0 /* libextension iOS.a */; }; - 152A3484199CE64A004B68DC /* libspine iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CA0198F220600DC375D /* libspine iOS.a */; }; - 152A3485199CE64A004B68DC /* libui iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C9A198F220600DC375D /* libui iOS.a */; }; - 152A3486199CE6B4004B68DC /* libcocosbuilder Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C94198F220600DC375D /* libcocosbuilder Mac.a */; }; - 152A3487199CE6B4004B68DC /* libcocostudio Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C92198F220600DC375D /* libcocostudio Mac.a */; }; - 152A3488199CE6B4004B68DC /* libextension Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4191834BDA200142BE0 /* libextension Mac.a */; }; - 152A3489199CE6B4004B68DC /* libluacocosbuilder Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CBA198F220600DC375D /* libluacocosbuilder Mac.a */; }; - 152A348A199CE6B4004B68DC /* libluacocostudio Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CB8198F220600DC375D /* libluacocostudio Mac.a */; }; - 152A348B199CE6B4004B68DC /* libluaextension Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CB4198F220600DC375D /* libluaextension Mac.a */; }; - 152A348C199CE6B4004B68DC /* libluaspine Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CBC198F220600DC375D /* libluaspine Mac.a */; }; - 152A348D199CE6B4004B68DC /* libluaui Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CB6198F220600DC375D /* libluaui Mac.a */; }; - 152A348E199CE6B4004B68DC /* libspine Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C96198F220600DC375D /* libspine Mac.a */; }; - 152A348F199CE6B4004B68DC /* libui Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C90198F220600DC375D /* libui Mac.a */; }; 15427CD3198F221400DC375D /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */; }; - 15427CD4198F221400DC375D /* libcocosdenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */; }; 15427CD5198F222200DC375D /* libluacocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CD2198F220600DC375D /* libluacocos2d iOS.a */; }; - 15427CD6198F222200DC375D /* libluacocosdenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CD0198F220600DC375D /* libluacocosdenshion iOS.a */; }; - 15427CE3198F23A100DC375D /* libnetwork iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CA2198F220600DC375D /* libnetwork iOS.a */; }; 15427CEC198F24A600DC375D /* libluacocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CC2198F220600DC375D /* libluacocos2d Mac.a */; }; - 15427CED198F24A600DC375D /* libluacocosdenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CC0198F220600DC375D /* libluacocosdenshion Mac.a */; }; 15427CEE198F24AF00DC375D /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */; }; - 15427CEF198F24BD00DC375D /* libcocosdenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */; }; - 15427CF0198F24C400DC375D /* libnetwork Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427C98198F220600DC375D /* libnetwork Mac.a */; }; - 1571D9C219A1F733005A1DC2 /* libcocos3d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1571D9B919A1F714005A1DC2 /* libcocos3d iOS.a */; }; - 1571D9C319A1F733005A1DC2 /* libluacocos3d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1571D9C119A1F714005A1DC2 /* libluacocos3d iOS.a */; }; - 1571D9C419A1F74B005A1DC2 /* libcocos3d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1571D9B719A1F714005A1DC2 /* libcocos3d Mac.a */; }; - 1571D9C519A1F74B005A1DC2 /* libluacocos3d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1571D9BF19A1F714005A1DC2 /* libluacocos3d Mac.a */; }; 15A8A4491834C64F00142BE0 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5023810C17EBBCAC00990C9B /* Icon-114.png */; }; 15A8A4881834C90F00142BE0 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4871834C90E00142BE0 /* libcurl.dylib */; }; - 15AA7D36199B513100725633 /* libluanetwork iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CCE198F220600DC375D /* libluanetwork iOS.a */; }; - 15AA7D47199B514300725633 /* libluanetwork Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15427CBE198F220600DC375D /* libluanetwork Mac.a */; }; 15AA7D52199B51F000725633 /* ftp.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA7D48199B51F000725633 /* ftp.lua */; }; 15AA7D53199B51F000725633 /* ftp.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA7D48199B51F000725633 /* ftp.lua */; }; 15AA7D54199B51F000725633 /* headers.lua in Resources */ = {isa = PBXBuildFile; fileRef = 15AA7D49199B51F000725633 /* headers.lua */; }; @@ -235,55 +203,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 152A3490199CE727004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 155CA2C71988C494006E0A08; - remoteInfo = "libluaextension iOS"; - }; - 152A3492199CE727004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA300198B28A8000C57D3; - remoteInfo = "libluaui iOS"; - }; - 152A3494199CE727004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA381198B2934000C57D3; - remoteInfo = "libluacocostudio iOS"; - }; - 152A3496199CE727004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA27F198B2791000C57D3; - remoteInfo = "libluacocosbuilder iOS"; - }; - 152A3498199CE727004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA407198B2AFD000C57D3; - remoteInfo = "libluaspine iOS"; - }; - 152A349A199CE72E004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA486198B2B9B000C57D3; - remoteInfo = "libluanetwork iOS"; - }; - 152A349C199CE72E004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15EFA523198B2D13000C57D3; - remoteInfo = "libluacocosdenshion iOS"; - }; 152A349E199CE72E004B68DC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -291,90 +210,6 @@ remoteGlobalIDString = 15EFA59E198B2DAA000C57D3; remoteInfo = "libluacocos2d iOS"; }; - 152A34A0199CE741004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4E111783867C0073F6A7; - remoteInfo = "libextension iOS"; - }; - 152A34A2199CE741004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA2C19775E92004493CC; - remoteInfo = "libui iOS"; - }; - 152A34A4199CE741004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA6719775EBB004493CC; - remoteInfo = "libcocostudio iOS"; - }; - 152A34A6199CE741004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA6F19775ECE004493CC; - remoteInfo = "libcocosbuilder iOS"; - }; - 152A34A8199CE741004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA7719775EE1004493CC; - remoteInfo = "libspine iOS"; - }; - 152A34AA199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BD5F1986538000A46ACC; - remoteInfo = "libluaextension Mac"; - }; - 152A34AC199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1C0801987328E00A46ACC; - remoteInfo = "libluaui Mac"; - }; - 152A34AE199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BF7219865C2000A46ACC; - remoteInfo = "libluacocostudio Mac"; - }; - 152A34B0199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BE66198654BE00A46ACC; - remoteInfo = "libluacocosbuilder Mac"; - }; - 152A34B2199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BFF819865E5F00A46ACC; - remoteInfo = "libluaspine Mac"; - }; - 152A34B4199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1C1061987340C00A46ACC; - remoteInfo = "libluanetwork Mac"; - }; - 152A34B6199CE758004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15C1BEEE19865A0600A46ACC; - remoteInfo = "libluacocosdenshion Mac"; - }; 152A34B8199CE758004B68DC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -382,160 +217,6 @@ remoteGlobalIDString = 15C1C255198748D200A46ACC; remoteInfo = "libluacocos2d Mac"; }; - 152A34BA199CE766004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2FC117814595006731B9; - remoteInfo = "libextension Mac"; - }; - 152A34BC199CE766004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B245F10019766132001920FD; - remoteInfo = "libui Mac"; - }; - 152A34BE199CE766004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB48161976716E00411E16; - remoteInfo = "libcocostudio Mac"; - }; - 152A34C0199CE766004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB479B197669A100411E16; - remoteInfo = "libcocosbuilder Mac"; - }; - 152A34C2199CE766004B68DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB48CA19767F1F00411E16; - remoteInfo = "libspine Mac"; - }; - 15427C8F198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B245F13A19766132001920FD; - remoteInfo = "libui Mac"; - }; - 15427C91198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB484D1976716E00411E16; - remoteInfo = "libcocostudio Mac"; - }; - 15427C93198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB47D2197669A100411E16; - remoteInfo = "libcocosbuilder Mac"; - }; - 15427C95198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB490119767F1F00411E16; - remoteInfo = "libspine Mac"; - }; - 15427C97198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B2DB49C4197686CB00411E16; - remoteInfo = "libnetwork Mac"; - }; - 15427C99198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA6619775E92004493CC; - remoteInfo = "libui iOS"; - }; - 15427C9B198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA6E19775EBB004493CC; - remoteInfo = "libcocostudio iOS"; - }; - 15427C9D198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA7619775ECE004493CC; - remoteInfo = "libcocosbuilder iOS"; - }; - 15427C9F198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA7E19775EE1004493CC; - remoteInfo = "libspine iOS"; - }; - 15427CA1198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B24EEA8619775EF3004493CC; - remoteInfo = "libnetwork iOS"; - }; - 15427CB3198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BDDA1986538000A46ACC; - remoteInfo = "libluaextension Mac"; - }; - 15427CB5198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C0FB1987328E00A46ACC; - remoteInfo = "libluaui Mac"; - }; - 15427CB7198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BFED19865C2000A46ACC; - remoteInfo = "libluacocostudio Mac"; - }; - 15427CB9198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BEE1198654BE00A46ACC; - remoteInfo = "libluacocosbuilder Mac"; - }; - 15427CBB198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C07319865E5F00A46ACC; - remoteInfo = "libluaspine Mac"; - }; - 15427CBD198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1C1811987340C00A46ACC; - remoteInfo = "libluanetwork Mac"; - }; - 15427CBF198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15C1BF6919865A0600A46ACC; - remoteInfo = "libluacocosdenshion Mac"; - }; 15427CC1198F220600DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -543,55 +224,6 @@ remoteGlobalIDString = 15C1C2CC198748D200A46ACC; remoteInfo = "libluacocos2d Mac"; }; - 15427CC3198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 155CA3431988C494006E0A08; - remoteInfo = "libluaextension iOS"; - }; - 15427CC5198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA37A198B28A8000C57D3; - remoteInfo = "libluaui iOS"; - }; - 15427CC7198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA3FB198B2934000C57D3; - remoteInfo = "libluacocostudio iOS"; - }; - 15427CC9198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA2F9198B2791000C57D3; - remoteInfo = "libluacocosbuilder iOS"; - }; - 15427CCB198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA47F198B2AFD000C57D3; - remoteInfo = "libluaspine iOS"; - }; - 15427CCD198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA4FE198B2B9B000C57D3; - remoteInfo = "libluanetwork iOS"; - }; - 15427CCF198F220600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15EFA59B198B2D13000C57D3; - remoteInfo = "libluacocosdenshion iOS"; - }; 15427CD1198F220600DC375D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; @@ -599,62 +231,6 @@ remoteGlobalIDString = 15EFA616198B2DAA000C57D3; remoteInfo = "libluacocos2d iOS"; }; - 15427CE4198F23B300DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B24EEA7F19775EF3004493CC; - remoteInfo = "libnetwork iOS"; - }; - 15427CE6198F23E600DC375D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B2DB498D197686CB00411E16; - remoteInfo = "libnetwork Mac"; - }; - 1571D9AA19A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 1516228319A0F45E006099B8; - remoteInfo = "libluacocos3d iOS"; - }; - 1571D9AC19A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 15162030199E7810006099B8; - remoteInfo = "libcocos3d iOS"; - }; - 1571D9B619A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1516200B199E7363006099B8; - remoteInfo = "libcocos3d Mac"; - }; - 1571D9B819A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 15162201199E7810006099B8; - remoteInfo = "libcocos3d iOS"; - }; - 1571D9BE19A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1516227C19A0F32D006099B8; - remoteInfo = "libluacocos3d Mac"; - }; - 1571D9C019A1F714005A1DC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 151622BB19A0F45E006099B8; - remoteInfo = "libluacocos3d iOS"; - }; 15A8A4161834BDA200142BE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -662,34 +238,6 @@ remoteGlobalIDString = 1551A33F158F2AB200E66CFE; remoteInfo = "cocos2dx Mac"; }; - 15A8A4181834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2FD617814595006731B9; - remoteInfo = "cocos2dx-extensions Mac"; - }; - 15A8A41A1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2CB81780BD04006731B9; - remoteInfo = "chipmunk Mac"; - }; - 15A8A41C1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2D9B1780BDF7006731B9; - remoteInfo = "box2d Mac"; - }; - 15A8A41E1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2ED617814268006731B9; - remoteInfo = "CocosDenshion Mac"; - }; 15A8A4241834BDA200142BE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -697,34 +245,6 @@ remoteGlobalIDString = A07A4D641783777C0073F6A7; remoteInfo = "cocos2dx iOS"; }; - 15A8A4261834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4EFC1783867C0073F6A7; - remoteInfo = "cocos2dx-extensions iOS"; - }; - 15A8A4281834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F3B178387670073F6A7; - remoteInfo = "chipmunk iOS"; - }; - 15A8A42A1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F9E1783876B0073F6A7; - remoteInfo = "box2d iOS"; - }; - 15A8A42C1834BDA200142BE0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4FB4178387730073F6A7; - remoteInfo = "CocosDenshion iOS"; - }; 15D1F3081994BBCA00302043 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -732,20 +252,6 @@ remoteGlobalIDString = A07A4C241783777C0073F6A7; remoteInfo = "libcocos2d iOS"; }; - 15D1F30A1994BBE500302043 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4F9F178387730073F6A7; - remoteInfo = "libcocosdenshion iOS"; - }; - C0A2F03C18975FEB0072A7AB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2E9817814268006731B9; - remoteInfo = "CocosDenshion Mac"; - }; C0A2F04018975FF80072A7AB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 15A8A4031834BDA200142BE0 /* cocos2d_libs.xcodeproj */; @@ -921,24 +427,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1571D9C419A1F74B005A1DC2 /* libcocos3d Mac.a in Frameworks */, - 1571D9C519A1F74B005A1DC2 /* libluacocos3d Mac.a in Frameworks */, - 152A3486199CE6B4004B68DC /* libcocosbuilder Mac.a in Frameworks */, - 152A3487199CE6B4004B68DC /* libcocostudio Mac.a in Frameworks */, - 152A3488199CE6B4004B68DC /* libextension Mac.a in Frameworks */, - 152A348C199CE6B4004B68DC /* libluaspine Mac.a in Frameworks */, - 152A348F199CE6B4004B68DC /* libui Mac.a in Frameworks */, - 15427CF0198F24C400DC375D /* libnetwork Mac.a in Frameworks */, - 15427CEF198F24BD00DC375D /* libcocosdenshion Mac.a in Frameworks */, 15427CEE198F24AF00DC375D /* libcocos2d Mac.a in Frameworks */, - 152A348E199CE6B4004B68DC /* libspine Mac.a in Frameworks */, - 152A3489199CE6B4004B68DC /* libluacocosbuilder Mac.a in Frameworks */, - 152A348B199CE6B4004B68DC /* libluaextension Mac.a in Frameworks */, - 152A348A199CE6B4004B68DC /* libluacocostudio Mac.a in Frameworks */, - 152A348D199CE6B4004B68DC /* libluaui Mac.a in Frameworks */, - 15AA7D47199B514300725633 /* libluanetwork Mac.a in Frameworks */, 15427CEC198F24A600DC375D /* libluacocos2d Mac.a in Frameworks */, - 15427CED198F24A600DC375D /* libluacocosdenshion Mac.a in Frameworks */, 15A8A4881834C90F00142BE0 /* libcurl.dylib in Frameworks */, 50D7C97017EBBEEC005D0B91 /* IOKit.framework in Frameworks */, 50D7C96E17EBBEE6005D0B91 /* AppKit.framework in Frameworks */, @@ -957,24 +447,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1571D9C219A1F733005A1DC2 /* libcocos3d iOS.a in Frameworks */, - 1571D9C319A1F733005A1DC2 /* libluacocos3d iOS.a in Frameworks */, - 152A3484199CE64A004B68DC /* libspine iOS.a in Frameworks */, - 152A3485199CE64A004B68DC /* libui iOS.a in Frameworks */, - 152A3483199CE63A004B68DC /* libextension iOS.a in Frameworks */, - 152A3482199CE62F004B68DC /* libcocostudio iOS.a in Frameworks */, - 152A3481199CE624004B68DC /* libcocosbuilder iOS.a in Frameworks */, - 152A347C199CE60E004B68DC /* libluacocosbuilder iOS.a in Frameworks */, - 152A347D199CE60E004B68DC /* libluacocostudio iOS.a in Frameworks */, - 152A347E199CE60E004B68DC /* libluaextension iOS.a in Frameworks */, - 152A347F199CE60E004B68DC /* libluaspine iOS.a in Frameworks */, - 152A3480199CE60E004B68DC /* libluaui iOS.a in Frameworks */, - 15AA7D36199B513100725633 /* libluanetwork iOS.a in Frameworks */, - 15427CE3198F23A100DC375D /* libnetwork iOS.a in Frameworks */, 15427CD5198F222200DC375D /* libluacocos2d iOS.a in Frameworks */, - 15427CD6198F222200DC375D /* libluacocosdenshion iOS.a in Frameworks */, 15427CD3198F221400DC375D /* libcocos2d iOS.a in Frameworks */, - 15427CD4198F221400DC375D /* libcocosdenshion iOS.a in Frameworks */, 3EEEDB61197107C0006A9FF8 /* MediaPlayer.framework in Frameworks */, D6B061351803AC000077942B /* CoreMotion.framework in Frameworks */, 1AF4C403178663F200122817 /* libz.dylib in Frameworks */, @@ -996,27 +470,7 @@ isa = PBXGroup; children = ( 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */, - 15A8A4191834BDA200142BE0 /* libextension Mac.a */, - 15427C90198F220600DC375D /* libui Mac.a */, - 15427C92198F220600DC375D /* libcocostudio Mac.a */, - 15427C94198F220600DC375D /* libcocosbuilder Mac.a */, - 15427C96198F220600DC375D /* libspine Mac.a */, - 15427C98198F220600DC375D /* libnetwork Mac.a */, - 15A8A41B1834BDA200142BE0 /* libchipmunk Mac.a */, - 15A8A41D1834BDA200142BE0 /* libbox2d Mac.a */, - 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */, - 1571D9B719A1F714005A1DC2 /* libcocos3d Mac.a */, 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */, - 15A8A4271834BDA200142BE0 /* libextension iOS.a */, - 15A8A4291834BDA200142BE0 /* libchipmunk iOS.a */, - 15A8A42B1834BDA200142BE0 /* libbox2d iOS.a */, - 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */, - 15427C9A198F220600DC375D /* libui iOS.a */, - 15427C9C198F220600DC375D /* libcocostudio iOS.a */, - 15427C9E198F220600DC375D /* libcocosbuilder iOS.a */, - 15427CA0198F220600DC375D /* libspine iOS.a */, - 15427CA2198F220600DC375D /* libnetwork iOS.a */, - 1571D9B919A1F714005A1DC2 /* libcocos3d iOS.a */, ); name = Products; sourceTree = ""; @@ -1226,23 +680,7 @@ C03781AF18BF654500FE4F13 /* Products */ = { isa = PBXGroup; children = ( - 15427CB4198F220600DC375D /* libluaextension Mac.a */, - 15427CB6198F220600DC375D /* libluaui Mac.a */, - 15427CB8198F220600DC375D /* libluacocostudio Mac.a */, - 15427CBA198F220600DC375D /* libluacocosbuilder Mac.a */, - 15427CBC198F220600DC375D /* libluaspine Mac.a */, - 15427CBE198F220600DC375D /* libluanetwork Mac.a */, - 15427CC0198F220600DC375D /* libluacocosdenshion Mac.a */, - 1571D9BF19A1F714005A1DC2 /* libluacocos3d Mac.a */, 15427CC2198F220600DC375D /* libluacocos2d Mac.a */, - 15427CC4198F220600DC375D /* libluaextension iOS.a */, - 15427CC6198F220600DC375D /* libluaui iOS.a */, - 15427CC8198F220600DC375D /* libluacocostudio iOS.a */, - 15427CCA198F220600DC375D /* libluacocosbuilder iOS.a */, - 15427CCC198F220600DC375D /* libluaspine iOS.a */, - 15427CCE198F220600DC375D /* libluanetwork iOS.a */, - 15427CD0198F220600DC375D /* libluacocosdenshion iOS.a */, - 1571D9C119A1F714005A1DC2 /* libluacocos3d iOS.a */, 15427CD2198F220600DC375D /* libluacocos2d iOS.a */, ); name = Products; @@ -1340,22 +778,8 @@ buildRules = ( ); dependencies = ( - 152A34BB199CE766004B68DC /* PBXTargetDependency */, - 152A34BD199CE766004B68DC /* PBXTargetDependency */, - 152A34BF199CE766004B68DC /* PBXTargetDependency */, - 152A34C1199CE766004B68DC /* PBXTargetDependency */, - 152A34C3199CE766004B68DC /* PBXTargetDependency */, - 152A34AB199CE758004B68DC /* PBXTargetDependency */, - 152A34AD199CE758004B68DC /* PBXTargetDependency */, - 152A34AF199CE758004B68DC /* PBXTargetDependency */, - 152A34B1199CE758004B68DC /* PBXTargetDependency */, - 152A34B3199CE758004B68DC /* PBXTargetDependency */, - 152A34B5199CE758004B68DC /* PBXTargetDependency */, - 152A34B7199CE758004B68DC /* PBXTargetDependency */, 152A34B9199CE758004B68DC /* PBXTargetDependency */, - 15427CE7198F23E600DC375D /* PBXTargetDependency */, C0A2F04118975FF80072A7AB /* PBXTargetDependency */, - C0A2F03D18975FEB0072A7AB /* PBXTargetDependency */, ); name = "HelloLua Mac"; productName = HelloLua; @@ -1374,24 +798,8 @@ buildRules = ( ); dependencies = ( - 1571D9AB19A1F714005A1DC2 /* PBXTargetDependency */, - 1571D9AD19A1F714005A1DC2 /* PBXTargetDependency */, - 152A349B199CE72E004B68DC /* PBXTargetDependency */, - 152A349D199CE72E004B68DC /* PBXTargetDependency */, 152A349F199CE72E004B68DC /* PBXTargetDependency */, - 152A3491199CE727004B68DC /* PBXTargetDependency */, - 152A3493199CE727004B68DC /* PBXTargetDependency */, - 152A3495199CE727004B68DC /* PBXTargetDependency */, - 152A3497199CE727004B68DC /* PBXTargetDependency */, - 152A3499199CE727004B68DC /* PBXTargetDependency */, - 152A34A1199CE741004B68DC /* PBXTargetDependency */, - 152A34A3199CE741004B68DC /* PBXTargetDependency */, - 152A34A5199CE741004B68DC /* PBXTargetDependency */, - 152A34A7199CE741004B68DC /* PBXTargetDependency */, - 152A34A9199CE741004B68DC /* PBXTargetDependency */, - 15D1F30B1994BBE500302043 /* PBXTargetDependency */, 15D1F3091994BBCA00302043 /* PBXTargetDependency */, - 15427CE5198F23B300DC375D /* PBXTargetDependency */, ); name = "HelloLua iOS"; productName = HelloLua; @@ -1440,125 +848,6 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 15427C90198F220600DC375D /* libui Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libui Mac.a"; - remoteRef = 15427C8F198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C92198F220600DC375D /* libcocostudio Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocostudio Mac.a"; - remoteRef = 15427C91198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C94198F220600DC375D /* libcocosbuilder Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosbuilder Mac.a"; - remoteRef = 15427C93198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C96198F220600DC375D /* libspine Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libspine Mac.a"; - remoteRef = 15427C95198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C98198F220600DC375D /* libnetwork Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libnetwork Mac.a"; - remoteRef = 15427C97198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C9A198F220600DC375D /* libui iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libui iOS.a"; - remoteRef = 15427C99198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C9C198F220600DC375D /* libcocostudio iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocostudio iOS.a"; - remoteRef = 15427C9B198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427C9E198F220600DC375D /* libcocosbuilder iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosbuilder iOS.a"; - remoteRef = 15427C9D198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CA0198F220600DC375D /* libspine iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libspine iOS.a"; - remoteRef = 15427C9F198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CA2198F220600DC375D /* libnetwork iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libnetwork iOS.a"; - remoteRef = 15427CA1198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CB4198F220600DC375D /* libluaextension Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaextension Mac.a"; - remoteRef = 15427CB3198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CB6198F220600DC375D /* libluaui Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaui Mac.a"; - remoteRef = 15427CB5198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CB8198F220600DC375D /* libluacocostudio Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocostudio Mac.a"; - remoteRef = 15427CB7198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CBA198F220600DC375D /* libluacocosbuilder Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosbuilder Mac.a"; - remoteRef = 15427CB9198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CBC198F220600DC375D /* libluaspine Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaspine Mac.a"; - remoteRef = 15427CBB198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CBE198F220600DC375D /* libluanetwork Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluanetwork Mac.a"; - remoteRef = 15427CBD198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CC0198F220600DC375D /* libluacocosdenshion Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosdenshion Mac.a"; - remoteRef = 15427CBF198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15427CC2198F220600DC375D /* libluacocos2d Mac.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1566,55 +855,6 @@ remoteRef = 15427CC1198F220600DC375D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15427CC4198F220600DC375D /* libluaextension iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaextension iOS.a"; - remoteRef = 15427CC3198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CC6198F220600DC375D /* libluaui iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaui iOS.a"; - remoteRef = 15427CC5198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CC8198F220600DC375D /* libluacocostudio iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocostudio iOS.a"; - remoteRef = 15427CC7198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CCA198F220600DC375D /* libluacocosbuilder iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosbuilder iOS.a"; - remoteRef = 15427CC9198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CCC198F220600DC375D /* libluaspine iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluaspine iOS.a"; - remoteRef = 15427CCB198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CCE198F220600DC375D /* libluanetwork iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluanetwork iOS.a"; - remoteRef = 15427CCD198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15427CD0198F220600DC375D /* libluacocosdenshion iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocosdenshion iOS.a"; - remoteRef = 15427CCF198F220600DC375D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15427CD2198F220600DC375D /* libluacocos2d iOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1622,34 +862,6 @@ remoteRef = 15427CD1198F220600DC375D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1571D9B719A1F714005A1DC2 /* libcocos3d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos3d Mac.a"; - remoteRef = 1571D9B619A1F714005A1DC2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1571D9B919A1F714005A1DC2 /* libcocos3d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos3d iOS.a"; - remoteRef = 1571D9B819A1F714005A1DC2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1571D9BF19A1F714005A1DC2 /* libluacocos3d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocos3d Mac.a"; - remoteRef = 1571D9BE19A1F714005A1DC2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1571D9C119A1F714005A1DC2 /* libluacocos3d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluacocos3d iOS.a"; - remoteRef = 1571D9C019A1F714005A1DC2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15A8A4171834BDA200142BE0 /* libcocos2d Mac.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1657,34 +869,6 @@ remoteRef = 15A8A4161834BDA200142BE0 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15A8A4191834BDA200142BE0 /* libextension Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libextension Mac.a"; - remoteRef = 15A8A4181834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41B1834BDA200142BE0 /* libchipmunk Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk Mac.a"; - remoteRef = 15A8A41A1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41D1834BDA200142BE0 /* libbox2d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d Mac.a"; - remoteRef = 15A8A41C1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A41F1834BDA200142BE0 /* libcocosdenshion Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosdenshion Mac.a"; - remoteRef = 15A8A41E1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 15A8A4251834BDA200142BE0 /* libcocos2d iOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1692,34 +876,6 @@ remoteRef = 15A8A4241834BDA200142BE0 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 15A8A4271834BDA200142BE0 /* libextension iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libextension iOS.a"; - remoteRef = 15A8A4261834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A4291834BDA200142BE0 /* libchipmunk iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk iOS.a"; - remoteRef = 15A8A4281834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A42B1834BDA200142BE0 /* libbox2d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d iOS.a"; - remoteRef = 15A8A42A1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 15A8A42D1834BDA200142BE0 /* libcocosdenshion iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocosdenshion iOS.a"; - remoteRef = 15A8A42C1834BDA200142BE0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1953,171 +1109,21 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 152A3491199CE727004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaextension iOS"; - targetProxy = 152A3490199CE727004B68DC /* PBXContainerItemProxy */; - }; - 152A3493199CE727004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaui iOS"; - targetProxy = 152A3492199CE727004B68DC /* PBXContainerItemProxy */; - }; - 152A3495199CE727004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocostudio iOS"; - targetProxy = 152A3494199CE727004B68DC /* PBXContainerItemProxy */; - }; - 152A3497199CE727004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosbuilder iOS"; - targetProxy = 152A3496199CE727004B68DC /* PBXContainerItemProxy */; - }; - 152A3499199CE727004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaspine iOS"; - targetProxy = 152A3498199CE727004B68DC /* PBXContainerItemProxy */; - }; - 152A349B199CE72E004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluanetwork iOS"; - targetProxy = 152A349A199CE72E004B68DC /* PBXContainerItemProxy */; - }; - 152A349D199CE72E004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosdenshion iOS"; - targetProxy = 152A349C199CE72E004B68DC /* PBXContainerItemProxy */; - }; 152A349F199CE72E004B68DC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libluacocos2d iOS"; targetProxy = 152A349E199CE72E004B68DC /* PBXContainerItemProxy */; }; - 152A34A1199CE741004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libextension iOS"; - targetProxy = 152A34A0199CE741004B68DC /* PBXContainerItemProxy */; - }; - 152A34A3199CE741004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libui iOS"; - targetProxy = 152A34A2199CE741004B68DC /* PBXContainerItemProxy */; - }; - 152A34A5199CE741004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocostudio iOS"; - targetProxy = 152A34A4199CE741004B68DC /* PBXContainerItemProxy */; - }; - 152A34A7199CE741004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosbuilder iOS"; - targetProxy = 152A34A6199CE741004B68DC /* PBXContainerItemProxy */; - }; - 152A34A9199CE741004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libspine iOS"; - targetProxy = 152A34A8199CE741004B68DC /* PBXContainerItemProxy */; - }; - 152A34AB199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaextension Mac"; - targetProxy = 152A34AA199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34AD199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaui Mac"; - targetProxy = 152A34AC199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34AF199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocostudio Mac"; - targetProxy = 152A34AE199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34B1199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosbuilder Mac"; - targetProxy = 152A34B0199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34B3199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluaspine Mac"; - targetProxy = 152A34B2199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34B5199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluanetwork Mac"; - targetProxy = 152A34B4199CE758004B68DC /* PBXContainerItemProxy */; - }; - 152A34B7199CE758004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocosdenshion Mac"; - targetProxy = 152A34B6199CE758004B68DC /* PBXContainerItemProxy */; - }; 152A34B9199CE758004B68DC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libluacocos2d Mac"; targetProxy = 152A34B8199CE758004B68DC /* PBXContainerItemProxy */; }; - 152A34BB199CE766004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libextension Mac"; - targetProxy = 152A34BA199CE766004B68DC /* PBXContainerItemProxy */; - }; - 152A34BD199CE766004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libui Mac"; - targetProxy = 152A34BC199CE766004B68DC /* PBXContainerItemProxy */; - }; - 152A34BF199CE766004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocostudio Mac"; - targetProxy = 152A34BE199CE766004B68DC /* PBXContainerItemProxy */; - }; - 152A34C1199CE766004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosbuilder Mac"; - targetProxy = 152A34C0199CE766004B68DC /* PBXContainerItemProxy */; - }; - 152A34C3199CE766004B68DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libspine Mac"; - targetProxy = 152A34C2199CE766004B68DC /* PBXContainerItemProxy */; - }; - 15427CE5198F23B300DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libnetwork iOS"; - targetProxy = 15427CE4198F23B300DC375D /* PBXContainerItemProxy */; - }; - 15427CE7198F23E600DC375D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libnetwork Mac"; - targetProxy = 15427CE6198F23E600DC375D /* PBXContainerItemProxy */; - }; - 1571D9AB19A1F714005A1DC2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libluacocos3d iOS"; - targetProxy = 1571D9AA19A1F714005A1DC2 /* PBXContainerItemProxy */; - }; - 1571D9AD19A1F714005A1DC2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocos3d iOS"; - targetProxy = 1571D9AC19A1F714005A1DC2 /* PBXContainerItemProxy */; - }; 15D1F3091994BBCA00302043 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libcocos2d iOS"; targetProxy = 15D1F3081994BBCA00302043 /* PBXContainerItemProxy */; }; - 15D1F30B1994BBE500302043 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "libcocosdenshion iOS"; - targetProxy = 15D1F30A1994BBE500302043 /* PBXContainerItemProxy */; - }; - C0A2F03D18975FEB0072A7AB /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CocosDenshion Mac"; - targetProxy = C0A2F03C18975FEB0072A7AB /* PBXContainerItemProxy */; - }; C0A2F04118975FF80072A7AB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "cocos2dx Mac"; diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.sln b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.sln index 9951b3aa26..6dd45300a6 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.sln +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.sln @@ -4,50 +4,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloLua", "HelloLua.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" ProjectSection(ProjectDependencies) = postProject {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\cocos2d-x\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnetwork", "..\..\cocos2d-x\cocos\network\proj.win32\libNetwork.vcxproj", "{DF2638C0-8128-4847-867C-6EAFE3DEE7B5}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\cocos2d-x\cocos\2d\libcocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocosdenshion", "..\..\cocos2d-x\cocos\audio\proj.win32\libcocosdenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocos2d", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocos2d.vcxproj", "{9F2D6CE6-C893-4400-B50C-6DB70CC2562F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocosdenshion", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocosdenshion.vcxproj", "{46A7D57A-7F25-4F52-823B-FFAC4FF3A624}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluanetwork", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluanetwork.vcxproj", "{65E52F4B-703F-419E-AD67-926241A10042}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocosbuilder", "..\..\cocos2d-x\cocos\editor-support\cocosbuilder\proj.win32\libcocosbuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocostudio", "..\..\cocos2d-x\cocos\editor-support\cocostudio\proj.win32\libcocostudio.vcxproj", "{B57CF53F-2E49-4031-9822-047CC0E6BDE2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\..\cocos2d-x\cocos\editor-support\spine\proj.win32\libSpine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libui", "..\..\cocos2d-x\cocos\ui\proj.win32\libui.vcxproj", "{7E06E92C-537A-442B-9E4A-4761C84F8A1A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d", "..\..\cocos2d-x\external\Box2D\proj.win32\libbox2d.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libextension", "..\..\cocos2d-x\extensions\proj.win32\libextension.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocosbuilder", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocosbuilder.vcxproj", "{F8198014-F4F3-49F0-88AB-C1969A5829AF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocostudio", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocostudio.vcxproj", "{9640951E-C5D0-47B5-9C42-0BCADA261C50}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaextension", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaextension.vcxproj", "{7068296E-38A4-4BCA-85DB-3A09BD014847}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaspine", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaspine.vcxproj", "{31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluaui", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluaui.vcxproj", "{FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos3d", "..\..\cocos2d-x\cocos\3d\proj.win32\libcocos3d.vcxproj", "{E24950FA-5BC1-4AEE-A900-4F0259354BF0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libluacocos3d", "..\..\cocos2d-x\cocos\scripting\lua-bindings\proj.win32\libluacocos3d.vcxproj", "{06840490-14A4-43D6-88BC-AAFA44D043EB}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -58,86 +20,14 @@ Global {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.Build.0 = Debug|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.ActiveCfg = Release|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.ActiveCfg = Debug|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.Build.0 = Debug|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.ActiveCfg = Release|Win32 - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.Build.0 = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Debug|Win32.ActiveCfg = Debug|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Debug|Win32.Build.0 = Debug|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Release|Win32.ActiveCfg = Release|Win32 {9F2D6CE6-C893-4400-B50C-6DB70CC2562F}.Release|Win32.Build.0 = Release|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Debug|Win32.ActiveCfg = Debug|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Debug|Win32.Build.0 = Debug|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Release|Win32.ActiveCfg = Release|Win32 - {46A7D57A-7F25-4F52-823B-FFAC4FF3A624}.Release|Win32.Build.0 = Release|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Debug|Win32.ActiveCfg = Debug|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Debug|Win32.Build.0 = Debug|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Release|Win32.ActiveCfg = Release|Win32 - {65E52F4B-703F-419E-AD67-926241A10042}.Release|Win32.Build.0 = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.ActiveCfg = Debug|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.Build.0 = Debug|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.ActiveCfg = Release|Win32 - {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.Build.0 = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.ActiveCfg = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.Build.0 = Debug|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.ActiveCfg = Release|Win32 - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.Build.0 = Release|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.Build.0 = Debug|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.ActiveCfg = Release|Win32 - {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.Build.0 = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Debug|Win32.Build.0 = Debug|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Release|Win32.ActiveCfg = Release|Win32 - {F8198014-F4F3-49F0-88AB-C1969A5829AF}.Release|Win32.Build.0 = Release|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Debug|Win32.ActiveCfg = Debug|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Debug|Win32.Build.0 = Debug|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Release|Win32.ActiveCfg = Release|Win32 - {9640951E-C5D0-47B5-9C42-0BCADA261C50}.Release|Win32.Build.0 = Release|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Debug|Win32.ActiveCfg = Debug|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Debug|Win32.Build.0 = Debug|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Release|Win32.ActiveCfg = Release|Win32 - {7068296E-38A4-4BCA-85DB-3A09BD014847}.Release|Win32.Build.0 = Release|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Debug|Win32.ActiveCfg = Debug|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Debug|Win32.Build.0 = Debug|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Release|Win32.ActiveCfg = Release|Win32 - {31EF6AB1-0D9A-4BC6-99B8-2C482EA373C4}.Release|Win32.Build.0 = Release|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Debug|Win32.ActiveCfg = Debug|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Debug|Win32.Build.0 = Debug|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Release|Win32.ActiveCfg = Release|Win32 - {FE78EEBB-3DBB-4713-8CBF-63D742C5BD82}.Release|Win32.Build.0 = Release|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Debug|Win32.ActiveCfg = Debug|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Debug|Win32.Build.0 = Debug|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Release|Win32.ActiveCfg = Release|Win32 - {E24950FA-5BC1-4AEE-A900-4F0259354BF0}.Release|Win32.Build.0 = Release|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Debug|Win32.ActiveCfg = Debug|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Debug|Win32.Build.0 = Debug|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Release|Win32.ActiveCfg = Release|Win32 - {06840490-14A4-43D6-88BC-AAFA44D043EB}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj index 86b88da24f..8d8a33029c 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj @@ -263,27 +263,6 @@ xcopy "$(ProjectDir)..\..\cocos2d-x\cocos\scripting\lua-bindings\script\cocostud {9f2d6ce6-c893-4400-b50c-6db70cc2562f} - - {f8198014-f4f3-49f0-88ab-c1969a5829af} - - - {46a7d57a-7f25-4f52-823b-ffac4ff3a624} - - - {9640951e-c5d0-47b5-9c42-0bcada261c50} - - - {7068296e-38a4-4bca-85db-3a09bd014847} - - - {65e52f4b-703f-419e-ad67-926241a10042} - - - {31ef6ab1-0d9a-4bc6-99b8-2c482ea373c4} - - - {fe78eebb-3dbb-4713-8cbf-63d742c5bd82} - diff --git a/tests/cpp-empty-test/proj.win32/cpp-empty-test.vcxproj b/tests/cpp-empty-test/proj.win32/cpp-empty-test.vcxproj index 1f791caf44..38b48664c1 100644 --- a/tests/cpp-empty-test/proj.win32/cpp-empty-test.vcxproj +++ b/tests/cpp-empty-test/proj.win32/cpp-empty-test.vcxproj @@ -140,9 +140,6 @@ {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - diff --git a/tests/cpp-tests/proj.win32/cpp-tests.vcxproj b/tests/cpp-tests/proj.win32/cpp-tests.vcxproj index 87f4e3971f..6cce146e18 100644 --- a/tests/cpp-tests/proj.win32/cpp-tests.vcxproj +++ b/tests/cpp-tests/proj.win32/cpp-tests.vcxproj @@ -567,18 +567,6 @@ {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - {811c0dab-7b96-4bd3-a154-b7572b58e4ab} - - - {b7c2a162-dec9-4418-972e-240ab3cbfcae} - - - {929480e7-23c0-4df6-8456-096d71547116} - - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - diff --git a/tests/game-controller-test/proj.android/jni/Android.mk b/tests/game-controller-test/proj.android/jni/Android.mk index fbb8613e91..dadc927957 100644 --- a/tests/game-controller-test/proj.android/jni/Android.mk +++ b/tests/game-controller-test/proj.android/jni/Android.mk @@ -13,9 +13,8 @@ LOCAL_SRC_FILES := main.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \ $(LOCAL_PATH)/../../../../external -LOCAL_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static +LOCAL_STATIC_LIBRARIES := cocos2dx_static include $(BUILD_SHARED_LIBRARY) $(call import-module,.) -$(call import-module,audio/android) diff --git a/tools/tolua/cocos2dx.ini b/tools/tolua/cocos2dx.ini index 70a3fe7618..2d59d96980 100644 --- a/tools/tolua/cocos2dx.ini +++ b/tools/tolua/cocos2dx.ini @@ -126,7 +126,17 @@ skip = Node::[setGLServerState description getUserObject .*UserData getGLServerS TurnOffTiles::[shuffle], LabelTTF::[*], LabelBMFont::[*], - Scene::[getCameras] + Scene::[getCameras], + Animate3D::[*], + Sprite3D::[*], + AttachNode::[*], + Animation3D::[*], + Skeleton3D::[*], + Mesh::[*], + Animation3DCache::[*], + Sprite3DMaterialCache::[*], + Sprite3DCache::[*], + Bone3D::[*] rename_functions = SpriteFrameCache::[addSpriteFramesWithFile=addSpriteFrames getSpriteFrameByName=getSpriteFrame], ProgressTimer::[setReverseProgress=setReverseDirection], From a5a706aa05508cde8d42c33467ed3c454e3ba6c7 Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 10:20:15 +0800 Subject: [PATCH 12/32] Remove the useless win32 project --- cocos/3d/proj.win32/libcocos3d.vcxproj | 146 --------------- .../3d/proj.win32/libcocos3d.vcxproj.filters | 114 ------------ cocos/3d/proj.win32/libcocos3d.vcxproj.user | 4 - .../audio/proj.win32/libcocosdenshion.vcxproj | 132 -------------- .../libcocosdenshion.vcxproj.filters | 9 - .../proj.win32/libcocosdenshion.vcxproj.user | 3 - .../libCocosBuilder.vcxproj.filters | 162 ----------------- .../proj.win32/libCocosBuilder.vcxproj.user | 4 - .../proj.win32/libcocosbuilder.vcxproj | 156 ---------------- .../proj.win32/libcocostudio.vcxproj | 111 ------------ .../proj.win32/libcocostudio.vcxproj.filters | 2 - .../proj.win32/libcocostudio.vcxproj.user | 4 - .../spine/proj.win32/libSpine.vcxproj | 153 ---------------- .../spine/proj.win32/libSpine.vcxproj.filters | 168 ------------------ .../spine/proj.win32/libSpine.vcxproj.user | 4 - cocos/network/proj.win32/libnetwork.vcxproj | 130 -------------- .../proj.win32/libnetwork.vcxproj.filters | 9 - .../proj.win32/libnetwork.vcxproj.user | 3 - cocos/ui/proj.win32/libui.vcxproj | 108 ----------- cocos/ui/proj.win32/libui.vcxproj.filters | 2 - cocos/ui/proj.win32/libui.vcxproj.user | 4 - extensions/proj.win32/libextension.vcxproj | 125 ------------- .../proj.win32/libextension.vcxproj.filters | 2 - .../proj.win32/libextension.vcxproj.user | 3 - 24 files changed, 1558 deletions(-) delete mode 100644 cocos/3d/proj.win32/libcocos3d.vcxproj delete mode 100644 cocos/3d/proj.win32/libcocos3d.vcxproj.filters delete mode 100644 cocos/3d/proj.win32/libcocos3d.vcxproj.user delete mode 100644 cocos/audio/proj.win32/libcocosdenshion.vcxproj delete mode 100644 cocos/audio/proj.win32/libcocosdenshion.vcxproj.filters delete mode 100644 cocos/audio/proj.win32/libcocosdenshion.vcxproj.user delete mode 100644 cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters delete mode 100644 cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user delete mode 100644 cocos/editor-support/cocosbuilder/proj.win32/libcocosbuilder.vcxproj delete mode 100644 cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj delete mode 100644 cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.filters delete mode 100644 cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.user delete mode 100644 cocos/editor-support/spine/proj.win32/libSpine.vcxproj delete mode 100644 cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters delete mode 100644 cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user delete mode 100644 cocos/network/proj.win32/libnetwork.vcxproj delete mode 100644 cocos/network/proj.win32/libnetwork.vcxproj.filters delete mode 100644 cocos/network/proj.win32/libnetwork.vcxproj.user delete mode 100644 cocos/ui/proj.win32/libui.vcxproj delete mode 100644 cocos/ui/proj.win32/libui.vcxproj.filters delete mode 100644 cocos/ui/proj.win32/libui.vcxproj.user delete mode 100644 extensions/proj.win32/libextension.vcxproj delete mode 100644 extensions/proj.win32/libextension.vcxproj.filters delete mode 100644 extensions/proj.win32/libextension.vcxproj.user diff --git a/cocos/3d/proj.win32/libcocos3d.vcxproj b/cocos/3d/proj.win32/libcocos3d.vcxproj deleted file mode 100644 index b4597e95f9..0000000000 --- a/cocos/3d/proj.win32/libcocos3d.vcxproj +++ /dev/null @@ -1,146 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {E24950FA-5BC1-4AEE-A900-4F0259354BF0} - libcocos3d - libcocos3d - - - - DynamicLibrary - true - v100 - v110 - v110_xp - v120 - v120_xp - Unicode - - - DynamicLibrary - false - v100 - v110 - v110_xp - v120 - v120_xp - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - - Level3 - Disabled - - - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)external;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE3DDLL;%(PreprocessorDefinitions) - true - 4267;4251;4244;%(DisableSpecificWarnings) - false - OldStyle - - - true - $(OutDir);%(AdditionalLibraryDirectories) - opengl32.lib;glew32.lib;%(AdditionalDependencies) - - - - - Level3 - MinSpace - true - true - - - WIN32;_WINDOWS;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE3DDLL;%(PreprocessorDefinitions) - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)external;%(AdditionalIncludeDirectories) - None - false - - - true - true - true - $(OutDir);%(AdditionalLibraryDirectories) - opengl32.lib;glew32.lib;%(AdditionalDependencies) - - - - - - \ No newline at end of file diff --git a/cocos/3d/proj.win32/libcocos3d.vcxproj.filters b/cocos/3d/proj.win32/libcocos3d.vcxproj.filters deleted file mode 100644 index efcac73276..0000000000 --- a/cocos/3d/proj.win32/libcocos3d.vcxproj.filters +++ /dev/null @@ -1,114 +0,0 @@ - - - - - {6107c94d-579b-488f-86b7-c191d4c3b9aa} - - - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - 3d - - - \ No newline at end of file diff --git a/cocos/3d/proj.win32/libcocos3d.vcxproj.user b/cocos/3d/proj.win32/libcocos3d.vcxproj.user deleted file mode 100644 index a375ae3527..0000000000 --- a/cocos/3d/proj.win32/libcocos3d.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/cocos/audio/proj.win32/libcocosdenshion.vcxproj b/cocos/audio/proj.win32/libcocosdenshion.vcxproj deleted file mode 100644 index d1d4ca0d67..0000000000 --- a/cocos/audio/proj.win32/libcocosdenshion.vcxproj +++ /dev/null @@ -1,132 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - libcocosdenshion - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - CocosDenshion.win32 - Win32Proj - - - - DynamicLibrary - NotSet - v100 - v110 - v110_xp - v120 - v120_xp - - - DynamicLibrary - NotSet - v100 - v110 - v110_xp - v120 - v120_xp - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - AllRules.ruleset - - - AllRules.ruleset - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - - Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_EXPORT_DLL_;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - EditAndContinue - 4251 - true - - - winmm.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).dll - true - Windows - $(OutDir)$(TargetName).lib - MachineX86 - $(OutDir) - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_EXPORT_DLL_;%(PreprocessorDefinitions) - MultiThreadedDLL - - - Level3 - None - 4251 - true - MinSpace - false - - - winmm.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).dll - true - Windows - true - true - $(OutDir)$(TargetName).lib - MachineX86 - $(OutDir) - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - - - - \ No newline at end of file diff --git a/cocos/audio/proj.win32/libcocosdenshion.vcxproj.filters b/cocos/audio/proj.win32/libcocosdenshion.vcxproj.filters deleted file mode 100644 index 78452f51a2..0000000000 --- a/cocos/audio/proj.win32/libcocosdenshion.vcxproj.filters +++ /dev/null @@ -1,9 +0,0 @@ - - - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx - - - \ No newline at end of file diff --git a/cocos/audio/proj.win32/libcocosdenshion.vcxproj.user b/cocos/audio/proj.win32/libcocosdenshion.vcxproj.user deleted file mode 100644 index ace9a86acb..0000000000 --- a/cocos/audio/proj.win32/libcocosdenshion.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters deleted file mode 100644 index 0fca5f92b7..0000000000 --- a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters +++ /dev/null @@ -1,162 +0,0 @@ - - - - - {e4e3b3ff-6d85-4408-bbdf-38f296363698} - - - {e79db1b4-c859-48c0-ab1e-a31200c09923} - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user deleted file mode 100644 index a375ae3527..0000000000 --- a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libcocosbuilder.vcxproj b/cocos/editor-support/cocosbuilder/proj.win32/libcocosbuilder.vcxproj deleted file mode 100644 index 0ae7b405e5..0000000000 --- a/cocos/editor-support/cocosbuilder/proj.win32/libcocosbuilder.vcxproj +++ /dev/null @@ -1,156 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {811C0DAB-7B96-4BD3-A154-B7572B58E4AB} - libcocosbuilder - - - - StaticLibrary - true - v100 - v110 - v110_xp - v120 - v120_xp - Unicode - - - StaticLibrary - false - v100 - v110 - v110_xp - v120 - v120_xp - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - - Level3 - Disabled - - - $(EngineRoot);$(EngineRoot)extensions;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - 4267;4251;4244;%(DisableSpecificWarnings) - false - OldStyle - - - true - - - - - Level3 - MinSpace - true - true - - - $(EngineRoot);$(EngineRoot)extensions;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - None - false - - - true - true - true - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj b/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj deleted file mode 100644 index 9f84d48a42..0000000000 --- a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj +++ /dev/null @@ -1,111 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - {7e06e92c-537a-442b-9e4a-4761c84f8a1a} - - - - {B57CF53F-2E49-4031-9822-047CC0E6BDE2} - libcocostudio - libcocostudio - - - - DynamicLibrary - true - v100 - v110 - v110_xp - v120 - v120_xp - Unicode - - - DynamicLibrary - false - v100 - v110 - v110_xp - v120 - v120_xp - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - - Level3 - Disabled - - - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)external\win32-specific\zlib\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRSTUDIODLL;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;COCOS2DXWIN32_EXPORTS;%(PreprocessorDefinitions) - true - 4267;4251;4244;%(DisableSpecificWarnings) - false - OldStyle - - - true - $(OutDir);%(AdditionalLibraryDirectories) - libzlib.lib;%(AdditionalDependencies) - - - - - Level3 - MinSpace - true - true - - - WIN32;_WINDOWS;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USRSTUDIODLL;%(PreprocessorDefinitions) - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)external\win32-specific\zlib\include;%(AdditionalIncludeDirectories) - None - false - - - true - true - true - libzlib.lib;%(AdditionalDependencies) - $(OutDir);%(AdditionalLibraryDirectories) - - - - - - \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.filters b/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.filters deleted file mode 100644 index 9cd8510566..0000000000 --- a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.filters +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.user b/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.user deleted file mode 100644 index a375ae3527..0000000000 --- a/cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj deleted file mode 100644 index ebf46c54c4..0000000000 --- a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {B7C2A162-DEC9-4418-972E-240AB3CBFCAE} - libspine - - - - StaticLibrary - true - v100 - v110 - v110_xp - v120 - v120_xp - Unicode - - - StaticLibrary - false - v100 - v110 - v110_xp - v120 - v120_xp - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - - Level3 - Disabled - - - $(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - 4267;4251;4244;%(DisableSpecificWarnings) - false - MultiThreadedDebugDLL - - - true - - - - - Level3 - MinSpace - true - true - - - WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) - None - false - - - true - true - true - - - - - - \ No newline at end of file diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters deleted file mode 100644 index c1ca27587c..0000000000 --- a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters +++ /dev/null @@ -1,168 +0,0 @@ - - - - - {3e21d10b-4a29-49c0-b21a-fa573a4e65c1} - - - {ca7b23a8-6f11-4059-b242-ba5102033974} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user deleted file mode 100644 index a375ae3527..0000000000 --- a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/cocos/network/proj.win32/libnetwork.vcxproj b/cocos/network/proj.win32/libnetwork.vcxproj deleted file mode 100644 index 415969b650..0000000000 --- a/cocos/network/proj.win32/libnetwork.vcxproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - - libnetwork - {DF2638C0-8128-4847-867C-6EAFE3DEE7B5} - libnetwork.win32 - Win32Proj - - - - StaticLibrary - Unicode - v100 - v110 - v110_xp - v120 - v120_xp - - - StaticLibrary - NotSet - v100 - v110 - v110_xp - v120 - v120_xp - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - AllRules.ruleset - - - AllRules.ruleset - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - - Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;$(EngineRoot)cocos;$(EngineRoot)external\websockets\include\win32;$(EngineRoot)external\curl\include\win32;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;COCOS2D_DEBUG=1;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - EditAndContinue - 4251 - true - - - winmm.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).dll - true - Windows - $(TargetDir)$(TargetName).lib - MachineX86 - $(OutDir) - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;$(EngineRoot)cocos;$(EngineRoot)external\websockets\include\win32;$(EngineRoot)external\curl\include\win32;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - MultiThreadedDLL - - - Level3 - None - 4251 - true - MinSpace - false - - - winmm.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).dll - true - Windows - true - true - $(TargetDir)$(TargetName).lib - MachineX86 - $(OutDir) - - - - - - \ No newline at end of file diff --git a/cocos/network/proj.win32/libnetwork.vcxproj.filters b/cocos/network/proj.win32/libnetwork.vcxproj.filters deleted file mode 100644 index 78452f51a2..0000000000 --- a/cocos/network/proj.win32/libnetwork.vcxproj.filters +++ /dev/null @@ -1,9 +0,0 @@ - - - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx - - - \ No newline at end of file diff --git a/cocos/network/proj.win32/libnetwork.vcxproj.user b/cocos/network/proj.win32/libnetwork.vcxproj.user deleted file mode 100644 index ace9a86acb..0000000000 --- a/cocos/network/proj.win32/libnetwork.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/cocos/ui/proj.win32/libui.vcxproj b/cocos/ui/proj.win32/libui.vcxproj deleted file mode 100644 index 7392faf9a0..0000000000 --- a/cocos/ui/proj.win32/libui.vcxproj +++ /dev/null @@ -1,108 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - - {7E06E92C-537A-442B-9E4A-4761C84F8A1A} - libui - libui - - - - DynamicLibrary - true - v100 - v110 - v110_xp - v120 - v120_xp - Unicode - - - DynamicLibrary - false - v100 - v110 - v110_xp - v120 - v120_xp - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - - - - Level3 - Disabled - - - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USEGUIDLL;%(PreprocessorDefinitions) - true - 4267;4251;4244;%(DisableSpecificWarnings) - false - OldStyle - - - true - $(OutDir);%(AdditionalLibraryDirectories) - opengl32.lib;glew32.lib;%(AdditionalDependencies) - - - - - Level3 - MinSpace - true - true - - - WIN32;_WINDOWS;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USEGUIDLL;%(PreprocessorDefinitions) - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) - None - false - - - true - true - true - $(OutDir);%(AdditionalLibraryDirectories) - opengl32.lib;glew32.lib;%(AdditionalDependencies) - - - - - - \ No newline at end of file diff --git a/cocos/ui/proj.win32/libui.vcxproj.filters b/cocos/ui/proj.win32/libui.vcxproj.filters deleted file mode 100644 index 9cd8510566..0000000000 --- a/cocos/ui/proj.win32/libui.vcxproj.filters +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/cocos/ui/proj.win32/libui.vcxproj.user b/cocos/ui/proj.win32/libui.vcxproj.user deleted file mode 100644 index a375ae3527..0000000000 --- a/cocos/ui/proj.win32/libui.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/extensions/proj.win32/libextension.vcxproj b/extensions/proj.win32/libextension.vcxproj deleted file mode 100644 index 7ae80cb1fc..0000000000 --- a/extensions/proj.win32/libextension.vcxproj +++ /dev/null @@ -1,125 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - libextension.win32 - Win32Proj - libextension - - - - DynamicLibrary - Unicode - v100 - v110 - v110_xp - v120 - v120_xp - - - DynamicLibrary - Unicode - v100 - v110 - v110_xp - v120 - v120_xp - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - AllRules.ruleset - - - AllRules.ruleset - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - - Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\unzip;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\win32-specific\zlib\include;..\;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_DEBUG;COCOS2D_DEBUG=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USREXDLL;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - OldStyle - 4267;4251;4244;%(DisableSpecificWarnings) - true - - - libcocos2d.lib - $(OutDir);%(AdditionalLibraryDirectories) - - - $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;opengl32.lib;glew32.lib;libcurl_imp.lib;libchipmunk.lib;libBox2D.lib;glfw3.lib;%(AdditionalDependencies) - - - - - MinSpace - true - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\unzip;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\win32-specific\zlib\include;..\;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USREXDLL;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - None - 4267;4251;4244;%(DisableSpecificWarnings) - true - false - - - $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;opengl32.lib;glew32.lib;libcurl_imp.lib;libchipmunk.lib;libBox2D.lib;glfw3.lib;%(AdditionalDependencies) - - - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - - - {929480e7-23c0-4df6-8456-096d71547116} - - - - - - \ No newline at end of file diff --git a/extensions/proj.win32/libextension.vcxproj.filters b/extensions/proj.win32/libextension.vcxproj.filters deleted file mode 100644 index 9cd8510566..0000000000 --- a/extensions/proj.win32/libextension.vcxproj.filters +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/extensions/proj.win32/libextension.vcxproj.user b/extensions/proj.win32/libextension.vcxproj.user deleted file mode 100644 index ace9a86acb..0000000000 --- a/extensions/proj.win32/libextension.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file From 3759648d3a81cc9ab5bd6ad0962f7dbd33b9898b Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 10:21:47 +0800 Subject: [PATCH 13/32] Remove the useless aneroid.mk files --- cocos/3d/Android.mk | 32 -------- cocos/audio/android/Android.mk | 18 ----- cocos/editor-support/cocosbuilder/Android.mk | 43 ----------- cocos/editor-support/cocostudio/Android.mk | 81 -------------------- cocos/editor-support/spine/Android.mk | 43 ----------- cocos/network/Android.mk | 27 ------- cocos/ui/Android.mk | 51 ------------ extensions/Android.mk | 48 ------------ external/Box2D/Android.mk | 61 --------------- external/chipmunk/Android.mk | 45 ----------- 10 files changed, 449 deletions(-) delete mode 100644 cocos/3d/Android.mk delete mode 100644 cocos/audio/android/Android.mk delete mode 100644 cocos/editor-support/cocosbuilder/Android.mk delete mode 100644 cocos/editor-support/cocostudio/Android.mk delete mode 100644 cocos/editor-support/spine/Android.mk delete mode 100644 cocos/network/Android.mk delete mode 100644 cocos/ui/Android.mk delete mode 100644 extensions/Android.mk delete mode 100644 external/Box2D/Android.mk delete mode 100644 external/chipmunk/Android.mk diff --git a/cocos/3d/Android.mk b/cocos/3d/Android.mk deleted file mode 100644 index ff4ffa8101..0000000000 --- a/cocos/3d/Android.mk +++ /dev/null @@ -1,32 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocos3d_static - -LOCAL_MODULE_FILENAME := libcocos3d - -LOCAL_SRC_FILES := \ -CCRay.cpp \ -CCAABB.cpp \ -CCOBB.cpp \ -CCAnimate3D.cpp \ -CCAnimation3D.cpp \ -CCAttachNode.cpp \ -CCBundle3D.cpp \ -CCBundleReader.cpp \ -CCMesh.cpp \ -CCMeshSkin.cpp \ -CCMeshVertexIndexData.cpp \ -CCSprite3DMaterial.cpp \ -CCObjLoader.cpp \ -CCSkeleton3D.cpp \ -CCSprite3D.cpp \ - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ - $(LOCAL_PATH)/../../external \ - -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static - -include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/audio/android/Android.mk b/cocos/audio/android/Android.mk deleted file mode 100644 index 3854fa79d7..0000000000 --- a/cocos/audio/android/Android.mk +++ /dev/null @@ -1,18 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocosdenshion_static - -LOCAL_MODULE_FILENAME := libcocosdenshion - -LOCAL_SRC_FILES := cddSimpleAudioEngine.cpp \ - ccdandroidUtils.cpp \ - jni/cddandroidAndroidJavaEngine.cpp - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../include - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include \ - $(LOCAL_PATH)/../.. \ - $(LOCAL_PATH)/../../platform/android - -include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk deleted file mode 100644 index 5bde8a025b..0000000000 --- a/cocos/editor-support/cocosbuilder/Android.mk +++ /dev/null @@ -1,43 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocosbuilder_static - -LOCAL_MODULE_FILENAME := libcocosbuilder - -LOCAL_SRC_FILES := CCBAnimationManager.cpp \ -CCBFileLoader.cpp \ -CCBKeyframe.cpp \ -CCBReader.cpp \ -CCBSequence.cpp \ -CCBSequenceProperty.cpp \ -CCControlButtonLoader.cpp \ -CCControlLoader.cpp \ -CCLabelBMFontLoader.cpp \ -CCLabelTTFLoader.cpp \ -CCLayerColorLoader.cpp \ -CCLayerGradientLoader.cpp \ -CCLayerLoader.cpp \ -CCMenuItemImageLoader.cpp \ -CCMenuItemLoader.cpp \ -CCNode+CCBRelativePositioning.cpp \ -CCNodeLoader.cpp \ -CCNodeLoaderLibrary.cpp \ -CCParticleSystemQuadLoader.cpp \ -CCScale9SpriteLoader.cpp \ -CCScrollViewLoader.cpp \ -CCSpriteLoader.cpp - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../../.. - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../2d \ -$(LOCAL_PATH) \ -$(LOCAL_PATH)/../../.. - - -LOCAL_STATIC_LIBRARIES := cocos_extension_static - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,extensions) diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk deleted file mode 100644 index c6356d29c4..0000000000 --- a/cocos/editor-support/cocostudio/Android.mk +++ /dev/null @@ -1,81 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocostudio_static - -LOCAL_MODULE_FILENAME := libcocostudio - -LOCAL_SRC_FILES := CCActionFrame.cpp \ -CCActionFrameEasing.cpp \ -CCActionManagerEx.cpp \ -CCActionNode.cpp \ -CCActionObject.cpp \ -CCArmature.cpp \ -CCBone.cpp \ -CCArmatureAnimation.cpp \ -CCProcessBase.cpp \ -CCTween.cpp \ -CCDatas.cpp \ -CCBatchNode.cpp \ -CCDecorativeDisplay.cpp \ -CCDisplayFactory.cpp \ -CCDisplayManager.cpp \ -CCSkin.cpp \ -CCColliderDetector.cpp \ -CCArmatureDataManager.cpp \ -CCArmatureDefine.cpp \ -CCDataReaderHelper.cpp \ -CCSpriteFrameCacheHelper.cpp \ -CCTransformHelp.cpp \ -CCUtilMath.cpp \ -CCComAttribute.cpp \ -CCComAudio.cpp \ -CCComController.cpp \ -CCComRender.cpp \ -CCInputDelegate.cpp \ -DictionaryHelper.cpp \ -CCSGUIReader.cpp \ -CCSSceneReader.cpp \ -TriggerBase.cpp \ -TriggerMng.cpp \ -TriggerObj.cpp \ -CocoLoader.cpp \ -WidgetReader/WidgetReader.cpp \ -WidgetReader/ButtonReader/ButtonReader.cpp \ -WidgetReader/CheckBoxReader/CheckBoxReader.cpp \ -WidgetReader/ImageViewReader/ImageViewReader.cpp \ -WidgetReader/LayoutReader/LayoutReader.cpp \ -WidgetReader/ListViewReader/ListViewReader.cpp \ -WidgetReader/LoadingBarReader/LoadingBarReader.cpp \ -WidgetReader/PageViewReader/PageViewReader.cpp \ -WidgetReader/ScrollViewReader/ScrollViewReader.cpp \ -WidgetReader/SliderReader/SliderReader.cpp \ -WidgetReader/TextAtlasReader/TextAtlasReader.cpp \ -WidgetReader/TextBMFontReader/TextBMFontReader.cpp \ -WidgetReader/TextFieldReader/TextFieldReader.cpp \ -WidgetReader/TextReader/TextReader.cpp \ -ActionTimeline/CCNodeReader.cpp \ -ActionTimeline/CCActionTimelineCache.cpp \ -ActionTimeline/CCFrame.cpp \ -ActionTimeline/CCTimeLine.cpp \ -ActionTimeline/CCActionTimeline.cpp - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../../../external - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/../../../external \ -$(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/WidgetReader - -LOCAL_CFLAGS += -fexceptions - - -LOCAL_STATIC_LIBRARIES := cocos_ui_static -LOCAL_STATIC_LIBRARIES += cocosdenshion_static - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,ui) -$(call import-module,audio/android) diff --git a/cocos/editor-support/spine/Android.mk b/cocos/editor-support/spine/Android.mk deleted file mode 100644 index b7f3446e1b..0000000000 --- a/cocos/editor-support/spine/Android.mk +++ /dev/null @@ -1,43 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := spine_static - -LOCAL_MODULE_FILENAME := libspine - -LOCAL_SRC_FILES := Animation.cpp \ -AnimationState.cpp \ -AnimationStateData.cpp \ -Atlas.cpp \ -AtlasAttachmentLoader.cpp \ -Attachment.cpp \ -AttachmentLoader.cpp \ -Bone.cpp \ -BoneData.cpp \ -CCSkeleton.cpp \ -CCSkeletonAnimation.cpp \ -Json.cpp \ -RegionAttachment.cpp \ -Skeleton.cpp \ -SkeletonData.cpp \ -SkeletonJson.cpp \ -Skin.cpp \ -Slot.cpp \ -SlotData.cpp \ -BoundingBoxAttachment.cpp \ -Event.cpp \ -EventData.cpp \ -SkeletonBounds.cpp \ -extension.cpp \ -spine-cocos2dx.cpp - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/.. - -LOCAL_STATIC_LIBRARIES := cocos2dx_static - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,.) diff --git a/cocos/network/Android.mk b/cocos/network/Android.mk deleted file mode 100644 index b47964af29..0000000000 --- a/cocos/network/Android.mk +++ /dev/null @@ -1,27 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocos_network_static - -LOCAL_MODULE_FILENAME := libnetwork - -LOCAL_SRC_FILES := HttpClient.cpp \ -SocketIO.cpp \ -WebSocket.cpp - - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/.. - - -LOCAL_STATIC_LIBRARIES := cocos2dx_static -LOCAL_STATIC_LIBRARIES += cocos_curl_static -LOCAL_STATIC_LIBRARIES += libwebsockets_static - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,.) -$(call import-module,curl/prebuilt/android) -$(call import-module,websockets/prebuilt/android) diff --git a/cocos/ui/Android.mk b/cocos/ui/Android.mk deleted file mode 100644 index ab417448f1..0000000000 --- a/cocos/ui/Android.mk +++ /dev/null @@ -1,51 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocos_ui_static - -LOCAL_MODULE_FILENAME := libui - -LOCAL_SRC_FILES := \ -UIWidget.cpp \ -UILayout.cpp \ -UILayoutParameter.cpp \ -UILayoutManager.cpp \ -CocosGUI.cpp \ -UIHelper.cpp \ -UIListView.cpp \ -UIPageView.cpp \ -UIScrollView.cpp \ -UIButton.cpp \ -UICheckBox.cpp \ -UIImageView.cpp \ -UIText.cpp \ -UITextAtlas.cpp \ -UITextBMFont.cpp \ -UILoadingBar.cpp \ -UISlider.cpp \ -UITextField.cpp \ -UIRichText.cpp \ -UIHBox.cpp \ -UIVBox.cpp \ -UIRelativeBox.cpp \ -UIVideoPlayerAndroid.cpp \ -UIDeprecated.cpp \ -UIScale9Sprite.cpp \ - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../editor-support - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../../external \ -$(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/../editor-support - - -LOCAL_STATIC_LIBRARIES := cocos2dx_static -LOCAL_STATIC_LIBRARIES += cocos_extension_static - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,extensions) -$(call import-module,.) diff --git a/extensions/Android.mk b/extensions/Android.mk deleted file mode 100644 index 66206c6331..0000000000 --- a/extensions/Android.mk +++ /dev/null @@ -1,48 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := cocos_extension_static - -LOCAL_MODULE_FILENAME := libextension - -LOCAL_SRC_FILES := \ -assets-manager/AssetsManager.cpp \ -GUI/CCControlExtension/CCControl.cpp \ -GUI/CCControlExtension/CCControlButton.cpp \ -GUI/CCControlExtension/CCControlColourPicker.cpp \ -GUI/CCControlExtension/CCControlHuePicker.cpp \ -GUI/CCControlExtension/CCControlPotentiometer.cpp \ -GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ -GUI/CCControlExtension/CCControlSlider.cpp \ -GUI/CCControlExtension/CCControlStepper.cpp \ -GUI/CCControlExtension/CCControlSwitch.cpp \ -GUI/CCControlExtension/CCControlUtils.cpp \ -GUI/CCControlExtension/CCInvocation.cpp \ -GUI/CCControlExtension/CCScale9Sprite.cpp \ -GUI/CCEditBox/CCEditBox.cpp \ -GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ -GUI/CCEditBox/CCEditBoxImplNone.cpp \ -GUI/CCEditBox/CCEditBoxImplWin.cpp \ -GUI/CCScrollView/CCScrollView.cpp \ -GUI/CCScrollView/CCTableView.cpp \ -GUI/CCScrollView/CCTableViewCell.cpp \ -physics-nodes/CCPhysicsDebugNode.cpp \ -physics-nodes/CCPhysicsSprite.cpp - -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static -LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static - -LOCAL_CXXFLAGS += -fexceptions - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ - $(LOCAL_PATH)/GUI/CCControlExtension \ - $(LOCAL_PATH)/GUI/CCScrollView - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,.) -$(call import-module,curl/prebuilt/android) -$(call import-module,Box2D) diff --git a/external/Box2D/Android.mk b/external/Box2D/Android.mk deleted file mode 100644 index ca6cfca39e..0000000000 --- a/external/Box2D/Android.mk +++ /dev/null @@ -1,61 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := box2d_static - -LOCAL_MODULE_FILENAME := libbox2d - -LOCAL_SRC_FILES := \ -Collision/b2BroadPhase.cpp \ -Collision/b2CollideCircle.cpp \ -Collision/b2CollideEdge.cpp \ -Collision/b2CollidePolygon.cpp \ -Collision/b2Collision.cpp \ -Collision/b2Distance.cpp \ -Collision/b2DynamicTree.cpp \ -Collision/b2TimeOfImpact.cpp \ -Collision/Shapes/b2ChainShape.cpp \ -Collision/Shapes/b2CircleShape.cpp \ -Collision/Shapes/b2EdgeShape.cpp \ -Collision/Shapes/b2PolygonShape.cpp \ -Common/b2BlockAllocator.cpp \ -Common/b2Draw.cpp \ -Common/b2Math.cpp \ -Common/b2Settings.cpp \ -Common/b2StackAllocator.cpp \ -Common/b2Timer.cpp \ -Dynamics/b2Body.cpp \ -Dynamics/b2ContactManager.cpp \ -Dynamics/b2Fixture.cpp \ -Dynamics/b2Island.cpp \ -Dynamics/b2World.cpp \ -Dynamics/b2WorldCallbacks.cpp \ -Dynamics/Contacts/b2ChainAndCircleContact.cpp \ -Dynamics/Contacts/b2ChainAndPolygonContact.cpp \ -Dynamics/Contacts/b2CircleContact.cpp \ -Dynamics/Contacts/b2Contact.cpp \ -Dynamics/Contacts/b2ContactSolver.cpp \ -Dynamics/Contacts/b2EdgeAndCircleContact.cpp \ -Dynamics/Contacts/b2EdgeAndPolygonContact.cpp \ -Dynamics/Contacts/b2PolygonAndCircleContact.cpp \ -Dynamics/Contacts/b2PolygonContact.cpp \ -Dynamics/Joints/b2DistanceJoint.cpp \ -Dynamics/Joints/b2FrictionJoint.cpp \ -Dynamics/Joints/b2GearJoint.cpp \ -Dynamics/Joints/b2Joint.cpp \ -Dynamics/Joints/b2MotorJoint.cpp \ -Dynamics/Joints/b2MouseJoint.cpp \ -Dynamics/Joints/b2PrismaticJoint.cpp \ -Dynamics/Joints/b2PulleyJoint.cpp \ -Dynamics/Joints/b2RevoluteJoint.cpp \ -Dynamics/Joints/b2RopeJoint.cpp \ -Dynamics/Joints/b2WeldJoint.cpp \ -Dynamics/Joints/b2WheelJoint.cpp \ -Rope/b2Rope.cpp - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. - -include $(BUILD_STATIC_LIBRARY) diff --git a/external/chipmunk/Android.mk b/external/chipmunk/Android.mk deleted file mode 100644 index e8441cd0d7..0000000000 --- a/external/chipmunk/Android.mk +++ /dev/null @@ -1,45 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := chipmunk_static - -LOCAL_MODULE_FILENAME := libchipmunk - -LOCAL_SRC_FILES := \ -src/chipmunk.c \ -src/cpArbiter.c \ -src/cpArray.c \ -src/cpBB.c \ -src/cpBBTree.c \ -src/cpBody.c \ -src/cpCollision.c \ -src/cpHashSet.c \ -src/cpPolyShape.c \ -src/cpShape.c \ -src/cpSpace.c \ -src/cpSpaceComponent.c \ -src/cpSpaceHash.c \ -src/cpSpaceQuery.c \ -src/cpSpaceStep.c \ -src/cpSpatialIndex.c \ -src/cpSweep1D.c \ -src/cpVect.c \ -src/constraints/cpConstraint.c \ -src/constraints/cpDampedRotarySpring.c \ -src/constraints/cpDampedSpring.c \ -src/constraints/cpGearJoint.c \ -src/constraints/cpGrooveJoint.c \ -src/constraints/cpPinJoint.c \ -src/constraints/cpPivotJoint.c \ -src/constraints/cpRatchetJoint.c \ -src/constraints/cpRotaryLimitJoint.c \ -src/constraints/cpSimpleMotor.c \ -src/constraints/cpSlideJoint.c - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk -LOCAL_CFLAGS := -std=c99 - -include $(BUILD_STATIC_LIBRARY) From 471820568f7f4366c8eb91f1ab05efe7d3d9bf19 Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 10:28:04 +0800 Subject: [PATCH 14/32] Update android.mk of cocos and lua-templates --- cocos/Android.mk | 2 ++ .../frameworks/runtime-src/proj.android/jni/Android.mk | 2 +- .../frameworks/runtime-src/proj.android/jni/Android.mk | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cocos/Android.mk b/cocos/Android.mk index 67466d4699..dbd680a8c1 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -6,6 +6,8 @@ LOCAL_MODULE := cocos2dx_static LOCAL_MODULE_FILENAME := libcocos2d +LOCAL_SHORT_COMMANDS := true + LOCAL_SRC_FILES := \ cocos2d.cpp \ 2d/CCAction.cpp \ diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk index b1c4a96e50..a35e293081 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk +++ b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Android.mk @@ -12,7 +12,7 @@ LOCAL_SRC_FILES := hellolua/main.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static +LOCAL_STATIC_LIBRARIES := cocos2d_lua_static include $(BUILD_SHARED_LIBRARY) diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk index d9c70233d4..709c81abae 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk @@ -40,7 +40,7 @@ $(LOCAL_PATH)/../../Classes/runtime \ $(LOCAL_PATH)/../../Classes \ $(LOCAL_PATH)/../../../cocos2d-x/external -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static +LOCAL_STATIC_LIBRARIES := cocos2d_lua_static include $(BUILD_SHARED_LIBRARY) From 106cb2e1108ad263881799778e17295e102ca789 Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 11:07:41 +0800 Subject: [PATCH 15/32] Update external config.json --- external/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/config.json b/external/config.json index 005d87dd6b..f8d5cd12a3 100644 --- a/external/config.json +++ b/external/config.json @@ -1,6 +1,6 @@ { - "version":"v3-deps-8", - "zip_file_size":"67964573", + "version":"v3-deps-9", + "zip_file_size":"73295462", "repo_name":"cocos2d-x-3rd-party-libs-bin", "repo_parent":"https://github.com/cocos2d/", "move_dirs":{ From 26f73456930ea13fffb643a8017f1edabca6e6df Mon Sep 17 00:00:00 2001 From: yangxiao Date: Wed, 27 Aug 2014 12:09:23 +0800 Subject: [PATCH 16/32] 2d cull only for default camera --- cocos/2d/CCScene.cpp | 4 ++-- cocos/2d/CCScene.h | 1 + cocos/renderer/CCRenderer.cpp | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index 9d5fa4cfdc..996f1b5e46 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -193,6 +193,8 @@ void Scene::addChildToPhysicsWorld(Node* child) } } +#endif + void Scene::onProjectionChanged(EventCustom* event) { if (_defaultCamera) @@ -201,6 +203,4 @@ void Scene::onProjectionChanged(EventCustom* event) } } -#endif - NS_CC_END diff --git a/cocos/2d/CCScene.h b/cocos/2d/CCScene.h index 7630111cc9..a5dce16a14 100644 --- a/cocos/2d/CCScene.h +++ b/cocos/2d/CCScene.h @@ -83,6 +83,7 @@ protected: friend class SpriteBatchNode; friend class Camera; friend class Director; + friend class Renderer; std::vector _cameras; //weak ref to Camera Camera* _defaultCamera; //weak ref, default camera created by scene, _cameras[0], Caution that the default camera can not be added to _cameras before onEnter is called diff --git a/cocos/renderer/CCRenderer.cpp b/cocos/renderer/CCRenderer.cpp index 2eca2d9ead..54d15f40bd 100644 --- a/cocos/renderer/CCRenderer.cpp +++ b/cocos/renderer/CCRenderer.cpp @@ -39,6 +39,8 @@ #include "base/CCEventDispatcher.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventType.h" +#include "base/CCCamera.h" +#include "2d/CCScene.h" NS_CC_BEGIN @@ -549,6 +551,11 @@ void Renderer::flush3D() bool Renderer::checkVisibility(const Mat4 &transform, const Size &size) { + auto scene = Director::getInstance()->getRunningScene(); + // only cull the default camera. The culling algorithm is valid for default camera. + if (scene->_defaultCamera != Camera::getVisitingCamera()) + return true; + // half size of the screen Size screen_half = Director::getInstance()->getWinSize(); screen_half.width /= 2; From d0ca9a4da56cfdde70080afad69668f8a63ae35e Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 27 Aug 2014 13:39:50 +0800 Subject: [PATCH 17/32] remove unneeded include header files --- cocos/2d/CCAtlasNode.cpp | 3 -- cocos/2d/CCDrawNode.cpp | 4 +- cocos/2d/CCDrawingPrimitives.cpp | 3 -- cocos/2d/CCFont.h | 3 +- cocos/2d/CCFontAtlas.h | 1 - cocos/2d/CCFontAtlasCache.cpp | 3 +- cocos/2d/CCFontAtlasCache.h | 3 +- cocos/2d/CCFontCharMap.cpp | 3 +- cocos/2d/CCFontCharMap.h | 2 +- cocos/2d/CCFontFNT.cpp | 1 - cocos/2d/CCFontFreeType.cpp | 2 - cocos/2d/CCFontFreeType.h | 1 - cocos/2d/CCGrabber.h | 1 - cocos/2d/CCGrid.cpp | 39 ++----------------- cocos/2d/CCGrid.h | 12 +----- cocos/2d/CCLabel.cpp | 4 -- cocos/2d/CCLabel.h | 1 - cocos/2d/CCLabelAtlas.cpp | 8 +--- cocos/2d/CCLabelBMFont.cpp | 3 +- cocos/2d/CCLabelTTF.cpp | 2 +- cocos/2d/CCLayer.cpp | 6 +-- cocos/2d/CCLayer.h | 12 +----- cocos/2d/CCMenu.h | 3 +- cocos/2d/CCNode.cpp | 1 + cocos/2d/CCScene.cpp | 24 ++++++------ cocos/2d/CCScene.h | 4 +- cocos/2d/CCTransition.h | 1 - cocos/2d/CCTransitionPageTurn.cpp | 3 -- cocos/2d/CCTransitionProgress.cpp | 1 - .../Classes/Sprite3DTest/DrawNode3D.cpp | 1 + 30 files changed, 38 insertions(+), 117 deletions(-) diff --git a/cocos/2d/CCAtlasNode.cpp b/cocos/2d/CCAtlasNode.cpp index 397729445a..38d5024b1a 100644 --- a/cocos/2d/CCAtlasNode.cpp +++ b/cocos/2d/CCAtlasNode.cpp @@ -32,9 +32,6 @@ THE SOFTWARE. #include "renderer/CCTextureCache.h" #include "renderer/CCRenderer.h" #include "renderer/CCGLProgram.h" -#include "renderer/CCGLProgramState.h" -#include "renderer/ccGLStateCache.h" -#include "math/TransformUtils.h" NS_CC_BEGIN diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp index 57f32b0fcb..64170484df 100644 --- a/cocos/2d/CCDrawNode.cpp +++ b/cocos/2d/CCDrawNode.cpp @@ -25,13 +25,11 @@ #include "CCGL.h" #include "base/CCEventType.h" #include "base/CCConfiguration.h" -#include "renderer/CCCustomCommand.h" #include "renderer/CCRenderer.h" -#include "renderer/CCGLProgramState.h" +#include "renderer/ccGLStateCache.h" #include "base/CCDirector.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventDispatcher.h" -#include "renderer/ccGLStateCache.h" NS_CC_BEGIN diff --git a/cocos/2d/CCDrawingPrimitives.cpp b/cocos/2d/CCDrawingPrimitives.cpp index 4cca20c1b6..39e53aa78d 100644 --- a/cocos/2d/CCDrawingPrimitives.cpp +++ b/cocos/2d/CCDrawingPrimitives.cpp @@ -41,13 +41,10 @@ THE SOFTWARE. #include #include -#include "base/ccTypes.h" -#include "base/ccMacros.h" #include "CCGL.h" #include "base/CCDirector.h" #include "renderer/ccGLStateCache.h" #include "renderer/CCGLProgramCache.h" -#include "renderer/CCGLProgram.h" #include "2d/CCActionCatmullRom.h" #include "renderer/CCRenderer.h" diff --git a/cocos/2d/CCFont.h b/cocos/2d/CCFont.h index d11acc2f09..d79d394730 100644 --- a/cocos/2d/CCFont.h +++ b/cocos/2d/CCFont.h @@ -27,11 +27,12 @@ #define _CCFont_h_ #include - #include "2d/CCLabel.h" NS_CC_BEGIN +class FontAtlas; + // fwd class FontAtlas; diff --git a/cocos/2d/CCFontAtlas.h b/cocos/2d/CCFontAtlas.h index 56a76bca29..ecf1287b87 100644 --- a/cocos/2d/CCFontAtlas.h +++ b/cocos/2d/CCFontAtlas.h @@ -27,7 +27,6 @@ #include "base/CCPlatformMacros.h" #include "base/CCRef.h" -#include "CCStdC.h" #include #include diff --git a/cocos/2d/CCFontAtlasCache.cpp b/cocos/2d/CCFontAtlasCache.cpp index 4708744221..c067ccd39f 100644 --- a/cocos/2d/CCFontAtlasCache.cpp +++ b/cocos/2d/CCFontAtlasCache.cpp @@ -29,7 +29,8 @@ #include "2d/CCFontFNT.h" #include "2d/CCFontFreeType.h" -#include "CCFontCharMap.h" +#include "2d/CCFontAtlas.h" +#include "2d/CCFontCharMap.h" #include "base/CCDirector.h" NS_CC_BEGIN diff --git a/cocos/2d/CCFontAtlasCache.h b/cocos/2d/CCFontAtlasCache.h index 4e2c17c687..1fc473c22d 100644 --- a/cocos/2d/CCFontAtlasCache.h +++ b/cocos/2d/CCFontAtlasCache.h @@ -28,11 +28,12 @@ #include -#include "2d/CCFontAtlas.h" #include "2d/CCLabel.h" NS_CC_BEGIN +class FontAtlas; + class CC_DLL FontAtlasCache { public: diff --git a/cocos/2d/CCFontCharMap.cpp b/cocos/2d/CCFontCharMap.cpp index e19c5a0dd4..3d908edecb 100644 --- a/cocos/2d/CCFontCharMap.cpp +++ b/cocos/2d/CCFontCharMap.cpp @@ -23,10 +23,9 @@ THE SOFTWARE. ****************************************************************************/ -#include "CCFontCharMap.h" +#include "2d/CCFontCharMap.h" #include "2d/CCFontAtlas.h" #include "platform/CCFileUtils.h" -#include "base/ccUTF8.h" #include "base/CCDirector.h" #include "renderer/CCTextureCache.h" diff --git a/cocos/2d/CCFontCharMap.h b/cocos/2d/CCFontCharMap.h index 76b4fb7e10..c902a35192 100644 --- a/cocos/2d/CCFontCharMap.h +++ b/cocos/2d/CCFontCharMap.h @@ -26,7 +26,7 @@ #ifndef _CCFontCharMap_h_ #define _CCFontCharMap_h_ -#include "CCFont.h" +#include "2d/CCFont.h" NS_CC_BEGIN diff --git a/cocos/2d/CCFontFNT.cpp b/cocos/2d/CCFontFNT.cpp index 8c5cb16389..a4d86bf6a4 100644 --- a/cocos/2d/CCFontFNT.cpp +++ b/cocos/2d/CCFontFNT.cpp @@ -26,7 +26,6 @@ #include "2d/CCFontFNT.h" #include "base/uthash.h" #include "2d/CCFontAtlas.h" -#include "base/ccUTF8.h" #include "platform/CCFileUtils.h" #include "base/CCConfiguration.h" #include "base/CCDirector.h" diff --git a/cocos/2d/CCFontFreeType.cpp b/cocos/2d/CCFontFreeType.cpp index 6a4623d392..1972e41a60 100644 --- a/cocos/2d/CCFontFreeType.cpp +++ b/cocos/2d/CCFontFreeType.cpp @@ -25,8 +25,6 @@ THE SOFTWARE. #include "2d/CCFontFreeType.h" -#include -#include #include "base/CCDirector.h" #include "base/ccUTF8.h" #include "platform/CCFileUtils.h" diff --git a/cocos/2d/CCFontFreeType.h b/cocos/2d/CCFontFreeType.h index 681f009a3b..71e2f413f3 100644 --- a/cocos/2d/CCFontFreeType.h +++ b/cocos/2d/CCFontFreeType.h @@ -27,7 +27,6 @@ #define _FontFreetype_h_ #include "CCFont.h" -#include "base/CCData.h" #include #include diff --git a/cocos/2d/CCGrabber.h b/cocos/2d/CCGrabber.h index acf7595673..d53918d4bb 100644 --- a/cocos/2d/CCGrabber.h +++ b/cocos/2d/CCGrabber.h @@ -26,7 +26,6 @@ THE SOFTWARE. #ifndef __EFFECTS_CCGRABBER_H__ #define __EFFECTS_CCGRABBER_H__ -#include "base/CCConfiguration.h" #include "base/CCRef.h" #include "CCGL.h" diff --git a/cocos/2d/CCGrid.cpp b/cocos/2d/CCGrid.cpp index 1e43ad7d5b..27b5016fa8 100644 --- a/cocos/2d/CCGrid.cpp +++ b/cocos/2d/CCGrid.cpp @@ -23,18 +23,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ +#include "2d/CCGrid.h" #include "base/ccMacros.h" -#include "base/CCDirector.h" -#include "2d/CCGrabber.h" #include "base/ccUtils.h" -#include "2d/CCGrid.h" +#include "2d/CCNode.h" +#include "2d/CCGrabber.h" #include "renderer/CCGLProgram.h" #include "renderer/CCGLProgramCache.h" #include "renderer/ccGLStateCache.h" #include "renderer/CCRenderer.h" +#include "renderer/CCTexture2D.h" #include "CCGL.h" -#include "math/TransformUtils.h" NS_CC_BEGIN // implementation of GridBase @@ -321,21 +321,7 @@ void Grid3D::blit(void) // // Attributes // -#ifdef EMSCRIPTEN - // Size calculations from calculateVertexPoints(). - unsigned int numOfPoints = (_gridSize.width+1) * (_gridSize.height+1); - // position - setGLBufferData(_vertices, numOfPoints * sizeof(Vec3), 0); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, 0); - - // texCoords - setGLBufferData(_texCoordinates, numOfPoints * sizeof(Vec2), 1); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, 0); - - setGLIndexData(_indices, n * 12, 0); - glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); -#else // position glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, _vertices); @@ -343,8 +329,6 @@ void Grid3D::blit(void) glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, _texCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, _indices); -#endif // EMSCRIPTEN - CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,n*6); } void Grid3D::calculateVertexPoints(void) @@ -537,20 +521,7 @@ void TiledGrid3D::blit(void) // Attributes // GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORD ); -#ifdef EMSCRIPTEN - int numQuads = _gridSize.width * _gridSize.height; - // position - setGLBufferData(_vertices, (numQuads*4*sizeof(Vec3)), 0); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, 0); - - // texCoords - setGLBufferData(_texCoordinates, (numQuads*4*sizeof(Vec2)), 1); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, 0); - - setGLIndexData(_indices, n * 12, 0); - glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); -#else // position glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, _vertices); @@ -558,8 +529,6 @@ void TiledGrid3D::blit(void) glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, _texCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei)n*6, GL_UNSIGNED_SHORT, _indices); -#endif // EMSCRIPTEN - CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,n*6); } diff --git a/cocos/2d/CCGrid.h b/cocos/2d/CCGrid.h index 4e0c96f68d..54ef7f46d4 100644 --- a/cocos/2d/CCGrid.h +++ b/cocos/2d/CCGrid.h @@ -29,17 +29,13 @@ THE SOFTWARE. #include "base/CCRef.h" #include "base/ccTypes.h" #include "base/CCDirector.h" -#include "2d/CCNode.h" -#include "renderer/CCTexture2D.h" -#ifdef EMSCRIPTEN -#include "CCGLBufferedNode.h" -#endif // EMSCRIPTEN NS_CC_BEGIN class Texture2D; class Grabber; class GLProgram; +class Node; /** * @addtogroup effects @@ -108,9 +104,6 @@ protected: Grid3D is a 3D grid implementation. Each vertex has 3 dimensions: x,y,z */ class CC_DLL Grid3D : public GridBase -#ifdef EMSCRIPTEN -, public GLBufferedNode -#endif // EMSCRIPTEN { public: /** create one Grid */ @@ -171,9 +164,6 @@ protected: the tiles can be separated from the grid. */ class CC_DLL TiledGrid3D : public GridBase -#ifdef EMSCRIPTEN -, public GLBufferedNode -#endif // EMSCRIPTEN { public: /** create one Grid */ diff --git a/cocos/2d/CCLabel.cpp b/cocos/2d/CCLabel.cpp index 123bc1ae26..5faed073ac 100644 --- a/cocos/2d/CCLabel.cpp +++ b/cocos/2d/CCLabel.cpp @@ -28,18 +28,14 @@ #include "2d/CCSprite.h" #include "2d/CCLabelTextFormatter.h" #include "base/ccUTF8.h" -#include "2d/CCSpriteFrame.h" #include "platform/CCFileUtils.h" #include "2d/CCFont.h" -#include "renderer/CCGLProgramState.h" #include "renderer/CCRenderer.h" #include "renderer/ccGLStateCache.h" #include "base/CCDirector.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventDispatcher.h" -#include "base/CCEventType.h" #include "base/CCEventCustom.h" -#include "base/CCProfiling.h" #include "deprecated/CCString.h" diff --git a/cocos/2d/CCLabel.h b/cocos/2d/CCLabel.h index de4173527c..c41f5c0da8 100644 --- a/cocos/2d/CCLabel.h +++ b/cocos/2d/CCLabel.h @@ -28,7 +28,6 @@ #define _COCOS2D_CCLABEL_H_ #include "2d/CCSpriteBatchNode.h" -#include "base/ccTypes.h" #include "renderer/CCCustomCommand.h" #include "2d/CCFontAtlas.h" diff --git a/cocos/2d/CCLabelAtlas.cpp b/cocos/2d/CCLabelAtlas.cpp index 886091396d..73bd834804 100644 --- a/cocos/2d/CCLabelAtlas.cpp +++ b/cocos/2d/CCLabelAtlas.cpp @@ -24,17 +24,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ -#include "CCLabelAtlas.h" +#include "2d/CCLabelAtlas.h" #include "renderer/CCTextureAtlas.h" -#include "2d/CCDrawingPrimitives.h" #include "platform/CCFileUtils.h" -#include "base/ccConfig.h" #include "base/CCDirector.h" #include "renderer/CCTextureCache.h" -#include "renderer/CCGLProgramCache.h" -#include "renderer/CCGLProgram.h" -#include "renderer/ccGLStateCache.h" -#include "math/TransformUtils.h" #include "deprecated/CCString.h" diff --git a/cocos/2d/CCLabelBMFont.cpp b/cocos/2d/CCLabelBMFont.cpp index bd6826f1b7..217975ba68 100644 --- a/cocos/2d/CCLabelBMFont.cpp +++ b/cocos/2d/CCLabelBMFont.cpp @@ -31,8 +31,7 @@ http://slick.cokeandcode.com/demos/hiero.jnlp (Free, Java) http://www.angelcode.com/products/bmfont/ (Free, Windows only) ****************************************************************************/ -#include "CCLabelBMFont.h" -#include "2d/CCDrawingPrimitives.h" +#include "2d/CCLabelBMFont.h" #include "deprecated/CCString.h" #include "2d/CCSprite.h" diff --git a/cocos/2d/CCLabelTTF.cpp b/cocos/2d/CCLabelTTF.cpp index e55a957768..7341c8df6f 100644 --- a/cocos/2d/CCLabelTTF.cpp +++ b/cocos/2d/CCLabelTTF.cpp @@ -23,7 +23,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ -#include "CCLabelTTF.h" +#include "2d/CCLabelTTF.h" #include "2d/CCLabel.h" #include "deprecated/CCString.h" diff --git a/cocos/2d/CCLayer.cpp b/cocos/2d/CCLayer.cpp index 753f744c88..b3da6235a8 100644 --- a/cocos/2d/CCLayer.cpp +++ b/cocos/2d/CCLayer.cpp @@ -29,10 +29,6 @@ THE SOFTWARE. #include "2d/CCLayer.h" #include "base/CCScriptSupport.h" #include "platform/CCDevice.h" -#include "2d/CCScene.h" -#include "renderer/CCGLProgramState.h" -#include "renderer/CCGLProgram.h" -#include "renderer/CCCustomCommand.h" #include "renderer/CCRenderer.h" #include "renderer/ccGLStateCache.h" #include "base/CCDirector.h" @@ -43,7 +39,7 @@ THE SOFTWARE. #include "base/CCEventListenerKeyboard.h" #include "base/CCEventAcceleration.h" #include "base/CCEventListenerAcceleration.h" -#include "math/TransformUtils.h" + #include "deprecated/CCString.h" diff --git a/cocos/2d/CCLayer.h b/cocos/2d/CCLayer.h index 08abcb3201..fade59b2e2 100644 --- a/cocos/2d/CCLayer.h +++ b/cocos/2d/CCLayer.h @@ -30,15 +30,8 @@ THE SOFTWARE. #include "2d/CCNode.h" #include "base/CCProtocols.h" -#include "base/CCEventTouch.h" -#ifdef EMSCRIPTEN -#include "CCGLBufferedNode.h" -#endif // EMSCRIPTEN - -#include "base/CCEventKeyboard.h" #include "renderer/CCCustomCommand.h" -#include "physics/CCPhysicsWorld.h" NS_CC_BEGIN @@ -54,6 +47,8 @@ class EventListenerTouch; class EventListenerKeyboard; class EventListenerAcceleration; +class Touch; + // // Layer // @@ -246,9 +241,6 @@ All features from Layer are valid, plus the following new features: - RGB colors */ class CC_DLL LayerColor : public Layer, public BlendProtocol -#ifdef EMSCRIPTEN -, public GLBufferedNode -#endif // EMSCRIPTEN { public: /** creates a fullscreen black layer */ diff --git a/cocos/2d/CCMenu.h b/cocos/2d/CCMenu.h index 31b9ef6120..e49932beb6 100644 --- a/cocos/2d/CCMenu.h +++ b/cocos/2d/CCMenu.h @@ -28,11 +28,10 @@ THE SOFTWARE. #include "2d/CCMenuItem.h" #include "2d/CCLayer.h" -#include "base/CCVector.h" -#include "base/CCEventTouch.h" #include "base/CCValue.h" NS_CC_BEGIN +class Touch; /** * @addtogroup GUI diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index 7e8c5c0bb4..a3f3d002ce 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -49,6 +49,7 @@ THE SOFTWARE. #if CC_USE_PHYSICS #include "physics/CCPhysicsBody.h" +#include "physics/CCPhysicsWorld.h" #endif diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index 9d5fa4cfdc..ef1b9ea191 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -30,12 +30,12 @@ THE SOFTWARE. #include "base/CCCamera.h" #include "base/CCEventDispatcher.h" #include "base/CCEventListenerCustom.h" -#include "2d/CCLayer.h" -#include "2d/CCSprite.h" -#include "2d/CCSpriteBatchNode.h" -#include "physics/CCPhysicsWorld.h" #include "deprecated/CCString.h" +#if CC_USE_PHYSICS +#include "physics/CCPhysicsWorld.h" +#endif + NS_CC_BEGIN Scene::Scene() @@ -116,6 +116,14 @@ Scene* Scene::getScene() const return const_cast(this); } +void Scene::onProjectionChanged(EventCustom* event) +{ + if (_defaultCamera) + { + _defaultCamera->initDefault(); + } +} + #if CC_USE_PHYSICS void Scene::addChild(Node* child, int zOrder, int tag) { @@ -193,14 +201,6 @@ void Scene::addChildToPhysicsWorld(Node* child) } } -void Scene::onProjectionChanged(EventCustom* event) -{ - if (_defaultCamera) - { - _defaultCamera->initDefault(); - } -} - #endif NS_CC_END diff --git a/cocos/2d/CCScene.h b/cocos/2d/CCScene.h index 430886a58f..219f4a794d 100644 --- a/cocos/2d/CCScene.h +++ b/cocos/2d/CCScene.h @@ -30,13 +30,15 @@ THE SOFTWARE. #include #include "2d/CCNode.h" -#include "physics/CCPhysicsWorld.h" NS_CC_BEGIN class Camera; class EventListenerCustom; class EventCustom; +#if CC_USE_PHYSICS +class PhysicsWorld; +#endif /** * @addtogroup scene * @{ diff --git a/cocos/2d/CCTransition.h b/cocos/2d/CCTransition.h index e86aa06394..bc7e58e461 100644 --- a/cocos/2d/CCTransition.h +++ b/cocos/2d/CCTransition.h @@ -29,7 +29,6 @@ THE SOFTWARE. #define __CCTRANSITION_H__ #include "2d/CCScene.h" -#include "base/ccTypes.h" NS_CC_BEGIN diff --git a/cocos/2d/CCTransitionPageTurn.cpp b/cocos/2d/CCTransitionPageTurn.cpp index 83264a2a4a..25a3860da0 100644 --- a/cocos/2d/CCTransitionPageTurn.cpp +++ b/cocos/2d/CCTransitionPageTurn.cpp @@ -26,9 +26,6 @@ THE SOFTWARE. #include "2d/CCTransitionPageTurn.h" #include "base/CCDirector.h" -#include "2d/CCActionInterval.h" -#include "2d/CCActionInstant.h" -#include "2d/CCActionGrid.h" #include "2d/CCActionPageTurn3D.h" #include "2d/CCNodeGrid.h" #include "renderer/CCRenderer.h" diff --git a/cocos/2d/CCTransitionProgress.cpp b/cocos/2d/CCTransitionProgress.cpp index 867661e247..19315f1bc8 100644 --- a/cocos/2d/CCTransitionProgress.cpp +++ b/cocos/2d/CCTransitionProgress.cpp @@ -30,7 +30,6 @@ THE SOFTWARE. #include "base/CCDirector.h" #include "2d/CCRenderTexture.h" #include "2d/CCProgressTimer.h" -#include "2d/CCLayer.h" #include "2d/CCActionInstant.h" #include "2d/CCActionProgressTimer.h" diff --git a/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp b/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp index acb88b95e9..ced50721c7 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp @@ -29,6 +29,7 @@ #include "renderer/CCCustomCommand.h" #include "renderer/CCRenderer.h" #include "renderer/CCGLProgramState.h" +#include "renderer/ccGLStateCache.h" #include "base/CCDirector.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventDispatcher.h" From f1914f3fa171648d652e477e00960a401d48c9bc Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Wed, 27 Aug 2014 05:40:25 +0000 Subject: [PATCH 18/32] [AUTO][ci skip]: updating cocos2dx_files.json --- templates/cocos2dx_files.json | 40 ++++++----------------------------- 1 file changed, 6 insertions(+), 34 deletions(-) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index 18839d4058..cfdf80abae 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -192,7 +192,6 @@ "cocos/2d/libcocos2d.vcxproj", "cocos/2d/libcocos2d.vcxproj.filters", "cocos/3d/3dExport.h", - "cocos/3d/Android.mk", "cocos/3d/CCAABB.cpp", "cocos/3d/CCAABB.h", "cocos/3d/CCAnimate3D.cpp", @@ -228,12 +227,8 @@ "cocos/3d/CCSprite3DMaterial.h", "cocos/3d/CMakeLists.txt", "cocos/3d/cocos3d.h", - "cocos/3d/proj.win32/libcocos3d.vcxproj", - "cocos/3d/proj.win32/libcocos3d.vcxproj.filters", - "cocos/3d/proj.win32/libcocos3d.vcxproj.user", "cocos/Android.mk", "cocos/CMakeLists.txt", - "cocos/audio/android/Android.mk", "cocos/audio/android/ccdandroidUtils.cpp", "cocos/audio/android/ccdandroidUtils.h", "cocos/audio/android/cddSimpleAudioEngine.cpp", @@ -270,9 +265,6 @@ "cocos/audio/openal/OpenALDecoder.cpp", "cocos/audio/openal/OpenALDecoder.h", "cocos/audio/openal/SimpleAudioEngineOpenAL.cpp", - "cocos/audio/proj.win32/libcocosdenshion.vcxproj", - "cocos/audio/proj.win32/libcocosdenshion.vcxproj.filters", - "cocos/audio/proj.win32/libcocosdenshion.vcxproj.user", "cocos/audio/proj.wp8/CocosDenshion.vcxproj", "cocos/audio/proj.wp8/CocosDenshion.vcxproj.filters", "cocos/audio/proj.wp8/CocosDenshion.vcxproj.user", @@ -422,7 +414,6 @@ "cocos/deprecated/CCSet.h", "cocos/deprecated/CCString.cpp", "cocos/deprecated/CCString.h", - "cocos/editor-support/cocosbuilder/Android.mk", "cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp", "cocos/editor-support/cocosbuilder/CCBAnimationManager.h", "cocos/editor-support/cocosbuilder/CCBFileLoader.cpp", @@ -472,9 +463,6 @@ "cocos/editor-support/cocosbuilder/CCSpriteLoader.cpp", "cocos/editor-support/cocosbuilder/CCSpriteLoader.h", "cocos/editor-support/cocosbuilder/CocosBuilder.h", - "cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters", - "cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user", - "cocos/editor-support/cocosbuilder/proj.win32/libcocosbuilder.vcxproj", "cocos/editor-support/cocosbuilder/proj.wp8/libCocosBuilder.vcxproj", "cocos/editor-support/cocosbuilder/proj.wp8/libCocosBuilder.vcxproj.filters", "cocos/editor-support/cocosbuilder/proj.wp8/libCocosBuilder.vcxproj.user", @@ -491,7 +479,6 @@ "cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp", "cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.h", "cocos/editor-support/cocostudio/ActionTimeline/CCTimelineMacro.h", - "cocos/editor-support/cocostudio/Android.mk", "cocos/editor-support/cocostudio/CCActionFrame.cpp", "cocos/editor-support/cocostudio/CCActionFrame.h", "cocos/editor-support/cocostudio/CCActionFrameEasing.cpp", @@ -594,15 +581,11 @@ "cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp", "cocos/editor-support/cocostudio/WidgetReader/WidgetReader.h", "cocos/editor-support/cocostudio/WidgetReader/WidgetReaderProtocol.h", - "cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj", - "cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.filters", - "cocos/editor-support/cocostudio/proj.win32/libcocostudio.vcxproj.user", "cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj", "cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj.filters", "cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj.user", "cocos/editor-support/cocostudio/proj.wp8/pch.cpp", "cocos/editor-support/cocostudio/proj.wp8/pch.h", - "cocos/editor-support/spine/Android.mk", "cocos/editor-support/spine/Animation.cpp", "cocos/editor-support/spine/Animation.h", "cocos/editor-support/spine/AnimationState.cpp", @@ -652,9 +635,6 @@ "cocos/editor-support/spine/SlotData.h", "cocos/editor-support/spine/extension.cpp", "cocos/editor-support/spine/extension.h", - "cocos/editor-support/spine/proj.win32/libSpine.vcxproj", - "cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters", - "cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user", "cocos/editor-support/spine/proj.wp8/libSpine.vcxproj", "cocos/editor-support/spine/proj.wp8/libSpine.vcxproj.filters", "cocos/editor-support/spine/proj.wp8/libSpine.vcxproj.user", @@ -693,7 +673,6 @@ "cocos/math/Vec4.cpp", "cocos/math/Vec4.h", "cocos/math/Vec4.inl", - "cocos/network/Android.mk", "cocos/network/HttpClient.cpp", "cocos/network/HttpClient.h", "cocos/network/HttpRequest.h", @@ -702,9 +681,6 @@ "cocos/network/SocketIO.h", "cocos/network/WebSocket.cpp", "cocos/network/WebSocket.h", - "cocos/network/proj.win32/libnetwork.vcxproj", - "cocos/network/proj.win32/libnetwork.vcxproj.filters", - "cocos/network/proj.win32/libnetwork.vcxproj.user", "cocos/network/proj.wp8/libNetwork.vcxproj", "cocos/network/proj.wp8/libNetwork.vcxproj.filters", "cocos/physics/CCPhysicsBody.cpp", @@ -1002,7 +978,6 @@ "cocos/storage/local-storage/LocalStorageAndroid.cpp", "cocos/storage/local-storage/proj.wp8/libLocalStorage.vcxproj", "cocos/storage/local-storage/proj.wp8/libLocalStorage.vcxproj.filters", - "cocos/ui/Android.mk", "cocos/ui/CocosGUI.cpp", "cocos/ui/CocosGUI.h", "cocos/ui/GUIDefine.h", @@ -1056,9 +1031,6 @@ "cocos/ui/UIVideoPlayerIOS.mm", "cocos/ui/UIWidget.cpp", "cocos/ui/UIWidget.h", - "cocos/ui/proj.win32/libui.vcxproj", - "cocos/ui/proj.win32/libui.vcxproj.filters", - "cocos/ui/proj.win32/libui.vcxproj.user", "cocos/ui/proj.wp8/libGUI.vcxproj", "cocos/ui/proj.wp8/libGUI.vcxproj.filters", "docs/CODING_STYLE.md", @@ -1068,7 +1040,6 @@ "docs/cocos2dx_portrait.png", "docs/doxygen.config", "download-deps.py", - "extensions/Android.mk", "extensions/CMakeLists.txt", "extensions/ExtensionExport.h", "extensions/ExtensionMacros.h", @@ -1126,14 +1097,10 @@ "extensions/physics-nodes/CCPhysicsSprite.h", "extensions/proj.win32/Win32InputBox.cpp", "extensions/proj.win32/Win32InputBox.h", - "extensions/proj.win32/libextension.vcxproj", - "extensions/proj.win32/libextension.vcxproj.filters", - "extensions/proj.win32/libextension.vcxproj.user", "extensions/proj.wp8/libExtensions.vcxproj", "extensions/proj.wp8/libExtensions.vcxproj.filters", "extensions/proj.wp8/pch.cpp", "extensions/proj.wp8/pch.h", - "external/Box2D/Android.mk", "external/Box2D/Box2D.h", "external/Box2D/Collision/Shapes/b2ChainShape.cpp", "external/Box2D/Collision/Shapes/b2ChainShape.h", @@ -1234,7 +1201,6 @@ "external/ConvertUTF/ConvertUTF.c", "external/ConvertUTF/ConvertUTF.h", "external/ConvertUTF/ConvertUTFWrapper.cpp", - "external/chipmunk/Android.mk", "external/chipmunk/LICENSE.txt", "external/chipmunk/README.txt", "external/chipmunk/chipmunk-docs.html", @@ -2203,6 +2169,10 @@ "external/websockets/prebuilt/wp8/arm/libwebsockets.lib", "external/websockets/prebuilt/wp8/win32/libwebsockets.dll", "external/websockets/prebuilt/wp8/win32/libwebsockets.lib", + "external/win32-specific/box2d/prebuilt/debug-lib/libbox2d.lib", + "external/win32-specific/box2d/prebuilt/release-lib/libbox2d.lib", + "external/win32-specific/chipmunk/prebuilt/debug-lib/libchipmunk.lib", + "external/win32-specific/chipmunk/prebuilt/release-lib/libchipmunk.lib", "external/win32-specific/gles/include/OGLES/GL/glew.h", "external/win32-specific/gles/include/OGLES/GL/glxew.h", "external/win32-specific/gles/include/OGLES/GL/wglew.h", @@ -2211,6 +2181,8 @@ "external/win32-specific/icon/include/iconv.h", "external/win32-specific/icon/prebuilt/iconv.dll", "external/win32-specific/icon/prebuilt/libiconv.lib", + "external/win32-specific/spine/prebuilt/debug-lib/libspine.lib", + "external/win32-specific/spine/prebuilt/release-lib/libspine.lib", "external/win32-specific/zlib/include/zconf.h", "external/win32-specific/zlib/include/zlib.h", "external/win32-specific/zlib/prebuilt/libzlib.lib", From 78c78d315c7829c4ad74e9d68a0483b7742528d5 Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 27 Aug 2014 14:06:54 +0800 Subject: [PATCH 19/32] update release note --- docs/RELEASE_NOTES.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 1db9ea49bc..fbac24c6ed 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -127,6 +127,7 @@ Please refer to this document: [ReadMe](../README.md) * Primitive: Support Points, Lines and Triagles for rendering * SpriteFrameCache: support loading from plist file content data * Added a consistent way to set GL context attributes for all platforms +* Only two libraries in cocos2d-x, one for c++ codes, another one for lua-binding codes * Many other small features added and many bugs fixed # Features in detail @@ -344,3 +345,38 @@ void AppDelegate::initGLContextAttrs() ``` Now can only support setting bits of `r`, `g`, `b`, `a`, `depth buffer` and `stencil buffer`. We will support other attributes if needed. + +## Only two libraries left + +Now there are two libraries left: one for all c++ codes and another one for lua-bindings codes. + +If you are developing with c++, you only have to link to `libcocos2d`. `libcocos2d` includes all c++ codes: + +* cocos2d(including 2d and 3d) +* network +* cocosstudio +* ui +* cocosbuilder +* spine +* chipmunk +* box2d +* ... + +Not used codes will be stripped by linker. + +If you are developing with lua, you should link to `libcocos2d` and `libluacocos2d`. You can comment codes in `lua_module_register.h` if you don't want to some module. + +```c++ +int lua_module_register(lua_State* L) +{ + register_cocosdenshion_module(L); // comment this line to remove cocosdenshion + register_network_module(L); // comment this line to remove network + register_cocosbuilder_module(L); // comment this line to remove cocosbuilder + register_cocostudio_module(L); // comment this line to remove cocostudio + register_extension_module(L); // comment this line to remove extension + register_ui_moudle(L); // comment this line to remove ui + register_spine_module(L); // comment this line to remove spine + register_cocos3d_module(L); // comment this line to remove 3d + return 1; +} +``` From 708fa8f114577004cb7be25ba264ba8a0c2a58e2 Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 27 Aug 2014 14:09:06 +0800 Subject: [PATCH 20/32] [ci skip] --- docs/RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index fbac24c6ed..f4af8fb588 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -26,6 +26,7 @@ - [RenderTexture save function](#user-content-rendertexture-save-function) - [Primitive](#user-content-primitive) - [Consistent way to set GL context attributes](#user-content-consistent-way-to-set-gl-context-attributes) + - [Only two libraries left](#user-content-only-two-libraries-left) # Misc Information From 17ab047b7d765f6041585b87e9bfb77dd4662f4e Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 27 Aug 2014 15:04:22 +0800 Subject: [PATCH 21/32] fix compiling error on windows --- cocos/2d/CCFontAtlas.h | 1 + cocos/2d/CCTweenFunction.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/cocos/2d/CCFontAtlas.h b/cocos/2d/CCFontAtlas.h index ecf1287b87..73eb643ef9 100644 --- a/cocos/2d/CCFontAtlas.h +++ b/cocos/2d/CCFontAtlas.h @@ -27,6 +27,7 @@ #include "base/CCPlatformMacros.h" #include "base/CCRef.h" +#include "CCStdC.h" // ssize_t on windows #include #include diff --git a/cocos/2d/CCTweenFunction.cpp b/cocos/2d/CCTweenFunction.cpp index 46fef8804b..3432469d17 100644 --- a/cocos/2d/CCTweenFunction.cpp +++ b/cocos/2d/CCTweenFunction.cpp @@ -23,7 +23,10 @@ THE SOFTWARE. ****************************************************************************/ #include "2d/CCTweenFunction.h" + +#define _USE_MATH_DEFINES // needed for M_PI and M_PI2 #include // M_PI +#undef _USE_MATH_DEFINES NS_CC_BEGIN From 3d5f8de346375d67dbe123d7971f63db23a44e99 Mon Sep 17 00:00:00 2001 From: samuele3hu Date: Wed, 27 Aug 2014 20:58:32 +0800 Subject: [PATCH 22/32] Adjust android.mk for cocos2d and related module --- cocos/3d/Android.mk | 33 ++ cocos/Android.mk | 318 ++----------------- cocos/audio/android/Android.mk | 18 ++ cocos/editor-support/cocosbuilder/Android.mk | 45 +++ cocos/editor-support/cocostudio/Android.mk | 82 +++++ cocos/editor-support/spine/Android.mk | 42 +++ cocos/network/Android.mk | 25 ++ cocos/ui/Android.mk | 49 +++ extensions/Android.mk | 50 +++ external/Box2D/Android.mk | 61 ++++ external/chipmunk/Android.mk | 45 +++ 11 files changed, 479 insertions(+), 289 deletions(-) create mode 100644 cocos/3d/Android.mk create mode 100644 cocos/audio/android/Android.mk create mode 100644 cocos/editor-support/cocosbuilder/Android.mk create mode 100644 cocos/editor-support/cocostudio/Android.mk create mode 100644 cocos/editor-support/spine/Android.mk create mode 100644 cocos/network/Android.mk create mode 100644 cocos/ui/Android.mk create mode 100644 extensions/Android.mk create mode 100644 external/Box2D/Android.mk create mode 100644 external/chipmunk/Android.mk diff --git a/cocos/3d/Android.mk b/cocos/3d/Android.mk new file mode 100644 index 0000000000..d67b36b107 --- /dev/null +++ b/cocos/3d/Android.mk @@ -0,0 +1,33 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocos3d_static + +LOCAL_MODULE_FILENAME := libcocos3d + +LOCAL_SRC_FILES := \ +CCRay.cpp \ +CCAABB.cpp \ +CCOBB.cpp \ +CCAnimate3D.cpp \ +CCAnimation3D.cpp \ +CCAttachNode.cpp \ +CCBundle3D.cpp \ +CCBundleReader.cpp \ +CCMesh.cpp \ +CCMeshSkin.cpp \ +CCMeshVertexIndexData.cpp \ +CCSprite3DMaterial.cpp \ +CCObjLoader.cpp \ +CCSkeleton3D.cpp \ +CCSprite3D.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ + $(LOCAL_PATH)/../../external \ + $(LOCAL_PATH)/../platform/android + +LOCAL_STATIC_LIBRARIES := cocos2dx_static + +include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/Android.mk b/cocos/Android.mk index dbd680a8c1..88a955af29 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -6,8 +6,6 @@ LOCAL_MODULE := cocos2dx_static LOCAL_MODULE_FILENAME := libcocos2d -LOCAL_SHORT_COMMANDS := true - LOCAL_SRC_FILES := \ cocos2d.cpp \ 2d/CCAction.cpp \ @@ -186,294 +184,18 @@ physics/chipmunk/CCPhysicsWorldInfo_chipmunk.cpp \ ../external/xxhash/xxhash.c -#3d -LOCAL_SRC_FILES += 3d/CCRay.cpp \ - 3d/CCAABB.cpp \ - 3d/CCOBB.cpp \ - 3d/CCAnimate3D.cpp \ - 3d/CCAnimation3D.cpp \ - 3d/CCAttachNode.cpp \ - 3d/CCBundle3D.cpp \ - 3d/CCBundleReader.cpp \ - 3d/CCMesh.cpp \ - 3d/CCMeshSkin.cpp \ - 3d/CCMeshVertexIndexData.cpp \ - 3d/CCObjLoader.cpp \ - 3d/CCSkeleton3D.cpp \ - 3d/CCSprite3D.cpp \ - 3d/CCSprite3DMaterial.cpp - - -#audio -LOCAL_SRC_FILES += audio/android/cddSimpleAudioEngine.cpp \ - audio/android/ccdandroidUtils.cpp \ - audio/android/jni/cddandroidAndroidJavaEngine.cpp - -#network -LOCAL_SRC_FILES += network/HttpClient.cpp \ - network/SocketIO.cpp \ - network/WebSocket.cpp - -#cocosbuilder -LOCAL_SRC_FILES += editor-support/cocosbuilder/CCBAnimationManager.cpp \ - editor-support/cocosbuilder/CCBFileLoader.cpp \ - editor-support/cocosbuilder/CCBKeyframe.cpp \ - editor-support/cocosbuilder/CCBReader.cpp \ - editor-support/cocosbuilder/CCBSequence.cpp \ - editor-support/cocosbuilder/CCBSequenceProperty.cpp \ - editor-support/cocosbuilder/CCControlButtonLoader.cpp \ - editor-support/cocosbuilder/CCControlLoader.cpp \ - editor-support/cocosbuilder/CCLabelBMFontLoader.cpp \ - editor-support/cocosbuilder/CCLabelTTFLoader.cpp \ - editor-support/cocosbuilder/CCLayerColorLoader.cpp \ - editor-support/cocosbuilder/CCLayerGradientLoader.cpp \ - editor-support/cocosbuilder/CCLayerLoader.cpp \ - editor-support/cocosbuilder/CCMenuItemImageLoader.cpp \ - editor-support/cocosbuilder/CCMenuItemLoader.cpp \ - editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp \ - editor-support/cocosbuilder/CCNodeLoader.cpp \ - editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp \ - editor-support/cocosbuilder/CCParticleSystemQuadLoader.cpp \ - editor-support/cocosbuilder/CCScale9SpriteLoader.cpp \ - editor-support/cocosbuilder/CCScrollViewLoader.cpp \ - editor-support/cocosbuilder/CCSpriteLoader.cpp - -#cocostudio -LOCAL_SRC_FILES += editor-support/cocostudio/CCActionFrame.cpp \ - editor-support/cocostudio/CCActionFrameEasing.cpp \ - editor-support/cocostudio/CCActionManagerEx.cpp \ - editor-support/cocostudio/CCActionNode.cpp \ - editor-support/cocostudio/CCActionObject.cpp \ - editor-support/cocostudio/CCArmature.cpp \ - editor-support/cocostudio/CCBone.cpp \ - editor-support/cocostudio/CCArmatureAnimation.cpp \ - editor-support/cocostudio/CCProcessBase.cpp \ - editor-support/cocostudio/CCTween.cpp \ - editor-support/cocostudio/CCDatas.cpp \ - editor-support/cocostudio/CCBatchNode.cpp \ - editor-support/cocostudio/CCDecorativeDisplay.cpp \ - editor-support/cocostudio/CCDisplayFactory.cpp \ - editor-support/cocostudio/CCDisplayManager.cpp \ - editor-support/cocostudio/CCSkin.cpp \ - editor-support/cocostudio/CCColliderDetector.cpp \ - editor-support/cocostudio/CCArmatureDataManager.cpp \ - editor-support/cocostudio/CCArmatureDefine.cpp \ - editor-support/cocostudio/CCDataReaderHelper.cpp \ - editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp \ - editor-support/cocostudio/CCTransformHelp.cpp \ - editor-support/cocostudio/CCUtilMath.cpp \ - editor-support/cocostudio/CCComAttribute.cpp \ - editor-support/cocostudio/CCComAudio.cpp \ - editor-support/cocostudio/CCComController.cpp \ - editor-support/cocostudio/CCComRender.cpp \ - editor-support/cocostudio/CCInputDelegate.cpp \ - editor-support/cocostudio/DictionaryHelper.cpp \ - editor-support/cocostudio/CCSGUIReader.cpp \ - editor-support/cocostudio/CCSSceneReader.cpp \ - editor-support/cocostudio/TriggerBase.cpp \ - editor-support/cocostudio/TriggerMng.cpp \ - editor-support/cocostudio/TriggerObj.cpp \ - editor-support/cocostudio/CocoLoader.cpp \ - editor-support/cocostudio/WidgetReader/WidgetReader.cpp \ - editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp \ - editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp \ - editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp \ - editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp \ - editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp \ - editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp \ - editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp \ - editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp \ - editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp \ - editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp \ - editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp \ - editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp \ - editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp \ - editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp \ - editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp \ - editor-support/cocostudio/ActionTimeline/CCFrame.cpp \ - editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp \ - editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp - -#spine -LOCAL_SRC_FILES += editor-support/spine/Animation.cpp \ - editor-support/spine/AnimationState.cpp \ - editor-support/spine/AnimationStateData.cpp \ - editor-support/spine/Atlas.cpp \ - editor-support/spine/AtlasAttachmentLoader.cpp \ - editor-support/spine/Attachment.cpp \ - editor-support/spine/AttachmentLoader.cpp \ - editor-support/spine/Bone.cpp \ - editor-support/spine/BoneData.cpp \ - editor-support/spine/CCSkeleton.cpp \ - editor-support/spine/CCSkeletonAnimation.cpp \ - editor-support/spine/Json.cpp \ - editor-support/spine/RegionAttachment.cpp \ - editor-support/spine/Skeleton.cpp \ - editor-support/spine/SkeletonData.cpp \ - editor-support/spine/SkeletonJson.cpp \ - editor-support/spine/Skin.cpp \ - editor-support/spine/Slot.cpp \ - editor-support/spine/SlotData.cpp \ - editor-support/spine/BoundingBoxAttachment.cpp \ - editor-support/spine/Event.cpp \ - editor-support/spine/EventData.cpp \ - editor-support/spine/SkeletonBounds.cpp \ - editor-support/spine/extension.cpp \ - editor-support/spine/spine-cocos2dx.cpp - -#local-storage -LOCAL_SRC_FILES += storage/local-storage/LocalStorage.cpp \ - storage/local-storage/LocalStorageAndroid.cpp - -#ui -LOCAL_SRC_FILES += ui/UIWidget.cpp \ - ui/UILayout.cpp \ - ui/UILayoutParameter.cpp \ - ui/UILayoutManager.cpp \ - ui/CocosGUI.cpp \ - ui/UIHelper.cpp \ - ui/UIListView.cpp \ - ui/UIPageView.cpp \ - ui/UIScrollView.cpp \ - ui/UIButton.cpp \ - ui/UICheckBox.cpp \ - ui/UIImageView.cpp \ - ui/UIText.cpp \ - ui/UITextAtlas.cpp \ - ui/UITextBMFont.cpp \ - ui/UILoadingBar.cpp \ - ui/UISlider.cpp \ - ui/UITextField.cpp \ - ui/UIRichText.cpp \ - ui/UIHBox.cpp \ - ui/UIVBox.cpp \ - ui/UIRelativeBox.cpp \ - ui/UIVideoPlayerAndroid.cpp \ - ui/UIDeprecated.cpp \ - ui/UIScale9Sprite.cpp - -#extension -LOCAL_SRC_FILES += ../extensions/assets-manager/AssetsManager.cpp \ - ../extensions/GUI/CCControlExtension/CCControl.cpp \ - ../extensions/GUI/CCControlExtension/CCControlButton.cpp \ - ../extensions/GUI/CCControlExtension/CCControlColourPicker.cpp \ - ../extensions/GUI/CCControlExtension/CCControlHuePicker.cpp \ - ../extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp \ - ../extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ - ../extensions/GUI/CCControlExtension/CCControlSlider.cpp \ - ../extensions/GUI/CCControlExtension/CCControlStepper.cpp \ - ../extensions/GUI/CCControlExtension/CCControlSwitch.cpp \ - ../extensions/GUI/CCControlExtension/CCControlUtils.cpp \ - ../extensions/GUI/CCControlExtension/CCInvocation.cpp \ - ../extensions/GUI/CCControlExtension/CCScale9Sprite.cpp \ - ../extensions/GUI/CCEditBox/CCEditBox.cpp \ - ../extensions/GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ - ../extensions/GUI/CCEditBox/CCEditBoxImplNone.cpp \ - ../extensions/GUI/CCEditBox/CCEditBoxImplWin.cpp \ - ../extensions/GUI/CCScrollView/CCScrollView.cpp \ - ../extensions/GUI/CCScrollView/CCTableView.cpp \ - ../extensions/GUI/CCScrollView/CCTableViewCell.cpp \ - ../extensions/physics-nodes/CCPhysicsDebugNode.cpp \ - ../extensions/physics-nodes/CCPhysicsSprite.cpp - -#box2d -LOCAL_SRC_FILES += ../external/Box2d/Collision/b2BroadPhase.cpp \ - ../external/Box2d/Collision/b2CollideCircle.cpp \ - ../external/Box2d/Collision/b2CollideEdge.cpp \ - ../external/Box2d/Collision/b2CollidePolygon.cpp \ - ../external/Box2d/Collision/b2Collision.cpp \ - ../external/Box2d/Collision/b2Distance.cpp \ - ../external/Box2d/Collision/b2DynamicTree.cpp \ - ../external/Box2d/Collision/b2TimeOfImpact.cpp \ - ../external/Box2d/Collision/Shapes/b2ChainShape.cpp \ - ../external/Box2d/Collision/Shapes/b2CircleShape.cpp \ - ../external/Box2d/Collision/Shapes/b2EdgeShape.cpp \ - ../external/Box2d/Collision/Shapes/b2PolygonShape.cpp \ - ../external/Box2d/Common/b2BlockAllocator.cpp \ - ../external/Box2d/Common/b2Draw.cpp \ - ../external/Box2d/Common/b2Math.cpp \ - ../external/Box2d/Common/b2Settings.cpp \ - ../external/Box2d/Common/b2StackAllocator.cpp \ - ../external/Box2d/Common/b2Timer.cpp \ - ../external/Box2d/Dynamics/b2Body.cpp \ - ../external/Box2d/Dynamics/b2ContactManager.cpp \ - ../external/Box2d/Dynamics/b2Fixture.cpp \ - ../external/Box2d/Dynamics/b2Island.cpp \ - ../external/Box2d/Dynamics/b2World.cpp \ - ../external/Box2d/Dynamics/b2WorldCallbacks.cpp \ - ../external/Box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2CircleContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2Contact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2ContactSolver.cpp \ - ../external/Box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp \ - ../external/Box2d/Dynamics/Contacts/b2PolygonContact.cpp \ - ../external/Box2d/Dynamics/Joints/b2DistanceJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2FrictionJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2GearJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2Joint.cpp \ - ../external/Box2d/Dynamics/Joints/b2MotorJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2MouseJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2PrismaticJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2PulleyJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2RevoluteJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2RopeJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2WeldJoint.cpp \ - ../external/Box2d/Dynamics/Joints/b2WheelJoint.cpp \ - ../external/Box2d/Rope/b2Rope.cpp - -#chipmunk -LOCAL_SRC_FILES += ../external/chipmunk/src/chipmunk.c \ - ../external/chipmunk/src/cpArbiter.c \ - ../external/chipmunk/src/cpArray.c \ - ../external/chipmunk/src/cpBB.c \ - ../external/chipmunk/src/cpBBTree.c \ - ../external/chipmunk/src/cpBody.c \ - ../external/chipmunk/src/cpCollision.c \ - ../external/chipmunk/src/cpHashSet.c \ - ../external/chipmunk/src/cpPolyShape.c \ - ../external/chipmunk/src/cpShape.c \ - ../external/chipmunk/src/cpSpace.c \ - ../external/chipmunk/src/cpSpaceComponent.c \ - ../external/chipmunk/src/cpSpaceHash.c \ - ../external/chipmunk/src/cpSpaceQuery.c \ - ../external/chipmunk/src/cpSpaceStep.c \ - ../external/chipmunk/src/cpSpatialIndex.c \ - ../external/chipmunk/src/cpSweep1D.c \ - ../external/chipmunk/src/cpVect.c \ - ../external/chipmunk/src/constraints/cpConstraint.c \ - ../external/chipmunk/src/constraints/cpDampedRotarySpring.c \ - ../external/chipmunk/src/constraints/cpDampedSpring.c \ - ../external/chipmunk/src/constraints/cpGearJoint.c \ - ../external/chipmunk/src/constraints/cpGrooveJoint.c \ - ../external/chipmunk/src/constraints/cpPinJoint.c \ - ../external/chipmunk/src/constraints/cpPivotJoint.c \ - ../external/chipmunk/src/constraints/cpRatchetJoint.c \ - ../external/chipmunk/src/constraints/cpRotaryLimitJoint.c \ - ../external/chipmunk/src/constraints/cpSimpleMotor.c \ - ../external/chipmunk/src/constraints/cpSlideJoint.c - - LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \ + $(LOCAL_PATH)/. \ $(LOCAL_PATH)/platform/android \ $(LOCAL_PATH)/base \ - $(LOCAL_PATH)/../external \ $(LOCAL_PATH)/../external/tinyxml2 \ $(LOCAL_PATH)/../external/unzip \ $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ $(LOCAL_PATH)/../external/xxhash \ - $(LOCAL_PATH)/../external/nslog \ - $(LOCAL_PATH)/audio/include \ - $(LOCAL_PATH)/editor-support \ - $(LOCAL_PATH)/storage \ - $(LOCAL_PATH)/../extensions/GUI/CCControlExtension \ - $(LOCAL_PATH)/../extensions/GUI/CCScrollView \ - $(LOCAL_PATH)/../external/chipmunk/include/chipmunk + $(LOCAL_PATH)/../external/nslog LOCAL_C_INCLUDES := $(LOCAL_PATH) \ - $(LOCAL_PATH)/.. \ + $(LOCAL_PATH)/. \ $(LOCAL_PATH)/platform/android \ $(LOCAL_PATH)/../external \ $(LOCAL_PATH)/../external/tinyxml2 \ @@ -482,11 +204,7 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../external/edtaa3func \ $(LOCAL_PATH)/../external/xxhash \ $(LOCAL_PATH)/../external/ConvertUTF \ - $(LOCAL_PATH)/../external/nslog \ - $(LOCAL_PATH)/audio/include \ - $(LOCAL_PATH)/audio/android \ - $(LOCAL_PATH)/editor-support \ - $(LOCAL_PATH)/editor-support/cocosbuilder + $(LOCAL_PATH)/../external/nslog LOCAL_EXPORT_LDLIBS := -lGLESv2 \ -llog \ @@ -494,18 +212,27 @@ LOCAL_EXPORT_LDLIBS := -lGLESv2 \ -landroid LOCAL_STATIC_LIBRARIES := cocos_freetype2_static -LOCAL_STATIC_LIBRARIES += cocos_curl_static -LOCAL_STATIC_LIBRARIES += libwebsockets_static LOCAL_STATIC_LIBRARIES += cocos_png_static LOCAL_STATIC_LIBRARIES += cocos_jpeg_static LOCAL_STATIC_LIBRARIES += cocos_tiff_static LOCAL_STATIC_LIBRARIES += cocos_webp_static +LOCAL_STATIC_LIBRARIES += cocos3d_static +LOCAL_STATIC_LIBRARIES += cocosdenshion_static +LOCAL_STATIC_LIBRARIES += cocosbuilder_static +LOCAL_STATIC_LIBRARIES += cocostudio_static +LOCAL_STATIC_LIBRARIES += spine_static +LOCAL_STATIC_LIBRARIES += cocos_network_static +LOCAL_STATIC_LIBRARIES += cocos_ui_static +LOCAL_STATIC_LIBRARIES += cocos_extension_static +LOCAL_STATIC_LIBRARIES += box2d_static +LOCAL_STATIC_LIBRARIES += chipmunk_static +LOCAL_STATIC_LIBRARIES += cocos_curl_static +LOCAL_STATIC_LIBRARIES += libwebsockets_static LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dxandroid_static # define the macro to compile through support/zip_support/ioapi.c LOCAL_CFLAGS := -DUSE_FILE32API -LOCAL_CFLAGS += -std=c99 LOCAL_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compat LOCAL_EXPORT_CFLAGS := -DUSE_FILE32API LOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compat @@ -513,10 +240,23 @@ LOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compat include $(BUILD_STATIC_LIBRARY) $(call import-module,freetype2/prebuilt/android) +$(call import-module,chipmunk) $(call import-module,platform/android) $(call import-module,png/prebuilt/android) $(call import-module,jpeg/prebuilt/android) $(call import-module,tiff/prebuilt/android) $(call import-module,webp/prebuilt/android) +$(call import-module,webp/prebuilt/android) +$(call import-module,webp/prebuilt/android) +$(call import-module,3d) +$(call import-module,audio/android) +$(call import-module,editor-support/cocosbuilder) +$(call import-module,editor-support/cocostudio) +$(call import-module,editor-support/spine) +$(call import-module,network) +$(call import-module,ui) +$(call import-module,extensions) +$(call import-module,Box2D) $(call import-module,curl/prebuilt/android) $(call import-module,websockets/prebuilt/android) + diff --git a/cocos/audio/android/Android.mk b/cocos/audio/android/Android.mk new file mode 100644 index 0000000000..3854fa79d7 --- /dev/null +++ b/cocos/audio/android/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocosdenshion_static + +LOCAL_MODULE_FILENAME := libcocosdenshion + +LOCAL_SRC_FILES := cddSimpleAudioEngine.cpp \ + ccdandroidUtils.cpp \ + jni/cddandroidAndroidJavaEngine.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../include + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include \ + $(LOCAL_PATH)/../.. \ + $(LOCAL_PATH)/../../platform/android + +include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk new file mode 100644 index 0000000000..36089ec055 --- /dev/null +++ b/cocos/editor-support/cocosbuilder/Android.mk @@ -0,0 +1,45 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocosbuilder_static + +LOCAL_MODULE_FILENAME := libcocosbuilder + +LOCAL_SRC_FILES := CCBAnimationManager.cpp \ +CCBFileLoader.cpp \ +CCBKeyframe.cpp \ +CCBReader.cpp \ +CCBSequence.cpp \ +CCBSequenceProperty.cpp \ +CCControlButtonLoader.cpp \ +CCControlLoader.cpp \ +CCLabelBMFontLoader.cpp \ +CCLabelTTFLoader.cpp \ +CCLayerColorLoader.cpp \ +CCLayerGradientLoader.cpp \ +CCLayerLoader.cpp \ +CCMenuItemImageLoader.cpp \ +CCMenuItemLoader.cpp \ +CCNode+CCBRelativePositioning.cpp \ +CCNodeLoader.cpp \ +CCNodeLoaderLibrary.cpp \ +CCParticleSystemQuadLoader.cpp \ +CCScale9SpriteLoader.cpp \ +CCScrollViewLoader.cpp \ +CCSpriteLoader.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../../.. + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../2d \ +$(LOCAL_PATH) \ +$(LOCAL_PATH)/../../.. \ +$(LOCAL_PATH)/../../ \ +$(LOCAL_PATH)/../../platform/android \ +$(LOCAL_PATH)/../../editor-support + +LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos_extension_static + +include $(BUILD_STATIC_LIBRARY) + diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk new file mode 100644 index 0000000000..f4ffa5dcbd --- /dev/null +++ b/cocos/editor-support/cocostudio/Android.mk @@ -0,0 +1,82 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocostudio_static + +LOCAL_MODULE_FILENAME := libcocostudio + +LOCAL_SRC_FILES := CCActionFrame.cpp \ +CCActionFrameEasing.cpp \ +CCActionManagerEx.cpp \ +CCActionNode.cpp \ +CCActionObject.cpp \ +CCArmature.cpp \ +CCBone.cpp \ +CCArmatureAnimation.cpp \ +CCProcessBase.cpp \ +CCTween.cpp \ +CCDatas.cpp \ +CCBatchNode.cpp \ +CCDecorativeDisplay.cpp \ +CCDisplayFactory.cpp \ +CCDisplayManager.cpp \ +CCSkin.cpp \ +CCColliderDetector.cpp \ +CCArmatureDataManager.cpp \ +CCArmatureDefine.cpp \ +CCDataReaderHelper.cpp \ +CCSpriteFrameCacheHelper.cpp \ +CCTransformHelp.cpp \ +CCUtilMath.cpp \ +CCComAttribute.cpp \ +CCComAudio.cpp \ +CCComController.cpp \ +CCComRender.cpp \ +CCInputDelegate.cpp \ +DictionaryHelper.cpp \ +CCSGUIReader.cpp \ +CCSSceneReader.cpp \ +TriggerBase.cpp \ +TriggerMng.cpp \ +TriggerObj.cpp \ +CocoLoader.cpp \ +WidgetReader/WidgetReader.cpp \ +WidgetReader/ButtonReader/ButtonReader.cpp \ +WidgetReader/CheckBoxReader/CheckBoxReader.cpp \ +WidgetReader/ImageViewReader/ImageViewReader.cpp \ +WidgetReader/LayoutReader/LayoutReader.cpp \ +WidgetReader/ListViewReader/ListViewReader.cpp \ +WidgetReader/LoadingBarReader/LoadingBarReader.cpp \ +WidgetReader/PageViewReader/PageViewReader.cpp \ +WidgetReader/ScrollViewReader/ScrollViewReader.cpp \ +WidgetReader/SliderReader/SliderReader.cpp \ +WidgetReader/TextAtlasReader/TextAtlasReader.cpp \ +WidgetReader/TextBMFontReader/TextBMFontReader.cpp \ +WidgetReader/TextFieldReader/TextFieldReader.cpp \ +WidgetReader/TextReader/TextReader.cpp \ +ActionTimeline/CCNodeReader.cpp \ +ActionTimeline/CCActionTimelineCache.cpp \ +ActionTimeline/CCFrame.cpp \ +ActionTimeline/CCTimeLine.cpp \ +ActionTimeline/CCActionTimeline.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../../../external + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/../../../external \ +$(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/WidgetReader \ +$(LOCAL_PATH)/../../platform/android \ +$(LOCAL_PATH)/../../../external/tinyxml2 \ + +LOCAL_CFLAGS += -fexceptions + +LOCAL_STATIC_LIBRARIES := cocos_ui_static +LOCAL_STATIC_LIBRARIES += cocosdenshion_static +LOCAL_STATIC_LIBRARIES += cocos_extension_static +LOCAL_STATIC_LIBRARIES += cocos2dx_static + +include $(BUILD_STATIC_LIBRARY) + diff --git a/cocos/editor-support/spine/Android.mk b/cocos/editor-support/spine/Android.mk new file mode 100644 index 0000000000..f49532d9c8 --- /dev/null +++ b/cocos/editor-support/spine/Android.mk @@ -0,0 +1,42 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := spine_static + +LOCAL_MODULE_FILENAME := libspine + +LOCAL_SRC_FILES := Animation.cpp \ +AnimationState.cpp \ +AnimationStateData.cpp \ +Atlas.cpp \ +AtlasAttachmentLoader.cpp \ +Attachment.cpp \ +AttachmentLoader.cpp \ +Bone.cpp \ +BoneData.cpp \ +CCSkeleton.cpp \ +CCSkeletonAnimation.cpp \ +Json.cpp \ +RegionAttachment.cpp \ +Skeleton.cpp \ +SkeletonData.cpp \ +SkeletonJson.cpp \ +Skin.cpp \ +Slot.cpp \ +SlotData.cpp \ +BoundingBoxAttachment.cpp \ +Event.cpp \ +EventData.cpp \ +SkeletonBounds.cpp \ +extension.cpp \ +spine-cocos2dx.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../../platform/android + +LOCAL_STATIC_LIBRARIES := cocos2dx_static + +include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/network/Android.mk b/cocos/network/Android.mk new file mode 100644 index 0000000000..96a760cfb3 --- /dev/null +++ b/cocos/network/Android.mk @@ -0,0 +1,25 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocos_network_static + +LOCAL_MODULE_FILENAME := libnetwork + +LOCAL_SRC_FILES := HttpClient.cpp \ +SocketIO.cpp \ +WebSocket.cpp + + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../platform/android \ +$(LOCAL_PATH)/../../external/curl/include/android \ +$(LOCAL_PATH)/../../external/websockets/include/android + +LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES += cocos_curl_static +LOCAL_STATIC_LIBRARIES += libwebsockets_static + +include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/ui/Android.mk b/cocos/ui/Android.mk new file mode 100644 index 0000000000..cabe2e9e8a --- /dev/null +++ b/cocos/ui/Android.mk @@ -0,0 +1,49 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocos_ui_static + +LOCAL_MODULE_FILENAME := libui + +LOCAL_SRC_FILES := \ +UIWidget.cpp \ +UILayout.cpp \ +UILayoutParameter.cpp \ +UILayoutManager.cpp \ +CocosGUI.cpp \ +UIHelper.cpp \ +UIListView.cpp \ +UIPageView.cpp \ +UIScrollView.cpp \ +UIButton.cpp \ +UICheckBox.cpp \ +UIImageView.cpp \ +UIText.cpp \ +UITextAtlas.cpp \ +UITextBMFont.cpp \ +UILoadingBar.cpp \ +UISlider.cpp \ +UITextField.cpp \ +UIRichText.cpp \ +UIHBox.cpp \ +UIVBox.cpp \ +UIRelativeBox.cpp \ +UIVideoPlayerAndroid.cpp \ +UIDeprecated.cpp \ +UIScale9Sprite.cpp \ + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../editor-support + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../../external \ +$(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/../editor-support \ +$(LOCAL_PATH)/../platform/android + +LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES += cocos_extension_static + +include $(BUILD_STATIC_LIBRARY) + diff --git a/extensions/Android.mk b/extensions/Android.mk new file mode 100644 index 0000000000..04fed90e66 --- /dev/null +++ b/extensions/Android.mk @@ -0,0 +1,50 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := cocos_extension_static + +LOCAL_MODULE_FILENAME := libextension + +LOCAL_SRC_FILES := \ +assets-manager/AssetsManager.cpp \ +GUI/CCControlExtension/CCControl.cpp \ +GUI/CCControlExtension/CCControlButton.cpp \ +GUI/CCControlExtension/CCControlColourPicker.cpp \ +GUI/CCControlExtension/CCControlHuePicker.cpp \ +GUI/CCControlExtension/CCControlPotentiometer.cpp \ +GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ +GUI/CCControlExtension/CCControlSlider.cpp \ +GUI/CCControlExtension/CCControlStepper.cpp \ +GUI/CCControlExtension/CCControlSwitch.cpp \ +GUI/CCControlExtension/CCControlUtils.cpp \ +GUI/CCControlExtension/CCInvocation.cpp \ +GUI/CCControlExtension/CCScale9Sprite.cpp \ +GUI/CCEditBox/CCEditBox.cpp \ +GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ +GUI/CCEditBox/CCEditBoxImplNone.cpp \ +GUI/CCEditBox/CCEditBoxImplWin.cpp \ +GUI/CCScrollView/CCScrollView.cpp \ +GUI/CCScrollView/CCTableView.cpp \ +GUI/CCScrollView/CCTableViewCell.cpp \ +physics-nodes/CCPhysicsDebugNode.cpp \ +physics-nodes/CCPhysicsSprite.cpp + +LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES += cocos_curl_static +LOCAL_STATIC_LIBRARIES += box2d_static + +LOCAL_CXXFLAGS += -fexceptions + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ + $(LOCAL_PATH)/../cocos \ + $(LOCAL_PATH)/../cocos/platform/android \ + $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ + $(LOCAL_PATH)/../external/curl/include/android \ + $(LOCAL_PATH)/../external/unzip + + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ + $(LOCAL_PATH)/GUI/CCControlExtension \ + $(LOCAL_PATH)/GUI/CCScrollView + +include $(BUILD_STATIC_LIBRARY) diff --git a/external/Box2D/Android.mk b/external/Box2D/Android.mk new file mode 100644 index 0000000000..ca6cfca39e --- /dev/null +++ b/external/Box2D/Android.mk @@ -0,0 +1,61 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := box2d_static + +LOCAL_MODULE_FILENAME := libbox2d + +LOCAL_SRC_FILES := \ +Collision/b2BroadPhase.cpp \ +Collision/b2CollideCircle.cpp \ +Collision/b2CollideEdge.cpp \ +Collision/b2CollidePolygon.cpp \ +Collision/b2Collision.cpp \ +Collision/b2Distance.cpp \ +Collision/b2DynamicTree.cpp \ +Collision/b2TimeOfImpact.cpp \ +Collision/Shapes/b2ChainShape.cpp \ +Collision/Shapes/b2CircleShape.cpp \ +Collision/Shapes/b2EdgeShape.cpp \ +Collision/Shapes/b2PolygonShape.cpp \ +Common/b2BlockAllocator.cpp \ +Common/b2Draw.cpp \ +Common/b2Math.cpp \ +Common/b2Settings.cpp \ +Common/b2StackAllocator.cpp \ +Common/b2Timer.cpp \ +Dynamics/b2Body.cpp \ +Dynamics/b2ContactManager.cpp \ +Dynamics/b2Fixture.cpp \ +Dynamics/b2Island.cpp \ +Dynamics/b2World.cpp \ +Dynamics/b2WorldCallbacks.cpp \ +Dynamics/Contacts/b2ChainAndCircleContact.cpp \ +Dynamics/Contacts/b2ChainAndPolygonContact.cpp \ +Dynamics/Contacts/b2CircleContact.cpp \ +Dynamics/Contacts/b2Contact.cpp \ +Dynamics/Contacts/b2ContactSolver.cpp \ +Dynamics/Contacts/b2EdgeAndCircleContact.cpp \ +Dynamics/Contacts/b2EdgeAndPolygonContact.cpp \ +Dynamics/Contacts/b2PolygonAndCircleContact.cpp \ +Dynamics/Contacts/b2PolygonContact.cpp \ +Dynamics/Joints/b2DistanceJoint.cpp \ +Dynamics/Joints/b2FrictionJoint.cpp \ +Dynamics/Joints/b2GearJoint.cpp \ +Dynamics/Joints/b2Joint.cpp \ +Dynamics/Joints/b2MotorJoint.cpp \ +Dynamics/Joints/b2MouseJoint.cpp \ +Dynamics/Joints/b2PrismaticJoint.cpp \ +Dynamics/Joints/b2PulleyJoint.cpp \ +Dynamics/Joints/b2RevoluteJoint.cpp \ +Dynamics/Joints/b2RopeJoint.cpp \ +Dynamics/Joints/b2WeldJoint.cpp \ +Dynamics/Joints/b2WheelJoint.cpp \ +Rope/b2Rope.cpp + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +include $(BUILD_STATIC_LIBRARY) diff --git a/external/chipmunk/Android.mk b/external/chipmunk/Android.mk new file mode 100644 index 0000000000..e8441cd0d7 --- /dev/null +++ b/external/chipmunk/Android.mk @@ -0,0 +1,45 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := chipmunk_static + +LOCAL_MODULE_FILENAME := libchipmunk + +LOCAL_SRC_FILES := \ +src/chipmunk.c \ +src/cpArbiter.c \ +src/cpArray.c \ +src/cpBB.c \ +src/cpBBTree.c \ +src/cpBody.c \ +src/cpCollision.c \ +src/cpHashSet.c \ +src/cpPolyShape.c \ +src/cpShape.c \ +src/cpSpace.c \ +src/cpSpaceComponent.c \ +src/cpSpaceHash.c \ +src/cpSpaceQuery.c \ +src/cpSpaceStep.c \ +src/cpSpatialIndex.c \ +src/cpSweep1D.c \ +src/cpVect.c \ +src/constraints/cpConstraint.c \ +src/constraints/cpDampedRotarySpring.c \ +src/constraints/cpDampedSpring.c \ +src/constraints/cpGearJoint.c \ +src/constraints/cpGrooveJoint.c \ +src/constraints/cpPinJoint.c \ +src/constraints/cpPivotJoint.c \ +src/constraints/cpRatchetJoint.c \ +src/constraints/cpRotaryLimitJoint.c \ +src/constraints/cpSimpleMotor.c \ +src/constraints/cpSlideJoint.c + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk +LOCAL_CFLAGS := -std=c99 + +include $(BUILD_STATIC_LIBRARY) From bef774a14aa141273be9830f90fc1e25b1ea0c95 Mon Sep 17 00:00:00 2001 From: Dhilan007 Date: Wed, 27 Aug 2014 22:54:28 +0800 Subject: [PATCH 23/32] Adjust android.mk for cocos2d and related module --- cocos/3d/Android.mk | 2 +- cocos/Android.mk | 33 ++++++++++++-------- cocos/editor-support/cocosbuilder/Android.mk | 2 +- cocos/editor-support/cocostudio/Android.mk | 2 +- cocos/editor-support/spine/Android.mk | 2 +- cocos/network/Android.mk | 2 +- cocos/storage/local-storage/Android.mk | 2 +- cocos/ui/Android.mk | 2 +- extensions/Android.mk | 2 +- 9 files changed, 28 insertions(+), 21 deletions(-) diff --git a/cocos/3d/Android.mk b/cocos/3d/Android.mk index d67b36b107..0a9d859a27 100644 --- a/cocos/3d/Android.mk +++ b/cocos/3d/Android.mk @@ -28,6 +28,6 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../../external \ $(LOCAL_PATH)/../platform/android -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/Android.mk b/cocos/Android.mk index 88a955af29..94c14a9824 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -2,9 +2,9 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := cocos2dx_static +LOCAL_MODULE := cocos2dx_internal_static -LOCAL_MODULE_FILENAME := libcocos2d +LOCAL_MODULE_FILENAME := libcocos2dxinternal LOCAL_SRC_FILES := \ cocos2d.cpp \ @@ -216,18 +216,7 @@ LOCAL_STATIC_LIBRARIES += cocos_png_static LOCAL_STATIC_LIBRARIES += cocos_jpeg_static LOCAL_STATIC_LIBRARIES += cocos_tiff_static LOCAL_STATIC_LIBRARIES += cocos_webp_static -LOCAL_STATIC_LIBRARIES += cocos3d_static -LOCAL_STATIC_LIBRARIES += cocosdenshion_static -LOCAL_STATIC_LIBRARIES += cocosbuilder_static -LOCAL_STATIC_LIBRARIES += cocostudio_static -LOCAL_STATIC_LIBRARIES += spine_static -LOCAL_STATIC_LIBRARIES += cocos_network_static -LOCAL_STATIC_LIBRARIES += cocos_ui_static -LOCAL_STATIC_LIBRARIES += cocos_extension_static -LOCAL_STATIC_LIBRARIES += box2d_static LOCAL_STATIC_LIBRARIES += chipmunk_static -LOCAL_STATIC_LIBRARIES += cocos_curl_static -LOCAL_STATIC_LIBRARIES += libwebsockets_static LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dxandroid_static @@ -239,6 +228,24 @@ LOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compat include $(BUILD_STATIC_LIBRARY) +#============================================================== + +include $(CLEAR_VARS) + +LOCAL_MODULE := cocos2dx_static + +LOCAL_MODULE_FILENAME := libcocos2d + +LOCAL_STATIC_LIBRARIES := cocostudio_static +LOCAL_STATIC_LIBRARIES += cocos3d_static +LOCAL_STATIC_LIBRARIES += cocosbuilder_static +LOCAL_STATIC_LIBRARIES += spine_static +LOCAL_STATIC_LIBRARIES += cocos_network_static +LOCAL_STATIC_LIBRARIES += box2d_static +LOCAL_STATIC_LIBRARIES += chipmunk_static + +include $(BUILD_STATIC_LIBRARY) +#============================================================== $(call import-module,freetype2/prebuilt/android) $(call import-module,chipmunk) $(call import-module,platform/android) diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk index 36089ec055..747d9827cd 100644 --- a/cocos/editor-support/cocosbuilder/Android.mk +++ b/cocos/editor-support/cocosbuilder/Android.mk @@ -38,7 +38,7 @@ $(LOCAL_PATH)/../../ \ $(LOCAL_PATH)/../../platform/android \ $(LOCAL_PATH)/../../editor-support -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static LOCAL_STATIC_LIBRARIES := cocos_extension_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk index f4ffa5dcbd..a9b5b55439 100644 --- a/cocos/editor-support/cocostudio/Android.mk +++ b/cocos/editor-support/cocostudio/Android.mk @@ -76,7 +76,7 @@ LOCAL_CFLAGS += -fexceptions LOCAL_STATIC_LIBRARIES := cocos_ui_static LOCAL_STATIC_LIBRARIES += cocosdenshion_static LOCAL_STATIC_LIBRARIES += cocos_extension_static -LOCAL_STATIC_LIBRARIES += cocos2dx_static +LOCAL_STATIC_LIBRARIES += cocos2dx_internal_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/editor-support/spine/Android.mk b/cocos/editor-support/spine/Android.mk index f49532d9c8..118f45c52e 100644 --- a/cocos/editor-support/spine/Android.mk +++ b/cocos/editor-support/spine/Android.mk @@ -37,6 +37,6 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../../platform/android -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/network/Android.mk b/cocos/network/Android.mk index 96a760cfb3..e056ad41c5 100644 --- a/cocos/network/Android.mk +++ b/cocos/network/Android.mk @@ -18,7 +18,7 @@ $(LOCAL_PATH)/../platform/android \ $(LOCAL_PATH)/../../external/curl/include/android \ $(LOCAL_PATH)/../../external/websockets/include/android -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static LOCAL_STATIC_LIBRARIES += cocos_curl_static LOCAL_STATIC_LIBRARIES += libwebsockets_static diff --git a/cocos/storage/local-storage/Android.mk b/cocos/storage/local-storage/Android.mk index 3a7a2604ee..65a29778fd 100644 --- a/cocos/storage/local-storage/Android.mk +++ b/cocos/storage/local-storage/Android.mk @@ -17,7 +17,7 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. LOCAL_CFLAGS += -Wno-psabi LOCAL_EXPORT_CFLAGS += -Wno-psabi -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/ui/Android.mk b/cocos/ui/Android.mk index cabe2e9e8a..78bd2c4630 100644 --- a/cocos/ui/Android.mk +++ b/cocos/ui/Android.mk @@ -42,7 +42,7 @@ $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/../editor-support \ $(LOCAL_PATH)/../platform/android -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static LOCAL_STATIC_LIBRARIES += cocos_extension_static include $(BUILD_STATIC_LIBRARY) diff --git a/extensions/Android.mk b/extensions/Android.mk index 04fed90e66..89877aa54d 100644 --- a/extensions/Android.mk +++ b/extensions/Android.mk @@ -29,7 +29,7 @@ GUI/CCScrollView/CCTableViewCell.cpp \ physics-nodes/CCPhysicsDebugNode.cpp \ physics-nodes/CCPhysicsSprite.cpp -LOCAL_STATIC_LIBRARIES := cocos2dx_static +LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static LOCAL_STATIC_LIBRARIES += cocos_curl_static LOCAL_STATIC_LIBRARIES += box2d_static From d4d2b8c83e8a7b50da288bb41b4fb19604464cfb Mon Sep 17 00:00:00 2001 From: Slack-Moehrle Date: Wed, 27 Aug 2014 10:26:09 -0700 Subject: [PATCH 24/32] comment out [glview release]; and [eaglview release]; --- cocos/platform/ios/CCGLViewImpl.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cocos/platform/ios/CCGLViewImpl.mm b/cocos/platform/ios/CCGLViewImpl.mm index 2bc9aec8d7..2c05a03625 100644 --- a/cocos/platform/ios/CCGLViewImpl.mm +++ b/cocos/platform/ios/CCGLViewImpl.mm @@ -102,7 +102,8 @@ GLViewImpl::GLViewImpl() GLViewImpl::~GLViewImpl() { CCEAGLView *glview = (CCEAGLView*) _eaglview; - [glview release]; + // per: http://discuss.cocos2d-x.org/t/ios-glview-cceaglview-incorrect-memory-management/16554/3 + //[glview release]; } bool GLViewImpl::initWithEAGLView(void *eaglview) @@ -187,7 +188,9 @@ void GLViewImpl::end() CCEAGLView *eaglview = (CCEAGLView*) _eaglview; [eaglview removeFromSuperview]; - [eaglview release]; + + // per: http://discuss.cocos2d-x.org/t/ios-glview-cceaglview-incorrect-memory-management/16554/3 + //[eaglview release]; } From 1b5413d8b442fa04d2ec121851d0c36d3d4c1883 Mon Sep 17 00:00:00 2001 From: Slack-Moehrle Date: Wed, 27 Aug 2014 10:42:27 -0700 Subject: [PATCH 25/32] comment out [glview release]; and [eaglview release]; --- cocos/platform/ios/CCGLViewImpl.mm | 3 --- 1 file changed, 3 deletions(-) diff --git a/cocos/platform/ios/CCGLViewImpl.mm b/cocos/platform/ios/CCGLViewImpl.mm index 2c05a03625..bb8f4fccf3 100644 --- a/cocos/platform/ios/CCGLViewImpl.mm +++ b/cocos/platform/ios/CCGLViewImpl.mm @@ -102,7 +102,6 @@ GLViewImpl::GLViewImpl() GLViewImpl::~GLViewImpl() { CCEAGLView *glview = (CCEAGLView*) _eaglview; - // per: http://discuss.cocos2d-x.org/t/ios-glview-cceaglview-incorrect-memory-management/16554/3 //[glview release]; } @@ -188,8 +187,6 @@ void GLViewImpl::end() CCEAGLView *eaglview = (CCEAGLView*) _eaglview; [eaglview removeFromSuperview]; - - // per: http://discuss.cocos2d-x.org/t/ios-glview-cceaglview-incorrect-memory-management/16554/3 //[eaglview release]; } From dbdd2b3e138d2029c2f087af7d91fb9a38676043 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Wed, 27 Aug 2014 10:54:15 -0700 Subject: [PATCH 26/32] Adds ClippingNode bug test case --- .../ClippingNodeTest/ClippingNodeTest.cpp | 142 +++++++++++++++++- .../ClippingNodeTest/ClippingNodeTest.h | 24 ++- 2 files changed, 161 insertions(+), 5 deletions(-) diff --git a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp index 5f40e0dbc7..0842b6eeef 100644 --- a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp +++ b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp @@ -1,5 +1,5 @@ // -// Clipping Demo +// ClippingNodeTest // // // by Pierre-David Bélanger @@ -31,7 +31,8 @@ static std::function createFunctions[] = { CL(RawStencilBufferTest3), CL(RawStencilBufferTest4), CL(RawStencilBufferTest5), - CL(RawStencilBufferTest6) + CL(RawStencilBufferTest6), + CL(ClippingToRenderTextureTest), }; static int sceneIdx=-1; @@ -890,6 +891,143 @@ void RawStencilBufferTest6::setupStencilForDrawingOnPlane(GLint plane) //#endif // COCOS2D_DEBUG > 1 +//ClippingToRenderTextureTest + +std::string ClippingToRenderTextureTest::title() const +{ + return "Clipping to RenderTexture"; +} + +std::string ClippingToRenderTextureTest::subtitle() const +{ + return "Both should look the same"; +} + +void ClippingToRenderTextureTest::setup() +{ + auto button = MenuItemFont::create("Reproduce bug", [&](Ref *sender) { + enumerateChildren("remove me [0-9]", [&](Node *node) { + this->removeChild(node); + this->reproduceBug(); + return false; + } + ); + }); + + auto s = Director::getInstance()->getWinSize(); + // create menu, it's an autorelease object + auto menu = Menu::create(button, NULL); + menu->setPosition(Point(s.width/2, s.height/2)); + this->addChild(menu, 1); + + expectedBehaviour(); +} + +void ClippingToRenderTextureTest::expectedBehaviour() +{ + auto director = Director::getInstance(); + Size visibleSize = director->getVisibleSize(); + Point origin = director->getVisibleOrigin(); + + + // add "HelloWorld" splash screen" + auto sprite = Sprite::create("Images/grossini.png"); + + // position the sprite on the center of the screen + sprite->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); + + // add the sprite as a child to this layer + this->addChild(sprite, 0); + sprite->setName("remove me 0"); + + // container node that will contain the clippingNode + auto container = Node::create(); + this->addChild(container); + container->setName("remove me 1"); + + auto stencil = DrawNode::create(); + Point triangle[3]; + triangle[0] = Point(-50, -50); + triangle[1] = Point(50, -50); + triangle[2] = Point(0, 50); + Color4F green(0, 1, 0, 1); + stencil->drawPolygon(triangle, 3, green, 0, green); + + auto clipper = ClippingNode::create(); + clipper->setAnchorPoint(Point(0.5, 0.5)); + clipper->setPosition( Point(visibleSize.width/2, visibleSize.height/2) ); + clipper->setStencil(stencil); + clipper->setInverted(true); + container->addChild(clipper, 1); + + + auto img = DrawNode::create(); + triangle[0] = Point(-200, -200); + triangle[1] = Point(200, -200); + triangle[2] = Point(0, 200); + Color4F red(1, 0, 0, 1); + img->drawPolygon(triangle, 3, red, 0, red); + clipper->addChild(img); +} + +void ClippingToRenderTextureTest::reproduceBug() +{ + auto director = Director::getInstance(); + Size visibleSize = director->getVisibleSize(); + Point origin = director->getVisibleOrigin(); + + + // add "HelloWorld" splash screen" + auto sprite = Sprite::create("Images/grossini.png"); + + // position the sprite on the center of the screen + sprite->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); + + // add the sprite as a child to this layer + this->addChild(sprite, 0); + + + // container node that will contain the clippingNode + auto container = Node::create(); + container->retain(); + + auto stencil = DrawNode::create(); + Point triangle[3]; + triangle[0] = Point(-50, -50); + triangle[1] = Point(50, -50); + triangle[2] = Point(0, 50); + Color4F green(0, 1, 0, 1); + stencil->drawPolygon(triangle, 3, green, 0, green); + + auto clipper = ClippingNode::create(); + clipper->setAnchorPoint(Point(0.5, 0.5)); + clipper->setPosition( Point(visibleSize.width/2, visibleSize.height/2) ); + clipper->setStencil(stencil); + clipper->setInverted(true); + container->addChild(clipper, 1); + + + auto img = DrawNode::create(); + triangle[0] = Point(-200, -200); + triangle[1] = Point(200, -200); + triangle[2] = Point(0, 200); + Color4F red(1, 0, 0, 1); + img->drawPolygon(triangle, 3, red, 0, red); + clipper->addChild(img); + + // container rendered on Texture the size of the screen + RenderTexture* rt = RenderTexture::create(visibleSize.width, visibleSize.height); + rt->setPosition(visibleSize.width/2, visibleSize.height/2); + this->addChild(rt); + + rt->beginWithClear(0.3, 0, 0, 1); + container->visit(); + rt->end(); +} + + +// main entry point + void ClippingNodeTestScene::runThisTest() { auto layer = nextAction(); diff --git a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.h b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.h index cda23e9062..4b9faa13cb 100644 --- a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.h +++ b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.h @@ -30,7 +30,7 @@ public: virtual std::string title() const override; virtual std::string subtitle() const override; - virtual void setup(); + virtual void setup() override; virtual Action* actionRotate(); virtual Action* actionScale(); @@ -219,14 +219,32 @@ class RawStencilBufferTest6 : public RawStencilBufferTestAlphaTest { public: CREATE_FUNC(RawStencilBufferTest6); - virtual void setup() override; - virtual std::string subtitle() const override; + virtual void setupStencilForClippingOnPlane(GLint plane); virtual void setupStencilForDrawingOnPlane(GLint plane); + + // override + virtual void setup() override; + virtual std::string subtitle() const override; }; //#endif //COCOS2D_DEBUG > 1 +class ClippingToRenderTextureTest : public BaseClippingNodeTest +{ +public: + CREATE_FUNC(ClippingToRenderTextureTest); + + void expectedBehaviour(); + void reproduceBug(); + + // override + virtual void setup() override; + virtual std::string title() const override; + virtual std::string subtitle() const override; +}; + + class ClippingNodeTestScene : public TestScene { public: From 3dda35b4efc633eafe608b8c7cae50a854317566 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Wed, 27 Aug 2014 16:31:57 -0700 Subject: [PATCH 27/32] Adds `std::nothrow` to `new` Since cocos2d-x doesn't support exceptions, it is important to add `std::nothrow` to all the `new` statements --- CHANGELOG | 30 ++-- cocos/2d/CCAction.cpp | 8 +- cocos/2d/CCActionCamera.cpp | 6 +- cocos/2d/CCActionCatmullRom.cpp | 22 +-- cocos/2d/CCActionEase.cpp | 136 +++++++++--------- cocos/2d/CCActionGrid.cpp | 16 +-- cocos/2d/CCActionGrid3D.cpp | 36 ++--- cocos/2d/CCActionInstant.cpp | 40 +++--- cocos/2d/CCActionInterval.cpp | 128 ++++++++--------- cocos/2d/CCActionPageTurn3D.cpp | 4 +- cocos/2d/CCActionProgressTimer.cpp | 8 +- cocos/2d/CCActionTiledGrid.cpp | 50 +++---- cocos/2d/CCActionTween.cpp | 4 +- cocos/2d/CCAnimation.cpp | 12 +- cocos/2d/CCAnimationCache.cpp | 2 +- cocos/2d/CCAtlasNode.cpp | 4 +- cocos/2d/CCClippingNode.cpp | 4 +- cocos/2d/CCComponent.cpp | 2 +- cocos/2d/CCComponentContainer.cpp | 4 +- cocos/2d/CCDrawNode.cpp | 2 +- cocos/2d/CCDrawingPrimitives.cpp | 12 +- cocos/2d/CCFastTMXLayer.cpp | 2 +- cocos/2d/CCFastTMXTiledMap.cpp | 4 +- cocos/2d/CCFontAtlas.cpp | 4 +- cocos/2d/CCFontCharMap.cpp | 2 +- cocos/2d/CCFontFNT.cpp | 6 +- cocos/2d/CCFontFreeType.cpp | 2 +- cocos/2d/CCGrid.cpp | 16 +-- cocos/2d/CCLabel.cpp | 18 +-- cocos/2d/CCLabelAtlas.cpp | 6 +- cocos/2d/CCLabelBMFont.cpp | 4 +- cocos/2d/CCLabelTTF.cpp | 6 +- cocos/2d/CCLayer.cpp | 22 +-- cocos/2d/CCMenu.cpp | 2 +- cocos/2d/CCMenuItem.cpp | 46 +++--- cocos/2d/CCMotionStreak.cpp | 4 +- cocos/2d/CCNode.cpp | 4 +- cocos/2d/CCNodeGrid.cpp | 2 +- cocos/2d/CCParallaxNode.cpp | 4 +- cocos/2d/CCParticleBatchNode.cpp | 6 +- cocos/2d/CCParticleExamples.cpp | 46 +++--- cocos/2d/CCParticleSystem.cpp | 6 +- cocos/2d/CCParticleSystemQuad.cpp | 6 +- cocos/2d/CCProgressTimer.cpp | 2 +- cocos/2d/CCProtectedNode.cpp | 2 +- cocos/2d/CCRenderTexture.cpp | 16 +-- cocos/2d/CCScene.cpp | 6 +- cocos/2d/CCSprite.cpp | 4 +- cocos/2d/CCSpriteBatchNode.cpp | 8 +- cocos/2d/CCSpriteFrame.cpp | 10 +- cocos/2d/CCSpriteFrameCache.cpp | 2 +- cocos/2d/CCTMXLayer.cpp | 2 +- cocos/2d/CCTMXTiledMap.cpp | 4 +- cocos/2d/CCTMXXMLParser.cpp | 10 +- cocos/2d/CCTextFieldTTF.cpp | 4 +- cocos/2d/CCTileMapAtlas.cpp | 2 +- cocos/2d/CCTransition.cpp | 56 ++++---- cocos/2d/CCTransitionPageTurn.cpp | 2 +- cocos/2d/CCTransitionProgress.cpp | 14 +- cocos/3d/CCAnimate3D.cpp | 2 +- cocos/3d/CCAnimation3D.cpp | 10 +- cocos/3d/CCAnimationCurve.inl | 2 +- cocos/3d/CCAttachNode.cpp | 2 +- cocos/3d/CCBundle3D.cpp | 44 +++--- cocos/3d/CCMesh.cpp | 2 +- cocos/3d/CCMeshSkin.cpp | 4 +- cocos/3d/CCMeshVertexIndexData.cpp | 4 +- cocos/3d/CCSkeleton3D.cpp | 4 +- cocos/3d/CCSprite3D.cpp | 18 +-- cocos/3d/CCSprite3DMaterial.cpp | 2 +- cocos/audio/ios/SimpleAudioEngine.mm | 2 +- cocos/audio/mac/SimpleAudioEngine.mm | 2 +- cocos/base/CCAutoreleasePool.cpp | 2 +- cocos/base/CCCamera.cpp | 6 +- cocos/base/CCConfiguration.cpp | 2 +- cocos/base/CCController-iOS.mm | 2 +- cocos/base/CCController.cpp | 6 +- cocos/base/CCDirector.cpp | 24 ++-- cocos/base/CCEventDispatcher.cpp | 2 +- cocos/base/CCEventListenerAcceleration.cpp | 4 +- cocos/base/CCEventListenerController.cpp | 2 +- cocos/base/CCEventListenerCustom.cpp | 4 +- cocos/base/CCEventListenerFocus.cpp | 4 +- cocos/base/CCEventListenerKeyboard.cpp | 4 +- cocos/base/CCEventListenerMouse.cpp | 4 +- cocos/base/CCEventListenerTouch.cpp | 8 +- cocos/base/CCProfiling.cpp | 4 +- cocos/base/CCScheduler.cpp | 4 +- cocos/base/CCScriptSupport.cpp | 10 +- cocos/base/CCUserDefault.cpp | 2 +- cocos/base/CCUserDefault.mm | 2 +- cocos/base/CCUserDefaultAndroid.cpp | 2 +- cocos/base/CCValue.cpp | 24 ++-- cocos/base/ObjectFactory.cpp | 2 +- cocos/deprecated/CCArray.h | 4 +- cocos/deprecated/CCDictionary.cpp | 4 +- cocos/deprecated/CCNotificationCenter.cpp | 4 +- .../cocosbuilder/CCBAnimationManager.cpp | 26 ++-- .../editor-support/cocosbuilder/CCBReader.cpp | 18 +-- cocos/editor-support/cocosbuilder/CCBReader.h | 4 +- .../cocosbuilder/CCNodeLoader.cpp | 8 +- .../cocosbuilder/CCNodeLoaderLibrary.cpp | 2 +- .../ActionTimeline/CCActionTimeline.cpp | 4 +- .../ActionTimeline/CCActionTimelineCache.cpp | 2 +- .../cocostudio/ActionTimeline/CCFrame.cpp | 24 ++-- .../ActionTimeline/CCNodeReader.cpp | 4 +- .../cocostudio/ActionTimeline/CCTimeLine.cpp | 2 +- .../cocostudio/CCActionManagerEx.cpp | 6 +- .../cocostudio/CCActionNode.cpp | 20 +-- .../cocostudio/CCActionObject.cpp | 4 +- .../editor-support/cocostudio/CCArmature.cpp | 10 +- .../cocostudio/CCArmatureAnimation.cpp | 6 +- .../cocostudio/CCArmatureDataManager.cpp | 2 +- .../editor-support/cocostudio/CCBatchNode.cpp | 6 +- cocos/editor-support/cocostudio/CCBone.cpp | 14 +- .../cocostudio/CCColliderDetector.cpp | 12 +- .../cocostudio/CCComAttribute.cpp | 2 +- .../editor-support/cocostudio/CCComAudio.cpp | 2 +- .../cocostudio/CCComController.cpp | 2 +- .../editor-support/cocostudio/CCComRender.cpp | 4 +- .../cocostudio/CCDataReaderHelper.cpp | 80 +++++------ .../cocostudio/CCDecorativeDisplay.cpp | 2 +- .../cocostudio/CCDisplayManager.cpp | 2 +- .../cocostudio/CCSGUIReader.cpp | 14 +- .../cocostudio/CCSSceneReader.cpp | 8 +- cocos/editor-support/cocostudio/CCSkin.cpp | 6 +- .../cocostudio/CCSpriteFrameCacheHelper.cpp | 2 +- cocos/editor-support/cocostudio/CCTween.cpp | 6 +- .../cocostudio/DictionaryHelper.cpp | 2 +- .../editor-support/cocostudio/TriggerMng.cpp | 4 +- .../editor-support/cocostudio/TriggerObj.cpp | 2 +- .../ButtonReader/ButtonReader.cpp | 2 +- .../CheckBoxReader/CheckBoxReader.cpp | 2 +- .../ImageViewReader/ImageViewReader.cpp | 2 +- .../LayoutReader/LayoutReader.cpp | 2 +- .../ListViewReader/ListViewReader.cpp | 2 +- .../LoadingBarReader/LoadingBarReader.cpp | 2 +- .../PageViewReader/PageViewReader.cpp | 2 +- .../ScrollViewReader/ScrollViewReader.cpp | 2 +- .../SliderReader/SliderReader.cpp | 2 +- .../TextAtlasReader/TextAtlasReader.cpp | 2 +- .../TextBMFontReader/TextBMFontReader.cpp | 2 +- .../TextFieldReader/TextFieldReader.cpp | 2 +- .../WidgetReader/TextReader/TextReader.cpp | 2 +- .../cocostudio/WidgetReader/WidgetReader.cpp | 2 +- cocos/editor-support/spine/CCSkeleton.cpp | 6 +- .../spine/CCSkeletonAnimation.cpp | 6 +- cocos/network/HttpClient.cpp | 10 +- cocos/network/SocketIO.cpp | 12 +- cocos/network/WebSocket.cpp | 24 ++-- cocos/physics/CCPhysicsBody.cpp | 22 +-- cocos/physics/CCPhysicsContact.cpp | 14 +- cocos/physics/CCPhysicsJoint.cpp | 24 ++-- cocos/physics/CCPhysicsShape.cpp | 16 +-- cocos/physics/CCPhysicsWorld.cpp | 8 +- cocos/platform/CCGLView.cpp | 2 +- .../platform/android/java/project.properties | 2 +- cocos/platform/apple/CCFileUtilsApple.mm | 2 +- cocos/platform/desktop/CCGLViewImpl.cpp | 8 +- cocos/platform/ios/CCGLViewImpl.mm | 8 +- cocos/renderer/CCGLProgramCache.cpp | 38 ++--- cocos/renderer/CCGLProgramStateCache.cpp | 2 +- cocos/renderer/CCRenderCommandPool.h | 2 +- cocos/renderer/CCRenderer.cpp | 2 +- cocos/renderer/CCTextureAtlas.cpp | 4 +- cocos/renderer/CCTextureCache.cpp | 20 +-- .../lua-bindings/manual/CCLuaEngine.cpp | 2 +- .../lua-bindings/manual/CCLuaStack.cpp | 4 +- .../lua-bindings/manual/CCLuaValue.cpp | 8 +- .../lua-bindings/manual/cocos2d/LuaOpengl.cpp | 22 +-- .../manual/cocos2d/LuaScriptHandlerMgr.cpp | 8 +- .../manual/cocos2d/lua_cocos2dx_manual.cpp | 22 +-- .../manual/cocosbuilder/CCBProxy.cpp | 2 +- .../lua_cocos2dx_coco_studio_manual.cpp | 8 +- .../lua_cocos2dx_extension_manual.cpp | 10 +- .../manual/network/Lua_web_socket.cpp | 6 +- .../manual/network/lua_xml_http_request.cpp | 2 +- .../manual/spine/LuaSkeletonAnimation.cpp | 2 +- cocos/ui/UIButton.cpp | 4 +- cocos/ui/UICheckBox.cpp | 4 +- cocos/ui/UIHBox.cpp | 4 +- cocos/ui/UIImageView.cpp | 4 +- cocos/ui/UILayout.cpp | 2 +- cocos/ui/UILayoutManager.cpp | 6 +- cocos/ui/UILayoutParameter.cpp | 6 +- cocos/ui/UIListView.cpp | 2 +- cocos/ui/UILoadingBar.cpp | 4 +- cocos/ui/UIPageView.cpp | 2 +- cocos/ui/UIRelativeBox.cpp | 4 +- cocos/ui/UIRichText.cpp | 8 +- cocos/ui/UIScale9Sprite.cpp | 20 +-- cocos/ui/UIScrollView.cpp | 2 +- cocos/ui/UISlider.cpp | 2 +- cocos/ui/UIText.cpp | 4 +- cocos/ui/UITextAtlas.cpp | 4 +- cocos/ui/UITextBMFont.cpp | 4 +- cocos/ui/UITextField.cpp | 6 +- cocos/ui/UIVBox.cpp | 4 +- cocos/ui/UIWidget.cpp | 4 +- .../GUI/CCControlExtension/CCControl.cpp | 4 +- .../CCControlExtension/CCControlButton.cpp | 8 +- .../CCControlColourPicker.cpp | 6 +- .../CCControlExtension/CCControlHuePicker.cpp | 2 +- .../CCControlPotentiometer.cpp | 2 +- .../CCControlSaturationBrightnessPicker.cpp | 2 +- .../CCControlExtension/CCControlSlider.cpp | 4 +- .../CCControlExtension/CCControlStepper.cpp | 2 +- .../CCControlExtension/CCControlSwitch.cpp | 6 +- .../GUI/CCControlExtension/CCInvocation.cpp | 2 +- .../GUI/CCControlExtension/CCScale9Sprite.cpp | 20 +-- extensions/GUI/CCEditBox/CCEditBox.cpp | 2 +- extensions/GUI/CCScrollView/CCScrollView.cpp | 4 +- extensions/GUI/CCScrollView/CCTableView.cpp | 2 +- extensions/assets-manager/AssetsManager.cpp | 4 +- .../physics-nodes/CCPhysicsDebugNode.cpp | 4 +- extensions/physics-nodes/CCPhysicsSprite.cpp | 14 +- .../ActionManagerTest/ActionManagerTest.cpp | 6 +- .../ActionsEaseTest/ActionsEaseTest.cpp | 6 +- .../ActionsProgressTest.cpp | 6 +- .../Classes/ActionsTest/ActionsTest.cpp | 6 +- tests/cpp-tests/Classes/AppDelegate.cpp | 2 +- .../cpp-tests/Classes/Box2DTest/Box2dTest.cpp | 8 +- .../Classes/Box2DTestBed/Box2dView.cpp | 10 +- .../Classes/Box2DTestBed/GLES-Render.cpp | 4 +- .../Classes/BugsTest/Bug-458/Bug-458.cpp | 4 +- tests/cpp-tests/Classes/BugsTest/BugsTest.cpp | 6 +- .../Classes/Camera3DTest/Camera3DTest.cpp | 8 +- .../Classes/ChipmunkTest/ChipmunkTest.cpp | 6 +- .../ClickAndMoveTest/ClickAndMoveTest.cpp | 2 +- .../ClippingNodeTest/ClippingNodeTest.cpp | 6 +- .../CocosDenshionTest/CocosDenshionTest.cpp | 8 +- .../ConfigurationTest/ConfigurationTest.cpp | 6 +- .../Classes/ConsoleTest/ConsoleTest.cpp | 6 +- tests/cpp-tests/Classes/CurlTest/CurlTest.cpp | 2 +- .../CurrentLanguageTest.cpp | 2 +- .../DataVisitorTest/DataVisitorTest.cpp | 2 +- .../DrawPrimitivesTest/DrawPrimitivesTest.cpp | 6 +- .../EffectsAdvancedTest.cpp | 8 +- .../Classes/EffectsTest/EffectsTest.cpp | 4 +- .../ActionTimelineTestScene.cpp | 14 +- .../CocoStudioArmatureTest/ArmatureScene.cpp | 54 +++---- .../ComponentsTestScene.cpp | 2 +- .../EnemyController.cpp | 2 +- .../GameOverScene.cpp | 2 +- .../PlayerController.cpp | 2 +- .../ProjectileController.cpp | 2 +- .../SceneController.cpp | 2 +- .../CocoStudioSceneTest/SceneEditorTest.cpp | 26 ++-- .../CocosBuilderTest/CocosBuilderTest.cpp | 2 +- .../ControlExtensionTest/CCControlScene.cpp | 2 +- .../CCControlSceneManager.cpp | 2 +- .../EditBoxTest/EditBoxTest.cpp | 4 +- .../Classes/ExtensionsTest/ExtensionsTest.cpp | 12 +- .../NetworkTest/HttpClientTest.cpp | 24 ++-- .../NetworkTest/SocketIOTest.cpp | 4 +- .../NetworkTest/WebSocketTest.cpp | 4 +- .../NotificationCenterTest.cpp | 6 +- .../Scale9SpriteTest/Scale9SpriteTest.cpp | 6 +- .../TableViewTest/TableViewTestScene.cpp | 4 +- .../Classes/FileUtilsTest/FileUtilsTest.cpp | 6 +- .../cpp-tests/Classes/InputTest/MouseTest.cpp | 2 +- .../Classes/IntervalTest/IntervalTest.cpp | 2 +- .../cpp-tests/Classes/LabelTest/LabelTest.cpp | 8 +- .../Classes/LabelTest/LabelTestNew.cpp | 6 +- .../cpp-tests/Classes/LayerTest/LayerTest.cpp | 6 +- tests/cpp-tests/Classes/MenuTest/MenuTest.cpp | 12 +- .../MotionStreakTest/MotionStreakTest.cpp | 6 +- .../Classes/MutiTouchTest/MutiTouchTest.cpp | 2 +- .../NewEventDispatcherTest.cpp | 10 +- .../NewRendererTest/NewRendererTest.cpp | 8 +- tests/cpp-tests/Classes/NodeTest/NodeTest.cpp | 8 +- .../Classes/ParallaxTest/ParallaxTest.cpp | 6 +- .../Classes/ParticleTest/ParticleTest.cpp | 6 +- .../PerformanceTest/PerformanceAllocTest.cpp | 12 +- .../PerformanceCallbackTest.cpp | 2 +- .../PerformanceContainerTest.cpp | 2 +- .../PerformanceEventDispatcherTest.cpp | 14 +- .../PerformanceTest/PerformanceLabelTest.cpp | 4 +- .../PerformanceNodeChildrenTest.cpp | 16 +-- .../PerformanceParticleTest.cpp | 14 +- .../PerformanceRendererTest.cpp | 2 +- .../PerformanceScenarioTest.cpp | 2 +- .../PerformanceTest/PerformanceSpriteTest.cpp | 36 ++--- .../PerformanceTest/PerformanceTest.cpp | 4 +- .../PerformanceTextureTest.cpp | 2 +- .../PerformanceTouchesTest.cpp | 18 +-- .../Classes/PhysicsTest/PhysicsTest.cpp | 8 +- .../ReleasePoolTest/ReleasePoolTest.cpp | 4 +- .../RenderTextureTest/RenderTextureTest.cpp | 8 +- .../cpp-tests/Classes/SceneTest/SceneTest.cpp | 14 +- .../Classes/SchedulerTest/SchedulerTest.cpp | 26 ++-- .../Classes/ShaderTest/ShaderTest.cpp | 10 +- .../Classes/Sprite3DTest/DrawNode3D.cpp | 2 +- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 12 +- .../Classes/SpriteTest/SpriteTest.cpp | 10 +- .../Classes/TextInputTest/TextInputTest.cpp | 8 +- .../TextureCacheTest/TextureCacheTest.cpp | 2 +- .../TextureAtlasEncryptionTest.cpp | 2 +- .../Classes/TileMapTest/TileMapTest.cpp | 6 +- .../Classes/TileMapTest/TileMapTest2.cpp | 6 +- tests/cpp-tests/Classes/TouchesTest/Ball.cpp | 2 +- .../cpp-tests/Classes/TouchesTest/Paddle.cpp | 2 +- .../Classes/TouchesTest/TouchesTest.cpp | 2 +- .../TransitionsTest/TransitionsTest.cpp | 26 ++-- .../CocoStudioGUITest/CocoStudioGUITest.cpp | 12 +- .../CocoStudioGUITest/CocosGUIScene.cpp | 4 +- .../CocostudioParserTest.cpp | 10 +- .../CocostudioParserJsonTest.cpp | 4 +- .../CocoStudioGUITest/CustomGUIScene.cpp | 8 +- .../CustomImageTest/CustomImageTest.cpp | 4 +- .../CustomParticleWidgetTest.cpp | 6 +- .../CustomWidget/CustomImageView.cpp | 2 +- .../CustomWidget/CustomImageViewReader.cpp | 2 +- .../CustomWidget/CustomParticleWidget.cpp | 2 +- .../CustomParticleWidgetReader.cpp | 2 +- .../CustomWidget/CustomReader.cpp | 2 +- .../CocoStudioGUITest/GUIEditorTest.cpp | 4 +- .../UITest/CocoStudioGUITest/UIScene.cpp | 2 +- .../UITest/CocoStudioGUITest/UIScene.h | 2 +- .../CocoStudioGUITest/UISceneManager.cpp | 2 +- .../UISceneManager_Editor.cpp | 2 +- .../CocoStudioGUITest/UIScene_Editor.cpp | 2 +- .../UITest/CocoStudioGUITest/UIScene_Editor.h | 2 +- tests/cpp-tests/Classes/UITest/UITest.cpp | 2 +- tests/cpp-tests/Classes/UnitTest/UnitTest.cpp | 6 +- .../UserDefaultTest/UserDefaultTest.cpp | 2 +- tests/cpp-tests/Classes/controller.cpp | 2 +- tests/cpp-tests/Classes/testBasic.cpp | 2 +- .../project/proj.android/jni/main.cpp | 2 +- 329 files changed, 1369 insertions(+), 1369 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 033aeeae09..148efdf2cb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,20 +1,19 @@ cocos2d-x-3.3alpha0 ?? - [NEW] Added UIScale9Sprite - [NEW] Added Camera, AABB, OBB and Ray - [NEW] Added render primitive and render primitive command, support passing point, line and triangle data - [NEW] Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop - [NEW] Added method for custom precompiled shader program loading on WP8 - [NEW] Added c++11 random support - [NEW] Added better reskin model support - [NEW] Added consistent way to set GL context attributes + [NEW] 3D: Added Camera, AABB, OBB and Ray + [NEW] 3D: Added better reskin model support + [NEW] Core: c++11 random support + [NEW] Core: Using `(std::notrow)` for all the `new` statements + [NEW] Desktop: Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop [NEW] Device: added setKeepScreenOn() for iOS and Android [NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions - [NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile() - getFileSize() + [NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile(), getFileSize() [NEW] FileUtilsApple: allow setting bundle to use in file utils on iOS and Mac OS X [NEW] Image: support of software PVRTC v1 decompression [NEW] Lua-binding: added release_print that can print log even in release mode [NEW] Physics Integration: can invoke update in demand + [NEW] Renderer: Added primitive and render primitive command, support passing point, line and triangle data + [NEW] Renderer: Added method for custom precompiled shader program loading on WP8 + [NEW] Renderer: Added consistent way to set GL context attributes [NEW] RenderTexture: add a call back function for saveToFile() [NEW] RotateTo: added 3D rotation support [NEW] ScrollView: added `setMinScale()` and `setMaxScale()` @@ -22,11 +21,12 @@ cocos2d-x-3.3alpha0 ?? [NEW] Sprite3D: added getBoundingBox() and getAABB() [NEW] SpriteFrameCache: load from plist file content data [NEW] utils: added gettime() - [NEW] ui::Button: support customize how much zoom scale is when pressing a button - [NEW] ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event - [NEW] ui::TextField: support utf8 - [NEW] ui::TextField: support set color and placehold color - [NEW] ui::Widget: support swallowing touch events + [NEW] UI: Added Added UIScale9Sprite + [NEW] UI: ui::Button: support customize how much zoom scale is when pressing a button + [NEW] UI: ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event + [NEW] UI: ui::TextField: support utf8 + [NEW] UI: ui::TextField: support set color and placehold color + [NEW] UI: ui::Widget: support swallowing touch events [NEW] Text: added getter and setter for TextColor [FIX] EditBox: font size is not scaled when glview is scaled on Mac OS X diff --git a/cocos/2d/CCAction.cpp b/cocos/2d/CCAction.cpp index 531f5ec94a..95ad1a97c3 100644 --- a/cocos/2d/CCAction.cpp +++ b/cocos/2d/CCAction.cpp @@ -96,7 +96,7 @@ Speed::~Speed() Speed* Speed::create(ActionInterval* action, float speed) { - Speed *ret = new Speed(); + Speed *ret = new (std::nothrow) Speed(); if (ret && ret->initWithAction(action, speed)) { ret->autorelease(); @@ -118,7 +118,7 @@ bool Speed::initWithAction(ActionInterval *action, float speed) Speed *Speed::clone() const { // no copy constructor - auto a = new Speed(); + auto a = new (std::nothrow) Speed(); a->initWithAction(_innerAction->clone(), _speed); a->autorelease(); return a; @@ -172,7 +172,7 @@ Follow::~Follow() Follow* Follow::create(Node *followedNode, const Rect& rect/* = Rect::ZERO*/) { - Follow *follow = new Follow(); + Follow *follow = new (std::nothrow) Follow(); if (follow && follow->initWithTarget(followedNode, rect)) { follow->autorelease(); @@ -185,7 +185,7 @@ Follow* Follow::create(Node *followedNode, const Rect& rect/* = Rect::ZERO*/) Follow* Follow::clone() const { // no copy constructor - auto a = new Follow(); + auto a = new (std::nothrow) Follow(); a->initWithTarget(_followedNode, _worldRect); a->autorelease(); return a; diff --git a/cocos/2d/CCActionCamera.cpp b/cocos/2d/CCActionCamera.cpp index 59657d040d..79e33e82dc 100644 --- a/cocos/2d/CCActionCamera.cpp +++ b/cocos/2d/CCActionCamera.cpp @@ -47,7 +47,7 @@ void ActionCamera::startWithTarget(Node *target) ActionCamera* ActionCamera::clone() const { // no copy constructor - auto a = new ActionCamera(); + auto a = new (std::nothrow) ActionCamera(); a->autorelease(); return a; } @@ -148,7 +148,7 @@ OrbitCamera::~OrbitCamera() OrbitCamera * OrbitCamera::create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX) { - OrbitCamera * obitCamera = new OrbitCamera(); + OrbitCamera * obitCamera = new (std::nothrow) OrbitCamera(); if(obitCamera->initWithDuration(t, radius, deltaRadius, angleZ, deltaAngleZ, angleX, deltaAngleX)) { obitCamera->autorelease(); @@ -161,7 +161,7 @@ OrbitCamera * OrbitCamera::create(float t, float radius, float deltaRadius, floa OrbitCamera* OrbitCamera::clone() const { // no copy constructor - auto a = new OrbitCamera(); + auto a = new (std::nothrow) OrbitCamera(); a->initWithDuration(_duration, _radius, _deltaRadius, _angleZ, _deltaAngleZ, _angleX, _deltaAngleX); a->autorelease(); return a; diff --git a/cocos/2d/CCActionCatmullRom.cpp b/cocos/2d/CCActionCatmullRom.cpp index ca866e930d..42486072db 100644 --- a/cocos/2d/CCActionCatmullRom.cpp +++ b/cocos/2d/CCActionCatmullRom.cpp @@ -43,7 +43,7 @@ NS_CC_BEGIN; PointArray* PointArray::create(ssize_t capacity) { - PointArray* pointArray = new PointArray(); + PointArray* pointArray = new (std::nothrow) PointArray(); if (pointArray) { if (pointArray->initWithCapacity(capacity)) @@ -77,7 +77,7 @@ PointArray* PointArray::clone() const newArray->push_back(new Vec2((*iter)->x, (*iter)->y)); } - PointArray *points = new PointArray(); + PointArray *points = new (std::nothrow) PointArray(); points->initWithCapacity(10); points->setControlPoints(newArray); @@ -126,7 +126,7 @@ void PointArray::addControlPoint(Vec2 controlPoint) void PointArray::insertControlPoint(Vec2 &controlPoint, ssize_t index) { - Vec2 *temp = new Vec2(controlPoint.x, controlPoint.y); + Vec2 *temp = new (std::nothrow) Vec2(controlPoint.x, controlPoint.y); _controlPoints->insert(_controlPoints->begin() + index, temp); } @@ -222,7 +222,7 @@ Vec2 ccCardinalSplineAt(Vec2 &p0, Vec2 &p1, Vec2 &p2, Vec2 &p3, float tension, f CardinalSplineTo* CardinalSplineTo::create(float duration, cocos2d::PointArray *points, float tension) { - CardinalSplineTo *ret = new CardinalSplineTo(); + CardinalSplineTo *ret = new (std::nothrow) CardinalSplineTo(); if (ret) { if (ret->initWithDuration(duration, points, tension)) @@ -281,7 +281,7 @@ void CardinalSplineTo::startWithTarget(cocos2d::Node *target) CardinalSplineTo* CardinalSplineTo::clone() const { // no copy constructor - auto a = new CardinalSplineTo(); + auto a = new (std::nothrow) CardinalSplineTo(); a->initWithDuration(this->_duration, this->_points->clone(), this->_tension); a->autorelease(); return a; @@ -346,7 +346,7 @@ CardinalSplineTo* CardinalSplineTo::reverse() const CardinalSplineBy* CardinalSplineBy::create(float duration, cocos2d::PointArray *points, float tension) { - CardinalSplineBy *ret = new CardinalSplineBy(); + CardinalSplineBy *ret = new (std::nothrow) CardinalSplineBy(); if (ret) { if (ret->initWithDuration(duration, points, tension)) @@ -425,7 +425,7 @@ void CardinalSplineBy::startWithTarget(cocos2d::Node *target) CardinalSplineBy* CardinalSplineBy::clone() const { // no copy constructor - auto a = new CardinalSplineBy(); + auto a = new (std::nothrow) CardinalSplineBy(); a->initWithDuration(this->_duration, this->_points->clone(), this->_tension); a->autorelease(); return a; @@ -436,7 +436,7 @@ CardinalSplineBy* CardinalSplineBy::clone() const CatmullRomTo* CatmullRomTo::create(float dt, cocos2d::PointArray *points) { - CatmullRomTo *ret = new CatmullRomTo(); + CatmullRomTo *ret = new (std::nothrow) CatmullRomTo(); if (ret) { if (ret->initWithDuration(dt, points)) @@ -465,7 +465,7 @@ bool CatmullRomTo::initWithDuration(float dt, cocos2d::PointArray *points) CatmullRomTo* CatmullRomTo::clone() const { // no copy constructor - auto a = new CatmullRomTo(); + auto a = new (std::nothrow) CatmullRomTo(); a->initWithDuration(this->_duration, this->_points->clone()); a->autorelease(); return a; @@ -483,7 +483,7 @@ CatmullRomTo* CatmullRomTo::reverse() const CatmullRomBy* CatmullRomBy::create(float dt, cocos2d::PointArray *points) { - CatmullRomBy *ret = new CatmullRomBy(); + CatmullRomBy *ret = new (std::nothrow) CatmullRomBy(); if (ret) { if (ret->initWithDuration(dt, points)) @@ -512,7 +512,7 @@ bool CatmullRomBy::initWithDuration(float dt, cocos2d::PointArray *points) CatmullRomBy* CatmullRomBy::clone() const { // no copy constructor - auto a = new CatmullRomBy(); + auto a = new (std::nothrow) CatmullRomBy(); a->initWithDuration(this->_duration, this->_points->clone()); a->autorelease(); return a; diff --git a/cocos/2d/CCActionEase.cpp b/cocos/2d/CCActionEase.cpp index db6e8012b3..a158460fa2 100644 --- a/cocos/2d/CCActionEase.cpp +++ b/cocos/2d/CCActionEase.cpp @@ -111,7 +111,7 @@ EaseRateAction::~EaseRateAction() EaseIn* EaseIn::create(ActionInterval *action, float rate) { - EaseIn *easeIn = new EaseIn(); + EaseIn *easeIn = new (std::nothrow) EaseIn(); if (easeIn) { if (easeIn->initWithAction(action, rate)) @@ -130,7 +130,7 @@ EaseIn* EaseIn::create(ActionInterval *action, float rate) EaseIn* EaseIn::clone() const { // no copy constructor - auto a = new EaseIn(); + auto a = new (std::nothrow) EaseIn(); a->initWithAction(_inner->clone(), _rate); a->autorelease(); return a; @@ -151,7 +151,7 @@ EaseIn* EaseIn::reverse() const // EaseOut* EaseOut::create(ActionInterval *action, float rate) { - EaseOut *easeOut = new EaseOut(); + EaseOut *easeOut = new (std::nothrow) EaseOut(); if (easeOut) { if (easeOut->initWithAction(action, rate)) @@ -170,7 +170,7 @@ EaseOut* EaseOut::create(ActionInterval *action, float rate) EaseOut* EaseOut::clone() const { // no copy constructor - auto a = new EaseOut(); + auto a = new (std::nothrow) EaseOut(); a->initWithAction(_inner->clone(), _rate); a->autorelease(); return a; @@ -191,7 +191,7 @@ EaseOut* EaseOut::reverse() const // EaseInOut* EaseInOut::create(ActionInterval *action, float rate) { - EaseInOut *easeInOut = new EaseInOut(); + EaseInOut *easeInOut = new (std::nothrow) EaseInOut(); if (easeInOut) { if (easeInOut->initWithAction(action, rate)) @@ -210,7 +210,7 @@ EaseInOut* EaseInOut::create(ActionInterval *action, float rate) EaseInOut* EaseInOut::clone() const { // no copy constructor - auto a = new EaseInOut(); + auto a = new (std::nothrow) EaseInOut(); a->initWithAction(_inner->clone(), _rate); a->autorelease(); return a; @@ -232,7 +232,7 @@ EaseInOut* EaseInOut::reverse() const // EaseExponentialIn* EaseExponentialIn::create(ActionInterval* action) { - EaseExponentialIn *ret = new EaseExponentialIn(); + EaseExponentialIn *ret = new (std::nothrow) EaseExponentialIn(); if (ret) { if (ret->initWithAction(action)) @@ -251,7 +251,7 @@ EaseExponentialIn* EaseExponentialIn::create(ActionInterval* action) EaseExponentialIn* EaseExponentialIn::clone() const { // no copy constructor - auto a = new EaseExponentialIn(); + auto a = new (std::nothrow) EaseExponentialIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -272,7 +272,7 @@ ActionEase * EaseExponentialIn::reverse() const // EaseExponentialOut* EaseExponentialOut::create(ActionInterval* action) { - EaseExponentialOut *ret = new EaseExponentialOut(); + EaseExponentialOut *ret = new (std::nothrow) EaseExponentialOut(); if (ret) { if (ret->initWithAction(action)) @@ -291,7 +291,7 @@ EaseExponentialOut* EaseExponentialOut::create(ActionInterval* action) EaseExponentialOut* EaseExponentialOut::clone() const { // no copy constructor - auto a = new EaseExponentialOut(); + auto a = new (std::nothrow) EaseExponentialOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -313,7 +313,7 @@ ActionEase* EaseExponentialOut::reverse() const EaseExponentialInOut* EaseExponentialInOut::create(ActionInterval *action) { - EaseExponentialInOut *ret = new EaseExponentialInOut(); + EaseExponentialInOut *ret = new (std::nothrow) EaseExponentialInOut(); if (ret) { if (ret->initWithAction(action)) @@ -332,7 +332,7 @@ EaseExponentialInOut* EaseExponentialInOut::create(ActionInterval *action) EaseExponentialInOut* EaseExponentialInOut::clone() const { // no copy constructor - auto a = new EaseExponentialInOut(); + auto a = new (std::nothrow) EaseExponentialInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -354,7 +354,7 @@ EaseExponentialInOut* EaseExponentialInOut::reverse() const EaseSineIn* EaseSineIn::create(ActionInterval* action) { - EaseSineIn *ret = new EaseSineIn(); + EaseSineIn *ret = new (std::nothrow) EaseSineIn(); if (ret) { if (ret->initWithAction(action)) @@ -373,7 +373,7 @@ EaseSineIn* EaseSineIn::create(ActionInterval* action) EaseSineIn* EaseSineIn::clone() const { // no copy constructor - auto a = new EaseSineIn(); + auto a = new (std::nothrow) EaseSineIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -395,7 +395,7 @@ ActionEase* EaseSineIn::reverse() const EaseSineOut* EaseSineOut::create(ActionInterval* action) { - EaseSineOut *ret = new EaseSineOut(); + EaseSineOut *ret = new (std::nothrow) EaseSineOut(); if (ret) { if (ret->initWithAction(action)) @@ -414,7 +414,7 @@ EaseSineOut* EaseSineOut::create(ActionInterval* action) EaseSineOut* EaseSineOut::clone() const { // no copy constructor - auto a = new EaseSineOut(); + auto a = new (std::nothrow) EaseSineOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -436,7 +436,7 @@ ActionEase* EaseSineOut::reverse(void) const EaseSineInOut* EaseSineInOut::create(ActionInterval* action) { - EaseSineInOut *ret = new EaseSineInOut(); + EaseSineInOut *ret = new (std::nothrow) EaseSineInOut(); if (ret) { if (ret->initWithAction(action)) @@ -455,7 +455,7 @@ EaseSineInOut* EaseSineInOut::create(ActionInterval* action) EaseSineInOut* EaseSineInOut::clone() const { // no copy constructor - auto a = new EaseSineInOut(); + auto a = new (std::nothrow) EaseSineInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -497,7 +497,7 @@ EaseElasticIn* EaseElasticIn::create(ActionInterval *action) EaseElasticIn* EaseElasticIn::create(ActionInterval *action, float period/* = 0.3f*/) { - EaseElasticIn *ret = new EaseElasticIn(); + EaseElasticIn *ret = new (std::nothrow) EaseElasticIn(); if (ret) { if (ret->initWithAction(action, period)) @@ -516,7 +516,7 @@ EaseElasticIn* EaseElasticIn::create(ActionInterval *action, float period/* = 0. EaseElasticIn* EaseElasticIn::clone() const { // no copy constructor - auto a = new EaseElasticIn(); + auto a = new (std::nothrow) EaseElasticIn(); a->initWithAction(_inner->clone(), _period); a->autorelease(); return a; @@ -543,7 +543,7 @@ EaseElasticOut* EaseElasticOut::create(ActionInterval *action) EaseElasticOut* EaseElasticOut::create(ActionInterval *action, float period/* = 0.3f*/) { - EaseElasticOut *ret = new EaseElasticOut(); + EaseElasticOut *ret = new (std::nothrow) EaseElasticOut(); if (ret) { if (ret->initWithAction(action, period)) @@ -562,7 +562,7 @@ EaseElasticOut* EaseElasticOut::create(ActionInterval *action, float period/* = EaseElasticOut* EaseElasticOut::clone() const { // no copy constructor - auto a = new EaseElasticOut(); + auto a = new (std::nothrow) EaseElasticOut(); a->initWithAction(_inner->clone(), _period); a->autorelease(); return a; @@ -589,7 +589,7 @@ EaseElasticInOut* EaseElasticInOut::create(ActionInterval *action) EaseElasticInOut* EaseElasticInOut::create(ActionInterval *action, float period/* = 0.3f*/) { - EaseElasticInOut *ret = new EaseElasticInOut(); + EaseElasticInOut *ret = new (std::nothrow) EaseElasticInOut(); if (ret) { if (ret->initWithAction(action, period)) @@ -608,7 +608,7 @@ EaseElasticInOut* EaseElasticInOut::create(ActionInterval *action, float period/ EaseElasticInOut* EaseElasticInOut::clone() const { // no copy constructor - auto a = new EaseElasticInOut(); + auto a = new (std::nothrow) EaseElasticInOut(); a->initWithAction(_inner->clone(), _period); a->autorelease(); return a; @@ -634,7 +634,7 @@ EaseElasticInOut* EaseElasticInOut::reverse() const EaseBounceIn* EaseBounceIn::create(ActionInterval* action) { - EaseBounceIn *ret = new EaseBounceIn(); + EaseBounceIn *ret = new (std::nothrow) EaseBounceIn(); if (ret) { if (ret->initWithAction(action)) @@ -653,7 +653,7 @@ EaseBounceIn* EaseBounceIn::create(ActionInterval* action) EaseBounceIn* EaseBounceIn::clone() const { // no copy constructor - auto a = new EaseBounceIn(); + auto a = new (std::nothrow) EaseBounceIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -675,7 +675,7 @@ EaseBounce* EaseBounceIn::reverse() const EaseBounceOut* EaseBounceOut::create(ActionInterval* action) { - EaseBounceOut *ret = new EaseBounceOut(); + EaseBounceOut *ret = new (std::nothrow) EaseBounceOut(); if (ret) { if (ret->initWithAction(action)) @@ -694,7 +694,7 @@ EaseBounceOut* EaseBounceOut::create(ActionInterval* action) EaseBounceOut* EaseBounceOut::clone() const { // no copy constructor - auto a = new EaseBounceOut(); + auto a = new (std::nothrow) EaseBounceOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -716,7 +716,7 @@ EaseBounce* EaseBounceOut::reverse() const EaseBounceInOut* EaseBounceInOut::create(ActionInterval* action) { - EaseBounceInOut *ret = new EaseBounceInOut(); + EaseBounceInOut *ret = new (std::nothrow) EaseBounceInOut(); if (ret) { if (ret->initWithAction(action)) @@ -735,7 +735,7 @@ EaseBounceInOut* EaseBounceInOut::create(ActionInterval* action) EaseBounceInOut* EaseBounceInOut::clone() const { // no copy constructor - auto a = new EaseBounceInOut(); + auto a = new (std::nothrow) EaseBounceInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -757,7 +757,7 @@ EaseBounceInOut* EaseBounceInOut::reverse() const EaseBackIn* EaseBackIn::create(ActionInterval *action) { - EaseBackIn *ret = new EaseBackIn(); + EaseBackIn *ret = new (std::nothrow) EaseBackIn(); if (ret) { if (ret->initWithAction(action)) @@ -776,7 +776,7 @@ EaseBackIn* EaseBackIn::create(ActionInterval *action) EaseBackIn* EaseBackIn::clone() const { // no copy constructor - auto a = new EaseBackIn(); + auto a = new (std::nothrow) EaseBackIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -798,7 +798,7 @@ ActionEase* EaseBackIn::reverse() const EaseBackOut* EaseBackOut::create(ActionInterval* action) { - EaseBackOut *ret = new EaseBackOut(); + EaseBackOut *ret = new (std::nothrow) EaseBackOut(); if (ret) { if (ret->initWithAction(action)) @@ -817,7 +817,7 @@ EaseBackOut* EaseBackOut::create(ActionInterval* action) EaseBackOut* EaseBackOut::clone() const { // no copy constructor - auto a = new EaseBackOut(); + auto a = new (std::nothrow) EaseBackOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -839,7 +839,7 @@ ActionEase* EaseBackOut::reverse() const EaseBackInOut* EaseBackInOut::create(ActionInterval* action) { - EaseBackInOut *ret = new EaseBackInOut(); + EaseBackInOut *ret = new (std::nothrow) EaseBackInOut(); if (ret) { if (ret->initWithAction(action)) @@ -858,7 +858,7 @@ EaseBackInOut* EaseBackInOut::create(ActionInterval* action) EaseBackInOut* EaseBackInOut::clone() const { // no copy constructor - auto a = new EaseBackInOut(); + auto a = new (std::nothrow) EaseBackInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -879,7 +879,7 @@ EaseBackInOut* EaseBackInOut::reverse() const EaseBezierAction* EaseBezierAction::create(cocos2d::ActionInterval* action) { - EaseBezierAction *ret = new EaseBezierAction(); + EaseBezierAction *ret = new (std::nothrow) EaseBezierAction(); if (ret) { if (ret->initWithAction(action)) @@ -906,7 +906,7 @@ void EaseBezierAction::setBezierParamer( float p0, float p1, float p2, float p3) EaseBezierAction* EaseBezierAction::clone() const { // no copy constructor - auto a = new EaseBezierAction(); + auto a = new (std::nothrow) EaseBezierAction(); a->initWithAction(_inner->clone()); a->setBezierParamer(_p0,_p1,_p2,_p3); a->autorelease(); @@ -931,7 +931,7 @@ EaseBezierAction* EaseBezierAction::reverse() const EaseQuadraticActionIn* EaseQuadraticActionIn::create(ActionInterval* action) { - EaseQuadraticActionIn *ret = new EaseQuadraticActionIn(); + EaseQuadraticActionIn *ret = new (std::nothrow) EaseQuadraticActionIn(); if (ret) { if (ret->initWithAction(action)) @@ -950,7 +950,7 @@ EaseQuadraticActionIn* EaseQuadraticActionIn::create(ActionInterval* action) EaseQuadraticActionIn* EaseQuadraticActionIn::clone() const { // no copy constructor - auto a = new EaseQuadraticActionIn(); + auto a = new (std::nothrow) EaseQuadraticActionIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -972,7 +972,7 @@ EaseQuadraticActionIn* EaseQuadraticActionIn::reverse() const EaseQuadraticActionOut* EaseQuadraticActionOut::create(ActionInterval* action) { - EaseQuadraticActionOut *ret = new EaseQuadraticActionOut(); + EaseQuadraticActionOut *ret = new (std::nothrow) EaseQuadraticActionOut(); if (ret) { if (ret->initWithAction(action)) @@ -991,7 +991,7 @@ EaseQuadraticActionOut* EaseQuadraticActionOut::create(ActionInterval* action) EaseQuadraticActionOut* EaseQuadraticActionOut::clone() const { // no copy constructor - auto a = new EaseQuadraticActionOut(); + auto a = new (std::nothrow) EaseQuadraticActionOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1013,7 +1013,7 @@ EaseQuadraticActionOut* EaseQuadraticActionOut::reverse() const EaseQuadraticActionInOut* EaseQuadraticActionInOut::create(ActionInterval* action) { - EaseQuadraticActionInOut *ret = new EaseQuadraticActionInOut(); + EaseQuadraticActionInOut *ret = new (std::nothrow) EaseQuadraticActionInOut(); if (ret) { if (ret->initWithAction(action)) @@ -1032,7 +1032,7 @@ EaseQuadraticActionInOut* EaseQuadraticActionInOut::create(ActionInterval* actio EaseQuadraticActionInOut* EaseQuadraticActionInOut::clone() const { // no copy constructor - auto a = new EaseQuadraticActionInOut(); + auto a = new (std::nothrow) EaseQuadraticActionInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1054,7 +1054,7 @@ EaseQuadraticActionInOut* EaseQuadraticActionInOut::reverse() const EaseQuarticActionIn* EaseQuarticActionIn::create(ActionInterval* action) { - EaseQuarticActionIn *ret = new EaseQuarticActionIn(); + EaseQuarticActionIn *ret = new (std::nothrow) EaseQuarticActionIn(); if (ret) { if (ret->initWithAction(action)) @@ -1073,7 +1073,7 @@ EaseQuarticActionIn* EaseQuarticActionIn::create(ActionInterval* action) EaseQuarticActionIn* EaseQuarticActionIn::clone() const { // no copy constructor - auto a = new EaseQuarticActionIn(); + auto a = new (std::nothrow) EaseQuarticActionIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1095,7 +1095,7 @@ EaseQuarticActionIn* EaseQuarticActionIn::reverse() const EaseQuarticActionOut* EaseQuarticActionOut::create(ActionInterval* action) { - EaseQuarticActionOut *ret = new EaseQuarticActionOut(); + EaseQuarticActionOut *ret = new (std::nothrow) EaseQuarticActionOut(); if (ret) { if (ret->initWithAction(action)) @@ -1114,7 +1114,7 @@ EaseQuarticActionOut* EaseQuarticActionOut::create(ActionInterval* action) EaseQuarticActionOut* EaseQuarticActionOut::clone() const { // no copy constructor - auto a = new EaseQuarticActionOut(); + auto a = new (std::nothrow) EaseQuarticActionOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1136,7 +1136,7 @@ EaseQuarticActionOut* EaseQuarticActionOut::reverse() const EaseQuarticActionInOut* EaseQuarticActionInOut::create(ActionInterval* action) { - EaseQuarticActionInOut *ret = new EaseQuarticActionInOut(); + EaseQuarticActionInOut *ret = new (std::nothrow) EaseQuarticActionInOut(); if (ret) { if (ret->initWithAction(action)) @@ -1155,7 +1155,7 @@ EaseQuarticActionInOut* EaseQuarticActionInOut::create(ActionInterval* action) EaseQuarticActionInOut* EaseQuarticActionInOut::clone() const { // no copy constructor - auto a = new EaseQuarticActionInOut(); + auto a = new (std::nothrow) EaseQuarticActionInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1177,7 +1177,7 @@ EaseQuarticActionInOut* EaseQuarticActionInOut::reverse() const EaseQuinticActionIn* EaseQuinticActionIn::create(ActionInterval* action) { - EaseQuinticActionIn *ret = new EaseQuinticActionIn(); + EaseQuinticActionIn *ret = new (std::nothrow) EaseQuinticActionIn(); if (ret) { if (ret->initWithAction(action)) @@ -1196,7 +1196,7 @@ EaseQuinticActionIn* EaseQuinticActionIn::create(ActionInterval* action) EaseQuinticActionIn* EaseQuinticActionIn::clone() const { // no copy constructor - auto a = new EaseQuinticActionIn(); + auto a = new (std::nothrow) EaseQuinticActionIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1218,7 +1218,7 @@ EaseQuinticActionIn* EaseQuinticActionIn::reverse() const EaseQuinticActionOut* EaseQuinticActionOut::create(ActionInterval* action) { - EaseQuinticActionOut *ret = new EaseQuinticActionOut(); + EaseQuinticActionOut *ret = new (std::nothrow) EaseQuinticActionOut(); if (ret) { if (ret->initWithAction(action)) @@ -1237,7 +1237,7 @@ EaseQuinticActionOut* EaseQuinticActionOut::create(ActionInterval* action) EaseQuinticActionOut* EaseQuinticActionOut::clone() const { // no copy constructor - auto a = new EaseQuinticActionOut(); + auto a = new (std::nothrow) EaseQuinticActionOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1259,7 +1259,7 @@ EaseQuinticActionOut* EaseQuinticActionOut::reverse() const EaseQuinticActionInOut* EaseQuinticActionInOut::create(ActionInterval* action) { - EaseQuinticActionInOut *ret = new EaseQuinticActionInOut(); + EaseQuinticActionInOut *ret = new (std::nothrow) EaseQuinticActionInOut(); if (ret) { if (ret->initWithAction(action)) @@ -1278,7 +1278,7 @@ EaseQuinticActionInOut* EaseQuinticActionInOut::create(ActionInterval* action) EaseQuinticActionInOut* EaseQuinticActionInOut::clone() const { // no copy constructor - auto a = new EaseQuinticActionInOut(); + auto a = new (std::nothrow) EaseQuinticActionInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1300,7 +1300,7 @@ EaseQuinticActionInOut* EaseQuinticActionInOut::reverse() const EaseCircleActionIn* EaseCircleActionIn::create(ActionInterval* action) { - EaseCircleActionIn *ret = new EaseCircleActionIn(); + EaseCircleActionIn *ret = new (std::nothrow) EaseCircleActionIn(); if (ret) { if (ret->initWithAction(action)) @@ -1319,7 +1319,7 @@ EaseCircleActionIn* EaseCircleActionIn::create(ActionInterval* action) EaseCircleActionIn* EaseCircleActionIn::clone() const { // no copy constructor - auto a = new EaseCircleActionIn(); + auto a = new (std::nothrow) EaseCircleActionIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1341,7 +1341,7 @@ EaseCircleActionIn* EaseCircleActionIn::reverse() const EaseCircleActionOut* EaseCircleActionOut::create(ActionInterval* action) { - EaseCircleActionOut *ret = new EaseCircleActionOut(); + EaseCircleActionOut *ret = new (std::nothrow) EaseCircleActionOut(); if (ret) { if (ret->initWithAction(action)) @@ -1360,7 +1360,7 @@ EaseCircleActionOut* EaseCircleActionOut::create(ActionInterval* action) EaseCircleActionOut* EaseCircleActionOut::clone() const { // no copy constructor - auto a = new EaseCircleActionOut(); + auto a = new (std::nothrow) EaseCircleActionOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1382,7 +1382,7 @@ EaseCircleActionOut* EaseCircleActionOut::reverse() const EaseCircleActionInOut* EaseCircleActionInOut::create(ActionInterval* action) { - EaseCircleActionInOut *ret = new EaseCircleActionInOut(); + EaseCircleActionInOut *ret = new (std::nothrow) EaseCircleActionInOut(); if (ret) { if (ret->initWithAction(action)) @@ -1401,7 +1401,7 @@ EaseCircleActionInOut* EaseCircleActionInOut::create(ActionInterval* action) EaseCircleActionInOut* EaseCircleActionInOut::clone() const { // no copy constructor - auto a = new EaseCircleActionInOut(); + auto a = new (std::nothrow) EaseCircleActionInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1423,7 +1423,7 @@ EaseCircleActionInOut* EaseCircleActionInOut::reverse() const EaseCubicActionIn* EaseCubicActionIn::create(ActionInterval* action) { - EaseCubicActionIn *ret = new EaseCubicActionIn(); + EaseCubicActionIn *ret = new (std::nothrow) EaseCubicActionIn(); if (ret) { if (ret->initWithAction(action)) @@ -1442,7 +1442,7 @@ EaseCubicActionIn* EaseCubicActionIn::create(ActionInterval* action) EaseCubicActionIn* EaseCubicActionIn::clone() const { // no copy constructor - auto a = new EaseCubicActionIn(); + auto a = new (std::nothrow) EaseCubicActionIn(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1464,7 +1464,7 @@ EaseCubicActionIn* EaseCubicActionIn::reverse() const EaseCubicActionOut* EaseCubicActionOut::create(ActionInterval* action) { - EaseCubicActionOut *ret = new EaseCubicActionOut(); + EaseCubicActionOut *ret = new (std::nothrow) EaseCubicActionOut(); if (ret) { if (ret->initWithAction(action)) @@ -1483,7 +1483,7 @@ EaseCubicActionOut* EaseCubicActionOut::create(ActionInterval* action) EaseCubicActionOut* EaseCubicActionOut::clone() const { // no copy constructor - auto a = new EaseCubicActionOut(); + auto a = new (std::nothrow) EaseCubicActionOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; @@ -1505,7 +1505,7 @@ EaseCubicActionOut* EaseCubicActionOut::reverse() const EaseCubicActionInOut* EaseCubicActionInOut::create(ActionInterval* action) { - EaseCubicActionInOut *ret = new EaseCubicActionInOut(); + EaseCubicActionInOut *ret = new (std::nothrow) EaseCubicActionInOut(); if (ret) { if (ret->initWithAction(action)) @@ -1524,7 +1524,7 @@ EaseCubicActionInOut* EaseCubicActionInOut::create(ActionInterval* action) EaseCubicActionInOut* EaseCubicActionInOut::clone() const { // no copy constructor - auto a = new EaseCubicActionInOut(); + auto a = new (std::nothrow) EaseCubicActionInOut(); a->initWithAction(_inner->clone()); a->autorelease(); return a; diff --git a/cocos/2d/CCActionGrid.cpp b/cocos/2d/CCActionGrid.cpp index af31534adc..a8ea6bd53c 100644 --- a/cocos/2d/CCActionGrid.cpp +++ b/cocos/2d/CCActionGrid.cpp @@ -152,7 +152,7 @@ void TiledGrid3DAction::setTile(const Vec2& pos, const Quad3& coords) AccelDeccelAmplitude* AccelDeccelAmplitude::create(Action *action, float duration) { - AccelDeccelAmplitude *ret = new AccelDeccelAmplitude(); + AccelDeccelAmplitude *ret = new (std::nothrow) AccelDeccelAmplitude(); if (ret) { if (ret->initWithAction(action, duration)) @@ -185,7 +185,7 @@ bool AccelDeccelAmplitude::initWithAction(Action *action, float duration) AccelDeccelAmplitude* AccelDeccelAmplitude::clone() const { // no copy constructor - auto a = new AccelDeccelAmplitude(); + auto a = new (std::nothrow) AccelDeccelAmplitude(); a->initWithAction(_other->clone(), _rate); a->autorelease(); return a; @@ -224,7 +224,7 @@ AccelDeccelAmplitude* AccelDeccelAmplitude::reverse() const AccelAmplitude* AccelAmplitude::create(Action *action, float duration) { - AccelAmplitude *ret = new AccelAmplitude(); + AccelAmplitude *ret = new (std::nothrow) AccelAmplitude(); if (ret) { if (ret->initWithAction(action, duration)) @@ -257,7 +257,7 @@ bool AccelAmplitude::initWithAction(Action *action, float duration) AccelAmplitude* AccelAmplitude::clone() const { // no copy constructor - auto a = new AccelAmplitude(); + auto a = new (std::nothrow) AccelAmplitude(); a->initWithAction(_other->clone(), _duration); a->autorelease(); return a; @@ -289,7 +289,7 @@ AccelAmplitude* AccelAmplitude::reverse() const DeccelAmplitude* DeccelAmplitude::create(Action *action, float duration) { - DeccelAmplitude *ret = new DeccelAmplitude(); + DeccelAmplitude *ret = new (std::nothrow) DeccelAmplitude(); if (ret) { if (ret->initWithAction(action, duration)) @@ -339,7 +339,7 @@ void DeccelAmplitude::update(float time) DeccelAmplitude* DeccelAmplitude::clone() const { // no copy constructor - auto a = new DeccelAmplitude(); + auto a = new (std::nothrow) DeccelAmplitude(); a->initWithAction(_other->clone(), _duration); a->autorelease(); return a; @@ -371,7 +371,7 @@ void StopGrid::cacheTargetAsGridNode() StopGrid* StopGrid::create() { - StopGrid* pAction = new StopGrid(); + StopGrid* pAction = new (std::nothrow) StopGrid(); pAction->autorelease(); return pAction; @@ -392,7 +392,7 @@ StopGrid* StopGrid::reverse() const ReuseGrid* ReuseGrid::create(int times) { - ReuseGrid *action = new ReuseGrid(); + ReuseGrid *action = new (std::nothrow) ReuseGrid(); if (action) { if (action->initWithTimes(times)) diff --git a/cocos/2d/CCActionGrid3D.cpp b/cocos/2d/CCActionGrid3D.cpp index b036895f5a..b1918096e4 100644 --- a/cocos/2d/CCActionGrid3D.cpp +++ b/cocos/2d/CCActionGrid3D.cpp @@ -31,7 +31,7 @@ NS_CC_BEGIN Waves3D* Waves3D::create(float duration, const Size& gridSize, unsigned int waves, float amplitude) { - Waves3D *pAction = new Waves3D(); + Waves3D *pAction = new (std::nothrow) Waves3D(); if (pAction) { @@ -65,7 +65,7 @@ bool Waves3D::initWithDuration(float duration, const Size& gridSize, unsigned in Waves3D* Waves3D::clone() const { // no copy constructor - auto a = new Waves3D(); + auto a = new (std::nothrow) Waves3D(); a->initWithDuration(_duration, _gridSize, _waves, _amplitude); a->autorelease(); return a; @@ -90,7 +90,7 @@ void Waves3D::update(float time) FlipX3D* FlipX3D::create(float duration) { - FlipX3D *action = new FlipX3D(); + FlipX3D *action = new (std::nothrow) FlipX3D(); if (action) { @@ -128,7 +128,7 @@ bool FlipX3D::initWithSize(const Size& gridSize, float duration) FlipX3D* FlipX3D::clone() const { // no copy constructor - auto a = new FlipX3D(); + auto a = new (std::nothrow) FlipX3D(); a->initWithSize(_gridSize, _duration); a->autorelease(); return a; @@ -203,7 +203,7 @@ void FlipX3D::update(float time) FlipY3D* FlipY3D::clone() const { // no copy constructor - auto a = new FlipY3D(); + auto a = new (std::nothrow) FlipY3D(); a->initWithSize(_gridSize, _duration); a->autorelease(); return a; @@ -211,7 +211,7 @@ FlipY3D* FlipY3D::clone() const FlipY3D* FlipY3D::create(float duration) { - FlipY3D *action = new FlipY3D(); + FlipY3D *action = new (std::nothrow) FlipY3D(); if (action) { @@ -297,7 +297,7 @@ void FlipY3D::update(float time) Lens3D* Lens3D::create(float duration, const Size& gridSize, const Vec2& position, float radius) { - Lens3D *action = new Lens3D(); + Lens3D *action = new (std::nothrow) Lens3D(); if (action) { @@ -334,7 +334,7 @@ bool Lens3D::initWithDuration(float duration, const Size& gridSize, const Vec2& Lens3D* Lens3D::clone() const { // no copy constructor - auto a = new Lens3D(); + auto a = new (std::nothrow) Lens3D(); a->initWithDuration(_duration, _gridSize, _position, _radius); a->autorelease(); return a; @@ -396,7 +396,7 @@ void Lens3D::update(float time) Ripple3D* Ripple3D::create(float duration, const Size& gridSize, const Vec2& position, float radius, unsigned int waves, float amplitude) { - Ripple3D *action = new Ripple3D(); + Ripple3D *action = new (std::nothrow) Ripple3D(); if (action) { @@ -438,7 +438,7 @@ void Ripple3D::setPosition(const Vec2& position) Ripple3D* Ripple3D::clone() const { // no copy constructor - auto a = new Ripple3D(); + auto a = new (std::nothrow) Ripple3D(); a->initWithDuration(_duration, _gridSize, _position, _radius, _waves, _amplitude); a->autorelease(); return a; @@ -472,7 +472,7 @@ void Ripple3D::update(float time) Shaky3D* Shaky3D::create(float duration, const Size& gridSize, int range, bool shakeZ) { - Shaky3D *action = new Shaky3D(); + Shaky3D *action = new (std::nothrow) Shaky3D(); if (action) { @@ -505,7 +505,7 @@ bool Shaky3D::initWithDuration(float duration, const Size& gridSize, int range, Shaky3D* Shaky3D::clone() const { // no copy constructor - auto a = new Shaky3D(); + auto a = new (std::nothrow) Shaky3D(); a->initWithDuration(_duration, _gridSize, _randrange, _shakeZ); a->autorelease(); return a; @@ -537,7 +537,7 @@ void Shaky3D::update(float time) Liquid* Liquid::create(float duration, const Size& gridSize, unsigned int waves, float amplitude) { - Liquid *action = new Liquid(); + Liquid *action = new (std::nothrow) Liquid(); if (action) { @@ -571,7 +571,7 @@ bool Liquid::initWithDuration(float duration, const Size& gridSize, unsigned int Liquid* Liquid::clone() const { // no copy constructor - auto a = new Liquid(); + auto a = new (std::nothrow) Liquid(); a->initWithDuration(_duration, _gridSize, _waves, _amplitude); a->autorelease(); return a; @@ -597,7 +597,7 @@ void Liquid::update(float time) Waves* Waves::create(float duration, const Size& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical) { - Waves *action = new Waves(); + Waves *action = new (std::nothrow) Waves(); if (action) { @@ -633,7 +633,7 @@ bool Waves::initWithDuration(float duration, const Size& gridSize, unsigned int Waves* Waves::clone() const { // no copy constructor - auto a = new Waves(); + auto a = new (std::nothrow) Waves(); a->initWithDuration(_duration, _gridSize, _waves, _amplitude, _horizontal, _vertical); a->autorelease(); return a; @@ -668,7 +668,7 @@ void Waves::update(float time) Twirl* Twirl::create(float duration, const Size& gridSize, Vec2 position, unsigned int twirls, float amplitude) { - Twirl *action = new Twirl(); + Twirl *action = new (std::nothrow) Twirl(); if (action) { @@ -708,7 +708,7 @@ void Twirl::setPosition(const Vec2& position) Twirl *Twirl::clone() const { // no copy constructor - auto a = new Twirl(); + auto a = new (std::nothrow) Twirl(); a->initWithDuration(_duration, _gridSize, _position, _twirls, _amplitude); a->autorelease(); return a; diff --git a/cocos/2d/CCActionInstant.cpp b/cocos/2d/CCActionInstant.cpp index 2dd6f871ff..627946bcaa 100644 --- a/cocos/2d/CCActionInstant.cpp +++ b/cocos/2d/CCActionInstant.cpp @@ -61,7 +61,7 @@ void ActionInstant::update(float time) { Show* Show::create() { - Show* ret = new Show(); + Show* ret = new (std::nothrow) Show(); if (ret) { ret->autorelease(); @@ -83,7 +83,7 @@ ActionInstant* Show::reverse() const Show * Show::clone() const { // no copy constructor - auto a = new Show(); + auto a = new (std::nothrow) Show(); a->autorelease(); return a; } @@ -93,7 +93,7 @@ Show * Show::clone() const // Hide * Hide::create() { - Hide *ret = new Hide(); + Hide *ret = new (std::nothrow) Hide(); if (ret) { ret->autorelease(); @@ -115,7 +115,7 @@ ActionInstant *Hide::reverse() const Hide * Hide::clone() const { // no copy constructor - auto a = new Hide(); + auto a = new (std::nothrow) Hide(); a->autorelease(); return a; } @@ -125,7 +125,7 @@ Hide * Hide::clone() const // ToggleVisibility * ToggleVisibility::create() { - ToggleVisibility *ret = new ToggleVisibility(); + ToggleVisibility *ret = new (std::nothrow) ToggleVisibility(); if (ret) { @@ -149,7 +149,7 @@ ToggleVisibility * ToggleVisibility::reverse() const ToggleVisibility * ToggleVisibility::clone() const { // no copy constructor - auto a = new ToggleVisibility(); + auto a = new (std::nothrow) ToggleVisibility(); a->autorelease(); return a; } @@ -159,7 +159,7 @@ ToggleVisibility * ToggleVisibility::clone() const // RemoveSelf * RemoveSelf::create(bool isNeedCleanUp /*= true*/) { - RemoveSelf *ret = new RemoveSelf(); + RemoveSelf *ret = new (std::nothrow) RemoveSelf(); if (ret && ret->init(isNeedCleanUp)) { ret->autorelease(); @@ -186,7 +186,7 @@ RemoveSelf *RemoveSelf::reverse() const RemoveSelf * RemoveSelf::clone() const { // no copy constructor - auto a = new RemoveSelf(); + auto a = new (std::nothrow) RemoveSelf(); a->init(_isNeedCleanUp); a->autorelease(); return a; @@ -198,7 +198,7 @@ RemoveSelf * RemoveSelf::clone() const FlipX *FlipX::create(bool x) { - FlipX *ret = new FlipX(); + FlipX *ret = new (std::nothrow) FlipX(); if (ret && ret->initWithFlipX(x)) { ret->autorelease(); @@ -227,7 +227,7 @@ FlipX* FlipX::reverse() const FlipX * FlipX::clone() const { // no copy constructor - auto a = new FlipX(); + auto a = new (std::nothrow) FlipX(); a->initWithFlipX(_flipX); a->autorelease(); return a; @@ -238,7 +238,7 @@ FlipX * FlipX::clone() const FlipY * FlipY::create(bool y) { - FlipY *ret = new FlipY(); + FlipY *ret = new (std::nothrow) FlipY(); if (ret && ret->initWithFlipY(y)) { ret->autorelease(); @@ -267,7 +267,7 @@ FlipY* FlipY::reverse() const FlipY * FlipY::clone() const { // no copy constructor - auto a = new FlipY(); + auto a = new (std::nothrow) FlipY(); a->initWithFlipY(_flipY); a->autorelease(); return a; @@ -279,7 +279,7 @@ FlipY * FlipY::clone() const Place* Place::create(const Vec2& pos) { - Place *ret = new Place(); + Place *ret = new (std::nothrow) Place(); if (ret && ret->initWithPosition(pos)) { ret->autorelease(); @@ -298,7 +298,7 @@ bool Place::initWithPosition(const Vec2& pos) { Place * Place::clone() const { // no copy constructor - auto a = new Place(); + auto a = new (std::nothrow) Place(); a->initWithPosition(_position); a->autorelease(); return a; @@ -321,7 +321,7 @@ void Place::update(float time) { CallFunc * CallFunc::create(const std::function &func) { - CallFunc *ret = new CallFunc(); + CallFunc *ret = new (std::nothrow) CallFunc(); if (ret && ret->initWithFunction(func) ) { ret->autorelease(); @@ -334,7 +334,7 @@ CallFunc * CallFunc::create(const std::function &func) CallFunc * CallFunc::create(Ref* selectorTarget, SEL_CallFunc selector) { - CallFunc *ret = new CallFunc(); + CallFunc *ret = new (std::nothrow) CallFunc(); if (ret && ret->initWithTarget(selectorTarget)) { ret->_callFunc = selector; @@ -375,7 +375,7 @@ CallFunc::~CallFunc() CallFunc * CallFunc::clone() const { // no copy constructor - auto a = new CallFunc(); + auto a = new (std::nothrow) CallFunc(); if( _selectorTarget) { a->initWithTarget(_selectorTarget); a->_callFunc = _callFunc; @@ -413,7 +413,7 @@ void CallFunc::execute() { CallFuncN * CallFuncN::create(const std::function &func) { - auto ret = new CallFuncN(); + auto ret = new (std::nothrow) CallFuncN(); if (ret && ret->initWithFunction(func) ) { ret->autorelease(); @@ -427,7 +427,7 @@ CallFuncN * CallFuncN::create(const std::function &func) // XXX deprecated CallFuncN * CallFuncN::create(Ref* selectorTarget, SEL_CallFuncN selector) { - CallFuncN *ret = new CallFuncN(); + CallFuncN *ret = new (std::nothrow) CallFuncN(); if (ret && ret->initWithTarget(selectorTarget, selector)) { @@ -467,7 +467,7 @@ bool CallFuncN::initWithTarget(Ref* selectorTarget, SEL_CallFuncN selector) CallFuncN * CallFuncN::clone() const { // no copy constructor - auto a = new CallFuncN(); + auto a = new (std::nothrow) CallFuncN(); if( _selectorTarget) { a->initWithTarget(_selectorTarget, _callFuncN); diff --git a/cocos/2d/CCActionInterval.cpp b/cocos/2d/CCActionInterval.cpp index 977936e184..bdbefff6ae 100644 --- a/cocos/2d/CCActionInterval.cpp +++ b/cocos/2d/CCActionInterval.cpp @@ -52,7 +52,7 @@ public: ExtraAction* ExtraAction::create() { - ExtraAction* ret = new ExtraAction(); + ExtraAction* ret = new (std::nothrow) ExtraAction(); if (ret) { ret->autorelease(); @@ -62,7 +62,7 @@ ExtraAction* ExtraAction::create() ExtraAction* ExtraAction::clone() const { // no copy constructor - auto a = new ExtraAction(); + auto a = new (std::nothrow) ExtraAction(); a->autorelease(); return a; } @@ -157,7 +157,7 @@ void ActionInterval::startWithTarget(Node *target) Sequence* Sequence::createWithTwoActions(FiniteTimeAction *actionOne, FiniteTimeAction *actionTwo) { - Sequence *sequence = new Sequence(); + Sequence *sequence = new (std::nothrow) Sequence(); sequence->initWithTwoActions(actionOne, actionTwo); sequence->autorelease(); @@ -265,7 +265,7 @@ bool Sequence::initWithTwoActions(FiniteTimeAction *actionOne, FiniteTimeAction Sequence* Sequence::clone() const { // no copy constructor - auto a = new Sequence(); + auto a = new (std::nothrow) Sequence(); a->initWithTwoActions(_actions[0]->clone(), _actions[1]->clone() ); a->autorelease(); return a; @@ -368,7 +368,7 @@ Sequence* Sequence::reverse() const Repeat* Repeat::create(FiniteTimeAction *action, unsigned int times) { - Repeat* repeat = new Repeat(); + Repeat* repeat = new (std::nothrow) Repeat(); repeat->initWithAction(action, times); repeat->autorelease(); @@ -402,7 +402,7 @@ bool Repeat::initWithAction(FiniteTimeAction *action, unsigned int times) Repeat* Repeat::clone(void) const { // no copy constructor - auto a = new Repeat(); + auto a = new (std::nothrow) Repeat(); a->initWithAction( _innerAction->clone(), _times ); a->autorelease(); return a; @@ -491,7 +491,7 @@ RepeatForever::~RepeatForever() RepeatForever *RepeatForever::create(ActionInterval *action) { - RepeatForever *ret = new RepeatForever(); + RepeatForever *ret = new (std::nothrow) RepeatForever(); if (ret && ret->initWithAction(action)) { ret->autorelease(); @@ -512,7 +512,7 @@ bool RepeatForever::initWithAction(ActionInterval *action) RepeatForever *RepeatForever::clone() const { // no copy constructor - auto a = new RepeatForever(); + auto a = new (std::nothrow) RepeatForever(); a->initWithAction(_innerAction->clone()); a->autorelease(); return a; @@ -635,7 +635,7 @@ Spawn* Spawn::create(const Vector& arrayOfActions) Spawn* Spawn::createWithTwoActions(FiniteTimeAction *action1, FiniteTimeAction *action2) { - Spawn *spawn = new Spawn(); + Spawn *spawn = new (std::nothrow) Spawn(); spawn->initWithTwoActions(action1, action2); spawn->autorelease(); @@ -678,7 +678,7 @@ bool Spawn::initWithTwoActions(FiniteTimeAction *action1, FiniteTimeAction *acti Spawn* Spawn::clone(void) const { // no copy constructor - auto a = new Spawn(); + auto a = new (std::nothrow) Spawn(); a->initWithTwoActions(_one->clone(), _two->clone()); a->autorelease(); @@ -728,7 +728,7 @@ Spawn* Spawn::reverse() const RotateTo* RotateTo::create(float duration, float dstAngle) { - RotateTo* rotateTo = new RotateTo(); + RotateTo* rotateTo = new (std::nothrow) RotateTo(); rotateTo->initWithDuration(duration, dstAngle, dstAngle); rotateTo->autorelease(); @@ -737,7 +737,7 @@ RotateTo* RotateTo::create(float duration, float dstAngle) RotateTo* RotateTo::create(float duration, float dstAngleX, float dstAngleY) { - RotateTo* rotateTo = new RotateTo(); + RotateTo* rotateTo = new (std::nothrow) RotateTo(); rotateTo->initWithDuration(duration, dstAngleX, dstAngleY); rotateTo->autorelease(); @@ -746,7 +746,7 @@ RotateTo* RotateTo::create(float duration, float dstAngleX, float dstAngleY) RotateTo* RotateTo::create(float duration, const Vec3& dstAngle3D) { - RotateTo* rotateTo = new RotateTo(); + RotateTo* rotateTo = new (std::nothrow) RotateTo(); rotateTo->initWithDuration(duration, dstAngle3D); rotateTo->autorelease(); @@ -787,7 +787,7 @@ bool RotateTo::initWithDuration(float duration, const Vec3& dstAngle3D) RotateTo* RotateTo::clone(void) const { // no copy constructor - auto a = new RotateTo(); + auto a = new (std::nothrow) RotateTo(); if(_is3D) a->initWithDuration(_duration, _dstAngle); else @@ -887,7 +887,7 @@ RotateTo *RotateTo::reverse() const RotateBy* RotateBy::create(float duration, float deltaAngle) { - RotateBy *rotateBy = new RotateBy(); + RotateBy *rotateBy = new (std::nothrow) RotateBy(); rotateBy->initWithDuration(duration, deltaAngle); rotateBy->autorelease(); @@ -896,7 +896,7 @@ RotateBy* RotateBy::create(float duration, float deltaAngle) RotateBy* RotateBy::create(float duration, float deltaAngleX, float deltaAngleY) { - RotateBy *rotateBy = new RotateBy(); + RotateBy *rotateBy = new (std::nothrow) RotateBy(); rotateBy->initWithDuration(duration, deltaAngleX, deltaAngleY); rotateBy->autorelease(); @@ -905,7 +905,7 @@ RotateBy* RotateBy::create(float duration, float deltaAngleX, float deltaAngleY) RotateBy* RotateBy::create(float duration, const Vec3& deltaAngle3D) { - RotateBy *rotateBy = new RotateBy(); + RotateBy *rotateBy = new (std::nothrow) RotateBy(); rotateBy->initWithDuration(duration, deltaAngle3D); rotateBy->autorelease(); @@ -956,7 +956,7 @@ bool RotateBy::initWithDuration(float duration, const Vec3& deltaAngle3D) RotateBy* RotateBy::clone() const { // no copy constructor - auto a = new RotateBy(); + auto a = new (std::nothrow) RotateBy(); if(_is3D) a->initWithDuration(_duration, _deltaAngle); else @@ -1040,7 +1040,7 @@ RotateBy* RotateBy::reverse() const MoveBy* MoveBy::create(float duration, const Vec2& deltaPosition) { - MoveBy *ret = new MoveBy(); + MoveBy *ret = new (std::nothrow) MoveBy(); ret->initWithDuration(duration, deltaPosition); ret->autorelease(); @@ -1061,7 +1061,7 @@ bool MoveBy::initWithDuration(float duration, const Vec2& deltaPosition) MoveBy* MoveBy::clone() const { // no copy constructor - auto a = new MoveBy(); + auto a = new (std::nothrow) MoveBy(); a->initWithDuration(_duration, _positionDelta); a->autorelease(); return a; @@ -1102,7 +1102,7 @@ void MoveBy::update(float t) MoveTo* MoveTo::create(float duration, const Vec2& position) { - MoveTo *ret = new MoveTo(); + MoveTo *ret = new (std::nothrow) MoveTo(); ret->initWithDuration(duration, position); ret->autorelease(); @@ -1123,7 +1123,7 @@ bool MoveTo::initWithDuration(float duration, const Vec2& position) MoveTo* MoveTo::clone() const { // no copy constructor - auto a = new MoveTo(); + auto a = new (std::nothrow) MoveTo(); a->initWithDuration(_duration, _endPosition); a->autorelease(); return a; @@ -1141,7 +1141,7 @@ void MoveTo::startWithTarget(Node *target) // SkewTo* SkewTo::create(float t, float sx, float sy) { - SkewTo *skewTo = new SkewTo(); + SkewTo *skewTo = new (std::nothrow) SkewTo(); if (skewTo) { if (skewTo->initWithDuration(t, sx, sy)) @@ -1175,7 +1175,7 @@ bool SkewTo::initWithDuration(float t, float sx, float sy) SkewTo* SkewTo::clone() const { // no copy constructor - auto a = new SkewTo(); + auto a = new (std::nothrow) SkewTo(); a->initWithDuration(_duration, _endSkewX, _endSkewY); a->autorelease(); return a; @@ -1259,7 +1259,7 @@ SkewTo::SkewTo() // SkewBy* SkewBy::create(float t, float sx, float sy) { - SkewBy *skewBy = new SkewBy(); + SkewBy *skewBy = new (std::nothrow) SkewBy(); if (skewBy) { if (skewBy->initWithDuration(t, sx, sy)) @@ -1278,7 +1278,7 @@ SkewBy* SkewBy::create(float t, float sx, float sy) SkewBy * SkewBy::clone() const { // no copy constructor - auto a = new SkewBy(); + auto a = new (std::nothrow) SkewBy(); a->initWithDuration(_duration, _skewX, _skewY); a->autorelease(); return a; @@ -1319,7 +1319,7 @@ SkewBy* SkewBy::reverse() const JumpBy* JumpBy::create(float duration, const Vec2& position, float height, int jumps) { - JumpBy *jumpBy = new JumpBy(); + JumpBy *jumpBy = new (std::nothrow) JumpBy(); jumpBy->initWithDuration(duration, position, height, jumps); jumpBy->autorelease(); @@ -1345,7 +1345,7 @@ bool JumpBy::initWithDuration(float duration, const Vec2& position, float height JumpBy* JumpBy::clone() const { // no copy constructor - auto a = new JumpBy(); + auto a = new (std::nothrow) JumpBy(); a->initWithDuration(_duration, _delta, _height, _jumps); a->autorelease(); return a; @@ -1395,7 +1395,7 @@ JumpBy* JumpBy::reverse() const JumpTo* JumpTo::create(float duration, const Vec2& position, float height, int jumps) { - JumpTo *jumpTo = new JumpTo(); + JumpTo *jumpTo = new (std::nothrow) JumpTo(); jumpTo->initWithDuration(duration, position, height, jumps); jumpTo->autorelease(); @@ -1405,7 +1405,7 @@ JumpTo* JumpTo::create(float duration, const Vec2& position, float height, int j JumpTo* JumpTo::clone() const { // no copy constructor - auto a = new JumpTo(); + auto a = new (std::nothrow) JumpTo(); a->initWithDuration(_duration, _delta, _height, _jumps); a->autorelease(); return a; @@ -1441,7 +1441,7 @@ static inline float bezierat( float a, float b, float c, float d, float t ) BezierBy* BezierBy::create(float t, const ccBezierConfig& c) { - BezierBy *bezierBy = new BezierBy(); + BezierBy *bezierBy = new (std::nothrow) BezierBy(); bezierBy->initWithDuration(t, c); bezierBy->autorelease(); @@ -1468,7 +1468,7 @@ void BezierBy::startWithTarget(Node *target) BezierBy* BezierBy::clone() const { // no copy constructor - auto a = new BezierBy(); + auto a = new (std::nothrow) BezierBy(); a->initWithDuration(_duration, _config); a->autorelease(); return a; @@ -1524,7 +1524,7 @@ BezierBy* BezierBy::reverse() const BezierTo* BezierTo::create(float t, const ccBezierConfig& c) { - BezierTo *bezierTo = new BezierTo(); + BezierTo *bezierTo = new (std::nothrow) BezierTo(); bezierTo->initWithDuration(t, c); bezierTo->autorelease(); @@ -1545,7 +1545,7 @@ bool BezierTo::initWithDuration(float t, const ccBezierConfig &c) BezierTo* BezierTo::clone() const { // no copy constructor - auto a = new BezierTo(); + auto a = new (std::nothrow) BezierTo(); a->initWithDuration(_duration, _toConfig); a->autorelease(); return a; @@ -1571,7 +1571,7 @@ BezierTo* BezierTo::reverse() const // ScaleTo* ScaleTo::create(float duration, float s) { - ScaleTo *scaleTo = new ScaleTo(); + ScaleTo *scaleTo = new (std::nothrow) ScaleTo(); scaleTo->initWithDuration(duration, s); scaleTo->autorelease(); @@ -1580,7 +1580,7 @@ ScaleTo* ScaleTo::create(float duration, float s) ScaleTo* ScaleTo::create(float duration, float sx, float sy) { - ScaleTo *scaleTo = new ScaleTo(); + ScaleTo *scaleTo = new (std::nothrow) ScaleTo(); scaleTo->initWithDuration(duration, sx, sy); scaleTo->autorelease(); @@ -1589,7 +1589,7 @@ ScaleTo* ScaleTo::create(float duration, float sx, float sy) ScaleTo* ScaleTo::create(float duration, float sx, float sy, float sz) { - ScaleTo *scaleTo = new ScaleTo(); + ScaleTo *scaleTo = new (std::nothrow) ScaleTo(); scaleTo->initWithDuration(duration, sx, sy, sz); scaleTo->autorelease(); @@ -1641,7 +1641,7 @@ bool ScaleTo::initWithDuration(float duration, float sx, float sy, float sz) ScaleTo* ScaleTo::clone() const { // no copy constructor - auto a = new ScaleTo(); + auto a = new (std::nothrow) ScaleTo(); a->initWithDuration(_duration, _endScaleX, _endScaleY, _endScaleZ); a->autorelease(); return a; @@ -1681,7 +1681,7 @@ void ScaleTo::update(float time) ScaleBy* ScaleBy::create(float duration, float s) { - ScaleBy *scaleBy = new ScaleBy(); + ScaleBy *scaleBy = new (std::nothrow) ScaleBy(); scaleBy->initWithDuration(duration, s); scaleBy->autorelease(); @@ -1690,7 +1690,7 @@ ScaleBy* ScaleBy::create(float duration, float s) ScaleBy* ScaleBy::create(float duration, float sx, float sy) { - ScaleBy *scaleBy = new ScaleBy(); + ScaleBy *scaleBy = new (std::nothrow) ScaleBy(); scaleBy->initWithDuration(duration, sx, sy, 1.f); scaleBy->autorelease(); @@ -1699,7 +1699,7 @@ ScaleBy* ScaleBy::create(float duration, float sx, float sy) ScaleBy* ScaleBy::create(float duration, float sx, float sy, float sz) { - ScaleBy *scaleBy = new ScaleBy(); + ScaleBy *scaleBy = new (std::nothrow) ScaleBy(); scaleBy->initWithDuration(duration, sx, sy, sz); scaleBy->autorelease(); @@ -1709,7 +1709,7 @@ ScaleBy* ScaleBy::create(float duration, float sx, float sy, float sz) ScaleBy* ScaleBy::clone() const { // no copy constructor - auto a = new ScaleBy(); + auto a = new (std::nothrow) ScaleBy(); a->initWithDuration(_duration, _endScaleX, _endScaleY, _endScaleZ); a->autorelease(); return a; @@ -1734,7 +1734,7 @@ ScaleBy* ScaleBy::reverse() const Blink* Blink::create(float duration, int blinks) { - Blink *blink = new Blink(); + Blink *blink = new (std::nothrow) Blink(); blink->initWithDuration(duration, blinks); blink->autorelease(); @@ -1769,7 +1769,7 @@ void Blink::startWithTarget(Node *target) Blink* Blink::clone(void) const { // no copy constructor - auto a = new Blink(); + auto a = new (std::nothrow) Blink(); a->initWithDuration(_duration, _times); a->autorelease(); return a; @@ -1796,7 +1796,7 @@ Blink* Blink::reverse() const FadeIn* FadeIn::create(float d) { - FadeIn* action = new FadeIn(); + FadeIn* action = new (std::nothrow) FadeIn(); action->initWithDuration(d,255.0f); action->autorelease(); @@ -1807,7 +1807,7 @@ FadeIn* FadeIn::create(float d) FadeIn* FadeIn::clone() const { // no copy constructor - auto a = new FadeIn(); + auto a = new (std::nothrow) FadeIn(); a->initWithDuration(_duration,255.0f); a->autorelease(); return a; @@ -1850,7 +1850,7 @@ void FadeIn::startWithTarget(cocos2d::Node *target) FadeOut* FadeOut::create(float d) { - FadeOut* action = new FadeOut(); + FadeOut* action = new (std::nothrow) FadeOut(); action->initWithDuration(d,0.0f); action->autorelease(); @@ -1861,7 +1861,7 @@ FadeOut* FadeOut::create(float d) FadeOut* FadeOut::clone() const { // no copy constructor - auto a = new FadeOut(); + auto a = new (std::nothrow) FadeOut(); a->initWithDuration(_duration,0.0f); a->autorelease(); return a; @@ -1901,7 +1901,7 @@ FadeTo* FadeOut::reverse() const FadeTo* FadeTo::create(float duration, GLubyte opacity) { - FadeTo *fadeTo = new FadeTo(); + FadeTo *fadeTo = new (std::nothrow) FadeTo(); fadeTo->initWithDuration(duration, opacity); fadeTo->autorelease(); @@ -1922,7 +1922,7 @@ bool FadeTo::initWithDuration(float duration, GLubyte opacity) FadeTo* FadeTo::clone() const { // no copy constructor - auto a = new FadeTo(); + auto a = new (std::nothrow) FadeTo(); a->initWithDuration(_duration, _toOpacity); a->autorelease(); return a; @@ -1959,7 +1959,7 @@ void FadeTo::update(float time) // TintTo* TintTo::create(float duration, GLubyte red, GLubyte green, GLubyte blue) { - TintTo *tintTo = new TintTo(); + TintTo *tintTo = new (std::nothrow) TintTo(); tintTo->initWithDuration(duration, red, green, blue); tintTo->autorelease(); @@ -1980,7 +1980,7 @@ bool TintTo::initWithDuration(float duration, GLubyte red, GLubyte green, GLubyt TintTo* TintTo::clone() const { // no copy constructor - auto a = new TintTo(); + auto a = new (std::nothrow) TintTo(); a->initWithDuration(_duration, _to.r, _to.g, _to.b); a->autorelease(); return a; @@ -2018,7 +2018,7 @@ void TintTo::update(float time) TintBy* TintBy::create(float duration, GLshort deltaRed, GLshort deltaGreen, GLshort deltaBlue) { - TintBy *tintBy = new TintBy(); + TintBy *tintBy = new (std::nothrow) TintBy(); tintBy->initWithDuration(duration, deltaRed, deltaGreen, deltaBlue); tintBy->autorelease(); @@ -2042,7 +2042,7 @@ bool TintBy::initWithDuration(float duration, GLshort deltaRed, GLshort deltaGre TintBy* TintBy::clone() const { // no copy constructor - auto a = new TintBy(); + auto a = new (std::nothrow) TintBy(); a->initWithDuration(_duration, (GLubyte)_deltaR, (GLubyte)_deltaG, (GLubyte)_deltaB); a->autorelease(); return a; @@ -2081,7 +2081,7 @@ TintBy* TintBy::reverse() const // DelayTime* DelayTime::create(float d) { - DelayTime* action = new DelayTime(); + DelayTime* action = new (std::nothrow) DelayTime(); action->initWithDuration(d); action->autorelease(); @@ -2092,7 +2092,7 @@ DelayTime* DelayTime::create(float d) DelayTime* DelayTime::clone() const { // no copy constructor - auto a = new DelayTime(); + auto a = new (std::nothrow) DelayTime(); a->initWithDuration(_duration); a->autorelease(); return a; @@ -2116,7 +2116,7 @@ DelayTime* DelayTime::reverse() const ReverseTime* ReverseTime::create(FiniteTimeAction *action) { // casting to prevent warnings - ReverseTime *reverseTime = new ReverseTime(); + ReverseTime *reverseTime = new (std::nothrow) ReverseTime(); reverseTime->initWithAction( action->clone() ); reverseTime->autorelease(); @@ -2145,7 +2145,7 @@ bool ReverseTime::initWithAction(FiniteTimeAction *action) ReverseTime* ReverseTime::clone() const { // no copy constructor - auto a = new ReverseTime(); + auto a = new (std::nothrow) ReverseTime(); a->initWithAction( _other->clone() ); a->autorelease(); return a; @@ -2192,7 +2192,7 @@ ReverseTime* ReverseTime::reverse() const // Animate* Animate::create(Animation *animation) { - Animate *animate = new Animate(); + Animate *animate = new (std::nothrow) Animate(); animate->initWithAnimation(animation); animate->autorelease(); @@ -2262,7 +2262,7 @@ void Animate::setAnimation(cocos2d::Animation *animation) Animate* Animate::clone() const { // no copy constructor - auto a = new Animate(); + auto a = new (std::nothrow) Animate(); a->initWithAnimation(_animation->clone()); a->autorelease(); return a; @@ -2327,7 +2327,7 @@ void Animate::update(float t) if ( !dict.empty() ) { if (_frameDisplayedEvent == nullptr) - _frameDisplayedEvent = new EventCustom(AnimationFrameDisplayedNotification); + _frameDisplayedEvent = new (std::nothrow) EventCustom(AnimationFrameDisplayedNotification); _frameDisplayedEventInfo.target = _target; _frameDisplayedEventInfo.userInfo = &dict; @@ -2384,7 +2384,7 @@ TargetedAction::~TargetedAction() TargetedAction* TargetedAction::create(Node* target, FiniteTimeAction* action) { - TargetedAction* p = new TargetedAction(); + TargetedAction* p = new (std::nothrow) TargetedAction(); p->initWithTarget(target, action); p->autorelease(); return p; @@ -2407,7 +2407,7 @@ bool TargetedAction::initWithTarget(Node* target, FiniteTimeAction* action) TargetedAction* TargetedAction::clone() const { // no copy constructor - auto a = new TargetedAction(); + auto a = new (std::nothrow) TargetedAction(); // win32 : use the _other's copy object. a->initWithTarget(_forcedTarget, _action->clone()); a->autorelease(); @@ -2417,7 +2417,7 @@ TargetedAction* TargetedAction::clone() const TargetedAction* TargetedAction::reverse() const { // just reverse the internal action - auto a = new TargetedAction(); + auto a = new (std::nothrow) TargetedAction(); a->initWithTarget(_forcedTarget, _action->reverse()); a->autorelease(); return a; diff --git a/cocos/2d/CCActionPageTurn3D.cpp b/cocos/2d/CCActionPageTurn3D.cpp index 5843efcf68..0433127d64 100644 --- a/cocos/2d/CCActionPageTurn3D.cpp +++ b/cocos/2d/CCActionPageTurn3D.cpp @@ -29,7 +29,7 @@ NS_CC_BEGIN PageTurn3D* PageTurn3D::create(float duration, const Size& gridSize) { - PageTurn3D *action = new PageTurn3D(); + PageTurn3D *action = new (std::nothrow) PageTurn3D(); if (action) { @@ -49,7 +49,7 @@ PageTurn3D* PageTurn3D::create(float duration, const Size& gridSize) PageTurn3D *PageTurn3D::clone() const { // no copy constructor - auto a = new PageTurn3D(); + auto a = new (std::nothrow) PageTurn3D(); a->initWithDuration(_duration, _gridSize); a->autorelease(); return a; diff --git a/cocos/2d/CCActionProgressTimer.cpp b/cocos/2d/CCActionProgressTimer.cpp index 828e8a8d52..b738084bb3 100644 --- a/cocos/2d/CCActionProgressTimer.cpp +++ b/cocos/2d/CCActionProgressTimer.cpp @@ -34,7 +34,7 @@ NS_CC_BEGIN ProgressTo* ProgressTo::create(float duration, float percent) { - ProgressTo *progressTo = new ProgressTo(); + ProgressTo *progressTo = new (std::nothrow) ProgressTo(); progressTo->initWithDuration(duration, percent); progressTo->autorelease(); @@ -56,7 +56,7 @@ bool ProgressTo::initWithDuration(float duration, float percent) ProgressTo* ProgressTo::clone() const { // no copy constructor - auto a = new ProgressTo(); + auto a = new (std::nothrow) ProgressTo(); a->initWithDuration(_duration, _to); a->autorelease(); return a; @@ -83,7 +83,7 @@ void ProgressTo::update(float time) ProgressFromTo* ProgressFromTo::create(float duration, float fromPercentage, float toPercentage) { - ProgressFromTo *progressFromTo = new ProgressFromTo(); + ProgressFromTo *progressFromTo = new (std::nothrow) ProgressFromTo(); progressFromTo->initWithDuration(duration, fromPercentage, toPercentage); progressFromTo->autorelease(); @@ -106,7 +106,7 @@ bool ProgressFromTo::initWithDuration(float duration, float fromPercentage, floa ProgressFromTo* ProgressFromTo::clone() const { // no copy constructor - auto a = new ProgressFromTo(); + auto a = new (std::nothrow) ProgressFromTo(); a->initWithDuration(_duration, _from, _to); a->autorelease(); return a; diff --git a/cocos/2d/CCActionTiledGrid.cpp b/cocos/2d/CCActionTiledGrid.cpp index 549c3726fe..f06fef868c 100644 --- a/cocos/2d/CCActionTiledGrid.cpp +++ b/cocos/2d/CCActionTiledGrid.cpp @@ -42,7 +42,7 @@ struct Tile ShakyTiles3D* ShakyTiles3D::create(float duration, const Size& gridSize, int range, bool shakeZ) { - ShakyTiles3D *action = new ShakyTiles3D(); + ShakyTiles3D *action = new (std::nothrow) ShakyTiles3D(); if (action) { @@ -75,7 +75,7 @@ bool ShakyTiles3D::initWithDuration(float duration, const Size& gridSize, int ra ShakyTiles3D* ShakyTiles3D::clone() const { // no copy constructor - auto a = new ShakyTiles3D(); + auto a = new (std::nothrow) ShakyTiles3D(); a->initWithDuration(_duration, _gridSize, _randrange, _shakeZ); a->autorelease(); return a; @@ -121,7 +121,7 @@ void ShakyTiles3D::update(float time) ShatteredTiles3D* ShatteredTiles3D::create(float duration, const Size& gridSize, int range, bool shatterZ) { - ShatteredTiles3D *action = new ShatteredTiles3D(); + ShatteredTiles3D *action = new (std::nothrow) ShatteredTiles3D(); if (action) { @@ -155,7 +155,7 @@ bool ShatteredTiles3D::initWithDuration(float duration, const Size& gridSize, in ShatteredTiles3D* ShatteredTiles3D::clone() const { // no copy constructor - auto a = new ShatteredTiles3D(); + auto a = new (std::nothrow) ShatteredTiles3D(); a->initWithDuration(_duration, _gridSize, _randrange, _shatterZ); a->autorelease(); return a; @@ -206,7 +206,7 @@ void ShatteredTiles3D::update(float time) ShuffleTiles* ShuffleTiles::create(float duration, const Size& gridSize, unsigned int seed) { - ShuffleTiles *action = new ShuffleTiles(); + ShuffleTiles *action = new (std::nothrow) ShuffleTiles(); if (action) { @@ -240,7 +240,7 @@ bool ShuffleTiles::initWithDuration(float duration, const Size& gridSize, unsign ShuffleTiles* ShuffleTiles::clone() const { // no copy constructor - auto a = new ShuffleTiles(); + auto a = new (std::nothrow) ShuffleTiles(); a->initWithDuration(_duration, _gridSize, _seed); a->autorelease(); return a; @@ -352,7 +352,7 @@ void ShuffleTiles::update(float time) FadeOutTRTiles* FadeOutTRTiles::create(float duration, const Size& gridSize) { - FadeOutTRTiles *action = new FadeOutTRTiles(); + FadeOutTRTiles *action = new (std::nothrow) FadeOutTRTiles(); if (action) { @@ -372,7 +372,7 @@ FadeOutTRTiles* FadeOutTRTiles::create(float duration, const Size& gridSize) FadeOutTRTiles* FadeOutTRTiles::clone() const { // no copy constructor - auto a = new FadeOutTRTiles(); + auto a = new (std::nothrow) FadeOutTRTiles(); a->initWithDuration(_duration, _gridSize); a->autorelease(); return a; @@ -448,7 +448,7 @@ void FadeOutTRTiles::update(float time) FadeOutBLTiles* FadeOutBLTiles::create(float duration, const Size& gridSize) { - FadeOutBLTiles *action = new FadeOutBLTiles(); + FadeOutBLTiles *action = new (std::nothrow) FadeOutBLTiles(); if (action) { @@ -468,7 +468,7 @@ FadeOutBLTiles* FadeOutBLTiles::create(float duration, const Size& gridSize) FadeOutBLTiles* FadeOutBLTiles::clone() const { // no copy constructor - auto a = new FadeOutBLTiles(); + auto a = new (std::nothrow) FadeOutBLTiles(); a->initWithDuration(_duration, _gridSize); a->autorelease(); return a; @@ -489,7 +489,7 @@ float FadeOutBLTiles::testFunc(const Size& pos, float time) FadeOutUpTiles* FadeOutUpTiles::create(float duration, const Size& gridSize) { - FadeOutUpTiles *action = new FadeOutUpTiles(); + FadeOutUpTiles *action = new (std::nothrow) FadeOutUpTiles(); if (action) { @@ -509,7 +509,7 @@ FadeOutUpTiles* FadeOutUpTiles::create(float duration, const Size& gridSize) FadeOutUpTiles* FadeOutUpTiles::clone() const { // no copy constructor - auto a = new FadeOutUpTiles(); + auto a = new (std::nothrow) FadeOutUpTiles(); a->initWithDuration(_duration, _gridSize); a->autorelease(); return a; @@ -543,7 +543,7 @@ void FadeOutUpTiles::transformTile(const Vec2& pos, float distance) FadeOutDownTiles* FadeOutDownTiles::create(float duration, const Size& gridSize) { - FadeOutDownTiles *action = new FadeOutDownTiles(); + FadeOutDownTiles *action = new (std::nothrow) FadeOutDownTiles(); if (action) { @@ -563,7 +563,7 @@ FadeOutDownTiles* FadeOutDownTiles::create(float duration, const Size& gridSize) FadeOutDownTiles* FadeOutDownTiles::clone() const { // no copy constructor - auto a = new FadeOutDownTiles(); + auto a = new (std::nothrow) FadeOutDownTiles(); a->initWithDuration(_duration, _gridSize); a->autorelease(); return a; @@ -584,7 +584,7 @@ float FadeOutDownTiles::testFunc(const Size& pos, float time) TurnOffTiles* TurnOffTiles::create(float duration, const Size& gridSize) { - TurnOffTiles* pAction = new TurnOffTiles(); + TurnOffTiles* pAction = new (std::nothrow) TurnOffTiles(); if (pAction->initWithDuration(duration, gridSize, 0)) { pAction->autorelease(); @@ -598,7 +598,7 @@ TurnOffTiles* TurnOffTiles::create(float duration, const Size& gridSize) TurnOffTiles* TurnOffTiles::create(float duration, const Size& gridSize, unsigned int seed) { - TurnOffTiles *action = new TurnOffTiles(); + TurnOffTiles *action = new (std::nothrow) TurnOffTiles(); if (action) { @@ -631,7 +631,7 @@ bool TurnOffTiles::initWithDuration(float duration, const Size& gridSize, unsign TurnOffTiles* TurnOffTiles::clone() const { // no copy constructor - auto a = new TurnOffTiles(); + auto a = new (std::nothrow) TurnOffTiles(); a->initWithDuration(_duration, _gridSize, _seed ); a->autorelease(); return a; @@ -711,7 +711,7 @@ void TurnOffTiles::update(float time) WavesTiles3D* WavesTiles3D::create(float duration, const Size& gridSize, unsigned int waves, float amplitude) { - WavesTiles3D *action = new WavesTiles3D(); + WavesTiles3D *action = new (std::nothrow) WavesTiles3D(); if (action) { @@ -745,7 +745,7 @@ bool WavesTiles3D::initWithDuration(float duration, const Size& gridSize, unsign WavesTiles3D* WavesTiles3D::clone() const { // no copy constructor - auto a = new WavesTiles3D(); + auto a = new (std::nothrow) WavesTiles3D(); a->initWithDuration(_duration, _gridSize, _waves, _amplitude); a->autorelease(); return a; @@ -774,7 +774,7 @@ void WavesTiles3D::update(float time) JumpTiles3D* JumpTiles3D::create(float duration, const Size& gridSize, unsigned int numberOfJumps, float amplitude) { - JumpTiles3D *action = new JumpTiles3D(); + JumpTiles3D *action = new (std::nothrow) JumpTiles3D(); if (action) { @@ -808,7 +808,7 @@ bool JumpTiles3D::initWithDuration(float duration, const Size& gridSize, unsigne JumpTiles3D* JumpTiles3D::clone() const { // no copy constructor - auto a = new JumpTiles3D(); + auto a = new (std::nothrow) JumpTiles3D(); a->initWithDuration(_duration, _gridSize, _jumps, _amplitude); a->autorelease(); return a; @@ -849,7 +849,7 @@ void JumpTiles3D::update(float time) SplitRows* SplitRows::create(float duration, unsigned int nRows) { - SplitRows *action = new SplitRows(); + SplitRows *action = new (std::nothrow) SplitRows(); if (action) { @@ -876,7 +876,7 @@ bool SplitRows::initWithDuration(float duration, unsigned int rows) SplitRows* SplitRows::clone() const { // no copy constructor - auto a = new SplitRows(); + auto a = new (std::nothrow) SplitRows(); a->initWithDuration(_duration, _rows); a->autorelease(); return a; @@ -913,7 +913,7 @@ void SplitRows::update(float time) SplitCols* SplitCols::create(float duration, unsigned int cols) { - SplitCols *action = new SplitCols(); + SplitCols *action = new (std::nothrow) SplitCols(); if (action) { @@ -939,7 +939,7 @@ bool SplitCols::initWithDuration(float duration, unsigned int cols) SplitCols* SplitCols::clone() const { // no copy constructor - auto a = new SplitCols(); + auto a = new (std::nothrow) SplitCols(); a->initWithDuration(_duration, _cols); a->autorelease(); return a; diff --git a/cocos/2d/CCActionTween.cpp b/cocos/2d/CCActionTween.cpp index 0d9eb7dc34..19f6d29725 100644 --- a/cocos/2d/CCActionTween.cpp +++ b/cocos/2d/CCActionTween.cpp @@ -30,7 +30,7 @@ NS_CC_BEGIN ActionTween* ActionTween::create(float duration, const std::string& key, float from, float to) { - ActionTween* ret = new ActionTween(); + ActionTween* ret = new (std::nothrow) ActionTween(); if (ret && ret->initWithDuration(duration, key, from, to)) { ret->autorelease(); @@ -58,7 +58,7 @@ bool ActionTween::initWithDuration(float duration, const std::string& key, float ActionTween *ActionTween::clone() const { // no copy constructor - auto a = new ActionTween(); + auto a = new (std::nothrow) ActionTween(); a->initWithDuration(_duration, _key.c_str(), _from, _to); a->autorelease(); return a; diff --git a/cocos/2d/CCAnimation.cpp b/cocos/2d/CCAnimation.cpp index 86ef053192..69683e1fed 100644 --- a/cocos/2d/CCAnimation.cpp +++ b/cocos/2d/CCAnimation.cpp @@ -35,7 +35,7 @@ NS_CC_BEGIN AnimationFrame* AnimationFrame::create(SpriteFrame* spriteFrame, float delayUnits, const ValueMap& userInfo) { - auto ret = new AnimationFrame(); + auto ret = new (std::nothrow) AnimationFrame(); if (ret && ret->initWithSpriteFrame(spriteFrame, delayUnits, userInfo)) { ret->autorelease(); @@ -73,7 +73,7 @@ AnimationFrame::~AnimationFrame() AnimationFrame* AnimationFrame::clone() const { // no copy constructor - auto frame = new AnimationFrame(); + auto frame = new (std::nothrow) AnimationFrame(); frame->initWithSpriteFrame(_spriteFrame->clone(), _delayUnits, _userInfo); @@ -86,7 +86,7 @@ AnimationFrame* AnimationFrame::clone() const Animation* Animation::create(void) { - Animation *animation = new Animation(); + Animation *animation = new (std::nothrow) Animation(); animation->init(); animation->autorelease(); @@ -95,7 +95,7 @@ Animation* Animation::create(void) Animation* Animation::createWithSpriteFrames(const Vector& frames, float delay/* = 0.0f*/, unsigned int loops/* = 1*/) { - Animation *animation = new Animation(); + Animation *animation = new (std::nothrow) Animation(); animation->initWithSpriteFrames(frames, delay, loops); animation->autorelease(); @@ -104,7 +104,7 @@ Animation* Animation::createWithSpriteFrames(const Vector& frames, Animation* Animation::create(const Vector& arrayOfAnimationFrameNames, float delayPerUnit, unsigned int loops /* = 1 */) { - Animation *animation = new Animation(); + Animation *animation = new (std::nothrow) Animation(); animation->initWithAnimationFrames(arrayOfAnimationFrameNames, delayPerUnit, loops); animation->autorelease(); return animation; @@ -194,7 +194,7 @@ float Animation::getDuration(void) const Animation* Animation::clone() const { // no copy constructor - auto a = new Animation(); + auto a = new (std::nothrow) Animation(); a->initWithAnimationFrames(_frames, _delayPerUnit, _loops); a->setRestoreOriginalFrame(_restoreOriginalFrame); a->autorelease(); diff --git a/cocos/2d/CCAnimationCache.cpp b/cocos/2d/CCAnimationCache.cpp index b75a886d93..04389ae3ff 100644 --- a/cocos/2d/CCAnimationCache.cpp +++ b/cocos/2d/CCAnimationCache.cpp @@ -42,7 +42,7 @@ AnimationCache* AnimationCache::getInstance() { if (! s_sharedAnimationCache) { - s_sharedAnimationCache = new AnimationCache(); + s_sharedAnimationCache = new (std::nothrow) AnimationCache(); s_sharedAnimationCache->init(); } diff --git a/cocos/2d/CCAtlasNode.cpp b/cocos/2d/CCAtlasNode.cpp index 38d5024b1a..e885655384 100644 --- a/cocos/2d/CCAtlasNode.cpp +++ b/cocos/2d/CCAtlasNode.cpp @@ -59,7 +59,7 @@ AtlasNode::~AtlasNode() AtlasNode * AtlasNode::create(const std::string& tile, int tileWidth, int tileHeight, int itemsToRender) { - AtlasNode * ret = new AtlasNode(); + AtlasNode * ret = new (std::nothrow) AtlasNode(); if (ret->initWithTileFile(tile, tileWidth, tileHeight, itemsToRender)) { ret->autorelease(); @@ -86,7 +86,7 @@ bool AtlasNode::initWithTexture(Texture2D* texture, int tileWidth, int tileHeigh _blendFunc = BlendFunc::ALPHA_PREMULTIPLIED; - _textureAtlas = new TextureAtlas(); + _textureAtlas = new (std::nothrow) TextureAtlas(); _textureAtlas->initWithTexture(texture, itemsToRender); if (! _textureAtlas) diff --git a/cocos/2d/CCClippingNode.cpp b/cocos/2d/CCClippingNode.cpp index 8a307f69df..653a70cacc 100644 --- a/cocos/2d/CCClippingNode.cpp +++ b/cocos/2d/CCClippingNode.cpp @@ -84,7 +84,7 @@ ClippingNode::~ClippingNode() ClippingNode* ClippingNode::create() { - ClippingNode *ret = new ClippingNode(); + ClippingNode *ret = new (std::nothrow) ClippingNode(); if (ret && ret->init()) { ret->autorelease(); @@ -99,7 +99,7 @@ ClippingNode* ClippingNode::create() ClippingNode* ClippingNode::create(Node *pStencil) { - ClippingNode *ret = new ClippingNode(); + ClippingNode *ret = new (std::nothrow) ClippingNode(); if (ret && ret->init(pStencil)) { ret->autorelease(); diff --git a/cocos/2d/CCComponent.cpp b/cocos/2d/CCComponent.cpp index 22ae3e915c..4d629be8c1 100644 --- a/cocos/2d/CCComponent.cpp +++ b/cocos/2d/CCComponent.cpp @@ -110,7 +110,7 @@ bool Component::serialize(void *ar) Component* Component::create(void) { - Component * ret = new Component(); + Component * ret = new (std::nothrow) Component(); if (ret != nullptr && ret->init()) { ret->autorelease(); diff --git a/cocos/2d/CCComponentContainer.cpp b/cocos/2d/CCComponentContainer.cpp index a309329011..95834c0f62 100644 --- a/cocos/2d/CCComponentContainer.cpp +++ b/cocos/2d/CCComponentContainer.cpp @@ -60,7 +60,7 @@ bool ComponentContainer::add(Component *com) { if (_components == nullptr) { - _components = new Map(); + _components = new (std::nothrow) Map(); } Component *component = _components->at(com->getName()); @@ -135,7 +135,7 @@ void ComponentContainer::removeAll() void ComponentContainer::alloc(void) { - _components = new Map(); + _components = new (std::nothrow) Map(); } void ComponentContainer::visit(float delta) diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp index 64170484df..48fbf65664 100644 --- a/cocos/2d/CCDrawNode.cpp +++ b/cocos/2d/CCDrawNode.cpp @@ -129,7 +129,7 @@ DrawNode::~DrawNode() DrawNode* DrawNode::create() { - DrawNode* ret = new DrawNode(); + DrawNode* ret = new (std::nothrow) DrawNode(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/2d/CCDrawingPrimitives.cpp b/cocos/2d/CCDrawingPrimitives.cpp index 39e53aa78d..2062b8fa5c 100644 --- a/cocos/2d/CCDrawingPrimitives.cpp +++ b/cocos/2d/CCDrawingPrimitives.cpp @@ -158,7 +158,7 @@ void drawPoints( const Vec2 *points, unsigned int numberOfPoints ) s_shader->setUniformLocationWith1f(s_pointSizeLocation, s_pointSize); // XXX: Mac OpenGL error. arrays can't go out of scope before draw is executed - Vec2* newPoints = new Vec2[numberOfPoints]; + Vec2* newPoints = new (std::nothrow) Vec2[numberOfPoints]; // iPhone and 32-bit machines optimization if( sizeof(Vec2) == sizeof(Vec2) ) @@ -269,7 +269,7 @@ void drawPoly(const Vec2 *poli, unsigned int numberOfPoints, bool closePolygon) { // Mac on 64-bit // XXX: Mac OpenGL error. arrays can't go out of scope before draw is executed - Vec2* newPoli = new Vec2[numberOfPoints]; + Vec2* newPoli = new (std::nothrow) Vec2[numberOfPoints]; for( unsigned int i=0; iinitWithTilesetInfo(tilesetInfo, layerInfo, mapInfo)) { ret->autorelease(); diff --git a/cocos/2d/CCFastTMXTiledMap.cpp b/cocos/2d/CCFastTMXTiledMap.cpp index 89bec47562..154bcdd5b8 100644 --- a/cocos/2d/CCFastTMXTiledMap.cpp +++ b/cocos/2d/CCFastTMXTiledMap.cpp @@ -40,7 +40,7 @@ namespace experimental { TMXTiledMap * TMXTiledMap::create(const std::string& tmxFile) { - TMXTiledMap *ret = new TMXTiledMap(); + TMXTiledMap *ret = new (std::nothrow) TMXTiledMap(); if (ret->initWithTMXFile(tmxFile)) { ret->autorelease(); @@ -52,7 +52,7 @@ TMXTiledMap * TMXTiledMap::create(const std::string& tmxFile) TMXTiledMap* TMXTiledMap::createWithXML(const std::string& tmxString, const std::string& resourcePath) { - TMXTiledMap *ret = new TMXTiledMap(); + TMXTiledMap *ret = new (std::nothrow) TMXTiledMap(); if (ret->initWithXML(tmxString, resourcePath)) { ret->autorelease(); diff --git a/cocos/2d/CCFontAtlas.cpp b/cocos/2d/CCFontAtlas.cpp index 072021780d..3e593369db 100644 --- a/cocos/2d/CCFontAtlas.cpp +++ b/cocos/2d/CCFontAtlas.cpp @@ -53,7 +53,7 @@ FontAtlas::FontAtlas(Font &theFont) { _commonLineHeight = _font->getFontMaxHeight(); _fontAscender = fontTTf->getFontAscender(); - auto texture = new Texture2D; + auto texture = new (std::nothrow) Texture2D; _currentPage = 0; _currentPageOrigX = 0; _currentPageOrigY = 0; @@ -256,7 +256,7 @@ bool FontAtlas::prepareLetterDefinitions(const std::u16string& utf16String) _currentPageOrigY = 0; memset(_currentPageData, 0, _currentPageDataSize); _currentPage++; - auto tex = new Texture2D; + auto tex = new (std::nothrow) Texture2D; if (_antialiasEnabled) { tex->setAntiAliasTexParameters(); diff --git a/cocos/2d/CCFontCharMap.cpp b/cocos/2d/CCFontCharMap.cpp index 3d908edecb..8a02426c7a 100644 --- a/cocos/2d/CCFontCharMap.cpp +++ b/cocos/2d/CCFontCharMap.cpp @@ -119,7 +119,7 @@ int * FontCharMap::getHorizontalKerningForTextUTF16(const std::u16string& text, FontAtlas * FontCharMap::createFontAtlas() { - FontAtlas *tempAtlas = new FontAtlas(*this); + FontAtlas *tempAtlas = new (std::nothrow) FontAtlas(*this); if (!tempAtlas) return nullptr; diff --git a/cocos/2d/CCFontFNT.cpp b/cocos/2d/CCFontFNT.cpp index a4d86bf6a4..b35d31a11d 100644 --- a/cocos/2d/CCFontFNT.cpp +++ b/cocos/2d/CCFontFNT.cpp @@ -167,7 +167,7 @@ BMFontConfiguration* FNTConfigLoadFile(const std::string& fntFile) if( s_configurations == nullptr ) { - s_configurations = new Map(); + s_configurations = new (std::nothrow) Map(); } ret = s_configurations->at(fntFile); @@ -189,7 +189,7 @@ BMFontConfiguration* FNTConfigLoadFile(const std::string& fntFile) BMFontConfiguration * BMFontConfiguration::create(const std::string& FNTfile) { - BMFontConfiguration * ret = new BMFontConfiguration(); + BMFontConfiguration * ret = new (std::nothrow) BMFontConfiguration(); if (ret->initWithFNTfile(FNTfile)) { ret->autorelease(); @@ -752,7 +752,7 @@ int FontFNT::getHorizontalKerningForChars(unsigned short firstChar, unsigned sh FontAtlas * FontFNT::createFontAtlas() { - FontAtlas *tempAtlas = new FontAtlas(*this); + FontAtlas *tempAtlas = new (std::nothrow) FontAtlas(*this); if (!tempAtlas) return nullptr; diff --git a/cocos/2d/CCFontFreeType.cpp b/cocos/2d/CCFontFreeType.cpp index 1972e41a60..6a4f639c82 100644 --- a/cocos/2d/CCFontFreeType.cpp +++ b/cocos/2d/CCFontFreeType.cpp @@ -172,7 +172,7 @@ FontFreeType::~FontFreeType() FontAtlas * FontFreeType::createFontAtlas() { - FontAtlas *atlas = new FontAtlas(*this); + FontAtlas *atlas = new (std::nothrow) FontAtlas(*this); if (_usedGlyphs != GlyphCollection::DYNAMIC) { std::u16string utf16; diff --git a/cocos/2d/CCGrid.cpp b/cocos/2d/CCGrid.cpp index 27b5016fa8..90c84545d4 100644 --- a/cocos/2d/CCGrid.cpp +++ b/cocos/2d/CCGrid.cpp @@ -41,7 +41,7 @@ NS_CC_BEGIN GridBase* GridBase::create(const Size& gridSize) { - GridBase *pGridBase = new GridBase(); + GridBase *pGridBase = new (std::nothrow) GridBase(); if (pGridBase) { @@ -60,7 +60,7 @@ GridBase* GridBase::create(const Size& gridSize) GridBase* GridBase::create(const Size& gridSize, Texture2D *texture, bool flipped) { - GridBase *pGridBase = new GridBase(); + GridBase *pGridBase = new (std::nothrow) GridBase(); if (pGridBase) { @@ -93,7 +93,7 @@ bool GridBase::initWithSize(const Size& gridSize, Texture2D *texture, bool flipp _step.x = texSize.width / _gridSize.width; _step.y = texSize.height / _gridSize.height; - _grabber = new Grabber(); + _grabber = new (std::nothrow) Grabber(); if (_grabber) { _grabber->grab(_texture); @@ -129,7 +129,7 @@ bool GridBase::initWithSize(const Size& gridSize) return false; } - Texture2D *texture = new Texture2D(); + Texture2D *texture = new (std::nothrow) Texture2D(); texture->initWithData(data, dataLen, format, POTWide, POTHigh, s); free(data); @@ -254,7 +254,7 @@ void GridBase::calculateVertexPoints(void) Grid3D* Grid3D::create(const Size& gridSize, Texture2D *texture, bool flipped) { - Grid3D *ret= new Grid3D(); + Grid3D *ret= new (std::nothrow) Grid3D(); if (ret) { @@ -274,7 +274,7 @@ Grid3D* Grid3D::create(const Size& gridSize, Texture2D *texture, bool flipped) Grid3D* Grid3D::create(const Size& gridSize) { - Grid3D *ret= new Grid3D(); + Grid3D *ret= new (std::nothrow) Grid3D(); if (ret) { @@ -471,7 +471,7 @@ TiledGrid3D::~TiledGrid3D(void) TiledGrid3D* TiledGrid3D::create(const Size& gridSize, Texture2D *texture, bool flipped) { - TiledGrid3D *ret= new TiledGrid3D(); + TiledGrid3D *ret= new (std::nothrow) TiledGrid3D(); if (ret) { @@ -491,7 +491,7 @@ TiledGrid3D* TiledGrid3D::create(const Size& gridSize, Texture2D *texture, bool TiledGrid3D* TiledGrid3D::create(const Size& gridSize) { - TiledGrid3D *ret= new TiledGrid3D(); + TiledGrid3D *ret= new (std::nothrow) TiledGrid3D(); if (ret) { diff --git a/cocos/2d/CCLabel.cpp b/cocos/2d/CCLabel.cpp index 5faed073ac..573c84a13b 100644 --- a/cocos/2d/CCLabel.cpp +++ b/cocos/2d/CCLabel.cpp @@ -45,7 +45,7 @@ const int Label::DistanceFieldFontSize = 50; Label* Label::create() { - auto ret = new Label(); + auto ret = new (std::nothrow) Label(); if (ret) { @@ -69,7 +69,7 @@ Label* Label::create(const std::string& text, const std::string& font, float fon Label* Label::createWithSystemFont(const std::string& text, const std::string& font, float fontSize, const Size& dimensions /* = Size::ZERO */, TextHAlignment hAlignment /* = TextHAlignment::LEFT */, TextVAlignment vAlignment /* = TextVAlignment::TOP */) { - auto ret = new Label(nullptr,hAlignment,vAlignment); + auto ret = new (std::nothrow) Label(nullptr,hAlignment,vAlignment); if (ret) { @@ -89,7 +89,7 @@ Label* Label::createWithSystemFont(const std::string& text, const std::string& f Label* Label::createWithTTF(const std::string& text, const std::string& fontFile, float fontSize, const Size& dimensions /* = Size::ZERO */, TextHAlignment hAlignment /* = TextHAlignment::LEFT */, TextVAlignment vAlignment /* = TextVAlignment::TOP */) { - auto ret = new Label(nullptr,hAlignment,vAlignment); + auto ret = new (std::nothrow) Label(nullptr,hAlignment,vAlignment); if (ret && FileUtils::getInstance()->isFileExist(fontFile)) { @@ -111,7 +111,7 @@ Label* Label::createWithTTF(const std::string& text, const std::string& fontFile Label* Label::createWithTTF(const TTFConfig& ttfConfig, const std::string& text, TextHAlignment alignment /* = TextHAlignment::CENTER */, int maxLineWidth /* = 0 */) { - auto ret = new Label(nullptr,alignment); + auto ret = new (std::nothrow) Label(nullptr,alignment); if (ret && FileUtils::getInstance()->isFileExist(ttfConfig.fontFilePath) && ret->setTTFConfig(ttfConfig)) { @@ -128,7 +128,7 @@ Label* Label::createWithTTF(const TTFConfig& ttfConfig, const std::string& text, Label* Label::createWithBMFont(const std::string& bmfontFilePath, const std::string& text,const TextHAlignment& alignment /* = TextHAlignment::LEFT */, int maxLineWidth /* = 0 */, const Vec2& imageOffset /* = Vec2::ZERO */) { - auto ret = new Label(nullptr,alignment); + auto ret = new (std::nothrow) Label(nullptr,alignment); if (ret && ret->setBMFontFilePath(bmfontFilePath,imageOffset)) { @@ -145,7 +145,7 @@ Label* Label::createWithBMFont(const std::string& bmfontFilePath, const std::str Label* Label::createWithCharMap(const std::string& plistFile) { - auto ret = new Label(); + auto ret = new (std::nothrow) Label(); if (ret && ret->setCharMap(plistFile)) { @@ -159,7 +159,7 @@ Label* Label::createWithCharMap(const std::string& plistFile) Label* Label::createWithCharMap(Texture2D* texture, int itemWidth, int itemHeight, int startCharMap) { - auto ret = new Label(); + auto ret = new (std::nothrow) Label(); if (ret && ret->setCharMap(texture,itemWidth,itemHeight,startCharMap)) { @@ -173,7 +173,7 @@ Label* Label::createWithCharMap(Texture2D* texture, int itemWidth, int itemHeigh Label* Label::createWithCharMap(const std::string& charMapFile, int itemWidth, int itemHeight, int startCharMap) { - auto ret = new Label(); + auto ret = new (std::nothrow) Label(); if (ret && ret->setCharMap(charMapFile,itemWidth,itemHeight,startCharMap)) { @@ -892,7 +892,7 @@ void Label::createSpriteWithFontDefinition() { _currentLabelType = LabelType::STRING_TEXTURE; - auto texture = new Texture2D; + auto texture = new (std::nothrow) Texture2D; texture->initWithString(_originalUTF8String.c_str(),_fontDefinition); _textSprite = Sprite::createWithTexture(texture); diff --git a/cocos/2d/CCLabelAtlas.cpp b/cocos/2d/CCLabelAtlas.cpp index 73bd834804..e903fd4712 100644 --- a/cocos/2d/CCLabelAtlas.cpp +++ b/cocos/2d/CCLabelAtlas.cpp @@ -43,7 +43,7 @@ NS_CC_BEGIN LabelAtlas* LabelAtlas::create() { - LabelAtlas* ret = new LabelAtlas(); + LabelAtlas* ret = new (std::nothrow) LabelAtlas(); if (ret) { ret->autorelease(); @@ -58,7 +58,7 @@ LabelAtlas* LabelAtlas::create() LabelAtlas* LabelAtlas::create(const std::string& string, const std::string& charMapFile, int itemWidth, int itemHeight, int startCharMap) { - LabelAtlas* ret = new LabelAtlas(); + LabelAtlas* ret = new (std::nothrow) LabelAtlas(); if(ret && ret->initWithString(string, charMapFile, itemWidth, itemHeight, startCharMap)) { ret->autorelease(); @@ -87,7 +87,7 @@ bool LabelAtlas::initWithString(const std::string& string, Texture2D* texture, i LabelAtlas* LabelAtlas::create(const std::string& string, const std::string& fntFile) { - LabelAtlas *ret = new LabelAtlas(); + LabelAtlas *ret = new (std::nothrow) LabelAtlas(); if (ret) { if (ret->initWithString(string, fntFile)) diff --git a/cocos/2d/CCLabelBMFont.cpp b/cocos/2d/CCLabelBMFont.cpp index 217975ba68..3b425824b9 100644 --- a/cocos/2d/CCLabelBMFont.cpp +++ b/cocos/2d/CCLabelBMFont.cpp @@ -53,7 +53,7 @@ NS_CC_BEGIN LabelBMFont * LabelBMFont::create() { - LabelBMFont * pRet = new LabelBMFont(); + LabelBMFont * pRet = new (std::nothrow) LabelBMFont(); if (pRet) { pRet->autorelease(); @@ -66,7 +66,7 @@ LabelBMFont * LabelBMFont::create() //LabelBMFont - Creation & Init LabelBMFont *LabelBMFont::create(const std::string& str, const std::string& fntFile, float width /* = 0 */, TextHAlignment alignment /* = TextHAlignment::LEFT */,const Vec2& imageOffset /* = Vec2::ZERO */) { - LabelBMFont *ret = new LabelBMFont(); + LabelBMFont *ret = new (std::nothrow) LabelBMFont(); if(ret && ret->initWithString(str, fntFile, width, alignment,imageOffset)) { ret->autorelease(); diff --git a/cocos/2d/CCLabelTTF.cpp b/cocos/2d/CCLabelTTF.cpp index 7341c8df6f..205cce2c3e 100644 --- a/cocos/2d/CCLabelTTF.cpp +++ b/cocos/2d/CCLabelTTF.cpp @@ -54,7 +54,7 @@ LabelTTF::~LabelTTF() LabelTTF * LabelTTF::create() { - LabelTTF * ret = new LabelTTF(); + LabelTTF * ret = new (std::nothrow) LabelTTF(); if (ret) { ret->autorelease(); @@ -70,7 +70,7 @@ LabelTTF* LabelTTF::create(const std::string& string, const std::string& fontNam const Size &dimensions, TextHAlignment hAlignment, TextVAlignment vAlignment) { - LabelTTF *ret = new LabelTTF(); + LabelTTF *ret = new (std::nothrow) LabelTTF(); if(ret && ret->initWithString(string, fontName, fontSize, dimensions, hAlignment, vAlignment)) { ret->autorelease(); @@ -82,7 +82,7 @@ LabelTTF* LabelTTF::create(const std::string& string, const std::string& fontNam LabelTTF * LabelTTF::createWithFontDefinition(const std::string& string, FontDefinition &textDefinition) { - LabelTTF *ret = new LabelTTF(); + LabelTTF *ret = new (std::nothrow) LabelTTF(); if(ret && ret->initWithStringAndTextDefinition(string, textDefinition)) { ret->autorelease(); diff --git a/cocos/2d/CCLayer.cpp b/cocos/2d/CCLayer.cpp index b3da6235a8..061eccf842 100644 --- a/cocos/2d/CCLayer.cpp +++ b/cocos/2d/CCLayer.cpp @@ -78,7 +78,7 @@ bool Layer::init() Layer *Layer::create() { - Layer *ret = new Layer(); + Layer *ret = new (std::nothrow) Layer(); if (ret && ret->init()) { ret->autorelease(); @@ -459,7 +459,7 @@ void LayerColor::setBlendFunc(const BlendFunc &var) LayerColor* LayerColor::create() { - LayerColor* ret = new LayerColor(); + LayerColor* ret = new (std::nothrow) LayerColor(); if (ret && ret->init()) { ret->autorelease(); @@ -473,7 +473,7 @@ LayerColor* LayerColor::create() LayerColor * LayerColor::create(const Color4B& color, GLfloat width, GLfloat height) { - LayerColor * layer = new LayerColor(); + LayerColor * layer = new (std::nothrow) LayerColor(); if( layer && layer->initWithColor(color,width,height)) { layer->autorelease(); @@ -485,7 +485,7 @@ LayerColor * LayerColor::create(const Color4B& color, GLfloat width, GLfloat hei LayerColor * LayerColor::create(const Color4B& color) { - LayerColor * layer = new LayerColor(); + LayerColor * layer = new (std::nothrow) LayerColor(); if(layer && layer->initWithColor(color)) { layer->autorelease(); @@ -641,7 +641,7 @@ LayerGradient::~LayerGradient() LayerGradient* LayerGradient::create(const Color4B& start, const Color4B& end) { - LayerGradient * layer = new LayerGradient(); + LayerGradient * layer = new (std::nothrow) LayerGradient(); if( layer && layer->initWithColor(start, end)) { layer->autorelease(); @@ -653,7 +653,7 @@ LayerGradient* LayerGradient::create(const Color4B& start, const Color4B& end) LayerGradient* LayerGradient::create(const Color4B& start, const Color4B& end, const Vec2& v) { - LayerGradient * layer = new LayerGradient(); + LayerGradient * layer = new (std::nothrow) LayerGradient(); if( layer && layer->initWithColor(start, end, v)) { layer->autorelease(); @@ -665,7 +665,7 @@ LayerGradient* LayerGradient::create(const Color4B& start, const Color4B& end, c LayerGradient* LayerGradient::create() { - LayerGradient* ret = new LayerGradient(); + LayerGradient* ret = new (std::nothrow) LayerGradient(); if (ret && ret->init()) { ret->autorelease(); @@ -848,7 +848,7 @@ LayerMultiplex * LayerMultiplex::createVariadic(Layer * layer, ...) va_list args; va_start(args,layer); - LayerMultiplex * multiplexLayer = new LayerMultiplex(); + LayerMultiplex * multiplexLayer = new (std::nothrow) LayerMultiplex(); if(multiplexLayer && multiplexLayer->initWithLayers(layer, args)) { multiplexLayer->autorelease(); @@ -865,7 +865,7 @@ LayerMultiplex * LayerMultiplex::create(Layer * layer, ...) va_list args; va_start(args,layer); - LayerMultiplex * multiplexLayer = new LayerMultiplex(); + LayerMultiplex * multiplexLayer = new (std::nothrow) LayerMultiplex(); if(multiplexLayer && multiplexLayer->initWithLayers(layer, args)) { multiplexLayer->autorelease(); @@ -885,7 +885,7 @@ LayerMultiplex * LayerMultiplex::createWithLayer(Layer* layer) LayerMultiplex* LayerMultiplex::create() { - LayerMultiplex* ret = new LayerMultiplex(); + LayerMultiplex* ret = new (std::nothrow) LayerMultiplex(); if (ret && ret->init()) { ret->autorelease(); @@ -899,7 +899,7 @@ LayerMultiplex* LayerMultiplex::create() LayerMultiplex* LayerMultiplex::createWithArray(const Vector& arrayOfLayers) { - LayerMultiplex* ret = new LayerMultiplex(); + LayerMultiplex* ret = new (std::nothrow) LayerMultiplex(); if (ret && ret->initWithArray(arrayOfLayers)) { ret->autorelease(); diff --git a/cocos/2d/CCMenu.cpp b/cocos/2d/CCMenu.cpp index bba717aa6f..7fd3b62781 100644 --- a/cocos/2d/CCMenu.cpp +++ b/cocos/2d/CCMenu.cpp @@ -89,7 +89,7 @@ Menu * Menu::create(MenuItem* item, ...) Menu* Menu::createWithArray(const Vector& arrayOfItems) { - auto ret = new Menu(); + auto ret = new (std::nothrow) Menu(); if (ret && ret->initWithArray(arrayOfItems)) { ret->autorelease(); diff --git a/cocos/2d/CCMenuItem.cpp b/cocos/2d/CCMenuItem.cpp index 54146875dc..29f8514d8b 100644 --- a/cocos/2d/CCMenuItem.cpp +++ b/cocos/2d/CCMenuItem.cpp @@ -66,7 +66,7 @@ MenuItem* MenuItem::create() // XXX deprecated MenuItem* MenuItem::create(Ref *target, SEL_MenuHandler selector) { - MenuItem *ret = new MenuItem(); + MenuItem *ret = new (std::nothrow) MenuItem(); ret->initWithTarget(target, selector); ret->autorelease(); return ret; @@ -74,7 +74,7 @@ MenuItem* MenuItem::create(Ref *target, SEL_MenuHandler selector) MenuItem* MenuItem::create( const ccMenuCallback& callback) { - MenuItem *ret = new MenuItem(); + MenuItem *ret = new (std::nothrow) MenuItem(); ret->initWithCallback(callback); ret->autorelease(); return ret; @@ -195,7 +195,7 @@ void MenuItemLabel::setLabel(Node* var) // XXX: deprecated MenuItemLabel * MenuItemLabel::create(Node*label, Ref* target, SEL_MenuHandler selector) { - MenuItemLabel *ret = new MenuItemLabel(); + MenuItemLabel *ret = new (std::nothrow) MenuItemLabel(); ret->initWithLabel(label, target, selector); ret->autorelease(); return ret; @@ -203,7 +203,7 @@ MenuItemLabel * MenuItemLabel::create(Node*label, Ref* target, SEL_MenuHandler s MenuItemLabel * MenuItemLabel::create(Node*label, const ccMenuCallback& callback) { - MenuItemLabel *ret = new MenuItemLabel(); + MenuItemLabel *ret = new (std::nothrow) MenuItemLabel(); ret->initWithLabel(label, callback); ret->autorelease(); return ret; @@ -211,7 +211,7 @@ MenuItemLabel * MenuItemLabel::create(Node*label, const ccMenuCallback& callback MenuItemLabel* MenuItemLabel::create(Node *label) { - MenuItemLabel *ret = new MenuItemLabel(); + MenuItemLabel *ret = new (std::nothrow) MenuItemLabel(); ret->initWithLabel(label, (const ccMenuCallback&) nullptr); ret->autorelease(); return ret; @@ -325,7 +325,7 @@ MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const st // XXX: deprecated MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, Ref* target, SEL_MenuHandler selector) { - MenuItemAtlasFont *ret = new MenuItemAtlasFont(); + MenuItemAtlasFont *ret = new (std::nothrow) MenuItemAtlasFont(); ret->initWithString(value, charMapFile, itemWidth, itemHeight, startCharMap, target, selector); ret->autorelease(); return ret; @@ -333,7 +333,7 @@ MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const st MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, const ccMenuCallback& callback) { - MenuItemAtlasFont *ret = new MenuItemAtlasFont(); + MenuItemAtlasFont *ret = new (std::nothrow) MenuItemAtlasFont(); ret->initWithString(value, charMapFile, itemWidth, itemHeight, startCharMap, callback); ret->autorelease(); return ret; @@ -391,7 +391,7 @@ const std::string& MenuItemFont::getFontName() // XXX: deprecated MenuItemFont * MenuItemFont::create(const std::string& value, Ref* target, SEL_MenuHandler selector) { - MenuItemFont *ret = new MenuItemFont(); + MenuItemFont *ret = new (std::nothrow) MenuItemFont(); ret->initWithString(value, target, selector); ret->autorelease(); return ret; @@ -399,7 +399,7 @@ MenuItemFont * MenuItemFont::create(const std::string& value, Ref* target, SEL_M MenuItemFont * MenuItemFont::create(const std::string& value, const ccMenuCallback& callback) { - MenuItemFont *ret = new MenuItemFont(); + MenuItemFont *ret = new (std::nothrow) MenuItemFont(); ret->initWithString(value, callback); ret->autorelease(); return ret; @@ -408,7 +408,7 @@ MenuItemFont * MenuItemFont::create(const std::string& value, const ccMenuCallba MenuItemFont * MenuItemFont::create(const std::string& value) { - MenuItemFont *ret = new MenuItemFont(); + MenuItemFont *ret = new (std::nothrow) MenuItemFont(); ret->initWithString(value, (const ccMenuCallback&)nullptr); ret->autorelease(); return ret; @@ -560,7 +560,7 @@ MenuItemSprite * MenuItemSprite::create(Node* normalSprite, Node* selectedSprite // XXX deprecated MenuItemSprite * MenuItemSprite::create(Node *normalSprite, Node *selectedSprite, Node *disabledSprite, Ref *target, SEL_MenuHandler selector) { - MenuItemSprite *ret = new MenuItemSprite(); + MenuItemSprite *ret = new (std::nothrow) MenuItemSprite(); ret->initWithNormalSprite(normalSprite, selectedSprite, disabledSprite, target, selector); ret->autorelease(); return ret; @@ -568,7 +568,7 @@ MenuItemSprite * MenuItemSprite::create(Node *normalSprite, Node *selectedSprite MenuItemSprite * MenuItemSprite::create(Node *normalSprite, Node *selectedSprite, Node *disabledSprite, const ccMenuCallback& callback) { - MenuItemSprite *ret = new MenuItemSprite(); + MenuItemSprite *ret = new (std::nothrow) MenuItemSprite(); ret->initWithNormalSprite(normalSprite, selectedSprite, disabledSprite, callback); ret->autorelease(); return ret; @@ -686,7 +686,7 @@ void MenuItemSprite::updateImagesVisibility() MenuItemImage* MenuItemImage::create() { - MenuItemImage *ret = new MenuItemImage(); + MenuItemImage *ret = new (std::nothrow) MenuItemImage(); if (ret && ret->init()) { ret->autorelease(); @@ -720,7 +720,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: // XXX deprecated MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, Ref* target, SEL_MenuHandler selector) { - MenuItemImage *ret = new MenuItemImage(); + MenuItemImage *ret = new (std::nothrow) MenuItemImage(); if (ret && ret->initWithNormalImage(normalImage, selectedImage, disabledImage, target, selector)) { ret->autorelease(); @@ -732,7 +732,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, const ccMenuCallback& callback) { - MenuItemImage *ret = new MenuItemImage(); + MenuItemImage *ret = new (std::nothrow) MenuItemImage(); if (ret && ret->initWithNormalImage(normalImage, selectedImage, disabledImage, callback)) { ret->autorelease(); @@ -744,7 +744,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage) { - MenuItemImage *ret = new MenuItemImage(); + MenuItemImage *ret = new (std::nothrow) MenuItemImage(); if (ret && ret->initWithNormalImage(normalImage, selectedImage, disabledImage, (const ccMenuCallback&)nullptr)) { ret->autorelease(); @@ -809,7 +809,7 @@ void MenuItemImage::setDisabledSpriteFrame(SpriteFrame * frame) // XXX: deprecated MenuItemToggle * MenuItemToggle::createWithTarget(Ref* target, SEL_MenuHandler selector, const Vector& menuItems) { - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->MenuItem::initWithTarget(target, selector); ret->_subItems = menuItems; ret->_selectedIndex = UINT_MAX; @@ -819,7 +819,7 @@ MenuItemToggle * MenuItemToggle::createWithTarget(Ref* target, SEL_MenuHandler s MenuItemToggle * MenuItemToggle::createWithCallback(const ccMenuCallback &callback, const Vector& menuItems) { - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->MenuItem::initWithCallback(callback); ret->_subItems = menuItems; ret->_selectedIndex = UINT_MAX; @@ -832,7 +832,7 @@ MenuItemToggle * MenuItemToggle::createWithTarget(Ref* target, SEL_MenuHandler s { va_list args; va_start(args, item); - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->initWithTarget(target, selector, item, args); ret->autorelease(); va_end(args); @@ -844,7 +844,7 @@ MenuItemToggle * MenuItemToggle::createWithCallbackVA(const ccMenuCallback &call { va_list args; va_start(args, item); - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->initWithCallback(callback, item, args); ret->autorelease(); va_end(args); @@ -855,7 +855,7 @@ MenuItemToggle * MenuItemToggle::createWithCallback(const ccMenuCallback &callba { va_list args; va_start(args, item); - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->initWithCallback(callback, item, args); ret->autorelease(); va_end(args); @@ -865,7 +865,7 @@ MenuItemToggle * MenuItemToggle::createWithCallback(const ccMenuCallback &callba MenuItemToggle * MenuItemToggle::create() { - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->initWithItem(nullptr); ret->autorelease(); return ret; @@ -898,7 +898,7 @@ bool MenuItemToggle::initWithCallback(const ccMenuCallback &callback, MenuItem * MenuItemToggle* MenuItemToggle::create(MenuItem *item) { - MenuItemToggle *ret = new MenuItemToggle(); + MenuItemToggle *ret = new (std::nothrow) MenuItemToggle(); ret->initWithItem(item); ret->autorelease(); return ret; diff --git a/cocos/2d/CCMotionStreak.cpp b/cocos/2d/CCMotionStreak.cpp index 2b1bf8e511..a9a227e356 100644 --- a/cocos/2d/CCMotionStreak.cpp +++ b/cocos/2d/CCMotionStreak.cpp @@ -69,7 +69,7 @@ MotionStreak::~MotionStreak() MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const Color3B& color, const std::string& path) { - MotionStreak *ret = new MotionStreak(); + MotionStreak *ret = new (std::nothrow) MotionStreak(); if (ret && ret->initWithFade(fade, minSeg, stroke, color, path)) { ret->autorelease(); @@ -82,7 +82,7 @@ MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const Color3B& color, Texture2D* texture) { - MotionStreak *ret = new MotionStreak(); + MotionStreak *ret = new (std::nothrow) MotionStreak(); if (ret && ret->initWithFade(fade, minSeg, stroke, color, texture)) { ret->autorelease(); diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index a3f3d002ce..887ab70cbf 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -757,7 +757,7 @@ Rect Node::getBoundingBox() const Node * Node::create() { - Node * ret = new Node(); + Node * ret = new (std::nothrow) Node(); if (ret && ret->init()) { ret->autorelease(); @@ -1847,7 +1847,7 @@ bool Node::addComponent(Component *component) { // lazy alloc if( !_componentContainer ) - _componentContainer = new ComponentContainer(this); + _componentContainer = new (std::nothrow) ComponentContainer(this); return _componentContainer->add(component); } diff --git a/cocos/2d/CCNodeGrid.cpp b/cocos/2d/CCNodeGrid.cpp index a2e5c263c2..985b950ed2 100644 --- a/cocos/2d/CCNodeGrid.cpp +++ b/cocos/2d/CCNodeGrid.cpp @@ -34,7 +34,7 @@ NS_CC_BEGIN NodeGrid* NodeGrid::create() { - NodeGrid * ret = new NodeGrid(); + NodeGrid * ret = new (std::nothrow) NodeGrid(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/2d/CCParallaxNode.cpp b/cocos/2d/CCParallaxNode.cpp index 0e83b912ae..89b55ed908 100644 --- a/cocos/2d/CCParallaxNode.cpp +++ b/cocos/2d/CCParallaxNode.cpp @@ -34,7 +34,7 @@ class PointObject : public Ref public: static PointObject * create(Vec2 ratio, Vec2 offset) { - PointObject *ret = new PointObject(); + PointObject *ret = new (std::nothrow) PointObject(); ret->initWithPoint(ratio, offset); ret->autorelease(); return ret; @@ -80,7 +80,7 @@ ParallaxNode::~ParallaxNode() ParallaxNode * ParallaxNode::create() { - ParallaxNode *ret = new ParallaxNode(); + ParallaxNode *ret = new (std::nothrow) ParallaxNode(); ret->autorelease(); return ret; } diff --git a/cocos/2d/CCParticleBatchNode.cpp b/cocos/2d/CCParticleBatchNode.cpp index b717205f82..dd27e08acb 100644 --- a/cocos/2d/CCParticleBatchNode.cpp +++ b/cocos/2d/CCParticleBatchNode.cpp @@ -65,7 +65,7 @@ ParticleBatchNode::~ParticleBatchNode() ParticleBatchNode* ParticleBatchNode::createWithTexture(Texture2D *tex, int capacity/* = kParticleDefaultCapacity*/) { - ParticleBatchNode * p = new ParticleBatchNode(); + ParticleBatchNode * p = new (std::nothrow) ParticleBatchNode(); if( p && p->initWithTexture(tex, capacity)) { p->autorelease(); @@ -81,7 +81,7 @@ ParticleBatchNode* ParticleBatchNode::createWithTexture(Texture2D *tex, int capa ParticleBatchNode* ParticleBatchNode::create(const std::string& imageFile, int capacity/* = kParticleDefaultCapacity*/) { - ParticleBatchNode * p = new ParticleBatchNode(); + ParticleBatchNode * p = new (std::nothrow) ParticleBatchNode(); if( p && p->initWithFile(imageFile, capacity)) { p->autorelease(); @@ -96,7 +96,7 @@ ParticleBatchNode* ParticleBatchNode::create(const std::string& imageFile, int c */ bool ParticleBatchNode::initWithTexture(Texture2D *tex, int capacity) { - _textureAtlas = new TextureAtlas(); + _textureAtlas = new (std::nothrow) TextureAtlas(); _textureAtlas->initWithTexture(tex, capacity); _children.reserve(capacity); diff --git a/cocos/2d/CCParticleExamples.cpp b/cocos/2d/CCParticleExamples.cpp index 6869dc79f2..c180f9c13b 100644 --- a/cocos/2d/CCParticleExamples.cpp +++ b/cocos/2d/CCParticleExamples.cpp @@ -47,7 +47,7 @@ static Texture2D* getDefaultTexture() texture = Director::getInstance()->getTextureCache()->getTextureForKey(key); CC_BREAK_IF(texture != nullptr); - image = new Image(); + image = new (std::nothrow) Image(); CC_BREAK_IF(nullptr == image); ret = image->initWithImageData(__firePngData, sizeof(__firePngData)); CC_BREAK_IF(!ret); @@ -62,7 +62,7 @@ static Texture2D* getDefaultTexture() ParticleFire* ParticleFire::create() { - ParticleFire* ret = new ParticleFire(); + ParticleFire* ret = new (std::nothrow) ParticleFire(); if (ret && ret->init()) { ret->autorelease(); @@ -76,7 +76,7 @@ ParticleFire* ParticleFire::create() ParticleFire* ParticleFire::createWithTotalParticles(int numberOfParticles) { - ParticleFire* ret = new ParticleFire(); + ParticleFire* ret = new (std::nothrow) ParticleFire(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -167,7 +167,7 @@ bool ParticleFire::initWithTotalParticles(int numberOfParticles) ParticleFireworks* ParticleFireworks::create() { - ParticleFireworks* ret = new ParticleFireworks(); + ParticleFireworks* ret = new (std::nothrow) ParticleFireworks(); if (ret && ret->init()) { ret->autorelease(); @@ -181,7 +181,7 @@ ParticleFireworks* ParticleFireworks::create() ParticleFireworks* ParticleFireworks::createWithTotalParticles(int numberOfParticles) { - ParticleFireworks* ret = new ParticleFireworks(); + ParticleFireworks* ret = new (std::nothrow) ParticleFireworks(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -268,7 +268,7 @@ bool ParticleFireworks::initWithTotalParticles(int numberOfParticles) // ParticleSun* ParticleSun::create() { - ParticleSun* ret = new ParticleSun(); + ParticleSun* ret = new (std::nothrow) ParticleSun(); if (ret && ret->init()) { ret->autorelease(); @@ -282,7 +282,7 @@ ParticleSun* ParticleSun::create() ParticleSun* ParticleSun::createWithTotalParticles(int numberOfParticles) { - ParticleSun* ret = new ParticleSun(); + ParticleSun* ret = new (std::nothrow) ParticleSun(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -375,7 +375,7 @@ bool ParticleSun::initWithTotalParticles(int numberOfParticles) ParticleGalaxy* ParticleGalaxy::create() { - ParticleGalaxy* ret = new ParticleGalaxy(); + ParticleGalaxy* ret = new (std::nothrow) ParticleGalaxy(); if (ret && ret->init()) { ret->autorelease(); @@ -389,7 +389,7 @@ ParticleGalaxy* ParticleGalaxy::create() ParticleGalaxy* ParticleGalaxy::createWithTotalParticles(int numberOfParticles) { - ParticleGalaxy* ret = new ParticleGalaxy(); + ParticleGalaxy* ret = new (std::nothrow) ParticleGalaxy(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -484,7 +484,7 @@ bool ParticleGalaxy::initWithTotalParticles(int numberOfParticles) ParticleFlower* ParticleFlower::create() { - ParticleFlower* ret = new ParticleFlower(); + ParticleFlower* ret = new (std::nothrow) ParticleFlower(); if (ret && ret->init()) { ret->autorelease(); @@ -498,7 +498,7 @@ ParticleFlower* ParticleFlower::create() ParticleFlower* ParticleFlower::createWithTotalParticles(int numberOfParticles) { - ParticleFlower* ret = new ParticleFlower(); + ParticleFlower* ret = new (std::nothrow) ParticleFlower(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -592,7 +592,7 @@ bool ParticleFlower::initWithTotalParticles(int numberOfParticles) ParticleMeteor * ParticleMeteor::create() { - ParticleMeteor *ret = new ParticleMeteor(); + ParticleMeteor *ret = new (std::nothrow) ParticleMeteor(); if (ret && ret->init()) { ret->autorelease(); @@ -606,7 +606,7 @@ ParticleMeteor * ParticleMeteor::create() ParticleMeteor* ParticleMeteor::createWithTotalParticles(int numberOfParticles) { - ParticleMeteor* ret = new ParticleMeteor(); + ParticleMeteor* ret = new (std::nothrow) ParticleMeteor(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -701,7 +701,7 @@ bool ParticleMeteor::initWithTotalParticles(int numberOfParticles) ParticleSpiral* ParticleSpiral::create() { - ParticleSpiral* ret = new ParticleSpiral(); + ParticleSpiral* ret = new (std::nothrow) ParticleSpiral(); if (ret && ret->init()) { ret->autorelease(); @@ -715,7 +715,7 @@ ParticleSpiral* ParticleSpiral::create() ParticleSpiral* ParticleSpiral::createWithTotalParticles(int numberOfParticles) { - ParticleSpiral* ret = new ParticleSpiral(); + ParticleSpiral* ret = new (std::nothrow) ParticleSpiral(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -810,7 +810,7 @@ bool ParticleSpiral::initWithTotalParticles(int numberOfParticles) ParticleExplosion* ParticleExplosion::create() { - ParticleExplosion* ret = new ParticleExplosion(); + ParticleExplosion* ret = new (std::nothrow) ParticleExplosion(); if (ret && ret->init()) { ret->autorelease(); @@ -824,7 +824,7 @@ ParticleExplosion* ParticleExplosion::create() ParticleExplosion* ParticleExplosion::createWithTotalParticles(int numberOfParticles) { - ParticleExplosion* ret = new ParticleExplosion(); + ParticleExplosion* ret = new (std::nothrow) ParticleExplosion(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -918,7 +918,7 @@ bool ParticleExplosion::initWithTotalParticles(int numberOfParticles) ParticleSmoke* ParticleSmoke::create() { - ParticleSmoke* ret = new ParticleSmoke(); + ParticleSmoke* ret = new (std::nothrow) ParticleSmoke(); if (ret && ret->init()) { ret->autorelease(); @@ -932,7 +932,7 @@ ParticleSmoke* ParticleSmoke::create() ParticleSmoke* ParticleSmoke::createWithTotalParticles(int numberOfParticles) { - ParticleSmoke* ret = new ParticleSmoke(); + ParticleSmoke* ret = new (std::nothrow) ParticleSmoke(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -1023,7 +1023,7 @@ bool ParticleSmoke::initWithTotalParticles(int numberOfParticles) ParticleSnow* ParticleSnow::create() { - ParticleSnow* ret = new ParticleSnow(); + ParticleSnow* ret = new (std::nothrow) ParticleSnow(); if (ret && ret->init()) { ret->autorelease(); @@ -1037,7 +1037,7 @@ ParticleSnow* ParticleSnow::create() ParticleSnow* ParticleSnow::createWithTotalParticles(int numberOfParticles) { - ParticleSnow* ret = new ParticleSnow(); + ParticleSnow* ret = new (std::nothrow) ParticleSnow(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -1131,7 +1131,7 @@ bool ParticleSnow::initWithTotalParticles(int numberOfParticles) ParticleRain* ParticleRain::create() { - ParticleRain* ret = new ParticleRain(); + ParticleRain* ret = new (std::nothrow) ParticleRain(); if (ret && ret->init()) { ret->autorelease(); @@ -1145,7 +1145,7 @@ ParticleRain* ParticleRain::create() ParticleRain* ParticleRain::createWithTotalParticles(int numberOfParticles) { - ParticleRain* ret = new ParticleRain(); + ParticleRain* ret = new (std::nothrow) ParticleRain(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); diff --git a/cocos/2d/CCParticleSystem.cpp b/cocos/2d/CCParticleSystem.cpp index 1dc57a04f2..b4f3618236 100644 --- a/cocos/2d/CCParticleSystem.cpp +++ b/cocos/2d/CCParticleSystem.cpp @@ -139,7 +139,7 @@ ParticleSystem::ParticleSystem() ParticleSystem * ParticleSystem::create(const std::string& plistFile) { - ParticleSystem *ret = new ParticleSystem(); + ParticleSystem *ret = new (std::nothrow) ParticleSystem(); if (ret && ret->initWithFile(plistFile)) { ret->autorelease(); @@ -151,7 +151,7 @@ ParticleSystem * ParticleSystem::create(const std::string& plistFile) ParticleSystem* ParticleSystem::createWithTotalParticles(int numberOfParticles) { - ParticleSystem *ret = new ParticleSystem(); + ParticleSystem *ret = new (std::nothrow) ParticleSystem(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -405,7 +405,7 @@ bool ParticleSystem::initWithDictionary(ValueMap& dictionary, const std::string& CC_BREAK_IF(!deflated); // For android, we should retain it in VolatileTexture::addImage which invoked in Director::getInstance()->getTextureCache()->addUIImage() - image = new Image(); + image = new (std::nothrow) Image(); bool isOK = image->initWithImageData(deflated, deflatedLen); CCASSERT(isOK, "CCParticleSystem: error init image with Data"); CC_BREAK_IF(!isOK); diff --git a/cocos/2d/CCParticleSystemQuad.cpp b/cocos/2d/CCParticleSystemQuad.cpp index 3773ad668f..392f3b6783 100644 --- a/cocos/2d/CCParticleSystemQuad.cpp +++ b/cocos/2d/CCParticleSystemQuad.cpp @@ -75,7 +75,7 @@ ParticleSystemQuad::~ParticleSystemQuad() ParticleSystemQuad * ParticleSystemQuad::create(const std::string& filename) { - ParticleSystemQuad *ret = new ParticleSystemQuad(); + ParticleSystemQuad *ret = new (std::nothrow) ParticleSystemQuad(); if (ret && ret->initWithFile(filename)) { ret->autorelease(); @@ -86,7 +86,7 @@ ParticleSystemQuad * ParticleSystemQuad::create(const std::string& filename) } ParticleSystemQuad * ParticleSystemQuad::createWithTotalParticles(int numberOfParticles) { - ParticleSystemQuad *ret = new ParticleSystemQuad(); + ParticleSystemQuad *ret = new (std::nothrow) ParticleSystemQuad(); if (ret && ret->initWithTotalParticles(numberOfParticles)) { ret->autorelease(); @@ -597,7 +597,7 @@ void ParticleSystemQuad::setBatchNode(ParticleBatchNode * batchNode) } ParticleSystemQuad * ParticleSystemQuad::create() { - ParticleSystemQuad *particleSystemQuad = new ParticleSystemQuad(); + ParticleSystemQuad *particleSystemQuad = new (std::nothrow) ParticleSystemQuad(); if (particleSystemQuad && particleSystemQuad->init()) { particleSystemQuad->autorelease(); diff --git a/cocos/2d/CCProgressTimer.cpp b/cocos/2d/CCProgressTimer.cpp index c90b1d8c21..498da87487 100644 --- a/cocos/2d/CCProgressTimer.cpp +++ b/cocos/2d/CCProgressTimer.cpp @@ -59,7 +59,7 @@ ProgressTimer::ProgressTimer() ProgressTimer* ProgressTimer::create(Sprite* sp) { - ProgressTimer *progressTimer = new ProgressTimer(); + ProgressTimer *progressTimer = new (std::nothrow) ProgressTimer(); if (progressTimer->initWithSprite(sp)) { progressTimer->autorelease(); diff --git a/cocos/2d/CCProtectedNode.cpp b/cocos/2d/CCProtectedNode.cpp index 348a8c8e41..38382b03f6 100644 --- a/cocos/2d/CCProtectedNode.cpp +++ b/cocos/2d/CCProtectedNode.cpp @@ -49,7 +49,7 @@ ProtectedNode::~ProtectedNode() ProtectedNode * ProtectedNode::create(void) { - ProtectedNode * ret = new ProtectedNode(); + ProtectedNode * ret = new (std::nothrow) ProtectedNode(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/2d/CCRenderTexture.cpp b/cocos/2d/CCRenderTexture.cpp index 036d7583b4..1d4457bd7b 100644 --- a/cocos/2d/CCRenderTexture.cpp +++ b/cocos/2d/CCRenderTexture.cpp @@ -150,7 +150,7 @@ void RenderTexture::listenToForeground(EventCustom *event) RenderTexture * RenderTexture::create(int w, int h, Texture2D::PixelFormat eFormat) { - RenderTexture *ret = new RenderTexture(); + RenderTexture *ret = new (std::nothrow) RenderTexture(); if(ret && ret->initWithWidthAndHeight(w, h, eFormat)) { @@ -163,7 +163,7 @@ RenderTexture * RenderTexture::create(int w, int h, Texture2D::PixelFormat eForm RenderTexture * RenderTexture::create(int w ,int h, Texture2D::PixelFormat eFormat, GLuint uDepthStencilFormat) { - RenderTexture *ret = new RenderTexture(); + RenderTexture *ret = new (std::nothrow) RenderTexture(); if(ret && ret->initWithWidthAndHeight(w, h, eFormat, uDepthStencilFormat)) { @@ -176,7 +176,7 @@ RenderTexture * RenderTexture::create(int w ,int h, Texture2D::PixelFormat eForm RenderTexture * RenderTexture::create(int w, int h) { - RenderTexture *ret = new RenderTexture(); + RenderTexture *ret = new (std::nothrow) RenderTexture(); if(ret && ret->initWithWidthAndHeight(w, h, Texture2D::PixelFormat::RGBA8888, 0)) { @@ -231,7 +231,7 @@ bool RenderTexture::initWithWidthAndHeight(int w, int h, Texture2D::PixelFormat memset(data, 0, dataLen); _pixelFormat = format; - _texture = new Texture2D(); + _texture = new (std::nothrow) Texture2D(); if (_texture) { _texture->initWithData(data, dataLen, (Texture2D::PixelFormat)_pixelFormat, powW, powH, Size((float)w, (float)h)); @@ -245,7 +245,7 @@ bool RenderTexture::initWithWidthAndHeight(int w, int h, Texture2D::PixelFormat if (Configuration::getInstance()->checkForGLExtension("GL_QCOM")) { - _textureCopy = new Texture2D(); + _textureCopy = new (std::nothrow) Texture2D(); if (_textureCopy) { _textureCopy->initWithData(data, dataLen, (Texture2D::PixelFormat)_pixelFormat, powW, powH, Size((float)w, (float)h)); @@ -488,13 +488,13 @@ Image* RenderTexture::newImage(bool fliimage) GLubyte *buffer = nullptr; GLubyte *tempData = nullptr; - Image *image = new Image(); + Image *image = new (std::nothrow) Image(); do { - CC_BREAK_IF(! (buffer = new GLubyte[savedBufferWidth * savedBufferHeight * 4])); + CC_BREAK_IF(! (buffer = new (std::nothrow) GLubyte[savedBufferWidth * savedBufferHeight * 4])); - if(! (tempData = new GLubyte[savedBufferWidth * savedBufferHeight * 4])) + if(! (tempData = new (std::nothrow) GLubyte[savedBufferWidth * savedBufferHeight * 4])) { delete[] buffer; buffer = nullptr; diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index ef1b9ea191..1d1688c4d6 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -77,7 +77,7 @@ bool Scene::initWithSize(const Size& size) Scene* Scene::create() { - Scene *ret = new Scene(); + Scene *ret = new (std::nothrow) Scene(); if (ret && ret->init()) { ret->autorelease(); @@ -92,7 +92,7 @@ Scene* Scene::create() Scene* Scene::createWithSize(const Size& size) { - Scene *ret = new Scene(); + Scene *ret = new (std::nothrow) Scene(); if (ret && ret->initWithSize(size)) { ret->autorelease(); @@ -148,7 +148,7 @@ void Scene::update(float delta) Scene* Scene::createWithPhysics() { - Scene *ret = new Scene(); + Scene *ret = new (std::nothrow) Scene(); if (ret && ret->initWithPhysics()) { ret->autorelease(); diff --git a/cocos/2d/CCSprite.cpp b/cocos/2d/CCSprite.cpp index 1192514cca..6bd4ff58e0 100644 --- a/cocos/2d/CCSprite.cpp +++ b/cocos/2d/CCSprite.cpp @@ -292,7 +292,7 @@ Sprite::~Sprite(void) * It's used for creating a default texture when sprite's texture is set to nullptr. * Supposing codes as follows: * - * auto sp = new Sprite(); + * auto sp = new (std::nothrow) Sprite(); * sp->init(); // Texture was set to nullptr, in order to make opacity and color to work correctly, we need to create a 2x2 white texture. * * The test is in "TestCpp/SpriteTest/Sprite without texture". @@ -332,7 +332,7 @@ void Sprite::setTexture(Texture2D *texture) // If texture wasn't in cache, create it from RAW data. if (texture == nullptr) { - Image* image = new Image(); + Image* image = new (std::nothrow) Image(); bool isOK = image->initWithRawData(cc_2x2_white_image, sizeof(cc_2x2_white_image), 2, 2, 8); CC_UNUSED_PARAM(isOK); CCASSERT(isOK, "The 2x2 empty texture was created unsuccessfully."); diff --git a/cocos/2d/CCSpriteBatchNode.cpp b/cocos/2d/CCSpriteBatchNode.cpp index a2e48bddca..318b0ed7a6 100644 --- a/cocos/2d/CCSpriteBatchNode.cpp +++ b/cocos/2d/CCSpriteBatchNode.cpp @@ -57,7 +57,7 @@ NS_CC_BEGIN SpriteBatchNode* SpriteBatchNode::createWithTexture(Texture2D* tex, ssize_t capacity/* = DEFAULT_CAPACITY*/) { - SpriteBatchNode *batchNode = new SpriteBatchNode(); + SpriteBatchNode *batchNode = new (std::nothrow) SpriteBatchNode(); batchNode->initWithTexture(tex, capacity); batchNode->autorelease(); @@ -70,7 +70,7 @@ SpriteBatchNode* SpriteBatchNode::createWithTexture(Texture2D* tex, ssize_t capa SpriteBatchNode* SpriteBatchNode::create(const std::string& fileImage, ssize_t capacity/* = DEFAULT_CAPACITY*/) { - SpriteBatchNode *batchNode = new SpriteBatchNode(); + SpriteBatchNode *batchNode = new (std::nothrow) SpriteBatchNode(); batchNode->initWithFile(fileImage, capacity); batchNode->autorelease(); @@ -89,7 +89,7 @@ bool SpriteBatchNode::initWithTexture(Texture2D *tex, ssize_t capacity) { _blendFunc = BlendFunc::ALPHA_NON_PREMULTIPLIED; } - _textureAtlas = new TextureAtlas(); + _textureAtlas = new (std::nothrow) TextureAtlas(); if (capacity == 0) { @@ -110,7 +110,7 @@ bool SpriteBatchNode::initWithTexture(Texture2D *tex, ssize_t capacity) bool SpriteBatchNode::init() { - Texture2D * texture = new Texture2D(); + Texture2D * texture = new (std::nothrow) Texture2D(); texture->autorelease(); return this->initWithTexture(texture, 0); } diff --git a/cocos/2d/CCSpriteFrame.cpp b/cocos/2d/CCSpriteFrame.cpp index f52c56e48c..ff40efc5c9 100644 --- a/cocos/2d/CCSpriteFrame.cpp +++ b/cocos/2d/CCSpriteFrame.cpp @@ -35,7 +35,7 @@ NS_CC_BEGIN SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect) { - SpriteFrame *spriteFrame = new SpriteFrame(); + SpriteFrame *spriteFrame = new (std::nothrow) SpriteFrame(); spriteFrame->initWithTextureFilename(filename, rect); spriteFrame->autorelease(); @@ -44,7 +44,7 @@ SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect) SpriteFrame* SpriteFrame::createWithTexture(Texture2D *texture, const Rect& rect) { - SpriteFrame *spriteFrame = new SpriteFrame(); + SpriteFrame *spriteFrame = new (std::nothrow) SpriteFrame(); spriteFrame->initWithTexture(texture, rect); spriteFrame->autorelease(); @@ -53,7 +53,7 @@ SpriteFrame* SpriteFrame::createWithTexture(Texture2D *texture, const Rect& rect SpriteFrame* SpriteFrame::createWithTexture(Texture2D* texture, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize) { - SpriteFrame *spriteFrame = new SpriteFrame(); + SpriteFrame *spriteFrame = new (std::nothrow) SpriteFrame(); spriteFrame->initWithTexture(texture, rect, rotated, offset, originalSize); spriteFrame->autorelease(); @@ -62,7 +62,7 @@ SpriteFrame* SpriteFrame::createWithTexture(Texture2D* texture, const Rect& rect SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize) { - SpriteFrame *spriteFrame = new SpriteFrame(); + SpriteFrame *spriteFrame = new (std::nothrow) SpriteFrame(); spriteFrame->initWithTextureFilename(filename, rect, rotated, offset, originalSize); spriteFrame->autorelease(); @@ -132,7 +132,7 @@ SpriteFrame::~SpriteFrame(void) SpriteFrame* SpriteFrame::clone() const { // no copy constructor - SpriteFrame *copy = new SpriteFrame(); + SpriteFrame *copy = new (std::nothrow) SpriteFrame(); copy->initWithTextureFilename(_textureFilename.c_str(), _rectInPixels, _rotated, _offsetInPixels, _originalSizeInPixels); copy->setTexture(_texture); copy->autorelease(); diff --git a/cocos/2d/CCSpriteFrameCache.cpp b/cocos/2d/CCSpriteFrameCache.cpp index c3bbd003de..85f06a36d3 100644 --- a/cocos/2d/CCSpriteFrameCache.cpp +++ b/cocos/2d/CCSpriteFrameCache.cpp @@ -53,7 +53,7 @@ SpriteFrameCache* SpriteFrameCache::getInstance() { if (! _sharedSpriteFrameCache) { - _sharedSpriteFrameCache = new SpriteFrameCache(); + _sharedSpriteFrameCache = new (std::nothrow) SpriteFrameCache(); _sharedSpriteFrameCache->init(); } diff --git a/cocos/2d/CCTMXLayer.cpp b/cocos/2d/CCTMXLayer.cpp index d763dabbf9..f5026d8e8a 100644 --- a/cocos/2d/CCTMXLayer.cpp +++ b/cocos/2d/CCTMXLayer.cpp @@ -45,7 +45,7 @@ NS_CC_BEGIN TMXLayer * TMXLayer::create(TMXTilesetInfo *tilesetInfo, TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo) { - TMXLayer *ret = new TMXLayer(); + TMXLayer *ret = new (std::nothrow) TMXLayer(); if (ret->initWithTilesetInfo(tilesetInfo, layerInfo, mapInfo)) { ret->autorelease(); diff --git a/cocos/2d/CCTMXTiledMap.cpp b/cocos/2d/CCTMXTiledMap.cpp index 5f8378d731..0559a22203 100644 --- a/cocos/2d/CCTMXTiledMap.cpp +++ b/cocos/2d/CCTMXTiledMap.cpp @@ -38,7 +38,7 @@ NS_CC_BEGIN TMXTiledMap * TMXTiledMap::create(const std::string& tmxFile) { - TMXTiledMap *ret = new TMXTiledMap(); + TMXTiledMap *ret = new (std::nothrow) TMXTiledMap(); if (ret->initWithTMXFile(tmxFile)) { ret->autorelease(); @@ -50,7 +50,7 @@ TMXTiledMap * TMXTiledMap::create(const std::string& tmxFile) TMXTiledMap* TMXTiledMap::createWithXML(const std::string& tmxString, const std::string& resourcePath) { - TMXTiledMap *ret = new TMXTiledMap(); + TMXTiledMap *ret = new (std::nothrow) TMXTiledMap(); if (ret->initWithXML(tmxString, resourcePath)) { ret->autorelease(); diff --git a/cocos/2d/CCTMXXMLParser.cpp b/cocos/2d/CCTMXXMLParser.cpp index 7d42c9c978..396c73260b 100644 --- a/cocos/2d/CCTMXXMLParser.cpp +++ b/cocos/2d/CCTMXXMLParser.cpp @@ -100,7 +100,7 @@ Rect TMXTilesetInfo::getRectForGID(uint32_t gid) TMXMapInfo * TMXMapInfo::create(const std::string& tmxFile) { - TMXMapInfo *ret = new TMXMapInfo(); + TMXMapInfo *ret = new (std::nothrow) TMXMapInfo(); if(ret->initWithTMXFile(tmxFile)) { ret->autorelease(); @@ -112,7 +112,7 @@ TMXMapInfo * TMXMapInfo::create(const std::string& tmxFile) TMXMapInfo * TMXMapInfo::createWithXML(const std::string& tmxString, const std::string& resourcePath) { - TMXMapInfo *ret = new TMXMapInfo(); + TMXMapInfo *ret = new (std::nothrow) TMXMapInfo(); if(ret->initWithXML(tmxString, resourcePath)) { ret->autorelease(); @@ -278,7 +278,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts) } else { - TMXTilesetInfo *tileset = new TMXTilesetInfo(); + TMXTilesetInfo *tileset = new (std::nothrow) TMXTilesetInfo(); tileset->_name = attributeDict["name"].asString(); if (_recordFirstGID) @@ -332,7 +332,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts) } else if (elementName == "layer") { - TMXLayerInfo *layer = new TMXLayerInfo(); + TMXLayerInfo *layer = new (std::nothrow) TMXLayerInfo(); layer->_name = attributeDict["name"].asString(); Size s; @@ -359,7 +359,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts) } else if (elementName == "objectgroup") { - TMXObjectGroup *objectGroup = new TMXObjectGroup(); + TMXObjectGroup *objectGroup = new (std::nothrow) TMXObjectGroup(); objectGroup->setGroupName(attributeDict["name"].asString()); Vec2 positionOffset; positionOffset.x = attributeDict["x"].asFloat() * tmxMapInfo->getTileSize().width; diff --git a/cocos/2d/CCTextFieldTTF.cpp b/cocos/2d/CCTextFieldTTF.cpp index fef8b66e66..2bc51e86b5 100644 --- a/cocos/2d/CCTextFieldTTF.cpp +++ b/cocos/2d/CCTextFieldTTF.cpp @@ -72,7 +72,7 @@ TextFieldTTF::~TextFieldTTF() TextFieldTTF * TextFieldTTF::textFieldWithPlaceHolder(const std::string& placeholder, const Size& dimensions, TextHAlignment alignment, const std::string& fontName, float fontSize) { - TextFieldTTF *ret = new TextFieldTTF(); + TextFieldTTF *ret = new (std::nothrow) TextFieldTTF(); if(ret && ret->initWithPlaceHolder("", dimensions, alignment, fontName, fontSize)) { ret->autorelease(); @@ -88,7 +88,7 @@ TextFieldTTF * TextFieldTTF::textFieldWithPlaceHolder(const std::string& placeho TextFieldTTF * TextFieldTTF::textFieldWithPlaceHolder(const std::string& placeholder, const std::string& fontName, float fontSize) { - TextFieldTTF *ret = new TextFieldTTF(); + TextFieldTTF *ret = new (std::nothrow) TextFieldTTF(); if(ret && ret->initWithPlaceHolder("", fontName, fontSize)) { ret->autorelease(); diff --git a/cocos/2d/CCTileMapAtlas.cpp b/cocos/2d/CCTileMapAtlas.cpp index 03b1633ba2..a3d070ed69 100644 --- a/cocos/2d/CCTileMapAtlas.cpp +++ b/cocos/2d/CCTileMapAtlas.cpp @@ -39,7 +39,7 @@ NS_CC_BEGIN TileMapAtlas * TileMapAtlas::create(const std::string& tile, const std::string& mapFile, int tileWidth, int tileHeight) { - TileMapAtlas *ret = new TileMapAtlas(); + TileMapAtlas *ret = new (std::nothrow) TileMapAtlas(); if (ret->initWithTileFile(tile, mapFile, tileWidth, tileHeight)) { ret->autorelease(); diff --git a/cocos/2d/CCTransition.cpp b/cocos/2d/CCTransition.cpp index f2c1429790..f3af5ebba3 100644 --- a/cocos/2d/CCTransition.cpp +++ b/cocos/2d/CCTransition.cpp @@ -59,7 +59,7 @@ TransitionScene::~TransitionScene() TransitionScene * TransitionScene::create(float t, Scene *scene) { - TransitionScene * pScene = new TransitionScene(); + TransitionScene * pScene = new (std::nothrow) TransitionScene(); if(pScene && pScene->initWithDuration(t,scene)) { pScene->autorelease(); @@ -211,7 +211,7 @@ TransitionSceneOriented::~TransitionSceneOriented() TransitionSceneOriented * TransitionSceneOriented::create(float t, Scene *scene, Orientation orientation) { - TransitionSceneOriented * newScene = new TransitionSceneOriented(); + TransitionSceneOriented * newScene = new (std::nothrow) TransitionSceneOriented(); newScene->initWithDuration(t,scene,orientation); newScene->autorelease(); return newScene; @@ -235,7 +235,7 @@ TransitionRotoZoom::TransitionRotoZoom() TransitionRotoZoom* TransitionRotoZoom::create(float t, Scene* scene) { - TransitionRotoZoom* newScene = new TransitionRotoZoom(); + TransitionRotoZoom* newScene = new (std::nothrow) TransitionRotoZoom(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -295,7 +295,7 @@ TransitionJumpZoom::~TransitionJumpZoom() TransitionJumpZoom* TransitionJumpZoom::create(float t, Scene* scene) { - TransitionJumpZoom* newScene = new TransitionJumpZoom(); + TransitionJumpZoom* newScene = new (std::nothrow) TransitionJumpZoom(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -350,7 +350,7 @@ TransitionMoveInL::~TransitionMoveInL() TransitionMoveInL* TransitionMoveInL::create(float t, Scene* scene) { - TransitionMoveInL* newScene = new TransitionMoveInL(); + TransitionMoveInL* newScene = new (std::nothrow) TransitionMoveInL(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -407,7 +407,7 @@ TransitionMoveInR::~TransitionMoveInR() TransitionMoveInR* TransitionMoveInR::create(float t, Scene* scene) { - TransitionMoveInR* newScene = new TransitionMoveInR(); + TransitionMoveInR* newScene = new (std::nothrow) TransitionMoveInR(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -435,7 +435,7 @@ TransitionMoveInT::~TransitionMoveInT() TransitionMoveInT* TransitionMoveInT::create(float t, Scene* scene) { - TransitionMoveInT* newScene = new TransitionMoveInT(); + TransitionMoveInT* newScene = new (std::nothrow) TransitionMoveInT(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -463,7 +463,7 @@ TransitionMoveInB::~TransitionMoveInB() TransitionMoveInB* TransitionMoveInB::create(float t, Scene* scene) { - TransitionMoveInB* newScene = new TransitionMoveInB(); + TransitionMoveInB* newScene = new (std::nothrow) TransitionMoveInB(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -540,7 +540,7 @@ ActionInterval* TransitionSlideInL::easeActionWithAction(ActionInterval* action) TransitionSlideInL* TransitionSlideInL::create(float t, Scene* scene) { - TransitionSlideInL* newScene = new TransitionSlideInL(); + TransitionSlideInL* newScene = new (std::nothrow) TransitionSlideInL(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -562,7 +562,7 @@ TransitionSlideInR::~TransitionSlideInR() TransitionSlideInR* TransitionSlideInR::create(float t, Scene* scene) { - TransitionSlideInR* newScene = new TransitionSlideInR(); + TransitionSlideInR* newScene = new (std::nothrow) TransitionSlideInR(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -603,7 +603,7 @@ TransitionSlideInT::~TransitionSlideInT() TransitionSlideInT* TransitionSlideInT::create(float t, Scene* scene) { - TransitionSlideInT* newScene = new TransitionSlideInT(); + TransitionSlideInT* newScene = new (std::nothrow) TransitionSlideInT(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -643,7 +643,7 @@ TransitionSlideInB::~TransitionSlideInB() TransitionSlideInB* TransitionSlideInB::create(float t, Scene* scene) { - TransitionSlideInB* newScene = new TransitionSlideInB(); + TransitionSlideInB* newScene = new (std::nothrow) TransitionSlideInB(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -683,7 +683,7 @@ TransitionShrinkGrow::~TransitionShrinkGrow() TransitionShrinkGrow* TransitionShrinkGrow::create(float t, Scene* scene) { - TransitionShrinkGrow* newScene = new TransitionShrinkGrow(); + TransitionShrinkGrow* newScene = new (std::nothrow) TransitionShrinkGrow(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -781,7 +781,7 @@ void TransitionFlipX::onEnter() TransitionFlipX* TransitionFlipX::create(float t, Scene* s, Orientation o) { - TransitionFlipX* newScene = new TransitionFlipX(); + TransitionFlipX* newScene = new (std::nothrow) TransitionFlipX(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -851,7 +851,7 @@ void TransitionFlipY::onEnter() TransitionFlipY* TransitionFlipY::create(float t, Scene* s, Orientation o) { - TransitionFlipY* newScene = new TransitionFlipY(); + TransitionFlipY* newScene = new (std::nothrow) TransitionFlipY(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -921,7 +921,7 @@ void TransitionFlipAngular::onEnter() TransitionFlipAngular* TransitionFlipAngular::create(float t, Scene* s, Orientation o) { - TransitionFlipAngular* newScene = new TransitionFlipAngular(); + TransitionFlipAngular* newScene = new (std::nothrow) TransitionFlipAngular(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -999,7 +999,7 @@ void TransitionZoomFlipX::onEnter() TransitionZoomFlipX* TransitionZoomFlipX::create(float t, Scene* s, Orientation o) { - TransitionZoomFlipX* newScene = new TransitionZoomFlipX(); + TransitionZoomFlipX* newScene = new (std::nothrow) TransitionZoomFlipX(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -1078,7 +1078,7 @@ void TransitionZoomFlipY::onEnter() TransitionZoomFlipY* TransitionZoomFlipY::create(float t, Scene* s, Orientation o) { - TransitionZoomFlipY* newScene = new TransitionZoomFlipY(); + TransitionZoomFlipY* newScene = new (std::nothrow) TransitionZoomFlipY(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -1159,7 +1159,7 @@ void TransitionZoomFlipAngular::onEnter() TransitionZoomFlipAngular* TransitionZoomFlipAngular::create(float t, Scene* s, Orientation o) { - TransitionZoomFlipAngular* newScene = new TransitionZoomFlipAngular(); + TransitionZoomFlipAngular* newScene = new (std::nothrow) TransitionZoomFlipAngular(); newScene->initWithDuration(t, s, o); newScene->autorelease(); @@ -1183,7 +1183,7 @@ TransitionFade::~TransitionFade() TransitionFade * TransitionFade::create(float duration, Scene *scene, const Color3B& color) { - TransitionFade * transition = new TransitionFade(); + TransitionFade * transition = new (std::nothrow) TransitionFade(); transition->initWithDuration(duration, scene, color); transition->autorelease(); return transition; @@ -1252,7 +1252,7 @@ TransitionCrossFade::~TransitionCrossFade() TransitionCrossFade* TransitionCrossFade::create(float t, Scene* scene) { - TransitionCrossFade* newScene = new TransitionCrossFade(); + TransitionCrossFade* newScene = new (std::nothrow) TransitionCrossFade(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1363,7 +1363,7 @@ TransitionTurnOffTiles::~TransitionTurnOffTiles() TransitionTurnOffTiles* TransitionTurnOffTiles::create(float t, Scene* scene) { - TransitionTurnOffTiles* newScene = new TransitionTurnOffTiles(); + TransitionTurnOffTiles* newScene = new (std::nothrow) TransitionTurnOffTiles(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1448,7 +1448,7 @@ TransitionSplitCols::~TransitionSplitCols() TransitionSplitCols* TransitionSplitCols::create(float t, Scene* scene) { - TransitionSplitCols* newScene = new TransitionSplitCols(); + TransitionSplitCols* newScene = new (std::nothrow) TransitionSplitCols(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1534,7 +1534,7 @@ ActionInterval* TransitionSplitRows::action() TransitionSplitRows* TransitionSplitRows::create(float t, Scene* scene) { - TransitionSplitRows* newScene = new TransitionSplitRows(); + TransitionSplitRows* newScene = new (std::nothrow) TransitionSplitRows(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1559,7 +1559,7 @@ TransitionFadeTR::~TransitionFadeTR() TransitionFadeTR* TransitionFadeTR::create(float t, Scene* scene) { - TransitionFadeTR* newScene = new TransitionFadeTR(); + TransitionFadeTR* newScene = new (std::nothrow) TransitionFadeTR(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1647,7 +1647,7 @@ TransitionFadeBL::~TransitionFadeBL() TransitionFadeBL* TransitionFadeBL::create(float t, Scene* scene) { - TransitionFadeBL* newScene = new TransitionFadeBL(); + TransitionFadeBL* newScene = new (std::nothrow) TransitionFadeBL(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1675,7 +1675,7 @@ TransitionFadeUp::~TransitionFadeUp() TransitionFadeUp* TransitionFadeUp::create(float t, Scene* scene) { - TransitionFadeUp* newScene = new TransitionFadeUp(); + TransitionFadeUp* newScene = new (std::nothrow) TransitionFadeUp(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -1702,7 +1702,7 @@ TransitionFadeDown::~TransitionFadeDown() TransitionFadeDown* TransitionFadeDown::create(float t, Scene* scene) { - TransitionFadeDown* newScene = new TransitionFadeDown(); + TransitionFadeDown* newScene = new (std::nothrow) TransitionFadeDown(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); diff --git a/cocos/2d/CCTransitionPageTurn.cpp b/cocos/2d/CCTransitionPageTurn.cpp index 25a3860da0..eb2797db64 100644 --- a/cocos/2d/CCTransitionPageTurn.cpp +++ b/cocos/2d/CCTransitionPageTurn.cpp @@ -53,7 +53,7 @@ TransitionPageTurn::~TransitionPageTurn() /** creates a base transition with duration and incoming scene */ TransitionPageTurn * TransitionPageTurn::create(float t, Scene *scene, bool backwards) { - TransitionPageTurn * transition = new TransitionPageTurn(); + TransitionPageTurn * transition = new (std::nothrow) TransitionPageTurn(); transition->initWithDuration(t,scene,backwards); transition->autorelease(); return transition; diff --git a/cocos/2d/CCTransitionProgress.cpp b/cocos/2d/CCTransitionProgress.cpp index 19315f1bc8..87598a9658 100644 --- a/cocos/2d/CCTransitionProgress.cpp +++ b/cocos/2d/CCTransitionProgress.cpp @@ -49,7 +49,7 @@ TransitionProgress::TransitionProgress() TransitionProgress* TransitionProgress::create(float t, Scene* scene) { - TransitionProgress* newScene = new TransitionProgress(); + TransitionProgress* newScene = new (std::nothrow) TransitionProgress(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -152,7 +152,7 @@ ProgressTimer* TransitionProgressRadialCCW::progressTimerNodeWithRenderTexture(R TransitionProgressRadialCCW* TransitionProgressRadialCCW::create(float t, Scene* scene) { - TransitionProgressRadialCCW* newScene = new TransitionProgressRadialCCW(); + TransitionProgressRadialCCW* newScene = new (std::nothrow) TransitionProgressRadialCCW(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -165,7 +165,7 @@ TransitionProgressRadialCCW* TransitionProgressRadialCCW::create(float t, Scene* // TransitionProgressRadialCW TransitionProgressRadialCW* TransitionProgressRadialCW::create(float t, Scene* scene) { - TransitionProgressRadialCW* newScene = new TransitionProgressRadialCW(); + TransitionProgressRadialCW* newScene = new (std::nothrow) TransitionProgressRadialCW(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -197,7 +197,7 @@ ProgressTimer* TransitionProgressRadialCW::progressTimerNodeWithRenderTexture(Re // TransitionProgressHorizontal TransitionProgressHorizontal* TransitionProgressHorizontal::create(float t, Scene* scene) { - TransitionProgressHorizontal* newScene = new TransitionProgressHorizontal(); + TransitionProgressHorizontal* newScene = new (std::nothrow) TransitionProgressHorizontal(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -230,7 +230,7 @@ ProgressTimer* TransitionProgressHorizontal::progressTimerNodeWithRenderTexture( // TransitionProgressVertical TransitionProgressVertical* TransitionProgressVertical::create(float t, Scene* scene) { - TransitionProgressVertical* newScene = new TransitionProgressVertical(); + TransitionProgressVertical* newScene = new (std::nothrow) TransitionProgressVertical(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -264,7 +264,7 @@ ProgressTimer* TransitionProgressVertical::progressTimerNodeWithRenderTexture(Re // TransitionProgressInOut TransitionProgressInOut* TransitionProgressInOut::create(float t, Scene* scene) { - TransitionProgressInOut* newScene = new TransitionProgressInOut(); + TransitionProgressInOut* newScene = new (std::nothrow) TransitionProgressInOut(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); @@ -310,7 +310,7 @@ ProgressTimer* TransitionProgressInOut::progressTimerNodeWithRenderTexture(Rende // TransitionProgressOutIn TransitionProgressOutIn* TransitionProgressOutIn::create(float t, Scene* scene) { - TransitionProgressOutIn* newScene = new TransitionProgressOutIn(); + TransitionProgressOutIn* newScene = new (std::nothrow) TransitionProgressOutIn(); if(newScene && newScene->initWithDuration(t, scene)) { newScene->autorelease(); diff --git a/cocos/3d/CCAnimate3D.cpp b/cocos/3d/CCAnimate3D.cpp index 0aff12f2d1..00cd4cd9ca 100644 --- a/cocos/3d/CCAnimate3D.cpp +++ b/cocos/3d/CCAnimate3D.cpp @@ -36,7 +36,7 @@ NS_CC_BEGIN //create Animate3D using Animation. Animate3D* Animate3D::create(Animation3D* animation) { - auto animate = new Animate3D(); + auto animate = new (std::nothrow) Animate3D(); animate->_animation = animation; animation->retain(); diff --git a/cocos/3d/CCAnimation3D.cpp b/cocos/3d/CCAnimation3D.cpp index 611b130fe1..97e6489fa3 100644 --- a/cocos/3d/CCAnimation3D.cpp +++ b/cocos/3d/CCAnimation3D.cpp @@ -39,7 +39,7 @@ Animation3D* Animation3D::create(const std::string& fileName, const std::string& return animation; //load animation here - animation = new Animation3D(); + animation = new (std::nothrow) Animation3D(); auto bundle = Bundle3D::getInstance(); Animation3DData animationdata; if (bundle->load(fullPath) && bundle->loadAnimationData(animationName, &animationdata) && animation->init(animationdata)) @@ -101,7 +101,7 @@ bool Animation3D::init(const Animation3DData &data) Curve* curve = _boneCurves[iter.first]; if( curve == nullptr) { - curve = new Curve(); + curve = new (std::nothrow) Curve(); _boneCurves[iter.first] = curve; } @@ -125,7 +125,7 @@ bool Animation3D::init(const Animation3DData &data) Curve* curve = _boneCurves[iter.first]; if( curve == nullptr) { - curve = new Curve(); + curve = new (std::nothrow) Curve(); _boneCurves[iter.first] = curve; } @@ -150,7 +150,7 @@ bool Animation3D::init(const Animation3DData &data) Curve* curve = _boneCurves[iter.first]; if( curve == nullptr) { - curve = new Curve(); + curve = new (std::nothrow) Curve(); _boneCurves[iter.first] = curve; } @@ -178,7 +178,7 @@ Animation3DCache* Animation3DCache::_cacheInstance = nullptr; Animation3DCache* Animation3DCache::getInstance() { if (_cacheInstance == nullptr) - _cacheInstance = new Animation3DCache(); + _cacheInstance = new (std::nothrow) Animation3DCache(); return _cacheInstance; } diff --git a/cocos/3d/CCAnimationCurve.inl b/cocos/3d/CCAnimationCurve.inl index 1bf4800a73..ac2207bf9b 100644 --- a/cocos/3d/CCAnimationCurve.inl +++ b/cocos/3d/CCAnimationCurve.inl @@ -72,7 +72,7 @@ template AnimationCurve* AnimationCurve::create(float* keytime, float* value, int count) { int floatSize = sizeof(float); - AnimationCurve* curve = new AnimationCurve(); + AnimationCurve* curve = new (std::nothrow) AnimationCurve(); curve->_keytime = new float[count]; memcpy(curve->_keytime, keytime, count * floatSize); diff --git a/cocos/3d/CCAttachNode.cpp b/cocos/3d/CCAttachNode.cpp index 030d323e92..3d0f575d30 100644 --- a/cocos/3d/CCAttachNode.cpp +++ b/cocos/3d/CCAttachNode.cpp @@ -35,7 +35,7 @@ NS_CC_BEGIN AttachNode* AttachNode::create(Bone3D* attachBone) { - auto attachnode = new AttachNode(); + auto attachnode = new (std::nothrow) AttachNode(); attachnode->_attachBone = attachBone; attachnode->autorelease(); diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index b1a8020eec..e7fbd2d097 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -157,7 +157,7 @@ void Bundle3D::setBundleInstance(Bundle3D* bundleInstance) Bundle3D* Bundle3D::getInstance() { if (_instance == nullptr) - _instance = new Bundle3D(); + _instance = new (std::nothrow) Bundle3D(); return _instance; } @@ -220,7 +220,7 @@ bool Bundle3D::loadObj(MeshDatas& meshdatas, MaterialDatas& materialdatas, NodeD if (ret.empty()) { //fill data - MeshData* meshdata = new MeshData(); + MeshData* meshdata = new (std::nothrow) MeshData(); MeshVertexAttrib attrib; attrib.size = 3; attrib.type = GL_FLOAT; @@ -292,8 +292,8 @@ bool Bundle3D::loadObj(MeshDatas& meshdatas, MaterialDatas& materialdatas, NodeD meshdata->subMeshIndices.push_back(it.mesh.indices); meshdata->subMeshIds.push_back(str); - auto node = new NodeData(); - auto modelnode = new ModelData(); + auto node = new (std::nothrow) NodeData(); + auto modelnode = new (std::nothrow) ModelData(); modelnode->matrialId = str; modelnode->subMeshId = str; node->id = it.name; @@ -410,7 +410,7 @@ bool Bundle3D::loadMeshDatasBinary(MeshDatas& meshdatas) } for(int i = 0; i < meshSize ; i++ ) { - MeshData* meshData = new MeshData(); + MeshData* meshData = new (std::nothrow) MeshData(); unsigned int attribSize=0; // read mesh data if (_binaryReader.read(&attribSize, 4, 1) != 1 || attribSize < 1) @@ -486,7 +486,7 @@ bool Bundle3D::loadMeshDatasBinary_0_1(MeshDatas& meshdatas) meshdatas.resetData(); - MeshData* meshdata = new MeshData(); + MeshData* meshdata = new (std::nothrow) MeshData(); // read mesh data unsigned int attribSize=0; @@ -594,7 +594,7 @@ bool Bundle3D::loadMeshDatasBinary_0_2(MeshDatas& meshdatas) meshdatas.resetData(); - MeshData* meshdata = new MeshData(); + MeshData* meshdata = new (std::nothrow) MeshData(); // read mesh data unsigned int attribSize=0; @@ -706,7 +706,7 @@ bool Bundle3D::loadMeshDatasJson(MeshDatas& meshdatas) const rapidjson::Value& mesh_data_array = _jsonReader[MESHES]; for (rapidjson::SizeType index = 0; index < mesh_data_array.Size(); index++) { - MeshData* meshData = new MeshData(); + MeshData* meshData = new (std::nothrow) MeshData(); const rapidjson::Value& mesh_data = mesh_data_array[index]; // mesh_vertex_attribute const rapidjson::Value& mesh_vertex_attribute = mesh_data[ATTRIBUTES]; @@ -761,19 +761,19 @@ bool Bundle3D::loadNodes(NodeDatas& nodedatas) { SkinData skinData; loadSkinData("", &skinData); - auto nodeDatas = new NodeData*[skinData.skinBoneNames.size() + skinData.nodeBoneNames.size()]; + auto nodeDatas = new (std::nothrow) NodeData*[skinData.skinBoneNames.size() + skinData.nodeBoneNames.size()]; int index = 0; size_t i; for (i = 0; i < skinData.skinBoneNames.size(); i++) { - nodeDatas[index] = new NodeData(); + nodeDatas[index] = new (std::nothrow) NodeData(); nodeDatas[index]->id = skinData.skinBoneNames[i]; nodeDatas[index]->transform = skinData.skinBoneOriginMatrices[i]; index++; } for (i = 0; i < skinData.nodeBoneNames.size(); i++) { - nodeDatas[index] = new NodeData(); + nodeDatas[index] = new (std::nothrow) NodeData(); nodeDatas[index]->id = skinData.nodeBoneNames[i]; nodeDatas[index]->transform = skinData.nodeBoneOriginMatrices[i]; index++; @@ -788,8 +788,8 @@ bool Bundle3D::loadNodes(NodeDatas& nodedatas) } } nodedatas.skeleton.push_back(nodeDatas[skinData.rootBoneIndex]); - auto node= new NodeData(); - auto modelnode = new ModelData(); + auto node= new (std::nothrow) NodeData(); + auto modelnode = new (std::nothrow) ModelData(); modelnode->matrialId = ""; modelnode->subMeshId = ""; modelnode->bones = skinData.skinBoneNames; @@ -1246,7 +1246,7 @@ bool Bundle3D::loadBinary(const std::string& path) // get file data CC_SAFE_DELETE(_binaryBuffer); - _binaryBuffer = new Data(); + _binaryBuffer = new (std::nothrow) Data(); *_binaryBuffer = FileUtils::getInstance()->getDataFromFile(path); if (_binaryBuffer->isNull()) { @@ -1289,7 +1289,7 @@ bool Bundle3D::loadBinary(const std::string& path) // Read all refs CC_SAFE_DELETE_ARRAY(_references); - _references = new Reference[_referenceCount]; + _references = new (std::nothrow) Reference[_referenceCount]; for (ssize_t i = 0; i < _referenceCount; ++i) { if ((_references[i].id = _binaryReader.readString()).empty() || @@ -1696,11 +1696,11 @@ bool Bundle3D::loadNodesJson(NodeDatas& nodedatas) } NodeData* Bundle3D::parseNodesRecursivelyJson(const rapidjson::Value& jvalue) { - NodeData* nodedata = new NodeData();; + NodeData* nodedata = new (std::nothrow) NodeData();; //if (jvalue.HasMember(PARTS)) - // nodedata = new ModelNodeData(); + // nodedata = new (std::nothrow) ModelNodeData(); //else - //nodedata = new NodeData(); + //nodedata = new (std::nothrow) NodeData(); // id nodedata->id = jvalue[ID].GetString(); @@ -1724,7 +1724,7 @@ NodeData* Bundle3D::parseNodesRecursivelyJson(const rapidjson::Value& jvalue) for (rapidjson::SizeType i = 0; i < parts.Size(); i++) { - auto modelnodedata = new ModelData();; + auto modelnodedata = new (std::nothrow) ModelData();; const rapidjson::Value& part = parts[i]; modelnodedata->subMeshId = part[MESHPARTID].GetString(); modelnodedata->matrialId = part[MATERIALID].GetString(); @@ -1837,14 +1837,14 @@ NodeData* Bundle3D::parseNodesRecursivelyBinary(bool& skeleton) return nullptr; } - NodeData* nodedata = new NodeData(); + NodeData* nodedata = new (std::nothrow) NodeData(); nodedata->id = id; nodedata->transform = transform; if (partsSize > 0) { for (rapidjson::SizeType i = 0; i < partsSize; i++) { - auto modelnodedata = new ModelData(); + auto modelnodedata = new (std::nothrow) ModelData(); modelnodedata->subMeshId = _binaryReader.readString(); modelnodedata->matrialId = _binaryReader.readString(); @@ -1907,7 +1907,7 @@ NodeData* Bundle3D::parseNodesRecursivelyBinary(bool& skeleton) } //else //{ - // nodedata = new NodeData(); + // nodedata = new (std::nothrow) NodeData(); // nodedata->id = id; // nodedata->transform = transform; //} diff --git a/cocos/3d/CCMesh.cpp b/cocos/3d/CCMesh.cpp index 8da9f6325a..9b4d825f8d 100644 --- a/cocos/3d/CCMesh.cpp +++ b/cocos/3d/CCMesh.cpp @@ -166,7 +166,7 @@ Mesh* Mesh::create(const std::vector& vertices, int perVertexSizeInFloat, Mesh* Mesh::create(const std::string& name, MeshIndexData* indexData, MeshSkin* skin) { - auto state = new Mesh(); + auto state = new (std::nothrow) Mesh(); state->autorelease(); state->bindMeshCommand(); state->_name = name; diff --git a/cocos/3d/CCMeshSkin.cpp b/cocos/3d/CCMeshSkin.cpp index bf2ef106ad..3387de9da5 100644 --- a/cocos/3d/CCMeshSkin.cpp +++ b/cocos/3d/CCMeshSkin.cpp @@ -50,7 +50,7 @@ MeshSkin::~MeshSkin() MeshSkin* MeshSkin::create(Skeleton3D* skeleton, const std::vector& boneNames, const std::vector& invBindPose) { - auto skin = new MeshSkin(); + auto skin = new (std::nothrow) MeshSkin(); skin->_skeleton = skeleton; skeleton->retain(); @@ -104,7 +104,7 @@ Vec4* MeshSkin::getMatrixPalette() { if (_matrixPalette == nullptr) { - _matrixPalette = new Vec4[_skinBones.size() * PALETTE_ROWS]; + _matrixPalette = new (std::nothrow) Vec4[_skinBones.size() * PALETTE_ROWS]; } int i = 0, paletteIndex = 0; static Mat4 t; diff --git a/cocos/3d/CCMeshVertexIndexData.cpp b/cocos/3d/CCMeshVertexIndexData.cpp index 5d5621a10d..3bb77ddefb 100644 --- a/cocos/3d/CCMeshVertexIndexData.cpp +++ b/cocos/3d/CCMeshVertexIndexData.cpp @@ -49,7 +49,7 @@ NS_CC_BEGIN ///////////////////////////////////////////////////////////////////////////////////////////////////////////// MeshIndexData* MeshIndexData::create(const std::string& id, MeshVertexData* vertexData, IndexBuffer* indexbuffer, const AABB& aabb) { - auto meshindex = new MeshIndexData(); + auto meshindex = new (std::nothrow) MeshIndexData(); meshindex->_id = id; meshindex->_indexBuffer = indexbuffer; @@ -82,7 +82,7 @@ MeshIndexData::~MeshIndexData() MeshVertexData* MeshVertexData::create(const MeshData& meshdata) { - auto vertexdata = new MeshVertexData(); + auto vertexdata = new (std::nothrow) MeshVertexData(); int pervertexsize = meshdata.getPerVertexSize(); vertexdata->_vertexBuffer = VertexBuffer::create(pervertexsize, (int)(meshdata.vertex.size() / (pervertexsize / 4))); vertexdata->_vertexData = VertexData::create(); diff --git a/cocos/3d/CCSkeleton3D.cpp b/cocos/3d/CCSkeleton3D.cpp index 76a40eb7a0..7733141535 100644 --- a/cocos/3d/CCSkeleton3D.cpp +++ b/cocos/3d/CCSkeleton3D.cpp @@ -137,7 +137,7 @@ void Bone3D::clearBoneBlendState() */ Bone3D* Bone3D::create(const std::string& id) { - auto bone = new Bone3D(id); + auto bone = new (std::nothrow) Bone3D(id); bone->autorelease(); return bone; } @@ -260,7 +260,7 @@ Skeleton3D::~Skeleton3D() Skeleton3D* Skeleton3D::create(const std::vector& skeletondata) { - auto skeleton = new Skeleton3D(); + auto skeleton = new (std::nothrow) Skeleton3D(); for (const auto& it : skeletondata) { auto bone = skeleton->createBone3D(*it); bone->resetPose(); diff --git a/cocos/3d/CCSprite3D.cpp b/cocos/3d/CCSprite3D.cpp index 5de394fac0..5a70261fd5 100644 --- a/cocos/3d/CCSprite3D.cpp +++ b/cocos/3d/CCSprite3D.cpp @@ -50,7 +50,7 @@ Sprite3D* Sprite3D::create(const std::string &modelPath) if (modelPath.length() < 4) CCASSERT(false, "improper name specified when creating Sprite3D"); - auto sprite = new Sprite3D(); + auto sprite = new (std::nothrow) Sprite3D(); if (sprite && sprite->initWithFile(modelPath)) { sprite->autorelease(); @@ -102,13 +102,13 @@ bool Sprite3D::loadFromObj(const std::string& path) std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path); MeshDatas meshdatas; - MaterialDatas* materialdatas = new MaterialDatas(); - NodeDatas* nodeDatas = new NodeDatas(); + MaterialDatas* materialdatas = new (std::nothrow) MaterialDatas(); + NodeDatas* nodeDatas = new (std::nothrow) NodeDatas(); bool ret = Bundle3D::loadObj(meshdatas, *materialdatas, *nodeDatas, fullPath); if (ret && initFrom(*nodeDatas, meshdatas, *materialdatas)) { //add to cache - auto data = new Sprite3DCache::Sprite3DData(); + auto data = new (std::nothrow) Sprite3DCache::Sprite3DData(); data->materialdatas = materialdatas; data->nodedatas = nodeDatas; data->meshVertexDatas = _meshVertexDatas; @@ -130,15 +130,15 @@ bool Sprite3D::loadFromC3x(const std::string& path) return false; MeshDatas meshdatas; - MaterialDatas* materialdatas = new MaterialDatas(); - NodeDatas* nodeDatas = new NodeDatas(); + MaterialDatas* materialdatas = new (std::nothrow) MaterialDatas(); + NodeDatas* nodeDatas = new (std::nothrow) NodeDatas(); if (bundle->loadMeshDatas(meshdatas) && bundle->loadMaterials(*materialdatas) && bundle->loadNodes(*nodeDatas) && initFrom(*nodeDatas, meshdatas, *materialdatas)) { //add to cache - auto data = new Sprite3DCache::Sprite3DData(); + auto data = new (std::nothrow) Sprite3DCache::Sprite3DData(); data->materialdatas = materialdatas; data->nodedatas = nodeDatas; data->meshVertexDatas = _meshVertexDatas; @@ -228,7 +228,7 @@ bool Sprite3D::initFrom(const NodeDatas& nodeDatas, const MeshDatas& meshdatas, } Sprite3D* Sprite3D::createSprite3DNode(NodeData* nodedata,ModelData* modeldata,const MaterialDatas& matrialdatas) { - auto sprite = new Sprite3D(); + auto sprite = new (std::nothrow) Sprite3D(); if (sprite) { auto mesh = Mesh::create(nodedata->id, getMeshIndexData(modeldata->subMeshId)); @@ -617,7 +617,7 @@ Sprite3DCache* Sprite3DCache::_cacheInstance = nullptr; Sprite3DCache* Sprite3DCache::getInstance() { if (_cacheInstance == nullptr) - _cacheInstance = new Sprite3DCache(); + _cacheInstance = new (std::nothrow) Sprite3DCache(); return _cacheInstance; } void Sprite3DCache::destroyInstance() diff --git a/cocos/3d/CCSprite3DMaterial.cpp b/cocos/3d/CCSprite3DMaterial.cpp index 5ed7c85de8..5068ff8166 100644 --- a/cocos/3d/CCSprite3DMaterial.cpp +++ b/cocos/3d/CCSprite3DMaterial.cpp @@ -50,7 +50,7 @@ Sprite3DMaterialCache* Sprite3DMaterialCache::getInstance() { if (! _cacheInstance) { - _cacheInstance = new Sprite3DMaterialCache(); + _cacheInstance = new (std::nothrow) Sprite3DMaterialCache(); } return _cacheInstance; diff --git a/cocos/audio/ios/SimpleAudioEngine.mm b/cocos/audio/ios/SimpleAudioEngine.mm index 6d8e8357f2..9b9ebfa399 100644 --- a/cocos/audio/ios/SimpleAudioEngine.mm +++ b/cocos/audio/ios/SimpleAudioEngine.mm @@ -157,7 +157,7 @@ SimpleAudioEngine* SimpleAudioEngine::getInstance() { if (! s_pEngine) { - s_pEngine = new SimpleAudioEngine(); + s_pEngine = new (std::nothrow) SimpleAudioEngine(); } return s_pEngine; diff --git a/cocos/audio/mac/SimpleAudioEngine.mm b/cocos/audio/mac/SimpleAudioEngine.mm index d5a4a044f8..f810509aa5 100644 --- a/cocos/audio/mac/SimpleAudioEngine.mm +++ b/cocos/audio/mac/SimpleAudioEngine.mm @@ -159,7 +159,7 @@ SimpleAudioEngine* SimpleAudioEngine::getInstance() { if (! s_pEngine) { - s_pEngine = new SimpleAudioEngine(); + s_pEngine = new (std::nothrow) SimpleAudioEngine(); } return s_pEngine; diff --git a/cocos/base/CCAutoreleasePool.cpp b/cocos/base/CCAutoreleasePool.cpp index 06bedcd948..edf40f668e 100644 --- a/cocos/base/CCAutoreleasePool.cpp +++ b/cocos/base/CCAutoreleasePool.cpp @@ -109,7 +109,7 @@ PoolManager* PoolManager::getInstance() { if (s_singleInstance == nullptr) { - s_singleInstance = new PoolManager(); + s_singleInstance = new (std::nothrow) PoolManager(); // Add the first auto release pool new AutoreleasePool("cocos2d autorelease pool"); } diff --git a/cocos/base/CCCamera.cpp b/cocos/base/CCCamera.cpp index 3cb67e4a46..feb537db8a 100644 --- a/cocos/base/CCCamera.cpp +++ b/cocos/base/CCCamera.cpp @@ -33,7 +33,7 @@ Camera* Camera::_visitingCamera = nullptr; Camera* Camera::create() { - Camera* camera = new Camera(); + Camera* camera = new (std::nothrow) Camera(); camera->initDefault(); camera->autorelease(); @@ -42,7 +42,7 @@ Camera* Camera::create() Camera* Camera::createPerspective(float fieldOfView, float aspectRatio, float nearPlane, float farPlane) { - auto ret = new Camera(); + auto ret = new (std::nothrow) Camera(); if (ret) { ret->initPerspective(fieldOfView, aspectRatio, nearPlane, farPlane); @@ -55,7 +55,7 @@ Camera* Camera::createPerspective(float fieldOfView, float aspectRatio, float ne Camera* Camera::createOrthographic(float zoomX, float zoomY, float nearPlane, float farPlane) { - auto ret = new Camera(); + auto ret = new (std::nothrow) Camera(); if (ret) { ret->initOrthographic(zoomX, zoomY, nearPlane, farPlane); diff --git a/cocos/base/CCConfiguration.cpp b/cocos/base/CCConfiguration.cpp index c5b8bd61f1..5c9d9d0cae 100644 --- a/cocos/base/CCConfiguration.cpp +++ b/cocos/base/CCConfiguration.cpp @@ -149,7 +149,7 @@ Configuration* Configuration::getInstance() { if (! s_sharedConfiguration) { - s_sharedConfiguration = new Configuration(); + s_sharedConfiguration = new (std::nothrow) Configuration(); s_sharedConfiguration->init(); } diff --git a/cocos/base/CCController-iOS.mm b/cocos/base/CCController-iOS.mm index 2349224900..881477bd1c 100644 --- a/cocos/base/CCController-iOS.mm +++ b/cocos/base/CCController-iOS.mm @@ -120,7 +120,7 @@ void Controller::startDiscoveryController() [[GCControllerConnectionEventHandler getInstance] observerConnection: ^(GCController* gcController) { - auto controller = new Controller(); + auto controller = new (std::nothrow) Controller(); controller->_impl->_gcController = gcController; controller->_deviceName = [gcController.vendorName UTF8String]; diff --git a/cocos/base/CCController.cpp b/cocos/base/CCController.cpp index 566b80ad52..cf3dc2050c 100644 --- a/cocos/base/CCController.cpp +++ b/cocos/base/CCController.cpp @@ -61,9 +61,9 @@ void Controller::init() } _eventDispatcher = Director::getInstance()->getEventDispatcher(); - _connectEvent = new EventController(EventController::ControllerEventType::CONNECTION, this, false); - _keyEvent = new EventController(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, this, 0); - _axisEvent = new EventController(EventController::ControllerEventType::AXIS_STATUS_CHANGED, this, 0); + _connectEvent = new (std::nothrow) EventController(EventController::ControllerEventType::CONNECTION, this, false); + _keyEvent = new (std::nothrow) EventController(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, this, 0); + _axisEvent = new (std::nothrow) EventController(EventController::ControllerEventType::AXIS_STATUS_CHANGED, this, 0); } const Controller::KeyStatus& Controller::getKeyStatus(int keyCode) diff --git a/cocos/base/CCDirector.cpp b/cocos/base/CCDirector.cpp index fc5f588ee8..bc69228f55 100644 --- a/cocos/base/CCDirector.cpp +++ b/cocos/base/CCDirector.cpp @@ -137,19 +137,19 @@ bool Director::init(void) _contentScaleFactor = 1.0f; // scheduler - _scheduler = new Scheduler(); + _scheduler = new (std::nothrow) Scheduler(); // action manager - _actionManager = new ActionManager(); + _actionManager = new (std::nothrow) ActionManager(); _scheduler->scheduleUpdate(_actionManager, Scheduler::PRIORITY_SYSTEM, false); - _eventDispatcher = new EventDispatcher(); - _eventAfterDraw = new EventCustom(EVENT_AFTER_DRAW); + _eventDispatcher = new (std::nothrow) EventDispatcher(); + _eventAfterDraw = new (std::nothrow) EventCustom(EVENT_AFTER_DRAW); _eventAfterDraw->setUserData(this); - _eventAfterVisit = new EventCustom(EVENT_AFTER_VISIT); + _eventAfterVisit = new (std::nothrow) EventCustom(EVENT_AFTER_VISIT); _eventAfterVisit->setUserData(this); - _eventAfterUpdate = new EventCustom(EVENT_AFTER_UPDATE); + _eventAfterUpdate = new (std::nothrow) EventCustom(EVENT_AFTER_UPDATE); _eventAfterUpdate->setUserData(this); - _eventProjectionChanged = new EventCustom(EVENT_PROJECTION_CHANGED); + _eventProjectionChanged = new (std::nothrow) EventCustom(EVENT_PROJECTION_CHANGED); _eventProjectionChanged->setUserData(this); @@ -157,10 +157,10 @@ bool Director::init(void) initTextureCache(); initMatrixStack(); - _renderer = new Renderer; + _renderer = new (std::nothrow) Renderer; #if (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT) - _console = new Console; + _console = new (std::nothrow) Console; #endif return true; } @@ -438,9 +438,9 @@ TextureCache* Director::getTextureCache() const void Director::initTextureCache() { #ifdef EMSCRIPTEN - _textureCache = new TextureCacheEmscripten(); + _textureCache = new (std::nothrow) TextureCacheEmscripten(); #else - _textureCache = new TextureCache(); + _textureCache = new (std::nothrow) TextureCache(); #endif // EMSCRIPTEN } @@ -1188,7 +1188,7 @@ void Director::createStatsLabel() ssize_t dataLength = 0; getFPSImageData(&data, &dataLength); - Image* image = new Image(); + Image* image = new (std::nothrow) Image(); bool isOK = image->initWithImageData(data, dataLength); if (! isOK) { CCLOGERROR("%s", "Fails: init fps_images"); diff --git a/cocos/base/CCEventDispatcher.cpp b/cocos/base/CCEventDispatcher.cpp index 5c5fc374b6..b7706184fe 100644 --- a/cocos/base/CCEventDispatcher.cpp +++ b/cocos/base/CCEventDispatcher.cpp @@ -461,7 +461,7 @@ void EventDispatcher::forceAddEventListener(EventListener* listener) if (itr == _listenerMap.end()) { - listeners = new EventListenerVector(); + listeners = new (std::nothrow) EventListenerVector(); _listenerMap.insert(std::make_pair(listenerID, listeners)); } else diff --git a/cocos/base/CCEventListenerAcceleration.cpp b/cocos/base/CCEventListenerAcceleration.cpp index dd404805aa..2f15f46985 100644 --- a/cocos/base/CCEventListenerAcceleration.cpp +++ b/cocos/base/CCEventListenerAcceleration.cpp @@ -41,7 +41,7 @@ EventListenerAcceleration::~EventListenerAcceleration() EventListenerAcceleration* EventListenerAcceleration::create(const std::function& callback) { - EventListenerAcceleration* ret = new EventListenerAcceleration(); + EventListenerAcceleration* ret = new (std::nothrow) EventListenerAcceleration(); if (ret && ret->init(callback)) { ret->autorelease(); @@ -72,7 +72,7 @@ bool EventListenerAcceleration::init(const std::functioninit(onAccelerationEvent)) { diff --git a/cocos/base/CCEventListenerController.cpp b/cocos/base/CCEventListenerController.cpp index 6f664e73d8..a83293b5b2 100644 --- a/cocos/base/CCEventListenerController.cpp +++ b/cocos/base/CCEventListenerController.cpp @@ -34,7 +34,7 @@ const std::string EventListenerController::LISTENER_ID = "__cc_controller"; EventListenerController* EventListenerController::create() { - auto ret = new EventListenerController(); + auto ret = new (std::nothrow) EventListenerController(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/base/CCEventListenerCustom.cpp b/cocos/base/CCEventListenerCustom.cpp index f92578e5c5..e25559b8f6 100644 --- a/cocos/base/CCEventListenerCustom.cpp +++ b/cocos/base/CCEventListenerCustom.cpp @@ -34,7 +34,7 @@ EventListenerCustom::EventListenerCustom() EventListenerCustom* EventListenerCustom::create(const std::string& eventName, const std::function& callback) { - EventListenerCustom* ret = new EventListenerCustom(); + EventListenerCustom* ret = new (std::nothrow) EventListenerCustom(); if (ret && ret->init(eventName, callback)) { ret->autorelease(); @@ -68,7 +68,7 @@ bool EventListenerCustom::init(const ListenerID& listenerId, const std::function EventListenerCustom* EventListenerCustom::clone() { - EventListenerCustom* ret = new EventListenerCustom(); + EventListenerCustom* ret = new (std::nothrow) EventListenerCustom(); if (ret && ret->init(_listenerID, _onCustomEvent)) { ret->autorelease(); diff --git a/cocos/base/CCEventListenerFocus.cpp b/cocos/base/CCEventListenerFocus.cpp index f6b843ba00..1fa42532d0 100644 --- a/cocos/base/CCEventListenerFocus.cpp +++ b/cocos/base/CCEventListenerFocus.cpp @@ -46,7 +46,7 @@ EventListenerFocus::~EventListenerFocus() EventListenerFocus* EventListenerFocus::create() { - EventListenerFocus* ret = new EventListenerFocus; + EventListenerFocus* ret = new (std::nothrow) EventListenerFocus; if (ret && ret->init()) { ret->autorelease(); return ret; @@ -57,7 +57,7 @@ EventListenerFocus* EventListenerFocus::create() EventListenerFocus* EventListenerFocus::clone() { - EventListenerFocus* ret = new EventListenerFocus; + EventListenerFocus* ret = new (std::nothrow) EventListenerFocus; if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/base/CCEventListenerKeyboard.cpp b/cocos/base/CCEventListenerKeyboard.cpp index c063ccdc4a..40135a384e 100644 --- a/cocos/base/CCEventListenerKeyboard.cpp +++ b/cocos/base/CCEventListenerKeyboard.cpp @@ -44,7 +44,7 @@ bool EventListenerKeyboard::checkAvailable() EventListenerKeyboard* EventListenerKeyboard::create() { - auto ret = new EventListenerKeyboard(); + auto ret = new (std::nothrow) EventListenerKeyboard(); if (ret && ret->init()) { ret->autorelease(); @@ -58,7 +58,7 @@ EventListenerKeyboard* EventListenerKeyboard::create() EventListenerKeyboard* EventListenerKeyboard::clone() { - auto ret = new EventListenerKeyboard(); + auto ret = new (std::nothrow) EventListenerKeyboard(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/base/CCEventListenerMouse.cpp b/cocos/base/CCEventListenerMouse.cpp index 8f4074172e..de25349faf 100644 --- a/cocos/base/CCEventListenerMouse.cpp +++ b/cocos/base/CCEventListenerMouse.cpp @@ -36,7 +36,7 @@ bool EventListenerMouse::checkAvailable() EventListenerMouse* EventListenerMouse::create() { - auto ret = new EventListenerMouse(); + auto ret = new (std::nothrow) EventListenerMouse(); if (ret && ret->init()) { ret->autorelease(); @@ -50,7 +50,7 @@ EventListenerMouse* EventListenerMouse::create() EventListenerMouse* EventListenerMouse::clone() { - auto ret = new EventListenerMouse(); + auto ret = new (std::nothrow) EventListenerMouse(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/base/CCEventListenerTouch.cpp b/cocos/base/CCEventListenerTouch.cpp index e060b9bf3e..9cbc1bcb4a 100644 --- a/cocos/base/CCEventListenerTouch.cpp +++ b/cocos/base/CCEventListenerTouch.cpp @@ -68,7 +68,7 @@ bool EventListenerTouchOneByOne::isSwallowTouches() EventListenerTouchOneByOne* EventListenerTouchOneByOne::create() { - auto ret = new EventListenerTouchOneByOne(); + auto ret = new (std::nothrow) EventListenerTouchOneByOne(); if (ret && ret->init()) { ret->autorelease(); @@ -95,7 +95,7 @@ bool EventListenerTouchOneByOne::checkAvailable() EventListenerTouchOneByOne* EventListenerTouchOneByOne::clone() { - auto ret = new EventListenerTouchOneByOne(); + auto ret = new (std::nothrow) EventListenerTouchOneByOne(); if (ret && ret->init()) { ret->autorelease(); @@ -144,7 +144,7 @@ bool EventListenerTouchAllAtOnce::init() EventListenerTouchAllAtOnce* EventListenerTouchAllAtOnce::create() { - auto ret = new EventListenerTouchAllAtOnce(); + auto ret = new (std::nothrow) EventListenerTouchAllAtOnce(); if (ret && ret->init()) { ret->autorelease(); @@ -170,7 +170,7 @@ bool EventListenerTouchAllAtOnce::checkAvailable() EventListenerTouchAllAtOnce* EventListenerTouchAllAtOnce::clone() { - auto ret = new EventListenerTouchAllAtOnce(); + auto ret = new (std::nothrow) EventListenerTouchAllAtOnce(); if (ret && ret->init()) { ret->autorelease(); diff --git a/cocos/base/CCProfiling.cpp b/cocos/base/CCProfiling.cpp index 0c1ad7fe74..a97c0d70c6 100644 --- a/cocos/base/CCProfiling.cpp +++ b/cocos/base/CCProfiling.cpp @@ -44,7 +44,7 @@ Profiler* Profiler::getInstance() { if (! g_sSharedProfiler) { - g_sSharedProfiler = new Profiler(); + g_sSharedProfiler = new (std::nothrow) Profiler(); g_sSharedProfiler->init(); } @@ -59,7 +59,7 @@ Profiler* Profiler::sharedProfiler(void) ProfilingTimer* Profiler::createAndAddTimerWithName(const char* timerName) { - ProfilingTimer *t = new ProfilingTimer(); + ProfilingTimer *t = new (std::nothrow) ProfilingTimer(); t->initWithName(timerName); _activeTimers.insert(timerName, t); t->release(); diff --git a/cocos/base/CCScheduler.cpp b/cocos/base/CCScheduler.cpp index 9edbaa6c0e..3c5bf25046 100644 --- a/cocos/base/CCScheduler.cpp +++ b/cocos/base/CCScheduler.cpp @@ -323,7 +323,7 @@ void Scheduler::schedule(const ccSchedulerFunc& callback, void *target, float in ccArrayEnsureExtraCapacity(element->timers, 1); } - TimerTargetCallback *timer = new TimerTargetCallback(); + TimerTargetCallback *timer = new (std::nothrow) TimerTargetCallback(); timer->initWithCallback(this, callback, target, key, interval, repeat, delay); ccArrayAppendObject(element->timers, timer); timer->release(); @@ -1023,7 +1023,7 @@ void Scheduler::schedule(SEL_SCHEDULE selector, Ref *target, float interval, uns ccArrayEnsureExtraCapacity(element->timers, 1); } - TimerTargetSelector *timer = new TimerTargetSelector(); + TimerTargetSelector *timer = new (std::nothrow) TimerTargetSelector(); timer->initWithSelector(this, selector, target, interval, repeat, delay); ccArrayAppendObject(element->timers, timer); timer->release(); diff --git a/cocos/base/CCScriptSupport.cpp b/cocos/base/CCScriptSupport.cpp index 43f0d482c6..6de27bb537 100644 --- a/cocos/base/CCScriptSupport.cpp +++ b/cocos/base/CCScriptSupport.cpp @@ -47,7 +47,7 @@ NS_CC_BEGIN ScriptHandlerEntry* ScriptHandlerEntry::create(int handler) { - ScriptHandlerEntry* entry = new ScriptHandlerEntry(handler); + ScriptHandlerEntry* entry = new (std::nothrow) ScriptHandlerEntry(handler); entry->autorelease(); return entry; } @@ -67,7 +67,7 @@ ScriptHandlerEntry::~ScriptHandlerEntry(void) SchedulerScriptHandlerEntry* SchedulerScriptHandlerEntry::create(int handler, float interval, bool paused) { - SchedulerScriptHandlerEntry* entry = new SchedulerScriptHandlerEntry(handler); + SchedulerScriptHandlerEntry* entry = new (std::nothrow) SchedulerScriptHandlerEntry(handler); entry->init(interval, paused); entry->autorelease(); return entry; @@ -75,7 +75,7 @@ SchedulerScriptHandlerEntry* SchedulerScriptHandlerEntry::create(int handler, fl bool SchedulerScriptHandlerEntry::init(float interval, bool paused) { - _timer = new TimerScriptHandler(); + _timer = new (std::nothrow) TimerScriptHandler(); _timer->initWithScriptHandler(_handler, interval); _paused = paused; LUALOG("[LUA] ADD script schedule: %d, entryID: %d", _handler, _entryId); @@ -97,7 +97,7 @@ TouchScriptHandlerEntry* TouchScriptHandlerEntry::create(int handler, int priority, bool swallowsTouches) { - TouchScriptHandlerEntry* entry = new TouchScriptHandlerEntry(handler); + TouchScriptHandlerEntry* entry = new (std::nothrow) TouchScriptHandlerEntry(handler); entry->init(isMultiTouches, priority, swallowsTouches); entry->autorelease(); return entry; @@ -149,7 +149,7 @@ ScriptEngineManager* ScriptEngineManager::getInstance() { if (!s_pSharedScriptEngineManager) { - s_pSharedScriptEngineManager = new ScriptEngineManager(); + s_pSharedScriptEngineManager = new (std::nothrow) ScriptEngineManager(); } return s_pSharedScriptEngineManager; } diff --git a/cocos/base/CCUserDefault.cpp b/cocos/base/CCUserDefault.cpp index ef52f03c0d..3302018233 100644 --- a/cocos/base/CCUserDefault.cpp +++ b/cocos/base/CCUserDefault.cpp @@ -417,7 +417,7 @@ UserDefault* UserDefault::getInstance() if (! _userDefault) { - _userDefault = new UserDefault(); + _userDefault = new (std::nothrow) UserDefault(); } return _userDefault; diff --git a/cocos/base/CCUserDefault.mm b/cocos/base/CCUserDefault.mm index 5d68077ea1..2613965e4b 100644 --- a/cocos/base/CCUserDefault.mm +++ b/cocos/base/CCUserDefault.mm @@ -479,7 +479,7 @@ UserDefault* UserDefault::getInstance() if (! _userDefault) { - _userDefault = new UserDefault(); + _userDefault = new (std::nothrow) UserDefault(); } return _userDefault; diff --git a/cocos/base/CCUserDefaultAndroid.cpp b/cocos/base/CCUserDefaultAndroid.cpp index c6c3a166d1..5c66fc6c6a 100644 --- a/cocos/base/CCUserDefaultAndroid.cpp +++ b/cocos/base/CCUserDefaultAndroid.cpp @@ -482,7 +482,7 @@ UserDefault* UserDefault::getInstance() if (! _userDefault) { - _userDefault = new UserDefault(); + _userDefault = new (std::nothrow) UserDefault(); } return _userDefault; diff --git a/cocos/base/CCValue.cpp b/cocos/base/CCValue.cpp index d5e0e06a4e..ce840193a2 100644 --- a/cocos/base/CCValue.cpp +++ b/cocos/base/CCValue.cpp @@ -91,42 +91,42 @@ Value::Value(const std::string& v) Value::Value(const ValueVector& v) : _type(Type::VECTOR) { - _field.vectorVal = new ValueVector(); + _field.vectorVal = new (std::nothrow) ValueVector(); *_field.vectorVal = v; } Value::Value(ValueVector&& v) : _type(Type::VECTOR) { - _field.vectorVal = new ValueVector(); + _field.vectorVal = new (std::nothrow) ValueVector(); *_field.vectorVal = std::move(v); } Value::Value(const ValueMap& v) : _type(Type::MAP) { - _field.mapVal = new ValueMap(); + _field.mapVal = new (std::nothrow) ValueMap(); *_field.mapVal = v; } Value::Value(ValueMap&& v) : _type(Type::MAP) { - _field.mapVal = new ValueMap(); + _field.mapVal = new (std::nothrow) ValueMap(); *_field.mapVal = std::move(v); } Value::Value(const ValueMapIntKey& v) : _type(Type::INT_KEY_MAP) { - _field.intKeyMapVal = new ValueMapIntKey(); + _field.intKeyMapVal = new (std::nothrow) ValueMapIntKey(); *_field.intKeyMapVal = v; } Value::Value(ValueMapIntKey&& v) : _type(Type::INT_KEY_MAP) { - _field.intKeyMapVal = new ValueMapIntKey(); + _field.intKeyMapVal = new (std::nothrow) ValueMapIntKey(); *_field.intKeyMapVal = std::move(v); } @@ -178,21 +178,21 @@ Value& Value::operator= (const Value& other) case Type::VECTOR: if (_field.vectorVal == nullptr) { - _field.vectorVal = new ValueVector(); + _field.vectorVal = new (std::nothrow) ValueVector(); } *_field.vectorVal = *other._field.vectorVal; break; case Type::MAP: if (_field.mapVal == nullptr) { - _field.mapVal = new ValueMap(); + _field.mapVal = new (std::nothrow) ValueMap(); } *_field.mapVal = *other._field.mapVal; break; case Type::INT_KEY_MAP: if (_field.intKeyMapVal == nullptr) { - _field.intKeyMapVal = new ValueMapIntKey(); + _field.intKeyMapVal = new (std::nothrow) ValueMapIntKey(); } *_field.intKeyMapVal = *other._field.intKeyMapVal; break; @@ -816,13 +816,13 @@ void Value::reset(Type type) _field.strVal = new std::string(); break; case Type::VECTOR: - _field.vectorVal = new ValueVector(); + _field.vectorVal = new (std::nothrow) ValueVector(); break; case Type::MAP: - _field.mapVal = new ValueMap(); + _field.mapVal = new (std::nothrow) ValueMap(); break; case Type::INT_KEY_MAP: - _field.intKeyMapVal = new ValueMapIntKey(); + _field.intKeyMapVal = new (std::nothrow) ValueMapIntKey(); break; default: break; diff --git a/cocos/base/ObjectFactory.cpp b/cocos/base/ObjectFactory.cpp index 3179b5f1f6..2d7cd7f8fd 100644 --- a/cocos/base/ObjectFactory.cpp +++ b/cocos/base/ObjectFactory.cpp @@ -76,7 +76,7 @@ ObjectFactory* ObjectFactory::getInstance() { if ( nullptr == _sharedFactory) { - _sharedFactory = new ObjectFactory(); + _sharedFactory = new (std::nothrow) ObjectFactory(); } return _sharedFactory; } diff --git a/cocos/deprecated/CCArray.h b/cocos/deprecated/CCArray.h index c06bd5e6b0..1ed3a597c3 100644 --- a/cocos/deprecated/CCArray.h +++ b/cocos/deprecated/CCArray.h @@ -51,7 +51,7 @@ class RCPtr { public: //Construct using a C pointer - //e.g. RCPtr< T > x = new T(); + //e.g. RCPtr< T > x = new (std::nothrow) T(); RCPtr(T* ptr = nullptr) : _ptr(ptr) { @@ -81,7 +81,7 @@ public: } //Assign a pointer - //e.g. x = new T(); + //e.g. x = new (std::nothrow) T(); RCPtr &operator=(T* ptr) { // printf("Array: operator= T*: %p\n", this); diff --git a/cocos/deprecated/CCDictionary.cpp b/cocos/deprecated/CCDictionary.cpp index 23919b6daf..59f57e8490 100644 --- a/cocos/deprecated/CCDictionary.cpp +++ b/cocos/deprecated/CCDictionary.cpp @@ -298,14 +298,14 @@ void __Dictionary::removeObjectForKey(intptr_t key) void __Dictionary::setObjectUnSafe(Ref* pObject, const std::string& key) { pObject->retain(); - DictElement* pElement = new DictElement(key.c_str(), pObject); + DictElement* pElement = new (std::nothrow) DictElement(key.c_str(), pObject); HASH_ADD_STR(_elements, _strKey, pElement); } void __Dictionary::setObjectUnSafe(Ref* pObject, const intptr_t key) { pObject->retain(); - DictElement* pElement = new DictElement(key, pObject); + DictElement* pElement = new (std::nothrow) DictElement(key, pObject); HASH_ADD_PTR(_elements, _intKey, pElement); } diff --git a/cocos/deprecated/CCNotificationCenter.cpp b/cocos/deprecated/CCNotificationCenter.cpp index 7fec442329..467698346d 100644 --- a/cocos/deprecated/CCNotificationCenter.cpp +++ b/cocos/deprecated/CCNotificationCenter.cpp @@ -104,7 +104,7 @@ void __NotificationCenter::addObserver(Ref *target, if (this->observerExisted(target, name, sender)) return; - NotificationObserver *observer = new NotificationObserver(target, selector, name, sender); + NotificationObserver *observer = new (std::nothrow) NotificationObserver(target, selector, name, sender); if (!observer) return; @@ -156,7 +156,7 @@ void __NotificationCenter::registerScriptObserver(Ref *target, int handler,const if (this->observerExisted(target, name, nullptr)) return; - NotificationObserver *observer = new NotificationObserver(target, nullptr, name, nullptr); + NotificationObserver *observer = new (std::nothrow) NotificationObserver(target, nullptr, name, nullptr); if (!observer) return; diff --git a/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp b/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp index e8efa687fb..eff4c54f19 100644 --- a/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp +++ b/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp @@ -426,7 +426,7 @@ void CCBAnimationManager::setAnimatedProperty(const std::string& propName, Node if (fTweenDuration > 0) { // Create a fake keyframe to generate the action from - CCBKeyframe *kf1 = new CCBKeyframe(); + CCBKeyframe *kf1 = new (std::nothrow) CCBKeyframe(); kf1->autorelease(); kf1->setObject(obj); @@ -957,7 +957,7 @@ void CCBAnimationManager::sequenceCompleted() CCBSetSpriteFrame* CCBSetSpriteFrame::create(SpriteFrame *pSpriteFrame) { - CCBSetSpriteFrame *ret = new CCBSetSpriteFrame(); + CCBSetSpriteFrame *ret = new (std::nothrow) CCBSetSpriteFrame(); if (ret) { if (ret->initWithSpriteFrame(pSpriteFrame)) @@ -989,7 +989,7 @@ CCBSetSpriteFrame::~CCBSetSpriteFrame() CCBSetSpriteFrame* CCBSetSpriteFrame::clone() const { // no copy constructor - auto a = new CCBSetSpriteFrame(); + auto a = new (std::nothrow) CCBSetSpriteFrame(); a->initWithSpriteFrame(_spriteFrame); a->autorelease(); return a; @@ -1012,7 +1012,7 @@ void CCBSetSpriteFrame::update(float time) ************************************************************/ CCBSoundEffect* CCBSoundEffect::actionWithSoundFile(const std::string &filename, float pitch, float pan, float gain) { - CCBSoundEffect* pRet = new CCBSoundEffect(); + CCBSoundEffect* pRet = new (std::nothrow) CCBSoundEffect(); if (pRet != nullptr && pRet->initWithSoundFile(filename, pitch, pan, gain)) { pRet->autorelease(); @@ -1040,7 +1040,7 @@ bool CCBSoundEffect::initWithSoundFile(const std::string &filename, float pitch, CCBSoundEffect* CCBSoundEffect::clone() const { // no copy constructor - auto a = new CCBSoundEffect(); + auto a = new (std::nothrow) CCBSoundEffect(); a->initWithSoundFile(_soundFile, _pitch, _pan, _gain); a->autorelease(); return a; @@ -1064,7 +1064,7 @@ void CCBSoundEffect::update(float time) CCBRotateTo* CCBRotateTo::create(float fDuration, float fAngle) { - CCBRotateTo *ret = new CCBRotateTo(); + CCBRotateTo *ret = new (std::nothrow) CCBRotateTo(); if (ret) { if (ret->initWithDuration(fDuration, fAngle)) @@ -1097,7 +1097,7 @@ bool CCBRotateTo::initWithDuration(float fDuration, float fAngle) CCBRotateTo* CCBRotateTo::clone() const { // no copy constructor - auto a = new CCBRotateTo(); + auto a = new (std::nothrow) CCBRotateTo(); a->initWithDuration(_duration, _dstAngle); a->autorelease(); return a; @@ -1132,7 +1132,7 @@ void CCBRotateTo::update(float time) CCBRotateXTo* CCBRotateXTo::create(float fDuration, float fAngle) { - CCBRotateXTo *ret = new CCBRotateXTo(); + CCBRotateXTo *ret = new (std::nothrow) CCBRotateXTo(); if (ret) { if (ret->initWithDuration(fDuration, fAngle)) @@ -1177,7 +1177,7 @@ void CCBRotateXTo::startWithTarget(Node *pNode) CCBRotateXTo* CCBRotateXTo::clone() const { // no copy constructor - auto a = new CCBRotateXTo(); + auto a = new (std::nothrow) CCBRotateXTo(); a->initWithDuration(_duration, _dstAngle); a->autorelease(); return a; @@ -1204,7 +1204,7 @@ void CCBRotateXTo::update(float time) CCBRotateYTo* CCBRotateYTo::create(float fDuration, float fAngle) { - CCBRotateYTo *ret = new CCBRotateYTo(); + CCBRotateYTo *ret = new (std::nothrow) CCBRotateYTo(); if (ret) { if (ret->initWithDuration(fDuration, fAngle)) @@ -1237,7 +1237,7 @@ bool CCBRotateYTo::initWithDuration(float fDuration, float fAngle) CCBRotateYTo* CCBRotateYTo::clone() const { // no copy constructor - auto a = new CCBRotateYTo(); + auto a = new (std::nothrow) CCBRotateYTo(); a->initWithDuration(_duration, _dstAngle); a->autorelease(); return a; @@ -1273,7 +1273,7 @@ void CCBRotateYTo::update(float time) ************************************************************/ CCBEaseInstant* CCBEaseInstant::create(ActionInterval *pAction) { - CCBEaseInstant *pRet = new CCBEaseInstant(); + CCBEaseInstant *pRet = new (std::nothrow) CCBEaseInstant(); if (pRet && pRet->initWithAction(pAction)) { pRet->autorelease(); @@ -1289,7 +1289,7 @@ CCBEaseInstant* CCBEaseInstant::create(ActionInterval *pAction) CCBEaseInstant* CCBEaseInstant::clone() const { // no copy constructor - auto a = new CCBEaseInstant(); + auto a = new (std::nothrow) CCBEaseInstant(); a->initWithAction(_inner); a->autorelease(); return a; diff --git a/cocos/editor-support/cocosbuilder/CCBReader.cpp b/cocos/editor-support/cocosbuilder/CCBReader.cpp index 60bb3119fd..824612a0da 100644 --- a/cocos/editor-support/cocosbuilder/CCBReader.cpp +++ b/cocos/editor-support/cocosbuilder/CCBReader.cpp @@ -31,7 +31,7 @@ CCBFile::CCBFile():_CCBFileNode(nullptr) {} CCBFile* CCBFile::create() { - CCBFile *ret = new CCBFile(); + CCBFile *ret = new (std::nothrow) CCBFile(); if (ret) { @@ -140,7 +140,7 @@ const std::string& CCBReader::getCCBRootPath() const bool CCBReader::init() { // Setup action manager - CCBAnimationManager *pActionManager = new CCBAnimationManager(); + CCBAnimationManager *pActionManager = new (std::nothrow) CCBAnimationManager(); setAnimationManager(pActionManager); pActionManager->release(); @@ -561,7 +561,7 @@ Node * CCBReader::readNodeGraph(Node * pParent) for (int j = 0; j < numProps; ++j) { - CCBSequenceProperty *seqProp = new CCBSequenceProperty(); + CCBSequenceProperty *seqProp = new (std::nothrow) CCBSequenceProperty(); seqProp->autorelease(); seqProp->setName(readCachedString().c_str()); @@ -731,7 +731,7 @@ Node * CCBReader::readNodeGraph(Node * pParent) CCBKeyframe* CCBReader::readKeyframe(PropertyType type) { - CCBKeyframe *keyframe = new CCBKeyframe(); + CCBKeyframe *keyframe = new (std::nothrow) CCBKeyframe(); keyframe->autorelease(); keyframe->setTime(readFloat()); @@ -835,7 +835,7 @@ bool CCBReader::readCallbackKeyframesForSeq(CCBSequence* seq) int numKeyframes = readInt(false); if(!numKeyframes) return true; - CCBSequenceProperty* channel = new CCBSequenceProperty(); + CCBSequenceProperty* channel = new (std::nothrow) CCBSequenceProperty(); channel->autorelease(); for(int i = 0; i < numKeyframes; ++i) { @@ -849,7 +849,7 @@ bool CCBReader::readCallbackKeyframesForSeq(CCBSequence* seq) valueVector.push_back(Value(callbackName)); valueVector.push_back(Value(callbackType)); - CCBKeyframe* keyframe = new CCBKeyframe(); + CCBKeyframe* keyframe = new (std::nothrow) CCBKeyframe(); keyframe->autorelease(); keyframe->setTime(time); @@ -874,7 +874,7 @@ bool CCBReader::readSoundKeyframesForSeq(CCBSequence* seq) { int numKeyframes = readInt(false); if(!numKeyframes) return true; - CCBSequenceProperty* channel = new CCBSequenceProperty(); + CCBSequenceProperty* channel = new (std::nothrow) CCBSequenceProperty(); channel->autorelease(); for(int i = 0; i < numKeyframes; ++i) { @@ -891,7 +891,7 @@ bool CCBReader::readSoundKeyframesForSeq(CCBSequence* seq) { vec.push_back(Value(pan)); vec.push_back(Value(gain)); - CCBKeyframe* keyframe = new CCBKeyframe(); + CCBKeyframe* keyframe = new (std::nothrow) CCBKeyframe(); keyframe->setTime(time); keyframe->setValue(Value(vec)); channel->getKeyframes().pushBack(keyframe); @@ -916,7 +916,7 @@ bool CCBReader::readSequences() for (int i = 0; i < numSeqs; i++) { - CCBSequence *seq = new CCBSequence(); + CCBSequence *seq = new (std::nothrow) CCBSequence(); seq->autorelease(); seq->setDuration(readFloat()); diff --git a/cocos/editor-support/cocosbuilder/CCBReader.h b/cocos/editor-support/cocosbuilder/CCBReader.h index 5c05632583..f4a81b4437 100644 --- a/cocos/editor-support/cocosbuilder/CCBReader.h +++ b/cocos/editor-support/cocosbuilder/CCBReader.h @@ -11,7 +11,7 @@ #include "cocosbuilder/CCBAnimationManager.h" #define CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(T, METHOD) static T * METHOD() { \ - T * ptr = new T(); \ + T * ptr = new (std::nothrow) T(); \ if(ptr != NULL) { \ ptr->autorelease(); \ return ptr; \ @@ -21,7 +21,7 @@ } #define CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(T, METHOD) static T * METHOD() { \ - T * ptr = new T(); \ + T * ptr = new (std::nothrow) T(); \ if(ptr != NULL && ptr->init()) { \ ptr->autorelease(); \ return ptr; \ diff --git a/cocos/editor-support/cocosbuilder/CCNodeLoader.cpp b/cocos/editor-support/cocosbuilder/CCNodeLoader.cpp index fd8b7a9765..51f205ea30 100644 --- a/cocos/editor-support/cocosbuilder/CCNodeLoader.cpp +++ b/cocos/editor-support/cocosbuilder/CCNodeLoader.cpp @@ -687,7 +687,7 @@ Color4F * NodeLoader::parsePropTypeColor4FVar(Node * pNode, Node * pParent, CCBR float blueVar = ccbReader->readFloat(); float alphaVar = ccbReader->readFloat(); - Color4F * colors = new Color4F[2]; + Color4F * colors = new (std::nothrow) Color4F[2]; colors[0].r = red; colors[0].g = green; colors[0].b = blue; @@ -798,7 +798,7 @@ BlockData * NodeLoader::parsePropTypeBlock(Node * pNode, Node * pParent, CCBRead if(selMenuHandler == 0) { CCLOG("Skipping selector '%s' since no CCBSelectorResolver is present.", selectorName.c_str()); } else { - BlockData * blockData = new BlockData(); + BlockData * blockData = new (std::nothrow) BlockData(); blockData->mSELMenuHandler = selMenuHandler; blockData->_target = target; @@ -882,7 +882,7 @@ BlockControlData * NodeLoader::parsePropTypeBlockControl(Node * pNode, Node * pP } else { - BlockControlData * blockControlData = new BlockControlData(); + BlockControlData * blockControlData = new (std::nothrow) BlockControlData(); blockControlData->mSELControlHandler = selControlHandler; blockControlData->_target = target; @@ -929,7 +929,7 @@ Node * NodeLoader::parsePropTypeCCBFile(Node * pNode, Node * pParent, CCBReader auto dataPtr = std::make_shared(FileUtils::getInstance()->getDataFromFile(path)); - CCBReader * reader = new CCBReader(pCCBReader); + CCBReader * reader = new (std::nothrow) CCBReader(pCCBReader); reader->autorelease(); reader->getAnimationManager()->setRootContainerSize(pParent->getContentSize()); diff --git a/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp b/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp index 339058bce8..14186d2f49 100644 --- a/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp +++ b/cocos/editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp @@ -83,7 +83,7 @@ static NodeLoaderLibrary * sSharedNodeLoaderLibrary = nullptr; NodeLoaderLibrary * NodeLoaderLibrary::getInstance() { if(sSharedNodeLoaderLibrary == nullptr) { - sSharedNodeLoaderLibrary = new NodeLoaderLibrary(); + sSharedNodeLoaderLibrary = new (std::nothrow) NodeLoaderLibrary(); sSharedNodeLoaderLibrary->registerDefaultNodeLoaders(); } diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp index 0eca4088a7..79d6759484 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp @@ -31,7 +31,7 @@ NS_TIMELINE_BEGIN // ActionTimelineData ActionTimelineData* ActionTimelineData::create(int actionTag) { - ActionTimelineData * ret = new ActionTimelineData(); + ActionTimelineData * ret = new (std::nothrow) ActionTimelineData(); if (ret && ret->init(actionTag)) { ret->autorelease(); @@ -58,7 +58,7 @@ bool ActionTimelineData::init(int actionTag) // ActionTimeline ActionTimeline* ActionTimeline::create() { - ActionTimeline* object = new ActionTimeline(); + ActionTimeline* object = new (std::nothrow) ActionTimeline(); if (object && object->init()) { object->autorelease(); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp index 8d1092aba8..395b215a40 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp @@ -74,7 +74,7 @@ ActionTimelineCache* ActionTimelineCache::getInstance() { if (! _sharedActionCache) { - _sharedActionCache = new ActionTimelineCache(); + _sharedActionCache = new (std::nothrow) ActionTimelineCache(); _sharedActionCache->init(); } diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCFrame.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCFrame.cpp index 917cadd851..fab94198ae 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCFrame.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCFrame.cpp @@ -61,7 +61,7 @@ void Frame::cloneProperty(Frame* frame) // VisibleFrame VisibleFrame* VisibleFrame::create() { - VisibleFrame* frame = new VisibleFrame(); + VisibleFrame* frame = new (std::nothrow) VisibleFrame(); if (frame) { frame->autorelease(); @@ -97,7 +97,7 @@ Frame* VisibleFrame::clone() // TextureFrame TextureFrame* TextureFrame::create() { - TextureFrame* frame = new TextureFrame(); + TextureFrame* frame = new (std::nothrow) TextureFrame(); if (frame) { frame->autorelease(); @@ -148,7 +148,7 @@ Frame* TextureFrame::clone() // RotationFrame RotationFrame* RotationFrame::create() { - RotationFrame* frame = new RotationFrame(); + RotationFrame* frame = new (std::nothrow) RotationFrame(); if (frame) { frame->autorelease(); @@ -197,7 +197,7 @@ Frame* RotationFrame::clone() // SkewFrame SkewFrame* SkewFrame::create() { - SkewFrame* frame = new SkewFrame(); + SkewFrame* frame = new (std::nothrow) SkewFrame(); if (frame) { frame->autorelease(); @@ -254,7 +254,7 @@ Frame* SkewFrame::clone() // RotationSkewFrame RotationSkewFrame* RotationSkewFrame::create() { - RotationSkewFrame* frame = new RotationSkewFrame(); + RotationSkewFrame* frame = new (std::nothrow) RotationSkewFrame(); if (frame) { frame->autorelease(); @@ -307,7 +307,7 @@ Frame* RotationSkewFrame::clone() // PositionFrame PositionFrame* PositionFrame::create() { - PositionFrame* frame = new PositionFrame(); + PositionFrame* frame = new (std::nothrow) PositionFrame(); if (frame) { frame->autorelease(); @@ -359,7 +359,7 @@ Frame* PositionFrame::clone() // ScaleFrame ScaleFrame* ScaleFrame::create() { - ScaleFrame* frame = new ScaleFrame(); + ScaleFrame* frame = new (std::nothrow) ScaleFrame(); if (frame) { frame->autorelease(); @@ -414,7 +414,7 @@ Frame* ScaleFrame::clone() // AnchorPointFrame AnchorPointFrame* AnchorPointFrame::create() { - AnchorPointFrame* frame = new AnchorPointFrame(); + AnchorPointFrame* frame = new (std::nothrow) AnchorPointFrame(); if (frame) { frame->autorelease(); @@ -450,7 +450,7 @@ Frame* AnchorPointFrame::clone() // InnerActionFrame InnerActionFrame* InnerActionFrame::create() { - InnerActionFrame* frame = new InnerActionFrame(); + InnerActionFrame* frame = new (std::nothrow) InnerActionFrame(); if (frame) { frame->autorelease(); @@ -486,7 +486,7 @@ Frame* InnerActionFrame::clone() // ColorFrame ColorFrame* ColorFrame::create() { - ColorFrame* frame = new ColorFrame(); + ColorFrame* frame = new (std::nothrow) ColorFrame(); if (frame) { frame->autorelease(); @@ -549,7 +549,7 @@ Frame* ColorFrame::clone() // EventFrame EventFrame* EventFrame::create() { - EventFrame* frame = new EventFrame(); + EventFrame* frame = new (std::nothrow) EventFrame(); if (frame) { frame->autorelease(); @@ -584,7 +584,7 @@ Frame* EventFrame::clone() // ZOrderFrame ZOrderFrame* ZOrderFrame::create() { - ZOrderFrame* frame = new ZOrderFrame(); + ZOrderFrame* frame = new (std::nothrow) ZOrderFrame(); if (frame) { frame->autorelease(); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp index e7d51d9529..d4c1460fca 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp @@ -104,7 +104,7 @@ NodeReader* NodeReader::getInstance() { if (! _sharedNodeReader) { - _sharedNodeReader = new NodeReader(); + _sharedNodeReader = new (std::nothrow) NodeReader(); _sharedNodeReader->init(); } @@ -457,7 +457,7 @@ Node* NodeReader::loadWidget(const rapidjson::Value& json) WidgetReaderProtocol* reader = dynamic_cast(ObjectFactory::getInstance()->createObject(readerName)); - WidgetPropertiesReader0300* guiReader = new WidgetPropertiesReader0300(); + WidgetPropertiesReader0300* guiReader = new (std::nothrow) WidgetPropertiesReader0300(); guiReader->setPropsForAllWidgetFromJsonDictionary(reader, widget, json); CC_SAFE_DELETE(guiReader); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp index 10f09ceb5d..db0e78af9b 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp @@ -31,7 +31,7 @@ NS_TIMELINE_BEGIN Timeline* Timeline::create() { - Timeline* object = new Timeline(); + Timeline* object = new (std::nothrow) Timeline(); if (object) { object->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCActionManagerEx.cpp b/cocos/editor-support/cocostudio/CCActionManagerEx.cpp index c935863e6f..af4d80e855 100644 --- a/cocos/editor-support/cocostudio/CCActionManagerEx.cpp +++ b/cocos/editor-support/cocostudio/CCActionManagerEx.cpp @@ -35,7 +35,7 @@ static ActionManagerEx* sharedActionManager = nullptr; ActionManagerEx* ActionManagerEx::getInstance() { if (!sharedActionManager) { - sharedActionManager = new ActionManagerEx(); + sharedActionManager = new (std::nothrow) ActionManagerEx(); } return sharedActionManager; } @@ -68,7 +68,7 @@ void ActionManagerEx::initWithDictionary(const char* jsonName,const rapidjson::V cocos2d::Vector actionList; int actionCount = DICTOOL->getArrayCount_json(dic, "actionlist"); for (int i=0; iautorelease(); const rapidjson::Value &actionDic = DICTOOL->getDictionaryFromArray_json(dic, "actionlist", i); action->initWithDictionary(actionDic,root); @@ -101,7 +101,7 @@ void ActionManagerEx::initWithDictionary(const char* jsonName,const rapidjson::V { int actionCount = actionNode->GetChildNum(); for (int i = 0; i < actionCount; ++i) { - ActionObject* action = new ActionObject(); + ActionObject* action = new (std::nothrow) ActionObject(); action->autorelease(); action->initWithBinary(cocoLoader, actionNode->GetChildArray(cocoLoader), root); diff --git a/cocos/editor-support/cocostudio/CCActionNode.cpp b/cocos/editor-support/cocostudio/CCActionNode.cpp index 116eeb1592..20b5f929ac 100644 --- a/cocos/editor-support/cocostudio/CCActionNode.cpp +++ b/cocos/editor-support/cocostudio/CCActionNode.cpp @@ -97,7 +97,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) { float positionX = DICTOOL->getFloatValue_json(actionFrameDic, "positionx"); float positionY = DICTOOL->getFloatValue_json(actionFrameDic, "positiony"); - ActionMoveFrame* actionFrame = new ActionMoveFrame(); + ActionMoveFrame* actionFrame = new (std::nothrow) ActionMoveFrame(); actionFrame->setFrameIndex(frameInex); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -112,7 +112,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) { float scaleX = DICTOOL->getFloatValue_json(actionFrameDic, "scalex"); float scaleY = DICTOOL->getFloatValue_json(actionFrameDic, "scaley"); - ActionScaleFrame* actionFrame = new ActionScaleFrame(); + ActionScaleFrame* actionFrame = new (std::nothrow) ActionScaleFrame(); actionFrame->setFrameIndex(frameInex); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -127,7 +127,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) if (existRotation) { float rotation = DICTOOL->getFloatValue_json(actionFrameDic, "rotation"); - ActionRotationFrame* actionFrame = new ActionRotationFrame(); + ActionRotationFrame* actionFrame = new (std::nothrow) ActionRotationFrame(); actionFrame->setFrameIndex(frameInex); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -141,7 +141,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) if (existOpacity) { int opacity = DICTOOL->getIntValue_json(actionFrameDic, "opacity"); - ActionFadeFrame* actionFrame = new ActionFadeFrame(); + ActionFadeFrame* actionFrame = new (std::nothrow) ActionFadeFrame(); actionFrame->setFrameIndex(frameInex); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -157,7 +157,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) int colorR = DICTOOL->getIntValue_json(actionFrameDic, "colorr"); int colorG = DICTOOL->getIntValue_json(actionFrameDic, "colorg"); int colorB = DICTOOL->getIntValue_json(actionFrameDic, "colorb"); - ActionTintFrame* actionFrame = new ActionTintFrame(); + ActionTintFrame* actionFrame = new (std::nothrow) ActionTintFrame(); actionFrame->setFrameIndex(frameInex); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -248,7 +248,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) positionX = valueToFloat(value); }else if (key == "positiony"){ positionY = valueToFloat(value); - ActionMoveFrame* actionFrame = new ActionMoveFrame(); + ActionMoveFrame* actionFrame = new (std::nothrow) ActionMoveFrame(); actionFrame->autorelease(); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -260,7 +260,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) scaleX = valueToFloat(value); }else if(key == "scaley"){ scaleY = valueToFloat(value); - ActionScaleFrame* actionFrame = new ActionScaleFrame(); + ActionScaleFrame* actionFrame = new (std::nothrow) ActionScaleFrame(); actionFrame->autorelease(); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -271,7 +271,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) cActionArray->pushBack(actionFrame); }else if (key == "rotation"){ rotation = valueToFloat(value); - ActionRotationFrame* actionFrame = new ActionRotationFrame(); + ActionRotationFrame* actionFrame = new (std::nothrow) ActionRotationFrame(); actionFrame->autorelease(); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -281,7 +281,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) cActionArray->pushBack(actionFrame); }else if (key == "opacity"){ opacity = valueToInt(value); - ActionFadeFrame* actionFrame = new ActionFadeFrame(); + ActionFadeFrame* actionFrame = new (std::nothrow) ActionFadeFrame(); actionFrame->autorelease(); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); @@ -296,7 +296,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) }else if(key == "colorr"){ colorR = valueToInt(value); - ActionTintFrame* actionFrame = new ActionTintFrame(); + ActionTintFrame* actionFrame = new (std::nothrow) ActionTintFrame(); actionFrame->autorelease(); actionFrame->setEasingType(frameTweenType); actionFrame->setEasingParameter(frameTweenParameter); diff --git a/cocos/editor-support/cocostudio/CCActionObject.cpp b/cocos/editor-support/cocostudio/CCActionObject.cpp index 67d6c25fb7..fbaabf7efe 100644 --- a/cocos/editor-support/cocostudio/CCActionObject.cpp +++ b/cocos/editor-support/cocostudio/CCActionObject.cpp @@ -115,7 +115,7 @@ void ActionObject::initWithDictionary(const rapidjson::Value& dic, Ref* root) int actionNodeCount = DICTOOL->getArrayCount_json(dic, "actionnodelist"); int maxLength = 0; for (int i=0; iautorelease(); const rapidjson::Value& actionNodeDic = DICTOOL->getDictionaryFromArray_json(dic, "actionnodelist", i); actionNode->initWithDictionary(actionNodeDic,root); @@ -156,7 +156,7 @@ void ActionObject::initWithBinary(CocoLoader *cocoLoader, stExpCocoNode *actionNodeArray = actionNodeList->GetChildArray(cocoLoader); int maxLength = 0; for (int i=0; iautorelease(); actionNode->initWithBinary(cocoLoader, &actionNodeArray[i] , root); diff --git a/cocos/editor-support/cocostudio/CCArmature.cpp b/cocos/editor-support/cocostudio/CCArmature.cpp index c9081721ea..a005e23127 100644 --- a/cocos/editor-support/cocostudio/CCArmature.cpp +++ b/cocos/editor-support/cocostudio/CCArmature.cpp @@ -48,7 +48,7 @@ namespace cocostudio { Armature *Armature::create() { - Armature *armature = new Armature(); + Armature *armature = new (std::nothrow) Armature(); if (armature && armature->init()) { armature->autorelease(); @@ -61,7 +61,7 @@ Armature *Armature::create() Armature *Armature::create(const std::string& name) { - Armature *armature = new Armature(); + Armature *armature = new (std::nothrow) Armature(); if (armature && armature->init(name)) { armature->autorelease(); @@ -73,7 +73,7 @@ Armature *Armature::create(const std::string& name) Armature *Armature::create(const std::string& name, Bone *parentBone) { - Armature *armature = new Armature(); + Armature *armature = new (std::nothrow) Armature(); if (armature && armature->init(name, parentBone)) { armature->autorelease(); @@ -116,7 +116,7 @@ bool Armature::init(const std::string& name) removeAllChildren(); CC_SAFE_DELETE(_animation); - _animation = new ArmatureAnimation(); + _animation = new (std::nothrow) ArmatureAnimation(); _animation->init(this); _boneDic.clear(); @@ -594,7 +594,7 @@ void CCArmature::drawContour() const std::vector &vertexList = body->getCalculatedVertexList(); unsigned long length = vertexList.size(); - Vec2 *points = new Vec2[length]; + Vec2 *points = new (std::nothrow) Vec2[length]; for (unsigned long i = 0; iinit(armature)) { pArmatureAnimation->autorelease(); @@ -491,7 +491,7 @@ void ArmatureAnimation::frameEvent(Bone *bone, const std::string& frameEventName { if ((_frameEventTarget && _frameEventCallFunc) || _frameEventListener) { - FrameEvent *frameEvent = new FrameEvent(); + FrameEvent *frameEvent = new (std::nothrow) FrameEvent(); frameEvent->bone = bone; frameEvent->frameEventName = frameEventName; frameEvent->originFrameIndex = originFrameIndex; @@ -506,7 +506,7 @@ void ArmatureAnimation::movementEvent(Armature *armature, MovementEventType move { if ((_movementEventTarget && _movementEventCallFunc) || _movementEventListener) { - MovementEvent *movementEvent = new MovementEvent(); + MovementEvent *movementEvent = new (std::nothrow) MovementEvent(); movementEvent->armature = armature; movementEvent->movementType = movementType; movementEvent->movementID = movementID; diff --git a/cocos/editor-support/cocostudio/CCArmatureDataManager.cpp b/cocos/editor-support/cocostudio/CCArmatureDataManager.cpp index ecfba79479..8b1a492f29 100644 --- a/cocos/editor-support/cocostudio/CCArmatureDataManager.cpp +++ b/cocos/editor-support/cocostudio/CCArmatureDataManager.cpp @@ -39,7 +39,7 @@ ArmatureDataManager *ArmatureDataManager::getInstance() { if (s_sharedArmatureDataManager == nullptr) { - s_sharedArmatureDataManager = new ArmatureDataManager(); + s_sharedArmatureDataManager = new (std::nothrow) ArmatureDataManager(); if (!s_sharedArmatureDataManager || !s_sharedArmatureDataManager->init()) { CC_SAFE_DELETE(s_sharedArmatureDataManager); diff --git a/cocos/editor-support/cocostudio/CCBatchNode.cpp b/cocos/editor-support/cocostudio/CCBatchNode.cpp index eb0ba5cf70..8edb034e4e 100644 --- a/cocos/editor-support/cocostudio/CCBatchNode.cpp +++ b/cocos/editor-support/cocostudio/CCBatchNode.cpp @@ -38,7 +38,7 @@ namespace cocostudio { BatchNode *BatchNode::create() { - BatchNode *batchNode = new BatchNode(); + BatchNode *batchNode = new (std::nothrow) BatchNode(); if (batchNode && batchNode->init()) { batchNode->autorelease(); @@ -75,7 +75,7 @@ void BatchNode::addChild(Node *child, int zOrder, int tag) armature->setBatchNode(this); if (_groupCommand == nullptr) { - _groupCommand = new GroupCommand(); + _groupCommand = new (std::nothrow) GroupCommand(); } } } @@ -89,7 +89,7 @@ void BatchNode::addChild(cocos2d::Node *child, int zOrder, const std::string &na armature->setBatchNode(this); if (_groupCommand == nullptr) { - _groupCommand = new GroupCommand(); + _groupCommand = new (std::nothrow) GroupCommand(); } } } diff --git a/cocos/editor-support/cocostudio/CCBone.cpp b/cocos/editor-support/cocostudio/CCBone.cpp index 44ff408343..3c74b6047e 100644 --- a/cocos/editor-support/cocostudio/CCBone.cpp +++ b/cocos/editor-support/cocostudio/CCBone.cpp @@ -36,7 +36,7 @@ namespace cocostudio { Bone *Bone::create() { - Bone *pBone = new Bone(); + Bone *pBone = new (std::nothrow) Bone(); if (pBone && pBone->init()) { pBone->autorelease(); @@ -50,7 +50,7 @@ Bone *Bone::create() Bone *Bone::create(const std::string& name) { - Bone *pBone = new Bone(); + Bone *pBone = new (std::nothrow) Bone(); if (pBone && pBone->init(name)) { pBone->autorelease(); @@ -110,21 +110,21 @@ bool Bone::init(const std::string& name) _name = name; CC_SAFE_DELETE(_tweenData); - _tweenData = new FrameData(); + _tweenData = new (std::nothrow) FrameData(); CC_SAFE_DELETE(_tween); - _tween = new Tween(); + _tween = new (std::nothrow) Tween(); _tween->init(this); CC_SAFE_DELETE(_displayManager); - _displayManager = new DisplayManager(); + _displayManager = new (std::nothrow) DisplayManager(); _displayManager->init(this); CC_SAFE_DELETE(_worldInfo); - _worldInfo = new BaseData(); + _worldInfo = new (std::nothrow) BaseData(); CC_SAFE_DELETE(_boneData); - _boneData = new BoneData(); + _boneData = new (std::nothrow) BoneData(); bRet = true; } diff --git a/cocos/editor-support/cocostudio/CCColliderDetector.cpp b/cocos/editor-support/cocostudio/CCColliderDetector.cpp index 73e5ad4b18..597ab3b36f 100644 --- a/cocos/editor-support/cocostudio/CCColliderDetector.cpp +++ b/cocos/editor-support/cocostudio/CCColliderDetector.cpp @@ -70,7 +70,7 @@ ColliderBody::ColliderBody(ContourData *contourData) , _contourData(contourData) { CC_SAFE_RETAIN(_contourData); - _filter = new ColliderFilter(); + _filter = new (std::nothrow) ColliderFilter(); #if ENABLE_PHYSICS_SAVE_CALCULATED_VERTEX _calculatedVertexList = Array::create(); @@ -84,7 +84,7 @@ ColliderBody::ColliderBody(ContourData *contourData) , _contourData(contourData) { CC_SAFE_RETAIN(_contourData); - _filter = new ColliderFilter(); + _filter = new (std::nothrow) ColliderFilter(); #if ENABLE_PHYSICS_SAVE_CALCULATED_VERTEX _calculatedVertexList = Array::create(); @@ -123,7 +123,7 @@ ColliderFilter *ColliderBody::getColliderFilter() ColliderDetector *ColliderDetector::create() { - ColliderDetector *pColliderDetector = new ColliderDetector(); + ColliderDetector *pColliderDetector = new (std::nothrow) ColliderDetector(); if (pColliderDetector && pColliderDetector->init()) { pColliderDetector->autorelease(); @@ -135,7 +135,7 @@ ColliderDetector *ColliderDetector::create() ColliderDetector *ColliderDetector::create(Bone *bone) { - ColliderDetector *pColliderDetector = new ColliderDetector(); + ColliderDetector *pColliderDetector = new (std::nothrow) ColliderDetector(); if (pColliderDetector && pColliderDetector->init(bone)) { pColliderDetector->autorelease(); @@ -168,7 +168,7 @@ bool ColliderDetector::init() _colliderBodyList.clear(); #if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT - _filter = new ColliderFilter(); + _filter = new (std::nothrow) ColliderFilter(); #endif return true; @@ -184,7 +184,7 @@ bool ColliderDetector::init(Bone *bone) void ColliderDetector::addContourData(ContourData *contourData) { - ColliderBody *colliderBody = new ColliderBody(contourData); + ColliderBody *colliderBody = new (std::nothrow) ColliderBody(contourData); _colliderBodyList.pushBack(colliderBody); colliderBody->release(); diff --git a/cocos/editor-support/cocostudio/CCComAttribute.cpp b/cocos/editor-support/cocostudio/CCComAttribute.cpp index c6a9dd114e..e7ccc30184 100644 --- a/cocos/editor-support/cocostudio/CCComAttribute.cpp +++ b/cocos/editor-support/cocostudio/CCComAttribute.cpp @@ -130,7 +130,7 @@ std::string ComAttribute::getString(const std::string& key, const std::string& d ComAttribute* ComAttribute::create(void) { - ComAttribute * pRet = new ComAttribute(); + ComAttribute * pRet = new (std::nothrow) ComAttribute(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCComAudio.cpp b/cocos/editor-support/cocostudio/CCComAudio.cpp index a370b68994..b06e20daf9 100644 --- a/cocos/editor-support/cocostudio/CCComAudio.cpp +++ b/cocos/editor-support/cocostudio/CCComAudio.cpp @@ -156,7 +156,7 @@ bool ComAudio::serialize(void* r) ComAudio* ComAudio::create(void) { - ComAudio * pRet = new ComAudio(); + ComAudio * pRet = new (std::nothrow) ComAudio(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCComController.cpp b/cocos/editor-support/cocostudio/CCComController.cpp index 3164eab3fd..a258321ba1 100644 --- a/cocos/editor-support/cocostudio/CCComController.cpp +++ b/cocos/editor-support/cocostudio/CCComController.cpp @@ -70,7 +70,7 @@ void ComController::setEnabled(bool b) ComController* ComController::create(void) { - ComController * pRet = new ComController(); + ComController * pRet = new (std::nothrow) ComController(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCComRender.cpp b/cocos/editor-support/cocostudio/CCComRender.cpp index aee0d201f6..5fdbe1a333 100644 --- a/cocos/editor-support/cocostudio/CCComRender.cpp +++ b/cocos/editor-support/cocostudio/CCComRender.cpp @@ -345,7 +345,7 @@ bool ComRender::serialize(void* r) ComRender* ComRender::create(void) { - ComRender * ret = new ComRender(); + ComRender * ret = new (std::nothrow) ComRender(); if (ret != nullptr && ret->init()) { ret->autorelease(); @@ -359,7 +359,7 @@ ComRender* ComRender::create(void) ComRender* ComRender::create(cocos2d::Node *node, const char *comName) { - ComRender * ret = new ComRender(node, comName); + ComRender * ret = new (std::nothrow) ComRender(node, comName); if (ret != nullptr && ret->init()) { ret->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp index 729fdc95da..44b4eec1ce 100644 --- a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp +++ b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp @@ -183,7 +183,7 @@ void DataReaderHelper::loadData() } // generate data info - DataInfo *pDataInfo = new DataInfo(); + DataInfo *pDataInfo = new (std::nothrow) DataInfo(); pDataInfo->asyncStruct = pAsyncStruct; pDataInfo->filename = pAsyncStruct->filename; pDataInfo->baseFilePath = pAsyncStruct->baseFilePath; @@ -221,7 +221,7 @@ DataReaderHelper *DataReaderHelper::getInstance() { if(!_dataReaderHelper) { - _dataReaderHelper = new DataReaderHelper(); + _dataReaderHelper = new (std::nothrow) DataReaderHelper(); } return _dataReaderHelper; @@ -398,7 +398,7 @@ void DataReaderHelper::addDataFromFileAsync(const std::string& imagePath, const } // generate async struct - AsyncStruct *data = new AsyncStruct(); + AsyncStruct *data = new (std::nothrow) AsyncStruct(); data->filename = filePath; data->baseFilePath = basefilePath; data->target = target; @@ -614,7 +614,7 @@ void DataReaderHelper::addDataFromCache(const std::string& pFileContent, DataInf ArmatureData *DataReaderHelper::decodeArmature(tinyxml2::XMLElement *armatureXML, DataInfo *dataInfo) { - ArmatureData *armatureData = new ArmatureData(); + ArmatureData *armatureData = new (std::nothrow) ArmatureData(); armatureData->init(); armatureData->name = armatureXML->Attribute(A_NAME); @@ -655,7 +655,7 @@ ArmatureData *DataReaderHelper::decodeArmature(tinyxml2::XMLElement *armatureXML BoneData *DataReaderHelper::decodeBone(tinyxml2::XMLElement *boneXML, tinyxml2::XMLElement *parentXml, DataInfo *dataInfo) { - BoneData *boneData = new BoneData(); + BoneData *boneData = new (std::nothrow) BoneData(); boneData->init(); std::string name = boneXML->Attribute(A_NAME); @@ -691,19 +691,19 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(tinyxml2::XMLElement *displayXM { if(!_isArmature) { - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); displayData->displayType = CS_DISPLAY_SPRITE; } else { - displayData = new ArmatureDisplayData(); + displayData = new (std::nothrow) ArmatureDisplayData(); displayData->displayType = CS_DISPLAY_ARMATURE; } } else { - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); displayData->displayType = CS_DISPLAY_SPRITE; } @@ -751,7 +751,7 @@ AnimationData *DataReaderHelper::decodeAnimation(tinyxml2::XMLElement *animation MovementData *DataReaderHelper::decodeMovement(tinyxml2::XMLElement *movementXML, ArmatureData *armatureData, DataInfo *dataInfo) { - MovementData *movementData = new MovementData(); + MovementData *movementData = new (std::nothrow) MovementData(); const char *movName = movementXML->Attribute(A_NAME); movementData->name = movName; @@ -838,7 +838,7 @@ MovementData *DataReaderHelper::decodeMovement(tinyxml2::XMLElement *movementXML MovementBoneData *DataReaderHelper::decodeMovementBone(tinyxml2::XMLElement *movBoneXml, tinyxml2::XMLElement *parentXml, BoneData *boneData, DataInfo *dataInfo) { - MovementBoneData *movBoneData = new MovementBoneData(); + MovementBoneData *movBoneData = new (std::nothrow) MovementBoneData(); movBoneData->init(); float scale, delay; @@ -945,7 +945,7 @@ MovementBoneData *DataReaderHelper::decodeMovementBone(tinyxml2::XMLElement *mov // - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); frameData->copy((FrameData *)movBoneData->frameList.back()); frameData->frameID = movBoneData->duration; movBoneData->addFrameData(frameData); @@ -959,7 +959,7 @@ FrameData *DataReaderHelper::decodeFrame(tinyxml2::XMLElement *frameXML, tinyxm float x = 0, y = 0, scale_x = 0, scale_y = 0, skew_x = 0, skew_y = 0, tweenRotate = 0; int duration = 0, displayIndex = 0, zOrder = 0, tweenEasing = 0, blendType = 0; - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); if(frameXML->Attribute(A_MOVEMENT) != nullptr) { @@ -1154,7 +1154,7 @@ FrameData *DataReaderHelper::decodeFrame(tinyxml2::XMLElement *frameXML, tinyxm TextureData *DataReaderHelper::decodeTexture(tinyxml2::XMLElement *textureXML, DataInfo *dataInfo) { - TextureData *textureData = new TextureData(); + TextureData *textureData = new (std::nothrow) TextureData(); textureData->init(); if( textureXML->Attribute(A_NAME) != nullptr) @@ -1200,7 +1200,7 @@ TextureData *DataReaderHelper::decodeTexture(tinyxml2::XMLElement *textureXML, D ContourData *DataReaderHelper::decodeContour(tinyxml2::XMLElement *contourXML, DataInfo *dataInfo) { - ContourData *contourData = new ContourData(); + ContourData *contourData = new (std::nothrow) ContourData(); contourData->init(); tinyxml2::XMLElement *vertexDataXML = contourXML->FirstChildElement(CONTOUR_VERTEX); @@ -1339,7 +1339,7 @@ void DataReaderHelper::addDataFromJsonCache(const std::string& fileContent, Data ArmatureData *DataReaderHelper::decodeArmature(const rapidjson::Value& json, DataInfo *dataInfo) { - ArmatureData *armatureData = new ArmatureData(); + ArmatureData *armatureData = new (std::nothrow) ArmatureData(); armatureData->init(); const char *name = DICTOOL->getStringValue_json(json, A_NAME); @@ -1365,7 +1365,7 @@ ArmatureData *DataReaderHelper::decodeArmature(const rapidjson::Value& json, Dat BoneData *DataReaderHelper::decodeBone(const rapidjson::Value& json, DataInfo *dataInfo) { - BoneData *boneData = new BoneData(); + BoneData *boneData = new (std::nothrow) BoneData(); boneData->init(); decodeNode(boneData, json, dataInfo); @@ -1406,7 +1406,7 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(const rapidjson::Value& json, D { case CS_DISPLAY_SPRITE: { - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); const char *name = DICTOOL->getStringValue_json(json, A_NAME); if(name != nullptr) @@ -1437,7 +1437,7 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(const rapidjson::Value& json, D break; case CS_DISPLAY_ARMATURE: { - displayData = new ArmatureDisplayData(); + displayData = new (std::nothrow) ArmatureDisplayData(); const char *name = DICTOOL->getStringValue_json(json, A_NAME); if(name != nullptr) @@ -1448,7 +1448,7 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(const rapidjson::Value& json, D break; case CS_DISPLAY_PARTICLE: { - displayData = new ParticleDisplayData(); + displayData = new (std::nothrow) ParticleDisplayData(); const char *plist = DICTOOL->getStringValue_json(json, A_PLIST); if(plist != nullptr) @@ -1465,7 +1465,7 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(const rapidjson::Value& json, D } break; default: - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); break; } @@ -1478,7 +1478,7 @@ DisplayData *DataReaderHelper::decodeBoneDisplay(const rapidjson::Value& json, D AnimationData *DataReaderHelper::decodeAnimation(const rapidjson::Value& json, DataInfo *dataInfo) { - AnimationData *aniData = new AnimationData(); + AnimationData *aniData = new (std::nothrow) AnimationData(); const char *name = DICTOOL->getStringValue_json(json, A_NAME); if(name != nullptr) @@ -1502,7 +1502,7 @@ AnimationData *DataReaderHelper::decodeAnimation(const rapidjson::Value& json, D MovementData *DataReaderHelper::decodeMovement(const rapidjson::Value& json, DataInfo *dataInfo) { - MovementData *movementData = new MovementData(); + MovementData *movementData = new (std::nothrow) MovementData(); movementData->loop = DICTOOL->getBooleanValue_json(json, A_LOOP, true); movementData->durationTween = DICTOOL->getIntValue_json(json, A_DURATION_TWEEN, 0); @@ -1538,7 +1538,7 @@ MovementData *DataReaderHelper::decodeMovement(const rapidjson::Value& json, Dat MovementBoneData *DataReaderHelper::decodeMovementBone(const rapidjson::Value& json, DataInfo *dataInfo) { - MovementBoneData *movementBoneData = new MovementBoneData(); + MovementBoneData *movementBoneData = new (std::nothrow) MovementBoneData(); movementBoneData->init(); movementBoneData->delay = DICTOOL->getFloatValue_json(json, A_MOVEMENT_DELAY); @@ -1594,7 +1594,7 @@ MovementBoneData *DataReaderHelper::decodeMovementBone(const rapidjson::Value& j { if (movementBoneData->frameList.size() > 0) { - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); frameData->copy((FrameData *)movementBoneData->frameList.back()); movementBoneData->addFrameData(frameData); frameData->release(); @@ -1608,7 +1608,7 @@ MovementBoneData *DataReaderHelper::decodeMovementBone(const rapidjson::Value& j FrameData *DataReaderHelper::decodeFrame(const rapidjson::Value& json, DataInfo *dataInfo) { - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); decodeNode(frameData, json, dataInfo); @@ -1650,7 +1650,7 @@ FrameData *DataReaderHelper::decodeFrame(const rapidjson::Value& json, DataInfo TextureData *DataReaderHelper::decodeTexture(const rapidjson::Value& json) { - TextureData *textureData = new TextureData(); + TextureData *textureData = new (std::nothrow) TextureData(); textureData->init(); const char *name = DICTOOL->getStringValue_json(json, A_NAME); @@ -1678,7 +1678,7 @@ TextureData *DataReaderHelper::decodeTexture(const rapidjson::Value& json) ContourData *DataReaderHelper::decodeContour(const rapidjson::Value& json) { - ContourData *contourData = new ContourData(); + ContourData *contourData = new (std::nothrow) ContourData(); contourData->init(); int length = DICTOOL->getArrayCount_json(json, VERTEX_POINT); @@ -1871,7 +1871,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, ArmatureData* DataReaderHelper::decodeArmature(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - ArmatureData *armatureData = new ArmatureData(); + ArmatureData *armatureData = new (std::nothrow) ArmatureData(); armatureData->init(); stExpCocoNode *pAramtureDataArray = cocoNode->GetChildArray(cocoLoader); const char *name = pAramtureDataArray[2].GetValue(cocoLoader); //DICTOOL->getStringValue_json(json, A_NAME); @@ -1900,7 +1900,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, BoneData* DataReaderHelper::decodeBone(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - BoneData *boneData = new BoneData(); + BoneData *boneData = new (std::nothrow) BoneData(); boneData->init(); decodeNode(boneData, cocoLoader, cocoNode, dataInfo); @@ -1968,7 +1968,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { case CS_DISPLAY_SPRITE: { - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); const char *name = children[0].GetValue(cocoLoader); if(name != nullptr) @@ -2023,7 +2023,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, break; case CS_DISPLAY_ARMATURE: { - displayData = new ArmatureDisplayData(); + displayData = new (std::nothrow) ArmatureDisplayData(); const char *name = cocoNode[0].GetValue(cocoLoader); if(name != nullptr) @@ -2034,7 +2034,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, break; case CS_DISPLAY_PARTICLE: { - displayData = new ParticleDisplayData(); + displayData = new (std::nothrow) ParticleDisplayData(); length = cocoNode->GetChildNum(); stExpCocoNode *pDisplayData = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < length; ++i) @@ -2060,7 +2060,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, } break; default: - displayData = new SpriteDisplayData(); + displayData = new (std::nothrow) SpriteDisplayData(); break; } @@ -2071,7 +2071,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, AnimationData* DataReaderHelper::decodeAnimation(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - AnimationData *aniData = new AnimationData(); + AnimationData *aniData = new (std::nothrow) AnimationData(); int length = cocoNode->GetChildNum(); stExpCocoNode *pAnimationData = cocoNode->GetChildArray(cocoLoader); @@ -2108,7 +2108,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, MovementData* DataReaderHelper::decodeMovement(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - MovementData *movementData = new MovementData(); + MovementData *movementData = new (std::nothrow) MovementData(); movementData->scale = 1.0f; int length = cocoNode->GetChildNum(); @@ -2198,7 +2198,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, MovementBoneData* DataReaderHelper::decodeMovementBone(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - MovementBoneData *movementBoneData = new MovementBoneData(); + MovementBoneData *movementBoneData = new (std::nothrow) MovementBoneData(); movementBoneData->init(); int length = cocoNode->GetChildNum(); @@ -2279,7 +2279,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { if (movementBoneData->frameList.size() > 0) { - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); frameData = movementBoneData->frameList.at(framesizemusone); movementBoneData->addFrameData(frameData); frameData->release(); @@ -2292,7 +2292,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, FrameData* DataReaderHelper::decodeFrame(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - FrameData *frameData = new FrameData(); + FrameData *frameData = new (std::nothrow) FrameData(); decodeNode(frameData, cocoLoader, cocoNode, dataInfo); @@ -2396,7 +2396,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, TextureData* DataReaderHelper::decodeTexture(CocoLoader *cocoLoader, stExpCocoNode *cocoNode) { - TextureData *textureData = new TextureData(); + TextureData *textureData = new (std::nothrow) TextureData(); textureData->init(); if(cocoNode == nullptr) @@ -2463,7 +2463,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, ContourData* DataReaderHelper::decodeContour(CocoLoader *cocoLoader, stExpCocoNode *cocoNode) { - ContourData *contourData = new ContourData(); + ContourData *contourData = new (std::nothrow) ContourData(); contourData->init(); int length = cocoNode->GetChildNum(); diff --git a/cocos/editor-support/cocostudio/CCDecorativeDisplay.cpp b/cocos/editor-support/cocostudio/CCDecorativeDisplay.cpp index 0e50d4ec7b..cddc953d17 100644 --- a/cocos/editor-support/cocostudio/CCDecorativeDisplay.cpp +++ b/cocos/editor-support/cocostudio/CCDecorativeDisplay.cpp @@ -31,7 +31,7 @@ namespace cocostudio { DecorativeDisplay *DecorativeDisplay::create() { - DecorativeDisplay *pDisplay = new DecorativeDisplay(); + DecorativeDisplay *pDisplay = new (std::nothrow) DecorativeDisplay(); if (pDisplay && pDisplay->init()) { pDisplay->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCDisplayManager.cpp b/cocos/editor-support/cocostudio/CCDisplayManager.cpp index 6b8a01c8e8..d013cea9f3 100644 --- a/cocos/editor-support/cocostudio/CCDisplayManager.cpp +++ b/cocos/editor-support/cocostudio/CCDisplayManager.cpp @@ -36,7 +36,7 @@ namespace cocostudio { DisplayManager *DisplayManager::create(Bone *bone) { - DisplayManager *pDisplayManager = new DisplayManager(); + DisplayManager *pDisplayManager = new (std::nothrow) DisplayManager(); if (pDisplayManager && pDisplayManager->init(bone)) { pDisplayManager->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCSGUIReader.cpp b/cocos/editor-support/cocostudio/CCSGUIReader.cpp index a4359e8604..79889233c7 100644 --- a/cocos/editor-support/cocostudio/CCSGUIReader.cpp +++ b/cocos/editor-support/cocostudio/CCSGUIReader.cpp @@ -91,7 +91,7 @@ GUIReader* GUIReader::getInstance() { if (!sharedReader) { - sharedReader = new GUIReader(); + sharedReader = new (std::nothrow) GUIReader(); } return sharedReader; } @@ -200,18 +200,18 @@ Widget* GUIReader::widgetFromJsonFile(const char *fileName) int versionInteger = getVersionInteger(fileVersion); if (versionInteger < 250) { - pReader = new WidgetPropertiesReader0250(); + pReader = new (std::nothrow) WidgetPropertiesReader0250(); widget = pReader->createWidget(jsonDict, m_strFilePath.c_str(), fileName); } else { - pReader = new WidgetPropertiesReader0300(); + pReader = new (std::nothrow) WidgetPropertiesReader0300(); widget = pReader->createWidget(jsonDict, m_strFilePath.c_str(), fileName); } } else { - pReader = new WidgetPropertiesReader0250(); + pReader = new (std::nothrow) WidgetPropertiesReader0250(); widget = pReader->createWidget(jsonDict, m_strFilePath.c_str(), fileName); } @@ -379,18 +379,18 @@ Widget* GUIReader::widgetFromBinaryFile(const char *fileName) if (versionInteger < 250) { CCASSERT(0, "You current studio doesn't support binary format, please upgrade to the latest version!"); - pReader = new WidgetPropertiesReader0250(); + pReader = new (std::nothrow) WidgetPropertiesReader0250(); widget = pReader->createWidgetFromBinary(&tCocoLoader, tpRootCocoNode, fileName); } else { - pReader = new WidgetPropertiesReader0300(); + pReader = new (std::nothrow) WidgetPropertiesReader0300(); widget = pReader->createWidgetFromBinary(&tCocoLoader, tpRootCocoNode, fileName); } } else { - pReader = new WidgetPropertiesReader0250(); + pReader = new (std::nothrow) WidgetPropertiesReader0250(); widget = pReader->createWidgetFromBinary(&tCocoLoader, tpRootCocoNode, fileName); } diff --git a/cocos/editor-support/cocostudio/CCSSceneReader.cpp b/cocos/editor-support/cocostudio/CCSSceneReader.cpp index ab855a30cc..7f7d963659 100644 --- a/cocos/editor-support/cocostudio/CCSSceneReader.cpp +++ b/cocos/editor-support/cocostudio/CCSSceneReader.cpp @@ -103,7 +103,7 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, nCount = tpChildArray[15].GetChildNum(); } stExpCocoNode *pComponents = tpChildArray[15].GetChildArray(&tCocoLoader); - SerData *data = new SerData(); + SerData *data = new (std::nothrow) SerData(); for (int i = 0; i < nCount; i++) { stExpCocoNode *subDict = pComponents[i].GetChildArray(&tCocoLoader); @@ -279,7 +279,7 @@ Node* SceneReader::createObject(const rapidjson::Value &dict, cocos2d::Node* par const char *comName = DICTOOL->getStringValue_json(subDict, "classname"); Component *com = this->createComponent(comName); CCLOG("classname = %s", comName); - SerData *data = new SerData(); + SerData *data = new (std::nothrow) SerData(); if (com != nullptr) { data->_rData = &subDict; @@ -369,7 +369,7 @@ cocos2d::Node* SceneReader::createObject(CocoLoader *cocoLoader, stExpCocoNode * count = pNodeArray[13].GetChildNum(); } stExpCocoNode *pComponents = pNodeArray[13].GetChildArray(cocoLoader); - SerData *data = new SerData(); + SerData *data = new (std::nothrow) SerData(); for (int i = 0; i < count; ++i) { stExpCocoNode *subDict = pComponents[i].GetChildArray(cocoLoader); @@ -555,7 +555,7 @@ SceneReader* SceneReader::getInstance() { if (s_sharedReader == nullptr) { - s_sharedReader = new SceneReader(); + s_sharedReader = new (std::nothrow) SceneReader(); } return s_sharedReader; } diff --git a/cocos/editor-support/cocostudio/CCSkin.cpp b/cocos/editor-support/cocostudio/CCSkin.cpp index ac61c1a104..e4caddf914 100644 --- a/cocos/editor-support/cocostudio/CCSkin.cpp +++ b/cocos/editor-support/cocostudio/CCSkin.cpp @@ -47,7 +47,7 @@ namespace cocostudio { Skin *Skin::create() { - Skin *skin = new Skin(); + Skin *skin = new (std::nothrow) Skin(); if(skin && skin->init()) { skin->autorelease(); @@ -59,7 +59,7 @@ Skin *Skin::create() Skin *Skin::createWithSpriteFrameName(const std::string& pszSpriteFrameName) { - Skin *skin = new Skin(); + Skin *skin = new (std::nothrow) Skin(); if(skin && skin->initWithSpriteFrameName(pszSpriteFrameName)) { skin->autorelease(); @@ -71,7 +71,7 @@ Skin *Skin::createWithSpriteFrameName(const std::string& pszSpriteFrameName) Skin *Skin::create(const std::string& pszFileName) { - Skin *skin = new Skin(); + Skin *skin = new (std::nothrow) Skin(); if(skin && skin->initWithFile(pszFileName)) { skin->autorelease(); diff --git a/cocos/editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp b/cocos/editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp index 1775d0fd6b..3b7ec3f0e7 100644 --- a/cocos/editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp +++ b/cocos/editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp @@ -37,7 +37,7 @@ SpriteFrameCacheHelper *SpriteFrameCacheHelper::getInstance() { if(!_spriteFrameCacheHelper) { - _spriteFrameCacheHelper = new SpriteFrameCacheHelper(); + _spriteFrameCacheHelper = new (std::nothrow) SpriteFrameCacheHelper(); } return _spriteFrameCacheHelper; diff --git a/cocos/editor-support/cocostudio/CCTween.cpp b/cocos/editor-support/cocostudio/CCTween.cpp index 90ca396c5d..8ca0024762 100644 --- a/cocos/editor-support/cocostudio/CCTween.cpp +++ b/cocos/editor-support/cocostudio/CCTween.cpp @@ -37,7 +37,7 @@ using cocos2d::tweenfunc::Linear; Tween *Tween::create(Bone *bone) { - Tween *pTween = new Tween(); + Tween *pTween = new (std::nothrow) Tween(); if (pTween && pTween->init(bone)) { pTween->autorelease(); @@ -80,8 +80,8 @@ bool Tween::init(Bone *bone) bool bRet = false; do { - _from = new FrameData(); - _between = new FrameData(); + _from = new (std::nothrow) FrameData(); + _between = new (std::nothrow) FrameData(); _bone = bone; _tweenData = _bone->getTweenData(); diff --git a/cocos/editor-support/cocostudio/DictionaryHelper.cpp b/cocos/editor-support/cocostudio/DictionaryHelper.cpp index d72bfa396b..232290505b 100644 --- a/cocos/editor-support/cocostudio/DictionaryHelper.cpp +++ b/cocos/editor-support/cocostudio/DictionaryHelper.cpp @@ -42,7 +42,7 @@ DictionaryHelper::~DictionaryHelper() DictionaryHelper* DictionaryHelper::getInstance() { if (!sharedHelper) { - sharedHelper = new DictionaryHelper(); + sharedHelper = new (std::nothrow) DictionaryHelper(); } return sharedHelper; } diff --git a/cocos/editor-support/cocostudio/TriggerMng.cpp b/cocos/editor-support/cocostudio/TriggerMng.cpp index 6b76be239b..deeeabbec6 100755 --- a/cocos/editor-support/cocostudio/TriggerMng.cpp +++ b/cocos/editor-support/cocostudio/TriggerMng.cpp @@ -60,7 +60,7 @@ TriggerMng* TriggerMng::getInstance() { if (nullptr == _sharedTriggerMng) { - _sharedTriggerMng = new TriggerMng(); + _sharedTriggerMng = new (std::nothrow) TriggerMng(); } return _sharedTriggerMng; } @@ -411,7 +411,7 @@ void TriggerMng::addArmatureMovementCallBack(Armature *pAr, Ref *pTarget, SEL_Mo ArmatureMovementDispatcher *amd = nullptr; if (iter == _movementDispatches->end()) { - amd = new ArmatureMovementDispatcher(); + amd = new (std::nothrow) ArmatureMovementDispatcher(); pAr->getAnimation()->setMovementEventCallFunc(CC_CALLBACK_0(ArmatureMovementDispatcher::animationEvent, amd, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); amd->addAnimationEventCallBack(pTarget, mecf); _movementDispatches->insert(std::make_pair(pAr, amd)); diff --git a/cocos/editor-support/cocostudio/TriggerObj.cpp b/cocos/editor-support/cocostudio/TriggerObj.cpp index 06cd96986e..f2316466d0 100755 --- a/cocos/editor-support/cocostudio/TriggerObj.cpp +++ b/cocos/editor-support/cocostudio/TriggerObj.cpp @@ -105,7 +105,7 @@ bool TriggerObj::init() TriggerObj* TriggerObj::create() { - TriggerObj * pRet = new TriggerObj(); + TriggerObj * pRet = new (std::nothrow) TriggerObj(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp index 0587e91454..5b9cdac2af 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp @@ -47,7 +47,7 @@ namespace cocostudio { if (!instanceButtonReader) { - instanceButtonReader = new ButtonReader(); + instanceButtonReader = new (std::nothrow) ButtonReader(); } return instanceButtonReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp index 85a6775411..3a21d32862 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp @@ -33,7 +33,7 @@ namespace cocostudio { if (!instanceCheckBoxReader) { - instanceCheckBoxReader = new CheckBoxReader(); + instanceCheckBoxReader = new (std::nothrow) CheckBoxReader(); } return instanceCheckBoxReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp index 2558a17d85..15bebd0e3f 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp @@ -37,7 +37,7 @@ namespace cocostudio { if (!instanceImageViewReader) { - instanceImageViewReader = new ImageViewReader(); + instanceImageViewReader = new (std::nothrow) ImageViewReader(); } return instanceImageViewReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp index 42c504a1d2..a87df75166 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp @@ -52,7 +52,7 @@ namespace cocostudio { if (!instanceLayoutReader) { - instanceLayoutReader = new LayoutReader(); + instanceLayoutReader = new (std::nothrow) LayoutReader(); } return instanceLayoutReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp index 89e5c72344..2e86460e24 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp @@ -30,7 +30,7 @@ namespace cocostudio { if (!instanceListViewReader) { - instanceListViewReader = new ListViewReader(); + instanceListViewReader = new (std::nothrow) ListViewReader(); } return instanceListViewReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp index f283ac4c56..00b93df0db 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp @@ -37,7 +37,7 @@ namespace cocostudio { if (!instanceLoadingBar) { - instanceLoadingBar = new LoadingBarReader(); + instanceLoadingBar = new (std::nothrow) LoadingBarReader(); } return instanceLoadingBar; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp index 048985cac1..9fcb5acb6e 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp @@ -28,7 +28,7 @@ namespace cocostudio { if (!instancePageViewReader) { - instancePageViewReader = new PageViewReader(); + instancePageViewReader = new (std::nothrow) PageViewReader(); } return instancePageViewReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp index 6f03951944..a0ad66f89c 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp @@ -32,7 +32,7 @@ namespace cocostudio { if (!instanceScrollViewReader) { - instanceScrollViewReader = new ScrollViewReader(); + instanceScrollViewReader = new (std::nothrow) ScrollViewReader(); } return instanceScrollViewReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp index e15cd2b52f..2834fd8f96 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp @@ -36,7 +36,7 @@ namespace cocostudio { if (!instanceSliderReader) { - instanceSliderReader = new SliderReader(); + instanceSliderReader = new (std::nothrow) SliderReader(); } return instanceSliderReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp index 45fccfda69..da7ef0c39a 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp @@ -33,7 +33,7 @@ namespace cocostudio { if (!instanceTextAtalsReader) { - instanceTextAtalsReader = new TextAtlasReader(); + instanceTextAtalsReader = new (std::nothrow) TextAtlasReader(); } return instanceTextAtalsReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp index a13dffde8a..22d73c8eff 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp @@ -30,7 +30,7 @@ namespace cocostudio { if (!instanceTextBMFontReader) { - instanceTextBMFontReader = new TextBMFontReader(); + instanceTextBMFontReader = new (std::nothrow) TextBMFontReader(); } return instanceTextBMFontReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp index 117a4d3216..16aff4d6e4 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp @@ -38,7 +38,7 @@ namespace cocostudio { if (!instanceTextFieldReader) { - instanceTextFieldReader = new TextFieldReader(); + instanceTextFieldReader = new (std::nothrow) TextFieldReader(); } return instanceTextFieldReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp index 6cd77cf038..1e148c270e 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp @@ -36,7 +36,7 @@ namespace cocostudio { if (!instanceTextReader) { - instanceTextReader = new TextReader(); + instanceTextReader = new (std::nothrow) TextReader(); } return instanceTextReader; } diff --git a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp index 69eda57774..1e2afd361e 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp @@ -101,7 +101,7 @@ namespace cocostudio { if (!instanceWidgetReader) { - instanceWidgetReader = new WidgetReader(); + instanceWidgetReader = new (std::nothrow) WidgetReader(); } return instanceWidgetReader; } diff --git a/cocos/editor-support/spine/CCSkeleton.cpp b/cocos/editor-support/spine/CCSkeleton.cpp index 4cde3682c7..8a83795284 100644 --- a/cocos/editor-support/spine/CCSkeleton.cpp +++ b/cocos/editor-support/spine/CCSkeleton.cpp @@ -41,19 +41,19 @@ using std::max; namespace spine { Skeleton* Skeleton::createWithData (spSkeletonData* skeletonData, bool isOwnsSkeletonData) { - Skeleton* node = new Skeleton(skeletonData, isOwnsSkeletonData); + Skeleton* node = new (std::nothrow) Skeleton(skeletonData, isOwnsSkeletonData); node->autorelease(); return node; } Skeleton* Skeleton::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - Skeleton* node = new Skeleton(skeletonDataFile, atlas, scale); + Skeleton* node = new (std::nothrow) Skeleton(skeletonDataFile, atlas, scale); node->autorelease(); return node; } Skeleton* Skeleton::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - Skeleton* node = new Skeleton(skeletonDataFile, atlasFile, scale); + Skeleton* node = new (std::nothrow) Skeleton(skeletonDataFile, atlasFile, scale); node->autorelease(); return node; } diff --git a/cocos/editor-support/spine/CCSkeletonAnimation.cpp b/cocos/editor-support/spine/CCSkeletonAnimation.cpp index e088316e2b..e3f5b170fa 100644 --- a/cocos/editor-support/spine/CCSkeletonAnimation.cpp +++ b/cocos/editor-support/spine/CCSkeletonAnimation.cpp @@ -47,19 +47,19 @@ static void callback (spAnimationState* state, int trackIndex, spEventType type, } SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonData); + SkeletonAnimation* node = new (std::nothrow) SkeletonAnimation(skeletonData); node->autorelease(); return node; } SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlas, scale); + SkeletonAnimation* node = new (std::nothrow) SkeletonAnimation(skeletonDataFile, atlas, scale); node->autorelease(); return node; } SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlasFile, scale); + SkeletonAnimation* node = new (std::nothrow) SkeletonAnimation(skeletonDataFile, atlasFile, scale); node->autorelease(); return node; } diff --git a/cocos/network/HttpClient.cpp b/cocos/network/HttpClient.cpp index 15a1931c5b..c2a0440b99 100644 --- a/cocos/network/HttpClient.cpp +++ b/cocos/network/HttpClient.cpp @@ -142,7 +142,7 @@ void HttpClient::networkThread() // step 2: libcurl sync access // Create a HttpResponse object, the default setting is http access failed - HttpResponse *response = new HttpResponse(request); + HttpResponse *response = new (std::nothrow) HttpResponse(request); processResponse(response, s_errorBuffer); @@ -176,7 +176,7 @@ void HttpClient::networkThread() void HttpClient::networkThreadAlone(HttpRequest* request) { // Create a HttpResponse object, the default setting is http access failed - HttpResponse *response = new HttpResponse(request); + HttpResponse *response = new (std::nothrow) HttpResponse(request); char errorBuffer[CURL_ERROR_SIZE] = { 0 }; processResponse(response, errorBuffer); @@ -434,7 +434,7 @@ static void processResponse(HttpResponse* response, char* errorBuffer) HttpClient* HttpClient::getInstance() { if (s_pHttpClient == nullptr) { - s_pHttpClient = new HttpClient(); + s_pHttpClient = new (std::nothrow) HttpClient(); } return s_pHttpClient; @@ -478,8 +478,8 @@ bool HttpClient::lazyInitThreadSemphore() return true; } else { - s_requestQueue = new Vector(); - s_responseQueue = new Vector(); + s_requestQueue = new (std::nothrow) Vector(); + s_responseQueue = new (std::nothrow) Vector(); s_need_quit = false; diff --git a/cocos/network/SocketIO.cpp b/cocos/network/SocketIO.cpp index ac36095145..f0b0097d27 100644 --- a/cocos/network/SocketIO.cpp +++ b/cocos/network/SocketIO.cpp @@ -120,7 +120,7 @@ void SIOClientImpl::handshake() std::stringstream pre; pre << "http://" << _uri << "/socket.io/1"; - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl(pre.str().c_str()); request->setRequestType(HttpRequest::Type::GET); @@ -216,7 +216,7 @@ void SIOClientImpl::openSocket() std::stringstream s; s << _uri << "/socket.io/1/websocket/" << _sid; - _ws = new WebSocket(); + _ws = new (std::nothrow) WebSocket(); if (!_ws->init(*this, s.str())) { CC_SAFE_DELETE(_ws); @@ -258,7 +258,7 @@ void SIOClientImpl::disconnect() SIOClientImpl* SIOClientImpl::create(const std::string& host, int port) { - SIOClientImpl *s = new SIOClientImpl(host, port); + SIOClientImpl *s = new (std::nothrow) SIOClientImpl(host, port); if (s && s->init()) { @@ -595,7 +595,7 @@ SocketIO::~SocketIO(void) SocketIO* SocketIO::getInstance() { if (nullptr == _inst) - _inst = new SocketIO(); + _inst = new (std::nothrow) SocketIO(); return _inst; } @@ -660,7 +660,7 @@ SIOClient* SocketIO::connect(const std::string& uri, SocketIO::SIODelegate& dele //create a new socket, new client, connect socket = SIOClientImpl::create(host, port); - c = new SIOClient(host, port, path, socket, delegate); + c = new (std::nothrow) SIOClient(host, port, path, socket, delegate); socket->addClient(path, c); @@ -673,7 +673,7 @@ SIOClient* SocketIO::connect(const std::string& uri, SocketIO::SIODelegate& dele if(c == nullptr) { - c = new SIOClient(host, port, path, socket, delegate); + c = new (std::nothrow) SIOClient(host, port, path, socket, delegate); socket->addClient(path, c); diff --git a/cocos/network/WebSocket.cpp b/cocos/network/WebSocket.cpp index e0729b7f98..2ac99901bc 100644 --- a/cocos/network/WebSocket.cpp +++ b/cocos/network/WebSocket.cpp @@ -322,7 +322,7 @@ bool WebSocket::init(const Delegate& delegate, } // WebSocket thread needs to be invoked at the end of this method. - _wsHelper = new WsThreadHelper(); + _wsHelper = new (std::nothrow) WsThreadHelper(); ret = _wsHelper->createThread(*this); return ret; @@ -333,9 +333,9 @@ void WebSocket::send(const std::string& message) if (_readyState == State::OPEN) { // In main thread - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_SUBTRHEAD_SENDING_STRING; - Data* data = new Data(); + Data* data = new (std::nothrow) Data(); data->bytes = new char[message.length()+1]; strcpy(data->bytes, message.c_str()); data->len = static_cast(message.length()); @@ -351,9 +351,9 @@ void WebSocket::send(const unsigned char* binaryMsg, unsigned int len) if (_readyState == State::OPEN) { // In main thread - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_SUBTRHEAD_SENDING_BINARY; - Data* data = new Data(); + Data* data = new (std::nothrow) Data(); data->bytes = new char[len]; memcpy((void*)data->bytes, (void*)binaryMsg, len); data->len = len; @@ -446,7 +446,7 @@ void WebSocket::onSubThreadStarted() name.c_str(), -1); if(nullptr == _wsInstance) { - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_UITHREAD_ERROR; _readyState = State::CLOSING; _wsHelper->sendMessageToUIThread(msg); @@ -481,13 +481,13 @@ int WebSocket::onSocketCallback(struct libwebsocket_context *ctx, || (reason == LWS_CALLBACK_DEL_POLL_FD && _readyState == State::CONNECTING) ) { - msg = new WsMessage(); + msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_UITHREAD_ERROR; _readyState = State::CLOSING; } else if (reason == LWS_CALLBACK_PROTOCOL_DESTROY && _readyState == State::CLOSING) { - msg = new WsMessage(); + msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_UITHREAD_CLOSE; } @@ -499,7 +499,7 @@ int WebSocket::onSocketCallback(struct libwebsocket_context *ctx, break; case LWS_CALLBACK_CLIENT_ESTABLISHED: { - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_UITHREAD_OPEN; _readyState = State::OPEN; @@ -603,7 +603,7 @@ int WebSocket::onSocketCallback(struct libwebsocket_context *ctx, if (_readyState != State::CLOSED) { - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); _readyState = State::CLOSED; msg->what = WS_MSG_TO_UITHREAD_CLOSE; _wsHelper->sendMessageToUIThread(msg); @@ -642,11 +642,11 @@ int WebSocket::onSocketCallback(struct libwebsocket_context *ctx, // If no more data pending, send it to the client thread if (_pendingFrameDataLen == 0) { - WsMessage* msg = new WsMessage(); + WsMessage* msg = new (std::nothrow) WsMessage(); msg->what = WS_MSG_TO_UITHREAD_MESSAGE; char* bytes = nullptr; - Data* data = new Data(); + Data* data = new (std::nothrow) Data(); if (lws_frame_is_binary(wsi)) { diff --git a/cocos/physics/CCPhysicsBody.cpp b/cocos/physics/CCPhysicsBody.cpp index 233e55f157..ba8feca811 100644 --- a/cocos/physics/CCPhysicsBody.cpp +++ b/cocos/physics/CCPhysicsBody.cpp @@ -91,7 +91,7 @@ PhysicsBody::~PhysicsBody() PhysicsBody* PhysicsBody::create() { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->autorelease(); @@ -104,7 +104,7 @@ PhysicsBody* PhysicsBody::create() PhysicsBody* PhysicsBody::create(float mass) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body) { body->_mass = mass; @@ -122,7 +122,7 @@ PhysicsBody* PhysicsBody::create(float mass) PhysicsBody* PhysicsBody::create(float mass, float moment) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body) { body->_mass = mass; @@ -143,7 +143,7 @@ PhysicsBody* PhysicsBody::create(float mass, float moment) PhysicsBody* PhysicsBody::createCircle(float radius, const PhysicsMaterial& material, const Vec2& offset) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeCircle::create(radius, material, offset)); @@ -157,7 +157,7 @@ PhysicsBody* PhysicsBody::createCircle(float radius, const PhysicsMaterial& mate PhysicsBody* PhysicsBody::createBox(const Size& size, const PhysicsMaterial& material, const Vec2& offset) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeBox::create(size, material, offset)); @@ -171,7 +171,7 @@ PhysicsBody* PhysicsBody::createBox(const Size& size, const PhysicsMaterial& mat PhysicsBody* PhysicsBody::createPolygon(const Vec2* points, int count, const PhysicsMaterial& material, const Vec2& offset) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapePolygon::create(points, count, material, offset)); @@ -185,7 +185,7 @@ PhysicsBody* PhysicsBody::createPolygon(const Vec2* points, int count, const Phy PhysicsBody* PhysicsBody::createEdgeSegment(const Vec2& a, const Vec2& b, const PhysicsMaterial& material, float border/* = 1*/) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeEdgeSegment::create(a, b, material, border)); @@ -200,7 +200,7 @@ PhysicsBody* PhysicsBody::createEdgeSegment(const Vec2& a, const Vec2& b, const PhysicsBody* PhysicsBody::createEdgeBox(const Size& size, const PhysicsMaterial& material, float border/* = 1*/, const Vec2& offset) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeEdgeBox::create(size, material, border, offset)); @@ -216,7 +216,7 @@ PhysicsBody* PhysicsBody::createEdgeBox(const Size& size, const PhysicsMaterial& PhysicsBody* PhysicsBody::createEdgePolygon(const Vec2* points, int count, const PhysicsMaterial& material, float border/* = 1*/) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeEdgePolygon::create(points, count, material, border)); @@ -232,7 +232,7 @@ PhysicsBody* PhysicsBody::createEdgePolygon(const Vec2* points, int count, const PhysicsBody* PhysicsBody::createEdgeChain(const Vec2* points, int count, const PhysicsMaterial& material, float border/* = 1*/) { - PhysicsBody* body = new PhysicsBody(); + PhysicsBody* body = new (std::nothrow) PhysicsBody(); if (body && body->init()) { body->addShape(PhysicsShapeEdgeChain::create(points, count, material, border)); @@ -250,7 +250,7 @@ bool PhysicsBody::init() { do { - _info = new PhysicsBodyInfo(); + _info = new (std::nothrow) PhysicsBodyInfo(); CC_BREAK_IF(_info == nullptr); _info->setBody(cpBodyNew(PhysicsHelper::float2cpfloat(_mass), PhysicsHelper::float2cpfloat(_moment))); diff --git a/cocos/physics/CCPhysicsContact.cpp b/cocos/physics/CCPhysicsContact.cpp index 77d09087c0..3608afd69f 100644 --- a/cocos/physics/CCPhysicsContact.cpp +++ b/cocos/physics/CCPhysicsContact.cpp @@ -62,7 +62,7 @@ PhysicsContact::~PhysicsContact() PhysicsContact* PhysicsContact::construct(PhysicsShape* a, PhysicsShape* b) { - PhysicsContact * contact = new PhysicsContact(); + PhysicsContact * contact = new (std::nothrow) PhysicsContact(); if(contact && contact->init(a, b)) { return contact; @@ -78,7 +78,7 @@ bool PhysicsContact::init(PhysicsShape* a, PhysicsShape* b) { CC_BREAK_IF(a == nullptr || b == nullptr); - CC_BREAK_IF(!(_info = new PhysicsContactInfo(this))); + CC_BREAK_IF(!(_info = new (std::nothrow) PhysicsContactInfo(this))); _shapeA = a; _shapeB = b; @@ -99,7 +99,7 @@ void PhysicsContact::generateContactData() cpArbiter* arb = static_cast(_contactInfo); CC_SAFE_DELETE(_preContactData); _preContactData = _contactData; - _contactData = new PhysicsContactData(); + _contactData = new (std::nothrow) PhysicsContactData(); _contactData->count = cpArbiterGetCount(arb); for (int i=0; i<_contactData->count && iinit()) { @@ -322,7 +322,7 @@ EventListenerPhysicsContact* EventListenerPhysicsContact::clone() EventListenerPhysicsContactWithBodies* EventListenerPhysicsContactWithBodies::create(PhysicsBody* bodyA, PhysicsBody* bodyB) { - EventListenerPhysicsContactWithBodies* obj = new EventListenerPhysicsContactWithBodies(); + EventListenerPhysicsContactWithBodies* obj = new (std::nothrow) EventListenerPhysicsContactWithBodies(); if (obj != nullptr && obj->init()) { @@ -390,7 +390,7 @@ EventListenerPhysicsContactWithShapes::~EventListenerPhysicsContactWithShapes() EventListenerPhysicsContactWithShapes* EventListenerPhysicsContactWithShapes::create(PhysicsShape* shapeA, PhysicsShape* shapeB) { - EventListenerPhysicsContactWithShapes* obj = new EventListenerPhysicsContactWithShapes(); + EventListenerPhysicsContactWithShapes* obj = new (std::nothrow) EventListenerPhysicsContactWithShapes(); if (obj != nullptr && obj->init()) { @@ -444,7 +444,7 @@ EventListenerPhysicsContactWithGroup::~EventListenerPhysicsContactWithGroup() EventListenerPhysicsContactWithGroup* EventListenerPhysicsContactWithGroup::create(int group) { - EventListenerPhysicsContactWithGroup* obj = new EventListenerPhysicsContactWithGroup(); + EventListenerPhysicsContactWithGroup* obj = new (std::nothrow) EventListenerPhysicsContactWithGroup(); if (obj != nullptr && obj->init()) { diff --git a/cocos/physics/CCPhysicsJoint.cpp b/cocos/physics/CCPhysicsJoint.cpp index bb5eb31766..86ebf86ecc 100644 --- a/cocos/physics/CCPhysicsJoint.cpp +++ b/cocos/physics/CCPhysicsJoint.cpp @@ -65,7 +65,7 @@ bool PhysicsJoint::init(cocos2d::PhysicsBody *a, cocos2d::PhysicsBody *b) CCASSERT(a != nullptr && b != nullptr, "the body passed in is nil"); CCASSERT(a != b, "the two bodies are equal"); - CC_BREAK_IF(!(_info = new PhysicsJointInfo(this))); + CC_BREAK_IF(!(_info = new (std::nothrow) PhysicsJointInfo(this))); _bodyA = a; _bodyA->_joints.push_back(this); @@ -164,7 +164,7 @@ float PhysicsJoint::getMaxForce() const PhysicsJointFixed* PhysicsJointFixed::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr) { - PhysicsJointFixed* joint = new PhysicsJointFixed(); + PhysicsJointFixed* joint = new (std::nothrow) PhysicsJointFixed(); if (joint && joint->init(a, b, anchr)) { @@ -205,7 +205,7 @@ bool PhysicsJointFixed::init(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr) PhysicsJointPin* PhysicsJointPin::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr) { - PhysicsJointPin* joint = new PhysicsJointPin(); + PhysicsJointPin* joint = new (std::nothrow) PhysicsJointPin(); if (joint && joint->init(a, b, anchr)) { @@ -236,7 +236,7 @@ bool PhysicsJointPin::init(PhysicsBody *a, PhysicsBody *b, const Vec2& anchr) PhysicsJointLimit* PhysicsJointLimit::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr1, const Vec2& anchr2, float min, float max) { - PhysicsJointLimit* joint = new PhysicsJointLimit(); + PhysicsJointLimit* joint = new (std::nothrow) PhysicsJointLimit(); if (joint && joint->init(a, b, anchr1, anchr2, min, max)) { @@ -316,7 +316,7 @@ void PhysicsJointLimit::setAnchr2(const Vec2& anchr) PhysicsJointDistance* PhysicsJointDistance::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr1, const Vec2& anchr2) { - PhysicsJointDistance* joint = new PhysicsJointDistance(); + PhysicsJointDistance* joint = new (std::nothrow) PhysicsJointDistance(); if (joint && joint->init(a, b, anchr1, anchr2)) { @@ -360,7 +360,7 @@ void PhysicsJointDistance::setDistance(float distance) PhysicsJointSpring* PhysicsJointSpring::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& anchr1, const Vec2& anchr2, float stiffness, float damping) { - PhysicsJointSpring* joint = new PhysicsJointSpring(); + PhysicsJointSpring* joint = new (std::nothrow) PhysicsJointSpring(); if (joint && joint->init(a, b, anchr1, anchr2, stiffness, damping)) { @@ -446,7 +446,7 @@ void PhysicsJointSpring::setDamping(float damping) PhysicsJointGroove* PhysicsJointGroove::construct(PhysicsBody* a, PhysicsBody* b, const Vec2& grooveA, const Vec2& grooveB, const Vec2& anchr2) { - PhysicsJointGroove* joint = new PhysicsJointGroove(); + PhysicsJointGroove* joint = new (std::nothrow) PhysicsJointGroove(); if (joint && joint->init(a, b, grooveA, grooveB, anchr2)) { @@ -510,7 +510,7 @@ void PhysicsJointGroove::setAnchr2(const Vec2& anchr2) PhysicsJointRotarySpring* PhysicsJointRotarySpring::construct(PhysicsBody* a, PhysicsBody* b, float stiffness, float damping) { - PhysicsJointRotarySpring* joint = new PhysicsJointRotarySpring(); + PhysicsJointRotarySpring* joint = new (std::nothrow) PhysicsJointRotarySpring(); if (joint && joint->init(a, b, stiffness, damping)) { @@ -574,7 +574,7 @@ void PhysicsJointRotarySpring::setDamping(float damping) PhysicsJointRotaryLimit* PhysicsJointRotaryLimit::construct(PhysicsBody* a, PhysicsBody* b, float min, float max) { - PhysicsJointRotaryLimit* joint = new PhysicsJointRotaryLimit(); + PhysicsJointRotaryLimit* joint = new (std::nothrow) PhysicsJointRotaryLimit(); if (joint && joint->init(a, b, min, max)) { @@ -633,7 +633,7 @@ void PhysicsJointRotaryLimit::setMax(float max) PhysicsJointRatchet* PhysicsJointRatchet::construct(PhysicsBody* a, PhysicsBody* b, float phase, float ratchet) { - PhysicsJointRatchet* joint = new PhysicsJointRatchet(); + PhysicsJointRatchet* joint = new (std::nothrow) PhysicsJointRatchet(); if (joint && joint->init(a, b, phase, ratchet)) { @@ -697,7 +697,7 @@ void PhysicsJointRatchet::setRatchet(float ratchet) PhysicsJointGear* PhysicsJointGear::construct(PhysicsBody* a, PhysicsBody* b, float phase, float ratchet) { - PhysicsJointGear* joint = new PhysicsJointGear(); + PhysicsJointGear* joint = new (std::nothrow) PhysicsJointGear(); if (joint && joint->init(a, b, phase, ratchet)) { @@ -751,7 +751,7 @@ void PhysicsJointGear::setRatio(float ratio) PhysicsJointMotor* PhysicsJointMotor::construct(PhysicsBody* a, PhysicsBody* b, float rate) { - PhysicsJointMotor* joint = new PhysicsJointMotor(); + PhysicsJointMotor* joint = new (std::nothrow) PhysicsJointMotor(); if (joint && joint->init(a, b, rate)) { diff --git a/cocos/physics/CCPhysicsShape.cpp b/cocos/physics/CCPhysicsShape.cpp index c40caccd4a..67a0df35a2 100644 --- a/cocos/physics/CCPhysicsShape.cpp +++ b/cocos/physics/CCPhysicsShape.cpp @@ -68,7 +68,7 @@ PhysicsShape::~PhysicsShape() bool PhysicsShape::init(Type type) { - _info = new PhysicsShapeInfo(this); + _info = new (std::nothrow) PhysicsShapeInfo(this); if (_info == nullptr) return false; _type = type; @@ -333,7 +333,7 @@ void PhysicsShape::setBody(PhysicsBody *body) // PhysicsShapeCircle PhysicsShapeCircle* PhysicsShapeCircle::create(float radius, const PhysicsMaterial& material/* = MaterialDefault*/, const Vec2& offset/* = Vec2(0, 0)*/) { - PhysicsShapeCircle* shape = new PhysicsShapeCircle(); + PhysicsShapeCircle* shape = new (std::nothrow) PhysicsShapeCircle(); if (shape && shape->init(radius, material, offset)) { shape->autorelease(); @@ -470,7 +470,7 @@ void PhysicsShapeCircle::update(float delta) // PhysicsShapeEdgeSegment PhysicsShapeEdgeSegment* PhysicsShapeEdgeSegment::create(const Vec2& a, const Vec2& b, const PhysicsMaterial& material/* = MaterialDefault*/, float border/* = 1*/) { - PhysicsShapeEdgeSegment* shape = new PhysicsShapeEdgeSegment(); + PhysicsShapeEdgeSegment* shape = new (std::nothrow) PhysicsShapeEdgeSegment(); if (shape && shape->init(a, b, material, border)) { shape->autorelease(); @@ -548,7 +548,7 @@ void PhysicsShapeEdgeSegment::update(float delta) // PhysicsShapeBox PhysicsShapeBox* PhysicsShapeBox::create(const Size& size, const PhysicsMaterial& material/* = MaterialDefault*/, const Vec2& offset/* = Vec2(0, 0)*/) { - PhysicsShapeBox* shape = new PhysicsShapeBox(); + PhysicsShapeBox* shape = new (std::nothrow) PhysicsShapeBox(); if (shape && shape->init(size, material, offset)) { shape->autorelease(); @@ -599,7 +599,7 @@ Size PhysicsShapeBox::getSize() const // PhysicsShapePolygon PhysicsShapePolygon* PhysicsShapePolygon::create(const Vec2* points, int count, const PhysicsMaterial& material/* = MaterialDefault*/, const Vec2& offset/* = Vec2(0, 0)*/) { - PhysicsShapePolygon* shape = new PhysicsShapePolygon(); + PhysicsShapePolygon* shape = new (std::nothrow) PhysicsShapePolygon(); if (shape && shape->init(points, count, material, offset)) { shape->autorelease(); @@ -736,7 +736,7 @@ void PhysicsShapePolygon::update(float delta) // PhysicsShapeEdgeBox PhysicsShapeEdgeBox* PhysicsShapeEdgeBox::create(const Size& size, const PhysicsMaterial& material/* = MaterialDefault*/, float border/* = 1*/, const Vec2& offset/* = Vec2(0, 0)*/) { - PhysicsShapeEdgeBox* shape = new PhysicsShapeEdgeBox(); + PhysicsShapeEdgeBox* shape = new (std::nothrow) PhysicsShapeEdgeBox(); if (shape && shape->init(size, material, border, offset)) { shape->autorelease(); @@ -783,7 +783,7 @@ bool PhysicsShapeEdgeBox::init(const Size& size, const PhysicsMaterial& material // PhysicsShapeEdgeBox PhysicsShapeEdgePolygon* PhysicsShapeEdgePolygon::create(const Vec2* points, int count, const PhysicsMaterial& material/* = MaterialDefault*/, float border/* = 1*/) { - PhysicsShapeEdgePolygon* shape = new PhysicsShapeEdgePolygon(); + PhysicsShapeEdgePolygon* shape = new (std::nothrow) PhysicsShapeEdgePolygon(); if (shape && shape->init(points, count, material, border)) { shape->autorelease(); @@ -864,7 +864,7 @@ int PhysicsShapeEdgePolygon::getPointsCount() const // PhysicsShapeEdgeChain PhysicsShapeEdgeChain* PhysicsShapeEdgeChain::create(const Vec2* points, int count, const PhysicsMaterial& material/* = MaterialDefault*/, float border/* = 1*/) { - PhysicsShapeEdgeChain* shape = new PhysicsShapeEdgeChain(); + PhysicsShapeEdgeChain* shape = new (std::nothrow) PhysicsShapeEdgeChain(); if (shape && shape->init(points, count, material, border)) { shape->autorelease(); diff --git a/cocos/physics/CCPhysicsWorld.cpp b/cocos/physics/CCPhysicsWorld.cpp index 27ed867c47..0852deed11 100644 --- a/cocos/physics/CCPhysicsWorld.cpp +++ b/cocos/physics/CCPhysicsWorld.cpp @@ -197,7 +197,7 @@ void PhysicsWorld::debugDraw() { if (_debugDraw == nullptr) { - _debugDraw = new PhysicsDebugDraw(*this); + _debugDraw = new (std::nothrow) PhysicsDebugDraw(*this); } if (_debugDraw && !_bodies.empty()) @@ -418,7 +418,7 @@ PhysicsShape* PhysicsWorld::getShape(const Vec2& point) const PhysicsWorld* PhysicsWorld::construct(Scene& scene) { - PhysicsWorld * world = new PhysicsWorld(); + PhysicsWorld * world = new (std::nothrow) PhysicsWorld(); if(world && world->init(scene)) { return world; @@ -432,7 +432,7 @@ bool PhysicsWorld::init(Scene& scene) { do { - _info = new PhysicsWorldInfo(); + _info = new (std::nothrow) PhysicsWorldInfo(); CC_BREAK_IF(_info == nullptr); _scene = &scene; @@ -1019,7 +1019,7 @@ void PhysicsDebugDraw::drawShape(PhysicsShape& shape) { cpPolyShape* poly = (cpPolyShape*)subShape; int num = poly->numVerts; - Vec2* seg = new Vec2[num]; + Vec2* seg = new (std::nothrow) Vec2[num]; PhysicsHelper::cpvs2points(poly->tVerts, seg, num); diff --git a/cocos/platform/CCGLView.cpp b/cocos/platform/CCGLView.cpp index 98ccb9784b..e2d5ebb0f7 100644 --- a/cocos/platform/CCGLView.cpp +++ b/cocos/platform/CCGLView.cpp @@ -278,7 +278,7 @@ void GLView::handleTouchesBegin(int num, intptr_t ids[], float xs[], float ys[]) continue; } - Touch* touch = g_touches[unusedIndex] = new Touch(); + Touch* touch = g_touches[unusedIndex] = new (std::nothrow) Touch(); touch->setTouchInfo(unusedIndex, (x - _viewPortRect.origin.x) / _scaleX, (y - _viewPortRect.origin.y) / _scaleY); diff --git a/cocos/platform/android/java/project.properties b/cocos/platform/android/java/project.properties index 88ca83f9d0..6cd1f6a8ff 100644 --- a/cocos/platform/android/java/project.properties +++ b/cocos/platform/android/java/project.properties @@ -12,4 +12,4 @@ android.library=true # Project target. -target=android-10 +target=android-20 diff --git a/cocos/platform/apple/CCFileUtilsApple.mm b/cocos/platform/apple/CCFileUtilsApple.mm index 79c32e43c3..35a1124122 100644 --- a/cocos/platform/apple/CCFileUtilsApple.mm +++ b/cocos/platform/apple/CCFileUtilsApple.mm @@ -323,7 +323,7 @@ FileUtils* FileUtils::getInstance() { if (s_sharedFileUtils == nullptr) { - s_sharedFileUtils = new FileUtilsApple(); + s_sharedFileUtils = new (std::nothrow) FileUtilsApple(); if(!s_sharedFileUtils->init()) { delete s_sharedFileUtils; diff --git a/cocos/platform/desktop/CCGLViewImpl.cpp b/cocos/platform/desktop/CCGLViewImpl.cpp index 7ed74f4852..517f99ee2f 100644 --- a/cocos/platform/desktop/CCGLViewImpl.cpp +++ b/cocos/platform/desktop/CCGLViewImpl.cpp @@ -295,7 +295,7 @@ GLViewImpl::~GLViewImpl() GLViewImpl* GLViewImpl::create(const std::string& viewName) { - auto ret = new GLViewImpl; + auto ret = new (std::nothrow) GLViewImpl; if(ret && ret->initWithRect(viewName, Rect(0, 0, 960, 640), 1)) { ret->autorelease(); return ret; @@ -306,7 +306,7 @@ GLViewImpl* GLViewImpl::create(const std::string& viewName) GLViewImpl* GLViewImpl::createWithRect(const std::string& viewName, Rect rect, float frameZoomFactor) { - auto ret = new GLViewImpl; + auto ret = new (std::nothrow) GLViewImpl; if(ret && ret->initWithRect(viewName, rect, frameZoomFactor)) { ret->autorelease(); return ret; @@ -317,7 +317,7 @@ GLViewImpl* GLViewImpl::createWithRect(const std::string& viewName, Rect rect, f GLViewImpl* GLViewImpl::createWithFullScreen(const std::string& viewName) { - auto ret = new GLViewImpl(); + auto ret = new (std::nothrow) GLViewImpl(); if(ret && ret->initWithFullScreen(viewName)) { ret->autorelease(); return ret; @@ -328,7 +328,7 @@ GLViewImpl* GLViewImpl::createWithFullScreen(const std::string& viewName) GLViewImpl* GLViewImpl::createWithFullScreen(const std::string& viewName, const GLFWvidmode &videoMode, GLFWmonitor *monitor) { - auto ret = new GLViewImpl(); + auto ret = new (std::nothrow) GLViewImpl(); if(ret && ret->initWithFullscreen(viewName, videoMode, monitor)) { ret->autorelease(); return ret; diff --git a/cocos/platform/ios/CCGLViewImpl.mm b/cocos/platform/ios/CCGLViewImpl.mm index 2bc9aec8d7..bb5c134b3f 100644 --- a/cocos/platform/ios/CCGLViewImpl.mm +++ b/cocos/platform/ios/CCGLViewImpl.mm @@ -41,7 +41,7 @@ int GLViewImpl::_depthFormat = GL_DEPTH_COMPONENT16; GLViewImpl* GLViewImpl::createWithEAGLView(void *eaglview) { - auto ret = new GLViewImpl; + auto ret = new (std::nothrow) GLViewImpl; if(ret && ret->initWithEAGLView(eaglview)) { ret->autorelease(); return ret; @@ -52,7 +52,7 @@ GLViewImpl* GLViewImpl::createWithEAGLView(void *eaglview) GLViewImpl* GLViewImpl::create(const std::string& viewName) { - auto ret = new GLViewImpl; + auto ret = new (std::nothrow) GLViewImpl; if(ret && ret->initWithFullScreen(viewName)) { ret->autorelease(); return ret; @@ -63,7 +63,7 @@ GLViewImpl* GLViewImpl::create(const std::string& viewName) GLViewImpl* GLViewImpl::createWithRect(const std::string& viewName, Rect rect, float frameZoomFactor) { - auto ret = new GLViewImpl; + auto ret = new (std::nothrow) GLViewImpl; if(ret && ret->initWithRect(viewName, rect, frameZoomFactor)) { ret->autorelease(); return ret; @@ -74,7 +74,7 @@ GLViewImpl* GLViewImpl::createWithRect(const std::string& viewName, Rect rect, f GLViewImpl* GLViewImpl::createWithFullScreen(const std::string& viewName) { - auto ret = new GLViewImpl(); + auto ret = new (std::nothrow) GLViewImpl(); if(ret && ret->initWithFullScreen(viewName)) { ret->autorelease(); return ret; diff --git a/cocos/renderer/CCGLProgramCache.cpp b/cocos/renderer/CCGLProgramCache.cpp index b451d2d7de..c4955a922c 100644 --- a/cocos/renderer/CCGLProgramCache.cpp +++ b/cocos/renderer/CCGLProgramCache.cpp @@ -60,7 +60,7 @@ static GLProgramCache *_sharedGLProgramCache = 0; GLProgramCache* GLProgramCache::getInstance() { if (!_sharedGLProgramCache) { - _sharedGLProgramCache = new GLProgramCache(); + _sharedGLProgramCache = new (std::nothrow) GLProgramCache(); if (!_sharedGLProgramCache->init()) { CC_SAFE_DELETE(_sharedGLProgramCache); @@ -110,98 +110,98 @@ bool GLProgramCache::init() void GLProgramCache::loadDefaultGLPrograms() { // Position Texture Color shader - GLProgram *p = new GLProgram(); + GLProgram *p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR, p ) ); // Position Texture Color without MVP shader - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor_noMVP); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP, p ) ); // Position Texture Color alpha test - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTest); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST, p) ); // Position Texture Color alpha test - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTestNoMV); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV, p) ); // // Position, Color shader // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR, p) ); // // Position, Color shader no MVP // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor_noMVP); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP, p) ); // // Position Texture shader // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE, p) ); // // Position, Texture attribs, 1 Color as uniform shader // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture_uColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR, p) ); // // Position Texture A8 Color shader // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureA8Color); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_A8_COLOR, p) ); // // Position and 1 color passed as a uniform (to simulate glColor4ub ) // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_Position_uColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_U_COLOR, p) ); // // Position, Legth(TexCoords, Color (used by Draw Node basically ) // - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionLengthTexureColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldNormal); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldGlow); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_GLOW, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelNormal); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_NORMAL, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelOutline); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_OUTLINE, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPosition); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPositionTex); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION_TEXTURE, p) ); - p = new GLProgram(); + p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionTex); _programs.insert(std::make_pair(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE, p)); } diff --git a/cocos/renderer/CCGLProgramStateCache.cpp b/cocos/renderer/CCGLProgramStateCache.cpp index dd80d592b4..81af4a1e29 100644 --- a/cocos/renderer/CCGLProgramStateCache.cpp +++ b/cocos/renderer/CCGLProgramStateCache.cpp @@ -44,7 +44,7 @@ GLProgramStateCache::~GLProgramStateCache() GLProgramStateCache* GLProgramStateCache::getInstance() { if (s_instance == nullptr) - s_instance = new GLProgramStateCache(); + s_instance = new (std::nothrow) GLProgramStateCache(); return s_instance; } diff --git a/cocos/renderer/CCRenderCommandPool.h b/cocos/renderer/CCRenderCommandPool.h index a90ef31f76..ccee61c5cc 100644 --- a/cocos/renderer/CCRenderCommandPool.h +++ b/cocos/renderer/CCRenderCommandPool.h @@ -84,7 +84,7 @@ private: void AllocateCommands() { static const int COMMANDS_ALLOCATE_BLOCK_SIZE = 32; - T* commands = new T[COMMANDS_ALLOCATE_BLOCK_SIZE]; + T* commands = new (std::nothrow) T[COMMANDS_ALLOCATE_BLOCK_SIZE]; _allocatedPoolBlocks.push_back(commands); for(int index = 0; index < COMMANDS_ALLOCATE_BLOCK_SIZE; ++index) { diff --git a/cocos/renderer/CCRenderer.cpp b/cocos/renderer/CCRenderer.cpp index 54d15f40bd..3618774fc5 100644 --- a/cocos/renderer/CCRenderer.cpp +++ b/cocos/renderer/CCRenderer.cpp @@ -119,7 +119,7 @@ Renderer::Renderer() ,_cacheTextureListener(nullptr) #endif { - _groupCommandManager = new GroupCommandManager(); + _groupCommandManager = new (std::nothrow) GroupCommandManager(); _commandGroupStack.push(DEFAULT_RENDER_QUEUE); diff --git a/cocos/renderer/CCTextureAtlas.cpp b/cocos/renderer/CCTextureAtlas.cpp index d6b1a7578c..b60c47bc92 100644 --- a/cocos/renderer/CCTextureAtlas.cpp +++ b/cocos/renderer/CCTextureAtlas.cpp @@ -120,7 +120,7 @@ void TextureAtlas::setQuads(V3F_C4B_T2F_Quad* quads) TextureAtlas * TextureAtlas::create(const std::string& file, ssize_t capacity) { - TextureAtlas * textureAtlas = new TextureAtlas(); + TextureAtlas * textureAtlas = new (std::nothrow) TextureAtlas(); if(textureAtlas && textureAtlas->initWithFile(file, capacity)) { textureAtlas->autorelease(); @@ -132,7 +132,7 @@ TextureAtlas * TextureAtlas::create(const std::string& file, ssize_t capacity) TextureAtlas * TextureAtlas::createWithTexture(Texture2D *texture, ssize_t capacity) { - TextureAtlas * textureAtlas = new TextureAtlas(); + TextureAtlas * textureAtlas = new (std::nothrow) TextureAtlas(); if (textureAtlas && textureAtlas->initWithTexture(texture, capacity)) { textureAtlas->autorelease(); diff --git a/cocos/renderer/CCTextureCache.cpp b/cocos/renderer/CCTextureCache.cpp index 582b913172..d80a14bc12 100644 --- a/cocos/renderer/CCTextureCache.cpp +++ b/cocos/renderer/CCTextureCache.cpp @@ -131,7 +131,7 @@ void TextureCache::addImageAsync(const std::string &path, const std::functionfilename; // generate image - image = new Image(); + image = new (std::nothrow) Image(); if (image && !image->initWithImageFileThreadSafe(filename)) { CC_SAFE_RELEASE(image); @@ -228,7 +228,7 @@ void TextureCache::loadImage() } // generate image info - ImageInfo *imageInfo = new ImageInfo(); + ImageInfo *imageInfo = new (std::nothrow) ImageInfo(); imageInfo->asyncStruct = asyncStruct; imageInfo->image = image; @@ -272,7 +272,7 @@ void TextureCache::addImageAsyncCallBack(float dt) if (image) { // generate texture in render thread - texture = new Texture2D(); + texture = new (std::nothrow) Texture2D(); texture->initWithImage(image); @@ -335,13 +335,13 @@ Texture2D * TextureCache::addImage(const std::string &path) // all images are handled by UIImage except PVR extension that is handled by our own handler do { - image = new Image(); + image = new (std::nothrow) Image(); CC_BREAK_IF(nullptr == image); bool bRet = image->initWithImageFile(fullpath); CC_BREAK_IF(!bRet); - texture = new Texture2D(); + texture = new (std::nothrow) Texture2D(); if( texture && texture->initWithImage(image) ) { @@ -379,7 +379,7 @@ Texture2D* TextureCache::addImage(Image *image, const std::string &key) } // prevents overloading the autorelease pool - texture = new Texture2D(); + texture = new (std::nothrow) Texture2D(); texture->initWithImage(image); if(texture) @@ -426,7 +426,7 @@ bool TextureCache::reloadTexture(const std::string& fileName) else { do { - Image* image = new Image(); + Image* image = new (std::nothrow) Image(); CC_BREAK_IF(nullptr == image); bool bRet = image->initWithImageFile(fullpath); @@ -630,7 +630,7 @@ VolatileTexture* VolatileTextureMgr::findVolotileTexture(Texture2D *tt) if (! vt) { - vt = new VolatileTexture(tt); + vt = new (std::nothrow) VolatileTexture(tt); _textures.push_back(vt); } @@ -723,7 +723,7 @@ void VolatileTextureMgr::reloadAllTextures() { case VolatileTexture::kImageFile: { - Image* image = new Image(); + Image* image = new (std::nothrow) Image(); Data data = FileUtils::getInstance()->getDataFromFile(vt->_fileName); diff --git a/cocos/scripting/lua-bindings/manual/CCLuaEngine.cpp b/cocos/scripting/lua-bindings/manual/CCLuaEngine.cpp index fa83d089cd..0cc0d2ba61 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaEngine.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaEngine.cpp @@ -41,7 +41,7 @@ LuaEngine* LuaEngine::getInstance(void) { if (!_defaultEngine) { - _defaultEngine = new LuaEngine(); + _defaultEngine = new (std::nothrow) LuaEngine(); _defaultEngine->init(); } return _defaultEngine; diff --git a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp index c1f5def686..6a4193e22c 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp @@ -153,7 +153,7 @@ LuaStack::~LuaStack() LuaStack *LuaStack::create(void) { - LuaStack *stack = new LuaStack(); + LuaStack *stack = new (std::nothrow) LuaStack(); stack->init(); stack->autorelease(); return stack; @@ -161,7 +161,7 @@ LuaStack *LuaStack::create(void) LuaStack *LuaStack::attach(lua_State *L) { - LuaStack *stack = new LuaStack(); + LuaStack *stack = new (std::nothrow) LuaStack(); stack->initWithLuaState(L); stack->autorelease(); return stack; diff --git a/cocos/scripting/lua-bindings/manual/CCLuaValue.cpp b/cocos/scripting/lua-bindings/manual/CCLuaValue.cpp index 1365ee6216..d55718787a 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaValue.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaValue.cpp @@ -72,7 +72,7 @@ const LuaValue LuaValue::dictValue(const LuaValueDict& dictValue) { LuaValue value; value._type = LuaValueTypeDict; - value._field.dictValue = new LuaValueDict(dictValue); + value._field.dictValue = new (std::nothrow) LuaValueDict(dictValue); return value; } @@ -80,7 +80,7 @@ const LuaValue LuaValue::arrayValue(const LuaValueArray& arrayValue) { LuaValue value; value._type = LuaValueTypeArray; - value._field.arrayValue = new LuaValueArray(arrayValue); + value._field.arrayValue = new (std::nothrow) LuaValueArray(arrayValue); return value; } @@ -141,11 +141,11 @@ void LuaValue::copy(const LuaValue& rhs) } else if (_type == LuaValueTypeDict) { - _field.dictValue = new LuaValueDict(*rhs._field.dictValue); + _field.dictValue = new (std::nothrow) LuaValueDict(*rhs._field.dictValue); } else if (_type == LuaValueTypeArray) { - _field.arrayValue = new LuaValueArray(*rhs._field.arrayValue); + _field.arrayValue = new (std::nothrow) LuaValueArray(*rhs._field.arrayValue); } else if (_type == LuaValueTypeObject) { diff --git a/cocos/scripting/lua-bindings/manual/cocos2d/LuaOpengl.cpp b/cocos/scripting/lua-bindings/manual/cocos2d/LuaOpengl.cpp index a1bf353acc..a43162ba5c 100644 --- a/cocos/scripting/lua-bindings/manual/cocos2d/LuaOpengl.cpp +++ b/cocos/scripting/lua-bindings/manual/cocos2d/LuaOpengl.cpp @@ -93,7 +93,7 @@ static int tolua_Cocos2d_GLNode_create00(lua_State* tolua_S) else #endif { - GLNode *glNode = new GLNode(); + GLNode *glNode = new (std::nothrow) GLNode(); if (NULL != glNode) { glNode->autorelease(); @@ -161,7 +161,7 @@ static int tolua_Cocos2d_glGetSupportedExtensions00(lua_State* tolua_S) { const GLubyte* extensions = glGetString(GL_EXTENSIONS); size_t len = strlen((const char*)extensions); - GLubyte* copy = new GLubyte[len+1]; + GLubyte* copy = new (std::nothrow) GLubyte[len+1]; strncpy((char*)copy, (const char*)extensions, len ); int start_extension=0; @@ -1879,7 +1879,7 @@ static int tolua_Cocos2d_glGetActiveAttrib00(lua_State* tolua_S) unsigned int arg1 = (unsigned int)tolua_tonumber(tolua_S, 2, 0); GLsizei length; glGetProgramiv(arg0, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &length); - GLchar* buffer = new GLchar[length]; + GLchar* buffer = new (std::nothrow) GLchar[length]; GLint size = -1; GLenum type = -1; glGetActiveAttrib(arg0, arg1, length, NULL, &size, &type, buffer); @@ -1918,7 +1918,7 @@ static int tolua_Cocos2d_glGetActiveUniform00(lua_State* tolua_S) unsigned int arg1 = (unsigned int)tolua_tonumber(tolua_S, 2, 0); GLsizei length; glGetProgramiv(arg0, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &length); - GLchar* buffer = new GLchar[length]; + GLchar* buffer = new (std::nothrow) GLchar[length]; GLint size = -1; GLenum type = -1; glGetActiveUniform(arg0, arg1, length, NULL, &size, &type, buffer); @@ -1955,7 +1955,7 @@ static int tolua_Cocos2d_glGetAttachedShaders00(lua_State* tolua_S) unsigned int arg0 = (unsigned int)tolua_tonumber(tolua_S, 1, 0); GLsizei length; glGetProgramiv(arg0, GL_ATTACHED_SHADERS, &length); - GLuint* buffer = new GLuint[length]; + GLuint* buffer = new (std::nothrow) GLuint[length]; memset(buffer, 0, length * sizeof(GLuint)); //Fix bug 2448, it seems that glGetAttachedShaders will crash if we send NULL to the third parameter (eg Windows), same as in JS binding GLsizei realShaderCount = 0; @@ -2051,7 +2051,7 @@ static int tolua_Cocos2d_glGetProgramInfoLog00(lua_State* tolua_S) unsigned int arg0 = (unsigned int)tolua_tonumber(tolua_S, 1, 0); GLsizei length; glGetProgramiv(arg0, GL_INFO_LOG_LENGTH, &length); - GLchar* src = new GLchar[length]; + GLchar* src = new (std::nothrow) GLchar[length]; glGetProgramInfoLog(arg0, length, NULL, src); lua_pushstring(tolua_S, src); CC_SAFE_DELETE_ARRAY(src); @@ -2112,7 +2112,7 @@ static int tolua_Cocos2d_glGetShaderInfoLog00(lua_State* tolua_S) unsigned int arg0 = (unsigned int)tolua_tonumber(tolua_S, 1, 0); GLsizei length; glGetShaderiv(arg0, GL_INFO_LOG_LENGTH, &length); - GLchar* src = new GLchar[length]; + GLchar* src = new (std::nothrow) GLchar[length]; glGetShaderInfoLog(arg0, length, NULL, src); lua_pushstring(tolua_S, src); CC_SAFE_DELETE_ARRAY(src); @@ -2143,7 +2143,7 @@ static int tolua_Cocos2d_glGetShaderSource00(lua_State* tolua_S) unsigned int arg0 = (unsigned int)tolua_tonumber(tolua_S, 1, 0); GLsizei length; glGetShaderiv(arg0, GL_SHADER_SOURCE_LENGTH, &length); - GLchar* src = new GLchar[length]; + GLchar* src = new (std::nothrow) GLchar[length]; glGetShaderSource(arg0, length, NULL, src); lua_pushstring(tolua_S, src); CC_SAFE_DELETE_ARRAY(src); @@ -2268,7 +2268,7 @@ static int tolua_Cocos2d_glGetUniformfv00(lua_State* tolua_S) GLsizei length; glGetProgramiv(arg0, GL_ACTIVE_UNIFORM_MAX_LENGTH, &length); - GLchar* namebuffer = new GLchar[length]; + GLchar* namebuffer = new (std::nothrow) GLchar[length]; GLint size = -1; GLenum type = -1; @@ -2334,7 +2334,7 @@ static int tolua_Cocos2d_glGetUniformfv00(lua_State* tolua_S) break; } if( utype == GL_FLOAT) { - GLfloat* param = new GLfloat[usize]; + GLfloat* param = new (std::nothrow) GLfloat[usize]; glGetUniformfv(arg0, arg1, param); lua_newtable(tolua_S); /* L: table */ @@ -2348,7 +2348,7 @@ static int tolua_Cocos2d_glGetUniformfv00(lua_State* tolua_S) CC_SAFE_DELETE_ARRAY(param); } else if( utype == GL_INT ) { - GLint* param = new GLint[usize]; + GLint* param = new (std::nothrow) GLint[usize]; glGetUniformiv(arg0, arg1, param); lua_newtable(tolua_S); /* L: table */ diff --git a/cocos/scripting/lua-bindings/manual/cocos2d/LuaScriptHandlerMgr.cpp b/cocos/scripting/lua-bindings/manual/cocos2d/LuaScriptHandlerMgr.cpp index 79819fb1c2..c9b8fbc342 100644 --- a/cocos/scripting/lua-bindings/manual/cocos2d/LuaScriptHandlerMgr.cpp +++ b/cocos/scripting/lua-bindings/manual/cocos2d/LuaScriptHandlerMgr.cpp @@ -39,7 +39,7 @@ NS_CC_BEGIN ScheduleHandlerDelegate* ScheduleHandlerDelegate::create() { - ScheduleHandlerDelegate *ret = new ScheduleHandlerDelegate(); + ScheduleHandlerDelegate *ret = new (std::nothrow) ScheduleHandlerDelegate(); if (NULL != ret ) { ret->autorelease(); @@ -65,7 +65,7 @@ void ScheduleHandlerDelegate::update(float elapse) LuaCallFunc * LuaCallFunc::create(const std::function& func) { - auto ret = new LuaCallFunc(); + auto ret = new (std::nothrow) LuaCallFunc(); if (ret && ret->initWithFunction(func) ) { ret->autorelease(); @@ -101,7 +101,7 @@ LuaCallFunc* LuaCallFunc::clone() const if (0 == handler) return NULL; - auto ret = new LuaCallFunc(); + auto ret = new (std::nothrow) LuaCallFunc(); if( _functionLua ) { @@ -132,7 +132,7 @@ ScriptHandlerMgr* ScriptHandlerMgr::getInstance() { if (NULL == _scriptHandlerMgr) { - _scriptHandlerMgr = new ScriptHandlerMgr(); + _scriptHandlerMgr = new (std::nothrow) ScriptHandlerMgr(); _scriptHandlerMgr->init(); } return _scriptHandlerMgr; diff --git a/cocos/scripting/lua-bindings/manual/cocos2d/lua_cocos2dx_manual.cpp b/cocos/scripting/lua-bindings/manual/cocos2d/lua_cocos2dx_manual.cpp index 9b1c757bf4..b700761f7e 100644 --- a/cocos/scripting/lua-bindings/manual/cocos2d/lua_cocos2dx_manual.cpp +++ b/cocos/scripting/lua-bindings/manual/cocos2d/lua_cocos2dx_manual.cpp @@ -1818,7 +1818,7 @@ static int tolua_cocos2d_CallFunc_create(lua_State* tolua_S) ref = luaL_ref(tolua_S, LUA_REGISTRYINDEX); hasExtraData = true; } - LuaCallFunc* tolua_ret = new LuaCallFunc(); + LuaCallFunc* tolua_ret = new (std::nothrow) LuaCallFunc(); tolua_ret->initWithFunction([=](void* self,Node* target){ int callbackHandler = ScriptHandlerMgr::getInstance()->getObjectHandler((void*)tolua_ret, ScriptHandlerMgr::HandlerType::CALLFUNC); @@ -2978,7 +2978,7 @@ static int tolua_cocos2dx_GLProgram_create(lua_State* tolua_S) std::string arg0_tmp; ok &= luaval_to_std_string(tolua_S, 2, &arg0_tmp, "cc.GLProgram:create"); arg0 = arg0_tmp.c_str(); std::string arg1_tmp; ok &= luaval_to_std_string(tolua_S, 3, &arg1_tmp, "cc.GLProgram:create"); arg1 = arg1_tmp.c_str(); - GLProgram* tolua_ret = new GLProgram(); + GLProgram* tolua_ret = new (std::nothrow) GLProgram(); if (nullptr == tolua_ret) return 0; @@ -3249,7 +3249,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWithMatrix2fv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLfloat[sizeof(GLfloat) * 4 * arg2]; + arg1 = new (std::nothrow) GLfloat[sizeof(GLfloat) * 4 * arg2]; if (nullptr == arg1) { CCLOG("Allocate matrixArry in the lua_cocos2dx_GLProgram_setUniformLocationWithMatrix2fv failed!"); @@ -3322,7 +3322,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWithMatrix3fv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLfloat[sizeof(GLfloat) * 9 * arg2]; + arg1 = new (std::nothrow) GLfloat[sizeof(GLfloat) * 9 * arg2]; if (nullptr == arg1) { CCLOG("Allocate matrixArry in the lua_cocos2dx_GLProgram_setUniformLocationWithMatrix3fv failed!"); @@ -3396,7 +3396,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWithMatrix4fv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLfloat[sizeof(GLfloat) * 16 * arg2]; + arg1 = new (std::nothrow) GLfloat[sizeof(GLfloat) * 16 * arg2]; if (nullptr == arg1) { CCLOG("Allocate matrixArry in the lua_cocos2dx_GLProgram_setUniformLocationWithMatrix4fv failed!"); @@ -3468,7 +3468,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWith3iv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLint[sizeof(GLint) * 3 * arg2]; + arg1 = new (std::nothrow) GLint[sizeof(GLint) * 3 * arg2]; if (nullptr == arg1) { CCLOG("Allocate intArray in the lua_cocos2dx_GLProgram_setUniformLocationWith3iv failed!"); @@ -3542,7 +3542,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWith4iv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLint[sizeof(GLint) * 4 * arg2]; + arg1 = new (std::nothrow) GLint[sizeof(GLint) * 4 * arg2]; if (nullptr == arg1) { CCLOG("Allocate intArray in the lua_cocos2dx_GLProgram_setUniformLocationWith4iv failed!"); @@ -3614,7 +3614,7 @@ int lua_cocos2dx_GLProgram_setUniformLocationWith2iv(lua_State* tolua_S) if (!tolua_istable(tolua_S, 3, 0, &tolua_err)) goto tolua_lerror; #endif - arg1 = new GLint[sizeof(GLint) * 2 * arg2]; + arg1 = new (std::nothrow) GLint[sizeof(GLint) * 2 * arg2]; if (nullptr == arg1) { CCLOG("Allocate intArray in the lua_cocos2dx_GLProgram_setUniformLocationWith2iv failed!"); @@ -4301,7 +4301,7 @@ static void extendParticleBatchNode(lua_State* tolua_S) NS_CC_BEGIN EventListenerAcceleration* LuaEventListenerAcceleration::create() { - EventListenerAcceleration* eventAcceleration = new EventListenerAcceleration(); + EventListenerAcceleration* eventAcceleration = new (std::nothrow) EventListenerAcceleration(); if (nullptr == eventAcceleration) return nullptr; @@ -4322,7 +4322,7 @@ EventListenerAcceleration* LuaEventListenerAcceleration::create() EventListenerCustom* LuaEventListenerCustom::create(const std::string& eventName) { - EventListenerCustom* eventCustom = new EventListenerCustom(); + EventListenerCustom* eventCustom = new (std::nothrow) EventListenerCustom(); if (nullptr == eventCustom) return nullptr; @@ -5934,7 +5934,7 @@ static int lua_cocos2dx_GLProgramState_setVertexAttribPointer(lua_State* tolua_S return 0; } - arg5 = new GLfloat[len]; + arg5 = new (std::nothrow) GLfloat[len]; for (int i = 0; i < len; i++) { lua_pushnumber(tolua_S,i + 1); diff --git a/cocos/scripting/lua-bindings/manual/cocosbuilder/CCBProxy.cpp b/cocos/scripting/lua-bindings/manual/cocosbuilder/CCBProxy.cpp index 89f5f08976..8269423292 100644 --- a/cocos/scripting/lua-bindings/manual/cocosbuilder/CCBProxy.cpp +++ b/cocos/scripting/lua-bindings/manual/cocosbuilder/CCBProxy.cpp @@ -28,7 +28,7 @@ CCBReader* CCBProxy::createCCBReader() { NodeLoaderLibrary *ccNodeLoaderLibrary = NodeLoaderLibrary::getInstance(); - CCBReader * pCCBReader = new CCBReader(ccNodeLoaderLibrary); + CCBReader * pCCBReader = new (std::nothrow) CCBReader(ccNodeLoaderLibrary); pCCBReader->autorelease(); return pCCBReader; diff --git a/cocos/scripting/lua-bindings/manual/cocostudio/lua_cocos2dx_coco_studio_manual.cpp b/cocos/scripting/lua-bindings/manual/cocostudio/lua_cocos2dx_coco_studio_manual.cpp index 6546582eec..a8bca1e5dc 100644 --- a/cocos/scripting/lua-bindings/manual/cocostudio/lua_cocos2dx_coco_studio_manual.cpp +++ b/cocos/scripting/lua-bindings/manual/cocostudio/lua_cocos2dx_coco_studio_manual.cpp @@ -100,7 +100,7 @@ static int lua_cocos2dx_ArmatureAnimation_setMovementEventCallFunc(lua_State* L) LUA_FUNCTION handler = ( toluafix_ref_function(L,2,0)); - LuaArmatureWrapper* wrapper = new LuaArmatureWrapper(); + LuaArmatureWrapper* wrapper = new (std::nothrow) LuaArmatureWrapper(); wrapper->autorelease(); Vector vec; @@ -169,7 +169,7 @@ static int lua_cocos2dx_ArmatureAnimation_setFrameEventCallFunc(lua_State* L) LUA_FUNCTION handler = ( toluafix_ref_function(L,2,0)); - LuaArmatureWrapper* wrapper = new LuaArmatureWrapper(); + LuaArmatureWrapper* wrapper = new (std::nothrow) LuaArmatureWrapper(); wrapper->autorelease(); Vector vec; @@ -253,7 +253,7 @@ static int lua_cocos2dx_ArmatureDataManager_addArmatureFileInfoAsyncCallFunc(lua const char* configFilePath = tolua_tostring(L, 2, ""); LUA_FUNCTION handler = ( toluafix_ref_function(L, 3, 0)); - LuaArmatureWrapper* wrapper = new LuaArmatureWrapper(); + LuaArmatureWrapper* wrapper = new (std::nothrow) LuaArmatureWrapper(); wrapper->autorelease(); ScriptHandlerMgr::getInstance()->addObjectHandler((void*)wrapper, handler, ScriptHandlerMgr::HandlerType::ARMATURE_EVENT); @@ -279,7 +279,7 @@ static int lua_cocos2dx_ArmatureDataManager_addArmatureFileInfoAsyncCallFunc(lua LUA_FUNCTION handler = ( toluafix_ref_function(L,5,0)); - LuaArmatureWrapper* wrapper = new LuaArmatureWrapper(); + LuaArmatureWrapper* wrapper = new (std::nothrow) LuaArmatureWrapper(); wrapper->autorelease(); ScriptHandlerMgr::getInstance()->addObjectHandler((void*)wrapper, handler, ScriptHandlerMgr::HandlerType::ARMATURE_EVENT); diff --git a/cocos/scripting/lua-bindings/manual/extension/lua_cocos2dx_extension_manual.cpp b/cocos/scripting/lua-bindings/manual/extension/lua_cocos2dx_extension_manual.cpp index ba262487bd..b2f2e1c8a8 100644 --- a/cocos/scripting/lua-bindings/manual/extension/lua_cocos2dx_extension_manual.cpp +++ b/cocos/scripting/lua-bindings/manual/extension/lua_cocos2dx_extension_manual.cpp @@ -96,7 +96,7 @@ static int tolua_cocos2dx_ScrollView_setDelegate(lua_State* tolua_S) if (0 == argc) { - LuaScrollViewDelegate* delegate = new LuaScrollViewDelegate(); + LuaScrollViewDelegate* delegate = new (std::nothrow) LuaScrollViewDelegate(); if (nullptr == delegate) return 0; @@ -538,7 +538,7 @@ static int lua_cocos2dx_AssetsManager_setDelegate(lua_State* L) LuaAssetsManagerDelegateProtocol* delegate = dynamic_cast( self->getDelegate()); if (nullptr == delegate) { - delegate = new LuaAssetsManagerDelegateProtocol(); + delegate = new (std::nothrow) LuaAssetsManagerDelegateProtocol(); if (nullptr == delegate) return 0; @@ -698,7 +698,7 @@ static int lua_cocos2dx_TableView_setDelegate(lua_State* L) if (0 == argc) { - LUA_TableViewDelegate* delegate = new LUA_TableViewDelegate(); + LUA_TableViewDelegate* delegate = new (std::nothrow) LUA_TableViewDelegate(); if (nullptr == delegate) return 0; @@ -835,7 +835,7 @@ static int lua_cocos2dx_TableView_setDataSource(lua_State* L) if (0 == argc) { - LUA_TableViewDataSource* dataSource = new LUA_TableViewDataSource(); + LUA_TableViewDataSource* dataSource = new (std::nothrow) LUA_TableViewDataSource(); if (nullptr == dataSource) return 0; @@ -886,7 +886,7 @@ static int lua_cocos2dx_TableView_create(lua_State* L) if (2 == argc || 1 == argc) { - LUA_TableViewDataSource* dataSource = new LUA_TableViewDataSource(); + LUA_TableViewDataSource* dataSource = new (std::nothrow) LUA_TableViewDataSource(); Size size; ok &= luaval_to_size(L, 2, &size, "cc.TableView:create"); diff --git a/cocos/scripting/lua-bindings/manual/network/Lua_web_socket.cpp b/cocos/scripting/lua-bindings/manual/network/Lua_web_socket.cpp index 9b2b3ac2b1..6ee7f1eddd 100644 --- a/cocos/scripting/lua-bindings/manual/network/Lua_web_socket.cpp +++ b/cocos/scripting/lua-bindings/manual/network/Lua_web_socket.cpp @@ -174,7 +174,7 @@ static int tolua_Cocos2d_WebSocket_create00(lua_State* tolua_S) #endif { const char* urlName = ((const char*) tolua_tostring(tolua_S,2,0)); - LuaWebSocket *wSocket = new LuaWebSocket(); + LuaWebSocket *wSocket = new (std::nothrow) LuaWebSocket(); wSocket->init(*wSocket, urlName); tolua_pushusertype(tolua_S,(void*)wSocket,"cc.WebSocket"); tolua_register_gc(tolua_S,lua_gettop(tolua_S)); @@ -208,7 +208,7 @@ static int tolua_Cocos2d_WebSocket_createByAProtocol00(lua_State* tolua_S) const char *protocol = ((const char*) tolua_tostring(tolua_S,3,0)); std::vector protocols; protocols.push_back(protocol); - LuaWebSocket *wSocket = new LuaWebSocket(); + LuaWebSocket *wSocket = new (std::nothrow) LuaWebSocket(); wSocket->init(*wSocket, urlName,&protocols); tolua_pushusertype(tolua_S,(void*)wSocket,"cc.WebSocket"); tolua_register_gc(tolua_S,lua_gettop(tolua_S)); @@ -251,7 +251,7 @@ static int tolua_Cocos2d_WebSocket_createByProtocolArray00(lua_State* tolua_S) } } } - LuaWebSocket *wSocket = new LuaWebSocket(); + LuaWebSocket *wSocket = new (std::nothrow) LuaWebSocket(); wSocket->init(*wSocket, urlName,&protocols); tolua_pushusertype(tolua_S,(void*)wSocket,"cc.WebSocket"); tolua_register_gc(tolua_S,lua_gettop(tolua_S)); diff --git a/cocos/scripting/lua-bindings/manual/network/lua_xml_http_request.cpp b/cocos/scripting/lua-bindings/manual/network/lua_xml_http_request.cpp index 38cde785ed..1056a570ed 100644 --- a/cocos/scripting/lua-bindings/manual/network/lua_xml_http_request.cpp +++ b/cocos/scripting/lua-bindings/manual/network/lua_xml_http_request.cpp @@ -279,7 +279,7 @@ static int lua_cocos2dx_XMLHttpRequest_constructor(lua_State* L) argc = lua_gettop(L)-1; if (argc == 0) { - self = new LuaMinXmlHttpRequest(); + self = new (std::nothrow) LuaMinXmlHttpRequest(); self->autorelease(); int ID = self? (int)self->_ID : -1; int* luaID = self? &self->_luaID : NULL; diff --git a/cocos/scripting/lua-bindings/manual/spine/LuaSkeletonAnimation.cpp b/cocos/scripting/lua-bindings/manual/spine/LuaSkeletonAnimation.cpp index 92cc7699bd..5620f3f892 100644 --- a/cocos/scripting/lua-bindings/manual/spine/LuaSkeletonAnimation.cpp +++ b/cocos/scripting/lua-bindings/manual/spine/LuaSkeletonAnimation.cpp @@ -109,7 +109,7 @@ LuaSkeletonAnimation::~LuaSkeletonAnimation() LuaSkeletonAnimation* LuaSkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - LuaSkeletonAnimation* node = new LuaSkeletonAnimation(skeletonDataFile, atlasFile, scale); + LuaSkeletonAnimation* node = new (std::nothrow) LuaSkeletonAnimation(skeletonDataFile, atlasFile, scale); node->autorelease(); return node; } diff --git a/cocos/ui/UIButton.cpp b/cocos/ui/UIButton.cpp index aebfd113d0..650231d0b4 100644 --- a/cocos/ui/UIButton.cpp +++ b/cocos/ui/UIButton.cpp @@ -84,7 +84,7 @@ Button::~Button() Button* Button::create() { - Button* widget = new Button(); + Button* widget = new (std::nothrow) Button(); if (widget && widget->init()) { widget->autorelease(); @@ -99,7 +99,7 @@ Button* Button::create(const std::string &normalImage, const std::string& disableImage, TextureResType texType) { - Button *btn = new Button; + Button *btn = new (std::nothrow) Button; if (btn && btn->init(normalImage,selectedImage,disableImage,texType)) { btn->autorelease(); return btn; diff --git a/cocos/ui/UICheckBox.cpp b/cocos/ui/UICheckBox.cpp index 9f2d933b0c..df244252a5 100644 --- a/cocos/ui/UICheckBox.cpp +++ b/cocos/ui/UICheckBox.cpp @@ -72,7 +72,7 @@ CheckBox::~CheckBox() CheckBox* CheckBox::create() { - CheckBox* widget = new CheckBox(); + CheckBox* widget = new (std::nothrow) CheckBox(); if (widget && widget->init()) { widget->autorelease(); @@ -89,7 +89,7 @@ CheckBox* CheckBox::create(const std::string& backGround, const std::string& frontCrossDisabled, TextureResType texType) { - CheckBox *pWidget = new CheckBox; + CheckBox *pWidget = new (std::nothrow) CheckBox; if (pWidget && pWidget->init(backGround, backGroundSeleted, cross, diff --git a/cocos/ui/UIHBox.cpp b/cocos/ui/UIHBox.cpp index 3a86416593..03ee3fc57e 100644 --- a/cocos/ui/UIHBox.cpp +++ b/cocos/ui/UIHBox.cpp @@ -38,7 +38,7 @@ HBox::~HBox() HBox* HBox::create() { - HBox* widget = new HBox(); + HBox* widget = new (std::nothrow) HBox(); if (widget && widget->init()) { widget->autorelease(); @@ -50,7 +50,7 @@ HBox* HBox::create() HBox* HBox::create(const cocos2d::Size &size) { - HBox* widget = new HBox(); + HBox* widget = new (std::nothrow) HBox(); if (widget && widget->initWithSize(size)) { widget->autorelease(); diff --git a/cocos/ui/UIImageView.cpp b/cocos/ui/UIImageView.cpp index 3df8706952..f51ca56904 100644 --- a/cocos/ui/UIImageView.cpp +++ b/cocos/ui/UIImageView.cpp @@ -54,7 +54,7 @@ ImageView::~ImageView() ImageView* ImageView::create(const std::string &imageFileName, TextureResType texType) { - ImageView *widget = new ImageView; + ImageView *widget = new (std::nothrow) ImageView; if (widget && widget->init(imageFileName, texType)) { widget->autorelease(); return widget; @@ -65,7 +65,7 @@ ImageView* ImageView::create(const std::string &imageFileName, TextureResType te ImageView* ImageView::create() { - ImageView* widget = new ImageView(); + ImageView* widget = new (std::nothrow) ImageView(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UILayout.cpp b/cocos/ui/UILayout.cpp index 105b4ef0df..322c4510e6 100644 --- a/cocos/ui/UILayout.cpp +++ b/cocos/ui/UILayout.cpp @@ -130,7 +130,7 @@ void Layout::onExit() Layout* Layout::create() { - Layout* layout = new Layout(); + Layout* layout = new (std::nothrow) Layout(); if (layout && layout->init()) { layout->autorelease(); diff --git a/cocos/ui/UILayoutManager.cpp b/cocos/ui/UILayoutManager.cpp index 928b40e9a8..c693f52539 100644 --- a/cocos/ui/UILayoutManager.cpp +++ b/cocos/ui/UILayoutManager.cpp @@ -31,7 +31,7 @@ namespace ui { LinearHorizontalLayoutManager* LinearHorizontalLayoutManager::create() { - LinearHorizontalLayoutManager* exe = new LinearHorizontalLayoutManager(); + LinearHorizontalLayoutManager* exe = new (std::nothrow) LinearHorizontalLayoutManager(); if (exe) { exe->autorelease(); @@ -88,7 +88,7 @@ void LinearHorizontalLayoutManager::doLayout(LayoutProtocol* layout) //LinearVerticalLayoutManager LinearVerticalLayoutManager* LinearVerticalLayoutManager::create() { - LinearVerticalLayoutManager* exe = new LinearVerticalLayoutManager(); + LinearVerticalLayoutManager* exe = new (std::nothrow) LinearVerticalLayoutManager(); if (exe) { exe->autorelease(); @@ -146,7 +146,7 @@ void LinearVerticalLayoutManager::doLayout(LayoutProtocol* layout) RelativeLayoutManager* RelativeLayoutManager::create() { - RelativeLayoutManager* exe = new RelativeLayoutManager(); + RelativeLayoutManager* exe = new (std::nothrow) RelativeLayoutManager(); if (exe) { exe->autorelease(); diff --git a/cocos/ui/UILayoutParameter.cpp b/cocos/ui/UILayoutParameter.cpp index c9990491a6..8c79c158ad 100644 --- a/cocos/ui/UILayoutParameter.cpp +++ b/cocos/ui/UILayoutParameter.cpp @@ -65,7 +65,7 @@ bool Margin::equals(const Margin &target) const LayoutParameter* LayoutParameter::create() { - LayoutParameter* parameter = new LayoutParameter(); + LayoutParameter* parameter = new (std::nothrow) LayoutParameter(); if (parameter) { parameter->autorelease(); @@ -109,7 +109,7 @@ void LayoutParameter::copyProperties(LayoutParameter *model) LinearLayoutParameter* LinearLayoutParameter::create() { - LinearLayoutParameter* parameter = new LinearLayoutParameter(); + LinearLayoutParameter* parameter = new (std::nothrow) LinearLayoutParameter(); if (parameter) { parameter->autorelease(); @@ -146,7 +146,7 @@ void LinearLayoutParameter::copyProperties(LayoutParameter *model) RelativeLayoutParameter* RelativeLayoutParameter::create() { - RelativeLayoutParameter* parameter = new RelativeLayoutParameter(); + RelativeLayoutParameter* parameter = new (std::nothrow) RelativeLayoutParameter(); if (parameter) { parameter->autorelease(); diff --git a/cocos/ui/UIListView.cpp b/cocos/ui/UIListView.cpp index ac1827dce2..2f05a2f6d0 100644 --- a/cocos/ui/UIListView.cpp +++ b/cocos/ui/UIListView.cpp @@ -54,7 +54,7 @@ ListView::~ListView() ListView* ListView::create() { - ListView* widget = new ListView(); + ListView* widget = new (std::nothrow) ListView(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UILoadingBar.cpp b/cocos/ui/UILoadingBar.cpp index 71f69ebea6..7337cd2e3f 100644 --- a/cocos/ui/UILoadingBar.cpp +++ b/cocos/ui/UILoadingBar.cpp @@ -56,7 +56,7 @@ LoadingBar::~LoadingBar() LoadingBar* LoadingBar::create() { - LoadingBar* widget = new LoadingBar(); + LoadingBar* widget = new (std::nothrow) LoadingBar(); if (widget && widget->init()) { widget->autorelease(); @@ -68,7 +68,7 @@ LoadingBar* LoadingBar::create() LoadingBar* LoadingBar::create(const std::string &textureName, float percentage) { - LoadingBar* widget = new LoadingBar; + LoadingBar* widget = new (std::nothrow) LoadingBar; if (widget && widget->init()) { widget->autorelease(); widget->loadTexture(textureName); diff --git a/cocos/ui/UIPageView.cpp b/cocos/ui/UIPageView.cpp index f7b98d22a5..11485d11ff 100644 --- a/cocos/ui/UIPageView.cpp +++ b/cocos/ui/UIPageView.cpp @@ -59,7 +59,7 @@ PageView::~PageView() PageView* PageView::create() { - PageView* widget = new PageView(); + PageView* widget = new (std::nothrow) PageView(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UIRelativeBox.cpp b/cocos/ui/UIRelativeBox.cpp index 55c74871b6..e0071a0ef9 100644 --- a/cocos/ui/UIRelativeBox.cpp +++ b/cocos/ui/UIRelativeBox.cpp @@ -38,7 +38,7 @@ RelativeBox::~RelativeBox() RelativeBox* RelativeBox::create() { - RelativeBox* widget = new RelativeBox(); + RelativeBox* widget = new (std::nothrow) RelativeBox(); if (widget && widget->init()) { widget->autorelease(); @@ -50,7 +50,7 @@ RelativeBox* RelativeBox::create() RelativeBox* RelativeBox::create(const cocos2d::Size &size) { - RelativeBox* widget = new RelativeBox(); + RelativeBox* widget = new (std::nothrow) RelativeBox(); if (widget && widget->initWithSize(size)) { widget->autorelease(); diff --git a/cocos/ui/UIRichText.cpp b/cocos/ui/UIRichText.cpp index e6d53993d2..20482f3d57 100644 --- a/cocos/ui/UIRichText.cpp +++ b/cocos/ui/UIRichText.cpp @@ -45,7 +45,7 @@ bool RichElement::init(int tag, const Color3B &color, GLubyte opacity) RichElementText* RichElementText::create(int tag, const Color3B &color, GLubyte opacity, const std::string& text, const std::string& fontName, float fontSize) { - RichElementText* element = new RichElementText(); + RichElementText* element = new (std::nothrow) RichElementText(); if (element && element->init(tag, color, opacity, text, fontName, fontSize)) { element->autorelease(); @@ -69,7 +69,7 @@ bool RichElementText::init(int tag, const Color3B &color, GLubyte opacity, const RichElementImage* RichElementImage::create(int tag, const Color3B &color, GLubyte opacity, const std::string& filePath) { - RichElementImage* element = new RichElementImage(); + RichElementImage* element = new (std::nothrow) RichElementImage(); if (element && element->init(tag, color, opacity, filePath)) { element->autorelease(); @@ -91,7 +91,7 @@ bool RichElementImage::init(int tag, const Color3B &color, GLubyte opacity, cons RichElementCustomNode* RichElementCustomNode::create(int tag, const Color3B &color, GLubyte opacity, cocos2d::Node *customNode) { - RichElementCustomNode* element = new RichElementCustomNode(); + RichElementCustomNode* element = new (std::nothrow) RichElementCustomNode(); if (element && element->init(tag, color, opacity, customNode)) { element->autorelease(); @@ -128,7 +128,7 @@ RichText::~RichText() RichText* RichText::create() { - RichText* widget = new RichText(); + RichText* widget = new (std::nothrow) RichText(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UIScale9Sprite.cpp b/cocos/ui/UIScale9Sprite.cpp index 26c268031a..5dea1d8e2f 100644 --- a/cocos/ui/UIScale9Sprite.cpp +++ b/cocos/ui/UIScale9Sprite.cpp @@ -459,7 +459,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file, rect, capInsets) ) { pReturn->autorelease(); @@ -477,7 +477,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file, rect) ) { pReturn->autorelease(); @@ -496,7 +496,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::create(const Rect& capInsets, const std::string& file) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(capInsets, file) ) { pReturn->autorelease(); @@ -515,7 +515,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::create(const std::string& file) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file) ) { pReturn->autorelease(); @@ -539,7 +539,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::createWithSpriteFrame(SpriteFrame* spriteFrame, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrame(spriteFrame, capInsets) ) { pReturn->autorelease(); @@ -557,7 +557,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::createWithSpriteFrame(SpriteFrame* spriteFrame) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrame(spriteFrame) ) { pReturn->autorelease(); @@ -582,7 +582,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName, capInsets) ) { pReturn->autorelease(); @@ -600,7 +600,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName) ) { pReturn->autorelease(); @@ -615,7 +615,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::resizableSpriteWithCapInsets(const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->init(_scale9Image, _spriteRect, capInsets) ) { pReturn->autorelease(); @@ -627,7 +627,7 @@ y+=ytranslate; \ Scale9Sprite* Scale9Sprite::create() { - Scale9Sprite *pReturn = new Scale9Sprite(); + Scale9Sprite *pReturn = new (std::nothrow) Scale9Sprite(); if (pReturn && pReturn->init()) { pReturn->autorelease(); diff --git a/cocos/ui/UIScrollView.cpp b/cocos/ui/UIScrollView.cpp index a9451fd813..7563dbce83 100644 --- a/cocos/ui/UIScrollView.cpp +++ b/cocos/ui/UIScrollView.cpp @@ -84,7 +84,7 @@ ScrollView::~ScrollView() ScrollView* ScrollView::create() { - ScrollView* widget = new ScrollView(); + ScrollView* widget = new (std::nothrow) ScrollView(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UISlider.cpp b/cocos/ui/UISlider.cpp index 08f06e293e..deed8ff55f 100644 --- a/cocos/ui/UISlider.cpp +++ b/cocos/ui/UISlider.cpp @@ -77,7 +77,7 @@ Slider::~Slider() Slider* Slider::create() { - Slider* widget = new Slider(); + Slider* widget = new (std::nothrow) Slider(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UIText.cpp b/cocos/ui/UIText.cpp index 894db64db4..1b58a47f41 100644 --- a/cocos/ui/UIText.cpp +++ b/cocos/ui/UIText.cpp @@ -54,7 +54,7 @@ Text::~Text() Text* Text::create() { - Text* widget = new Text(); + Text* widget = new (std::nothrow) Text(); if (widget && widget->init()) { widget->autorelease(); @@ -75,7 +75,7 @@ bool Text::init() Text* Text::create(const std::string &textContent, const std::string &fontName, int fontSize) { - Text *text = new Text; + Text *text = new (std::nothrow) Text; if (text && text->init(textContent, fontName, fontSize)) { text->autorelease(); return text; diff --git a/cocos/ui/UITextAtlas.cpp b/cocos/ui/UITextAtlas.cpp index 6419e7b11a..473dd966e1 100644 --- a/cocos/ui/UITextAtlas.cpp +++ b/cocos/ui/UITextAtlas.cpp @@ -51,7 +51,7 @@ TextAtlas::~TextAtlas() TextAtlas* TextAtlas::create() { - TextAtlas* widget = new TextAtlas(); + TextAtlas* widget = new (std::nothrow) TextAtlas(); if (widget && widget->init()) { widget->autorelease(); @@ -74,7 +74,7 @@ TextAtlas* TextAtlas::create(const std::string &stringValue, int itemHeight, const std::string &startCharMap) { - TextAtlas* widget = new TextAtlas(); + TextAtlas* widget = new (std::nothrow) TextAtlas(); if (widget && widget->init()) { widget->autorelease(); diff --git a/cocos/ui/UITextBMFont.cpp b/cocos/ui/UITextBMFont.cpp index 02ad64ea84..d8cfcf753f 100644 --- a/cocos/ui/UITextBMFont.cpp +++ b/cocos/ui/UITextBMFont.cpp @@ -49,7 +49,7 @@ TextBMFont::~TextBMFont() TextBMFont* TextBMFont::create() { - TextBMFont* widget = new TextBMFont(); + TextBMFont* widget = new (std::nothrow) TextBMFont(); if (widget && widget->init()) { widget->autorelease(); @@ -61,7 +61,7 @@ TextBMFont* TextBMFont::create() TextBMFont* TextBMFont::create(const std::string &text, const std::string &filename) { - TextBMFont* widget = new TextBMFont(); + TextBMFont* widget = new (std::nothrow) TextBMFont(); if (widget && widget->init()) { widget->setFntFile(filename); diff --git a/cocos/ui/UITextField.cpp b/cocos/ui/UITextField.cpp index 4bac5b186d..d3e25693c9 100644 --- a/cocos/ui/UITextField.cpp +++ b/cocos/ui/UITextField.cpp @@ -49,7 +49,7 @@ UICCTextField::~UICCTextField() UICCTextField * UICCTextField::create(const std::string& placeholder, const std::string& fontName, float fontSize) { - UICCTextField *pRet = new UICCTextField(); + UICCTextField *pRet = new (std::nothrow) UICCTextField(); if(pRet && pRet->initWithPlaceHolder("", fontName, fontSize)) { @@ -314,7 +314,7 @@ TextField::~TextField() TextField* TextField::create() { - TextField* widget = new TextField(); + TextField* widget = new (std::nothrow) TextField(); if (widget && widget->init()) { widget->autorelease(); @@ -326,7 +326,7 @@ TextField* TextField::create() TextField* TextField::create(const std::string &placeholder, const std::string &fontName, int fontSize) { - TextField* widget = new TextField(); + TextField* widget = new (std::nothrow) TextField(); if (widget && widget->init()) { widget->setPlaceHolder(placeholder); diff --git a/cocos/ui/UIVBox.cpp b/cocos/ui/UIVBox.cpp index 4491e7ccfd..b2251650f2 100644 --- a/cocos/ui/UIVBox.cpp +++ b/cocos/ui/UIVBox.cpp @@ -38,7 +38,7 @@ VBox::~VBox() VBox* VBox::create() { - VBox* widget = new VBox(); + VBox* widget = new (std::nothrow) VBox(); if (widget && widget->init()) { widget->autorelease(); @@ -50,7 +50,7 @@ VBox* VBox::create() VBox* VBox::create(const cocos2d::Size &size) { - VBox* widget = new VBox(); + VBox* widget = new (std::nothrow) VBox(); if (widget && widget->initWithSize(size)) { widget->autorelease(); diff --git a/cocos/ui/UIWidget.cpp b/cocos/ui/UIWidget.cpp index e62a1b6ea1..bc3f4d5cbe 100644 --- a/cocos/ui/UIWidget.cpp +++ b/cocos/ui/UIWidget.cpp @@ -188,7 +188,7 @@ void Widget::cleanupWidget() Widget* Widget::create() { - Widget* widget = new Widget(); + Widget* widget = new (std::nothrow) Widget(); if (widget && widget->init()) { widget->autorelease(); @@ -1259,7 +1259,7 @@ void Widget::enableDpadNavigation(bool enable) { if (nullptr == _focusNavigationController) { - _focusNavigationController = new FocusNavigationController; + _focusNavigationController = new (std::nothrow) FocusNavigationController; if (_focusedWidget) { _focusNavigationController->setFirstFocsuedWidget(_focusedWidget); } diff --git a/extensions/GUI/CCControlExtension/CCControl.cpp b/extensions/GUI/CCControlExtension/CCControl.cpp index 3975d514e0..417627191d 100644 --- a/extensions/GUI/CCControlExtension/CCControl.cpp +++ b/extensions/GUI/CCControlExtension/CCControl.cpp @@ -50,7 +50,7 @@ Control::Control() Control* Control::create() { - Control* pRet = new Control(); + Control* pRet = new (std::nothrow) Control(); if (pRet && pRet->init()) { pRet->autorelease(); @@ -264,7 +264,7 @@ Vector& Control::dispatchListforControlEvent(EventType controlEvent // If the invocation list does not exist for the dispatch table, we create it if (iter == _dispatchTable.end()) { - invocationList = new Vector(); + invocationList = new (std::nothrow) Vector(); _dispatchTable[(int)controlEvent] = invocationList; } else diff --git a/extensions/GUI/CCControlExtension/CCControlButton.cpp b/extensions/GUI/CCControlExtension/CCControlButton.cpp index 3a01b499bf..7ba6303d51 100644 --- a/extensions/GUI/CCControlExtension/CCControlButton.cpp +++ b/extensions/GUI/CCControlExtension/CCControlButton.cpp @@ -123,7 +123,7 @@ bool ControlButton::initWithLabelAndBackgroundSprite(Node* node, Scale9Sprite* b ControlButton* ControlButton::create(Node* label, Scale9Sprite* backgroundSprite) { - ControlButton *pRet = new ControlButton(); + ControlButton *pRet = new (std::nothrow) ControlButton(); pRet->initWithLabelAndBackgroundSprite(label, backgroundSprite); pRet->autorelease(); return pRet; @@ -136,7 +136,7 @@ bool ControlButton::initWithTitleAndFontNameAndFontSize(const std::string& title ControlButton* ControlButton::create(const std::string& title, const std::string& fontName, float fontSize) { - ControlButton *pRet = new ControlButton(); + ControlButton *pRet = new (std::nothrow) ControlButton(); pRet->initWithTitleAndFontNameAndFontSize(title, fontName, fontSize); pRet->autorelease(); return pRet; @@ -150,7 +150,7 @@ bool ControlButton::initWithBackgroundSprite(Scale9Sprite* sprite) ControlButton* ControlButton::create(Scale9Sprite* sprite) { - ControlButton *pRet = new ControlButton(); + ControlButton *pRet = new (std::nothrow) ControlButton(); pRet->initWithBackgroundSprite(sprite); pRet->autorelease(); return pRet; @@ -723,7 +723,7 @@ void ControlButton::onTouchCancelled(Touch *pTouch, Event *pEvent) ControlButton* ControlButton::create() { - ControlButton *pControlButton = new ControlButton(); + ControlButton *pControlButton = new (std::nothrow) ControlButton(); if (pControlButton && pControlButton->init()) { pControlButton->autorelease(); diff --git a/extensions/GUI/CCControlExtension/CCControlColourPicker.cpp b/extensions/GUI/CCControlExtension/CCControlColourPicker.cpp index 19978cfd65..bf58314a16 100644 --- a/extensions/GUI/CCControlExtension/CCControlColourPicker.cpp +++ b/extensions/GUI/CCControlExtension/CCControlColourPicker.cpp @@ -86,9 +86,9 @@ bool ControlColourPicker::init() float hueShift = 8; float colourShift = 28; - _huePicker = new ControlHuePicker(); + _huePicker = new (std::nothrow) ControlHuePicker(); _huePicker->initWithTargetAndPos(spriteSheet, Vec2(backgroundPointZero.x + hueShift, backgroundPointZero.y + hueShift)); - _colourPicker = new ControlSaturationBrightnessPicker(); + _colourPicker = new (std::nothrow) ControlSaturationBrightnessPicker(); _colourPicker->initWithTargetAndPos(spriteSheet, Vec2(backgroundPointZero.x + colourShift, backgroundPointZero.y + colourShift)); // Setup events @@ -110,7 +110,7 @@ bool ControlColourPicker::init() ControlColourPicker* ControlColourPicker::create() { - ControlColourPicker *pRet = new ControlColourPicker(); + ControlColourPicker *pRet = new (std::nothrow) ControlColourPicker(); pRet->init(); pRet->autorelease(); return pRet; diff --git a/extensions/GUI/CCControlExtension/CCControlHuePicker.cpp b/extensions/GUI/CCControlExtension/CCControlHuePicker.cpp index 96721a80b6..3fa4530c70 100644 --- a/extensions/GUI/CCControlExtension/CCControlHuePicker.cpp +++ b/extensions/GUI/CCControlExtension/CCControlHuePicker.cpp @@ -51,7 +51,7 @@ ControlHuePicker::~ControlHuePicker() ControlHuePicker* ControlHuePicker::create(Node* target, Vec2 pos) { - ControlHuePicker *pRet = new ControlHuePicker(); + ControlHuePicker *pRet = new (std::nothrow) ControlHuePicker(); pRet->initWithTargetAndPos(target, pos); pRet->autorelease(); return pRet; diff --git a/extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp b/extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp index b77cfeb9e8..6bbfcd1632 100644 --- a/extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp +++ b/extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp @@ -47,7 +47,7 @@ ControlPotentiometer::~ControlPotentiometer() ControlPotentiometer* ControlPotentiometer::create(const char* backgroundFile, const char* progressFile, const char* thumbFile) { - ControlPotentiometer* pRet = new ControlPotentiometer(); + ControlPotentiometer* pRet = new (std::nothrow) ControlPotentiometer(); if (pRet != nullptr) { // Prepare track for potentiometer diff --git a/extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp b/extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp index ade1f462d4..bea5cd2e3e 100644 --- a/extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp +++ b/extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp @@ -79,7 +79,7 @@ bool ControlSaturationBrightnessPicker::initWithTargetAndPos(Node* target, Vec2 ControlSaturationBrightnessPicker* ControlSaturationBrightnessPicker::create(Node* target, Vec2 pos) { - ControlSaturationBrightnessPicker *pRet = new ControlSaturationBrightnessPicker(); + ControlSaturationBrightnessPicker *pRet = new (std::nothrow) ControlSaturationBrightnessPicker(); pRet->initWithTargetAndPos(target, pos); pRet->autorelease(); return pRet; diff --git a/extensions/GUI/CCControlExtension/CCControlSlider.cpp b/extensions/GUI/CCControlExtension/CCControlSlider.cpp index 4e64f1e462..0cdb322c40 100644 --- a/extensions/GUI/CCControlExtension/CCControlSlider.cpp +++ b/extensions/GUI/CCControlExtension/CCControlSlider.cpp @@ -89,7 +89,7 @@ ControlSlider* ControlSlider::create(const char* bgFile, const char* progressFil ControlSlider* ControlSlider::create(Sprite * backgroundSprite, Sprite* pogressSprite, Sprite* thumbSprite) { - ControlSlider *pRet = new ControlSlider(); + ControlSlider *pRet = new (std::nothrow) ControlSlider(); pRet->initWithSprites(backgroundSprite, pogressSprite, thumbSprite); pRet->autorelease(); return pRet; @@ -98,7 +98,7 @@ ControlSlider* ControlSlider::create(Sprite * backgroundSprite, Sprite* pogressS ControlSlider* ControlSlider::create(Sprite * backgroundSprite, Sprite* pogressSprite, Sprite* thumbSprite, Sprite* selectedThumbSprite) { - ControlSlider *pRet = new ControlSlider(); + ControlSlider *pRet = new (std::nothrow) ControlSlider(); pRet->initWithSprites(backgroundSprite, pogressSprite, thumbSprite, selectedThumbSprite); pRet->autorelease(); return pRet; diff --git a/extensions/GUI/CCControlExtension/CCControlStepper.cpp b/extensions/GUI/CCControlExtension/CCControlStepper.cpp index dfb3a86564..9299bbb9bb 100644 --- a/extensions/GUI/CCControlExtension/CCControlStepper.cpp +++ b/extensions/GUI/CCControlExtension/CCControlStepper.cpp @@ -117,7 +117,7 @@ bool ControlStepper::initWithMinusSpriteAndPlusSprite(Sprite *minusSprite, Sprit ControlStepper* ControlStepper::create(Sprite *minusSprite, Sprite *plusSprite) { - ControlStepper* pRet = new ControlStepper(); + ControlStepper* pRet = new (std::nothrow) ControlStepper(); if (pRet != nullptr && pRet->initWithMinusSpriteAndPlusSprite(minusSprite, plusSprite)) { pRet->autorelease(); diff --git a/extensions/GUI/CCControlExtension/CCControlSwitch.cpp b/extensions/GUI/CCControlExtension/CCControlSwitch.cpp index 3f3aad0743..15fb384e34 100644 --- a/extensions/GUI/CCControlExtension/CCControlSwitch.cpp +++ b/extensions/GUI/CCControlExtension/CCControlSwitch.cpp @@ -129,7 +129,7 @@ ControlSwitchSprite* ControlSwitchSprite::create(Sprite *maskSprite, Label* onLabel, Label* offLabel) { - auto ret = new ControlSwitchSprite(); + auto ret = new (std::nothrow) ControlSwitchSprite(); ret->initWithMaskSprite(maskSprite, onSprite, offSprite, thumbSprite, onLabel, offLabel); ret->autorelease(); return ret; @@ -296,7 +296,7 @@ bool ControlSwitch::initWithMaskSprite(Sprite *maskSprite, Sprite * onSprite, Sp ControlSwitch* ControlSwitch::create(Sprite *maskSprite, Sprite * onSprite, Sprite * offSprite, Sprite * thumbSprite) { - ControlSwitch* pRet = new ControlSwitch(); + ControlSwitch* pRet = new (std::nothrow) ControlSwitch(); if (pRet && pRet->initWithMaskSprite(maskSprite, onSprite, offSprite, thumbSprite, nullptr, nullptr)) { pRet->autorelease(); @@ -339,7 +339,7 @@ bool ControlSwitch::initWithMaskSprite(Sprite *maskSprite, Sprite * onSprite, Sp ControlSwitch* ControlSwitch::create(Sprite *maskSprite, Sprite * onSprite, Sprite * offSprite, Sprite * thumbSprite, Label* onLabel, Label* offLabel) { - ControlSwitch* pRet = new ControlSwitch(); + ControlSwitch* pRet = new (std::nothrow) ControlSwitch(); if (pRet && pRet->initWithMaskSprite(maskSprite, onSprite, offSprite, thumbSprite, onLabel, offLabel)) { pRet->autorelease(); diff --git a/extensions/GUI/CCControlExtension/CCInvocation.cpp b/extensions/GUI/CCControlExtension/CCInvocation.cpp index f105392831..f257ff1196 100644 --- a/extensions/GUI/CCControlExtension/CCInvocation.cpp +++ b/extensions/GUI/CCControlExtension/CCInvocation.cpp @@ -30,7 +30,7 @@ NS_CC_EXT_BEGIN Invocation* Invocation::create(Ref* target, Control::Handler action, Control::EventType controlEvent) { - Invocation* pRet = new Invocation(target, action, controlEvent); + Invocation* pRet = new (std::nothrow) Invocation(target, action, controlEvent); if (pRet != nullptr) { pRet->autorelease(); diff --git a/extensions/GUI/CCControlExtension/CCScale9Sprite.cpp b/extensions/GUI/CCControlExtension/CCScale9Sprite.cpp index 099b1f128b..51f98a350a 100644 --- a/extensions/GUI/CCControlExtension/CCScale9Sprite.cpp +++ b/extensions/GUI/CCControlExtension/CCScale9Sprite.cpp @@ -453,7 +453,7 @@ bool Scale9Sprite::initWithFile(const std::string& file, const Rect& rect, cons Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file, rect, capInsets) ) { pReturn->autorelease(); @@ -471,7 +471,7 @@ bool Scale9Sprite::initWithFile(const std::string& file, const Rect& rect) Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file, rect) ) { pReturn->autorelease(); @@ -490,7 +490,7 @@ bool Scale9Sprite::initWithFile(const Rect& capInsets, const std::string& file) Scale9Sprite* Scale9Sprite::create(const Rect& capInsets, const std::string& file) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(capInsets, file) ) { pReturn->autorelease(); @@ -509,7 +509,7 @@ bool Scale9Sprite::initWithFile(const std::string& file) Scale9Sprite* Scale9Sprite::create(const std::string& file) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithFile(file) ) { pReturn->autorelease(); @@ -533,7 +533,7 @@ bool Scale9Sprite::initWithSpriteFrame(SpriteFrame* spriteFrame, const Rect& cap Scale9Sprite* Scale9Sprite::createWithSpriteFrame(SpriteFrame* spriteFrame, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrame(spriteFrame, capInsets) ) { pReturn->autorelease(); @@ -551,7 +551,7 @@ bool Scale9Sprite::initWithSpriteFrame(SpriteFrame* spriteFrame) Scale9Sprite* Scale9Sprite::createWithSpriteFrame(SpriteFrame* spriteFrame) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrame(spriteFrame) ) { pReturn->autorelease(); @@ -576,7 +576,7 @@ bool Scale9Sprite::initWithSpriteFrameName(const std::string& spriteFrameName, c Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName, capInsets) ) { pReturn->autorelease(); @@ -594,7 +594,7 @@ bool Scale9Sprite::initWithSpriteFrameName(const std::string& spriteFrameName) Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName) ) { pReturn->autorelease(); @@ -609,7 +609,7 @@ Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteF Scale9Sprite* Scale9Sprite::resizableSpriteWithCapInsets(const Rect& capInsets) { - Scale9Sprite* pReturn = new Scale9Sprite(); + Scale9Sprite* pReturn = new (std::nothrow) Scale9Sprite(); if ( pReturn && pReturn->initWithBatchNode(_scale9Image, _spriteRect, capInsets) ) { pReturn->autorelease(); @@ -621,7 +621,7 @@ Scale9Sprite* Scale9Sprite::resizableSpriteWithCapInsets(const Rect& capInsets) Scale9Sprite* Scale9Sprite::create() { - Scale9Sprite *pReturn = new Scale9Sprite(); + Scale9Sprite *pReturn = new (std::nothrow) Scale9Sprite(); if (pReturn && pReturn->init()) { pReturn->autorelease(); diff --git a/extensions/GUI/CCEditBox/CCEditBox.cpp b/extensions/GUI/CCEditBox/CCEditBox.cpp index 97c34951c7..bbb42be42d 100644 --- a/extensions/GUI/CCEditBox/CCEditBox.cpp +++ b/extensions/GUI/CCEditBox/CCEditBox.cpp @@ -64,7 +64,7 @@ void EditBox::touchDownAction(Ref *sender, Control::EventType controlEvent) EditBox* EditBox::create(const Size& size, Scale9Sprite* pNormal9SpriteBg, Scale9Sprite* pPressed9SpriteBg/* = nullptr*/, Scale9Sprite* pDisabled9SpriteBg/* = nullptr*/) { - EditBox* pRet = new EditBox(); + EditBox* pRet = new (std::nothrow) EditBox(); if (pRet != nullptr && pRet->initWithSizeAndBackgroundSprite(size, pNormal9SpriteBg)) { diff --git a/extensions/GUI/CCScrollView/CCScrollView.cpp b/extensions/GUI/CCScrollView/CCScrollView.cpp index e6b851a65f..060c1ad31e 100644 --- a/extensions/GUI/CCScrollView/CCScrollView.cpp +++ b/extensions/GUI/CCScrollView/CCScrollView.cpp @@ -75,7 +75,7 @@ ScrollView::~ScrollView() ScrollView* ScrollView::create(Size size, Node* container/* = nullptr*/) { - ScrollView* pRet = new ScrollView(); + ScrollView* pRet = new (std::nothrow) ScrollView(); if (pRet && pRet->initWithViewSize(size, container)) { pRet->autorelease(); @@ -89,7 +89,7 @@ ScrollView* ScrollView::create(Size size, Node* container/* = nullptr*/) ScrollView* ScrollView::create() { - ScrollView* pRet = new ScrollView(); + ScrollView* pRet = new (std::nothrow) ScrollView(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/extensions/GUI/CCScrollView/CCTableView.cpp b/extensions/GUI/CCScrollView/CCTableView.cpp index 7a443cc549..edb9924b95 100644 --- a/extensions/GUI/CCScrollView/CCTableView.cpp +++ b/extensions/GUI/CCScrollView/CCTableView.cpp @@ -40,7 +40,7 @@ TableView* TableView::create(TableViewDataSource* dataSource, Size size) TableView* TableView::create(TableViewDataSource* dataSource, Size size, Node *container) { - TableView *table = new TableView(); + TableView *table = new (std::nothrow) TableView(); table->initWithViewSize(size, container); table->autorelease(); table->setDataSource(dataSource); diff --git a/extensions/assets-manager/AssetsManager.cpp b/extensions/assets-manager/AssetsManager.cpp index 06df43b5a2..bed33101ad 100644 --- a/extensions/assets-manager/AssetsManager.cpp +++ b/extensions/assets-manager/AssetsManager.cpp @@ -624,8 +624,8 @@ AssetsManager* AssetsManager::create(const char* packageUrl, const char* version SuccessCallback successCallback; }; - auto* manager = new AssetsManager(packageUrl,versionFileUrl,storagePath); - auto* delegate = new DelegateProtocolImpl(errorCallback,progressCallback,successCallback); + auto* manager = new (std::nothrow) AssetsManager(packageUrl,versionFileUrl,storagePath); + auto* delegate = new (std::nothrow) DelegateProtocolImpl(errorCallback,progressCallback,successCallback); manager->setDelegate(delegate); manager->_shouldDeleteDelegateWhenExit = true; manager->autorelease(); diff --git a/extensions/physics-nodes/CCPhysicsDebugNode.cpp b/extensions/physics-nodes/CCPhysicsDebugNode.cpp index 2fbc2c4fb9..0d7d502184 100644 --- a/extensions/physics-nodes/CCPhysicsDebugNode.cpp +++ b/extensions/physics-nodes/CCPhysicsDebugNode.cpp @@ -71,7 +71,7 @@ static Vec2 cpVert2Point(const cpVect &vert) static Vec2* cpVertArray2ccpArrayN(const cpVect* cpVertArray, unsigned int count) { if (count == 0) return nullptr; - Vec2* pPoints = new Vec2[count]; + Vec2* pPoints = new (std::nothrow) Vec2[count]; for (unsigned int i = 0; i < count; ++i) { @@ -205,7 +205,7 @@ PhysicsDebugNode::PhysicsDebugNode() PhysicsDebugNode* PhysicsDebugNode::create(cpSpace *space) { - PhysicsDebugNode *node = new PhysicsDebugNode(); + PhysicsDebugNode *node = new (std::nothrow) PhysicsDebugNode(); if (node) { node->init(); diff --git a/extensions/physics-nodes/CCPhysicsSprite.cpp b/extensions/physics-nodes/CCPhysicsSprite.cpp index a335a1b385..e5b631fa33 100644 --- a/extensions/physics-nodes/CCPhysicsSprite.cpp +++ b/extensions/physics-nodes/CCPhysicsSprite.cpp @@ -43,7 +43,7 @@ PhysicsSprite::PhysicsSprite() PhysicsSprite* PhysicsSprite::create() { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->init()) { pRet->autorelease(); @@ -58,7 +58,7 @@ PhysicsSprite* PhysicsSprite::create() PhysicsSprite* PhysicsSprite::createWithTexture(Texture2D *pTexture) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithTexture(pTexture)) { pRet->autorelease(); @@ -73,7 +73,7 @@ PhysicsSprite* PhysicsSprite::createWithTexture(Texture2D *pTexture) PhysicsSprite* PhysicsSprite::createWithTexture(Texture2D *pTexture, const Rect& rect) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithTexture(pTexture, rect)) { pRet->autorelease(); @@ -88,7 +88,7 @@ PhysicsSprite* PhysicsSprite::createWithTexture(Texture2D *pTexture, const Rect& PhysicsSprite* PhysicsSprite::createWithSpriteFrame(SpriteFrame *pSpriteFrame) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithSpriteFrame(pSpriteFrame)) { pRet->autorelease(); @@ -103,7 +103,7 @@ PhysicsSprite* PhysicsSprite::createWithSpriteFrame(SpriteFrame *pSpriteFrame) PhysicsSprite* PhysicsSprite::createWithSpriteFrameName(const char *pszSpriteFrameName) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithSpriteFrameName(pszSpriteFrameName)) { pRet->autorelease(); @@ -118,7 +118,7 @@ PhysicsSprite* PhysicsSprite::createWithSpriteFrameName(const char *pszSpriteFra PhysicsSprite* PhysicsSprite::create(const char *pszFileName) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithFile(pszFileName)) { pRet->autorelease(); @@ -133,7 +133,7 @@ PhysicsSprite* PhysicsSprite::create(const char *pszFileName) PhysicsSprite* PhysicsSprite::create(const char *pszFileName, const Rect& rect) { - PhysicsSprite* pRet = new PhysicsSprite(); + PhysicsSprite* pRet = new (std::nothrow) PhysicsSprite(); if (pRet && pRet->initWithFile(pszFileName, rect)) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/ActionManagerTest/ActionManagerTest.cpp b/tests/cpp-tests/Classes/ActionManagerTest/ActionManagerTest.cpp index 9f3943f535..ac20fe6300 100644 --- a/tests/cpp-tests/Classes/ActionManagerTest/ActionManagerTest.cpp +++ b/tests/cpp-tests/Classes/ActionManagerTest/ActionManagerTest.cpp @@ -87,7 +87,7 @@ std::string ActionManagerTest::subtitle() const } void ActionManagerTest::restartCallback(Ref* sender) { - auto s = new ActionManagerTestScene(); + auto s = new (std::nothrow) ActionManagerTestScene(); s->addChild(restartActionManagerAction()); Director::getInstance()->replaceScene(s); @@ -96,7 +96,7 @@ void ActionManagerTest::restartCallback(Ref* sender) void ActionManagerTest::nextCallback(Ref* sender) { - auto s = new ActionManagerTestScene(); + auto s = new (std::nothrow) ActionManagerTestScene(); s->addChild( nextActionManagerAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -104,7 +104,7 @@ void ActionManagerTest::nextCallback(Ref* sender) void ActionManagerTest::backCallback(Ref* sender) { - auto s = new ActionManagerTestScene(); + auto s = new (std::nothrow) ActionManagerTestScene(); s->addChild( backActionManagerAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ActionsEaseTest/ActionsEaseTest.cpp b/tests/cpp-tests/Classes/ActionsEaseTest/ActionsEaseTest.cpp index 83232ee376..9ccf65c26f 100644 --- a/tests/cpp-tests/Classes/ActionsEaseTest/ActionsEaseTest.cpp +++ b/tests/cpp-tests/Classes/ActionsEaseTest/ActionsEaseTest.cpp @@ -1097,7 +1097,7 @@ void EaseSpriteDemo::onEnter() void EaseSpriteDemo::restartCallback(Ref* sender) { - auto s = new ActionsEaseTestScene();//CCScene::create(); + auto s = new (std::nothrow) ActionsEaseTestScene();//CCScene::create(); s->addChild(restartEaseAction()); Director::getInstance()->replaceScene(s); @@ -1106,7 +1106,7 @@ void EaseSpriteDemo::restartCallback(Ref* sender) void EaseSpriteDemo::nextCallback(Ref* sender) { - auto s = new ActionsEaseTestScene();//CCScene::create(); + auto s = new (std::nothrow) ActionsEaseTestScene();//CCScene::create(); s->addChild( nextEaseAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1114,7 +1114,7 @@ void EaseSpriteDemo::nextCallback(Ref* sender) void EaseSpriteDemo::backCallback(Ref* sender) { - auto s = new ActionsEaseTestScene();//CCScene::create(); + auto s = new (std::nothrow) ActionsEaseTestScene();//CCScene::create(); s->addChild( backEaseAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ActionsProgressTest/ActionsProgressTest.cpp b/tests/cpp-tests/Classes/ActionsProgressTest/ActionsProgressTest.cpp index 2b83ab8e3b..8ae4b81989 100644 --- a/tests/cpp-tests/Classes/ActionsProgressTest/ActionsProgressTest.cpp +++ b/tests/cpp-tests/Classes/ActionsProgressTest/ActionsProgressTest.cpp @@ -123,7 +123,7 @@ void SpriteDemo::onEnter() void SpriteDemo::restartCallback(Ref* sender) { - auto s = new ProgressActionsTestScene(); + auto s = new (std::nothrow) ProgressActionsTestScene(); s->addChild(restartAction()); Director::getInstance()->replaceScene(s); @@ -132,7 +132,7 @@ void SpriteDemo::restartCallback(Ref* sender) void SpriteDemo::nextCallback(Ref* sender) { - auto s = new ProgressActionsTestScene(); + auto s = new (std::nothrow) ProgressActionsTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -140,7 +140,7 @@ void SpriteDemo::nextCallback(Ref* sender) void SpriteDemo::backCallback(Ref* sender) { - auto s = new ProgressActionsTestScene(); + auto s = new (std::nothrow) ProgressActionsTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ActionsTest/ActionsTest.cpp b/tests/cpp-tests/Classes/ActionsTest/ActionsTest.cpp index 6a3dcf8813..dc97e9b53b 100644 --- a/tests/cpp-tests/Classes/ActionsTest/ActionsTest.cpp +++ b/tests/cpp-tests/Classes/ActionsTest/ActionsTest.cpp @@ -167,7 +167,7 @@ void ActionsDemo::onExit() void ActionsDemo::restartCallback(Ref* sender) { - auto s = new ActionsTestScene(); + auto s = new (std::nothrow) ActionsTestScene(); s->addChild( restartAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -175,7 +175,7 @@ void ActionsDemo::restartCallback(Ref* sender) void ActionsDemo::nextCallback(Ref* sender) { - auto s = new ActionsTestScene(); + auto s = new (std::nothrow) ActionsTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -183,7 +183,7 @@ void ActionsDemo::nextCallback(Ref* sender) void ActionsDemo::backCallback(Ref* sender) { - auto s = new ActionsTestScene(); + auto s = new (std::nothrow) ActionsTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/AppDelegate.cpp b/tests/cpp-tests/Classes/AppDelegate.cpp index fdfb12d7b8..a35cccdbc2 100644 --- a/tests/cpp-tests/Classes/AppDelegate.cpp +++ b/tests/cpp-tests/Classes/AppDelegate.cpp @@ -123,7 +123,7 @@ bool AppDelegate::applicationDidFinishLaunching() #endif auto scene = Scene::create(); - auto layer = new TestController(); + auto layer = new (std::nothrow) TestController(); #if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8) && (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT) layer->addConsoleAutoTest(); #endif diff --git a/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp b/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp index 55acd668e8..4c3813ba5f 100644 --- a/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp +++ b/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp @@ -78,7 +78,7 @@ void Box2DTestLayer::initPhysics() world->SetContinuousPhysics(true); -// _debugDraw = new GLESDebugDraw( PTM_RATIO ); +// _debugDraw = new (std::nothrow) GLESDebugDraw( PTM_RATIO ); // world->SetDebugDraw(_debugDraw); uint32 flags = 0; @@ -122,8 +122,8 @@ void Box2DTestLayer::initPhysics() void Box2DTestLayer::createResetButton() { auto reset = MenuItemImage::create("Images/r1.png", "Images/r2.png", [](Ref *sender) { - auto s = new Box2DTestScene(); - auto child = new Box2DTestLayer(); + auto s = new (std::nothrow) Box2DTestScene(); + auto child = new (std::nothrow) Box2DTestLayer(); s->addChild(child); child->release(); Director::getInstance()->replaceScene(s); @@ -269,7 +269,7 @@ void Box2DTestLayer::accelerometer(UIAccelerometer* accelerometer, Acceleration* void Box2DTestScene::runThisTest() { - auto layer = new Box2DTestLayer(); + auto layer = new (std::nothrow) Box2DTestLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/Box2DTestBed/Box2dView.cpp b/tests/cpp-tests/Classes/Box2DTestBed/Box2dView.cpp index 1c815f3341..d512d93594 100644 --- a/tests/cpp-tests/Classes/Box2DTestBed/Box2dView.cpp +++ b/tests/cpp-tests/Classes/Box2DTestBed/Box2dView.cpp @@ -39,7 +39,7 @@ MenuLayer::~MenuLayer(void) MenuLayer* MenuLayer::menuWithEntryID(int entryId) { - auto layer = new MenuLayer(); + auto layer = new (std::nothrow) MenuLayer(); layer->initWithEntryID(entryId); layer->autorelease(); @@ -92,7 +92,7 @@ bool MenuLayer::initWithEntryID(int entryId) void MenuLayer::restartCallback(Ref* sender) { - auto s = new Box2dTestBedScene(); + auto s = new (std::nothrow) Box2dTestBedScene(); auto box = MenuLayer::menuWithEntryID(m_entryID); s->addChild( box ); Director::getInstance()->replaceScene( s ); @@ -101,7 +101,7 @@ void MenuLayer::restartCallback(Ref* sender) void MenuLayer::nextCallback(Ref* sender) { - auto s = new Box2dTestBedScene(); + auto s = new (std::nothrow) Box2dTestBedScene(); int next = m_entryID + 1; if( next >= g_totalEntries) next = 0; @@ -113,7 +113,7 @@ void MenuLayer::nextCallback(Ref* sender) void MenuLayer::backCallback(Ref* sender) { - auto s = new Box2dTestBedScene(); + auto s = new (std::nothrow) Box2dTestBedScene(); int next = m_entryID - 1; if( next < 0 ) { next = g_totalEntries - 1; @@ -164,7 +164,7 @@ Box2DView::Box2DView(void) Box2DView* Box2DView::viewWithEntryID(int entryId) { - Box2DView* pView = new Box2DView(); + Box2DView* pView = new (std::nothrow) Box2DView(); pView->initWithEntryID(entryId); pView->autorelease(); diff --git a/tests/cpp-tests/Classes/Box2DTestBed/GLES-Render.cpp b/tests/cpp-tests/Classes/Box2DTestBed/GLES-Render.cpp index 7996fd737e..4f9246206c 100644 --- a/tests/cpp-tests/Classes/Box2DTestBed/GLES-Render.cpp +++ b/tests/cpp-tests/Classes/Box2DTestBed/GLES-Render.cpp @@ -107,7 +107,7 @@ void GLESDebugDraw::DrawCircle(const b2Vec2& center, float32 radius, const b2Col const float32 k_increment = 2.0f * b2_pi / k_segments; float32 theta = 0.0f; - GLfloat* glVertices = new GLfloat[vertexCount*2]; + GLfloat* glVertices = new (std::nothrow) GLfloat[vertexCount*2]; for (int i = 0; i < k_segments; ++i) { b2Vec2 v = center + radius * b2Vec2(cosf(theta), sinf(theta)); @@ -138,7 +138,7 @@ void GLESDebugDraw::DrawSolidCircle(const b2Vec2& center, float32 radius, const const float32 k_increment = 2.0f * b2_pi / k_segments; float32 theta = 0.0f; - GLfloat* glVertices = new GLfloat[vertexCount*2]; + GLfloat* glVertices = new (std::nothrow) GLfloat[vertexCount*2]; for (int i = 0; i < k_segments; ++i) { b2Vec2 v = center + radius * b2Vec2(cosf(theta), sinf(theta)); diff --git a/tests/cpp-tests/Classes/BugsTest/Bug-458/Bug-458.cpp b/tests/cpp-tests/Classes/BugsTest/Bug-458/Bug-458.cpp index b8fa720c69..d0493b6aa1 100644 --- a/tests/cpp-tests/Classes/BugsTest/Bug-458/Bug-458.cpp +++ b/tests/cpp-tests/Classes/BugsTest/Bug-458/Bug-458.cpp @@ -13,8 +13,8 @@ bool Bug458Layer::init() // ask director the the window size auto size = Director::getInstance()->getWinSize(); - auto question = new QuestionContainerSprite(); - auto question2 = new QuestionContainerSprite(); + auto question = new (std::nothrow) QuestionContainerSprite(); + auto question2 = new (std::nothrow) QuestionContainerSprite(); question->init(); question2->init(); diff --git a/tests/cpp-tests/Classes/BugsTest/BugsTest.cpp b/tests/cpp-tests/Classes/BugsTest/BugsTest.cpp index aee50d9cee..f905e1f558 100644 --- a/tests/cpp-tests/Classes/BugsTest/BugsTest.cpp +++ b/tests/cpp-tests/Classes/BugsTest/BugsTest.cpp @@ -13,7 +13,7 @@ #define TEST_BUG(__bug__) \ { \ Scene* scene = Scene::create(); \ - Bug##__bug__##Layer* layer = new Bug##__bug__##Layer(); \ + Bug##__bug__##Layer* layer = new (std::nothrow) Bug##__bug__##Layer(); \ layer->init(); \ scene->addChild(layer); \ Director::getInstance()->replaceScene(scene); \ @@ -128,7 +128,7 @@ void BugsTestBaseLayer::onEnter() void BugsTestBaseLayer::backCallback(Ref* sender) { // Director::getInstance()->enableRetinaDisplay(false); - auto scene = new BugsTestScene(); + auto scene = new (std::nothrow) BugsTestScene(); scene->runThisTest(); scene->autorelease(); } @@ -140,7 +140,7 @@ void BugsTestBaseLayer::backCallback(Ref* sender) //////////////////////////////////////////////////////// void BugsTestScene::runThisTest() { - auto layer = new BugsTestMainLayer(); + auto layer = new (std::nothrow) BugsTestMainLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp index 6754895447..195eab87f6 100644 --- a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp +++ b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp @@ -82,7 +82,7 @@ private: DrawLine3D* DrawLine3D::create() { - auto ret = new DrawLine3D(); + auto ret = new (std::nothrow) DrawLine3D(); if (ret && ret->init()) return ret; CC_SAFE_DELETE(ret); @@ -328,7 +328,7 @@ void Camera3DTestDemo::onExit() void Camera3DTestDemo::restartCallback(Ref* sender) { - auto s = new Camera3DTestScene(); + auto s = new (std::nothrow) Camera3DTestScene(); s->addChild(restartSpriteTestAction()); Director::getInstance()->replaceScene(s); @@ -337,14 +337,14 @@ void Camera3DTestDemo::restartCallback(Ref* sender) void Camera3DTestDemo::nextCallback(Ref* sender) { - auto s = new Camera3DTestScene(); + auto s = new (std::nothrow) Camera3DTestScene(); s->addChild( nextSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); } void Camera3DTestDemo::backCallback(Ref* sender) { - auto s = new Camera3DTestScene(); + auto s = new (std::nothrow) Camera3DTestScene(); s->addChild( backSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ChipmunkTest/ChipmunkTest.cpp b/tests/cpp-tests/Classes/ChipmunkTest/ChipmunkTest.cpp index c6b1672922..8636c2f8b4 100644 --- a/tests/cpp-tests/Classes/ChipmunkTest/ChipmunkTest.cpp +++ b/tests/cpp-tests/Classes/ChipmunkTest/ChipmunkTest.cpp @@ -166,8 +166,8 @@ void ChipmunkTestLayer::createResetButton() void ChipmunkTestLayer::reset(Ref* sender) { - auto s = new ChipmunkAccelTouchTestScene(); - auto child = new ChipmunkTestLayer(); + auto s = new (std::nothrow) ChipmunkAccelTouchTestScene(); + auto child = new (std::nothrow) ChipmunkTestLayer(); s->addChild(child); child->release(); Director::getInstance()->replaceScene(s); @@ -249,7 +249,7 @@ void ChipmunkTestLayer::onAcceleration(Acceleration* acc, Event* event) void ChipmunkAccelTouchTestScene::runThisTest() { - auto layer = new ChipmunkTestLayer(); + auto layer = new (std::nothrow) ChipmunkTestLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/ClickAndMoveTest/ClickAndMoveTest.cpp b/tests/cpp-tests/Classes/ClickAndMoveTest/ClickAndMoveTest.cpp index 25fc7850d6..e478a2dcf5 100644 --- a/tests/cpp-tests/Classes/ClickAndMoveTest/ClickAndMoveTest.cpp +++ b/tests/cpp-tests/Classes/ClickAndMoveTest/ClickAndMoveTest.cpp @@ -8,7 +8,7 @@ enum void ClickAndMoveTestScene::runThisTest() { - auto layer = new MainLayer(); + auto layer = new (std::nothrow) MainLayer(); layer->autorelease(); addChild(layer); diff --git a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp index 0842b6eeef..8408da3d08 100644 --- a/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp +++ b/tests/cpp-tests/Classes/ClippingNodeTest/ClippingNodeTest.cpp @@ -103,7 +103,7 @@ std::string BaseClippingNodeTest::subtitle() const void BaseClippingNodeTest::restartCallback(Ref* sender) { - Scene *s = new ClippingNodeTestScene(); + Scene *s = new (std::nothrow) ClippingNodeTestScene(); s->addChild(restartAction()); Director::getInstance()->replaceScene(s); s->release(); @@ -111,7 +111,7 @@ void BaseClippingNodeTest::restartCallback(Ref* sender) void BaseClippingNodeTest::nextCallback(Ref* sender) { - Scene *s = new ClippingNodeTestScene(); + Scene *s = new (std::nothrow) ClippingNodeTestScene(); s->addChild(nextAction()); Director::getInstance()->replaceScene(s); s->release(); @@ -119,7 +119,7 @@ void BaseClippingNodeTest::nextCallback(Ref* sender) void BaseClippingNodeTest::backCallback(Ref* sender) { - Scene *s = new ClippingNodeTestScene(); + Scene *s = new (std::nothrow) ClippingNodeTestScene(); s->addChild(backAction()); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/CocosDenshionTest/CocosDenshionTest.cpp b/tests/cpp-tests/Classes/CocosDenshionTest/CocosDenshionTest.cpp index 249517baed..3685b89db7 100644 --- a/tests/cpp-tests/Classes/CocosDenshionTest/CocosDenshionTest.cpp +++ b/tests/cpp-tests/Classes/CocosDenshionTest/CocosDenshionTest.cpp @@ -33,7 +33,7 @@ class Button : public Node//, public TargetedTouchDelegate public: static Button *createWithSprite(const char *filePath) { - auto b = new Button(); + auto b = new (std::nothrow) Button(); if (b && !b->initSpriteButton(filePath)) { delete b; b = nullptr; @@ -44,7 +44,7 @@ public: static Button *createWithText(const char *text) { - auto b = new Button(); + auto b = new (std::nothrow) Button(); if (b && !b->initTextButton(text)) { delete b; b = nullptr; @@ -147,7 +147,7 @@ public: static AudioSlider *create(Direction direction) { - auto ret = new AudioSlider(direction); + auto ret = new (std::nothrow) AudioSlider(direction); if (ret && !ret->init()) { delete ret; ret = nullptr; @@ -418,7 +418,7 @@ void CocosDenshionTest::updateVolumes(float) void CocosDenshionTestScene::runThisTest() { - auto layer = new CocosDenshionTest(); + auto layer = new (std::nothrow) CocosDenshionTest(); addChild(layer); layer->autorelease(); diff --git a/tests/cpp-tests/Classes/ConfigurationTest/ConfigurationTest.cpp b/tests/cpp-tests/Classes/ConfigurationTest/ConfigurationTest.cpp index 460b874556..77a348a199 100644 --- a/tests/cpp-tests/Classes/ConfigurationTest/ConfigurationTest.cpp +++ b/tests/cpp-tests/Classes/ConfigurationTest/ConfigurationTest.cpp @@ -71,7 +71,7 @@ void ConfigurationBase::onExit() void ConfigurationBase::restartCallback(Ref* sender) { - auto s = new ConfigurationTestScene(); + auto s = new (std::nothrow) ConfigurationTestScene(); s->addChild( restartAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -79,7 +79,7 @@ void ConfigurationBase::restartCallback(Ref* sender) void ConfigurationBase::nextCallback(Ref* sender) { - auto s = new ConfigurationTestScene(); + auto s = new (std::nothrow) ConfigurationTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -87,7 +87,7 @@ void ConfigurationBase::nextCallback(Ref* sender) void ConfigurationBase::backCallback(Ref* sender) { - auto s = new ConfigurationTestScene(); + auto s = new (std::nothrow) ConfigurationTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ConsoleTest/ConsoleTest.cpp b/tests/cpp-tests/Classes/ConsoleTest/ConsoleTest.cpp index 24dad2067e..0dedd0c8a2 100644 --- a/tests/cpp-tests/Classes/ConsoleTest/ConsoleTest.cpp +++ b/tests/cpp-tests/Classes/ConsoleTest/ConsoleTest.cpp @@ -104,7 +104,7 @@ void BaseTestConsole::onEnter() void BaseTestConsole::restartCallback(Ref* sender) { - auto s = new ConsoleTestScene(); + auto s = new (std::nothrow) ConsoleTestScene(); s->addChild(restartConsoleTest()); Director::getInstance()->replaceScene(s); @@ -113,7 +113,7 @@ void BaseTestConsole::restartCallback(Ref* sender) void BaseTestConsole::nextCallback(Ref* sender) { - auto s = new ConsoleTestScene(); + auto s = new (std::nothrow) ConsoleTestScene(); s->addChild( nextConsoleTest() ); Director::getInstance()->replaceScene(s); s->release(); @@ -121,7 +121,7 @@ void BaseTestConsole::nextCallback(Ref* sender) void BaseTestConsole::backCallback(Ref* sender) { - auto s = new ConsoleTestScene(); + auto s = new (std::nothrow) ConsoleTestScene(); s->addChild( backConsoleTest() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp b/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp index ee1dd9f4e3..ab88a74808 100644 --- a/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp +++ b/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp @@ -60,7 +60,7 @@ CurlTest::~CurlTest() void CurlTestScene::runThisTest() { - auto layer = new CurlTest(); + auto layer = new (std::nothrow) CurlTest(); addChild(layer); Director::getInstance()->replaceScene(this); diff --git a/tests/cpp-tests/Classes/CurrentLanguageTest/CurrentLanguageTest.cpp b/tests/cpp-tests/Classes/CurrentLanguageTest/CurrentLanguageTest.cpp index 24e8047356..04bb19c2ae 100644 --- a/tests/cpp-tests/Classes/CurrentLanguageTest/CurrentLanguageTest.cpp +++ b/tests/cpp-tests/Classes/CurrentLanguageTest/CurrentLanguageTest.cpp @@ -67,7 +67,7 @@ CurrentLanguageTest::CurrentLanguageTest() void CurrentLanguageTestScene::runThisTest() { - auto layer = new CurrentLanguageTest(); + auto layer = new (std::nothrow) CurrentLanguageTest(); addChild(layer); Director::getInstance()->replaceScene(this); diff --git a/tests/cpp-tests/Classes/DataVisitorTest/DataVisitorTest.cpp b/tests/cpp-tests/Classes/DataVisitorTest/DataVisitorTest.cpp index 00d2b7b044..6f07671603 100644 --- a/tests/cpp-tests/Classes/DataVisitorTest/DataVisitorTest.cpp +++ b/tests/cpp-tests/Classes/DataVisitorTest/DataVisitorTest.cpp @@ -78,7 +78,7 @@ void PrettyPrinterDemo::onEnter() void DataVisitorTestScene::runThisTest() { - auto layer = new PrettyPrinterDemo(); + auto layer = new (std::nothrow) PrettyPrinterDemo(); layer->autorelease(); addChild(layer); diff --git a/tests/cpp-tests/Classes/DrawPrimitivesTest/DrawPrimitivesTest.cpp b/tests/cpp-tests/Classes/DrawPrimitivesTest/DrawPrimitivesTest.cpp index aa75920477..7f4c78335e 100644 --- a/tests/cpp-tests/Classes/DrawPrimitivesTest/DrawPrimitivesTest.cpp +++ b/tests/cpp-tests/Classes/DrawPrimitivesTest/DrawPrimitivesTest.cpp @@ -73,7 +73,7 @@ void BaseLayer::onEnter() void BaseLayer::restartCallback(cocos2d::Ref *pSender) { - auto s = new DrawPrimitivesTestScene(); + auto s = new (std::nothrow) DrawPrimitivesTestScene(); s->addChild(restartAction()); Director::getInstance()->replaceScene(s); @@ -82,7 +82,7 @@ void BaseLayer::restartCallback(cocos2d::Ref *pSender) void BaseLayer::nextCallback(cocos2d::Ref *pSender) { - auto s = new DrawPrimitivesTestScene();; + auto s = new (std::nothrow) DrawPrimitivesTestScene();; s->addChild(nextAction()); Director::getInstance()->replaceScene(s); @@ -91,7 +91,7 @@ void BaseLayer::nextCallback(cocos2d::Ref *pSender) void BaseLayer::backCallback(cocos2d::Ref *pSender) { - auto s = new DrawPrimitivesTestScene(); + auto s = new (std::nothrow) DrawPrimitivesTestScene(); s->addChild(backAction()); Director::getInstance()->replaceScene(s); diff --git a/tests/cpp-tests/Classes/EffectsAdvancedTest/EffectsAdvancedTest.cpp b/tests/cpp-tests/Classes/EffectsAdvancedTest/EffectsAdvancedTest.cpp index 23ef32b8f2..7f110fe183 100644 --- a/tests/cpp-tests/Classes/EffectsAdvancedTest/EffectsAdvancedTest.cpp +++ b/tests/cpp-tests/Classes/EffectsAdvancedTest/EffectsAdvancedTest.cpp @@ -137,7 +137,7 @@ public: static Lens3DTarget* create(Lens3D* pAction) { - Lens3DTarget* pRet = new Lens3DTarget(); + Lens3DTarget* pRet = new (std::nothrow) Lens3DTarget(); pRet->_lens3D = pAction; pRet->autorelease(); return pRet; @@ -387,7 +387,7 @@ std::string EffectAdvanceTextLayer::subtitle() const void EffectAdvanceTextLayer::restartCallback(Ref* sender) { - auto s = new EffectAdvanceScene(); + auto s = new (std::nothrow) EffectAdvanceScene(); s->addChild(restartEffectAdvanceAction()); Director::getInstance()->replaceScene(s); @@ -396,7 +396,7 @@ void EffectAdvanceTextLayer::restartCallback(Ref* sender) void EffectAdvanceTextLayer::nextCallback(Ref* sender) { - auto s = new EffectAdvanceScene(); + auto s = new (std::nothrow) EffectAdvanceScene(); s->addChild( nextEffectAdvanceAction() ); Director::getInstance()->replaceScene(s); @@ -405,7 +405,7 @@ void EffectAdvanceTextLayer::nextCallback(Ref* sender) void EffectAdvanceTextLayer::backCallback(Ref* sender) { - auto s = new EffectAdvanceScene(); + auto s = new (std::nothrow) EffectAdvanceScene(); s->addChild( backEffectAdvanceAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/EffectsTest/EffectsTest.cpp b/tests/cpp-tests/Classes/EffectsTest/EffectsTest.cpp index 724fb9846e..dc130dfeda 100644 --- a/tests/cpp-tests/Classes/EffectsTest/EffectsTest.cpp +++ b/tests/cpp-tests/Classes/EffectsTest/EffectsTest.cpp @@ -394,7 +394,7 @@ TextLayer::~TextLayer(void) TextLayer* TextLayer::create() { - auto layer = new TextLayer(); + auto layer = new (std::nothrow) TextLayer(); layer->autorelease(); return layer; @@ -407,7 +407,7 @@ void TextLayer::onEnter() void TextLayer::newScene() { - auto s = new EffectTestScene(); + auto s = new (std::nothrow) EffectTestScene(); auto child = TextLayer::create(); s->addChild(child); Director::getInstance()->replaceScene(s); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioActionTimelineTest/ActionTimelineTestScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioActionTimelineTest/ActionTimelineTestScene.cpp index 047a7f2215..efb1489dfa 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioActionTimelineTest/ActionTimelineTestScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioActionTimelineTest/ActionTimelineTestScene.cpp @@ -20,16 +20,16 @@ Layer *CreateAnimationLayer(int index) switch(index) { case TEST_ANIMATIONELEMENT: - pLayer = new TestActionTimeline(); + pLayer = new (std::nothrow) TestActionTimeline(); break; case TEST_CHANGE_PLAY_SECTION: - pLayer = new TestChangePlaySection(); + pLayer = new (std::nothrow) TestChangePlaySection(); break; case TEST_TIMELINE_FRAME_EVENT: - pLayer = new TestTimelineFrameEvent(); + pLayer = new (std::nothrow) TestTimelineFrameEvent(); break; case TEST_TIMELINE_PERFORMACE: - pLayer = new TestTimelinePerformance(); + pLayer = new (std::nothrow) TestTimelinePerformance(); break; default: break; @@ -166,7 +166,7 @@ std::string ActionTimelineTestLayer::subtitle() const void ActionTimelineTestLayer::restartCallback(Ref *pSender) { - Scene *s = new ActionTimelineTestScene(); + Scene *s = new (std::nothrow) ActionTimelineTestScene(); s->addChild( RestartAnimationTest() ); Director::getInstance()->replaceScene(s); s->release(); @@ -174,14 +174,14 @@ void ActionTimelineTestLayer::restartCallback(Ref *pSender) void ActionTimelineTestLayer::nextCallback(Ref *pSender) { - Scene *s = new ActionTimelineTestScene(); + Scene *s = new (std::nothrow) ActionTimelineTestScene(); s->addChild( NextAnimationTest() ); Director::getInstance()->replaceScene(s); s->release(); } void ActionTimelineTestLayer::backCallback(Ref *pSender) { - Scene *s = new ActionTimelineTestScene(); + Scene *s = new (std::nothrow) ActionTimelineTestScene(); s->addChild( BackAnimationTest() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp index 88648b763a..c088384537 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp @@ -19,64 +19,64 @@ Layer *CreateLayer(int index) switch(index) { case TEST_ASYNCHRONOUS_LOADING: - pLayer = new TestAsynchronousLoading(); + pLayer = new (std::nothrow) TestAsynchronousLoading(); break; case TEST_DIRECT_LOADING: - pLayer = new TestDirectLoading(); + pLayer = new (std::nothrow) TestDirectLoading(); break; case TEST_DRAGON_BONES_2_0: - pLayer = new TestDragonBones20(); + pLayer = new (std::nothrow) TestDragonBones20(); break; case TEST_COCOSTUDIO_WITH_SKELETON: - pLayer = new TestCSWithSkeleton(); + pLayer = new (std::nothrow) TestCSWithSkeleton(); break; case TEST_PERFORMANCE: - pLayer = new TestPerformance(); + pLayer = new (std::nothrow) TestPerformance(); break; // case TEST_PERFORMANCE_BATCHNODE: -// pLayer = new TestPerformanceBatchNode(); +// pLayer = new (std::nothrow) TestPerformanceBatchNode(); // break; case TEST_CHANGE_ZORDER: - pLayer = new TestChangeZorder(); + pLayer = new (std::nothrow) TestChangeZorder(); break; case TEST_ANIMATION_EVENT: - pLayer = new TestAnimationEvent(); + pLayer = new (std::nothrow) TestAnimationEvent(); break; case TEST_FRAME_EVENT: - pLayer = new TestFrameEvent(); + pLayer = new (std::nothrow) TestFrameEvent(); break; case TEST_PARTICLE_DISPLAY: - pLayer = new TestParticleDisplay(); + pLayer = new (std::nothrow) TestParticleDisplay(); break; case TEST_USE_DIFFERENT_PICTURE: - pLayer = new TestUseMutiplePicture(); + pLayer = new (std::nothrow) TestUseMutiplePicture(); break; case TEST_COLLIDER_DETECTOR: - pLayer = new TestColliderDetector(); + pLayer = new (std::nothrow) TestColliderDetector(); break; case TEST_BOUDINGBOX: - pLayer = new TestBoundingBox(); + pLayer = new (std::nothrow) TestBoundingBox(); break; case TEST_ANCHORPOINT: - pLayer = new TestAnchorPoint(); + pLayer = new (std::nothrow) TestAnchorPoint(); break; case TEST_ARMATURE_NESTING: - pLayer = new TestArmatureNesting(); + pLayer = new (std::nothrow) TestArmatureNesting(); break; case TEST_ARMATURE_NESTING_2: - pLayer = new TestArmatureNesting2(); + pLayer = new (std::nothrow) TestArmatureNesting2(); break; case TEST_PLAY_SEVERAL_MOVEMENT: - pLayer = new TestPlaySeveralMovement(); + pLayer = new (std::nothrow) TestPlaySeveralMovement(); break; case TEST_EASING: - pLayer = new TestEasing(); + pLayer = new (std::nothrow) TestEasing(); break; case TEST_CHANGE_ANIMATION_INTERNAL: - pLayer = new TestChangeAnimationInternal(); + pLayer = new (std::nothrow) TestChangeAnimationInternal(); break; case TEST_DIRECT_FROM_BINARY: - pLayer = new TestLoadFromBinary(); + pLayer = new (std::nothrow) TestLoadFromBinary(); break; default: break; @@ -211,21 +211,21 @@ std::string ArmatureTestLayer::subtitle() const void ArmatureTestLayer::restartCallback(Ref *pSender) { - Scene *s = new ArmatureTestScene(); + Scene *s = new (std::nothrow) ArmatureTestScene(); s->addChild( RestartTest() ); Director::getInstance()->replaceScene(s); s->release(); } void ArmatureTestLayer::nextCallback(Ref *pSender) { - Scene *s = new ArmatureTestScene(); + Scene *s = new (std::nothrow) ArmatureTestScene(); s->addChild( NextTest() ); Director::getInstance()->replaceScene(s); s->release(); } void ArmatureTestLayer::backCallback(Ref *pSender) { - Scene *s = new ArmatureTestScene(); + Scene *s = new (std::nothrow) ArmatureTestScene(); s->addChild( BackTest() ); Director::getInstance()->replaceScene(s); s->release(); @@ -413,7 +413,7 @@ void TestPerformance::addArmature(int number) armatureCount++; Armature *armature = nullptr; - armature = new Armature(); + armature = new (std::nothrow) Armature(); armature->init("Cowboy"); armature->getAnimation()->playWithIndex(0); armature->setPosition(50 + armatureCount * 2, 150); @@ -877,10 +877,10 @@ void TestColliderDetector::initWorld() world = new b2World(noGravity); world->SetAllowSleeping(true); - listener = new ContactListener(); + listener = new (std::nothrow) ContactListener(); world->SetContactListener(listener); - debugDraw = new GLESDebugDraw( PT_RATIO ); + debugDraw = new (std::nothrow) GLESDebugDraw( PT_RATIO ); world->SetDebugDraw(debugDraw); uint32 flags = 0; @@ -1198,7 +1198,7 @@ void TestArmatureNesting::onTouchesEnded(const std::vector& touches, Eve Hero *Hero::create(const char *name) { - Hero *hero = new Hero(); + Hero *hero = new (std::nothrow) Hero(); if (hero && hero->init(name)) { hero->autorelease(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ComponentsTestScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ComponentsTestScene.cpp index b30693dff6..5333373799 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ComponentsTestScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ComponentsTestScene.cpp @@ -81,7 +81,7 @@ cocos2d::Node* ComponentsTestLayer::createGameScene() auto itemBack = MenuItemFont::create("Back", [](Ref* sender){ - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); }); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/EnemyController.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/EnemyController.cpp index 43bfdb1fd1..f109da7e5e 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/EnemyController.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/EnemyController.cpp @@ -63,7 +63,7 @@ void EnemyController::update(float delta) EnemyController* EnemyController::create(void) { - EnemyController * pRet = new EnemyController(); + EnemyController * pRet = new (std::nothrow) EnemyController(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/GameOverScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/GameOverScene.cpp index b3fdffb35c..a3d3a48aa2 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/GameOverScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/GameOverScene.cpp @@ -73,7 +73,7 @@ bool GameOverLayer::init() auto itemBack = MenuItemFont::create("Back", [](Ref* sender){ - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); }); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/PlayerController.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/PlayerController.cpp index 4eb202ee0e..bd926530d1 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/PlayerController.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/PlayerController.cpp @@ -55,7 +55,7 @@ void PlayerController::onTouchesEnded(const std::vector& touches, Event PlayerController* PlayerController::create(void) { - PlayerController * pRet = new PlayerController(); + PlayerController * pRet = new (std::nothrow) PlayerController(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ProjectileController.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ProjectileController.cpp index 4c5589b3d0..29b11b5df7 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ProjectileController.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/ProjectileController.cpp @@ -78,7 +78,7 @@ void ProjectileController::update(float delta) ProjectileController* ProjectileController::create(void) { - ProjectileController * pRet = new ProjectileController(); + ProjectileController * pRet = new (std::nothrow) ProjectileController(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/SceneController.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/SceneController.cpp index a12756a1b6..f2dde3384a 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/SceneController.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioComponentsTest/SceneController.cpp @@ -49,7 +49,7 @@ void SceneController::update(float delta) SceneController* SceneController::create(void) { - SceneController * pRet = new SceneController(); + SceneController * pRet = new (std::nothrow) SceneController(); if (pRet && pRet->init()) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/SceneEditorTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/SceneEditorTest.cpp index ebc3dcb8e6..eab603ac67 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/SceneEditorTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/SceneEditorTest.cpp @@ -23,34 +23,34 @@ Layer *createTests(int index) switch(index) { case TEST_LOADSCENEEDITORFILE: - layer = new LoadSceneEdtiorFileTest(); + layer = new (std::nothrow) LoadSceneEdtiorFileTest(); break; case TEST_SPIRTECOMPONENT: - layer = new SpriteComponentTest(); + layer = new (std::nothrow) SpriteComponentTest(); break; case TEST_ARMATURECOMPONENT: - layer = new ArmatureComponentTest(); + layer = new (std::nothrow) ArmatureComponentTest(); break; case TEST_UICOMPONENT: - layer = new UIComponentTest(); + layer = new (std::nothrow) UIComponentTest(); break; case TEST_TMXMAPCOMPONENT: - layer = new TmxMapComponentTest(); + layer = new (std::nothrow) TmxMapComponentTest(); break; case TEST_PARTICLECOMPONENT: - layer = new ParticleComponentTest(); + layer = new (std::nothrow) ParticleComponentTest(); break; case TEST_EFEECTCOMPONENT: - layer = new EffectComponentTest(); + layer = new (std::nothrow) EffectComponentTest(); break; case TEST_BACKGROUNDCOMPONENT: - layer = new BackgroundComponentTest(); + layer = new (std::nothrow) BackgroundComponentTest(); break; case TEST_ATTRIBUTECOMPONENT: - layer = new AttributeComponentTest(); + layer = new (std::nothrow) AttributeComponentTest(); break; case TEST_TRIGGER: - layer = new TriggerTest(); + layer = new (std::nothrow) TriggerTest(); break; default: break; @@ -179,7 +179,7 @@ std::string SceneEditorTestLayer::subtitle() void SceneEditorTestLayer::restartCallback(Ref *pSender) { - Scene *s = new SceneEditorTestScene(); + Scene *s = new (std::nothrow) SceneEditorTestScene(); s->addChild(Restart()); Director::getInstance()->replaceScene(s); s->release(); @@ -187,7 +187,7 @@ void SceneEditorTestLayer::restartCallback(Ref *pSender) void SceneEditorTestLayer::nextCallback(Ref *pSender) { - Scene *s = new SceneEditorTestScene(); + Scene *s = new (std::nothrow) SceneEditorTestScene(); s->addChild(Next()); Director::getInstance()->replaceScene(s); s->release(); @@ -195,7 +195,7 @@ void SceneEditorTestLayer::nextCallback(Ref *pSender) void SceneEditorTestLayer::backCallback(Ref *pSender) { - Scene *s = new SceneEditorTestScene(); + Scene *s = new (std::nothrow) SceneEditorTestScene(); s->addChild(Back()); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocosBuilderTest/CocosBuilderTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocosBuilderTest/CocosBuilderTest.cpp index c367915891..13251e908e 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocosBuilderTest/CocosBuilderTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocosBuilderTest/CocosBuilderTest.cpp @@ -59,7 +59,7 @@ void CocosBuilderTestScene::runThisTest() { // NodeLoaderLibrary * ccNodeLoaderLibrary = NodeLoaderLibrary::newDefaultNodeLoaderLibrary(); // // /* Create an autorelease CCBReader. */ -// CCBReader * ccbReader = new CCBReader(ccNodeLoaderLibrary, ccbiReaderLayer, ccbiReaderLayer); +// CCBReader * ccbReader = new (std::nothrow) CCBReader(ccNodeLoaderLibrary, ccbiReaderLayer, ccbiReaderLayer); // ccbReader->autorelease(); // // /* Read a ccbi file. */ diff --git a/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlScene.cpp index 764bd139f3..b0a6b13c53 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlScene.cpp @@ -84,7 +84,7 @@ bool ControlScene::init() void ControlScene::toExtensionsMainLayer(Ref* sender) { - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } diff --git a/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlSceneManager.cpp b/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlSceneManager.cpp index fb0f2d7128..06af6a76c1 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlSceneManager.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/ControlExtensionTest/CCControlSceneManager.cpp @@ -75,7 +75,7 @@ ControlSceneManager * ControlSceneManager::sharedControlSceneManager() { if (sharedInstance == nullptr) { - sharedInstance = new ControlSceneManager(); + sharedInstance = new (std::nothrow) ControlSceneManager(); } return sharedInstance; } diff --git a/tests/cpp-tests/Classes/ExtensionsTest/EditBoxTest/EditBoxTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/EditBoxTest/EditBoxTest.cpp index b54a42aa32..dad1bdee00 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/EditBoxTest/EditBoxTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/EditBoxTest/EditBoxTest.cpp @@ -85,7 +85,7 @@ EditBoxTest::~EditBoxTest() void EditBoxTest::toExtensionsMainLayer(cocos2d::Ref *sender) { - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } @@ -126,7 +126,7 @@ void EditBoxTest::editBoxReturn(EditBox* editBox) void runEditBoxTest() { auto scene = Scene::create(); - EditBoxTest *layer = new EditBoxTest(); + EditBoxTest *layer = new (std::nothrow) EditBoxTest(); scene->addChild(layer); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/ExtensionsTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/ExtensionsTest.cpp index 4d664618f3..139ec022cc 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/ExtensionsTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/ExtensionsTest.cpp @@ -37,7 +37,7 @@ static struct { { "NotificationCenterTest", [](Ref* sender) { runNotificationCenterTest(); } }, { "Scale9SpriteTest", [](Ref* sender) { - auto scene = new S9SpriteTestScene(); + auto scene = new (std::nothrow) S9SpriteTestScene(); if (scene) { scene->runThisTest(); @@ -51,7 +51,7 @@ static struct { Director::getInstance()->replaceScene(scene); }}, { "CocosBuilderTest", [](Ref *sender) { - auto scene = new CocosBuilderTestScene(); + auto scene = new (std::nothrow) CocosBuilderTestScene(); if (scene) { scene->runThisTest(); @@ -74,19 +74,19 @@ static struct { #endif { "TableViewTest", [](Ref *sender){ runTableViewTest();} }, - { "CocoStudioArmatureTest", [](Ref *sender) { ArmatureTestScene *scene = new ArmatureTestScene(); + { "CocoStudioArmatureTest", [](Ref *sender) { ArmatureTestScene *scene = new (std::nothrow) ArmatureTestScene(); scene->runThisTest(); scene->release(); } }, - { "CocoStudioActionTimelineTest", [](Ref *sender) { ActionTimelineTestScene *scene = new ActionTimelineTestScene(); + { "CocoStudioActionTimelineTest", [](Ref *sender) { ActionTimelineTestScene *scene = new (std::nothrow) ActionTimelineTestScene(); scene->runThisTest(); scene->release(); } }, { "CocoStudioComponentsTest", [](Ref *sender) { runComponentsTestLayerTest(); } }, - { "CocoStudioSceneTest", [](Ref *sender) { SceneEditorTestScene *scene = new SceneEditorTestScene(); + { "CocoStudioSceneTest", [](Ref *sender) { SceneEditorTestScene *scene = new (std::nothrow) SceneEditorTestScene(); scene->runThisTest(); scene->release(); } @@ -200,7 +200,7 @@ void ExtensionsMainLayer::onMouseScroll(Event* event) void ExtensionsTestScene::runThisTest() { - auto layer = new ExtensionsMainLayer(); + auto layer = new (std::nothrow) ExtensionsMainLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/HttpClientTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/HttpClientTest.cpp index a05c87a6c6..f8e791335a 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/HttpClientTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/HttpClientTest.cpp @@ -107,7 +107,7 @@ void HttpClientTest::onMenuGetTestClicked(cocos2d::Ref *sender, bool isImmediate { // test 1 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://just-make-this-request-failed.com"); request->setRequestType(HttpRequest::Type::GET); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -125,7 +125,7 @@ void HttpClientTest::onMenuGetTestClicked(cocos2d::Ref *sender, bool isImmediate // test 2 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); // required fields request->setUrl("http://httpbin.org/ip"); request->setRequestType(HttpRequest::Type::GET); @@ -145,7 +145,7 @@ void HttpClientTest::onMenuGetTestClicked(cocos2d::Ref *sender, bool isImmediate // test 3 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("https://httpbin.org/get"); request->setRequestType(HttpRequest::Type::GET); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -170,7 +170,7 @@ void HttpClientTest::onMenuPostTestClicked(cocos2d::Ref *sender, bool isImmediat { // test 1 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/post"); request->setRequestType(HttpRequest::Type::POST); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -192,7 +192,7 @@ void HttpClientTest::onMenuPostTestClicked(cocos2d::Ref *sender, bool isImmediat // test 2: set Content-Type { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/post"); request->setRequestType(HttpRequest::Type::POST); std::vector headers; @@ -221,7 +221,7 @@ void HttpClientTest::onMenuPostTestClicked(cocos2d::Ref *sender, bool isImmediat void HttpClientTest::onMenuPostBinaryTestClicked(cocos2d::Ref *sender, bool isImmediate) { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/post"); request->setRequestType(HttpRequest::Type::POST); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -250,7 +250,7 @@ void HttpClientTest::onMenuPutTestClicked(Ref *sender, bool isImmediate) { // test 1 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/put"); request->setRequestType(HttpRequest::Type::PUT); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -272,7 +272,7 @@ void HttpClientTest::onMenuPutTestClicked(Ref *sender, bool isImmediate) // test 2: set Content-Type { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/put"); request->setRequestType(HttpRequest::Type::PUT); std::vector headers; @@ -303,7 +303,7 @@ void HttpClientTest::onMenuDeleteTestClicked(Ref *sender, bool isImmediate) { // test 1 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://just-make-this-request-failed.com"); request->setRequestType(HttpRequest::Type::DELETE); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -321,7 +321,7 @@ void HttpClientTest::onMenuDeleteTestClicked(Ref *sender, bool isImmediate) // test 2 { - HttpRequest* request = new HttpRequest(); + HttpRequest* request = new (std::nothrow) HttpRequest(); request->setUrl("http://httpbin.org/delete"); request->setRequestType(HttpRequest::Type::DELETE); request->setResponseCallback(CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this)); @@ -383,7 +383,7 @@ void HttpClientTest::onHttpRequestCompleted(HttpClient *sender, HttpResponse *re void HttpClientTest::toExtensionsMainLayer(cocos2d::Ref *sender) { - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } @@ -391,7 +391,7 @@ void HttpClientTest::toExtensionsMainLayer(cocos2d::Ref *sender) void runHttpClientTest() { auto scene = Scene::create(); - HttpClientTest *layer = new HttpClientTest(); + HttpClientTest *layer = new (std::nothrow) HttpClientTest(); scene->addChild(layer); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/SocketIOTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/SocketIOTest.cpp index 7cb06136ad..87dbb13435 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/SocketIOTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/SocketIOTest.cpp @@ -126,7 +126,7 @@ void SocketIOTestLayer::echotest(SIOClient *client, const std::string& data) { void SocketIOTestLayer::toExtensionsMainLayer(cocos2d::Ref *sender) { - ExtensionsTestScene *scene = new ExtensionsTestScene(); + ExtensionsTestScene *scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); @@ -261,7 +261,7 @@ void SocketIOTestLayer::onError(network::SIOClient* client, const std::string& d void runSocketIOTest() { auto scene = Scene::create(); - auto layer = new SocketIOTestLayer(); + auto layer = new (std::nothrow) SocketIOTestLayer(); scene->addChild(layer); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/WebSocketTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/WebSocketTest.cpp index 8c51def727..f0409e4247 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/WebSocketTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/NetworkTest/WebSocketTest.cpp @@ -193,7 +193,7 @@ void WebSocketTestLayer::onError(network::WebSocket* ws, const network::WebSocke void WebSocketTestLayer::toExtensionsMainLayer(cocos2d::Ref *sender) { - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } @@ -242,7 +242,7 @@ void WebSocketTestLayer::onMenuSendBinaryClicked(cocos2d::Ref *sender) void runWebSocketTest() { auto scene = Scene::create(); - auto layer = new WebSocketTestLayer(); + auto layer = new (std::nothrow) WebSocketTestLayer(); scene->addChild(layer); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/NotificationCenterTest/NotificationCenterTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/NotificationCenterTest/NotificationCenterTest.cpp index 5df50ea32d..f780f6a45a 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/NotificationCenterTest/NotificationCenterTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/NotificationCenterTest/NotificationCenterTest.cpp @@ -38,7 +38,7 @@ Light::~Light() Light* Light::lightWithFile(const char* name) { - Light* pLight = new Light(); + Light* pLight = new (std::nothrow) Light(); pLight->initWithFile(name); pLight->autorelease(); return pLight; @@ -139,7 +139,7 @@ void NotificationCenterTest::toExtensionsMainLayer(cocos2d::Ref* sender) int CC_UNUSED numObserversRemoved = NotificationCenter::getInstance()->removeAllObservers(this); CCASSERT(numObserversRemoved >= 3, "All observers were not removed!"); - auto scene = new ExtensionsTestScene(); + auto scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } @@ -167,7 +167,7 @@ void NotificationCenterTest::doNothing(cocos2d::Ref *sender) void runNotificationCenterTest() { auto scene = Scene::create(); - NotificationCenterTest* layer = new NotificationCenterTest(); + NotificationCenterTest* layer = new (std::nothrow) NotificationCenterTest(); scene->addChild(layer); Director::getInstance()->replaceScene(scene); layer->release(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/Scale9SpriteTest/Scale9SpriteTest.cpp b/tests/cpp-tests/Classes/ExtensionsTest/Scale9SpriteTest/Scale9SpriteTest.cpp index cd64c3a8e3..c8cc71acbf 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/Scale9SpriteTest/Scale9SpriteTest.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/Scale9SpriteTest/Scale9SpriteTest.cpp @@ -103,7 +103,7 @@ void S9SpriteTestDemo::onEnter() void S9SpriteTestDemo::restartCallback(Ref* sender) { - auto s = new S9SpriteTestScene(); + auto s = new (std::nothrow) S9SpriteTestScene(); s->addChild( restartAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -111,7 +111,7 @@ void S9SpriteTestDemo::restartCallback(Ref* sender) void S9SpriteTestDemo::nextCallback(Ref* sender) { - auto s = new S9SpriteTestScene(); + auto s = new (std::nothrow) S9SpriteTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -119,7 +119,7 @@ void S9SpriteTestDemo::nextCallback(Ref* sender) void S9SpriteTestDemo::backCallback(Ref* sender) { - auto s = new S9SpriteTestScene(); + auto s = new (std::nothrow) S9SpriteTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ExtensionsTest/TableViewTest/TableViewTestScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/TableViewTest/TableViewTestScene.cpp index e472e9e912..4df52f2789 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/TableViewTest/TableViewTestScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/TableViewTest/TableViewTestScene.cpp @@ -50,7 +50,7 @@ bool TableViewTestLayer::init() void TableViewTestLayer::toExtensionsMainLayer(cocos2d::Ref *sender) { - ExtensionsTestScene *scene = new ExtensionsTestScene(); + ExtensionsTestScene *scene = new (std::nothrow) ExtensionsTestScene(); scene->runThisTest(); scene->release(); } @@ -73,7 +73,7 @@ TableViewCell* TableViewTestLayer::tableCellAtIndex(TableView *table, ssize_t id auto string = String::createWithFormat("%ld", idx); TableViewCell *cell = table->dequeueCell(); if (!cell) { - cell = new CustomTableViewCell(); + cell = new (std::nothrow) CustomTableViewCell(); cell->autorelease(); auto sprite = Sprite::create("Images/Icon.png"); sprite->setAnchorPoint(Vec2::ZERO); diff --git a/tests/cpp-tests/Classes/FileUtilsTest/FileUtilsTest.cpp b/tests/cpp-tests/Classes/FileUtilsTest/FileUtilsTest.cpp index 13e8d7f314..2c80f5909f 100644 --- a/tests/cpp-tests/Classes/FileUtilsTest/FileUtilsTest.cpp +++ b/tests/cpp-tests/Classes/FileUtilsTest/FileUtilsTest.cpp @@ -56,7 +56,7 @@ void FileUtilsDemo::onEnter() void FileUtilsDemo::backCallback(Ref* sender) { - auto scene = new FileUtilsTestScene(); + auto scene = new (std::nothrow) FileUtilsTestScene(); auto layer = backAction(); scene->addChild(layer); @@ -66,7 +66,7 @@ void FileUtilsDemo::backCallback(Ref* sender) void FileUtilsDemo::nextCallback(Ref* sender) { - auto scene = new FileUtilsTestScene(); + auto scene = new (std::nothrow) FileUtilsTestScene(); auto layer = nextAction(); scene->addChild(layer); @@ -76,7 +76,7 @@ void FileUtilsDemo::nextCallback(Ref* sender) void FileUtilsDemo::restartCallback(Ref* sender) { - auto scene = new FileUtilsTestScene(); + auto scene = new (std::nothrow) FileUtilsTestScene(); auto layer = restartAction(); scene->addChild(layer); diff --git a/tests/cpp-tests/Classes/InputTest/MouseTest.cpp b/tests/cpp-tests/Classes/InputTest/MouseTest.cpp index 78e1f16094..7f18958231 100644 --- a/tests/cpp-tests/Classes/InputTest/MouseTest.cpp +++ b/tests/cpp-tests/Classes/InputTest/MouseTest.cpp @@ -74,7 +74,7 @@ void MouseTest::onMouseScroll(Event *event) void MouseTestScene::runThisTest() { - auto layer = new MouseTest(); + auto layer = new (std::nothrow) MouseTest(); addChild(layer); Director::getInstance()->replaceScene(this); diff --git a/tests/cpp-tests/Classes/IntervalTest/IntervalTest.cpp b/tests/cpp-tests/Classes/IntervalTest/IntervalTest.cpp index 09192591eb..21de9682d4 100644 --- a/tests/cpp-tests/Classes/IntervalTest/IntervalTest.cpp +++ b/tests/cpp-tests/Classes/IntervalTest/IntervalTest.cpp @@ -123,7 +123,7 @@ void IntervalLayer::step4(float dt) void IntervalTestScene::runThisTest() { - auto layer = new IntervalLayer(); + auto layer = new (std::nothrow) IntervalLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/LabelTest/LabelTest.cpp b/tests/cpp-tests/Classes/LabelTest/LabelTest.cpp index b641d89676..48014b08ab 100644 --- a/tests/cpp-tests/Classes/LabelTest/LabelTest.cpp +++ b/tests/cpp-tests/Classes/LabelTest/LabelTest.cpp @@ -138,7 +138,7 @@ void AtlasDemo::onEnter() void AtlasDemo::restartCallback(Ref* sender) { - auto s = new AtlasTestScene(); + auto s = new (std::nothrow) AtlasTestScene(); s->addChild(restartAtlasAction()); Director::getInstance()->replaceScene(s); @@ -147,7 +147,7 @@ void AtlasDemo::restartCallback(Ref* sender) void AtlasDemo::nextCallback(Ref* sender) { - auto s = new AtlasTestScene(); + auto s = new (std::nothrow) AtlasTestScene(); s->addChild( nextAtlasAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -155,7 +155,7 @@ void AtlasDemo::nextCallback(Ref* sender) void AtlasDemo::backCallback(Ref* sender) { - auto s = new AtlasTestScene(); + auto s = new (std::nothrow) AtlasTestScene(); s->addChild( backAtlasAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1699,7 +1699,7 @@ void LabelBMFontCrashTest::onEnter() auto winSize = Director::getInstance()->getWinSize(); //Create a label and add it - auto label1 = new LabelBMFont(); + auto label1 = new (std::nothrow) LabelBMFont(); label1->initWithString("test", "fonts/bitmapFontTest2.fnt"); this->addChild(label1); // Visit will call draw where the function "ccGLBindVAO(m_uVAOname);" will be invoked. diff --git a/tests/cpp-tests/Classes/LabelTest/LabelTestNew.cpp b/tests/cpp-tests/Classes/LabelTest/LabelTestNew.cpp index 5ed6bd7d2b..ee7d63a9c2 100644 --- a/tests/cpp-tests/Classes/LabelTest/LabelTestNew.cpp +++ b/tests/cpp-tests/Classes/LabelTest/LabelTestNew.cpp @@ -145,7 +145,7 @@ void AtlasDemoNew::onEnter() void AtlasDemoNew::restartCallback(Ref* sender) { - auto s = new AtlasTestSceneNew(); + auto s = new (std::nothrow) AtlasTestSceneNew(); s->addChild(restartAtlasActionNew()); Director::getInstance()->replaceScene(s); @@ -154,7 +154,7 @@ void AtlasDemoNew::restartCallback(Ref* sender) void AtlasDemoNew::nextCallback(Ref* sender) { - auto s = new AtlasTestSceneNew(); + auto s = new (std::nothrow) AtlasTestSceneNew(); s->addChild( nextAtlasActionNew() ); Director::getInstance()->replaceScene(s); s->release(); @@ -162,7 +162,7 @@ void AtlasDemoNew::nextCallback(Ref* sender) void AtlasDemoNew::backCallback(Ref* sender) { - auto s = new AtlasTestSceneNew(); + auto s = new (std::nothrow) AtlasTestSceneNew(); s->addChild( backAtlasActionNew() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/LayerTest/LayerTest.cpp b/tests/cpp-tests/Classes/LayerTest/LayerTest.cpp index 58f958c477..7d6b15d3a6 100644 --- a/tests/cpp-tests/Classes/LayerTest/LayerTest.cpp +++ b/tests/cpp-tests/Classes/LayerTest/LayerTest.cpp @@ -88,7 +88,7 @@ void LayerTest::onEnter() void LayerTest::restartCallback(Ref* sender) { - auto s = new LayerTestScene(); + auto s = new (std::nothrow) LayerTestScene(); s->addChild(restartAction()); Director::getInstance()->replaceScene(s); @@ -97,7 +97,7 @@ void LayerTest::restartCallback(Ref* sender) void LayerTest::nextCallback(Ref* sender) { - auto s = new LayerTestScene(); + auto s = new (std::nothrow) LayerTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -105,7 +105,7 @@ void LayerTest::nextCallback(Ref* sender) void LayerTest::backCallback(Ref* sender) { - auto s = new LayerTestScene(); + auto s = new (std::nothrow) LayerTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/MenuTest/MenuTest.cpp b/tests/cpp-tests/Classes/MenuTest/MenuTest.cpp index 762fc02754..92f85a08ab 100644 --- a/tests/cpp-tests/Classes/MenuTest/MenuTest.cpp +++ b/tests/cpp-tests/Classes/MenuTest/MenuTest.cpp @@ -565,12 +565,12 @@ void MenuTestScene::runThisTest() { MenuItemFont::setFontSize(20); - auto layer1 = new MenuLayerMainMenu(); - auto layer2 = new MenuLayer2(); - auto layer3 = new MenuLayer3(); - auto layer4 = new MenuLayer4(); - auto layer5 = new BugsTest(); - auto layer6 = new RemoveMenuItemWhenMove(); + auto layer1 = new (std::nothrow) MenuLayerMainMenu(); + auto layer2 = new (std::nothrow) MenuLayer2(); + auto layer3 = new (std::nothrow) MenuLayer3(); + auto layer4 = new (std::nothrow) MenuLayer4(); + auto layer5 = new (std::nothrow) BugsTest(); + auto layer6 = new (std::nothrow) RemoveMenuItemWhenMove(); auto layer = LayerMultiplex::create(layer1, layer2, layer3, layer4, layer5, layer6, nullptr); addChild(layer, 0); diff --git a/tests/cpp-tests/Classes/MotionStreakTest/MotionStreakTest.cpp b/tests/cpp-tests/Classes/MotionStreakTest/MotionStreakTest.cpp index 6e6c0986c7..cdf8dde210 100644 --- a/tests/cpp-tests/Classes/MotionStreakTest/MotionStreakTest.cpp +++ b/tests/cpp-tests/Classes/MotionStreakTest/MotionStreakTest.cpp @@ -230,7 +230,7 @@ void MotionStreakTest::modeCallback(Ref *pSender) void MotionStreakTest::restartCallback(Ref* sender) { - auto s = new MotionStreakTestScene();//CCScene::create(); + auto s = new (std::nothrow) MotionStreakTestScene();//CCScene::create(); s->addChild(restartMotionAction()); Director::getInstance()->replaceScene(s); @@ -239,7 +239,7 @@ void MotionStreakTest::restartCallback(Ref* sender) void MotionStreakTest::nextCallback(Ref* sender) { - auto s = new MotionStreakTestScene();//CCScene::create(); + auto s = new (std::nothrow) MotionStreakTestScene();//CCScene::create(); s->addChild( nextMotionAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -247,7 +247,7 @@ void MotionStreakTest::nextCallback(Ref* sender) void MotionStreakTest::backCallback(Ref* sender) { - auto s = new MotionStreakTestScene;//CCScene::create(); + auto s = new (std::nothrow) MotionStreakTestScene;//CCScene::create(); s->addChild( backMotionAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/MutiTouchTest/MutiTouchTest.cpp b/tests/cpp-tests/Classes/MutiTouchTest/MutiTouchTest.cpp index 1c42b0a106..70108a8ac6 100644 --- a/tests/cpp-tests/Classes/MutiTouchTest/MutiTouchTest.cpp +++ b/tests/cpp-tests/Classes/MutiTouchTest/MutiTouchTest.cpp @@ -40,7 +40,7 @@ public: static TouchPoint* touchPointWithParent(Node* pParent) { - auto pRet = new TouchPoint(); + auto pRet = new (std::nothrow) TouchPoint(); pRet->setContentSize(pParent->getContentSize()); pRet->setAnchorPoint(Vec2(0.0f, 0.0f)); pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/NewEventDispatcherTest/NewEventDispatcherTest.cpp b/tests/cpp-tests/Classes/NewEventDispatcherTest/NewEventDispatcherTest.cpp index 453d368bca..76ed0c977e 100644 --- a/tests/cpp-tests/Classes/NewEventDispatcherTest/NewEventDispatcherTest.cpp +++ b/tests/cpp-tests/Classes/NewEventDispatcherTest/NewEventDispatcherTest.cpp @@ -84,7 +84,7 @@ void EventDispatcherTestDemo::onEnter() void EventDispatcherTestDemo::backCallback(Ref* sender) { - auto scene = new EventDispatcherTestScene(); + auto scene = new (std::nothrow) EventDispatcherTestScene(); auto layer = backAction(); scene->addChild(layer); @@ -94,7 +94,7 @@ void EventDispatcherTestDemo::backCallback(Ref* sender) void EventDispatcherTestDemo::nextCallback(Ref* sender) { - auto scene = new EventDispatcherTestScene(); + auto scene = new (std::nothrow) EventDispatcherTestScene(); auto layer = nextAction(); scene->addChild(layer); @@ -104,7 +104,7 @@ void EventDispatcherTestDemo::nextCallback(Ref* sender) void EventDispatcherTestDemo::restartCallback(Ref* sender) { - auto scene = new EventDispatcherTestScene(); + auto scene = new (std::nothrow) EventDispatcherTestScene(); auto layer = restartAction(); scene->addChild(layer); @@ -233,7 +233,7 @@ class TouchableSprite : public Sprite public: static TouchableSprite* create(int priority = 0) { - auto ret = new TouchableSprite(priority); + auto ret = new (std::nothrow) TouchableSprite(priority); if (ret && ret->init()) { ret->autorelease(); @@ -1298,7 +1298,7 @@ public: static DanglingNodePointersTestSprite * create(const TappedCallback & tappedCallback) { - auto ret = new DanglingNodePointersTestSprite(tappedCallback); + auto ret = new (std::nothrow) DanglingNodePointersTestSprite(tappedCallback); if (ret && ret->init()) { diff --git a/tests/cpp-tests/Classes/NewRendererTest/NewRendererTest.cpp b/tests/cpp-tests/Classes/NewRendererTest/NewRendererTest.cpp index cd12b46e95..3245ba26b7 100644 --- a/tests/cpp-tests/Classes/NewRendererTest/NewRendererTest.cpp +++ b/tests/cpp-tests/Classes/NewRendererTest/NewRendererTest.cpp @@ -108,7 +108,7 @@ void MultiSceneTest::onEnter() void MultiSceneTest::restartCallback(Ref *sender) { - auto s = new NewRendererTestScene(); + auto s = new (std::nothrow) NewRendererTestScene(); s->addChild(restartTest()); Director::getInstance()->replaceScene(s); @@ -117,7 +117,7 @@ void MultiSceneTest::restartCallback(Ref *sender) void MultiSceneTest::nextCallback(Ref *sender) { - auto s = new NewRendererTestScene(); + auto s = new (std::nothrow) NewRendererTestScene(); s->addChild(nextTest()); Director::getInstance()->replaceScene(s); @@ -126,7 +126,7 @@ void MultiSceneTest::nextCallback(Ref *sender) void MultiSceneTest::backCallback(Ref *sender) { - auto s = new NewRendererTestScene(); + auto s = new (std::nothrow) NewRendererTestScene(); s->addChild(prevTest()); Director::getInstance()->replaceScene(s); @@ -236,7 +236,7 @@ public: SpriteInGroupCommand* SpriteInGroupCommand::create(const std::string &filename) { - SpriteInGroupCommand* sprite = new SpriteInGroupCommand(); + SpriteInGroupCommand* sprite = new (std::nothrow) SpriteInGroupCommand(); sprite->initWithFile(filename); sprite->autorelease(); return sprite; diff --git a/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp b/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp index 729ac092ed..7ab2d2182d 100644 --- a/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp +++ b/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp @@ -129,7 +129,7 @@ void TestCocosNodeDemo::onEnter() void TestCocosNodeDemo::restartCallback(Ref* sender) { - auto s = new CocosNodeTestScene();//CCScene::create(); + auto s = new (std::nothrow) CocosNodeTestScene();//CCScene::create(); s->addChild(restartCocosNodeAction()); Director::getInstance()->replaceScene(s); @@ -138,7 +138,7 @@ void TestCocosNodeDemo::restartCallback(Ref* sender) void TestCocosNodeDemo::nextCallback(Ref* sender) { - auto s = new CocosNodeTestScene();//CCScene::create(); + auto s = new (std::nothrow) CocosNodeTestScene();//CCScene::create(); s->addChild( nextCocosNodeAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -146,7 +146,7 @@ void TestCocosNodeDemo::nextCallback(Ref* sender) void TestCocosNodeDemo::backCallback(Ref* sender) { - auto s = new CocosNodeTestScene();//CCScene::create(); + auto s = new (std::nothrow) CocosNodeTestScene();//CCScene::create(); s->addChild( backCocosNodeAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -989,7 +989,7 @@ class MySprite : public Sprite public: static MySprite* create(const std::string &spritefilename) { - auto sprite = new MySprite; + auto sprite = new (std::nothrow) MySprite; sprite->initWithFile(spritefilename); sprite->autorelease(); diff --git a/tests/cpp-tests/Classes/ParallaxTest/ParallaxTest.cpp b/tests/cpp-tests/Classes/ParallaxTest/ParallaxTest.cpp index ae0683541f..de28727c7b 100644 --- a/tests/cpp-tests/Classes/ParallaxTest/ParallaxTest.cpp +++ b/tests/cpp-tests/Classes/ParallaxTest/ParallaxTest.cpp @@ -303,7 +303,7 @@ void ParallaxDemo::onEnter() void ParallaxDemo::restartCallback(Ref* sender) { - auto s = new ParallaxTestScene(); + auto s = new (std::nothrow) ParallaxTestScene(); s->addChild(restartParallaxAction()); Director::getInstance()->replaceScene(s); @@ -312,7 +312,7 @@ void ParallaxDemo::restartCallback(Ref* sender) void ParallaxDemo::nextCallback(Ref* sender) { - auto s = new ParallaxTestScene(); + auto s = new (std::nothrow) ParallaxTestScene(); s->addChild( nextParallaxAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -320,7 +320,7 @@ void ParallaxDemo::nextCallback(Ref* sender) void ParallaxDemo::backCallback(Ref* sender) { - auto s = new ParallaxTestScene(); + auto s = new (std::nothrow) ParallaxTestScene(); s->addChild( backParallaxAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/ParticleTest/ParticleTest.cpp b/tests/cpp-tests/Classes/ParticleTest/ParticleTest.cpp index b12946a99c..6206fc46fc 100644 --- a/tests/cpp-tests/Classes/ParticleTest/ParticleTest.cpp +++ b/tests/cpp-tests/Classes/ParticleTest/ParticleTest.cpp @@ -1180,7 +1180,7 @@ void ParticleDemo::restartCallback(Ref* sender) void ParticleDemo::nextCallback(Ref* sender) { - auto s = new ParticleTestScene(); + auto s = new (std::nothrow) ParticleTestScene(); s->addChild( nextParticleAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1188,7 +1188,7 @@ void ParticleDemo::nextCallback(Ref* sender) void ParticleDemo::backCallback(Ref* sender) { - auto s = new ParticleTestScene(); + auto s = new (std::nothrow) ParticleTestScene(); s->addChild( backParticleAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1474,7 +1474,7 @@ void Issue1201::onEnter() removeChild(_background, true); _background = nullptr; - RainbowEffect *particle = new RainbowEffect(); + RainbowEffect *particle = new (std::nothrow) RainbowEffect(); particle->initWithTotalParticles(50); addChild(particle); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceAllocTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceAllocTest.cpp index fec47cbdea..c8e3360445 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceAllocTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceAllocTest.cpp @@ -147,7 +147,7 @@ void PerformceAllocScene::initWithQuantityOfNodes(unsigned int nNodes) infoLabel->setPosition(Vec2(s.width/2, s.height/2-15)); addChild(infoLabel, 1, kTagInfoLayer); - auto menuLayer = new AllocBasicLayer(true, MAX_LAYER, g_curCase); + auto menuLayer = new (std::nothrow) AllocBasicLayer(true, MAX_LAYER, g_curCase); addChild(menuLayer); menuLayer->release(); @@ -239,7 +239,7 @@ void NodeCreateTest::update(float dt) { // iterate using fast enumeration protocol - Node **nodes = new Node*[quantityOfNodes]; + Node **nodes = new (std::nothrow) Node*[quantityOfNodes]; CC_PROFILER_START(this->profilerName()); for( int i=0; igetWinSize(); - auto menuLayer = new CallbackBasicLayer(true, MAX_LAYER, g_curCase); + auto menuLayer = new (std::nothrow) CallbackBasicLayer(true, MAX_LAYER, g_curCase); addChild(menuLayer); menuLayer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceContainerTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceContainerTest.cpp index 2ad8bea2d9..88ab1ab829 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceContainerTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceContainerTest.cpp @@ -152,7 +152,7 @@ void PerformanceContainerScene::initWithQuantityOfNodes(unsigned int nNodes) infoLabel->setPosition(Vec2(s.width/2, s.height/2-15)); addChild(infoLabel, 1, kTagInfoLayer); - auto menuLayer = new ContainerBasicLayer(true, MAX_LAYER, g_curCase); + auto menuLayer = new (std::nothrow) ContainerBasicLayer(true, MAX_LAYER, g_curCase); addChild(menuLayer); menuLayer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceEventDispatcherTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceEventDispatcherTest.cpp index f786ba12ad..8f515f9338 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceEventDispatcherTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceEventDispatcherTest.cpp @@ -150,7 +150,7 @@ void PerformanceEventDispatcherScene::initWithQuantityOfNodes(unsigned int nNode infoLabel->setPosition(Vec2(s.width/2, s.height/2-15)); addChild(infoLabel, 1, kTagInfoLayer); - auto menuLayer = new EventDispatcherBasicLayer(true, MAX_LAYER, g_curCase); + auto menuLayer = new (std::nothrow) EventDispatcherBasicLayer(true, MAX_LAYER, g_curCase); addChild(menuLayer); menuLayer->release(); @@ -344,7 +344,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); @@ -385,7 +385,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); @@ -426,7 +426,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); @@ -464,7 +464,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); @@ -523,7 +523,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); @@ -578,7 +578,7 @@ void TouchEventDispatchingPerfTest::generateTestFunctions() for (int i = 0; i < 4; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->autorelease(); touch->setTouchInfo(i, rand() % 200, rand() % 200); touches.push_back(touch); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceLabelTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceLabelTest.cpp index 0948b6ccfa..64c06ad151 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceLabelTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceLabelTest.cpp @@ -108,7 +108,7 @@ void LabelMainScene::initWithSubTest(int nodes) addChild(infoLabel, 1, kTagInfoLayer); // add menu - auto menuLayer = new LabelMenuLayer(true, TEST_COUNT, LabelMainScene::_s_labelCurCase); + auto menuLayer = new (std::nothrow) LabelMenuLayer(true, TEST_COUNT, LabelMainScene::_s_labelCurCase); addChild(menuLayer, 1, kTagMenuLayer); menuLayer->release(); @@ -441,7 +441,7 @@ void LabelMainScene::onAutoTest(Ref* sender) void runLabelTest() { LabelMainScene::_s_autoTest = false; - auto scene = new LabelMainScene; + auto scene = new (std::nothrow) LabelMainScene; scene->initWithSubTest(LabelMainScene::AUTO_TEST_NODE_NUM); Director::getInstance()->replaceScene(scene); scene->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceNodeChildrenTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceNodeChildrenTest.cpp index d715fc8b9a..d1336db62d 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceNodeChildrenTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceNodeChildrenTest.cpp @@ -176,7 +176,7 @@ void NodeChildrenMainScene::initWithQuantityOfNodes(unsigned int nNodes) infoLabel->setPosition(Vec2(s.width/2, s.height/2-15)); addChild(infoLabel, 1, kTagInfoLayer); - auto menuLayer = new NodeChildrenMenuLayer(true, MAX_LAYER, g_curCase); + auto menuLayer = new (std::nothrow) NodeChildrenMenuLayer(true, MAX_LAYER, g_curCase); addChild(menuLayer); menuLayer->release(); @@ -487,7 +487,7 @@ void AddSprite::update(float dt) if( totalToAdd > 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; int *zs = new int[totalToAdd]; // Don't include the sprite creation time and random as part of the profiling @@ -550,7 +550,7 @@ void AddSpriteSheet::update(float dt) if( totalToAdd > 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; int *zs = new int[totalToAdd]; // Don't include the sprite creation time and random as part of the profiling @@ -613,7 +613,7 @@ void GetSpriteSheet::update(float dt) if( totalToAdd > 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; int *zs = new int[totalToAdd]; // Don't include the sprite creation time and random as part of the profiling @@ -678,7 +678,7 @@ void RemoveSprite::update(float dt) if( totalToAdd > 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; // Don't include the sprite creation time as part of the profiling for(int i=0;i 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; // Don't include the sprite creation time as part of the profiling for(int i=0;i 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; // Don't include the sprite creation time as part of the profiling for(int i=0; i 0 ) { - Sprite **sprites = new Sprite*[totalToAdd]; + Sprite **sprites = new (std::nothrow) Sprite*[totalToAdd]; // Don't include the sprite's creation time as part of the profiling for(int i=0; isetPosition(Vec2(s.width-66,50)); // Next Prev Test - auto menuLayer = new ParticleMenuLayer(true, TEST_COUNT, s_nParCurIdx); + auto menuLayer = new (std::nothrow) ParticleMenuLayer(true, TEST_COUNT, s_nParCurIdx); addChild(menuLayer, 1, kTagMenuLayer); menuLayer->release(); @@ -191,7 +191,7 @@ void ParticleMainScene::createParticleSystem() //TODO: if (subtestNumber <= 3) // { -// particleSystem = new ParticleSystemPoint(); +// particleSystem = new (std::nothrow) ParticleSystemPoint(); // } // else { @@ -550,7 +550,7 @@ void ParticlePerformTest4::doTest() void runParticleTest() { - auto scene = new ParticlePerformTest1; + auto scene = new (std::nothrow) ParticlePerformTest1; scene->initWithSubTest(1, kNodesIncrease); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceRendererTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceRendererTest.cpp index 2d9b8a0a55..53bdbe5de6 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceRendererTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceRendererTest.cpp @@ -22,7 +22,7 @@ RenderTestLayer::~RenderTestLayer() Scene* RenderTestLayer::scene() { auto scene = Scene::create(); - RenderTestLayer *layer = new RenderTestLayer(); + RenderTestLayer *layer = new (std::nothrow) RenderTestLayer(); scene->addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceScenarioTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceScenarioTest.cpp index d26defbd55..8f586fc880 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceScenarioTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceScenarioTest.cpp @@ -355,7 +355,7 @@ std::string ScenarioTest::title() const Scene* ScenarioTest::scene() { auto scene = Scene::create(); - ScenarioTest *layer = new ScenarioTest(false, TEST_COUNT, s_nScenarioCurCase); + ScenarioTest *layer = new (std::nothrow) ScenarioTest(false, TEST_COUNT, s_nScenarioCurCase); scene->addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceSpriteTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceSpriteTest.cpp index 51194ee6a0..82c514c8c8 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceSpriteTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceSpriteTest.cpp @@ -327,25 +327,25 @@ void SpriteMenuLayer::showCurrentTest() switch (_curCase) { case 0: - scene = new SpritePerformTest1; + scene = new (std::nothrow) SpritePerformTest1; break; case 1: - scene = new SpritePerformTest2; + scene = new (std::nothrow) SpritePerformTest2; break; case 2: - scene = new SpritePerformTest3; + scene = new (std::nothrow) SpritePerformTest3; break; case 3: - scene = new SpritePerformTest4; + scene = new (std::nothrow) SpritePerformTest4; break; case 4: - scene = new SpritePerformTest5; + scene = new (std::nothrow) SpritePerformTest5; break; case 5: - scene = new SpritePerformTest6; + scene = new (std::nothrow) SpritePerformTest6; break; case 6: - scene = new SpritePerformTest7; + scene = new (std::nothrow) SpritePerformTest7; break; } @@ -372,7 +372,7 @@ void SpriteMainScene::initWithSubTest(int asubtest, int nNodes) //srandom(0); subtestNumber = asubtest; - _subTest = new SubTest; + _subTest = new (std::nothrow) SubTest; _subTest->initWithSubTest(asubtest, this); auto s = Director::getInstance()->getWinSize(); @@ -397,7 +397,7 @@ void SpriteMainScene::initWithSubTest(int asubtest, int nNodes) addChild(infoLabel, 1, kTagInfoLayer); // add menu - auto menuLayer = new SpriteMenuLayer(true, TEST_COUNT, SpriteMainScene::_s_nSpriteCurCase); + auto menuLayer = new (std::nothrow) SpriteMenuLayer(true, TEST_COUNT, SpriteMainScene::_s_nSpriteCurCase); addChild(menuLayer, 1, kTagMenuLayer); menuLayer->release(); @@ -622,25 +622,25 @@ void SpriteMainScene::autoShowSpriteTests(int curCase, int subTest,int nodes) switch (curCase) { case 0: - scene = new SpritePerformTest1; + scene = new (std::nothrow) SpritePerformTest1; break; case 1: - scene = new SpritePerformTest2; + scene = new (std::nothrow) SpritePerformTest2; break; case 2: - scene = new SpritePerformTest3; + scene = new (std::nothrow) SpritePerformTest3; break; case 3: - scene = new SpritePerformTest4; + scene = new (std::nothrow) SpritePerformTest4; break; case 4: - scene = new SpritePerformTest5; + scene = new (std::nothrow) SpritePerformTest5; break; case 5: - scene = new SpritePerformTest6; + scene = new (std::nothrow) SpritePerformTest6; break; case 6: - scene = new SpritePerformTest7; + scene = new (std::nothrow) SpritePerformTest7; break; } @@ -661,7 +661,7 @@ void SpriteMainScene::beginAutoTest() SpriteMainScene::_s_nSpriteCurCase = 0; } - auto scene = new SpritePerformTest1; + auto scene = new (std::nothrow) SpritePerformTest1; scene->initWithSubTest(1, 500); Director::getInstance()->replaceScene(scene); scene->release(); @@ -989,7 +989,7 @@ void SpritePerformTest7::doTest(Sprite* sprite) void runSpriteTest() { SpriteMainScene::_s_autoTest = false; - auto scene = new SpritePerformTest1; + auto scene = new (std::nothrow) SpritePerformTest1; scene->initWithSubTest(1, 50); Director::getInstance()->replaceScene(scene); scene->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTest.cpp index e86037c4dd..7a6089290f 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTest.cpp @@ -176,7 +176,7 @@ void PerformBasicLayer::onEnter() void PerformBasicLayer::toMainLayer(Ref* sender) { - auto scene = new PerformanceTestScene(); + auto scene = new (std::nothrow) PerformanceTestScene(); scene->runThisTest(); scene->release(); @@ -212,7 +212,7 @@ void PerformBasicLayer::backCallback(Ref* sender) void PerformanceTestScene::runThisTest() { - auto layer = new PerformanceMainLayer(); + auto layer = new (std::nothrow) PerformanceMainLayer(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTextureTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTextureTest.cpp index 13ea612adc..59088a0eb6 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTextureTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTextureTest.cpp @@ -348,7 +348,7 @@ std::string TextureTest::subtitle() const Scene* TextureTest::scene() { auto scene = Scene::create(); - TextureTest *layer = new TextureTest(false, TEST_COUNT, s_nTexCurCase); + TextureTest *layer = new (std::nothrow) TextureTest(false, TEST_COUNT, s_nTexCurCase); scene->addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTouchesTest.cpp b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTouchesTest.cpp index e510dcc78e..43c54e8a43 100644 --- a/tests/cpp-tests/Classes/PerformanceTest/PerformanceTouchesTest.cpp +++ b/tests/cpp-tests/Classes/PerformanceTest/PerformanceTouchesTest.cpp @@ -45,13 +45,13 @@ void TouchesMainScene::showCurrentTest() switch (_curCase) { case 0: - layer = new TouchesPerformTest1(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest1(true, TEST_COUNT, _curCase); break; case 1: - layer = new TouchesPerformTest2(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest2(true, TEST_COUNT, _curCase); break; case 2: - layer = new TouchesPerformTest3(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest3(true, TEST_COUNT, _curCase); break; } s_nTouchCurCase = _curCase; @@ -235,7 +235,7 @@ void TouchesPerformTest3::onEnter() for (int i = 0; i < TOUCHABLE_NODE_NUM; ++i) { int zorder = rand() % TOUCHABLE_NODE_NUM; - auto layer = new TouchableLayer(); + auto layer = new (std::nothrow) TouchableLayer(); auto listener = EventListenerTouchOneByOne::create(); listener->onTouchBegan = CC_CALLBACK_2(TouchableLayer::onTouchBegan, layer); @@ -256,7 +256,7 @@ void TouchesPerformTest3::onEnter() std::vector touches; for (int i = 0; i < EventTouch::MAX_TOUCHES; ++i) { - Touch* touch = new Touch(); + Touch* touch = new (std::nothrow) Touch(); touch->setTouchInfo(i, 10, (i+1) * 10); touches.push_back(touch); } @@ -298,13 +298,13 @@ void TouchesPerformTest3::showCurrentTest() switch (_curCase) { case 0: - layer = new TouchesPerformTest1(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest1(true, TEST_COUNT, _curCase); break; case 1: - layer = new TouchesPerformTest2(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest2(true, TEST_COUNT, _curCase); break; case 2: - layer = new TouchesPerformTest3(true, TEST_COUNT, _curCase); + layer = new (std::nothrow) TouchesPerformTest3(true, TEST_COUNT, _curCase); break; } s_nTouchCurCase = _curCase; @@ -323,7 +323,7 @@ void runTouchesTest() { s_nTouchCurCase = 0; auto scene = Scene::create(); - auto layer = new TouchesPerformTest1(true, TEST_COUNT, s_nTouchCurCase); + auto layer = new (std::nothrow) TouchesPerformTest1(true, TEST_COUNT, s_nTouchCurCase); scene->addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/PhysicsTest/PhysicsTest.cpp b/tests/cpp-tests/Classes/PhysicsTest/PhysicsTest.cpp index 1cca83cd11..31e49c61f9 100644 --- a/tests/cpp-tests/Classes/PhysicsTest/PhysicsTest.cpp +++ b/tests/cpp-tests/Classes/PhysicsTest/PhysicsTest.cpp @@ -123,7 +123,7 @@ std::string PhysicsDemo::subtitle() const void PhysicsDemo::restartCallback(Ref* sender) { - auto s = new PhysicsTestScene(); + auto s = new (std::nothrow) PhysicsTestScene(); s->addChild( restart() ); Director::getInstance()->replaceScene(s); s->release(); @@ -131,7 +131,7 @@ void PhysicsDemo::restartCallback(Ref* sender) void PhysicsDemo::nextCallback(Ref* sender) { - auto s = new PhysicsTestScene(); + auto s = new (std::nothrow) PhysicsTestScene(); s->addChild( next() ); Director::getInstance()->replaceScene(s); s->release(); @@ -139,7 +139,7 @@ void PhysicsDemo::nextCallback(Ref* sender) void PhysicsDemo::backCallback(Ref* sender) { - auto s = new PhysicsTestScene(); + auto s = new (std::nothrow) PhysicsTestScene(); s->addChild( back() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1215,7 +1215,7 @@ void PhysicsDemoSlice::clipPoly(PhysicsShapePolygon* shape, Vec2 normal, float d PhysicsBody* body = shape->getBody(); int count = shape->getPointsCount(); int pointsCount = 0; - Vec2* points = new Vec2[count + 1]; + Vec2* points = new (std::nothrow) Vec2[count + 1]; for (int i=0, j=count-1; iautorelease(); assert(obj->getReferenceCount() == 1); @@ -69,7 +69,7 @@ void ReleasePoolTestScene::runThisTest() for (int i = 0; i < 100; ++i) { snprintf(name, 20, "object%d", i); - TestObject *tmpObj = new TestObject(name); + TestObject *tmpObj = new (std::nothrow) TestObject(name); tmpObj->autorelease(); } } diff --git a/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp b/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp index c75eb75cd3..037e7a8e8d 100644 --- a/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp +++ b/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp @@ -51,7 +51,7 @@ void RenderTextureTest::onEnter() void RenderTextureTest::restartCallback(Ref* sender) { - auto s = new RenderTextureScene(); + auto s = new (std::nothrow) RenderTextureScene(); s->addChild(restartTestCase()); Director::getInstance()->replaceScene(s); @@ -60,7 +60,7 @@ void RenderTextureTest::restartCallback(Ref* sender) void RenderTextureTest::nextCallback(Ref* sender) { - auto s = new RenderTextureScene(); + auto s = new (std::nothrow) RenderTextureScene(); s->addChild( nextTestCase() ); Director::getInstance()->replaceScene(s); s->release(); @@ -68,7 +68,7 @@ void RenderTextureTest::nextCallback(Ref* sender) void RenderTextureTest::backCallback(Ref* sender) { - auto s = new RenderTextureScene(); + auto s = new (std::nothrow) RenderTextureScene(); s->addChild( backTestCase() ); Director::getInstance()->replaceScene(s); s->release(); @@ -666,7 +666,7 @@ SpriteRenderTextureBug::SimpleSprite::~SimpleSprite() SpriteRenderTextureBug::SimpleSprite* SpriteRenderTextureBug::SimpleSprite::create(const char* filename, const Rect &rect) { - auto sprite = new SimpleSprite(); + auto sprite = new (std::nothrow) SimpleSprite(); if (sprite && sprite->initWithFile(filename, rect)) { sprite->autorelease(); diff --git a/tests/cpp-tests/Classes/SceneTest/SceneTest.cpp b/tests/cpp-tests/Classes/SceneTest/SceneTest.cpp index 862943dd89..0b6516dfd1 100644 --- a/tests/cpp-tests/Classes/SceneTest/SceneTest.cpp +++ b/tests/cpp-tests/Classes/SceneTest/SceneTest.cpp @@ -62,8 +62,8 @@ SceneTestLayer1::~SceneTestLayer1() void SceneTestLayer1::onPushScene(Ref* sender) { - auto scene = new SceneTestScene(); - auto layer = new SceneTestLayer2(); + auto scene = new (std::nothrow) SceneTestScene(); + auto layer = new (std::nothrow) SceneTestLayer2(); scene->addChild( layer, 0 ); Director::getInstance()->pushScene( scene ); scene->release(); @@ -72,8 +72,8 @@ void SceneTestLayer1::onPushScene(Ref* sender) void SceneTestLayer1::onPushSceneTran(Ref* sender) { - auto scene = new SceneTestScene(); - auto layer = new SceneTestLayer2(); + auto scene = new (std::nothrow) SceneTestScene(); + auto layer = new (std::nothrow) SceneTestLayer2(); scene->addChild( layer, 0 ); Director::getInstance()->pushScene( TransitionSlideInT::create(1, scene) ); @@ -137,7 +137,7 @@ void SceneTestLayer2::onGoBack(Ref* sender) void SceneTestLayer2::onReplaceScene(Ref* sender) { - auto scene = new SceneTestScene(); + auto scene = new (std::nothrow) SceneTestScene(); auto layer = SceneTestLayer3::create(); scene->addChild( layer, 0 ); Director::getInstance()->replaceScene( scene ); @@ -147,7 +147,7 @@ void SceneTestLayer2::onReplaceScene(Ref* sender) void SceneTestLayer2::onReplaceSceneTran(Ref* sender) { - auto scene = new SceneTestScene(); + auto scene = new (std::nothrow) SceneTestScene(); auto layer = SceneTestLayer3::create(); scene->addChild( layer, 0 ); Director::getInstance()->replaceScene( TransitionFlipX::create(2, scene) ); @@ -223,7 +223,7 @@ void SceneTestLayer3::item3Clicked(Ref* sender) void SceneTestScene::runThisTest() { - auto layer = new SceneTestLayer1(); + auto layer = new (std::nothrow) SceneTestLayer1(); addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp index 070c31febc..657eece0c4 100644 --- a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp +++ b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp @@ -72,7 +72,7 @@ void SchedulerTestLayer::onEnter() void SchedulerTestLayer::backCallback(Ref* sender) { - auto scene = new SchedulerTestScene(); + auto scene = new (std::nothrow) SchedulerTestScene(); auto layer = backSchedulerTest(); scene->addChild(layer); @@ -82,7 +82,7 @@ void SchedulerTestLayer::backCallback(Ref* sender) void SchedulerTestLayer::nextCallback(Ref* sender) { - auto scene = new SchedulerTestScene(); + auto scene = new (std::nothrow) SchedulerTestScene(); auto layer = nextSchedulerTest(); scene->addChild(layer); @@ -92,7 +92,7 @@ void SchedulerTestLayer::nextCallback(Ref* sender) void SchedulerTestLayer::restartCallback(Ref* sender) { - auto scene = new SchedulerTestScene(); + auto scene = new (std::nothrow) SchedulerTestScene(); auto layer = restartSchedulerTest(); scene->addChild(layer); @@ -616,32 +616,32 @@ void SchedulerUpdate::onEnter() { SchedulerTestLayer::onEnter(); - auto d = new TestNode(); + auto d = new (std::nothrow) TestNode(); d->initWithString("---", 50); addChild(d); d->release(); - auto b = new TestNode(); + auto b = new (std::nothrow) TestNode(); b->initWithString("3rd", 0); addChild(b); b->release(); - auto a = new TestNode(); + auto a = new (std::nothrow) TestNode(); a->initWithString("1st", -10); addChild(a); a->release(); - auto c = new TestNode(); + auto c = new (std::nothrow) TestNode(); c->initWithString("4th", 10); addChild(c); c->release(); - auto e = new TestNode(); + auto e = new (std::nothrow) TestNode(); e->initWithString("5th", 20); addChild(e); e->release(); - auto f = new TestNode(); + auto f = new (std::nothrow) TestNode(); f->initWithString("2nd", -5); addChild(f); f->release(); @@ -964,12 +964,12 @@ void TwoSchedulers::onEnter() // // Create a new scheduler, and link it to the main scheduler - sched1 = new Scheduler(); + sched1 = new (std::nothrow) Scheduler(); defaultScheduler->scheduleUpdate(sched1, 0, false); // Create a new ActionManager, and link it to the new scheudler - actionManager1 = new ActionManager(); + actionManager1 = new (std::nothrow) ActionManager(); sched1->scheduleUpdate(actionManager1, 0, false); for( unsigned int i=0; i < 10; i++ ) @@ -991,11 +991,11 @@ void TwoSchedulers::onEnter() // // Create a new scheduler, and link it to the main scheduler - sched2 = new Scheduler();; + sched2 = new (std::nothrow) Scheduler();; defaultScheduler->scheduleUpdate(sched2, 0, false); // Create a new ActionManager, and link it to the new scheudler - actionManager2 = new ActionManager(); + actionManager2 = new (std::nothrow) ActionManager(); sched2->scheduleUpdate(actionManager2, 0, false); for( unsigned int i=0; i < 10; i++ ) { diff --git a/tests/cpp-tests/Classes/ShaderTest/ShaderTest.cpp b/tests/cpp-tests/Classes/ShaderTest/ShaderTest.cpp index b3c4c76249..d1b3e324b4 100644 --- a/tests/cpp-tests/Classes/ShaderTest/ShaderTest.cpp +++ b/tests/cpp-tests/Classes/ShaderTest/ShaderTest.cpp @@ -65,7 +65,7 @@ ShaderTestDemo::ShaderTestDemo() void ShaderTestDemo::backCallback(Ref* sender) { - auto s = new ShaderTestScene(); + auto s = new (std::nothrow) ShaderTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -73,7 +73,7 @@ void ShaderTestDemo::backCallback(Ref* sender) void ShaderTestDemo::nextCallback(Ref* sender) { - auto s = new ShaderTestScene();//CCScene::create(); + auto s = new (std::nothrow) ShaderTestScene();//CCScene::create(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -91,7 +91,7 @@ std::string ShaderTestDemo::subtitle() const void ShaderTestDemo::restartCallback(Ref* sender) { - auto s = new ShaderTestScene(); + auto s = new (std::nothrow) ShaderTestScene(); s->addChild(restartAction()); Director::getInstance()->replaceScene(s); @@ -122,7 +122,7 @@ ShaderNode::~ShaderNode() ShaderNode* ShaderNode::shaderNodeWithVertex(const std::string &vert, const std::string& frag) { - auto node = new ShaderNode(); + auto node = new (std::nothrow) ShaderNode(); node->initWithVertex(vert, frag); node->autorelease(); @@ -439,7 +439,7 @@ SpriteBlur::~SpriteBlur() SpriteBlur* SpriteBlur::create(const char *pszFileName) { - SpriteBlur* pRet = new SpriteBlur(); + SpriteBlur* pRet = new (std::nothrow) SpriteBlur(); if (pRet && pRet->initWithFile(pszFileName)) { pRet->autorelease(); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp b/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp index ced50721c7..a3062bb59a 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/DrawNode3D.cpp @@ -66,7 +66,7 @@ DrawNode3D::~DrawNode3D() DrawNode3D* DrawNode3D::create() { - DrawNode3D* ret = new DrawNode3D(); + DrawNode3D* ret = new (std::nothrow) DrawNode3D(); if (ret && ret->init()) { ret->autorelease(); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 1ec8d15e5d..0378994aee 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -124,7 +124,7 @@ void Sprite3DTestDemo::onEnter() void Sprite3DTestDemo::restartCallback(Ref* sender) { - auto s = new Sprite3DTestScene(); + auto s = new (std::nothrow) Sprite3DTestScene(); s->addChild(restartSpriteTestAction()); Director::getInstance()->replaceScene(s); @@ -133,7 +133,7 @@ void Sprite3DTestDemo::restartCallback(Ref* sender) void Sprite3DTestDemo::nextCallback(Ref* sender) { - auto s = new Sprite3DTestScene(); + auto s = new (std::nothrow) Sprite3DTestScene(); s->addChild( nextSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -141,7 +141,7 @@ void Sprite3DTestDemo::nextCallback(Ref* sender) void Sprite3DTestDemo::backCallback(Ref* sender) { - auto s = new Sprite3DTestScene(); + auto s = new (std::nothrow) Sprite3DTestScene(); s->addChild( backSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -321,7 +321,7 @@ static int tuple_sort( const std::tuple &tuple1 EffectSprite3D* EffectSprite3D::createFromObjFileAndTexture(const std::string &objFilePath, const std::string &textureFilePath) { - auto sprite = new EffectSprite3D(); + auto sprite = new (std::nothrow) EffectSprite3D(); if (sprite && sprite->initWithFile(objFilePath)) { sprite->autorelease(); @@ -338,7 +338,7 @@ EffectSprite3D* EffectSprite3D::create(const std::string &path) if (path.length() < 4) CCASSERT(false, "improper name specified when creating Sprite3D"); - auto sprite = new EffectSprite3D(); + auto sprite = new (std::nothrow) EffectSprite3D(); if (sprite && sprite->initWithFile(path)) { sprite->autorelease(); @@ -416,7 +416,7 @@ GLProgram* Effect3DOutline::getOrCreateProgram(bool isSkinned /* = false */ ) Effect3DOutline* Effect3DOutline::create() { - Effect3DOutline* effect = new Effect3DOutline(); + Effect3DOutline* effect = new (std::nothrow) Effect3DOutline(); if(effect && effect->init()) { effect->autorelease(); diff --git a/tests/cpp-tests/Classes/SpriteTest/SpriteTest.cpp b/tests/cpp-tests/Classes/SpriteTest/SpriteTest.cpp index 354820ba84..86700bfc09 100644 --- a/tests/cpp-tests/Classes/SpriteTest/SpriteTest.cpp +++ b/tests/cpp-tests/Classes/SpriteTest/SpriteTest.cpp @@ -195,7 +195,7 @@ void SpriteTestDemo::onEnter() void SpriteTestDemo::restartCallback(Ref* sender) { - auto s = new SpriteTestScene(); + auto s = new (std::nothrow) SpriteTestScene(); s->addChild(restartSpriteTestAction()); Director::getInstance()->replaceScene(s); @@ -204,7 +204,7 @@ void SpriteTestDemo::restartCallback(Ref* sender) void SpriteTestDemo::nextCallback(Ref* sender) { - auto s = new SpriteTestScene(); + auto s = new (std::nothrow) SpriteTestScene(); s->addChild( nextSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -212,7 +212,7 @@ void SpriteTestDemo::nextCallback(Ref* sender) void SpriteTestDemo::backCallback(Ref* sender) { - auto s = new SpriteTestScene(); + auto s = new (std::nothrow) SpriteTestScene(); s->addChild( backSpriteTestAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -1909,7 +1909,7 @@ void SpriteFramesFromFileContent::onEnter() Image image; image.initWithImageData((const uint8_t*)image_content.c_str(), image_content.size()); - Texture2D* texture = new Texture2D(); + Texture2D* texture = new (std::nothrow) Texture2D(); texture->initWithImage(&image); texture->autorelease(); @@ -3509,7 +3509,7 @@ public: DoubleSprite* DoubleSprite::create(const std::string& filename) { - auto sprite = new DoubleSprite; + auto sprite = new (std::nothrow) DoubleSprite; sprite->initWithFile(filename); sprite->autorelease(); return sprite; diff --git a/tests/cpp-tests/Classes/TextInputTest/TextInputTest.cpp b/tests/cpp-tests/Classes/TextInputTest/TextInputTest.cpp index ea29b7a992..d41e951171 100644 --- a/tests/cpp-tests/Classes/TextInputTest/TextInputTest.cpp +++ b/tests/cpp-tests/Classes/TextInputTest/TextInputTest.cpp @@ -30,7 +30,7 @@ KeyboardNotificationLayer* createTextInputTest(int nIndex) Layer* restartTextInputTest() { - TextInputTest* pContainerLayer = new TextInputTest; + TextInputTest* pContainerLayer = new (std::nothrow) TextInputTest; pContainerLayer->autorelease(); auto pTestLayer = createTextInputTest(testIdx); @@ -80,7 +80,7 @@ TextInputTest::TextInputTest() void TextInputTest::restartCallback(Ref* sender) { - auto s = new TextInputTestScene(); + auto s = new (std::nothrow) TextInputTestScene(); s->addChild(restartTextInputTest()); Director::getInstance()->replaceScene(s); @@ -89,7 +89,7 @@ void TextInputTest::restartCallback(Ref* sender) void TextInputTest::nextCallback(Ref* sender) { - auto s = new TextInputTestScene(); + auto s = new (std::nothrow) TextInputTestScene(); s->addChild( nextTextInputTest() ); Director::getInstance()->replaceScene(s); s->release(); @@ -97,7 +97,7 @@ void TextInputTest::nextCallback(Ref* sender) void TextInputTest::backCallback(Ref* sender) { - auto s = new TextInputTestScene(); + auto s = new (std::nothrow) TextInputTestScene(); s->addChild( backTextInputTest() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/TextureCacheTest/TextureCacheTest.cpp b/tests/cpp-tests/Classes/TextureCacheTest/TextureCacheTest.cpp index 52b3e5d864..433d0f83b4 100644 --- a/tests/cpp-tests/Classes/TextureCacheTest/TextureCacheTest.cpp +++ b/tests/cpp-tests/Classes/TextureCacheTest/TextureCacheTest.cpp @@ -130,7 +130,7 @@ void TextureCacheTest::addSprite() void TextureCacheTestScene::runThisTest() { - auto layer = new TextureCacheTest(); + auto layer = new (std::nothrow) TextureCacheTest(); addChild(layer); Director::getInstance()->replaceScene(this); diff --git a/tests/cpp-tests/Classes/TexturePackerEncryptionTest/TextureAtlasEncryptionTest.cpp b/tests/cpp-tests/Classes/TexturePackerEncryptionTest/TextureAtlasEncryptionTest.cpp index 7e1d939990..dc37f2fe0d 100644 --- a/tests/cpp-tests/Classes/TexturePackerEncryptionTest/TextureAtlasEncryptionTest.cpp +++ b/tests/cpp-tests/Classes/TexturePackerEncryptionTest/TextureAtlasEncryptionTest.cpp @@ -71,7 +71,7 @@ void TextureAtlasEncryptionDemo::onEnter() void TextureAtlasEncryptionTestScene::runThisTest() { - auto layer = new TextureAtlasEncryptionDemo; + auto layer = new (std::nothrow) TextureAtlasEncryptionDemo; layer->autorelease(); addChild(layer); diff --git a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp index 2eb4483885..1d380d63df 100644 --- a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp +++ b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp @@ -123,7 +123,7 @@ void TileDemo::onExit() } void TileDemo::restartCallback(Ref* sender) { - auto s = new TileMapTestScene(); + auto s = new (std::nothrow) TileMapTestScene(); s->addChild(restartTileMapAction()); Director::getInstance()->replaceScene(s); @@ -132,7 +132,7 @@ void TileDemo::restartCallback(Ref* sender) void TileDemo::nextCallback(Ref* sender) { - auto s = new TileMapTestScene(); + auto s = new (std::nothrow) TileMapTestScene(); s->addChild( nextTileMapAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -140,7 +140,7 @@ void TileDemo::nextCallback(Ref* sender) void TileDemo::backCallback(Ref* sender) { - auto s = new TileMapTestScene(); + auto s = new (std::nothrow) TileMapTestScene(); s->addChild( backTileMapAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp b/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp index bac5608530..7208449203 100644 --- a/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp +++ b/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp @@ -129,7 +129,7 @@ void TileDemoNew::onExit() } void TileDemoNew::restartCallback(Ref* sender) { - auto s = new TileMapTestSceneNew(); + auto s = new (std::nothrow) TileMapTestSceneNew(); s->addChild(restartTileMapAction()); Director::getInstance()->replaceScene(s); @@ -138,7 +138,7 @@ void TileDemoNew::restartCallback(Ref* sender) void TileDemoNew::nextCallback(Ref* sender) { - auto s = new TileMapTestSceneNew(); + auto s = new (std::nothrow) TileMapTestSceneNew(); s->addChild( nextTileMapAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -146,7 +146,7 @@ void TileDemoNew::nextCallback(Ref* sender) void TileDemoNew::backCallback(Ref* sender) { - auto s = new TileMapTestSceneNew(); + auto s = new (std::nothrow) TileMapTestSceneNew(); s->addChild( backTileMapAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/TouchesTest/Ball.cpp b/tests/cpp-tests/Classes/TouchesTest/Ball.cpp index 6dddfc50f0..f63b2a9af6 100644 --- a/tests/cpp-tests/Classes/TouchesTest/Ball.cpp +++ b/tests/cpp-tests/Classes/TouchesTest/Ball.cpp @@ -17,7 +17,7 @@ float Ball::radius() Ball* Ball::ballWithTexture(Texture2D* aTexture) { - Ball* pBall = new Ball(); + Ball* pBall = new (std::nothrow) Ball(); pBall->initWithTexture(aTexture); pBall->autorelease(); diff --git a/tests/cpp-tests/Classes/TouchesTest/Paddle.cpp b/tests/cpp-tests/Classes/TouchesTest/Paddle.cpp index b173580d75..abcfee2243 100644 --- a/tests/cpp-tests/Classes/TouchesTest/Paddle.cpp +++ b/tests/cpp-tests/Classes/TouchesTest/Paddle.cpp @@ -16,7 +16,7 @@ Rect Paddle::getRect() Paddle* Paddle::createWithTexture(Texture2D* aTexture) { - Paddle* pPaddle = new Paddle(); + Paddle* pPaddle = new (std::nothrow) Paddle(); pPaddle->initWithTexture(aTexture); pPaddle->autorelease(); diff --git a/tests/cpp-tests/Classes/TouchesTest/TouchesTest.cpp b/tests/cpp-tests/Classes/TouchesTest/TouchesTest.cpp index a752f6d8c8..effba6ff98 100644 --- a/tests/cpp-tests/Classes/TouchesTest/TouchesTest.cpp +++ b/tests/cpp-tests/Classes/TouchesTest/TouchesTest.cpp @@ -25,7 +25,7 @@ enum //------------------------------------------------------------------ PongScene::PongScene() { - auto pongLayer = new PongLayer();//PongLayer::create(); + auto pongLayer = new (std::nothrow) PongLayer();//PongLayer::create(); addChild(pongLayer); pongLayer->release(); } diff --git a/tests/cpp-tests/Classes/TransitionsTest/TransitionsTest.cpp b/tests/cpp-tests/Classes/TransitionsTest/TransitionsTest.cpp index 7f9ec9103b..df90498ac0 100644 --- a/tests/cpp-tests/Classes/TransitionsTest/TransitionsTest.cpp +++ b/tests/cpp-tests/Classes/TransitionsTest/TransitionsTest.cpp @@ -246,7 +246,7 @@ TransitionScene* createTransition(int index, float t, Scene* s) void TransitionsTestScene::runThisTest() { - auto layer = new TestLayer1(); + auto layer = new (std::nothrow) TestLayer1(); addChild(layer); layer->release(); @@ -299,9 +299,9 @@ TestLayer1::~TestLayer1(void) void TestLayer1::restartCallback(Ref* sender) { - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer2(); + auto layer = new (std::nothrow) TestLayer2(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); @@ -318,9 +318,9 @@ void TestLayer1::nextCallback(Ref* sender) s_nSceneIdx++; s_nSceneIdx = s_nSceneIdx % MAX_LAYER; - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer2(); + auto layer = new (std::nothrow) TestLayer2(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); @@ -339,9 +339,9 @@ void TestLayer1::backCallback(Ref* sender) if( s_nSceneIdx < 0 ) s_nSceneIdx += total; - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer2(); + auto layer = new (std::nothrow) TestLayer2(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); @@ -429,9 +429,9 @@ TestLayer2::~TestLayer2() void TestLayer2::restartCallback(Ref* sender) { - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer1(); + auto layer = new (std::nothrow) TestLayer1(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); @@ -448,9 +448,9 @@ void TestLayer2::nextCallback(Ref* sender) s_nSceneIdx++; s_nSceneIdx = s_nSceneIdx % MAX_LAYER; - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer1(); + auto layer = new (std::nothrow) TestLayer1(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); @@ -469,9 +469,9 @@ void TestLayer2::backCallback(Ref* sender) if( s_nSceneIdx < 0 ) s_nSceneIdx += total; - auto s = new TransitionsTestScene(); + auto s = new (std::nothrow) TransitionsTestScene(); - auto layer = new TestLayer1(); + auto layer = new (std::nothrow) TestLayer1(); s->addChild(layer); auto scene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s); diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocoStudioGUITest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocoStudioGUITest.cpp index c6e0083a63..d45b106e10 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocoStudioGUITest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocoStudioGUITest.cpp @@ -26,7 +26,7 @@ g_guisTests[] = "GUI Dynamic Create Test", [](Ref* sender) { - CocosGUITestScene *scene = new CocosGUITestScene(); + CocosGUITestScene *scene = new (std::nothrow) CocosGUITestScene(); scene->runThisTest(); scene->release(); } @@ -35,7 +35,7 @@ g_guisTests[] = "GUI Editor Test", [](Ref* sender) { - GUIEditorTestScene* scene = new GUIEditorTestScene(); + GUIEditorTestScene* scene = new (std::nothrow) GUIEditorTestScene(); scene->runThisTest(); scene->release(); } @@ -44,7 +44,7 @@ g_guisTests[] = "Custom GUI Test", [](Ref* sender) { - CustomGUITestScene* scene = new CustomGUITestScene(); + CustomGUITestScene* scene = new (std::nothrow) CustomGUITestScene(); scene->runThisTest(); scene->release(); } @@ -53,7 +53,7 @@ g_guisTests[] = "Cocostudio Parser Test", [](Ref* sender) { - CocostudioParserTestScene* scene = new CocostudioParserTestScene(); + CocostudioParserTestScene* scene = new (std::nothrow) CocostudioParserTestScene(); scene->runThisTest(); scene->release(); } @@ -129,7 +129,7 @@ void CocoStudioGUITestScene::onEnter() void CocoStudioGUITestScene::runThisTest() { - Layer* pLayer = new CocoStudioGUIMainLayer(); + Layer* pLayer = new (std::nothrow) CocoStudioGUIMainLayer(); addChild(pLayer); pLayer->release(); @@ -140,7 +140,7 @@ void CocoStudioGUITestScene::BackCallback(Ref* pSender) { auto scene = Scene::create(); - auto layer = new TestController(); + auto layer = new (std::nothrow) TestController(); scene->addChild(layer); layer->release(); diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocosGUIScene.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocosGUIScene.cpp index 51fb94d967..ec8f1ee6f3 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocosGUIScene.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocosGUIScene.cpp @@ -332,7 +332,7 @@ void CocosGUITestScene::onEnter() void CocosGUITestScene::runThisTest() { - auto layer = new CocosGUITestMainLayer(); + auto layer = new (std::nothrow) CocosGUITestMainLayer(); addChild(layer); layer->release(); @@ -341,7 +341,7 @@ void CocosGUITestScene::runThisTest() void CocosGUITestScene::BackCallback(Ref* pSender) { - CocoStudioGUITestScene* pScene = new CocoStudioGUITestScene(); + CocoStudioGUITestScene* pScene = new (std::nothrow) CocoStudioGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest.cpp index 05b7a8055b..9dc23df3a2 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest.cpp @@ -44,7 +44,7 @@ g_guisTests[] = "cocostudio 1.3", [](Ref* sender) { - CocostudioParserJsonScene* pScene = new CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_3/CocostudioV1_3_1.ExportJson"); + CocostudioParserJsonScene* pScene = new (std::nothrow) CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_3/CocostudioV1_3_1.ExportJson"); pScene->runThisTest(); pScene->release(); } @@ -53,7 +53,7 @@ g_guisTests[] = "cocostudio 1.4", [](Ref* sender) { - CocostudioParserJsonScene* pScene = new CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_4/Cocostudio1_4_1.ExportJson"); + CocostudioParserJsonScene* pScene = new (std::nothrow) CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_4/Cocostudio1_4_1.ExportJson"); pScene->runThisTest(); pScene->release(); } @@ -62,7 +62,7 @@ g_guisTests[] = "cocostudio 1.5", [](Ref* sender) { - CocostudioParserJsonScene* pScene = new CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_5/Cocostudio1_5_1.ExportJson"); + CocostudioParserJsonScene* pScene = new (std::nothrow) CocostudioParserJsonScene("cocosui/UIEditorTest/cocostudio1_5/Cocostudio1_5_1.ExportJson"); pScene->runThisTest(); pScene->release(); } @@ -140,7 +140,7 @@ void CocostudioParserTestScene::onEnter() void CocostudioParserTestScene::runThisTest() { - Layer* pLayer = new CocostudioParserTestMainLayer(); + Layer* pLayer = new (std::nothrow) CocostudioParserTestMainLayer(); addChild(pLayer); pLayer->release(); @@ -149,7 +149,7 @@ void CocostudioParserTestScene::runThisTest() void CocostudioParserTestScene::BackCallback(Ref* pSender) { - CocoStudioGUITestScene* pScene = new CocoStudioGUITestScene(); + CocoStudioGUITestScene* pScene = new (std::nothrow) CocoStudioGUITestScene(); pScene->runThisTest(); pScene->release(); } \ No newline at end of file diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest/CocostudioParserJsonTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest/CocostudioParserJsonTest.cpp index 822bbed3fe..d10e00e064 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest/CocostudioParserJsonTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CocostudioParserTest/CocostudioParserJsonTest.cpp @@ -86,7 +86,7 @@ void CocostudioParserJsonScene::onEnter() void CocostudioParserJsonScene::runThisTest() { - Layer* pLayer = new CocostudioParserJsonLayer(_jsonFile); + Layer* pLayer = new (std::nothrow) CocostudioParserJsonLayer(_jsonFile); addChild(pLayer); pLayer->release(); @@ -95,7 +95,7 @@ void CocostudioParserJsonScene::runThisTest() void CocostudioParserJsonScene::BackCallback(Ref* pSender) { - CocostudioParserTestScene* pScene = new CocostudioParserTestScene(); + CocostudioParserTestScene* pScene = new (std::nothrow) CocostudioParserTestScene(); pScene->runThisTest(); pScene->release(); } \ No newline at end of file diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomGUIScene.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomGUIScene.cpp index a82f5c9384..3c58ce6e9b 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomGUIScene.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomGUIScene.cpp @@ -23,7 +23,7 @@ g_guisTests[] = "custom gui image Test", [](Ref* sender) { - CustomImageScene* pScene = new CustomImageScene(); + CustomImageScene* pScene = new (std::nothrow) CustomImageScene(); pScene->runThisTest(); pScene->release(); } @@ -32,7 +32,7 @@ g_guisTests[] = "custom gui particle widget Test", [](Ref* sender) { - CustomParticleWidgetScene* pScene = new CustomParticleWidgetScene(); + CustomParticleWidgetScene* pScene = new (std::nothrow) CustomParticleWidgetScene(); pScene->runThisTest(); pScene->release(); } @@ -132,7 +132,7 @@ void CustomGUITestScene::onEnter() void CustomGUITestScene::runThisTest() { - Layer* pLayer = new CustomGUITestMainLayer(); + Layer* pLayer = new (std::nothrow) CustomGUITestMainLayer(); addChild(pLayer); pLayer->release(); @@ -141,7 +141,7 @@ void CustomGUITestScene::runThisTest() void CustomGUITestScene::BackCallback(Ref* pSender) { - CocoStudioGUITestScene* pScene = new CocoStudioGUITestScene(); + CocoStudioGUITestScene* pScene = new (std::nothrow) CocoStudioGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomImageTest/CustomImageTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomImageTest/CustomImageTest.cpp index c59549a914..c90610302d 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomImageTest/CustomImageTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomImageTest/CustomImageTest.cpp @@ -50,7 +50,7 @@ void CustomImageScene::onEnter() void CustomImageScene::runThisTest() { - Layer* pLayer = new CustomImageLayer(); + Layer* pLayer = new (std::nothrow) CustomImageLayer(); addChild(pLayer); pLayer->release(); @@ -59,7 +59,7 @@ void CustomImageScene::runThisTest() void CustomImageScene::BackCallback(Ref* pSender) { - CustomGUITestScene* pScene = new CustomGUITestScene(); + CustomGUITestScene* pScene = new (std::nothrow) CustomGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomParticleWidgetTest/CustomParticleWidgetTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomParticleWidgetTest/CustomParticleWidgetTest.cpp index 8724ddd8ce..6732402dc1 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomParticleWidgetTest/CustomParticleWidgetTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomTest/CustomParticleWidgetTest/CustomParticleWidgetTest.cpp @@ -46,7 +46,7 @@ void CustomParticleWidgetScene::onEnter() { CCScene::onEnter(); - Layer* pLayer = new CustomParticleWidgetLayer(); + Layer* pLayer = new (std::nothrow) CustomParticleWidgetLayer(); addChild(pLayer); pLayer->release(); @@ -64,7 +64,7 @@ void CustomParticleWidgetScene::onEnter() void CustomParticleWidgetScene::runThisTest() { - Layer* pLayer = new CustomParticleWidgetLayer(); + Layer* pLayer = new (std::nothrow) CustomParticleWidgetLayer(); addChild(pLayer); pLayer->release(); @@ -73,7 +73,7 @@ void CustomParticleWidgetScene::runThisTest() void CustomParticleWidgetScene::BackCallback(Ref* pSender) { - CustomGUITestScene* pScene = new CustomGUITestScene(); + CustomGUITestScene* pScene = new (std::nothrow) CustomGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageView.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageView.cpp index fdef802b13..2ba8aa3af3 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageView.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageView.cpp @@ -24,7 +24,7 @@ Ref* CustomImageView::createInstance() CustomImageView* CustomImageView::create() { - CustomImageView* custom = new CustomImageView(); + CustomImageView* custom = new (std::nothrow) CustomImageView(); if (custom && custom->init()) { diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageViewReader.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageViewReader.cpp index c5067b7a0e..6bb49b9b79 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageViewReader.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageViewReader.cpp @@ -24,7 +24,7 @@ CustomImageViewReader* CustomImageViewReader::getInstance() { if (!_instanceCustomImageViewReader) { - _instanceCustomImageViewReader = new CustomImageViewReader(); + _instanceCustomImageViewReader = new (std::nothrow) CustomImageViewReader(); } return _instanceCustomImageViewReader; } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidget.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidget.cpp index af2f041c81..b4d8b6e7e1 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidget.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidget.cpp @@ -32,7 +32,7 @@ Ref* CustomParticleWidget::createInstance() CustomParticleWidget* CustomParticleWidget::create() { - CustomParticleWidget* custom = new CustomParticleWidget(); + CustomParticleWidget* custom = new (std::nothrow) CustomParticleWidget(); if (custom && custom->init()) { diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidgetReader.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidgetReader.cpp index 09079bdf7a..c47c969c37 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidgetReader.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidgetReader.cpp @@ -31,7 +31,7 @@ CustomParticleWidgetReader* CustomParticleWidgetReader::getInstance() { if (!_instanceCustomParticleWidgetReader) { - _instanceCustomParticleWidgetReader = new CustomParticleWidgetReader(); + _instanceCustomParticleWidgetReader = new (std::nothrow) CustomParticleWidgetReader(); } return _instanceCustomParticleWidgetReader; } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomReader.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomReader.cpp index 13e7e8b804..a8d7854271 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomReader.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/CustomWidget/CustomReader.cpp @@ -19,7 +19,7 @@ CustomReader* CustomReader::getInstance() { if (!_instanceCustomReader) { - _instanceCustomReader = new CustomReader(); + _instanceCustomReader = new (std::nothrow) CustomReader(); } return _instanceCustomReader; } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/GUIEditorTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/GUIEditorTest.cpp index 3eaef33bb4..f35e4d904a 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/GUIEditorTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/GUIEditorTest.cpp @@ -347,7 +347,7 @@ void GUIEditorTestScene::onEnter() void GUIEditorTestScene::runThisTest() { - auto layer = new GUIEditorMainLayer(); + auto layer = new (std::nothrow) GUIEditorMainLayer(); addChild(layer); layer->release(); @@ -356,7 +356,7 @@ void GUIEditorTestScene::runThisTest() void GUIEditorTestScene::BackCallback(Ref* pSender) { - CocoStudioGUITestScene* pScene = new CocoStudioGUITestScene(); + CocoStudioGUITestScene* pScene = new (std::nothrow) CocoStudioGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.cpp index 1eabf9a281..3f212dbddf 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.cpp @@ -82,7 +82,7 @@ void UIScene::toCocosGUITestScene(Ref* sender, Widget::TouchEventType type) { UISceneManager::purgeUISceneManager(); - CocosGUITestScene* pScene = new CocosGUITestScene(); + CocosGUITestScene* pScene = new (std::nothrow) CocosGUITestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.h b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.h index 28a1b172e7..3279022d33 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.h +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene.h @@ -38,7 +38,7 @@ public: \ static Scene* sceneWithTitle(const char * title) \ { \ Scene* pScene = Scene::create(); \ - UIScene* uiLayer = new UIScene(); \ + UIScene* uiLayer = new (std::nothrow) UIScene(); \ if (uiLayer && uiLayer->init()) \ { \ uiLayer->autorelease(); \ diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager.cpp index 11e781e255..39ac466605 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager.cpp @@ -134,7 +134,7 @@ UISceneManager * UISceneManager::sharedUISceneManager() { if (sharedInstance == nullptr) { - sharedInstance = new UISceneManager(); + sharedInstance = new (std::nothrow) UISceneManager(); } return sharedInstance; } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager_Editor.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager_Editor.cpp index 38d81fc076..886d815f69 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager_Editor.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISceneManager_Editor.cpp @@ -64,7 +64,7 @@ UISceneManager_Editor* UISceneManager_Editor::sharedUISceneManager_Editor() { if (sharedInstance == nullptr) { - sharedInstance = new UISceneManager_Editor(); + sharedInstance = new (std::nothrow) UISceneManager_Editor(); } return sharedInstance; } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.cpp index 0f9a93c5af..cbb113cc8e 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.cpp @@ -91,7 +91,7 @@ void UIScene_Editor::toGUIEditorTestScene(Ref* sender, Widget::TouchEventType ev { UISceneManager_Editor::sharedUISceneManager_Editor()->purge(); - GUIEditorTestScene* pScene = new GUIEditorTestScene(); + GUIEditorTestScene* pScene = new (std::nothrow) GUIEditorTestScene(); pScene->runThisTest(); pScene->release(); } diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.h b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.h index d4507fc753..15f80cfd2f 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.h +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScene_Editor.h @@ -39,7 +39,7 @@ public: \ static Scene* sceneWithTitle(const char * title) \ { \ Scene* pScene = Scene::create(); \ - UIScene_Editor* uiLayer = new UIScene_Editor(); \ + UIScene_Editor* uiLayer = new (std::nothrow) UIScene_Editor(); \ if (uiLayer && uiLayer->init()) \ { \ uiLayer->autorelease(); \ diff --git a/tests/cpp-tests/Classes/UITest/UITest.cpp b/tests/cpp-tests/Classes/UITest/UITest.cpp index 242b7dd4e0..22fc8998f8 100644 --- a/tests/cpp-tests/Classes/UITest/UITest.cpp +++ b/tests/cpp-tests/Classes/UITest/UITest.cpp @@ -3,6 +3,6 @@ void UITestScene::runThisTest() { - CocoStudioGUITestScene* pScene = new CocoStudioGUITestScene(); + CocoStudioGUITestScene* pScene = new (std::nothrow) CocoStudioGUITestScene(); pScene->runThisTest(); } diff --git a/tests/cpp-tests/Classes/UnitTest/UnitTest.cpp b/tests/cpp-tests/Classes/UnitTest/UnitTest.cpp index d81084a17c..af1f9bb70f 100644 --- a/tests/cpp-tests/Classes/UnitTest/UnitTest.cpp +++ b/tests/cpp-tests/Classes/UnitTest/UnitTest.cpp @@ -69,7 +69,7 @@ std::string UnitTestDemo::subtitle() const void UnitTestDemo::restartCallback(Ref* sender) { - auto s = new UnitTestScene(); + auto s = new (std::nothrow) UnitTestScene(); s->addChild( restartAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -77,7 +77,7 @@ void UnitTestDemo::restartCallback(Ref* sender) void UnitTestDemo::nextCallback(Ref* sender) { - auto s = new UnitTestScene(); + auto s = new (std::nothrow) UnitTestScene(); s->addChild( nextAction() ); Director::getInstance()->replaceScene(s); s->release(); @@ -85,7 +85,7 @@ void UnitTestDemo::nextCallback(Ref* sender) void UnitTestDemo::backCallback(Ref* sender) { - auto s = new UnitTestScene(); + auto s = new (std::nothrow) UnitTestScene(); s->addChild( backAction() ); Director::getInstance()->replaceScene(s); s->release(); diff --git a/tests/cpp-tests/Classes/UserDefaultTest/UserDefaultTest.cpp b/tests/cpp-tests/Classes/UserDefaultTest/UserDefaultTest.cpp index 05011cef6a..bed0346033 100644 --- a/tests/cpp-tests/Classes/UserDefaultTest/UserDefaultTest.cpp +++ b/tests/cpp-tests/Classes/UserDefaultTest/UserDefaultTest.cpp @@ -97,7 +97,7 @@ UserDefaultTest::~UserDefaultTest() void UserDefaultTestScene::runThisTest() { - auto layer = new UserDefaultTest(); + auto layer = new (std::nothrow) UserDefaultTest(); addChild(layer); Director::getInstance()->replaceScene(this); diff --git a/tests/cpp-tests/Classes/controller.cpp b/tests/cpp-tests/Classes/controller.cpp index 528dedaa6f..4510a2e2a6 100644 --- a/tests/cpp-tests/Classes/controller.cpp +++ b/tests/cpp-tests/Classes/controller.cpp @@ -362,7 +362,7 @@ void TestController::addConsoleAutoTest() sched->performFunctionInCocosThread( [&]() { auto scene = Scene::create(); - auto layer = new TestController(); + auto layer = new (std::nothrow) TestController(); scene->addChild(layer); layer->release(); Director::getInstance()->replaceScene(scene); diff --git a/tests/cpp-tests/Classes/testBasic.cpp b/tests/cpp-tests/Classes/testBasic.cpp index e60f288055..72294addee 100644 --- a/tests/cpp-tests/Classes/testBasic.cpp +++ b/tests/cpp-tests/Classes/testBasic.cpp @@ -23,7 +23,7 @@ void testScene_callback(Ref *sender ) { auto scene = Scene::create(); - auto layer = new TestController(); + auto layer = new (std::nothrow) TestController(); scene->addChild(layer); layer->release(); diff --git a/tests/lua-game-controller-test/project/proj.android/jni/main.cpp b/tests/lua-game-controller-test/project/proj.android/jni/main.cpp index 5199d12ab4..882c5632e7 100644 --- a/tests/lua-game-controller-test/project/proj.android/jni/main.cpp +++ b/tests/lua-game-controller-test/project/proj.android/jni/main.cpp @@ -11,5 +11,5 @@ using namespace cocos2d; void cocos_android_app_init (JNIEnv* env, jobject thiz) { LOGD("cocos_android_app_init"); - AppDelegate *pAppDelegate = new AppDelegate(); + AppDelegate *pAppDelegate = new (std::nothrow) AppDelegate(); } From 781b0bc47827544d29caf6896887e0be07c27b38 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Wed, 27 Aug 2014 16:35:13 -0700 Subject: [PATCH 28/32] properties revert back to 10 --- cocos/platform/android/java/project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cocos/platform/android/java/project.properties b/cocos/platform/android/java/project.properties index 6cd1f6a8ff..88ca83f9d0 100644 --- a/cocos/platform/android/java/project.properties +++ b/cocos/platform/android/java/project.properties @@ -12,4 +12,4 @@ android.library=true # Project target. -target=android-20 +target=android-10 From 837e8665b5385b9a1c92cf179d108718a2665cf0 Mon Sep 17 00:00:00 2001 From: Dhilan007 Date: Thu, 28 Aug 2014 09:46:09 +0800 Subject: [PATCH 29/32] remove redundant LOCAL_STATIC_LIBRARIES --- cocos/editor-support/cocosbuilder/Android.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk index 747d9827cd..eaafab037f 100644 --- a/cocos/editor-support/cocosbuilder/Android.mk +++ b/cocos/editor-support/cocosbuilder/Android.mk @@ -38,7 +38,6 @@ $(LOCAL_PATH)/../../ \ $(LOCAL_PATH)/../../platform/android \ $(LOCAL_PATH)/../../editor-support -LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static LOCAL_STATIC_LIBRARIES := cocos_extension_static include $(BUILD_STATIC_LIBRARY) From 31a99979229261bc3b0bd76974bdf0237e19a317 Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Thu, 28 Aug 2014 02:15:00 +0000 Subject: [PATCH 30/32] [AUTO]: updating luabinding automatically --- .../auto/api/lua_cocos2dx_auto_api.lua | 34 +- .../api/lua_cocos2dx_physics_auto_api.lua | 20 +- .../lua-bindings/auto/lua_cocos2dx_auto.cpp | 3670 ++++++++--------- .../auto/lua_cocos2dx_physics_auto.cpp | 1986 ++++----- 4 files changed, 2855 insertions(+), 2855 deletions(-) diff --git a/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_auto_api.lua b/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_auto_api.lua index f16e53e365..92622ff8ba 100644 --- a/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_auto_api.lua +++ b/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_auto_api.lua @@ -12,18 +12,8 @@ -------------------------------------------------------- --- the cc EventListener --- @field [parent=#cc] EventListener#EventListener EventListener preloaded module - - --------------------------------------------------------- --- the cc Event --- @field [parent=#cc] Event#Event Event preloaded module - - --------------------------------------------------------- --- the cc EventDispatcher --- @field [parent=#cc] EventDispatcher#EventDispatcher EventDispatcher preloaded module +-- the cc Texture2D +-- @field [parent=#cc] Texture2D#Texture2D Texture2D preloaded module -------------------------------------------------------- @@ -31,6 +21,11 @@ -- @field [parent=#cc] Touch#Touch Touch preloaded module +-------------------------------------------------------- +-- the cc Event +-- @field [parent=#cc] Event#Event Event preloaded module + + -------------------------------------------------------- -- the cc EventTouch -- @field [parent=#cc] EventTouch#EventTouch EventTouch preloaded module @@ -41,11 +36,6 @@ -- @field [parent=#cc] EventKeyboard#EventKeyboard EventKeyboard preloaded module --------------------------------------------------------- --- the cc Texture2D --- @field [parent=#cc] Texture2D#Texture2D Texture2D preloaded module - - -------------------------------------------------------- -- the cc Node -- @field [parent=#cc] Node#Node Node preloaded module @@ -106,6 +96,16 @@ -- @field [parent=#cc] Camera#Camera Camera preloaded module +-------------------------------------------------------- +-- the cc EventListener +-- @field [parent=#cc] EventListener#EventListener EventListener preloaded module + + +-------------------------------------------------------- +-- the cc EventDispatcher +-- @field [parent=#cc] EventDispatcher#EventDispatcher EventDispatcher preloaded module + + -------------------------------------------------------- -- the cc EventListenerTouchOneByOne -- @field [parent=#cc] EventListenerTouchOneByOne#EventListenerTouchOneByOne EventListenerTouchOneByOne preloaded module diff --git a/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_physics_auto_api.lua b/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_physics_auto_api.lua index 1776a12400..ce2faeb562 100644 --- a/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_physics_auto_api.lua +++ b/cocos/scripting/lua-bindings/auto/api/lua_cocos2dx_physics_auto_api.lua @@ -46,16 +46,6 @@ -- @field [parent=#cc] PhysicsBody#PhysicsBody PhysicsBody preloaded module --------------------------------------------------------- --- the cc PhysicsWorld --- @field [parent=#cc] PhysicsWorld#PhysicsWorld PhysicsWorld preloaded module - - --------------------------------------------------------- --- the cc PhysicsDebugDraw --- @field [parent=#cc] PhysicsDebugDraw#PhysicsDebugDraw PhysicsDebugDraw preloaded module - - -------------------------------------------------------- -- the cc PhysicsContact -- @field [parent=#cc] PhysicsContact#PhysicsContact PhysicsContact preloaded module @@ -151,4 +141,14 @@ -- @field [parent=#cc] PhysicsJointMotor#PhysicsJointMotor PhysicsJointMotor preloaded module +-------------------------------------------------------- +-- the cc PhysicsWorld +-- @field [parent=#cc] PhysicsWorld#PhysicsWorld PhysicsWorld preloaded module + + +-------------------------------------------------------- +-- the cc PhysicsDebugDraw +-- @field [parent=#cc] PhysicsDebugDraw#PhysicsDebugDraw PhysicsDebugDraw preloaded module + + return nil diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp index b12c9c95bc..02ae6b060a 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp @@ -364,1841 +364,6 @@ int lua_register_cocos2dx_Console(lua_State* tolua_S) return 1; } -int lua_cocos2dx_EventListener_setEnabled(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventListener* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_setEnabled'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - bool arg0; - - ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.EventListener:setEnabled"); - if(!ok) - return 0; - cobj->setEnabled(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:setEnabled",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_setEnabled'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventListener_clone(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventListener* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_clone'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::EventListener* ret = cobj->clone(); - object_to_luaval(tolua_S, "cc.EventListener",(cocos2d::EventListener*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:clone",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_clone'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventListener_isEnabled(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventListener* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_isEnabled'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - bool ret = cobj->isEnabled(); - tolua_pushboolean(tolua_S,(bool)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:isEnabled",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_isEnabled'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventListener_checkAvailable(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventListener* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_checkAvailable'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - bool ret = cobj->checkAvailable(); - tolua_pushboolean(tolua_S,(bool)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:checkAvailable",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_checkAvailable'.",&tolua_err); -#endif - - return 0; -} -static int lua_cocos2dx_EventListener_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (EventListener)"); - return 0; -} - -int lua_register_cocos2dx_EventListener(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.EventListener"); - tolua_cclass(tolua_S,"EventListener","cc.EventListener","cc.Ref",nullptr); - - tolua_beginmodule(tolua_S,"EventListener"); - tolua_function(tolua_S,"setEnabled",lua_cocos2dx_EventListener_setEnabled); - tolua_function(tolua_S,"clone",lua_cocos2dx_EventListener_clone); - tolua_function(tolua_S,"isEnabled",lua_cocos2dx_EventListener_isEnabled); - tolua_function(tolua_S,"checkAvailable",lua_cocos2dx_EventListener_checkAvailable); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::EventListener).name(); - g_luaType[typeName] = "cc.EventListener"; - g_typeCast["EventListener"] = "cc.EventListener"; - return 1; -} - -int lua_cocos2dx_Event_isStopped(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Event* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_isStopped'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - bool ret = cobj->isStopped(); - tolua_pushboolean(tolua_S,(bool)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:isStopped",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_isStopped'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Event_getType(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Event* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_getType'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - int ret = (int)cobj->getType(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:getType",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_getType'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Event_getCurrentTarget(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Event* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_getCurrentTarget'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Node* ret = cobj->getCurrentTarget(); - object_to_luaval(tolua_S, "cc.Node",(cocos2d::Node*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:getCurrentTarget",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_getCurrentTarget'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Event_stopPropagation(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Event* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_stopPropagation'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->stopPropagation(); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:stopPropagation",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_stopPropagation'.",&tolua_err); -#endif - - return 0; -} -static int lua_cocos2dx_Event_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (Event)"); - return 0; -} - -int lua_register_cocos2dx_Event(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.Event"); - tolua_cclass(tolua_S,"Event","cc.Event","cc.Ref",nullptr); - - tolua_beginmodule(tolua_S,"Event"); - tolua_function(tolua_S,"isStopped",lua_cocos2dx_Event_isStopped); - tolua_function(tolua_S,"getType",lua_cocos2dx_Event_getType); - tolua_function(tolua_S,"getCurrentTarget",lua_cocos2dx_Event_getCurrentTarget); - tolua_function(tolua_S,"stopPropagation",lua_cocos2dx_Event_stopPropagation); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::Event).name(); - g_luaType[typeName] = "cc.Event"; - g_typeCast["Event"] = "cc.Event"; - return 1; -} - -int lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Node* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - if(!ok) - return 0; - cobj->pauseEventListenersForTarget(arg0); - return 0; - } - if (argc == 2) - { - cocos2d::Node* arg0; - bool arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - - ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:pauseEventListenersForTarget"); - if(!ok) - return 0; - cobj->pauseEventListenersForTarget(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:pauseEventListenersForTarget",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 2) - { - cocos2d::EventListener* arg0; - cocos2d::Node* arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); - - ok &= luaval_to_object(tolua_S, 3, "cc.Node",&arg1); - if(!ok) - return 0; - cobj->addEventListenerWithSceneGraphPriority(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addEventListenerWithSceneGraphPriority",argc, 2); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_setEnabled(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_setEnabled'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - bool arg0; - - ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.EventDispatcher:setEnabled"); - if(!ok) - return 0; - cobj->setEnabled(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:setEnabled",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_setEnabled'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 2) - { - cocos2d::EventListener* arg0; - int arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); - - ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1, "cc.EventDispatcher:addEventListenerWithFixedPriority"); - if(!ok) - return 0; - cobj->addEventListenerWithFixedPriority(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addEventListenerWithFixedPriority",argc, 2); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_removeEventListener(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListener'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::EventListener* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); - if(!ok) - return 0; - cobj->removeEventListener(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListener",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListener'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Node* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - if(!ok) - return 0; - cobj->resumeEventListenersForTarget(arg0); - return 0; - } - if (argc == 2) - { - cocos2d::Node* arg0; - bool arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - - ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:resumeEventListenersForTarget"); - if(!ok) - return 0; - cobj->resumeEventListenersForTarget(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:resumeEventListenersForTarget",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_removeEventListenersForTarget(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForTarget'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Node* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - if(!ok) - return 0; - cobj->removeEventListenersForTarget(arg0); - return 0; - } - if (argc == 2) - { - cocos2d::Node* arg0; - bool arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); - - ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:removeEventListenersForTarget"); - if(!ok) - return 0; - cobj->removeEventListenersForTarget(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListenersForTarget",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForTarget'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_setPriority(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_setPriority'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 2) - { - cocos2d::EventListener* arg0; - int arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); - - ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1, "cc.EventDispatcher:setPriority"); - if(!ok) - return 0; - cobj->setPriority(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:setPriority",argc, 2); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_setPriority'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_addCustomEventListener(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addCustomEventListener'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 2) - { - std::string arg0; - std::function arg1; - - ok &= luaval_to_std_string(tolua_S, 2,&arg0, "cc.EventDispatcher:addCustomEventListener"); - - do { - // Lambda binding for lua is not supported. - assert(false); - } while(0) - ; - if(!ok) - return 0; - cocos2d::EventListenerCustom* ret = cobj->addCustomEventListener(arg0, arg1); - object_to_luaval(tolua_S, "cc.EventListenerCustom",(cocos2d::EventListenerCustom*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addCustomEventListener",argc, 2); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addCustomEventListener'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_dispatchEvent(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_dispatchEvent'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Event* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.Event",&arg0); - if(!ok) - return 0; - cobj->dispatchEvent(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:dispatchEvent",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_dispatchEvent'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_removeAllEventListeners(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeAllEventListeners'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->removeAllEventListeners(); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeAllEventListeners",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeAllEventListeners'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_removeCustomEventListeners(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeCustomEventListeners'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - std::string arg0; - - ok &= luaval_to_std_string(tolua_S, 2,&arg0, "cc.EventDispatcher:removeCustomEventListeners"); - if(!ok) - return 0; - cobj->removeCustomEventListeners(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeCustomEventListeners",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeCustomEventListeners'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_isEnabled(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_isEnabled'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - bool ret = cobj->isEnabled(); - tolua_pushboolean(tolua_S,(bool)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:isEnabled",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_isEnabled'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_removeEventListenersForType(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForType'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::EventListener::Type arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventDispatcher:removeEventListenersForType"); - if(!ok) - return 0; - cobj->removeEventListenersForType(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListenersForType",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForType'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventDispatcher_constructor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventDispatcher* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj = new cocos2d::EventDispatcher(); - cobj->autorelease(); - int ID = (int)cobj->_ID ; - int* luaID = &cobj->_luaID ; - toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventDispatcher"); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:EventDispatcher",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_constructor'.",&tolua_err); -#endif - - return 0; -} - -static int lua_cocos2dx_EventDispatcher_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (EventDispatcher)"); - return 0; -} - -int lua_register_cocos2dx_EventDispatcher(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.EventDispatcher"); - tolua_cclass(tolua_S,"EventDispatcher","cc.EventDispatcher","cc.Ref",nullptr); - - tolua_beginmodule(tolua_S,"EventDispatcher"); - tolua_function(tolua_S,"new",lua_cocos2dx_EventDispatcher_constructor); - tolua_function(tolua_S,"pauseEventListenersForTarget",lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget); - tolua_function(tolua_S,"addEventListenerWithSceneGraphPriority",lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority); - tolua_function(tolua_S,"setEnabled",lua_cocos2dx_EventDispatcher_setEnabled); - tolua_function(tolua_S,"addEventListenerWithFixedPriority",lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority); - tolua_function(tolua_S,"removeEventListener",lua_cocos2dx_EventDispatcher_removeEventListener); - tolua_function(tolua_S,"resumeEventListenersForTarget",lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget); - tolua_function(tolua_S,"removeEventListenersForTarget",lua_cocos2dx_EventDispatcher_removeEventListenersForTarget); - tolua_function(tolua_S,"setPriority",lua_cocos2dx_EventDispatcher_setPriority); - tolua_function(tolua_S,"addCustomEventListener",lua_cocos2dx_EventDispatcher_addCustomEventListener); - tolua_function(tolua_S,"dispatchEvent",lua_cocos2dx_EventDispatcher_dispatchEvent); - tolua_function(tolua_S,"removeAllEventListeners",lua_cocos2dx_EventDispatcher_removeAllEventListeners); - tolua_function(tolua_S,"removeCustomEventListeners",lua_cocos2dx_EventDispatcher_removeCustomEventListeners); - tolua_function(tolua_S,"isEnabled",lua_cocos2dx_EventDispatcher_isEnabled); - tolua_function(tolua_S,"removeEventListenersForType",lua_cocos2dx_EventDispatcher_removeEventListenersForType); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::EventDispatcher).name(); - g_luaType[typeName] = "cc.EventDispatcher"; - g_typeCast["EventDispatcher"] = "cc.EventDispatcher"; - return 1; -} - -int lua_cocos2dx_Touch_getPreviousLocationInView(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getPreviousLocationInView'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getPreviousLocationInView(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getPreviousLocationInView",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getPreviousLocationInView'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getLocation(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getLocation'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getLocation(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getLocation",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getLocation'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getDelta(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getDelta'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getDelta(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getDelta",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getDelta'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getStartLocationInView(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getStartLocationInView'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getStartLocationInView(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getStartLocationInView",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getStartLocationInView'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getStartLocation(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getStartLocation'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getStartLocation(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getStartLocation",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getStartLocation'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getID(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getID'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - int ret = cobj->getID(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getID",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getID'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_setTouchInfo(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_setTouchInfo'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 3) - { - int arg0; - double arg1; - double arg2; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Touch:setTouchInfo"); - - ok &= luaval_to_number(tolua_S, 3,&arg1, "cc.Touch:setTouchInfo"); - - ok &= luaval_to_number(tolua_S, 4,&arg2, "cc.Touch:setTouchInfo"); - if(!ok) - return 0; - cobj->setTouchInfo(arg0, arg1, arg2); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:setTouchInfo",argc, 3); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_setTouchInfo'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getLocationInView(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getLocationInView'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getLocationInView(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getLocationInView",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getLocationInView'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_getPreviousLocation(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getPreviousLocation'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getPreviousLocation(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getPreviousLocation",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getPreviousLocation'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Touch_constructor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Touch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj = new cocos2d::Touch(); - cobj->autorelease(); - int ID = (int)cobj->_ID ; - int* luaID = &cobj->_luaID ; - toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.Touch"); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:Touch",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_constructor'.",&tolua_err); -#endif - - return 0; -} - -static int lua_cocos2dx_Touch_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (Touch)"); - return 0; -} - -int lua_register_cocos2dx_Touch(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.Touch"); - tolua_cclass(tolua_S,"Touch","cc.Touch","cc.Ref",nullptr); - - tolua_beginmodule(tolua_S,"Touch"); - tolua_function(tolua_S,"new",lua_cocos2dx_Touch_constructor); - tolua_function(tolua_S,"getPreviousLocationInView",lua_cocos2dx_Touch_getPreviousLocationInView); - tolua_function(tolua_S,"getLocation",lua_cocos2dx_Touch_getLocation); - tolua_function(tolua_S,"getDelta",lua_cocos2dx_Touch_getDelta); - tolua_function(tolua_S,"getStartLocationInView",lua_cocos2dx_Touch_getStartLocationInView); - tolua_function(tolua_S,"getStartLocation",lua_cocos2dx_Touch_getStartLocation); - tolua_function(tolua_S,"getId",lua_cocos2dx_Touch_getID); - tolua_function(tolua_S,"setTouchInfo",lua_cocos2dx_Touch_setTouchInfo); - tolua_function(tolua_S,"getLocationInView",lua_cocos2dx_Touch_getLocationInView); - tolua_function(tolua_S,"getPreviousLocation",lua_cocos2dx_Touch_getPreviousLocation); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::Touch).name(); - g_luaType[typeName] = "cc.Touch"; - g_typeCast["Touch"] = "cc.Touch"; - return 1; -} - -int lua_cocos2dx_EventTouch_getEventCode(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventTouch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventTouch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventTouch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventTouch_getEventCode'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - int ret = (int)cobj->getEventCode(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:getEventCode",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_getEventCode'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventTouch_setEventCode(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventTouch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.EventTouch",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::EventTouch*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventTouch_setEventCode'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::EventTouch::EventCode arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventTouch:setEventCode"); - if(!ok) - return 0; - cobj->setEventCode(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:setEventCode",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_setEventCode'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_EventTouch_constructor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventTouch* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj = new cocos2d::EventTouch(); - cobj->autorelease(); - int ID = (int)cobj->_ID ; - int* luaID = &cobj->_luaID ; - toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventTouch"); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:EventTouch",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_constructor'.",&tolua_err); -#endif - - return 0; -} - -static int lua_cocos2dx_EventTouch_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (EventTouch)"); - return 0; -} - -int lua_register_cocos2dx_EventTouch(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.EventTouch"); - tolua_cclass(tolua_S,"EventTouch","cc.EventTouch","cc.Event",nullptr); - - tolua_beginmodule(tolua_S,"EventTouch"); - tolua_function(tolua_S,"new",lua_cocos2dx_EventTouch_constructor); - tolua_function(tolua_S,"getEventCode",lua_cocos2dx_EventTouch_getEventCode); - tolua_function(tolua_S,"setEventCode",lua_cocos2dx_EventTouch_setEventCode); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::EventTouch).name(); - g_luaType[typeName] = "cc.EventTouch"; - g_typeCast["EventTouch"] = "cc.EventTouch"; - return 1; -} - -int lua_cocos2dx_EventKeyboard_constructor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::EventKeyboard* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - - - argc = lua_gettop(tolua_S)-1; - if (argc == 2) - { - cocos2d::EventKeyboard::KeyCode arg0; - bool arg1; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventKeyboard:EventKeyboard"); - - ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventKeyboard:EventKeyboard"); - if(!ok) - return 0; - cobj = new cocos2d::EventKeyboard(arg0, arg1); - cobj->autorelease(); - int ID = (int)cobj->_ID ; - int* luaID = &cobj->_luaID ; - toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventKeyboard"); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventKeyboard:EventKeyboard",argc, 2); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventKeyboard_constructor'.",&tolua_err); -#endif - - return 0; -} - -static int lua_cocos2dx_EventKeyboard_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (EventKeyboard)"); - return 0; -} - -int lua_register_cocos2dx_EventKeyboard(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.EventKeyboard"); - tolua_cclass(tolua_S,"EventKeyboard","cc.EventKeyboard","cc.Event",nullptr); - - tolua_beginmodule(tolua_S,"EventKeyboard"); - tolua_function(tolua_S,"new",lua_cocos2dx_EventKeyboard_constructor); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::EventKeyboard).name(); - g_luaType[typeName] = "cc.EventKeyboard"; - g_typeCast["EventKeyboard"] = "cc.EventKeyboard"; - return 1; -} - int lua_cocos2dx_Texture2D_getMaxT(lua_State* tolua_S) { int argc = 0; @@ -3578,6 +1743,877 @@ int lua_register_cocos2dx_Texture2D(lua_State* tolua_S) return 1; } +int lua_cocos2dx_Touch_getPreviousLocationInView(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getPreviousLocationInView'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getPreviousLocationInView(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getPreviousLocationInView",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getPreviousLocationInView'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getLocation(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getLocation'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getLocation(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getLocation",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getLocation'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getDelta(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getDelta'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getDelta(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getDelta",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getDelta'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getStartLocationInView(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getStartLocationInView'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getStartLocationInView(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getStartLocationInView",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getStartLocationInView'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getStartLocation(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getStartLocation'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getStartLocation(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getStartLocation",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getStartLocation'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getID(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getID'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + int ret = cobj->getID(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getID",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getID'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_setTouchInfo(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_setTouchInfo'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 3) + { + int arg0; + double arg1; + double arg2; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Touch:setTouchInfo"); + + ok &= luaval_to_number(tolua_S, 3,&arg1, "cc.Touch:setTouchInfo"); + + ok &= luaval_to_number(tolua_S, 4,&arg2, "cc.Touch:setTouchInfo"); + if(!ok) + return 0; + cobj->setTouchInfo(arg0, arg1, arg2); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:setTouchInfo",argc, 3); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_setTouchInfo'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getLocationInView(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getLocationInView'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getLocationInView(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getLocationInView",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getLocationInView'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_getPreviousLocation(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Touch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Touch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Touch_getPreviousLocation'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getPreviousLocation(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:getPreviousLocation",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_getPreviousLocation'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Touch_constructor(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Touch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj = new cocos2d::Touch(); + cobj->autorelease(); + int ID = (int)cobj->_ID ; + int* luaID = &cobj->_luaID ; + toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.Touch"); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Touch:Touch",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Touch_constructor'.",&tolua_err); +#endif + + return 0; +} + +static int lua_cocos2dx_Touch_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (Touch)"); + return 0; +} + +int lua_register_cocos2dx_Touch(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.Touch"); + tolua_cclass(tolua_S,"Touch","cc.Touch","cc.Ref",nullptr); + + tolua_beginmodule(tolua_S,"Touch"); + tolua_function(tolua_S,"new",lua_cocos2dx_Touch_constructor); + tolua_function(tolua_S,"getPreviousLocationInView",lua_cocos2dx_Touch_getPreviousLocationInView); + tolua_function(tolua_S,"getLocation",lua_cocos2dx_Touch_getLocation); + tolua_function(tolua_S,"getDelta",lua_cocos2dx_Touch_getDelta); + tolua_function(tolua_S,"getStartLocationInView",lua_cocos2dx_Touch_getStartLocationInView); + tolua_function(tolua_S,"getStartLocation",lua_cocos2dx_Touch_getStartLocation); + tolua_function(tolua_S,"getId",lua_cocos2dx_Touch_getID); + tolua_function(tolua_S,"setTouchInfo",lua_cocos2dx_Touch_setTouchInfo); + tolua_function(tolua_S,"getLocationInView",lua_cocos2dx_Touch_getLocationInView); + tolua_function(tolua_S,"getPreviousLocation",lua_cocos2dx_Touch_getPreviousLocation); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::Touch).name(); + g_luaType[typeName] = "cc.Touch"; + g_typeCast["Touch"] = "cc.Touch"; + return 1; +} + +int lua_cocos2dx_Event_isStopped(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Event* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_isStopped'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + bool ret = cobj->isStopped(); + tolua_pushboolean(tolua_S,(bool)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:isStopped",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_isStopped'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Event_getType(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Event* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_getType'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + int ret = (int)cobj->getType(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:getType",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_getType'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Event_getCurrentTarget(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Event* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_getCurrentTarget'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Node* ret = cobj->getCurrentTarget(); + object_to_luaval(tolua_S, "cc.Node",(cocos2d::Node*)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:getCurrentTarget",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_getCurrentTarget'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Event_stopPropagation(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Event* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Event",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Event*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Event_stopPropagation'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->stopPropagation(); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Event:stopPropagation",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Event_stopPropagation'.",&tolua_err); +#endif + + return 0; +} +static int lua_cocos2dx_Event_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (Event)"); + return 0; +} + +int lua_register_cocos2dx_Event(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.Event"); + tolua_cclass(tolua_S,"Event","cc.Event","cc.Ref",nullptr); + + tolua_beginmodule(tolua_S,"Event"); + tolua_function(tolua_S,"isStopped",lua_cocos2dx_Event_isStopped); + tolua_function(tolua_S,"getType",lua_cocos2dx_Event_getType); + tolua_function(tolua_S,"getCurrentTarget",lua_cocos2dx_Event_getCurrentTarget); + tolua_function(tolua_S,"stopPropagation",lua_cocos2dx_Event_stopPropagation); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::Event).name(); + g_luaType[typeName] = "cc.Event"; + g_typeCast["Event"] = "cc.Event"; + return 1; +} + +int lua_cocos2dx_EventTouch_getEventCode(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventTouch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventTouch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventTouch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventTouch_getEventCode'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + int ret = (int)cobj->getEventCode(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:getEventCode",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_getEventCode'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventTouch_setEventCode(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventTouch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventTouch",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventTouch*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventTouch_setEventCode'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::EventTouch::EventCode arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventTouch:setEventCode"); + if(!ok) + return 0; + cobj->setEventCode(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:setEventCode",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_setEventCode'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventTouch_constructor(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventTouch* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj = new cocos2d::EventTouch(); + cobj->autorelease(); + int ID = (int)cobj->_ID ; + int* luaID = &cobj->_luaID ; + toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventTouch"); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventTouch:EventTouch",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventTouch_constructor'.",&tolua_err); +#endif + + return 0; +} + +static int lua_cocos2dx_EventTouch_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (EventTouch)"); + return 0; +} + +int lua_register_cocos2dx_EventTouch(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.EventTouch"); + tolua_cclass(tolua_S,"EventTouch","cc.EventTouch","cc.Event",nullptr); + + tolua_beginmodule(tolua_S,"EventTouch"); + tolua_function(tolua_S,"new",lua_cocos2dx_EventTouch_constructor); + tolua_function(tolua_S,"getEventCode",lua_cocos2dx_EventTouch_getEventCode); + tolua_function(tolua_S,"setEventCode",lua_cocos2dx_EventTouch_setEventCode); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::EventTouch).name(); + g_luaType[typeName] = "cc.EventTouch"; + g_typeCast["EventTouch"] = "cc.EventTouch"; + return 1; +} + +int lua_cocos2dx_EventKeyboard_constructor(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventKeyboard* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::EventKeyboard::KeyCode arg0; + bool arg1; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventKeyboard:EventKeyboard"); + + ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventKeyboard:EventKeyboard"); + if(!ok) + return 0; + cobj = new cocos2d::EventKeyboard(arg0, arg1); + cobj->autorelease(); + int ID = (int)cobj->_ID ; + int* luaID = &cobj->_luaID ; + toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventKeyboard"); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventKeyboard:EventKeyboard",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventKeyboard_constructor'.",&tolua_err); +#endif + + return 0; +} + +static int lua_cocos2dx_EventKeyboard_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (EventKeyboard)"); + return 0; +} + +int lua_register_cocos2dx_EventKeyboard(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.EventKeyboard"); + tolua_cclass(tolua_S,"EventKeyboard","cc.EventKeyboard","cc.Event",nullptr); + + tolua_beginmodule(tolua_S,"EventKeyboard"); + tolua_function(tolua_S,"new",lua_cocos2dx_EventKeyboard_constructor); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::EventKeyboard).name(); + g_luaType[typeName] = "cc.EventKeyboard"; + g_typeCast["EventKeyboard"] = "cc.EventKeyboard"; + return 1; +} + int lua_cocos2dx_Node_addChild(lua_State* tolua_S) { int argc = 0; @@ -19238,6 +18274,970 @@ int lua_register_cocos2dx_Camera(lua_State* tolua_S) return 1; } +int lua_cocos2dx_EventListener_setEnabled(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventListener* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_setEnabled'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + bool arg0; + + ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.EventListener:setEnabled"); + if(!ok) + return 0; + cobj->setEnabled(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:setEnabled",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_setEnabled'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventListener_clone(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventListener* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_clone'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::EventListener* ret = cobj->clone(); + object_to_luaval(tolua_S, "cc.EventListener",(cocos2d::EventListener*)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:clone",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_clone'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventListener_isEnabled(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventListener* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_isEnabled'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + bool ret = cobj->isEnabled(); + tolua_pushboolean(tolua_S,(bool)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:isEnabled",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_isEnabled'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventListener_checkAvailable(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventListener* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventListener",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventListener*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventListener_checkAvailable'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + bool ret = cobj->checkAvailable(); + tolua_pushboolean(tolua_S,(bool)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventListener:checkAvailable",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventListener_checkAvailable'.",&tolua_err); +#endif + + return 0; +} +static int lua_cocos2dx_EventListener_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (EventListener)"); + return 0; +} + +int lua_register_cocos2dx_EventListener(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.EventListener"); + tolua_cclass(tolua_S,"EventListener","cc.EventListener","cc.Ref",nullptr); + + tolua_beginmodule(tolua_S,"EventListener"); + tolua_function(tolua_S,"setEnabled",lua_cocos2dx_EventListener_setEnabled); + tolua_function(tolua_S,"clone",lua_cocos2dx_EventListener_clone); + tolua_function(tolua_S,"isEnabled",lua_cocos2dx_EventListener_isEnabled); + tolua_function(tolua_S,"checkAvailable",lua_cocos2dx_EventListener_checkAvailable); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::EventListener).name(); + g_luaType[typeName] = "cc.EventListener"; + g_typeCast["EventListener"] = "cc.EventListener"; + return 1; +} + +int lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Node* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + if(!ok) + return 0; + cobj->pauseEventListenersForTarget(arg0); + return 0; + } + if (argc == 2) + { + cocos2d::Node* arg0; + bool arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + + ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:pauseEventListenersForTarget"); + if(!ok) + return 0; + cobj->pauseEventListenersForTarget(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:pauseEventListenersForTarget",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::EventListener* arg0; + cocos2d::Node* arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); + + ok &= luaval_to_object(tolua_S, 3, "cc.Node",&arg1); + if(!ok) + return 0; + cobj->addEventListenerWithSceneGraphPriority(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addEventListenerWithSceneGraphPriority",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_setEnabled(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_setEnabled'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + bool arg0; + + ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.EventDispatcher:setEnabled"); + if(!ok) + return 0; + cobj->setEnabled(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:setEnabled",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_setEnabled'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::EventListener* arg0; + int arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); + + ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1, "cc.EventDispatcher:addEventListenerWithFixedPriority"); + if(!ok) + return 0; + cobj->addEventListenerWithFixedPriority(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addEventListenerWithFixedPriority",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_removeEventListener(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListener'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::EventListener* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); + if(!ok) + return 0; + cobj->removeEventListener(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListener",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListener'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Node* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + if(!ok) + return 0; + cobj->resumeEventListenersForTarget(arg0); + return 0; + } + if (argc == 2) + { + cocos2d::Node* arg0; + bool arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + + ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:resumeEventListenersForTarget"); + if(!ok) + return 0; + cobj->resumeEventListenersForTarget(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:resumeEventListenersForTarget",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_removeEventListenersForTarget(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForTarget'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Node* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + if(!ok) + return 0; + cobj->removeEventListenersForTarget(arg0); + return 0; + } + if (argc == 2) + { + cocos2d::Node* arg0; + bool arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.Node",&arg0); + + ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.EventDispatcher:removeEventListenersForTarget"); + if(!ok) + return 0; + cobj->removeEventListenersForTarget(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListenersForTarget",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForTarget'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_setPriority(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_setPriority'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::EventListener* arg0; + int arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.EventListener",&arg0); + + ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1, "cc.EventDispatcher:setPriority"); + if(!ok) + return 0; + cobj->setPriority(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:setPriority",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_setPriority'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_addCustomEventListener(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_addCustomEventListener'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + std::string arg0; + std::function arg1; + + ok &= luaval_to_std_string(tolua_S, 2,&arg0, "cc.EventDispatcher:addCustomEventListener"); + + do { + // Lambda binding for lua is not supported. + assert(false); + } while(0) + ; + if(!ok) + return 0; + cocos2d::EventListenerCustom* ret = cobj->addCustomEventListener(arg0, arg1); + object_to_luaval(tolua_S, "cc.EventListenerCustom",(cocos2d::EventListenerCustom*)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:addCustomEventListener",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_addCustomEventListener'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_dispatchEvent(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_dispatchEvent'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Event* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.Event",&arg0); + if(!ok) + return 0; + cobj->dispatchEvent(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:dispatchEvent",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_dispatchEvent'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_removeAllEventListeners(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeAllEventListeners'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->removeAllEventListeners(); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeAllEventListeners",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeAllEventListeners'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_removeCustomEventListeners(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeCustomEventListeners'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + std::string arg0; + + ok &= luaval_to_std_string(tolua_S, 2,&arg0, "cc.EventDispatcher:removeCustomEventListeners"); + if(!ok) + return 0; + cobj->removeCustomEventListeners(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeCustomEventListeners",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeCustomEventListeners'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_isEnabled(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_isEnabled'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + bool ret = cobj->isEnabled(); + tolua_pushboolean(tolua_S,(bool)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:isEnabled",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_isEnabled'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_removeEventListenersForType(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.EventDispatcher",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::EventDispatcher*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForType'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::EventListener::Type arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.EventDispatcher:removeEventListenersForType"); + if(!ok) + return 0; + cobj->removeEventListenersForType(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:removeEventListenersForType",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_removeEventListenersForType'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_EventDispatcher_constructor(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::EventDispatcher* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj = new cocos2d::EventDispatcher(); + cobj->autorelease(); + int ID = (int)cobj->_ID ; + int* luaID = &cobj->_luaID ; + toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)cobj,"cc.EventDispatcher"); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.EventDispatcher:EventDispatcher",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_EventDispatcher_constructor'.",&tolua_err); +#endif + + return 0; +} + +static int lua_cocos2dx_EventDispatcher_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (EventDispatcher)"); + return 0; +} + +int lua_register_cocos2dx_EventDispatcher(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.EventDispatcher"); + tolua_cclass(tolua_S,"EventDispatcher","cc.EventDispatcher","cc.Ref",nullptr); + + tolua_beginmodule(tolua_S,"EventDispatcher"); + tolua_function(tolua_S,"new",lua_cocos2dx_EventDispatcher_constructor); + tolua_function(tolua_S,"pauseEventListenersForTarget",lua_cocos2dx_EventDispatcher_pauseEventListenersForTarget); + tolua_function(tolua_S,"addEventListenerWithSceneGraphPriority",lua_cocos2dx_EventDispatcher_addEventListenerWithSceneGraphPriority); + tolua_function(tolua_S,"setEnabled",lua_cocos2dx_EventDispatcher_setEnabled); + tolua_function(tolua_S,"addEventListenerWithFixedPriority",lua_cocos2dx_EventDispatcher_addEventListenerWithFixedPriority); + tolua_function(tolua_S,"removeEventListener",lua_cocos2dx_EventDispatcher_removeEventListener); + tolua_function(tolua_S,"resumeEventListenersForTarget",lua_cocos2dx_EventDispatcher_resumeEventListenersForTarget); + tolua_function(tolua_S,"removeEventListenersForTarget",lua_cocos2dx_EventDispatcher_removeEventListenersForTarget); + tolua_function(tolua_S,"setPriority",lua_cocos2dx_EventDispatcher_setPriority); + tolua_function(tolua_S,"addCustomEventListener",lua_cocos2dx_EventDispatcher_addCustomEventListener); + tolua_function(tolua_S,"dispatchEvent",lua_cocos2dx_EventDispatcher_dispatchEvent); + tolua_function(tolua_S,"removeAllEventListeners",lua_cocos2dx_EventDispatcher_removeAllEventListeners); + tolua_function(tolua_S,"removeCustomEventListeners",lua_cocos2dx_EventDispatcher_removeCustomEventListeners); + tolua_function(tolua_S,"isEnabled",lua_cocos2dx_EventDispatcher_isEnabled); + tolua_function(tolua_S,"removeEventListenersForType",lua_cocos2dx_EventDispatcher_removeEventListenersForType); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::EventDispatcher).name(); + g_luaType[typeName] = "cc.EventDispatcher"; + g_typeCast["EventDispatcher"] = "cc.EventDispatcher"; + return 1; +} + int lua_cocos2dx_EventListenerTouchOneByOne_isSwallowTouches(lua_State* tolua_S) { int argc = 0; diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_physics_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_physics_auto.cpp index 1bedeb5d24..ae36e585ea 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_physics_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_physics_auto.cpp @@ -5435,999 +5435,6 @@ int lua_register_cocos2dx_physics_PhysicsBody(lua_State* tolua_S) return 1; } -int lua_cocos2dx_physics_PhysicsWorld_setGravity(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setGravity'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Vec2 arg0; - - ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:setGravity"); - if(!ok) - return 0; - cobj->setGravity(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setGravity",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setGravity'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getAllBodies(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getAllBodies'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - const cocos2d::Vector& ret = cobj->getAllBodies(); - ccvector_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getAllBodies",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getAllBodies'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - int ret = cobj->getDebugDrawMask(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getDebugDrawMask",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_setAutoStep(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setAutoStep'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - bool arg0; - - ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.PhysicsWorld:setAutoStep"); - if(!ok) - return 0; - cobj->setAutoStep(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setAutoStep",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setAutoStep'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_addJoint(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_addJoint'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::PhysicsJoint* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); - if(!ok) - return 0; - cobj->addJoint(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:addJoint",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_addJoint'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_removeAllJoints(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllJoints'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->removeAllJoints(); - return 0; - } - if (argc == 1) - { - bool arg0; - - ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.PhysicsWorld:removeAllJoints"); - if(!ok) - return 0; - cobj->removeAllJoints(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeAllJoints",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllJoints'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_isAutoStep(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_isAutoStep'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - bool ret = cobj->isAutoStep(); - tolua_pushboolean(tolua_S,(bool)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:isAutoStep",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_isAutoStep'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_removeBody(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeBody'", nullptr); - return 0; - } -#endif - argc = lua_gettop(tolua_S)-1; - do{ - if (argc == 1) { - int arg0; - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:removeBody"); - - if (!ok) { break; } - cobj->removeBody(arg0); - return 0; - } - }while(0); - ok = true; - do{ - if (argc == 1) { - cocos2d::PhysicsBody* arg0; - ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsBody",&arg0); - - if (!ok) { break; } - cobj->removeBody(arg0); - return 0; - } - }while(0); - ok = true; - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeBody",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeBody'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_removeJoint(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeJoint'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::PhysicsJoint* arg0; - - ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); - if(!ok) - return 0; - cobj->removeJoint(arg0); - return 0; - } - if (argc == 2) - { - cocos2d::PhysicsJoint* arg0; - bool arg1; - - ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); - - ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.PhysicsWorld:removeJoint"); - if(!ok) - return 0; - cobj->removeJoint(arg0, arg1); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeJoint",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeJoint'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getShapes(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getShapes'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Vec2 arg0; - - ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:getShapes"); - if(!ok) - return 0; - cocos2d::Vector ret = cobj->getShapes(arg0); - ccvector_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getShapes",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getShapes'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_step(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_step'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - double arg0; - - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.PhysicsWorld:step"); - if(!ok) - return 0; - cobj->step(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:step",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_step'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - int arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:setDebugDrawMask"); - if(!ok) - return 0; - cobj->setDebugDrawMask(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setDebugDrawMask",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getGravity(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getGravity'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Vec2 ret = cobj->getGravity(); - vec2_to_luaval(tolua_S, ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getGravity",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getGravity'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_setUpdateRate(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setUpdateRate'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - int arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:setUpdateRate"); - if(!ok) - return 0; - cobj->setUpdateRate(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setUpdateRate",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setUpdateRate'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getSpeed(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getSpeed'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - double ret = cobj->getSpeed(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getSpeed",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getSpeed'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getUpdateRate(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getUpdateRate'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - int ret = cobj->getUpdateRate(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getUpdateRate",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getUpdateRate'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_removeAllBodies(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllBodies'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->removeAllBodies(); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeAllBodies",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllBodies'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_setSpeed(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setSpeed'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - double arg0; - - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.PhysicsWorld:setSpeed"); - if(!ok) - return 0; - cobj->setSpeed(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setSpeed",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setSpeed'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getShape(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getShape'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::Vec2 arg0; - - ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:getShape"); - if(!ok) - return 0; - cocos2d::PhysicsShape* ret = cobj->getShape(arg0); - object_to_luaval(tolua_S, "cc.PhysicsShape",(cocos2d::PhysicsShape*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getShape",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getShape'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_physics_PhysicsWorld_getBody(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::PhysicsWorld* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getBody'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - int arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:getBody"); - if(!ok) - return 0; - cocos2d::PhysicsBody* ret = cobj->getBody(arg0); - object_to_luaval(tolua_S, "cc.PhysicsBody",(cocos2d::PhysicsBody*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getBody",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getBody'.",&tolua_err); -#endif - - return 0; -} -static int lua_cocos2dx_physics_PhysicsWorld_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (PhysicsWorld)"); - return 0; -} - -int lua_register_cocos2dx_physics_PhysicsWorld(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.PhysicsWorld"); - tolua_cclass(tolua_S,"PhysicsWorld","cc.PhysicsWorld","",nullptr); - - tolua_beginmodule(tolua_S,"PhysicsWorld"); - tolua_function(tolua_S,"setGravity",lua_cocos2dx_physics_PhysicsWorld_setGravity); - tolua_function(tolua_S,"getAllBodies",lua_cocos2dx_physics_PhysicsWorld_getAllBodies); - tolua_function(tolua_S,"getDebugDrawMask",lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask); - tolua_function(tolua_S,"setAutoStep",lua_cocos2dx_physics_PhysicsWorld_setAutoStep); - tolua_function(tolua_S,"addJoint",lua_cocos2dx_physics_PhysicsWorld_addJoint); - tolua_function(tolua_S,"removeAllJoints",lua_cocos2dx_physics_PhysicsWorld_removeAllJoints); - tolua_function(tolua_S,"isAutoStep",lua_cocos2dx_physics_PhysicsWorld_isAutoStep); - tolua_function(tolua_S,"removeBody",lua_cocos2dx_physics_PhysicsWorld_removeBody); - tolua_function(tolua_S,"removeJoint",lua_cocos2dx_physics_PhysicsWorld_removeJoint); - tolua_function(tolua_S,"getShapes",lua_cocos2dx_physics_PhysicsWorld_getShapes); - tolua_function(tolua_S,"step",lua_cocos2dx_physics_PhysicsWorld_step); - tolua_function(tolua_S,"setDebugDrawMask",lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask); - tolua_function(tolua_S,"getGravity",lua_cocos2dx_physics_PhysicsWorld_getGravity); - tolua_function(tolua_S,"setUpdateRate",lua_cocos2dx_physics_PhysicsWorld_setUpdateRate); - tolua_function(tolua_S,"getSpeed",lua_cocos2dx_physics_PhysicsWorld_getSpeed); - tolua_function(tolua_S,"getUpdateRate",lua_cocos2dx_physics_PhysicsWorld_getUpdateRate); - tolua_function(tolua_S,"removeAllBodies",lua_cocos2dx_physics_PhysicsWorld_removeAllBodies); - tolua_function(tolua_S,"setSpeed",lua_cocos2dx_physics_PhysicsWorld_setSpeed); - tolua_function(tolua_S,"getShape",lua_cocos2dx_physics_PhysicsWorld_getShape); - tolua_function(tolua_S,"getBody",lua_cocos2dx_physics_PhysicsWorld_getBody); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::PhysicsWorld).name(); - g_luaType[typeName] = "cc.PhysicsWorld"; - g_typeCast["PhysicsWorld"] = "cc.PhysicsWorld"; - return 1; -} - -static int lua_cocos2dx_physics_PhysicsDebugDraw_finalize(lua_State* tolua_S) -{ - printf("luabindings: finalizing LUA object (PhysicsDebugDraw)"); - return 0; -} - -int lua_register_cocos2dx_physics_PhysicsDebugDraw(lua_State* tolua_S) -{ - tolua_usertype(tolua_S,"cc.PhysicsDebugDraw"); - tolua_cclass(tolua_S,"PhysicsDebugDraw","cc.PhysicsDebugDraw","",nullptr); - - tolua_beginmodule(tolua_S,"PhysicsDebugDraw"); - tolua_endmodule(tolua_S); - std::string typeName = typeid(cocos2d::PhysicsDebugDraw).name(); - g_luaType[typeName] = "cc.PhysicsDebugDraw"; - g_typeCast["PhysicsDebugDraw"] = "cc.PhysicsDebugDraw"; - return 1; -} - int lua_cocos2dx_physics_PhysicsContact_getContactData(lua_State* tolua_S) { int argc = 0; @@ -11041,6 +10048,999 @@ int lua_register_cocos2dx_physics_PhysicsJointMotor(lua_State* tolua_S) g_typeCast["PhysicsJointMotor"] = "cc.PhysicsJointMotor"; return 1; } + +int lua_cocos2dx_physics_PhysicsWorld_setGravity(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setGravity'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Vec2 arg0; + + ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:setGravity"); + if(!ok) + return 0; + cobj->setGravity(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setGravity",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setGravity'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getAllBodies(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getAllBodies'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + const cocos2d::Vector& ret = cobj->getAllBodies(); + ccvector_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getAllBodies",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getAllBodies'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + int ret = cobj->getDebugDrawMask(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getDebugDrawMask",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_setAutoStep(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setAutoStep'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + bool arg0; + + ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.PhysicsWorld:setAutoStep"); + if(!ok) + return 0; + cobj->setAutoStep(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setAutoStep",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setAutoStep'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_addJoint(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_addJoint'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::PhysicsJoint* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); + if(!ok) + return 0; + cobj->addJoint(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:addJoint",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_addJoint'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_removeAllJoints(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllJoints'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->removeAllJoints(); + return 0; + } + if (argc == 1) + { + bool arg0; + + ok &= luaval_to_boolean(tolua_S, 2,&arg0, "cc.PhysicsWorld:removeAllJoints"); + if(!ok) + return 0; + cobj->removeAllJoints(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeAllJoints",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllJoints'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_isAutoStep(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_isAutoStep'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + bool ret = cobj->isAutoStep(); + tolua_pushboolean(tolua_S,(bool)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:isAutoStep",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_isAutoStep'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_removeBody(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeBody'", nullptr); + return 0; + } +#endif + argc = lua_gettop(tolua_S)-1; + do{ + if (argc == 1) { + int arg0; + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:removeBody"); + + if (!ok) { break; } + cobj->removeBody(arg0); + return 0; + } + }while(0); + ok = true; + do{ + if (argc == 1) { + cocos2d::PhysicsBody* arg0; + ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsBody",&arg0); + + if (!ok) { break; } + cobj->removeBody(arg0); + return 0; + } + }while(0); + ok = true; + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeBody",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeBody'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_removeJoint(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeJoint'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::PhysicsJoint* arg0; + + ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); + if(!ok) + return 0; + cobj->removeJoint(arg0); + return 0; + } + if (argc == 2) + { + cocos2d::PhysicsJoint* arg0; + bool arg1; + + ok &= luaval_to_object(tolua_S, 2, "cc.PhysicsJoint",&arg0); + + ok &= luaval_to_boolean(tolua_S, 3,&arg1, "cc.PhysicsWorld:removeJoint"); + if(!ok) + return 0; + cobj->removeJoint(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeJoint",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeJoint'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getShapes(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getShapes'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Vec2 arg0; + + ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:getShapes"); + if(!ok) + return 0; + cocos2d::Vector ret = cobj->getShapes(arg0); + ccvector_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getShapes",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getShapes'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_step(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_step'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + double arg0; + + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.PhysicsWorld:step"); + if(!ok) + return 0; + cobj->step(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:step",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_step'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + int arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:setDebugDrawMask"); + if(!ok) + return 0; + cobj->setDebugDrawMask(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setDebugDrawMask",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getGravity(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getGravity'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cocos2d::Vec2 ret = cobj->getGravity(); + vec2_to_luaval(tolua_S, ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getGravity",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getGravity'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_setUpdateRate(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setUpdateRate'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + int arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:setUpdateRate"); + if(!ok) + return 0; + cobj->setUpdateRate(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setUpdateRate",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setUpdateRate'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getSpeed(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getSpeed'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + double ret = cobj->getSpeed(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getSpeed",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getSpeed'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getUpdateRate(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getUpdateRate'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + int ret = cobj->getUpdateRate(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getUpdateRate",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getUpdateRate'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_removeAllBodies(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllBodies'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->removeAllBodies(); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:removeAllBodies",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_removeAllBodies'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_setSpeed(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_setSpeed'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + double arg0; + + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.PhysicsWorld:setSpeed"); + if(!ok) + return 0; + cobj->setSpeed(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:setSpeed",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_setSpeed'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getShape(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getShape'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::Vec2 arg0; + + ok &= luaval_to_vec2(tolua_S, 2, &arg0, "cc.PhysicsWorld:getShape"); + if(!ok) + return 0; + cocos2d::PhysicsShape* ret = cobj->getShape(arg0); + object_to_luaval(tolua_S, "cc.PhysicsShape",(cocos2d::PhysicsShape*)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getShape",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getShape'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_physics_PhysicsWorld_getBody(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::PhysicsWorld* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.PhysicsWorld",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::PhysicsWorld*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_physics_PhysicsWorld_getBody'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + int arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.PhysicsWorld:getBody"); + if(!ok) + return 0; + cocos2d::PhysicsBody* ret = cobj->getBody(arg0); + object_to_luaval(tolua_S, "cc.PhysicsBody",(cocos2d::PhysicsBody*)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.PhysicsWorld:getBody",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_physics_PhysicsWorld_getBody'.",&tolua_err); +#endif + + return 0; +} +static int lua_cocos2dx_physics_PhysicsWorld_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (PhysicsWorld)"); + return 0; +} + +int lua_register_cocos2dx_physics_PhysicsWorld(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.PhysicsWorld"); + tolua_cclass(tolua_S,"PhysicsWorld","cc.PhysicsWorld","",nullptr); + + tolua_beginmodule(tolua_S,"PhysicsWorld"); + tolua_function(tolua_S,"setGravity",lua_cocos2dx_physics_PhysicsWorld_setGravity); + tolua_function(tolua_S,"getAllBodies",lua_cocos2dx_physics_PhysicsWorld_getAllBodies); + tolua_function(tolua_S,"getDebugDrawMask",lua_cocos2dx_physics_PhysicsWorld_getDebugDrawMask); + tolua_function(tolua_S,"setAutoStep",lua_cocos2dx_physics_PhysicsWorld_setAutoStep); + tolua_function(tolua_S,"addJoint",lua_cocos2dx_physics_PhysicsWorld_addJoint); + tolua_function(tolua_S,"removeAllJoints",lua_cocos2dx_physics_PhysicsWorld_removeAllJoints); + tolua_function(tolua_S,"isAutoStep",lua_cocos2dx_physics_PhysicsWorld_isAutoStep); + tolua_function(tolua_S,"removeBody",lua_cocos2dx_physics_PhysicsWorld_removeBody); + tolua_function(tolua_S,"removeJoint",lua_cocos2dx_physics_PhysicsWorld_removeJoint); + tolua_function(tolua_S,"getShapes",lua_cocos2dx_physics_PhysicsWorld_getShapes); + tolua_function(tolua_S,"step",lua_cocos2dx_physics_PhysicsWorld_step); + tolua_function(tolua_S,"setDebugDrawMask",lua_cocos2dx_physics_PhysicsWorld_setDebugDrawMask); + tolua_function(tolua_S,"getGravity",lua_cocos2dx_physics_PhysicsWorld_getGravity); + tolua_function(tolua_S,"setUpdateRate",lua_cocos2dx_physics_PhysicsWorld_setUpdateRate); + tolua_function(tolua_S,"getSpeed",lua_cocos2dx_physics_PhysicsWorld_getSpeed); + tolua_function(tolua_S,"getUpdateRate",lua_cocos2dx_physics_PhysicsWorld_getUpdateRate); + tolua_function(tolua_S,"removeAllBodies",lua_cocos2dx_physics_PhysicsWorld_removeAllBodies); + tolua_function(tolua_S,"setSpeed",lua_cocos2dx_physics_PhysicsWorld_setSpeed); + tolua_function(tolua_S,"getShape",lua_cocos2dx_physics_PhysicsWorld_getShape); + tolua_function(tolua_S,"getBody",lua_cocos2dx_physics_PhysicsWorld_getBody); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::PhysicsWorld).name(); + g_luaType[typeName] = "cc.PhysicsWorld"; + g_typeCast["PhysicsWorld"] = "cc.PhysicsWorld"; + return 1; +} + +static int lua_cocos2dx_physics_PhysicsDebugDraw_finalize(lua_State* tolua_S) +{ + printf("luabindings: finalizing LUA object (PhysicsDebugDraw)"); + return 0; +} + +int lua_register_cocos2dx_physics_PhysicsDebugDraw(lua_State* tolua_S) +{ + tolua_usertype(tolua_S,"cc.PhysicsDebugDraw"); + tolua_cclass(tolua_S,"PhysicsDebugDraw","cc.PhysicsDebugDraw","",nullptr); + + tolua_beginmodule(tolua_S,"PhysicsDebugDraw"); + tolua_endmodule(tolua_S); + std::string typeName = typeid(cocos2d::PhysicsDebugDraw).name(); + g_luaType[typeName] = "cc.PhysicsDebugDraw"; + g_typeCast["PhysicsDebugDraw"] = "cc.PhysicsDebugDraw"; + return 1; +} TOLUA_API int register_all_cocos2dx_physics(lua_State* tolua_S) { tolua_open(tolua_S); From 27b8fd02ad33b56c3e7bc90fc1e5dd23514806da Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Thu, 28 Aug 2014 02:18:38 +0000 Subject: [PATCH 31/32] [AUTO][ci skip]: updating cocos2dx_files.json --- templates/cocos2dx_files.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index cfdf80abae..0263e2997e 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -192,6 +192,7 @@ "cocos/2d/libcocos2d.vcxproj", "cocos/2d/libcocos2d.vcxproj.filters", "cocos/3d/3dExport.h", + "cocos/3d/Android.mk", "cocos/3d/CCAABB.cpp", "cocos/3d/CCAABB.h", "cocos/3d/CCAnimate3D.cpp", @@ -229,6 +230,7 @@ "cocos/3d/cocos3d.h", "cocos/Android.mk", "cocos/CMakeLists.txt", + "cocos/audio/android/Android.mk", "cocos/audio/android/ccdandroidUtils.cpp", "cocos/audio/android/ccdandroidUtils.h", "cocos/audio/android/cddSimpleAudioEngine.cpp", @@ -414,6 +416,7 @@ "cocos/deprecated/CCSet.h", "cocos/deprecated/CCString.cpp", "cocos/deprecated/CCString.h", + "cocos/editor-support/cocosbuilder/Android.mk", "cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp", "cocos/editor-support/cocosbuilder/CCBAnimationManager.h", "cocos/editor-support/cocosbuilder/CCBFileLoader.cpp", @@ -479,6 +482,7 @@ "cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp", "cocos/editor-support/cocostudio/ActionTimeline/CCTimeLine.h", "cocos/editor-support/cocostudio/ActionTimeline/CCTimelineMacro.h", + "cocos/editor-support/cocostudio/Android.mk", "cocos/editor-support/cocostudio/CCActionFrame.cpp", "cocos/editor-support/cocostudio/CCActionFrame.h", "cocos/editor-support/cocostudio/CCActionFrameEasing.cpp", @@ -586,6 +590,7 @@ "cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj.user", "cocos/editor-support/cocostudio/proj.wp8/pch.cpp", "cocos/editor-support/cocostudio/proj.wp8/pch.h", + "cocos/editor-support/spine/Android.mk", "cocos/editor-support/spine/Animation.cpp", "cocos/editor-support/spine/Animation.h", "cocos/editor-support/spine/AnimationState.cpp", @@ -673,6 +678,7 @@ "cocos/math/Vec4.cpp", "cocos/math/Vec4.h", "cocos/math/Vec4.inl", + "cocos/network/Android.mk", "cocos/network/HttpClient.cpp", "cocos/network/HttpClient.h", "cocos/network/HttpRequest.h", @@ -978,6 +984,7 @@ "cocos/storage/local-storage/LocalStorageAndroid.cpp", "cocos/storage/local-storage/proj.wp8/libLocalStorage.vcxproj", "cocos/storage/local-storage/proj.wp8/libLocalStorage.vcxproj.filters", + "cocos/ui/Android.mk", "cocos/ui/CocosGUI.cpp", "cocos/ui/CocosGUI.h", "cocos/ui/GUIDefine.h", @@ -1040,6 +1047,7 @@ "docs/cocos2dx_portrait.png", "docs/doxygen.config", "download-deps.py", + "extensions/Android.mk", "extensions/CMakeLists.txt", "extensions/ExtensionExport.h", "extensions/ExtensionMacros.h", @@ -1101,6 +1109,7 @@ "extensions/proj.wp8/libExtensions.vcxproj.filters", "extensions/proj.wp8/pch.cpp", "extensions/proj.wp8/pch.h", + "external/Box2D/Android.mk", "external/Box2D/Box2D.h", "external/Box2D/Collision/Shapes/b2ChainShape.cpp", "external/Box2D/Collision/Shapes/b2ChainShape.h", @@ -1201,6 +1210,7 @@ "external/ConvertUTF/ConvertUTF.c", "external/ConvertUTF/ConvertUTF.h", "external/ConvertUTF/ConvertUTFWrapper.cpp", + "external/chipmunk/Android.mk", "external/chipmunk/LICENSE.txt", "external/chipmunk/README.txt", "external/chipmunk/chipmunk-docs.html", From d1437540343dbf6c2ff4def708d60ed05bd3ec37 Mon Sep 17 00:00:00 2001 From: minggo Date: Thu, 28 Aug 2014 10:21:43 +0800 Subject: [PATCH 32/32] [ci skip] --- CHANGELOG | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 148efdf2cb..7eb2310aac 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,8 +1,8 @@ -cocos2d-x-3.3alpha0 ?? +cocos2d-x-3.3alpha0 Aug.28 2014 [NEW] 3D: Added Camera, AABB, OBB and Ray [NEW] 3D: Added better reskin model support [NEW] Core: c++11 random support - [NEW] Core: Using `(std::notrow)` for all the `new` statements + [NEW] Core: Using `(std::notrow)` for all the `new` statements [NEW] Desktop: Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop [NEW] Device: added setKeepScreenOn() for iOS and Android [NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions

b#GZoR9RLTL*kgS-duEIN5BkI?G|#h} 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 z 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 z%0DCQ<+79yLuaDg>)%m&xMZZQqp2Y4{pg+__ZRL#G&%0DOCNcr~O$FK|k!Vl1ctsW#w zKkeymYdNVpD{RWA#IK{zP_}D?g&r)h9-R>u(8cz;a80&+Q#EA_aO4Xt>_QJVIVUbBgnuTvm?;WO?BoXgVipT<(NKib%86sW_lp6sr00AG}k`wV`-xh(zv zXe1SiXkiPU=E0ig8>@~Nz;nC6LObTSt)WzUR-monUv*g(x4DX4&Nq@cfbU(xLOV8L zeFLdQe}7x`BAzVLbA`&`zjmP=Td~YnT3EM{t$w@u>~_74>bMEN1?1QT2WZF6uP{m) zozb>voEO{X9qVLw3t{gO2VimDOWayo+x|so+rQA8<)3I)v9KFP*eJrHuf};VeK*rL z>_c9*T^oJa;K~P`$_AfB=F|l=X{!5^E__Fx$Ap@R;OS*o7wTMhPveSiP!P zasaJw_}%eGnfPULunSGv@s2*sy0oJBM=gU?e8m$53$EM`h#mL=nzX@dyjkO-<;2k2 z2I2Uq>voZnJmPXRnJC5f|Bf zC6n!2t|h*K0UMcP7g{&nr24FIS|PFMYhP*D8&{FXF6^cd7Md$?z&SEqNKf{L@)7?b zJ((xvBXU3BK8UdBCs7yB#Wf;qC}Cd{_8ehhmtXEV99|O^=g8naYj%!K?RZX}Bc2bu zL|DWQI6y-O?35hr0m3?d*9#)--5d_!^#6K)3v|GK)6lhdZ#iPjuptu+0zXIQdT1A+ zooh3>i#AalaBi$x2G~ysen>um&e3FqhOX(EPVyI_slc&(3<35$VP8DTHts1Ot0V1L zlchyJnk$rVVD6e@7Z~7iPa*8NU$QMuC42oddM)7U<%h zt&5SLjwmHK+J#MA;P9o!deXAe9w(%WJMXzxE>!KB6PDLMI6%uvXU@pbx+S=6*40m| zsdC_R1>j-#6Yb?i`zHy|x}7P1P@Yh9fsE|_H}@Np&eVFw$D7lFiI_(V?5j? z?4W0}^qPMj#zQ;SsA+^w^Q@K=U*I{1m~ojF+TX$q?O0;JOmE7E_2IGO$N_#R^f)vb zT2^Ss8g6`Tj_*`o``xn^2*|~g6^x0&F z9xNncp!xjvTzX!||1I03z^@jHO9S*^S4uV$?qqgV+Z)ORJb0fVyBeKu0%@#u(0F;3 zbu*9tX^Gm7xn11hUph!Hnf8x1LbtWLz&1JER$BELuQ%Lbm-Z?1rF}kSXtDaA-6nkA zQ%2@x<930)Mp*3KfjtVL#aeT@yWDkFQzyIJXW-Dig555(SbJtP(C;{q*NHFp8R~-f zJJ4dqL~j=2cLl3<;RlX|UF;*_<3p2w$ zsCKy@cuf8>Ium+uZ|JM?x3CDU+UNfci{I=cyR>IAwKt6hnyI9~EaB7Erz)2F47}lA z+KWR57CNY-i8bX04c6#*8*;?LzXVhIzLmz3l*6`BDDo*-jR)|AP0m+C`y^n0A?TpW zZ?p(sFX#P^1Ftvi>rm`ok`_9suGBwKKc&VmFyMi^5@+`PPK?k&UHMc>I5%mlYS$5q zdiy~8ozNcWI_RLL)@mxW{m@Ot^0INe4G2X(=^Nq5q}hH4k{c$~Eff55;0 zmd>=4%O9+qr(>kC@aX>-3+;7*$kAw^gQ_E5koS)`qT1zk1`eo;Aq`xTFRU>cp@Zu1 zV!m#+e{Cl$$Aj;rwV}QN8M7?VLCu=HNl0rKqLvNzP(H+20%7U#N~}W%H9YrQUGt$0 zRsZss#Bbo=Md4XS585{qIw(Wz5}y?BusFwY2snyTJa3?+(-(^h(uRywgpYtX0Q($992w z8@pDMjByisrMlP3$Q!%FIN8PXVINr9C(MZb453%LN^`k34s$uw1;2o$-(ap$2YRI| zzo+Y74DoXE8808=;ldj9JDOPNiVCEb5iTA5<_DAuoSprk(LgKIyPidu-1nneHvW9v z9bzXIS|Qgvsq)FZb@l)CFR-XLdVVtYmV{QQ$=J5S>bjCTUf|i>53q~~<6?l{_;LHj$ohzY(R%qV&F2bLM1AgdV*q!z=8)r%wp%p6KyQ?s1bPFe} zqtDQvVGaYWP@%BTy0dFMR6oFHh+*Kt;m@fq$rT2Vk)ahTcJsYCBBG9&`vE+8+k_tw zzlaBDg_@petoM%0o5gj#y)CuQh=4p;qRetWdEd8T)wm`v{su*>;I682WwS4-f< znMUY;)}2i=cbL}D{8N0Qxc(12mU9MQ;*cEt#$<&4XTb2T^1bGgP~}~c7&^oGT?E)7 zi}%V4ZhcIG{>Ohtvf0aPqOf&WvS_R`R`Dz63@pwBpmT+ip#NE|A1hZXkZk^K$v!$i z$$mZ!=Kw$akxqLYeGIig|I_~Ar}&~}3;F!zaX?%a0qa+mi^`JPp$rzO{{0l6# zdEdiFx0s>-so%SV{G#tx`SIWbV&Sph>;el8)aI2vSD^p#v%WWPo)lo7bNLT3?UnP{ zI|+n6;d;v4@>3N-IajEAysr4E@$$d`dKWqETo&&DT5<)ZWcl!N*8<1-dHr#clq6! z7U+NCpX5#~Jm$}Yfpu1hSGL;s7Uo#^!Ly@_FP*Vuf&OQ-?_=SF+f2bFHB@wa;Jlaj zUBc$RT0>9gJS9N?(|+0lxk5~guKddZq9JGhb8Z)9JNsL<1?RXx|5GdBrEW^T%86AD zNMhdU_PyOvXTXDlH|<-rX@>r1XGoa5v`uYuupy6F`%u|p%(X$EF<(k61vLL7&469cfP{=zsP;mW0NxU*rex z^N1%;f2#}LHY2y!)X~|K%DF<%-+va$ty-iHE0O`Lk%j#Xj|u}1za zPyP^yqwSSA_cTPisco@P`&Xw<944cn3|;DyTAhd&)FhAFxK4`A-h5qM{TB-8HYrV`H3H#s&*vHi*<3eqg1)83Z)BhEg8HB|D zg-uG{pq;SIWQ3+?^GQj_UnIAFeU4quSK&f_IJA6D681rZrpGg5zIko@VF;d@Wgr;ZHv2MckpSS6^IN0S_#7^aR0me}&lLcsc?o3NGUpziX-t15| zjtwPjxsbYo)}%>>PG?2RU%ErD{1Q1|;P{*XKBMy-;)<owjFxmKUb4R5|?D57d_>(b|SDv^UNCGqq){!A^F0-61An7kjWn zd$VnHrqFK9EFCW!FBdq&57O>ANnd(QPlWbnsYiLQLC^El-|z$fqHHZThZyL+*9h%R z*p^J;pR%)cj%5P}UN)RvLT4KZ(B2TnO!4JZZ+xzSHc#UP_QS6O?M?8wNTKG!7pfn? zlluZ3mS##g)5jOu8>wey-NmP&GUp2%$HKoAI=WcIMqez@(}dJ0s^7tG$~-2yA9$QC zmco*-jt7m*+MSWYx!W&)XcrvlHwNPD3yn;Av1}pf>s-~piap|iJFpw6Pfcl^OAC!m z^q!uwn`W6>HpkdOz0rBBNl#1K&)y-Px<`kDRSv-NvYEbdNQOq{ZqZVE2X^`0o7aV7 z*}$Rq^8n+e7)>%XGM-TjbnTO}R1Ulzlo+PExN{>TDJ9g!42=xMxcNTS8~5*j%a-GZ zWN2jW7t5vVaU@u^%j*JnaKITvbcTQt8kw4t`w3%mFIDaGvMIcYgDcyhyH-f!i?esu z5{J9QfwwpA1MXjY>}Y(Uky(2qDz1Ci%X@gNJ7N)MgA1CHKGAtE(7m8s@GcE&ZSK% z{a2VTbT5a#^p)rRxm<0>!14<|qd!xenUbM<3Axl?md348{mVHhc(OabO{nF>?;*a> zy>u^LN{Gm4spo#+Snv%ayG2ILOKSWb$nCddgu4w*~M?{95gsjM+4o<$Ji{P zR>K849uJOoP2jt+lNYeiz5LP0D4UMvN#y?JSnx&LEYhd4xd`pY3Ej&^_XWE9hci__ zpbmfs_M0Cx$f(y)g2_4f2B{UvAgI55Ca7{F}R}@YB3cD%Oz${D5~@;$VU9<;0T3Lgg=Q^qeoA z?PwS8u-JYOIRi9}zIA006 zmlg-!>O9Zz$(wDdrn`C^ATd9dl~U1!~E{W zFA3Z(%7zQJ;WP39o&9?*4qBE7p|L!Z_Cx-WAMAFObGa?hr(B+UTgWc+KrI`$i92HF zuD4{te!bQUNCNJ=nZJ~nEAZF>mirfWXB7@J z(3uAo=twqDtUsVwck}}|<3jAvJ&7(0bR?x(^%IJYSSIi}49DRP4pDUeds6vWGjt>~ z^Of~!@Tk4dkL;q3y?X}WyksBfNWyQVMNPl5ZtH*fDxB?chJEWb(2*=m&1)|EZ-`Ub z;9p+HR^RL-|N65m(1!djG!|xb%d4k8TbU!m58Q9yYcCs(L!{xzy?CQwT2fHYIiO73 zXF1r~L?IR$4$0R=CkQj0e8#beo!TRV=?r>z0UD0gtg`-Ltvzb|!mi4Lum`+clryxT z;rP)w?`W5Pi*a594adeS`E^HVJm!2I>ll24x&fIKVb8 zl#SMRELhitenR(px{x=ytXdbGD}IA|tKR;z0qeTZPmCQ|PBt8Esg4)izuYdZ6DTnW z{Y2umo93;gOlkY2n0WoyZ|_5}3l6hnsyFI)pr3f(+$0n@{#yIh>M6=O=lt|rzU=jN5Wza&%IX>b5!(fBlHu+zH}9C zj0lunFVnfjRllwGfd{bkczh3tg?=Kfak4qyRMC8A&RKCnz({4?6?F^_k%Xml{$#A_ zLO*dScxn8QiNz8hwYV=H+&Vj(&`+FuFghWqXi@!;Q?EsjmxENk ziZ2LDzagKQEYMHPa~mXNPW-GZ-1nn6zGjfx-eDJYL1%ayafTK26S;@=lC@Qj2(!C< z6ie0#Ql8CY0$4h~TZcXh`U%tC#loXutA)3JzY*&Oed7ST0g4|?=pVL2KT*8sBH7$C zShzgprFg&SV3h-62zF_1X6PLrnE?I7{gr>1E03Ncyr1=$z75#V>48lp-Uv(IH;pt$ zGeAF438plhZ+x6_yPxf&RB?Z0hF_0Jg@i(fm;%E1v_39Pd6K``V3fb zupO-`oa*F~1pP$aZS8~&pH|9KcAXK$an9!o!7hD2PJY*IR|51Cdych`{U;~NmrfrM zrz{?2e|8RsyNVx_@20h(pNRSMqHafcs`=$4S{G{cZS55tfHi4-wX_CofPSK3{G^1T zy$j3t=UK#O1MKG@Ddi$8;tcO0h2AYPLqGBVn>z#j#H^Dsa@_EeLOaUApl_XOpAOrw z`?$q+8Q)EzpU7t|EH4|Ei2@==t=Y$pHOC&GiQof;`5n-@6^LuuEs;_-3}uPJ(`- zfm}*=Uej6qE`sOdf^A^24vx7hG!X})e-=vr(%0$x1?P)6qdWzn51j`MO~mxayX9-8 zBAmW`al2axi#Yo_%VdEj;_&c7i7)?j6&$}=a%@hl<2#uVnuy2`dfDh7q~^nbC-;Mi z>{6bBC8Tt$4myX$kx7E4O99otu*vO$FZl(1Y8~ht)+9XaIt7-Osvx`Eghl@s?58tH`P{zV-(PS^N8+>(_9-9X@zRq~u5 z_8k^@%waHBr?Vo=&<))0JX|=tX0KBnb00g@u?D(FRoIA7p67Jjha3p3I= z9A@O~*R1r&=SqhKYD{vhawk8KO{K3!&i^n=lLIx#*Cy9~rq* z7uIl+iUp3>G1|N#sF*ORZ!QaR_9@SY`hUGT2Jo`sH+G+agUN`T{kx4#x)p;CIQ8qC zGdSQoS@dm5Icw$QoC1k|zHBRSp8>~t01KO#t0E7-co9wF!1ddmViG*S8UF1`XO?zv zn4N??{IXYy>WZB!_nlqXN31{9hFS&>$X3o}3AuJyX#RU~6$_iVz{Ac#`QB|o9==!G zZ9+`XPijnZzQBURpD8mey*_#>=duXv1`4x-+NklM@TBMC4xgP_qe;ej(8$9dTlJnW zclKqq4Z$w=G3??jkP`D0v|F56ZI%k2~yQ-Idk`4amd4l53^*O2P@* zaU4=P6PC_}F}^?KYD6BsZs-hId@|fA&bV#(jK25ycIy>vK^}hnybI))2M(yQgEDcx ziq9yg?DqJtX5`^}j9MUHdvZ{<%WZ-Ou*fO9xJY9}9{%!KfpT5?=FQ`Qw|UqGHi&XK zH${$3LLUC))kowWc`vD0*ySAV61M1iO>%5UjdC_j;eMXF+AS`t?U?(3bJ#IH+gQF< zycv1;f!k`xS7INjc7Z|paNQxhKHIV^^o?GJ-1-804Z^&W6TXWF{01D56G`(819ITg zJ(~*+-TDi>Y>sw;Ek@_=(tE6c9C+QUp4wtAC!IKOzX40Ro<{mMorE0t<=rBLQ4Mc8 zjhoyL353PDO*o?*Iq+`-hY2Na{G`St{0l5>V{U|bYHn6hMh<-b+{yCeA@fzfye@!E zA?#nNSr+>KW<(CW-+;g5W7P&E@Ul79#cRTD?wN@*3@ylkzmPRYw=kr(S{II3@Wom+ z$52ySjQ`su*K=LV=@_w%=YZ;Y#rH@v$C`4 z@4iJJ?3(O$F+!2u_I`Ogn1mwxcf|FavdzcQCjJa8GCRQ)8R)P{e}qlCe;aY|XFFdY zHL*BBW!1`#UVa}E<37}=pz@{PE720FaL{OI)mg@=D5tiD$jRy1y6(Mpd2_qC!~5JW z-cpdQ-g}ITTrnlV+k1t(YM1{efb1e$=o4l5Bdc69?~G^JKAYmg=5^S^?Qtx8rlGI) zn)w}kaC!-i5?je%I;xK{z`$1=3qPP-C>%1-T^qRw;2csiOsO}H|5k6BSY(hP1AXG! zPViir_#!)+GJbW)K&Q+h!K;o7Y^rv7*%behAL#AFf(-PDHFNo#O3l)Z{B_=USlC7O z!u6V84LH3d^nDd?db==>+@2+Hd;AW&IKiFXa($4k9>}uI^>=v0PpUFc#X9oE3GURB z8<4HOui3u%pl}zVf-(C$4zQciy&|M)NDMr z7pIrFr)YhC&;3ca{QfM}F6V%lL?$Zg7@6(6)2?~F<^JMP~c&=gY+X z8t(2rK%=R}eZ@JzF0E2oaN;{o8L1i)B2a9|6?5VjIQ|>hHEA~_l%NM7E&dGuf-BTFI1PmC#L%^d{!Ohnj?dvsluZ_#@Ns2kE}=(-FrmnV@B64A zvWw@V9V4@yeuO&Um)eHG`z~SW-<19g+3MAIc=+@>k)d<+FZw9(h$QTAIaI+STb=p_ z)VG|GogG6qR3G5acDwYi^dGX-Y1LPk&&ziYtvEWB4R*n|rg9n?#SUewKd{b^8zE<# zqoZf5SVs=@=7E@uMYcLUi!hqs>DtOU;10Vf4rN1DIbp~L&V4oijmeIM-8#rB@0#*H zj%M}VlB+!?IS%(o!rtl~j7(-FQ=I+|9AI0Co&RF#|H)@23o^yaxPJEj$ChP2Yqqyd z-v5IyI8X+IWz3yWBeK8gH#8Q8(pYG3^Z$)AZWkHdsr^IbFTduhoj5g%csR#;PMj%U zSCG+7cF0$nt#ntgcs6+8cXprI+XXVZFZZY%H!3_bZbUmx;(zUeuhK5a7*3%0>XD)Q z@FtYTEsTlZ;sLyK>}n|c#0MGDRHhiZoMIg~T(C>OSLy;8(o$d8ny_-9Xg&eEc zrPJ()f(9o#m}pLLwN0>`J;y%2aUQt4Orf?(tG5J=#fc7d7wGSa>-Y6$=Rp5L{~`0b zAH@RIjqoV>eGS-x&-k5}4dWZKskbcL8TVV{KHFP?`ZD3bdxZmd@CzJre5OH$G-V0P&;2&;={;qe z!hzcb9%Vyz9@&jWCUXE|viH0W^`E{fIdzLkSR5YdP1&gm794=*J_EM<$K5()5gYq#@^%jllgAaGrrHG-momQ5 zJcDM(7G(QYt>qJs@i4nvJ;e{aY}_v9BsBi$knKyVxB3f92l<52<;WGB1IQ24D61WB zm&o=#5bhqgpW4Lw>tQmmye|V5{zWWM|7bu4@2HQ#LRGT;*U`CJU>!MZA?&_$&t=U& zzr-VhcSw{;xE~(5ck*X@dvokdU>7TaP~0Jdw=|6tOXr5@B1Yu@t}fORmNMpbC?7I- zZ>G(ZuQn;DJDw3jG4ib*@aF`=uI-ww%(;+hd-eLm`VR&)NH~5o>^uL01L}h2M=~;P zhfqJ_laM92wV7R?+vWX^iLlfzbjVCVrtRNtf`#KT8a-tWs&=_AV3)XB#%VWbkv*Ha zG|POTe5`kPU`8D5a@)AWuHi$rf#weaGGZJ29V$#WYqr-|mZ8)IFq{MI##+7_DC5k6 z9r0hbbrE7W3~5TIL7+S&!Lt+LBUGqD$RXmOO%v2F#nP7?4k_~rL6XT`4%ae zt9}QKarNhh#?R?s?{{DuKEoXx=!>IQpADhO$Xq4$sJU#-3SQCCxfK8M=i`ocfqIKx zs!K%X>hNc?;=B1hi62SxU|uGUhaU*5q4uCf=IZ-5*}8FSHTo0!>fiBIIM7Mi-Kn0D zx!Q={S)_~%n(JpPe&Duwdjkjb56E0~ADk8!dAm@8Y4~2s;IWqpcksY`vJ1u7U#THR zWUkWlg;zZ`#Z9Mi!x4*m1_#Q{Gg2m!1(~Zm$7fS!NvIG>6alIrZ(AtQ5@ zRw;C(H1#3H$ag+tWVcMd+48{fFe5To-(Jf$=UUfkx0dGNoTp=)ZKah{pPQi;WUik1 zC0kdW`d`e$IR{>EC|gSZ5KE<3CL?yP_uiIeHjWLI!}rWp{U+~klBs05 z(tC)mL$6(N3+H2Q^37))tJ&1a+vA|cjLg+FrSE!|oF66xwarxc!Y+J(3w3-TGT4H4 zfy`BUFE!IUu>7zcQ~bbfbFBL-7iA8EY*gJ%R#SU3RHlPsoqWbQ{Ch3ikaD!DjBHf* zK9%FMr_T_QXuiyC@;hR3Sb9bhvVf3bihcpt_7|TOzQE!6;0?Y}(YY+N`XeC2^q-nD zR({-8?>R#EiRg5WSG+P z;aAz$)jke!4zLZrRBy)NlXE2_!<2ZTOu(yU<8=(a^!LbOQ?f=qmumDa@68Z~tPBBO z?ayErd_Cy&V5sY{W4lIkh~}Icdbju=bxdPC{aZ42VGm@Xa>Hi3;;XpCDD9ZnF`fYq z)pF;?*qw|FQy0xe%w>sdipl|aTmg2z_`02p4Aavzm)-1Q5~fq;8*K4%;m`0{&woRW z;gR<2&cF|PpUpJqNpb&H$H3!?BrGYvQExJ`J8As^?{1i@svKYw*%83f--E9&GB)cJ zj*Y*5WU5fUrJVyW8}8sh8EiV*IY2W3wE!ikftpLq^-%Jm-u%IAlC@G18dfjm*mSz3Rm+4i6CuuJ7cDe|Pi)u+LZ8 z?IN=>b?zBYKdNWUDY;FK2ZwGyg(!85%u4!qdUtfEdRF|V#yWlnyL3mK`664gF^w0P z+t)GJ`#xZBp?t6#q^+nWUnC=2QlmLfaRZyqu>(A?^!G|#AOrHtER&#L;qKFFYo^*i zaNB5awRd>PwB`_x-Mnw**2s~xzO?t^XK!G5xwzfxn*+$MsSdIaDWh3v9Noz?yp6M6 z{03#CuPa7mKw{VJ^Pw(Y!sBQh1ym(r!rl~Xnz3%J|M zrex(Bk*Ro|#+FX?8^lwesT=wo=Jwte{wa*d3f%_QshA*V_CEAGW zL;HFO`i5^DfX8Jo8~qFU7dumz^RKk0ZeW;@H1MNRHqL?9+Zl6KQsls?GIplc_-C5m zeKyHD)3-Ln@p$L07U*JGT-n7JS&bAo7>o6YAz*my;LkZ6l<@*tjRp35#04C*cyD@a z@2feMbMQ(CF`nuaWUsYb-D&sU`_6MYZui>78s^%qHNMDd{8(eXca+zrt=ZGRsPzV}xG)}H zZIfvrWts(9jqpP*O;%0ZVG9`NSXbh~f~>|KQ?|v?8l>>GO)h24oa1o^-`N{YMq2MR zVrS|Kr?YjV-AuwrTEB9{;m_bursbEU!aHXhu`{(svyh%|LR(h)YH$Efxv1XgPO+}h zU}tJt)0LZV4v`z)_%?2GEI9nsir%|7c8Wu0W#trYd=nZgdW6~3y5LyEB+Y3Jm>VIp zlAc*TJG*SnoY+)i5%CCoPCQ_ZG#QzdBk27NYe79Xed|*>XJBbgYw@|6ZA50}b$Wlp z`lNR8UiCcy{>249&@Kl?>^y|bN_rMzk+`nF`1#ET^k*cF8afM<_D&r={^Y*r7+H4Db4~a(xBxN1Qb(fli^S>19a2WnB+Wi z%2pd|707_x5&vFSgU0%~Bfj+|+&=6UrQI>G8w@fa$sh0;zkc8|tiza$$bf9v-Xz=} zT-?VZx+rVV{Q0=UZkfX&mS3X3=#T-K?_#je*D`@}ND)a{@8e~|9egA2WLs#?o`g)r zVo_fbYBkL^S3GU^1CIsRMIF<(Bp-UWQZfoly{{{e9`i0CZ;#nZy}=&lakwKUXzj8Zhf?`@q;Jl5SfF`6%b&=?!xpliUSRNP@QA=-EJ54rqLji?n?IQ zy%*Yc>2%N{d}qqDs!mQ)TrE@79l(k$==vdxlx+R6QU?b=K4 zFQ^Z-&hTg0rA$SvXDiuei_b3=G;Bj0?fUf{7IyKikd!hyWSeDWccMAC^1WHXa;~_; zE|rVQW~z;Bvug#;$^B@IqqXJl_yU{KEYw2lC1zxWMc1n$(6?#1*-B@=unP`dH<^ss zH2}NG=DB=GSB2IyFZ6U#>~bIAj(7+?n2}VGG9!@bHRzOwOzSYZql3bfy5Ly&0qyvm zb-r%TpVWpZd&~c)k%CC;B{RmqNx;AJvfD@xR-FXfJ-eH8T zoZxEtE%j>>GQC_hf7AGCqB)Pf-hkodvvV+^E|QSx6?8C<9I_xwH?>KsQg56q?%;59 z{8wG`YLm>!^ztj;B;nIf+2*yeGu3+Ic-TcBx#!Pp19nEG`7B`+u6WOJiZj@yzr&n1 z2|JilnUSY}ZzIv%9`|t$U(AhSkvUappSzs0^RLJ)`s(Vt2rnD#)_z|_NADLpWH@P` zNJ1E`nV-L9U)KN*{>25m?N(@v{dA?x$Z#^1`)vL^%cRWN9r@xnup3z^*z)(jP$M#t zelB@O`Ig@xyOlDBam1r8XcrVM%|De)q=ALs#Gec^3EQ_+!@HT29|8zV>&gb&5k`wl zByZiXaTh)X%M)q7@gqObJGX8@ON|jbf)4)ZFL*t7Ma}@mLnpi7OIg~MF&!r-VVBRx z)td=;FQaz{CoJ~^&H0m7EUarrCQ|o>w`AJs#JiHiw;669cGs*nSxj@!cw^_zowWAX zKRiWFjya;v<#@cC2ushiV66aIO9?BA=xys~3Vt-!^RhYGC6$Bx_sm>IWGx*x%@YRh zSmq<;d>7%dfIIA-{Vmi;JJl&!OS^ot&3AiL_U`xK+qlU&fG>7tLna+Ek!sYPC0i+{ z;AN?TN;~Gy#~t-XITbWUkiv>Gkx~-l_q=aS^VH4fly`qeYye@gGaJ@)kuh|1jhANW_Q+{GoD#K5GZ+2xF8j=P-Iw`i4YIdw^_lDQAr>%y)nM1mKPL~DZw*=~b1XQh z7h$nu8s5i|TO>@)l%w*x|4%IKK7(~@BXWysK8_F?)~}fOz<~pATd&uFgYusTa*LYw zHwnE5EY#l1!Q%PA;$BSQtI?233p+LXeJc1#JE*ZH@y>s+O8E$jbu#RNgB>>SoNc79 z&~B~ZXqT7Gov^gNX$<)1mxN-ziGEMEFBO7TT4YBoj}vgn*^P*NcG@rbq>DbHL6X@K z%k2VNXz^YFJdg`jjr`zCez>2*m)EC)CoJ9ZZs|)q{`r?bGgs&{>$dr}L)lO+_~NeO zGgB;hAaCkj^mA>y=1g|8{KGo>bo19GhV_XZ}u zeYZl#v1;5PE{HE;0cthmSp6RQIpJZxFo9$F^OZYcY5e!CwZkJ3JA%4Z&#gaxy|3zD zZr6cBGW>uYL3yVAsEoUv${x1$tqhK8nxm#(W zQ{)Phi_5nh{J`rNWuxa42U9Harn=p7NwjGW>3-y2VEd6DdWA;{$eZ#T>ZULB;iXzO z?g!2nZGsdV$;g{JUU#nW)0j*jZkM+SCEm$yqjvfAA^&_ZB5&$U{eR=l?Xz@_@xX0^ zgU9E{*UKevpK<>JkC>#oNXB{{@}|N=3Tl7e{>98Ws5W!3l(%K< z?Ds@Q-c*sPMz3c1YQ#IXV--(!JJWk5zNsQ_>bD|?6G{|K5&jonyjRlvN{_s$0 zsKzfaYJKEjv7;7pp*FL_TGr@@{J(sLeuOgrEy#ts?Ow!8?f8HDm)Z~bBEN~sl#n?n z^oM;P_ZhG&Y3I(rTF(^n{dBNyt0sg2&v`amrk_ZP~DejQ@~#hDNC zn~DrrEtHolCjQ93oCEbI0`i-7_4m^+?Y8EJWkX$1y&=CW8Tn0a)#u8`uHVqzbZEy) zJrIW+yVQ;~zSxcP=TmRw{rk?zJbpQjw>PLQhc$Qc#crHo;=kIeWi*NZ?MqO1;6UG( zpw{8E3Gj2#$$8sV$>;VAimw_|P-cgOfej#cIJqJF?{y>+}U9PI-8u*G%( zzCeyuJKbe%=prWn*T0+t;)X5_cG&d$$xT0Qc-;S-6VT2bGGZP1SU-vjok^<=GF0-`+?h~=PUmqAM5m%X8J*Yv{mcE zkpt=&ZSAL4rsSVSP7y!bW(etF3%+Y__zmV7G-hEJ9wYLmn6O9~mpaC&??Wu`cz|8v zqvTEXzCTC4xayV~li;cHAP%sL_{A=i!zwNjB6=sPZ4)?-1z#Eq6Y&iiIabCdqvZH2 z3+1*kOZ`g^wy*i{7*^_n+RqmH28~@PkBq*hjsGJ|ekr8;PnALxo=#Z1%aTVLe-p>d z8e-NT2^HEM=_+2DYgdnR9^imH9fBug$I7Tyw}j!HJre65nJsRdZC8)0^+8z5^D@>A zbV){@S2roIaAv|M`NZmA@h`V&YPq=2kVE{-*{??Ac}1=}E1#-UB{433m^i23bYap1REiNh zR%U&?Cd^D-Eo|O>(7)Ns5M?ap{sjkW^E!7+b`o;UF3ldS-~Py79(-z<|J z9JcWB!?YLL{~q_!y3qgdX#3n7HZfkn57%77kWUzg95%nsUAzooJ3Px(TIQesXXmm3 zd+(VGc6U#}j+ISL9!@xCT@bf4VTr%@kZ;geduLMRHfwNj)c<&(~Pw z|76rREaywRW@_KMpy48_Z(=aTw_4BcUt7TZST0yT-!WK zH)4g!-xlIrHq;x|hnjZ|PC~w0*U`I#in={I-vP7ygXes2H}9)?Nx6>BPQs3rwS`C_ zPto<-7K?)Ydys#X`l51izRy>h47&^^n>1`3h&kB42+Yt)C+2ZvWAZa?rJ7=821*`OoeCZO2NEr99vG&;=m| z>{vOgOh+NL<3;n~!LDMP`}SS@xE}(@F6{S<-4%mXV)VDflab z;oo}RV!0NxlztLE##N25N2hC&?{;dLfLy+lEBk4GbKPLJU2Y^EX7+xE^F{oI{4>Q^ zDO_VjE}umVH20bksjJtrh1kn5Q?Un|JRU+y*AaTO3{Dz0!Y1y!5UBO+lxl8Ts*5;e z!wiK3w+p_syPBnY{RXrXMT%IbW*hU0Cyjm1cj_-zd^=t3Q@LH*CDAygbdWiAW2zYc zdz`l5n8vz6#YT#s8%|g4!WS50FU6RQxf_KUkoVWRacIK-G4>r`O=REOL9zD&DjgC5 z8<0S-kr~8ZP*>O9dtG}+C16>5TNMi`CQ{op**w$ol)f z=i_ujV?0zNuc$guK7v=Blc<3)&lpom_KgM4X{r95A{(V-v}d4IhZZZ-P)`zxI$ zY-Aoa6=fy8z>D)ynZ_*%d4CNCc$-{??pB@|yO9|YW{=?q*#YOH1!4KA$ootEV`b3H zWh0GQ12-~l8GF57NR}!6T}^CKA@47_@&#i^;2C3Jn549p4M2|Ini>0(ozu#iqMbG}HQP#H zPGi~TSBzi7)|u+gjboNB7UKbW;S0#pzBKZ@_9Lfp$IfD=t2geL<_w5q+OM#eMcZg! z8tVWVavB{=Ih(Tf@uuHe#xXtC*ksW^p_jyjwG*mlu6;V)Sbko7vXd%~>AcR~Z-~j? zKi8u@CNCqZW)`d;9u&GI)|68_jtPykx33VtSUZs&kpK9YnP+U-q@Ss;cO3Jyh^*8$ zYA5agYImZ-=Iqw7M%~eVrX-&@#zeA^kskCRto_LsO5{rZ^>=O4$-s}s#lCS&ts=6p z8|*-pLxp${s&N+VQbsy^sT>-R?0V4-(ijC<`Wx(f%8)C0#ZtxexxLD?LLJAPSu4s) z7|=Gv1MUB&q8jI|t^X*G+^?(*4v%Ae{<6se1Ns{=n}g9Wwru&z+;vS*E_ms042_Iq zJXect0|w|8F$nv8zNp5To>@{kdfj%@_C9gU-$i^3y`RVqR6WE*{lbW9oDrMKD0^Sf zo6^R_F(a1Qd<@xdB#Sj9e1Uw;jfK$` zayx@JJPvXjc+hzMNE}mJYqJ^bAY#x0gBiJPnRwtX9+dR&9Xl8H81v<(;#4;gPA%*X?sAK+$U?pHCn2W? zj1T1rLucY}U~Y{((1vX{1Qm>$Vr!%T z*#T`soC$k23EBHmxwFr@iON||mImd{+`x<*Y>yXx2>Z|UcRNwJbJ2`e#?OsADyOg6 zz^v;p>Xp8mh4BDG2$egRR4Wsd;?Y#~ZubV}Rd1Vptu~`IFUAMtm!8`lVq81TS(%fu zf$7=ff5?(f#3b@d-xq7D>~b|mx#{`_=4@9{R>FX`2>|GSP`OhZvM@-KGf;Wq^#*2o zXItA~2Wfnu>OT9Ci)!@#(^%Cd$M{9Ik?9m^Z(qowdLDEm7d57Otsu7Dr{tLG8=3IJ z?FLFLYx34THACM5(_Z@H1tMc9AeiuwXMu8BVgJ$X z<2N$jY0f3t7J7k!^8U<}Hync8*$KuYLEAq#DDTt!>_ib+{7s=9(&*nI$enH4piJPr zgpW!03T2@Wk0eW6FctA(X^mckJ+*FsP@Fs{NRky~3VmD{XQWpqLq*WJN%xaGMlVV( zDhqo-H^x4yE|J`$wM>ni-1`%1C7)>eDd@j=1sr1hLa#3>f^OQgE$G++AFEyoD{KZk z}&dHw!tr-=3UTHhgjN7ra6nscpm~L50l_E88y`?S950;PLnrKu@fUl)SmPiU_2=tT%2shX#=HL`&M^K` zbrc#WDGQ5oQESagF#bNz&uTLXgM^pFgz*8nsN*{xQRd%qQ2qEVjv2hlHdf&&oZhNGvidoCWD#n`(|3> z25s{qS@89Vr+xsrs5Rx8@;dXJ6*Et_X3W*2Y_VXC2O%#w5xJ9M=WLyvzBj z9M=*|9^LRE_yF&xM;xn#e4#|-q9%;pq>9RUW17Ld(lqX9+XE5)hV*9m?L{6@B63lg zgRO#@MxmyrT`y|>GKqUDl6}$VsZSsm#1B6rRmMuBa?*OFyB=TYXdBTrtmh(9wH(Q2&`D1k@>bhSm}Z)Oud;QIA8{+SO&E7*jtK4z@>Z*VU9Os5 z`Ji>*9&%EpMzoFAut_vGQKNDvoiWfEWJSAkQ{ny8M!^^2njsODJ0D)Io78-J-ThMA zfB~`s4$_NCvef4fARl(p@!-I#H3lX<`HvkS551@)3!|ZOr<3Dy)5OFy)ql_GY<3XV zEq=9%hp`R&%`#2zQrRS(%}7|Svh;q;6H&QSHT0|M@fh#_=Xs0Ik*UF`+)4Vj%LYfw zrL!co36Ic5*i5uT8Y*|bAMBWNH@BBcI+uow6c1<{>=6CuPcwL9he%I~&~Z%^c197|{k&+n^UdqaQz1?&K`l zN|(W&L3xeFXm0#fI2WMzOM1CS(WtVl7AkkfMHzMDxuoh8lFL=RVwS1+K`+gs3${KFyf|loUhpcBoBZf$8xvb?rfOyP%9;+>?eP}D zkciymmV2X3)2eMu>fTbOxqV;Mi}xdbL|JWO=8YILs(fbuoMbxH=!EIwANRwyJ+sNe zZx~Z4pF0>8BT?luhxk0M+nOf3Y&#m3{njQ6-LM(`4b6A7W>oo{dRL}8p2nJvty>@V z=94HZ`3?{(9kHE z>R-3n#`W#KH1+r?w&_3pLcoBEpsimyn07_~PzEpS-{c!%gwCQEez=C1RxR3XL`BfL zCx58)1#?snznnXIl=MPY!T?{~9!*uy^0umwqdn?}XYho%rII7FdZsrgypkMj7B1QW z^M^F#XfLm5Qtg>xN?LP0K0W`VXb0ehEbOq(c|j`H^vKbU&u2}i7tA)5EqyHg;u~9> zNqP+r=BU5ZnjSgYim1M(nO{n%vdi8{@AF*LXT>34KpwL!6xBo3rOv62WOOm@8u=kT z@^Rt2@%};#O3xpu=lgt3MfK3&mU&8_vL#J!CyH?!?%8}H*qH3l?qZBt-?F6H5ZaYJ z^s-X$KP%#s57jBh)xBlY3)wXWGiv<;PXa z6!9W<@H`|8=i2K~`y&`Re6fE011b8q#$@P}MGh z+`AJtI|#lb48zuEP%i4+P*gCz+x;KY%(Y`oqgDoRQ%~B<)+AZ~%5&8;M+-#-)0Equ zs?7P-qLu2$|O()lMsp8>MWsx0va6yo%d>%!XI;G5tn7 z$O5+XV=F|)7@zcc8Q898Q*QK8d%vMyM4b7Siun<8;1Bicpc=-;q*Q#=f@4$d`vv-@ z_EL;_`=~O(7eWWHtM(Tt#|^%aG=6X-w{pKt7IMD#O_*b-^1IKCVAWv9)@uv-k_?HC@VrhTR)R7N$Y+zc3? zF9=Fa>BaTe+u|2?$RNC;FT~vX)jp$CwG+#mRKfkZ=xz2kgY1YFF=n!Z8M*aYEe{*Z zbr~Oca?D`v+-7@O^b76WXths9kO{fqErpnjo|9ViETr>fETiKMkT}!a_gVGi#I*YJQ&nYIf7eQC@aNTGm@qAYvFtd zRaD!aerihCKit&j@epp#CVLEpb|6lfOol3|^_ng+jjl7rBoFJybx*LD1%}o4-WieK zaj5u6cI<=Fs=h0xtBNh}!u2im8!!N~mSiVnTPV*_mWKTP)L9>u*FTpqWhXZ0l=STu z+C*|f`$(4l8~Oc0#Z|W28&$<9C)0${D(*bRuXUU*w8PDp(Q5y0R8xd1u1@N?NSW6( zG4T6k4=(MZyQqV5vOFca1jI9H$x5Hz^Fax zM(5zK0k?A>r9XIT(<}L+MRQrGF7>B!ea=``9_FB$V&1twrK%}?{ySStLKgj^c)2g; z2Y1bV`rN zx9J6DjAx&}@}aGE%t-?u;ru`0DUm;ADK&nC9X(R$1L=kYVE9_uG4wm#;);r^AvYJB zG__tSzvT32x`SjTp8>BIVJPO4uNt0MEDaS`EgK3{Bik)gcJ^`&t4tVxReCTl!5&j= z)+~YNa4u`AsbaLu6m()n*d%J3WLwE*dbKYMr_sa~f`VVhryvd}Hqjqo1G{c55cRFvR3R4=Vaa*5oU zbmrsdu&)noZ4K1|% zk$p=Z#C4f#3c8@s{F5bCgvPoIdSNrnXE8p26Jb~xn!GJxwyIlpBTWQnA7{{uGb*af zlkC-SI-8R;aDTROS>Q?k4w|J0?Ck)(bWWFiYI=+r{E6Rp)Ckmyqx#L46enGzw%TG-*Z%kQp+{th8B6h6@%7qD5FgQ*P`OADANep z!sHd6D>M$22O{B>>_Fp_iFi<&nVimcJ4wqZ?%O2o)9MAg?sxB05M zmSNVlG~z+R3tvQ5lu>4%HU%7xzrX*f8q|B7Nm_48a`+qAVQqpe6u0c*zn|@q1?!c( zHQ!#sE6G--+lt+h2TgXiayZ6M8a8OsA59A>97jINcH9q}VfeAn&GKqWJL|F?UBKt) zu5eOC$7k9^P&i7jPEqV}X(&(G?`G*ovchWsiymK+rBron3mZY@zkS=2+3di2n!HV%8(tP@*xLLlB7iA^gkfnbMM|hxcs4m4R z!mE!l)H~#6X+G8-gCI*s6+{~}gTk?HM3%lOA1`mryIKAkA<9Zy9$tc8nT)OqO9q8w z$tgF(>p|@di%z*&UJPm{6lTX3hSWCtoruD`pm4m&*D8KI`z&vJ(aqxBr=2)lP`l7R z*a2aJl9`}zkmd2C{c_#SlF(I@l`s_AL0wofGtA|2yj<2kOJ3`-o28&#JG<~J^aUNK z%8>f432txJ4cZW_`1aP#a<-W$3#@nqJH%%nxL}-X28HAD#$ZL)e^Py(em9lRe z>`QXA1eD1@;n>`Mi~h{lO#SBe?v^uO+uFsX&^BdgGKNo--_=AeGi**6B!Aw|-Ll}7 zC@ZxMdg;iiMxQcDw-91db1^+re|qB<`RR@BmW%0at-~R@Iq+iGpd%X-%J1ITohOfph%sD0 z;BM)$udQ{+fR7OmC}2)0f`Oosh-hTmI;Y$%k2Z;VrQra0DdmJxXJv_?k-Rv)%dlwR z0K?$h?v|*CIgLRa=ESY z^FuP_lgoKn&JPh~CHn#c#s`$dL;2nKBf*OB&HH>p{5&iU9oq`yjubnPB|Dg@{FoXv zl2a|W%D<>H<)>SESiY)7J4hH{GhEzD<;TpRk-QqQRqp1RDStV_!{XxFR_K$GEcD6_ z`vTq@`2`1%1juBiWVgVK6^zW7wVSVLAA) zjnx;>E%ghc1DaQlI<0wdW2^l2v9t0AH#{t_kF~MJB-$rnAlo8EuWHVD&Fj^-6+7Nn zP&9Y&w7lOg%1Yw{+6FoT9dnsc))zjZAMKI4o|XzRZLF~);YBJGl|D3r$}+wGSv}Kz zn>@U`r)6e;Q5IMwyp$4#rLY-PmbePMK`k$*_@X7*FcE_!3k+1gNrjjMm8E^`IQ{d_ zOAUehJuQuD*|!a{ghd#uQP%hP3y0bjohK+{H#{vRKera}N_t^49NC~`CCd5^<@*?F zecr8@P|V9x^{OZ<#UyNoPbn^x21Vw;ohJ(SRzCW14ZJK{O`!FQ;~st&VxVzSs|H0z zdvB@YOUNX>vb&e%>FUl7=~Cm2%acv-wAwPwE;j(d;? z28>ZC*8_@-uFDyHwjn{DZSb<_y0o^7he96rpyH@teQ5rT_C*0$#|%AHaYuZ0H5`=0e#J!?YIbb(#ooOP|ZF z1e`@}2HGRZCZY`Sq>R(@rM0Djk>Q8S= z+sz_|qV}bKQ%q{rpy@oV5~8@|xz^|Ha&OE1b)u|0mfI&f5}}Wb+&BE5-ViLj`8gbP_MG^J!5& z#BlL9Z_DA+HoRz`gcm*rP3Ljx5JRc!>vawR-j?H!ZFr#<7$_~xEZdeHa3ed68CBfd zz?N)npx+kyZ5L@__Gs39HgIG_sk zewd;-5$q#>xXII!>-X!}SEgGrfdUGuP(rZ5r{=9-gQ2UZW!XUcvAWR57$5vly7@(J zup!2Or|w1tPs`^x@jFzs5B=jnM_1$v(2BgW&+7fpZk5+N>tT^+ix{L*E{KOOk(ftm z6G1BqIhkTO;apeWH^#$KzLfpE#O4c`Y(w#Z%>KN+Iwvkz(VwAjcT;ix02@elz%d(+ zmO(+9Jg%+ce!jbb9t-_ju&d-Zsn1iX4l_zk4{IHx*sINxKjmp|w9PhuK>Nh_72Ik@ zsp+>1w#XyTXUgBwJSwutJPO}K;6z(%gR8z?lGpJ2Zf6I~w--_1<-*U4&{Y_jmKn{JVuwURJuC(=AW-?!n#mn~(&60mU z=4RPHRGiaFF$uiq4weXhG<35GC9J;JM_RiSuJwQu7|=fW4c`FF&rp_{WDK+( zw5|)Kc1iZ7a(~JjH2#8K^=VbG;;`pIA4xA{rMAJxC|OM9OVyxPRejn|UYzijqP7*E zXj_XwFKiY>$I2+f4tiDi%mPF0^5l!-H7%q5h_w5*K$c4Cn8?Q_(5n(xuGCY`fPUA? zN)|S+tI#I2Pih;@jY44u(5pft_R3u!B^j1iDPc)8^|t%I!45*YJbm9luhLd|Am6iX zx_-~L&%CzEK)W#tvQ%ON~U3d5K`{^qN?4HNVtb|qhs9n77H=Jj&( zYR34!ui?;pwPEq6Z2s2UQFeU@Z39ITG_NJT}M=$9WasFHuZU zfz9v~_RT~p{VtU9Zspb6pzPdO5g?nwM<$3gGuT#Y8}!n8-VA!xl)s%6#lO?~e{(ZF zZ%~wg6>>#o2fg@V0==ry-RtsE8$1o3nI-x2r{)Or9q28BK}PF&HRx5{>MqwUPS~Mq zxn&Ed(}=#6^kOYig)R-J?Qs=KggZHDz4GoC_*8e2aUbuCZIWUVehVHS9fET0pjZ8^ zlqo*X&z2APJMYM&!uA)HRZxi~YF;AfRi)(x`Z$@hzR%F`u&D1M2FVVvS=CD;DeXk& zhjQX2cWdRFn=RD&&fXlRq9anYNt)Zk7xxAoOYK72fS^~kxU$L1>Ej6fnj3quc~pUv@R|#SRQtz zZCEM7E42&1fnj97ETtFq3(%|nZl={wDqBX*cADCBN#VOC`wFphaPxk&4fLwS57GKb z!)tnnG&*tg8Xc!XPTDVleMydfw7#HMO$*Q4R{zUCx^fp{(|3Hf#V#mD&ec z+74AxzeokWs`NMqdD}tDyes!y$laJE;+3|sfnkc%17-ZZWk%4eo=;f5J!$u9pNiX4 zxN*frpFyu=Gx`pt(!NFm(5pHhEvDZ#d&TxcpYC(trim0#$!5@t@{dGARf1kMYt_i@ zPu1pEY@2P3Gspr1#R9D%=^{CzSIGu%l)u0Ir~JW~0KQ$sY+-zq z@WN&^MkbwXe#iuRRqs_*6tCYW$tO}~#OCTEZ40un1AL6RI;DxLL9d$Dp@u@c`mMao zTRavHh%i;C}1NyH0T=!R?~x>Cq-Qe_k9RZ;u? zl~?w!q5s(^h>r-c(aa!^w)xZ5B{WYof?oBuT(qK2ty{W3aQ zfL^8LrWhPGCi#r=eth*cHocIA-qv3{OpS=b0eaQ*Q=jFJ&sNgcsq4)*&bG+{1MsTW z$w05#4|-MLl_x-5&7HuPjljZBScxm zxnzgR-VStZq}>U6)wkNI+dGc*&=2;g%qLA2Wno*X4^gQytltEB)tHU>^6k%;>b5^G z$B)@)!vI-f?CYb#`b`FU)pqZB^4yj$yoXgP!$+EIdZo6}*dXi$fnIg-%b#8cj^=w` z_)?1BdsK``^m(aoLMQNoUKLT_QQ=(>m(7@!+{2<5RV(*t^yd&PO)6`$n$xK}LBS9l`oEsBA@-642D zuevrzX83dVpWcqH4t(i6Q5H6UJmP`A-AYRNP=a2y-+O{SOg&^57$#8(x_nvJkU$NFw*{tK(E@-{<+Uz&UbVTuf61s zbh01MgxDEh5JI%zWYDV;*eALboxc05z3_zd94yL8K87!}InH#|Nx&|W|^r}TsUwp>R^wo{h-r>s4vr)t)n_+w)U!;Ow)oSiI z?@^`J$W`(ioZ}jM`wIJ$bZykQj65UgRmC#u`&4kbs`Kq|g?qQvzHPuu=Ji9VJwSGbU(ezC?GbGz`AxJhyn$AiOTFpt3j_?ad(PtQP3LwkEK~$DsL}a=wm8Jr}YKB z>im`V-d)r!^sAFHx$(#53hQp*g+G8Hh{i}N6?Ophs*UvneRP#VbZvj0E%#aBN({S3F3 zWYN#0y*a_hWCQpD^r~3h6rZ&-WxCEM&v3H~Wq}ocBjD9#@2Br~2kR=ML5vAZjue$T~qxXsM&GMOnXSsURHs~wrV|u+{2hgkjVSM!Q5BBJ1 zE<4MWBAZEa@CVvP6x2W}1tZX_GL7TBeOlCzM>}M4>&X}Ym4zLs6pTQxdce%of4H&T zXXUC)E|+{PjlEXAFarI6UZvl-Rvy$jQ{Ff*i@R-^E6g<@hX-wYJ!HF)<`8DktJbfb zC9l+Rp|1V?EN(An^RXmLv;m|-31#+I*IT8J9KTr~XE?{HkJ{`2dtgkZ*V8vkCIh|7 zSFzUT;+jT^z7x-LI}V8$iu#yJN*PhQ4)m&s7jyLw`*GfE+Y8)VvuFqCwEAt~1(X#P z%Iv?Ypp{oypxJ&a=pt8)`WyT!#jhBXVmyFem8aPx|HJrQKB{ImS1nnLNl7n!f%zoX zIG|Vc9^#^#?8xcoJLYgz_KUKTZs^5)lFlT|pjR#RpQkAPp_yFsEr)x(+ZOAP7h@7u z(5g|szroq>^5y+*=-ggh;%@B}@xsrL72<&;K@$hPYHEph^359)^~JB{a_99nz3_!7 ztKC^~Ndpz=RqM(Y$p3yHtow56GMAJf`a=2^N_t7PALvyRsx{f}m~~I5-F1aa-(s)V zhF9hXdX?Mxc-o+CBEJ`Vm3z3!);ED!94Cd+*nXf_we4Tg@FUy7@VMtSuIdJRy`nE* z2U#NMRo}||qkmWBfV`C3buN0Hs8@=2$l`kiVbH7mo*dIPI5gDIG3Pqx{+BJzBs<`H z1zFIm=Knd_dycY_eCCWB+@n?E*eCg|&}PE;0D9G&QxkL@f-4wSmcGe-USS_QXxlC- zJBxJ|=v5mo7wF5mfAU^9?Q-UpjYYk7gJP-TkVtk;wG23)YgX(Yog77 zmiF3+Ue&-SN)a+(tbT0pE$-_Qn;l>a0dIUZmD-ibK(DH6%?1}PZ7PqP#6#Bn|@{Do!G-&p6grqzLfi<-QpT8wv7+a z4PR(!ZGm+Ts95LK|L5FV+@V=YWc}tZO-gqss}s+H!|e#)|P! z6fa?=bS#mIrBin`y=s+>pMt+BuQn8buQ18r+ug))Ytp=n!#oa{LE9>!y|3S=cT(iGc+S=7Wy1hj_<|^D0tQ^A;M{JW;_Wbh`S-!EI8&s} zzD43ezyOMueEHk$&zjBE`z(LUJ#F?Y2Fxe%%>u=%{=g_hbkm;la~I!p8`PqGp;N*@ zdqD@t7s9m*?k|cNGM3NNZBplPEB$SDK>G^EYM4w0idTGQIo-y8R_O1>e&LR|+V^9O z4>V4uqQna*Ucw*I3n!fX&ONXAD_+o|(LZtR!V8C=^3x@wbtg*}aL*h>J0Q-B*n!k( zeR1u=`jQUb#=JQ`YfC!t2WVc6u}u2L!M=z`T4y!DwF}XcV!bN8%=eC-RE)3m(tgbV zS^92MtZRL7?ZQ9z^5yTc=IP#N73bgIvz0Z09SX-j!56r8;c=ehcJ>7G+rA)bsJug zl(1;QBky;sPVpn_j}>GfhX?juoHmbWsQDqFy15J(AaC#{Q~#msD}G3yA=WvUq?a(z z8H!8|s+-9<$nfljpMIKGNz1G9y@h^O^cy>J<4<$Ttv^#ibt@ZuN#1k$U;3WQt69nf z|0dvt4Wx0M)|$o-RL&bzw~ti)BkaUN{d}dn#i^orCLzUI;dhhHhqPu;-Nsc&(Oug! z%+UX*w?)}RJgX~;;cl;d^(WU5BdBhJ>z|VMYNglrY9+S}uHVwyHrNgEiwoRW?I=hE z)orO#r|(huw0?=w$I`8`?F>+o6@8)I398$_?i1uMUoTZ0{MXYm<(_z^ChhkLKBhAX z8Xp9z+Z|n|{^OA?^1LJNmb*Ip91LK9UK$@lgzFsk#miq$$&yRw7q9`|Z;wGH110U? zu=2I5WZl(&rSpq7bk-q_50C{0+k}UAj z+##j@9|bB<(x7+WfAki`Td2wmN}Bj@n_lRY#uJGwCGVRy#me!YrOc zirPRkqw^k|BN>XettbYf_@Z>TKr>4jw#-nQ&YpgfFJ6!@q%%n9N88B0X6!qHX7E^@bqtMjKL0w^>=TaO>`z} z2F*;H?ljKe(GUcSt-Z@@26FW3U+yM;3#G9dc*Aag5BWqf0h(EZHm-`V$#oTT0&DS0J#61@ z;1It7;#FdxnWfxVu4wjppkjUXSKJk%J4=3$WP7v@SJQQQYS7GTjQFVcU$YV0#&C#yIZ zI-UD-k@#Jc`VjEq?3k_yQiEnz*;t@&{_U)H^KWgq%0}Cm4jk|W_PB`l7X+HwjB4IK z9WF#GW>)j&IucD1@0P}sLOam-t5t($cKm*UJaD#ld%$cNmvP^Ao+ib5&9{_>pR?Ww zn%R>D+YQ&%@AN4ind$6n+dNLffIKG3ol%2kR{6kuxngs^+-ab5iL zfUp)nMEgqeurKmGKktPe|W-$Ws1L3gtPbfo7JU+gjfzR_D{{+J0_!H4$&o?;C7D zGYEgs%!X>GDk3&-l~3{S!hc#Omi5E?@xTti6;)w1Mm?jXoWHY*$_DJErUxWXlC=~BhOTXXcCNBUU)c-+$JGw2m$= zX1~`OV9;fa(NEl6#}b>$T4PeOLv?z;bHg73&8&8Z75a9K@5z_!4YZVPh&heeH=!5y z#rx_1rUuRIuhIPsS#`@Rn&t;v0?LJ2+a|?M*N&D@fBJ5LW)}V9ntWaAU;3!Sp_Y~% zf(2R0X3*QbWrk%y20a&3Ma}6p#ZIWr?13@#pQKGaW^|4al=WDQ~Sfx-wuY>_ML&<_I9b?s?nLTh= zB~S3UtJgLOuxM8`wc@qfSIm1&qdX?o5}K_aa`U5p_^H~KPSu+WvcQT5V+m16($f9v znLsmZQ#?_zY3ophqtV4u^;>&8ylC5^kFro&(+A>un&y|v%g1DOlSf=CZyBA{O^}uF zienV$*)kbuX7?HmFf7{rP5$TZZ~Wax0|X33?I7fo5oXZLk~QTN8TYFyuJ6CW=e-}n zVs9OBh6nL0=9I}~pqU+ObXCz}!Z5?4d#U`Ix#R6@1`Pj}K4C)65ol%(S2i2+_pg;t znZJ@hkUmwI%SrtnzL*~w9ZG9@HE3qrRvea}nc2>#+y0(>xsX{_Szv}8e!p8h6yI*p z%-(MJs9!Vep1#}i8hon&aeWLsz`oF1x&L=_tl_g6G_x0%cj=y}^YvbBk8oYz*?%|D z-!g(ilW8wL4cF=9_G5LE4n-TX`?1{kL$-5&=mv%r(`0GXKLwiE6L*DT)Sx+v^CRY` zPoSIz$q$n3gz2-?Tkn+*2F>i~IIVo)*#h}*%kLg}PVGUPBws*p-p4sOKRy7O+4cNw zhSoE>csCm8pT2~~bxBr=^_fY+)ygK&%u3#j)s47pF&L)>a0`h(EZJ7F8LlS}9$%ma z&Fo$7Px-@YEp(5no#Z~`+V+AZ+3+p2*GA>7Krx- zvbIgK8I=q$Q%PqPXl5%+nFht^67r{mGWnDJ##sB1BwLwis3>cKYkCm#^rKzb`3+y? z`ru!DK{*Y9*S5;iKr>stsjZ^wD7~Wmh?15G4|@qQQ`8qwL?vU@pqWiPOg4p zgQ}MKb-Mhjm)3<;GFAnenUhO~VnrOQXmzQUMW*jy{kEYG!N&y8Z<5nM6=-HFXgwCx z=%8-#Za2&N>9!n0*tl?9mtlDIJAqV_+rS?&KWx|{dys;4^8_>snUy{q$+Zte9M<7O^7iWUBrv*ENb^t`U$V4^5-nW)Q}(tK8&lVl|D(z!KJ}W- zzLFgrnF8T#61=em_ng>yCQtrOW)9!;p?y4v7^rO&m*9<+f8@lfG+z8oZ4O`mwM`aw zfG>W2kpY7mys@+=POQg8FMe)F4nO6yy&WLy_|INb=}%<@-q_X`PVBBx-u&E0+5Dp7 zfp%kDVZR_AfGm`9jWrA2II(R?`ta9RX7hV030JXN`vzq3ZT!4fi|eQ~3*S4jnq5A8 z_a@nVeYaoro~F`cZ9-zy;El!SIk9y+$$9ysi+t%iqFyQ1fp<9NY_+*iSqa|Q%dgZg zWD0)M{EPe++Lx5%B>S2+%R(=$*Q&uA^Z)6@x+N?4(S8^Cnk{U2Aq)Gq>N6D_9W!`i zQ;RvXRfpE*Yn;8nU;a&$mEsq&b8pDfs=tacgEtmZ%9)il@a0$ayTH2*vd4g!T)U`_ zDWgqn5_n_1%R955O8fEGo}cH>OboP+g@_-t4Qp%grNA5eRK=O?`Q4ANIr2PTd48ZU zCQI#ueLJaVs234m3cNAzn$B#=vUPZ`8|V088*F%`_$^K2gYRf6l}^_WP4IALvwZ6E zTO-c#gZA4nKo%IPz6)2Ce_CJ$Z!BNo%zkTEk3V3@;)kEGw;5#1ZH!VA9bMp!y{_lX zUR_+DANwtn|9b0JS-L7#y{}fH5xlXJDrdGsRs+6#r%Zm~2YU<{&l(M*Qo%HSgEzLj zu`}DOS|I=T*0cQbvOz+ON#g_TFmS3Sjq*@U;Ef#*cV;(@4dQn^Im2(0i?V1J9>{j~ zIA%n@0B>wxPEd2IkufV5Nfj1W2(V0Ew5zMcfbea$AX2Sp+ zumk!fJ;23DmN>;nEC{m3 zFUB;)nH!a9K<)x~V=052S&v!``9~d2^3Ar`V-Uv&u?z-yV@pOjvrqdr;^VfQ;BTbZ z^a2O)Mtv1Yl zypSaf_+BJ}H}-LTO5C)ud75qwM!p8woO zl$9{R4)ep)34<&VyfMWpXLh(t1b?<8&pY;0{_+hlRmOgROa|WAY0|sPA%gGGm*)o; z(F@&$z7XO8ys;%KoY~(GG~*qX@cg}Qzv9Jp@c3?mHx|0gnVnd*8Q<$Z&o5~ItB*@u z*PFD&eFtwWZILtkNBwX;@%XZCd^mQVU(;l1nF?0}en zER|?T!$0CI{r%iqUo3dD)S^u18;1=3}?1XKp6jd$uYj} z=U-!;%q7?XyfL?lgdw^KpEKn+pK{aIhhQ`GP1r%UB|8ATvG2%V*x!iXG4TW+b=Y1n z@c!Git_i*XZ|uYXXZG=dP`>ZNll+Bs_Txk07zI&3@W#q@cV=(y4B?q=r+Dv)_G2IP zVvNKC-q^18&g>Yf1a~FlG=Hs~h!tgb*J(7XOAG>{O%0z?IU84WJL@Z zqqJu5#_oqWvrYj4d}6Ik{_br@W%GJ(Rg;b4sRNJj-Q=q`xZ(*CL541v}*9iHdUtnmf^>@`|~_+ zh_?R@p}!rceGXi)4&K;4M`w1?vD*Cd^%wZ}J%9baVa?%Adp_y zy~N)>EXqPo^6`NSo}t*E2X8Ek=JunGy7B2fb9wy^QC9LXVrR>CncCbWMh)JW>68<@ z<-052p3CL`SZ_b~gsg0UPw2m;n+v?L!L%Ma746E`|C!6LTV|VsOYzXb+cRx`WP!R| zF)h=A)>*Rdu6zYrzlHyg_1o~A8Yxt!QN5QqW?1X3rnO$%!nGdsNq7;Hr)$ktk5I&_ zz%gr9DBJo!>q7hu@X{JzP27nC;Fv-0n*XdJCB66tAkU3_ECa_3vTI3J(hE5W2QYxk z16gp)#$`CMj*VUUGLimG9{rs%*^##1JgVc|sf{U4h$43iScr7gOXOE`x+_ai&`9VeIlfVm`jh~gDiff6% zFD}?jGX-`4$EW;vOq(AlYo~r)c%-A>Jxn;nnYIAp5ntMN@0r zb?*Fqa+h+YBO3{NAq#)N4nc>0 zrY>t8V+P0ULG1?YijSW(`HsqAo@&-ox5+NLI%G0A#lvLMAl=qqtX1sC zv;xO$!h^c($1{U8#$HvpVvjUJ`ynUktv~c%1INsFl|Ng5Y;4%#E=SWtmxNnw2ERd;_5cq^9J6J2{MgHm zC&F$<-br6oxtU!&2(mPe;L0X&%xc&0WB=B;Y35xj$K8u*Cg7C%CfY{*(l}*9fxt0~ zQ2Vl_?u^!WRt@HsUTJ2vuVk~T3u8habJIe=G3!vTHam2)K{IIlATIc)s24VXEf8mv zzmXb0V7d|x?E#CVqRHYNo5G~k%kTjs@P zwywuG6+gx;WbNAqyuFr2r~2*kSAk;|pW?~h%4x`~cyN~6;$oAPFti^tJ!HUI2QxTk zvr2oiVbj7HRrPb+?HV>&v<<%a{nT86&jXH`ZmI{{czA2(evK^7St0sOvIBfEzpjIt zYLzI#G5h+-ot<4Zl3Bj`G*>}mvoA0}Z)>lysdOcG5;$hNV%^!;Bfl|wFJ^E@2HETj zS+wo`rf^(ME^y2SD%{yCjk+;$I}dXmmfK^1-cFC_h9K7s9J3Zz-PmVWdNA)N8@X4U z*f!vWUij^Ce3*IB$o)a!m~~m>#*R7Ci@7*q7uWoQEhZ&9%xdFcCN50~IA%@zyRp;X z^k$ShwsE5s5keeDb`awCfi{HBlvUuE?Nht4Be(TownWBpAzdScm_+xC=4{6D+0eMxW2TMM`YrU>EPk{yIte;bubd(*-dUZEddS>@9{%)q|$xid#Z zS?HAPK=TKb(=~!)7FL<^Y@79A=DdvMs-#3%$0*1{uS?wuN}5v!fMb?9gzP({7vr*Q z4mUmChC%9^pH6%i^2xz5d-uwX{o1)Zlkt5#w|bflgVeS;A7ny2fMXWF(Vcba*@fw| zvOgEv!X^v7z|iyTY#|=NF>@T{!S-1Y$=qMrmMd@+Z3dl^-lh*@Q*mt+IA)7_d$O5X zt(mjeg1BM_ZT&)$-Mb=OopExTz%l!$rx#m%TQjEO3}%+b}8O&sFKa~E@3Q-nv@CDj-PnDlS zXX^prm~CDqXFIQ`&otA`O0Vq}{);bUYdR)@Q-mwLVzwyQ)QH-Q>mJASj)q^y^|b0G zgm?hQY(!#hcI$a}rfa~6BT>Gr@NNkMVm*GVB?MQxfn#Rb=*y0@I5VFsaZP*fw|$2s zUzo~XQQ}HBaLg*s@MDLTsLZ%`X&!c`k-aSRHX1l16<4}}V|Kc^KiloEGR%MQrg;~FautPe@R@faYxVWTdHdLaiJ3u6gg z2}A!DuJCg5tjqpZ^`+*U;bqvoXQC`@AjJc%Erk4RaLlR|tIIlVey-WJ_fA-q3Zl)R zQ}P9^EmFa+0>?~$wGMkL@tG#uF)NHB)cW1D*#R?qnHn53k1cgr4f{;vUNJSS;!IJt zCj8yP8WS4$riRvM&rW)aLm>?)?veMKGXC`pBdJr z3}eM0wM{@k{{xO0edpLOna?$Bu_j@^_Yq}_+Kj#xw7w9p@KV!!-rfDBW?sUJrtMOG zjk9I*X&y!23vkSG&-<|vH(zOPPxfwFw;F530J{~&1C3EyUvSJ8cA@ya^F}kSQLUr> zrigtAa(ECAWp)u?fUZ-+6<%DnFRQKlPLs9w{n4X0L|Hq$<6=T6KhKOSydH%6vWId$ zXb$!GEqzghZG3MLoT6Zdy!ftZ-r+-ftLR_9vD8MP ztS~rcw{qodA5DQKEuk`3?pZTo+>zP_yp5{N4M`yGB{*h{8_3y;Jsg;?&HcG{k+yFD z+6KIjdRl0#j#lFeudC5M>|?*;jBH0ZH!xL{1y<-5V<&_9rc4Ho+2gC;Y_$)Lj6&6u z+wUaidq}>3Y}@P6sT7w7ge$!2d9!mYC7Czc@!avrqO61$e%s|h;~D*cW2T<%#SYt4 zn%TZ`9+#Wb+-@u>j9-ce@d~fImp$3WL&`EcPORX5`nIr(9q295hZpKcfMeD>z>^)M zD9<$8v5`xe(L&HG^$Xan&r6w5gAg3EQj0v;q0cHXZ6+JIr)O+>rEv%E#}7DWA6~h$ zfh#I8c2sI<)eBnyZ}N`#`)%NLLe> zz%g5J(v3Z_uPRfw?lJD+Dp6LlnHZBY>`$t}F$)cMWA{|4&ipYtldF7|@@VPZQrlpM ziyiq?np>N}F&li^mHoGu6Eo;z4matmJzmIec=tW!MtQ9n9J7YqT-m)#oS8{au5)g_ zVm&g+$B>oDyo7x@aLf*Ua$!fTsKN9*bC+w^-d4K|IADi=+ZIoyGgc!wW=5S0%Z#bX z}Z=_v=43jVfw>}a~yEYO#NNhXrEe4+RdljlzE~odhr_=swlkF zR9j04j#;%TF6_X5u1pu^CFf1G)+F0X81g@r3OVK_a?I{{y09t#xG|^CKjV69ZFa!l zh`x}aU#M~2*Hx7Z+y0ve6T9tiuJ>^J+HjDie6ZxRaX(YRG27kNh3z=Qn_0m<;N-1r z7$m&O-SdNqGhhVAZ0b-K_R}N)0W%xLbiw<%;1>$-*;hKepE462b|(2bhE`eWZ?^{nGlS+3E-IB{OQ7S|AsO* zDq6T0mtXtlfY|b?+O*cgHDY%>T-o}5O_`&U4{-}_+m9t8hH&Z^GBY@4cf(xSyik@o zTH3@F-_pX`=OqmFpCuZJ%Mt>P+1OsLY|DntnGdGDT-pBidVx3dNpuKtS=8W|eVO9Q z&TZJ5sndH0XLJ|!!oEf9KoGP$!7)o%?#fnr(~h}6WgD0Ez@aj74PasYaIA-7V zuB?7!N2b$@jokd5&4s=Lol-o|_@o4<2pqFN4!N=?QhsAL?OMzIG0t8u@Y4H*m;}dc zL#8X6x#D-`NzGMUNsYZMzC*OeN~Zi>B{*gU*GaZS4`z?wGA_G{Ete4OgDmCf1W+9; zBRFQck6qafHG46MR~K=m-`LhBnQk8Jz$FoyJr%|g z-%nh(zz@(3ztL}evwXoZ+q}h{9e$@&*q@F|_|i*lb7javFV&w?f?EZSS?N`7?9J4> z>6vFX@!{p03Na2jeCL2yK{>OiF$0d7-w^6=FGp}A|J=o!Ha8MvfdNlpOu`NV$82wy z3%jk@4sOYu6h3LFn7b?Ch3ss~so&Z?KLi{zw_>%}E~|36`3pJzj3Pv66ENU`tVa!p zQ1nf3%$}XD!S?F#oeLgxny>lQcD884AejBxoVJ+p2B!QPLAw!b_mOo z>~=b5=s@Qe4e4A&l9PM^x%89UjJSGDI={e~MB^f|Qk>Cx7gzkLarGKx*B3eKfZn1u zBelYr8hCENu&(f|19~Mn=!G37wq-+qQjJpZ+$0QA9v);R%xK%*mRQDI;ySheg+Xc`>@d3}8(I)1^4$J!=T5*;=;Kge0M8A2R~5m4IT7^Y z5n_i)Qp(!K2I4w3_(E!%tUVeo_CE%2F125%>n`w@i1fE;@ z5B}`6i+i|{Wup1v!S;Pqv;)Q+nGDydZK@IvqIgR{+$1 z;2eVIHl%GB+yClt&Do&0nx4%?S-c+)^wQr57{GIL`_z=(*}t78;?I|wn>XtUGSDgM z{dcR@y!PHZ6?kr^4m4$dPV~`Kj<}*(cCwzeuR-=S>8(n6$#gwU8hCE3xhbo;{voU@ zpQL#;ufA0l7_tNmV$KtIZmDg;*!0au!iry=uL)Zr%0j1vSKcXFtxek;2%g(WqlUe} zCx>NtD>YHmL<|yM__%e6Vrtr3F@fh+cV;+yf8FD-o=g10)^7C|;tM(<44Z$n%oa}h1Cv_$G*{xT64?;cUeNgbDJ})H9N9P4^3j%Biy()9(FN_ zIYGc`S(@Xr*ii7?8n^yc0PE;JMYl*@>;@ zYSJ7k)q?Lfrkqt4b`ZbE*yobTz;oL}PsFrT&CDqc`I?z!tQaI&)PJRzG=t~nIH)T- zePXJn%{@6ke0yoDUW|Rffcmd=Rgeihw*gMw*yPbB%~NGre)qXjR$1s3@yft46L@Zl zCEZ!`*8`ezQ*U!sRiy-*!4G(VmpG4RaB0AE`^oiS3b8s*ASn=(eIv;kV2W%`M z=q)N6w_g@Y^CRIpwfRqav2k^`Xev(W-qh!tguhqwJ1jPe*ZilqJ*@NTaG;h0<)eJaR+|CYXL_4TE(>0{HPOW&G-t4X9 zHJX*<-J9qA!_ukpvsBHypbzl2r^YAb1`c5||`qSR!(77cJ`q4CLlr`*!&wu^$SeM1a zzu-$gz%wfzI=3f_yPIxE7sK{0Zs=&+GR+8I@dXZ~?V_WHy(Q?}(i`4#4=iF_qQ++tdR*w-#t!RYYWO0zF{w;0`C8I5+GpF9W4OEeg)&asp>tc+qKE0= zxx&VB+o%@0)Fag{V;{9O+dkj*vP0)~zF7}b@s=fw!}eB@`>(&RV1dJhv4oD!N}3Q5 z848`-xN$v9Mfa959`qOFF4^uHd7TaY-j$Phw&+5kbBjFK!*phdw=u9yh+NBZOR1sXgf4)6}R% zC1dlSg5@7aUstfq*X0LdKTc*}y0Pm+*ns0jyUkmNarhv(76RxYik-l zrFU5QQdb;7JqoB;#2I{Ftuoq?574>g)3q`c-c}^+Ps?#fFRAEPe7ir-Vke!O2%X!? zpPQNbl$}%8Jj3F+m#4IX#qYy!m=ow?A1Cx1o@Rs2t=iv>OhxPG`sJsW8y!c!lvnM7 z1Lgz|3wzlk7Mqph)B?*jFtuqGfB5#qWeyX4GlNaOfb9|F6&e*YD-k-kg-uMRY)#5K z92Mp}rqLV_zs>o3im+9;MA+28?G+BoFINc4 zyBOvqJTIZ+#tbPJw^*TbTSo8b13r|Lf2#JIY%1icWkvpQ->kXWsnoAS=T@n8G1HH_ z(sJt(7i8gMpps{tJMdW+^ArQ>ji7UTO7Bj=^q#ew>hO-xdo1S;zZbr)W457w9XhvK zgvGn*PhGJSbmp=P7PSC z&r%x>0A0$%FftAd3U`5Mc+ovHaLm-08;NRIq0i?0$`1U=$qDesRUu z6i#+G5f-vI*gZ(t0c7_UaR82o17N`+&c#8+4tI0F)-3EIwreIVj#F#zwyWg}yKtx0 zE{;=U4vgh=Vyuxkz%Hb2z$Ovjff~Nx4D1Ku8{_5+NgA+PKY*(iYjR^DNdp$KU=G0I zLi&NP*^R|fW@wwu&4J^_en8xSRru0TX4tUqt>?B2Ng89dvEaA?i@3oqWM;q~ z(D(s9!-c$nAApS`ERHABwhbJB0T!IKaf8f^Ib`+&`xka2$S$N~z{0BTjW56PA+%|B)1rFc~pMfu=WAHC>o%;pH46y)~eFo_mbKrcyZ!@0#3!gzc2D^yy z5O@AE4s8QgM;wv~3+Wj9f$ajz7km~?Sj8?$$6yz2%j^fGeeM{;E~I0yi?{*H`M`Fy zaf5UWSS?@p3YXRoid~Y9{Vy!X&CA_39681u*bmxRupi=xFQj9@A{PBK@nxUE55Ph? z20x%}L%-o)ZQCFnW4`QP&Rw?4`2aZ>uo$D*znr_AJIG0JfE*0i%sI(^V-9A*LJr1Q ztsf8zwu^j#UC6Ro#xh^!?#?rCfE)~1?K1$suh=Bp$TN&l$%KU* zEVEt2jqy3jE^~k!jO}usVXVdlJnW)v-~c&TX1mOnvCIK-FkrQ@;M@ULJ4Qhc#vF#Z z^8t4G0$;P61LR=9ek*S91^8lI-$;BR2LtvOO)QjtmMIqS8RTHhm*WPk*1zz>O~OJB z#(X&+IB&q2V-Z7G$iaZs<~sWORbb5B9ZIDa>n>o)I&wODQ zk|}=1YWtfOi+&6&BvZ_RvFrzM;O7uHKr+Qx_AmQ^pM{78>_RdH4u}Q(i}@Msa=!;( z9?u||f?eb~kCPlT*ypx^1CH8a4%&Xq`NKI04v#2h1N3V~#WUvL7Is;(o04FL=N%{0l#TFCEoSzUUW_OuZKUoe4vl$us6x zk$-BIf#q0m+#s1cG1i}s`)whA86O}|^>X<^X%}(eei1=-A(;wG@OK)gwWRF>{pI3v zh|(@#ITq!~4`>@CQ$_FiJAXLeO3t#@Pkuf%W2phy0-9$Qj^*lKBEY$_QX6?+VrBV2 zLzi8S1&<{bvJ1)7!uA2q$jxo#bg7cu#p`P<+6F9+Q`Nme-) z%psPrkW3w#RNdL8`f$18zlG%2|GJh0I3JLc7^}As7LuvRQGw1AC&$VG4f4xJmsWS> zt(ya|$aTEOLNeu-H^})Q>jb%bi#&4rFV)l-Yx!;^EF@E{8wNS2FP|vq56&%rH_U}) z4(aZ;Z6+)vQ|8t|&hr0GlpVUsa{Zjek3zZmFrjQUy5Gcd1QIj_rSoDbT#K{AysCD7?y^|O4ad0u&Nw(9Eh3ci4U zy@~I7;sD9i>)b)k*{S2@Htq7ryB*ckxugm;n6u&|3`xpqv^JBO8uk-saGO>Vol ziaI{QZh7JWEbKxub=q5S9vnPPZt|y2etR%LjT^VEjoU6HQ)7M=oJ~*6kdq&Ma?Fuk zpFKGrm@hcsSgxrp4K5*Y$O?DxfO3q!wIljVLd4E%< zV|{XY4=j9!wt)jAQ{P3_a5nz1P7XhD&~fN)IVE?P1Lr#Y3&~XQts2gLYc|N)t|d7_ zyvwQMDSV;DLNYbBW=&_!oEzmnvn`ICW6CPA;Aem~Zjek(o?6rCQ$J3Aabb_+^VKqH zK41=`#X>T*|3FQrEnt(}qTnt^;;=GG+c*}SlV}@`jAj2a-v~FhLY8bQmdA(8ISIbVNl0(LWmoa7J9oeVSjcHI zW6?J7RW7&B;9tmTfYpvA?Ay#aiKCT(#aQyKehfc=FZ=-63v*yB+QxB4uImU34v@Vt z_J8#u*aa4{7shh_qHWy1WU>oC01J5vuxK0S8T&x-n}#psDQp-0O*>Wt%Y74eAy4_1 zUG|&S50Iy1#&SM@3){tf2l5nP1Bh>C4!~kA2cH28c?$F8v4s5#EaxwK*i-yPceD-uMT{X&$&BSVWNsVeDVeca4&dwUwhMX6|H6XDEq9F3 zHXMNjY~~nqEI7}Ag*=7ra)0AzA^4(g%mMNg#&Z6GFZ%*~;Ro1-G$b5U7t#>6%dtR=**4~g;ESAu+=H>4>x_dh;0N#p7IF{9^0x5z%fCYIcV3Q*$=P_Sq9r>4zR2IzB|u27C8FHE54@l z^R+nn()(Qw|0Nl7M1{8|7La9hep$mAaBYKJu3(bGU*{?VWglyE9kPu1=R=)ag4W3S z${uwb*L#08uSVPO-VIsCnSKW6*s06pydN$)rk$*)a^<)&U&u0Iisz{%dyU8Dtr)9|+FdVKe0ti$6ME%%irV{d6gJP1_*LcvV90+%znj%H?y&6O69+ zSm1DJ*9IZWSTZQk`PbsH@}$A}<)s^{dvMTVAiRB?yg|Nw*6@Wa1M8Fc&cJKtoRjb`upDE^CwPriyH*Ul z91HdXBoV;!_gG#l1{N3EhV`gqY8xaG%z@W`wH$aY6Mlfq0c)>ZSCP3!K&j>wWDe{H_8EV_fPH=j zply&j0Gmj5Gk@1(|H5Zx!b0W%?Eke6j<$gVWDeCo`Z;^YHIqN2SCu;saIM>Oe`Egw z3zvf->vO=)BxL!BP?VNvxfUSALSb&XL%*aUFoO+_?9_%69=p-<9Pv@ zLyhVF&QBl5$`@`2%lY)K?F}+gJ6d7-@KeI0pFvTJ=(vFRTByxg&X%whZ@ zf9K@QOXVEz!{pn)xVBIO7Ws?yb>stL0hvR$(f-a;gI38|nup8(ZL6X_1KVc5bv`?KQofqjLw@zjbL}eJ%@=Kh%;D}8A7`@-OliGKXRtDmvRa|CHbVF;sqDyNnVqaK#0?SbIg=AamGes^BcV;2*ifz_D_> zC#96Q@q7bzz1>*I94aQ4clPReLmoSBvb7`=yL?*NaE;s>w6tiDg_e65x<$n4f_|FTz6RP~TA6`NQ4+7AFJofH%=8%Vu83Ru_i3mVZZ^$`E;LM!uhb# zd%48&Me+t`Va2~%y9EgAMP=$Z&L``D;?7b3ev*6oFO_c}FQobbc6m+^PIe)4$i1|f zbJ-7R^62lD%er!flo%+#PgsnTW;X}O92%4<=1i*lMJ`-=h1~UChD1i;?9K<+h0MXX zU@@mLJx%^Oe1)9qRmh`lJbysjAai&>shHF6+-G@9`{nY!ju{-_W9_pAGKcSa6?YbY z{7L@4)>65|Q5P0|09NPb5KVR=bBL{3()r-W_p*3sfqZOCVFkne?IyJ?g4(7dpF!p@ z_}|jb52atpBYbDcSqB#J@EO}pCcBV1r0gl@Z2QAg`SGvO@|lRDs?U^uL>zd%8Zw7G zWiuUg8Ax*Lmb(K%wbw|MQ7RDcjRTYhRVG*(e|;_E_}O1JUD;R zk0En7najr+ef_q)$1q4fb--np+lKe!aI%X&1ewFD7Cz3&f8Um)_70FcuBI)|;VbuL zCcf|k>_X`7A_4k1_lU;8&2gn@m*eg0KKe#VTGY88p z2f6IRU%0>lYy98~nL~+*6`gfwK9B?c8X{L{>9Wgw(Kq1-U?Fn|Y*W!$b?5{6=x;;i z&|#i-5o7duv<)(cTCFNN=eNEuKS&=cxBSc1kJ)G7z*xu}W|}KHb3MHy_YjB5bv9(g z7_X-+w0I@wvHwoUUO_$NzkV*S#+c*A zZG+6=?#xQgd#jvsecx{Kh+x-u93^kaXE%s%1ldg{yO22)d{xOg>)`?U=z~u3{nUzT z+c5rWIY8!csZC|)@}80$Zf`HQ+UJrku-%(v7vIM5ofpUX1Z=D9JacQe+-!Oq`C!}1 zYMv``rnW^Bwl`rRbBK6R*_pTdHo1P|mh$H(eu~euW3`#E5rl=z;bC<@=b~mC<%eO- z0<<}m-HpY!UqIr7FX zv=wZyYc9vn7GP1ovzV}uIgGmD=RDJGy8Jo1uDrRY=Nu7O@I|ge<}jP)>wgrDl4m(; z$$QfR^O|B8- zdKUp+iJhAR+6I}!wU>U*xv!hb&JR`PWfL>rTVR*pTfi4G2fV-eooFJTrrMe0Z`AJ~ z7QjNf0Ic@iiSvf-BF5kV=|blBEM6PL-=Ln0?c#4UWAVQscX5Z$bi^T<>=yW1x*(Kv zYZnGr+^N4l`LlI!#Q@{=$y1cSWq#()`RKouE!geQF6i7b-o{Mvrk9w)LR^D^-g*!4%D=b{QxXvYV_X*9KEx=%ynVm1E0hJ zZmgCA_|j2i`YyCpI&==d%>COMwPWyCSl9+%I?`J`dZ&8B=i@}bGCzK z53tJ@`dc_1%}j2KhaMqdV)5X&Iddm++rSeSeCF~mw(iiy<0zW~3wnu#3oKImo7TUu z+m4R?YfTsQ2=9B2lQt);_-ZTxXS9uCVZiZ5&?Cgxvq*#dvj%fNhF$grVo{ooah`nL zD-;@o^L=-Sjs|~A95?m>#~91H%{c_xmxG5@{Q219St~ zy5vZ_So@YoJ}}muXQ6b2yaBp_K^1peu1)^zf%Wv6a&(Cux&cS;PEz5^Q@`R1-mtqo zP8V9NL8L*^4TKJqF02jkz_MNBZ{E3kMQm#WEx_d}Ny6c!ITE#gU|+cT>X7Tu0&Hxt zR7xn?Sj`8ti{p$~pbK><6=Q%FU};jK^?ZdK!JH2~w?aG+3t;K*ZO{Uoe|#{gOhAf- zIk3NQ2M3C;Ev2Q-4lO_)U43b4$s{#@`S*cE?$FVW_EMD+l%ru{$K^?k%{5TvtHp9G zh=d=s0G}?5mHG&0t>5ARpV8KC$~GUU?{DQEOBl;`ITpl)wgEC5P~U%R++%6N>@{jE z7z@7e8QRv4w$4X=e}J4~b%vHz^B4Aj2NoRAwjDfU~{)+27P3BGO)%D4mFz?@=7g+@2>dyG-Y zN7w}iNUQtTh%rDn&~w&BYu^}OHGkP(xFdJ+-jB8?_xNIi7U00{#ge{(AaXu1UtnSP z9UU22ziy0jgiCK@*2K!s3kmGs%vg*iu!|#HF7I+k@@X-c?P`7I?n4w~oesKz{2|XJ z)4bW=9HW4xt!zbch1rH9QQ9mTWc6RMSM3+twz+eMtkN+(RI^|IVsb*KX$!wOMgfbh zFlfs(<(QM$ar4B@xgMyw1G^jxw_WhXk#)x2PY+2+=c}k~({g~%bWOA9X&XTsYWDvu zKU;ioKGx$I06by`ERGPR?b;>O>@QrfLTdeftr`pbKKmFPaD*sr*RDs+e%lr)(xq%! z6FC-I4v6vE?OR3K3PVKAzWL^A{mUP-dH9#@nh8tKSduoU+fZ9S>*s#r+g_gIB-=(T z3U(_SOxx;+sIBkRXR6fcufb|QaEyVUP1xX((RSL>+=klv{=520{$BRQ?zkhNuKoLcKTAt02Y)lh@EL7ENyinX8&Ff;eC{@Bdfoft2={za`wRdFY|ENL z+nS-K{A9Z~WanMaePtF=9;HU>In-9ualo{~q5e#f)tyZkXd|ygz@6Iwt|% zo3P{RO}3qzM_cDpo%oQVEA;oDf3)r_QrXyiz3bhH`NA&E>#f*2A9dna1*`CKTMO&S z)4s+tJ6%}jY$mM#Vs9~-wtPjMctyuvA)l?4b z`NfEBlIjSHYxo*ZB}`G~v)VZ=j@PBF2SQLMepjAvIkzfNx+PaK{;|>158yyY??}~# zM+>ME-!Z$gRC#H3YqVE@(G>ZO_d=4|@7wH^ggSBKiB>}Emj^7r_6#&$tv^LspMf91 z7j`ixsW2fm7^(fragQgnjpTtZjQriXL_151I$)Cp2(cSM_RSjH>L3h0kVmOSh$k#)P0w{B`c; z;>4Bz2)`d_Z5+FIlKL!$k0S{CILynwe6Y@jI`Q5mcZuFZYD*LSyBd2{&%lBMu&4KD zPh2zceTY&g-sG*d?+-UDT~_olM#kfa;*94!us1tyu>QG4XF#2Jb^R9W)=%@L*M)`} zj|I4}z~eF#7ViKw_Y+Vj-hJ|8>!&)8EkovvG1k~WLBYUZjBQcsm}sVBEl?-^v0$=g z$cLFy>8lfsLW2n&{Q`DF-qCjL^bhL9_YEpy{c@?XB{|7#TzGQ4k~_?~H(?9M7Z&r< zvCpUzFZz8A>A}MW*0CF>8*4Whui6EVaKawwb_7Qd*-$5*yHg!$%HU?!A8oUZJClA^ zVyw;ezlCT6`UUF5C*NNn4i2gh3a*VaD_nJQ<4*cq#STCCA~ z*jR-F_hVoO>DTEIH`IyG2@RJ5UM&!s?cHb`P-m%*zodV z)?snhOQqtB{R76T@4LXl57lSf3!WTc7hKQHOAkR!`A_2u3uhg#t!?8s8hh8x@B{2d5EfhK zWBY#8l-Er;B(%K$P~X1eM&re%F1zp-=NYZT*s%32YRXrv4wZh59Aa(pD%O~_TLu<( zqscC9Q4><{VrmF#%G*xMD>{GKX&D|FYb-e2h2?xe+bS-8C(wJO0X5}Wt7Oq{T{qR* zUl(ia6XW8`b5HR7FgMCpyvAn%HRUr4b&}SenQc8eX@fD_s*JXAKHzAseVb#FaI{81 zpI?R7Q_omSJy~xQ_IdIJ2bz1@Xq)m79IX-DxuEq>bzf;$_w~jiCo-_G8&23#RTc>J z+zi3d8m*QT7YkOdEtEO8&Uo*t3(IkXAMQm&+s^KvA>e3@Sxev3DG}`xN*UJ~|9SOw zjN8(7pmZda9yRdquf&P%21knT_pdcp&NB;E^? zP>26Z`gZYh>1yJ*v#X6WJGwZq&(OBVOLT@m&U{J4(HawW1`BZ$>PTa@t~Q?h@$0tr z9ALIhuM(4ln*HkUI|>!g6cZn;SZ&PPbDWa5+T5Yvpgyk)LCyZ2KUeFomm6gbUc1^D zLFYNJzc|+|Us99$L_{W`W`B5tFrh}V7S`k2R~v_9;()e&Xz67e`_Y+%n*H48qQ#j* zUs-Scvf5a#ONM{ZKD3SQINl=(HT&O}%_iO{?js!kd$sXM`>*{#+hPk{!()RH*5Mgg=9}!dTbQ%_OE7Bovv-~@=z7uEH+zk-XiZNJXdA|; zy6+P8sM#;p)=%vHS5~RVu{FlilxOT;+%x>3)1hX+Wl}lojj%`hie77t`732$!NE*+ zi~Nv`xpER}_RBWzB<(HUMmke}tvKcgu_++rBhwk8|P}qGqeqM$qC@F9a?}rBg%@_SrZjx+2k$BWeSGT>+p{l?c8|0ZQE0Zld-g^ix$ zq>BUkh3jaIgb|yBxof<|Y0EbluP$|s>-c^67aY=7B-^&qmhsRSG^n#iOj&wLcyxV( z@xn~kGnV}TyH}e<)0%F22s8$AwGvW`#D>;f0kOtYlU#h+Za86eI&6Drt_+PqpGyXD zV(XEDZbYnc*~kpLXrID&*QXF14~C;P>aN>tX;nU-v@#*qc(0!)Utm8v(n1QnnPbJ# z8gsh6779NvM^~(IEfWy|R|ci(7?Yw~s6BD{69^}gJObqw5o56t={7Ab{ zVa5+agOyXHT=tE|_q9B+5%Afb{Ir#q&JWs!pXSvQWBaePo=VwhtRLdaU$l$!EbA#J z#vL8B3&BBIrHR4&g{Ze1jdO!scG(Y#T>$AHXcvxOX(`moU0h7d6=$qk&C_SV4oi%p zxaoAzF1%dXSbDR!xp=f#oUve)3=ZG{?5|repVaA~U1%GcRVrG3ztE&~oUt9v&-nKl zOE6&LpP98Q4}Q=t zG%4*Zv<-M|Wh~pw#6bt`LcaQ&tfgA`NX;~S*={)5O?g#NIbsCITI3X)i*x(8Qn9cH zEcfH51L^poXfF#i23N)pwwCI5(()}o!0w^yM{Ks*UN#&*L42)k0$zW!Z4qc2wF^Fj z9^t`(4${Nac~<6&-{uQ`Xm;RB2yHK19eRZPO9HLiZafnh%YFcU6JaaRID+G=phu|M zCBJwt)*vz#7{-Gy{XYINK#x#rzycv@>NVBB+E{>Z{~BHfT0cvI9wA%U0U^i9`}*c? z|FT`&VK=W&q>a|ktk4(~&`lH9%?_2capSQXc0cDYCD5965;O*Zag~K)Ti&aFU=Fy$ z?(vCc8@11dBPH6CZ<|w2XxoP0XAWo=wRO9qM>w#^da2TNH5MFW*fo>gG23(o+8Wh> zBPIIw{ZlOVJfDZp*e>2%@V@)^%umXZ5|h?d5cibcV�`cOlpZU*dqZVjHvzrLKR} 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