summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags3
-rw-r--r--BuildParams192
-rw-r--r--build.sh297
-rw-r--r--doc/contributions.txt24
-rw-r--r--etc/message.xml7
-rw-r--r--indra/cmake/00-Common.cmake10
-rw-r--r--indra/cmake/GooglePerfTools.cmake5
-rw-r--r--indra/cmake/LLConvexDecomposition.cmake6
-rw-r--r--indra/cmake/LLKDU.cmake15
-rwxr-xr-xindra/develop.py114
-rw-r--r--[-rwxr-xr-x]indra/llcommon/lldoubledispatch.h0
-rw-r--r--indra/llcommon/llfasttimer_class.h8
-rw-r--r--indra/llcommon/llthread.cpp9
-rw-r--r--indra/llcommon/llversionserver.h36
-rw-r--r--[-rwxr-xr-x]indra/llcrashlogger/llcrashlogger.cpp0
-rw-r--r--[-rwxr-xr-x]indra/llcrashlogger/llcrashlogger.h0
-rw-r--r--indra/llinventory/llparcel.cpp36
-rw-r--r--indra/llmath/lloctree.h129
-rw-r--r--indra/llmath/llvector4a.h1
-rw-r--r--indra/llmath/llvolume.cpp254
-rw-r--r--indra/llmath/llvolume.h4
-rw-r--r--indra/llmath/llvolumeoctree.cpp61
-rw-r--r--indra/llmath/llvolumeoctree.h6
-rw-r--r--indra/llmath/tests/llquaternion_test.cpp2
-rw-r--r--indra/llmath/tests/v3dmath_test.cpp2
-rw-r--r--indra/llmath/tests/v3math_test.cpp4
-rw-r--r--indra/llmath/tests/v4math_test.cpp2
-rw-r--r--[-rwxr-xr-x]indra/llmessage/llsdmessagebuilder.cpp0
-rw-r--r--[-rwxr-xr-x]indra/llmessage/llsdmessagebuilder.h0
-rw-r--r--[-rwxr-xr-x]indra/llmessage/llsdmessagereader.cpp0
-rw-r--r--[-rwxr-xr-x]indra/llmessage/llsdmessagereader.h0
-rw-r--r--indra/llmessage/llurlrequest.cpp36
-rw-r--r--indra/llmessage/llurlrequest.h36
-rw-r--r--indra/llprimitive/llmodel.cpp61
-rw-r--r--indra/llrender/llfontfreetype.cpp36
-rw-r--r--indra/llrender/llfontfreetype.h36
-rw-r--r--indra/llrender/llfontgl.h36
-rw-r--r--indra/llrender/llrender.cpp4
-rw-r--r--indra/llui/llaccordionctrl.h36
-rw-r--r--indra/llui/llaccordionctrltab.cpp36
-rw-r--r--indra/llui/llbutton.cpp36
-rw-r--r--indra/llui/llbutton.h36
-rw-r--r--indra/llui/llcallbackmap.h36
-rw-r--r--indra/llui/lldockablefloater.cpp36
-rw-r--r--indra/llui/lldockablefloater.h36
-rw-r--r--indra/llui/lldraghandle.cpp36
-rw-r--r--indra/llui/llflatlistview.h39
-rw-r--r--indra/llui/llfloater.h36
-rw-r--r--indra/llui/lllocalcliprect.cpp36
-rw-r--r--indra/llui/lllocalcliprect.h36
-rw-r--r--indra/llui/llpanel.cpp36
-rw-r--r--indra/llui/llpanel.h36
-rw-r--r--indra/llui/llscrolllistctrl.cpp36
-rw-r--r--indra/llui/llscrolllistctrl.h36
-rw-r--r--indra/llui/llsliderctrl.cpp36
-rw-r--r--indra/llui/llspinctrl.cpp38
-rw-r--r--indra/llui/llstyle.cpp36
-rw-r--r--indra/llui/llstyle.h36
-rw-r--r--indra/llui/lltextbase.h36
-rw-r--r--indra/llui/lltextbox.cpp36
-rw-r--r--indra/llui/lltextbox.h36
-rw-r--r--indra/llui/lltextvalidate.cpp36
-rw-r--r--indra/llui/lltextvalidate.h36
-rw-r--r--indra/llui/lltooltip.cpp36
-rw-r--r--indra/llui/llui.cpp36
-rw-r--r--indra/llui/llui.h36
-rw-r--r--indra/llui/lluictrl.cpp36
-rw-r--r--indra/llui/lluictrl.h36
-rw-r--r--indra/llui/llurlentry.cpp36
-rw-r--r--indra/llui/llurlentry.h36
-rw-r--r--indra/llui/llurlmatch.cpp36
-rw-r--r--indra/llui/llurlmatch.h36
-rw-r--r--indra/llui/llurlregistry.cpp36
-rw-r--r--[-rwxr-xr-x]indra/llvfs/llpidlock.cpp0
-rw-r--r--[-rwxr-xr-x]indra/llvfs/llpidlock.h0
-rw-r--r--indra/llwindow/llkeyboard.cpp36
-rw-r--r--indra/llxuixml/lltrans.h36
-rw-r--r--indra/newview/CMakeLists.txt18
-rw-r--r--indra/newview/app_settings/settings.xml27
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/giF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/giV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/treeF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/treeV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/waterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/waterV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/glowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/glowV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/terrainF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/terrainV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/waterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/waterV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/interface/highlightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/interface/highlightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/shinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/shinyV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/simpleF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/simpleV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/windlight/transportF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/blurF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/blurV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/extractF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/effects/simpleF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/terrainF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/terrainV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/waterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/objects/shinyV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/skyF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/skyV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/transportF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/giV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/treeF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl4
-rw-r--r--indra/newview/installers/windows/installer_template.nsi8
-rw-r--r--indra/newview/installers/windows/lang_da.nsibin0 -> 7108 bytes
-rw-r--r--indra/newview/installers/windows/lang_pl.nsibin0 -> 7450 bytes
-rw-r--r--indra/newview/installers/windows/language_menu.nsibin1302 -> 1444 bytes
-rw-r--r--indra/newview/llagent.cpp5
-rw-r--r--indra/newview/llagent.h2
-rw-r--r--indra/newview/llagentwearablesfetch.cpp37
-rw-r--r--indra/newview/llappearancemgr.cpp8
-rw-r--r--indra/newview/llappearancemgr.h38
-rw-r--r--indra/newview/llappviewer.cpp39
-rw-r--r--indra/newview/llavatarlist.h36
-rw-r--r--indra/newview/llchatbar.cpp36
-rw-r--r--indra/newview/llcofwearables.h36
-rw-r--r--indra/newview/llcompilequeue.cpp36
-rw-r--r--indra/newview/llcurrencyuimanager.cpp36
-rw-r--r--indra/newview/lldrawable.cpp8
-rw-r--r--indra/newview/lldrawable.h56
-rw-r--r--indra/newview/lldrawpool.h36
-rw-r--r--indra/newview/lldrawpoolavatar.cpp10
-rw-r--r--indra/newview/lldrawpoolsimple.cpp6
-rw-r--r--indra/newview/lldynamictexture.cpp36
-rw-r--r--indra/newview/llexpandabletextbox.cpp36
-rw-r--r--indra/newview/llface.cpp139
-rw-r--r--indra/newview/llface.h3
-rw-r--r--indra/newview/llfasttimerview.cpp363
-rw-r--r--indra/newview/llfasttimerview.h1
-rw-r--r--indra/newview/llfloateranimpreview.cpp36
-rw-r--r--indra/newview/llfloateranimpreview.h36
-rw-r--r--indra/newview/llfloaterauction.cpp36
-rw-r--r--indra/newview/llfloateravatarpicker.cpp36
-rw-r--r--indra/newview/llfloaterbuy.cpp36
-rw-r--r--indra/newview/llfloaterbuycontents.cpp36
-rw-r--r--indra/newview/llfloaterbuycurrency.cpp36
-rw-r--r--indra/newview/llfloaterbuyland.cpp36
-rw-r--r--indra/newview/llfloatercolorpicker.cpp36
-rw-r--r--indra/newview/llfloaterdaycycle.cpp36
-rw-r--r--indra/newview/llfloaterenvsettings.cpp36
-rw-r--r--indra/newview/llfloaterevent.cpp36
-rw-r--r--indra/newview/llfloatergodtools.cpp36
-rw-r--r--indra/newview/llfloatergroups.cpp36
-rw-r--r--indra/newview/llfloaterhardwaresettings.cpp36
-rw-r--r--indra/newview/llfloaterhelpbrowser.cpp36
-rw-r--r--indra/newview/llfloaterimagepreview.cpp36
-rw-r--r--indra/newview/llfloaterinspect.cpp36
-rw-r--r--indra/newview/llfloaterjoystick.cpp36
-rw-r--r--indra/newview/llfloaterlagmeter.cpp36
-rw-r--r--indra/newview/llfloaterland.h36
-rw-r--r--indra/newview/llfloaterlandholdings.cpp36
-rw-r--r--indra/newview/llfloatermediabrowser.cpp36
-rw-r--r--indra/newview/llfloatermemleak.cpp36
-rw-r--r--indra/newview/llfloatermodelpreview.cpp129
-rw-r--r--indra/newview/llfloatermodelpreview.h2
-rw-r--r--indra/newview/llfloaternamedesc.cpp36
-rw-r--r--indra/newview/llfloateropenobject.cpp36
-rw-r--r--indra/newview/llfloaterpay.cpp36
-rw-r--r--indra/newview/llfloaterpostcard.cpp36
-rw-r--r--indra/newview/llfloaterpostprocess.cpp36
-rw-r--r--indra/newview/llfloaterproperties.cpp36
-rw-r--r--indra/newview/llfloaterregioninfo.h36
-rw-r--r--indra/newview/llfloaterreporter.cpp36
-rw-r--r--indra/newview/llfloaterscriptlimits.cpp36
-rw-r--r--indra/newview/llfloatersearch.cpp36
-rw-r--r--indra/newview/llfloatersellland.cpp36
-rw-r--r--indra/newview/llfloatersettingsdebug.cpp36
-rw-r--r--indra/newview/llfloatertelehub.cpp36
-rw-r--r--indra/newview/llfloatertools.cpp16
-rw-r--r--indra/newview/llfloatertopobjects.cpp36
-rw-r--r--indra/newview/llfloatertos.cpp36
-rw-r--r--indra/newview/llfloateruipreview.cpp36
-rw-r--r--indra/newview/llfloaterurlentry.cpp36
-rw-r--r--indra/newview/llfloatervoicedevicesettings.cpp36
-rw-r--r--indra/newview/llfloatervoiceeffect.cpp36
-rw-r--r--indra/newview/llfloaterwater.cpp36
-rw-r--r--indra/newview/llfloaterwindlight.cpp36
-rw-r--r--indra/newview/llfloaterworldmap.cpp36
-rw-r--r--indra/newview/llfolderview.h36
-rw-r--r--indra/newview/llfriendcard.cpp36
-rw-r--r--indra/newview/llgrouplist.cpp36
-rw-r--r--indra/newview/llimview.cpp4
-rw-r--r--indra/newview/llinspectgroup.cpp36
-rw-r--r--indra/newview/llinventoryfunctions.h36
-rw-r--r--indra/newview/llinventorylistitem.cpp41
-rw-r--r--indra/newview/llinventorylistitem.h41
-rw-r--r--indra/newview/llinventorymodel.cpp2
-rw-r--r--indra/newview/llinventorypanel.cpp36
-rw-r--r--indra/newview/llinventorypanel.h36
-rw-r--r--indra/newview/lllandmarklist.cpp41
-rw-r--r--indra/newview/lllandmarklist.h40
-rw-r--r--[-rwxr-xr-x]indra/newview/llmediadataclient.cpp36
-rw-r--r--[-rwxr-xr-x]indra/newview/llmediadataclient.h36
-rw-r--r--indra/newview/llmeshrepository.cpp24
-rw-r--r--indra/newview/llmeshrepository.h3
-rw-r--r--indra/newview/llnavigationbar.cpp36
-rw-r--r--indra/newview/lloutfitslist.cpp41
-rw-r--r--indra/newview/lloutfitslist.h41
-rw-r--r--indra/newview/llpanelblockedlist.cpp36
-rw-r--r--indra/newview/llpanelclassified.h36
-rw-r--r--indra/newview/llpanelcontents.cpp36
-rw-r--r--indra/newview/llpanelface.cpp198
-rw-r--r--indra/newview/llpanelface.h37
-rw-r--r--indra/newview/llpanelgenerictip.cpp36
-rw-r--r--indra/newview/llpanelgroupgeneral.h36
-rw-r--r--indra/newview/llpanelgrouplandmoney.cpp36
-rw-r--r--indra/newview/llpanelland.cpp36
-rw-r--r--indra/newview/llpanelland.h36
-rw-r--r--indra/newview/llpanellandmarkinfo.cpp42
-rw-r--r--indra/newview/llpanellandmarks.cpp68
-rw-r--r--indra/newview/llpanellandmedia.cpp36
-rw-r--r--indra/newview/llpanellogin.cpp36
-rw-r--r--indra/newview/llpanelmaininventory.cpp36
-rw-r--r--indra/newview/llpanelme.cpp36
-rw-r--r--indra/newview/llpanelmediasettingsgeneral.cpp36
-rw-r--r--indra/newview/llpanelmediasettingspermissions.cpp36
-rw-r--r--indra/newview/llpanelonlinestatus.cpp42
-rw-r--r--indra/newview/llpanelpeople.h36
-rw-r--r--indra/newview/llpanelpermissions.cpp36
-rw-r--r--indra/newview/llpanelpicks.cpp36
-rw-r--r--indra/newview/llpanelpicks.h36
-rw-r--r--indra/newview/llpanelplaceinfo.cpp36
-rw-r--r--indra/newview/llpanelprofileview.cpp36
-rw-r--r--indra/newview/llpaneltopinfobar.cpp42
-rw-r--r--indra/newview/llpaneltopinfobar.h42
-rw-r--r--indra/newview/llpanelwearing.cpp41
-rw-r--r--indra/newview/llpreview.cpp36
-rw-r--r--indra/newview/llpreviewanim.cpp36
-rw-r--r--indra/newview/llpreviewgesture.cpp36
-rw-r--r--indra/newview/llpreviewnotecard.cpp36
-rw-r--r--indra/newview/llpreviewscript.cpp36
-rw-r--r--indra/newview/llpreviewsound.cpp36
-rw-r--r--indra/newview/llpreviewtexture.cpp36
-rw-r--r--indra/newview/llremoteparcelrequest.cpp36
-rw-r--r--indra/newview/llsaveoutfitcombobtn.cpp36
-rw-r--r--indra/newview/llscriptfloater.cpp36
-rw-r--r--indra/newview/llscrollingpanelparam.cpp36
-rw-r--r--indra/newview/llselectmgr.cpp50
-rw-r--r--indra/newview/llsidepanelappearance.cpp41
-rw-r--r--indra/newview/llsidepaneliteminfo.cpp36
-rw-r--r--indra/newview/llsidepaneltaskinfo.cpp36
-rw-r--r--indra/newview/llslurl.cpp56
-rw-r--r--indra/newview/llspatialpartition.cpp371
-rw-r--r--indra/newview/llstatusbar.h36
-rw-r--r--indra/newview/llstylemap.cpp36
-rw-r--r--indra/newview/llsyswellitem.cpp36
-rw-r--r--indra/newview/llsyswellitem.h36
-rw-r--r--indra/newview/lltexlayer.cpp36
-rw-r--r--indra/newview/lltexturefetch.cpp36
-rw-r--r--indra/newview/lltexturefetch.h36
-rw-r--r--indra/newview/lltoastgroupnotifypanel.cpp42
-rw-r--r--indra/newview/lltoolpie.cpp36
-rw-r--r--indra/newview/llurldispatcher.cpp35
-rw-r--r--indra/newview/llviewchildren.cpp36
-rw-r--r--indra/newview/llviewerattachmenu.cpp36
-rw-r--r--indra/newview/llviewercontrol.cpp40
-rw-r--r--indra/newview/llviewerinventory.cpp36
-rw-r--r--indra/newview/llviewerjointattachment.cpp36
-rw-r--r--indra/newview/llviewermedia.cpp36
-rw-r--r--indra/newview/llviewermedia.h36
-rw-r--r--indra/newview/llviewermenu.cpp23
-rw-r--r--indra/newview/llviewermessage.cpp4
-rw-r--r--indra/newview/llviewernetwork.cpp35
-rw-r--r--indra/newview/llviewernetwork.h35
-rw-r--r--indra/newview/llviewerobject.cpp14
-rw-r--r--indra/newview/llviewerobject.h7
-rw-r--r--indra/newview/llvoavatar.cpp17
-rw-r--r--indra/newview/llvoavatarself.h36
-rw-r--r--indra/newview/llvosky.cpp36
-rw-r--r--indra/newview/llvovolume.cpp526
-rw-r--r--indra/newview/llvovolume.h37
-rw-r--r--indra/newview/llwearable.cpp36
-rw-r--r--indra/newview/pipeline.cpp23
-rw-r--r--indra/newview/pipeline.h3
-rw-r--r--indra/newview/res/viewerRes.rc10
-rw-r--r--indra/newview/skins/default/xui/de/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_import_collada.xml42
-rw-r--r--indra/newview/skins/default/xui/en/floater_model_preview.xml155
-rw-r--r--indra/newview/skins/default/xui/en/floater_price_for_listing.xml81
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml26
-rw-r--r--indra/newview/skins/default/xui/en/menu_attachment_self.xml13
-rw-r--r--indra/newview/skins/default/xui/en/menu_avatar_self.xml12
-rw-r--r--indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/en/menu_login.xml3
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml7
-rw-r--r--indra/newview/skins/default/xui/en/panel_classified.xml139
-rw-r--r--indra/newview/skins/default/xui/en/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfit_edit.xml2
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/floater_preview_gesture.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_object.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/nl/floater_animation_preview.xml85
-rw-r--r--indra/newview/skins/default/xui/nl/floater_avatar_picker.xml42
-rw-r--r--indra/newview/skins/default/xui/nl/floater_avatar_textures.xml30
-rw-r--r--indra/newview/skins/default/xui/nl/floater_build_options.xml8
-rw-r--r--indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml94
-rw-r--r--indra/newview/skins/default/xui/nl/floater_hardware_settings.xml28
-rw-r--r--indra/newview/skins/default/xui/nl/floater_image_preview.xml33
-rw-r--r--indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml81
-rw-r--r--indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml24
-rw-r--r--indra/newview/skins/default/xui/nl/floater_land_holdings.xml39
-rw-r--r--indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml12
-rw-r--r--indra/newview/skins/default/xui/nl/floater_media_browser.xml19
-rw-r--r--indra/newview/skins/default/xui/nl/floater_preview_animation.xml8
-rw-r--r--indra/newview/skins/default/xui/nl/floater_preview_gesture.xml58
-rw-r--r--indra/newview/skins/default/xui/nl/floater_preview_notecard.xml16
-rw-r--r--indra/newview/skins/default/xui/nl/floater_preview_sound.xml8
-rw-r--r--indra/newview/skins/default/xui/nl/floater_preview_texture.xml9
-rw-r--r--indra/newview/skins/default/xui/nl/floater_script_preview.xml6
-rw-r--r--indra/newview/skins/default/xui/nl/floater_script_search.xml15
-rw-r--r--indra/newview/skins/default/xui/nl/floater_settings_debug.xml13
-rw-r--r--indra/newview/skins/default/xui/nl/floater_sound_preview.xml11
-rw-r--r--indra/newview/skins/default/xui/nl/floater_windlight_options.xml192
-rw-r--r--indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml18
-rw-r--r--indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml10
-rw-r--r--indra/newview/skins/default/xui/nl/panel_group_land_money.xml84
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml48
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml14
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_chat.xml42
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_general.xml90
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml145
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml32
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_setup.xml31
-rw-r--r--indra/newview/skins/default/xui/nl/panel_preferences_sound.xml38
-rw-r--r--indra/newview/skins/default/xui/nl/panel_region_covenant.xml84
-rw-r--r--indra/newview/skins/default/xui/nl/panel_scrolling_param.xml10
-rw-r--r--indra/newview/tests/llmediadataclient_test.cpp36
-rw-r--r--indra/newview/tests/llsecapi_test.cpp36
-rw-r--r--indra/newview/tests/llslurl_test.cpp39
-rw-r--r--indra/newview/tests/llviewernetwork_test.cpp36
-rw-r--r--[-rwxr-xr-x]indra/newview/viewer_manifest.py5
-rw-r--r--[-rwxr-xr-x]indra/test/lldoubledispatch_tut.cpp0
-rw-r--r--[-rwxr-xr-x]indra/test/llsdmessagebuilder_tut.cpp0
-rw-r--r--[-rwxr-xr-x]indra/test/llsdmessagereader_tut.cpp0
-rw-r--r--install.xml84
-rw-r--r--[-rwxr-xr-x]scripts/setup-path.py0
-rw-r--r--[-rwxr-xr-x]scripts/template_verifier.py0
-rw-r--r--viewer-hg-convert.shamap14432
482 files changed, 22232 insertions, 5071 deletions
diff --git a/.hgtags b/.hgtags
index 9bcc53fa34..389fa96662 100644
--- a/.hgtags
+++ b/.hgtags
@@ -12,13 +12,16 @@
4f777ffb99fefdc6497c61385c22688ff149c659 viewer-2-0-0
52d96ad3d39be29147c5b2181b3bb46af6164f0e alpha-3
668851b2ef0f8cf8df07a0fba429e4a6c1e70abb viewer-2-0-1
+6e3b2e13906ba8ff22d3c8490b02d518adb2c907 2-1-1-beta-2
7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f alpha-4
7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f fork to viewer-20qa
80bc6cff515118a36108967af49d3f8105c95bc9 viewer-2-0-2-start
87bfaf8c76f9b22d9c65d4b315358861be87c863 2-1-1-release
b03065d018b8a2e28b7de85b293a4c992cb4c12d 2-1-release
b8419565906e4feb434426d8d9b17dd1458e24b2 alpha-6
+bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2-1-1-release
c6969fe44e58c542bfc6f1bd6c0be2fa860929ac 2-1-beta-4
d2382d374139850efa5bb6adfb229e3e656cfc40 howard-demo
d40ac9dd949cba6dab1cc386da6a2027690c2519 alpha-5
d6781e22543acd7e21b967209f3c6e7003d380e3 fork to viewer-2-0
+c6e6324f5be1401f077ad18a4a0f6b46451c2f7b last_sprint
diff --git a/BuildParams b/BuildParams
new file mode 100644
index 0000000000..7d929646a9
--- /dev/null
+++ b/BuildParams
@@ -0,0 +1,192 @@
+# BuildParams
+#
+# Please refer to:
+# https://wiki.secondlife.com/wiki/Automated_Build_System
+
+# Global setting for now...
+Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
+CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
+Linux.symbolfiles = "newview/secondlife-symbols-linux.tar.bz2"
+
+# Use Public Upload Locations
+public_build = false
+
+# Update Public Inworld Build Status Indicators
+email_status_this_is_os = false
+
+# ========================================
+# Viewer Development
+# ========================================
+
+# Report changes since...
+viewer-development.show_changes_since = last_sprint
+
+# Build Settings
+viewer-development_coverity.coverity_product = viewer
+viewer-development.build_debug_release_separately = true
+
+# Notifications - to configure email notices, add a setting like this:
+# <username>_<reponame>.email = <email-address>
+
+# =================================================================
+# Viewer Development (snowstorm canonical build owned by Oz Linden)
+# =================================================================
+snowstorm_viewer-development.viewer_channel = "Second Life Development"
+snowstorm_viewer-development.login_channel = "Second Life Development"
+snowstorm_viewer-development.build_viewer_update_version_manager = false
+snowstorm_viewer-development.email = viewer-development-builds@lists.secondlife.com
+
+# ========================================
+# Viewer Beta
+# ========================================
+viewer-beta.viewer_channel = "Second Life Beta"
+viewer-beta.login_channel = "Second Life Beta"
+viewer-beta.build_viewer_update_version_manager = true
+
+# ========================================
+# Viewer Release
+# ========================================
+viewer-release.viewer_channel = "Second Life Release"
+viewer-release.login_channel = "Second Life Release"
+viewer-release.build_viewer_update_version_manager = true
+
+# ========================================
+# aimee
+# ========================================
+
+viewer-development-import.build_debug_release_separately = true
+viewer-development-fixes.build_debug_release_separately = true
+
+# =======================================
+# brad
+# ========================================
+
+debug-halting.email = cg@lindenlab.com
+debug-halting.build_server = false
+debug-halting.build_server_tests = false
+debug-halting.build_Darwin = false
+debug-halting.build_Linux = false
+debug-halting.build_CYGWIN_Debug = false
+debug-halting.build_CYGWIN_RelWithDebInfo = false
+
+# ========================================
+# brad
+# ========================================
+
+brad-parabuild.email = brad@lindenlab.com
+brad-parabuild.build_server = false
+brad-parabuild.build_server_tests = false
+
+# ========================================
+# viewer-mesh
+# ========================================
+
+viewer-mesh.build_viewer = true
+viewer-mesh.build_server = false
+viewer-mesh.build_Linux = true
+viewer-mesh.build_hg_bundle = true
+viewer-mesh.build_viewer_update_version_manager = false
+viewer-mesh.build_Debug = false
+viewer-mesh.build_RelWithDebInfo = false
+viewer-mesh.viewer_channel = "Second Life Mesh Beta"
+viewer-mesh.login_channel = "Second Life Mesh Beta"
+viewer-mesh.viewer_grid = aditi
+viewer-mesh.email = shining@lists.lindenlab.com
+
+
+# ========================================
+# moss
+# ========================================
+
+mossbuild1.email = moss@lindenlab.com
+mossbuild1.build_server = false
+mossbuild1.build_server_tests = false
+
+mossbuild2.email = moss@lindenlab.com
+mossbuild2.build_server = false
+mossbuild2.build_server_tests = false
+
+# ========================================
+# gooey
+# ========================================
+
+#gooey.email = james@lindenlab.com
+gooey.build_Debug = false
+gooey.build_RelWithDebInfo = false
+gooey.build_server = false
+gooey.build_server_tests = false
+gooey.viewer_channel = "Second Life Alpha"
+gooey.login_channel = "Second Life Alpha"
+gooey.viewer_grid = agni
+gooey.build_viewer_update_version_manager = false
+
+# ========================================
+# palange
+# ========================================
+
+palange_viewer-2-0.email = palange@lindenlab.com
+palange_viewer-2-0.build_server = false
+palange_viewer-2-0.build_server_tests = false
+palange_viewer-2-0.build_CYGWIN_Debug = false
+
+# ========================================
+# media
+# ========================================
+
+media.email = skolb@lindenlab.com
+media.build_server = false
+media.build_server_tests = false
+media.viewer_channel = "Second Life Alpha"
+media.login_channel = "Second Life Alpha"
+media.viewer_grid = agni
+media.build_viewer_update_version_manager = false
+
+# ================
+# oz
+# ================
+
+oz_viewer-review1_coverity.coverity_product = viewer
+
+oz_viewer-review1.build_Linux = true
+oz_viewer-review1_debug.build_Linux = false
+oz_viewer-review1_coverity.build_Linux = false
+
+oz_viewer-review1.build_Darwin = true
+oz_viewer-review1_debug.build_Darwin = false
+oz_viewer-review1_coverity.build_Darwin = false
+
+oz_viewer-review1.build_CYGWIN = true
+oz_viewer-review1.build_CYGWIN_Debug = false
+oz_viewer-review1.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review1.build_CYGWIN_Release = true
+oz_viewer-review1_debug.build_CYGWIN_Debug = true
+oz_viewer-review1_debug.build_CYGWIN_RelWithDebInfo = true
+oz_viewer-review1_debug.build_CYGWIN_Release = false
+oz_viewer-review1_coverity.build_coverity = true
+oz_viewer-review1_coverity.build_CYGWIN_Debug = false
+oz_viewer-review1_coverity.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review1_coverity.build_CYGWIN_Release = false
+
+oz_viewer-review2_coverity.coverity_product = viewer
+
+oz_viewer-review2.build_Linux = true
+oz_viewer-review2_debug.build_Linux = false
+oz_viewer-review2_coverity.build_Linux = false
+
+oz_viewer-review2.build_Darwin = true
+oz_viewer-review2_debug.build_Darwin = false
+oz_viewer-review2_coverity.build_Darwin = false
+
+oz_viewer-review2.build_CYGWIN = true
+oz_viewer-review2.build_CYGWIN_Debug = false
+oz_viewer-review2.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review2.build_CYGWIN_Release = true
+oz_viewer-review2_debug.build_CYGWIN_Debug = true
+oz_viewer-review2_debug.build_CYGWIN_RelWithDebInfo = true
+oz_viewer-review2_debug.build_CYGWIN_Release = false
+oz_viewer-review2_coverity.build_coverity = true
+oz_viewer-review2_coverity.build_CYGWIN_Debug = false
+oz_viewer-review2_coverity.build_CYGWIN_RelWithDebInfo = false
+oz_viewer-review2_coverity.build_CYGWIN_Release = false
+
+# eof
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000000..4b5dec6682
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,297 @@
+#!/bin/sh
+
+# This is a the master build script - it is intended to be run by parabuild
+# It is called by a wrapper script in the shared repository which sets up
+# the environment from the various BuildParams files and does all the build
+# result post-processing.
+#
+# PLEASE NOTE:
+#
+# * This script is interpreted on three platforms, including windows and cygwin
+# Cygwin can be tricky....
+# * The special style in which python is invoked is intentional to permit
+# use of a native python install on windows - which requires paths in DOS form
+# * This script relies heavily on parameters defined in BuildParams
+# * The basic convention is that the build name can be mapped onto a mercurial URL,
+# which is also used as the "branch" name.
+
+build_dir_Darwin()
+{
+ echo build-darwin-i386
+}
+
+build_dir_Linux()
+{
+ echo viewer-linux-i686-$(echo $1 | tr A-Z a-z)
+}
+
+build_dir_CYGWIN()
+{
+ echo build-vc80
+}
+
+installer_Darwin()
+{
+ ls -1td "$(build_dir_Darwin Release)/newview/"*.dmg 2>/dev/null | sed 1q
+}
+
+installer_Linux()
+{
+ ls -1td "$(build_dir_Linux Release)/newview/"*.tar.bz2 2>/dev/null | sed 1q
+}
+
+installer_CYGWIN()
+{
+ d=$(build_dir_CYGWIN Release)
+ p=$(sed 's:.*=::' "$d/newview/Release/touched.bat")
+ echo "$d/newview/Release/$p"
+}
+
+pre_build()
+{
+ local variant="$1"
+ local build_dir="$2"
+ begin_section "Pre$variant"
+ #export PATH="/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE/:$PATH"
+ python develop.py \
+ --incredibuild \
+ --unattended \
+ -t $variant \
+ -G "$cmake_generator" \
+ configure \
+ -DGRID:STRING="$viewer_grid"\
+ -DVIEWER_CHANNEL:STRING="$viewer_channel" \
+ -DVIEWER_LOGIN_CHANNEL:STRING="$login_channel" \
+ -DINSTALL_PROPRIETARY:BOOL=ON \
+ -DLOCALIZESETUP:BOOL=ON \
+ -DPACKAGE:BOOL=ON
+ end_section "Pre$variant"
+}
+
+build()
+{
+ local variant="$1"
+ local build_dir="$2"
+ if $build_viewer
+ then
+ begin_section "Viewer$variant"
+ if python develop.py \
+ --incredibuild \
+ --unattended \
+ -t $variant \
+ -G "$cmake_generator" \
+ build package
+# && \
+# python develop.py \
+# --incredibuild \
+# --unattended \
+# -t $variant \
+# -G "$cmake_generator" \
+# build package
+ then
+ echo true >"$build_dir"/build_ok
+ else
+ echo false >"$build_dir"/build_ok
+ fi
+ end_section "Viewer$variant"
+ fi
+}
+
+# This is called from the branch independent script upon completion of all platform builds.
+build_docs()
+{
+ begin_section Docs
+ # Stub code to generate docs
+ echo Hello world > documentation.txt
+ upload_item docs documentation.txt text/plain
+ end_section Docs
+}
+
+# Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there
+if [ "x$arch" = x ]
+then
+ top=`hg root`
+ if [ -x "$top/../buildscripts/hg/bin/build.sh" ]
+ then
+ exec "$top/../buildscripts/hg/bin/build.sh" "$top"
+ else
+ cat <<EOF
+This script, if called in a development environment, requires that the branch
+independent build script repository be checked out next to this repository.
+This repository is located at http://hg.lindenlab.com/parabuild/buildscripts
+EOF
+ exit 1
+ fi
+fi
+
+# Check to see if we're skipping the platform
+eval '$build_'"$arch" || pass
+
+# Run the version number update script
+# File no longer exists in code-sep branch, so let's make sure it exists in order to use it.
+if test -f scripts/update_version_files.py ; then
+ begin_section UpdateVer
+ scripts/update_version_files.py \
+ --channel="$viewer_channel" \
+ --server_channel="$server_channel" \
+ --revision=$revision \
+ --verbose \
+ || fail update_version_files.py
+ end_section UpdateVer
+fi
+
+# Now retrieve the version for use in the version manager
+# First three parts only, $revision will be appended automatically.
+build_viewer_update_version_manager_version=`scripts/get_version.py --viewer-version | sed 's/\.[0-9]*$//'`
+
+# Now run the build
+cd indra
+succeeded=true
+build_processes=
+for variant in $variants
+do
+ eval '$build_'"$variant" || continue
+ eval '$build_'"$arch"_"$variant" || continue
+
+ begin_section "Do$variant"
+ build_dir=`build_dir_$arch $variant`
+ build_dir_stubs="$build_dir/win_setup/$variant"
+ rm -rf "$build_dir"
+ mkdir -p "$build_dir"
+ if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1
+ then
+ if $build_link_parallel
+ then
+ begin_section BuildParallel
+ ( build "$variant" "$build_dir" > "$build_dir/build.log" 2>&1 ) &
+ build_processes="$build_processes $!"
+ end_section BuildParallel
+ elif $build_coverity
+ then
+ mkdir -p "$build_dir/cvbuild"
+ coverity_config=`cygpath --windows "$coverity_dir/config/coverity_config.xml"`
+ coverity_tmpdir=`cygpath --windows "$build_dir/cvbuild"`
+ coverity_root=`cygpath --windows "$top/latest"`
+ case "$variant" in
+ Release)
+ begin_section Coverity
+ begin_section CovBuild
+ "$coverity_dir"/bin/cov-build\
+ --verbose 4 \
+ --config "$coverity_config"\
+ --dir "$coverity_tmpdir"\
+ python develop.py -t $variant -G "$cmake_generator" build "$coverity_product"\
+ >> "$build_log" 2>&1\
+ &&\
+ end_section CovBuild\
+ &&\
+ begin_section CovAnalyze\
+ &&\
+ "$coverity_dir"/bin/cov-analyze\
+ --cxx\
+ --security\
+ --concurrency\
+ --dir "$coverity_tmpdir"\
+ >> "$build_log" 2>&1\
+ &&\
+ end_section CovAnalyze\
+ &&\
+ begin_section CovCommit\
+ &&\
+ "$coverity_dir"/bin/cov-commit-defects\
+ --product "$coverity_product"\
+ --dir "$coverity_tmpdir"\
+ --remote "$coverity_server"\
+ --strip-path "$coverity_root"\
+ --target "$branch/$arch"\
+ --version "$revision"\
+ --description "$repo: $variant $revision"\
+ --user admin --password admin\
+ >> "$build_log" 2>&1\
+ || record_failure "Coverity Build Failed"
+ # since any step could have failed, rely on the enclosing block to close any pending sub-blocks
+ end_section Coverity
+ ;;
+ esac
+ if test -r "$build_dir"/cvbuild/build-log.txt
+ then
+ upload_item log "$build_dir"/cvbuild/build-log.txt text/plain
+ fi
+ else
+ begin_section "Build$variant"
+ build "$variant" "$build_dir" >> "$build_log" 2>&1
+ if `cat "$build_dir/build_ok"`
+ then
+ echo so far so good.
+ else
+ record_failure "Build of \"$variant\" failed."
+ fi
+ end_section "Build$variant"
+ fi
+ else
+ record_failure "Build Prep for \"$variant\" failed."
+ fi
+ end_section "Do$variant"
+done
+
+# If we are building variants in parallel, wait, then collect results.
+# This requires that the build dirs are variant specific
+if $build_link_parallel && [ x"$build_processes" != x ]
+then
+ begin_section WaitParallel
+ wait $build_processes
+ for variant in $variants
+ do
+ eval '$build_'"$variant" || continue
+ eval '$build_'"$arch"_"$variant" || continue
+
+ begin_section "Build$variant"
+ build_dir=`build_dir_$arch $variant`
+ build_dir_stubs="$build_dir/win_setup/$variant"
+ cat "$build_dir/build.log" >> "$build_log"
+ if `cat "$build_dir/build_ok"`
+ then
+ echo so far so good.
+ else
+ record_failure "Parallel build of \"$variant\" failed."
+ fi
+ end_section "Build$variant"
+ done
+ end_section WaitParallel
+fi
+
+# check status and upload results to S3
+if $succeeded
+then
+ if $build_viewer
+ then
+ begin_section Upload
+ # Upload installer - note that ONLY THE FIRST ITEM uploaded as "installer"
+ # will appear in the version manager.
+ package=$(installer_$arch)
+ if [ x"$package" = x ] || test -d "$package"
+ then
+ # Coverity doesn't package, so it's ok, anything else is fail
+ succeeded=$build_coverity
+ else
+ upload_item installer "$package" binary/octet-stream
+
+ # Upload crash reporter files.
+ for symbolfile in $symbolfiles
+ do
+ upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
+ done
+
+ # Upload stub installers
+ upload_stub_installers "$build_dir_stubs"
+ fi
+ end_section Upload
+ else
+ echo skipping viewer
+ fi
+else
+ echo skipping upload of build results due to failed build.
+fi
+
+# The branch independent build.sh script invoking this script will finish processing
+$succeeded || exit 1
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 200d8b6b17..8f2bebab07 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -64,6 +64,7 @@ Aleric Inglewood
VWR-12691
VWR-13996
VWR-14426
+ SNOW-766
Ales Beaumont
VWR-9352
Alissa Sabre
@@ -127,6 +128,8 @@ Asuka Neely
VWR-8179
Balp Allen
VWR-4157
+Be Holder
+ SNOW-397
Benja Kepler
VWR-746
Biancaluce Robbiani
@@ -151,6 +154,11 @@ blino Nakamura
Boroondas Gupte
CTS-323
SNOW-278
+ SNOW-503
+ SNOW-510
+ SNOW-527
+ SNOW-610
+ SNOW-624
VWR-233
WEB-262
Bulli Schumann
@@ -209,6 +217,8 @@ Dzonatas Sol
VWR-1705
VWR-1729
VWR-1812
+Eddi Decosta
+ SNOW-586
Eddy Stryker
VWR-15
VWR-23
@@ -519,11 +529,19 @@ Robin Cornelius
SNOW-108
SNOW-204
SNOW-484
+ SNOW-504
+ SNOW-506
+ SNOW-507
+ SNOW-511
+ SNOW-514
+ SNOW-520
+ SNOW-585
VWR-2488
VWR-9557
VWR-11128
VWR-12533
VWR-12587
+ VWR-12758
VWR-12763
VWR-12995
Ryozu Kojima
@@ -597,6 +615,8 @@ Strife Onizuka
VWR-2265
VWR-4111
Tayra Dagostino
+ SNOW-517
+ SNOW-543
VWR-13947
TBBle Kurosawa
VWR-938
@@ -604,12 +624,14 @@ TBBle Kurosawa
VWR-942
VWR-944
VWR-945
+ SNOW-543
VWR-1891
VWR-1892
Teardrops Fall
VWR-5366
Techwolf Lupindo
SNOW-92
+ SNOW-649
VWR-12385
tenebrous pau
VWR-247
@@ -617,6 +639,8 @@ Tharax Ferraris
VWR-605
Thickbrick Sleaford
SNOW-207
+ SNOW-586
+ SNOW-743
VWR-7109
VWR-9287
VWR-13483
diff --git a/etc/message.xml b/etc/message.xml
index c17ae3656d..86d374ce14 100644
--- a/etc/message.xml
+++ b/etc/message.xml
@@ -572,6 +572,13 @@
<boolean>false</boolean>
</map>
+ <key>ObjectPhysicsProperties</key>
+ <map>
+ <key>flavor</key>
+ <string>llsd</string>
+ <key>trusted-sender</key>
+ <boolean>true</boolean>
+ </map>
</map>
<key>capBans</key>
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 8262462ced..8b0864a539 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -35,10 +35,10 @@ if (WINDOWS)
# Don't build DLLs.
set(BUILD_SHARED_LIBS OFF)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /ZI /MDd /MP"
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP"
CACHE STRING "C++ compiler debug options" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
- "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /ZI /MD /MP"
+ "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Gm"
CACHE STRING "C++ compiler release-with-debug options" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP"
@@ -144,6 +144,8 @@ if (LINUX)
-fno-strict-aliasing
-fsigned-char
-g
+ -msse2
+ -mfpmath=sse
-pthread
)
@@ -163,10 +165,6 @@ if (LINUX)
link_directories(/usr/lib/mysql4/mysql)
endif (EXISTS /usr/lib/mysql4/mysql)
- add_definitions(
- -msse2
- -mfpmath=sse
- )
endif (SERVER)
if (VIEWER)
diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake
index 946fc6b375..ee231dcde6 100644
--- a/indra/cmake/GooglePerfTools.cmake
+++ b/indra/cmake/GooglePerfTools.cmake
@@ -6,7 +6,7 @@ if (STANDALONE)
else (STANDALONE)
use_prebuilt_binary(google)
if (WINDOWS)
- use_prebuilt_binary(google-perftools)
+ use_prebuilt_binary(tcmalloc)
set(TCMALLOC_LIBRARIES
debug libtcmalloc_minimal-debug
optimized libtcmalloc_minimal)
@@ -29,8 +29,7 @@ if (GOOGLE_PERFTOOLS_FOUND)
endif (GOOGLE_PERFTOOLS_FOUND)
if (WINDOWS)
- # *TODO -reenable this once we get server usage sorted out
- #set(USE_GOOGLE_PERFTOOLS ON)
+ set(USE_GOOGLE_PERFTOOLS ON)
endif (WINDOWS)
if (USE_GOOGLE_PERFTOOLS)
diff --git a/indra/cmake/LLConvexDecomposition.cmake b/indra/cmake/LLConvexDecomposition.cmake
index ae9dc3c17a..f310a493fd 100644
--- a/indra/cmake/LLConvexDecomposition.cmake
+++ b/indra/cmake/LLConvexDecomposition.cmake
@@ -5,11 +5,11 @@ set(LLCONVEXDECOMP_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
if (INSTALL_PROPRIETARY AND NOT STANDALONE)
use_prebuilt_binary(llconvexdecomposition)
- if (WINDOWS)
+ if (WINDOWS OR LINUX)
set(LLCONVEXDECOMP_LIBRARY llconvexdecomposition)
- else (WINDOWS)
+ else (WINDOWS OR LINUX)
set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub)
- endif (WINDOWS)
+ endif (WINDOWS OR LINUX)
else (INSTALL_PROPRIETARY AND NOT STANDALONE)
use_prebuilt_binary(llconvexdecompositionstub)
set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub)
diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake
index 6b69388896..27c8ada686 100644
--- a/indra/cmake/LLKDU.cmake
+++ b/indra/cmake/LLKDU.cmake
@@ -1,18 +1,7 @@
# -*- cmake -*-
include(Prebuilt)
-if (INSTALL_PROPRIETARY AND NOT STANDALONE AND EXISTS ${LIBS_CLOSED_DIR}/llkdu)
+if (INSTALL_PROPRIETARY AND NOT STANDALONE)
use_prebuilt_binary(kdu)
- if (WINDOWS)
- set(KDU_LIBRARY debug kdu_cored optimized kdu_core)
- else (WINDOWS)
- set(KDU_LIBRARY kdu)
- endif (WINDOWS)
-
- set(KDU_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
-
set(LLKDU_LIBRARY llkdu)
- set(LLKDU_STATIC_LIBRARY llkdu_static)
- set(LLKDU_LIBRARIES ${LLKDU_LIBRARY})
- set(LLKDU_STATIC_LIBRARIES ${LLKDU_STATIC_LIBRARY})
-endif (INSTALL_PROPRIETARY AND NOT STANDALONE AND EXISTS ${LIBS_CLOSED_DIR}/llkdu)
+endif (INSTALL_PROPRIETARY AND NOT STANDALONE)
diff --git a/indra/develop.py b/indra/develop.py
index 0a2d3c5e52..36c947327a 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -4,31 +4,25 @@
# @authors Bryan O'Sullivan, Mark Palange, Aaron Brashears
# @brief Fire and forget script to appropriately configure cmake for SL.
#
-# $LicenseInfo:firstyear=2007&license=viewergpl$
-#
-# Copyright (c) 2007-2009, Linden Research, Inc.
-#
+# $LicenseInfo:firstyear=2007&license=viewerlgpl$
# Second Life Viewer Source Code
-# The source code in this file ("Source Code") is provided by Linden Lab
-# to you under the terms of the GNU General Public License, version 2.0
-# ("GPL"), unless you have obtained a separate licensing agreement
-# ("Other License"), formally executed by you and Linden Lab. Terms of
-# the GPL can be found in doc/GPL-license.txt in this distribution, or
-# online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+# Copyright (C) 2010, Linden Research, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation;
+# version 2.1 of the License only.
#
-# There are special exceptions to the terms and conditions of the GPL as
-# it is applied to this Source Code. View the full text of the exception
-# in the file doc/FLOSS-exception.txt in this software distribution, or
-# online at
-# http://secondlifegrid.net/programs/open_source/licensing/flossexception
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
-# By copying, modifying or distributing this software, you acknowledge
-# that you have read and understood your obligations described above,
-# and agree to abide by those obligations.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
-# ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
-# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
-# COMPLETENESS OR PERFORMANCE.
+# Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
# $/LicenseInfo$
@@ -82,6 +76,7 @@ class PlatformSetup(object):
distcc = True
cmake_opts = []
word_size = 32
+ using_express = False
def __init__(self):
self.script_dir = os.path.realpath(
@@ -503,9 +498,17 @@ class WindowsSetup(PlatformSetup):
self._generator = version
print 'Building with ', self.gens[version]['gen']
break
- else:
- print >> sys.stderr, 'Cannot find a Visual Studio installation!'
- sys.exit(1)
+ else:
+ print >> sys.stderr, 'Cannot find a Visual Studio installation, testing for express editions'
+ for version in 'vc80 vc90 vc71'.split():
+ if self.find_visual_studio_express(version):
+ self._generator = version
+ self.using_express = True
+ print 'Building with ', self.gens[version]['gen'] , "Express edition"
+ break
+ else:
+ print >> sys.stderr, 'Cannot find any Visual Studio installation'
+ sys.exit(1)
return self._generator
def _set_generator(self, gen):
@@ -568,6 +571,28 @@ class WindowsSetup(PlatformSetup):
return ''
+ def find_visual_studio_express(self, gen=None):
+ if gen is None:
+ gen = self._generator
+ gen = gen.lower()
+ try:
+ import _winreg
+ key_str = (r'SOFTWARE\Microsoft\VCEXpress\%s\Setup\VC' %
+ self.gens[gen]['ver'])
+ value_str = (r'ProductDir')
+ print ('Reading VS environment from HKEY_LOCAL_MACHINE\%s\%s' %
+ (key_str, value_str))
+ print key_str
+
+ reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
+ key = _winreg.OpenKey(reg, key_str)
+ value = _winreg.QueryValueEx(key, value_str)[0]+"IDE"
+ print 'Found: %s' % value
+ return value
+ except WindowsError, err:
+ print >> sys.stderr, "Didn't find ", self.gens[gen]['gen']
+ return ''
+
def get_build_cmd(self):
if self.incredibuild:
config = self.build_type
@@ -578,6 +603,17 @@ class WindowsSetup(PlatformSetup):
cmd = "%(bin)s %(prj)s.sln /build /cfg=%(cfg)s" % {'prj': self.project_name, 'cfg': config, 'bin': executable}
return (executable, cmd)
+ environment = self.find_visual_studio()
+ if environment == '':
+ environment = self.find_visual_studio_express()
+ if environment == '':
+ print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio installation."
+ else:
+ build_dirs=self.build_dirs();
+ print >> sys.stderr, "\nSolution generation complete, it can can now be found in:", build_dirs[0]
+ print >> sys.stderr, "\nPlease see https://wiki.secondlife.com/wiki/Microsoft_Visual_Studio#Extra_steps_for_Visual_Studio_Express_editions for express specific information"
+ exit(0)
+
# devenv.com is CLI friendly, devenv.exe... not so much.
executable = '%sdevenv.com' % (self.find_visual_studio(),)
cmd = ('"%s" %s.sln /build %s' %
@@ -609,7 +645,8 @@ class WindowsSetup(PlatformSetup):
'''Override to add the vstool.exe call after running cmake.'''
PlatformSetup.run_cmake(self, args)
if self.unattended == 'OFF':
- self.run_vstool()
+ if self.using_express == False:
+ self.run_vstool()
def run_vstool(self):
for build_dir in self.build_dirs():
@@ -705,9 +742,10 @@ Options:
-p | --project=NAME set the root project name. (Doesn't effect makefiles)
Commands:
- build configure and build default target
- clean delete all build directories, does not affect sources
- configure configure project by running cmake (default command if none given)
+ build configure and build default target
+ clean delete all build directories, does not affect sources
+ configure configure project by running cmake (default if none given)
+ printbuilddirs print the build directory that will be used
Command-options for "configure":
We use cmake variables to change the build configuration.
@@ -725,15 +763,6 @@ Examples:
'''
def main(arguments):
- if os.getenv('DISTCC_DIR') is None:
- distcc_dir = os.path.join(getcwd(), '.distcc')
- if not os.path.exists(distcc_dir):
- os.mkdir(distcc_dir)
- print "setting DISTCC_DIR to %s" % distcc_dir
- os.environ['DISTCC_DIR'] = distcc_dir
- else:
- print "DISTCC_DIR is set to %s" % os.getenv('DISTCC_DIR')
-
setup = setup_platform[sys.platform]()
try:
opts, args = getopt.getopt(
@@ -795,6 +824,14 @@ For example: develop.py configure -DSERVER:BOOL=OFF"""
if cmd in ('cmake', 'configure'):
setup.run_cmake(args)
elif cmd == 'build':
+ if os.getenv('DISTCC_DIR') is None:
+ distcc_dir = os.path.join(getcwd(), '.distcc')
+ if not os.path.exists(distcc_dir):
+ os.mkdir(distcc_dir)
+ print "setting DISTCC_DIR to %s" % distcc_dir
+ os.environ['DISTCC_DIR'] = distcc_dir
+ else:
+ print "DISTCC_DIR is set to %s" % os.getenv('DISTCC_DIR')
for d in setup.build_dirs():
if not os.path.exists(d):
raise CommandError('run "develop.py cmake" first')
@@ -805,6 +842,9 @@ For example: develop.py configure -DSERVER:BOOL=OFF"""
if args:
raise CommandError('clean takes no arguments')
setup.cleanup()
+ elif cmd == 'printbuilddirs':
+ for d in setup.build_dirs():
+ print >> sys.stdout, d
else:
print >> sys.stderr, 'Error: unknown subcommand', repr(cmd)
print >> sys.stderr, "(run 'develop.py --help' for help)"
diff --git a/indra/llcommon/lldoubledispatch.h b/indra/llcommon/lldoubledispatch.h
index 60678d44fb..60678d44fb 100755..100644
--- a/indra/llcommon/lldoubledispatch.h
+++ b/indra/llcommon/lldoubledispatch.h
diff --git a/indra/llcommon/llfasttimer_class.h b/indra/llcommon/llfasttimer_class.h
index ddb1a74793..d3e0656cc2 100644
--- a/indra/llcommon/llfasttimer_class.h
+++ b/indra/llcommon/llfasttimer_class.h
@@ -37,12 +37,17 @@
#define FAST_TIMER_ON 1
#define TIME_FAST_TIMERS 0
+#define DEBUG_FAST_TIMER_THREADS 0
class LLMutex;
#include <queue>
#include "llsd.h"
+#if DEBUG_FAST_TIMER_THREADS
+void assert_main_thread();
+#endif
+
class LL_COMMON_API LLFastTimer
{
public:
@@ -182,6 +187,9 @@ public:
U64 timer_end = getCPUClockCount64();
sTimerCycles += timer_end - timer_start;
#endif
+#if DEBUG_FAST_TIMER_THREADS
+ assert_main_thread();
+#endif
}
LL_FORCE_INLINE ~LLFastTimer()
diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp
index 0385569a02..10cc409c6e 100644
--- a/indra/llcommon/llthread.cpp
+++ b/indra/llcommon/llthread.cpp
@@ -68,6 +68,15 @@ U32 ll_thread_local sThreadID = 0;
U32 LLThread::sIDIter = 0;
+void assert_main_thread()
+{
+ static U32 s_thread_id = LLThread::currentID();
+ if (LLThread::currentID() != s_thread_id)
+ {
+ llerrs << "Illegal execution outside main thread." << llendl;
+ }
+}
+
//
// Handed to the APR thread creation function
//
diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h
index ddda9fb6af..b19ba3bf74 100644
--- a/indra/llcommon/llversionserver.h
+++ b/indra/llcommon/llversionserver.h
@@ -2,31 +2,25 @@
* @file llversionserver.h
* @brief
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp
index 792a7f1c3c..792a7f1c3c 100755..100644
--- a/indra/llcrashlogger/llcrashlogger.cpp
+++ b/indra/llcrashlogger/llcrashlogger.cpp
diff --git a/indra/llcrashlogger/llcrashlogger.h b/indra/llcrashlogger/llcrashlogger.h
index f8abe20597..f8abe20597 100755..100644
--- a/indra/llcrashlogger/llcrashlogger.h
+++ b/indra/llcrashlogger/llcrashlogger.h
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index d741cc855b..488bd45d8f 100644
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -2,31 +2,25 @@
* @file llparcel.cpp
* @brief A land parcel.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h
index 432e9fbcd8..63adfa85b2 100644
--- a/indra/llmath/lloctree.h
+++ b/indra/llmath/lloctree.h
@@ -95,22 +95,30 @@ public:
typedef LLOctreeNode<T> oct_node;
typedef LLOctreeListener<T> oct_listener;
+ /*void* operator new(size_t size)
+ {
+ return ll_aligned_malloc_16(size);
+ }
+
+ void operator delete(void* ptr)
+ {
+ ll_aligned_free_16(ptr);
+ }*/
+
LLOctreeNode( const LLVector4a& center,
const LLVector4a& size,
BaseType* parent,
- S32 octant = -1)
+ U8 octant = 255)
: mParent((oct_node*)parent),
mOctant(octant)
{
- mD = (LLVector4a*) ll_aligned_malloc_16(sizeof(LLVector4a)*4);
-
- mD[CENTER] = center;
- mD[SIZE] = size;
+ mCenter = center;
+ mSize = size;
updateMinMax();
- if ((mOctant == -1) && mParent)
+ if ((mOctant == 255) && mParent)
{
- mOctant = ((oct_node*) mParent)->getOctant(mD[CENTER]);
+ mOctant = ((oct_node*) mParent)->getOctant(mCenter);
}
clearChildren();
@@ -124,30 +132,27 @@ public:
{
delete getChild(i);
}
-
- ll_aligned_free_16(mD);
}
inline const BaseType* getParent() const { return mParent; }
inline void setParent(BaseType* parent) { mParent = (oct_node*) parent; }
- inline const LLVector4a& getCenter() const { return mD[CENTER]; }
- inline const LLVector4a& getSize() const { return mD[SIZE]; }
- inline void setCenter(const LLVector4a& center) { mD[CENTER] = center; }
- inline void setSize(const LLVector4a& size) { mD[SIZE] = size; }
+ inline const LLVector4a& getCenter() const { return mCenter; }
+ inline const LLVector4a& getSize() const { return mSize; }
+ inline void setCenter(const LLVector4a& center) { mCenter = center; }
+ inline void setSize(const LLVector4a& size) { mSize = size; }
inline oct_node* getNodeAt(T* data) { return getNodeAt(data->getPositionGroup(), data->getBinRadius()); }
- inline S32 getOctant() const { return mOctant; }
- inline void setOctant(S32 octant) { mOctant = octant; }
+ inline U8 getOctant() const { return mOctant; }
inline const oct_node* getOctParent() const { return (const oct_node*) getParent(); }
inline oct_node* getOctParent() { return (oct_node*) getParent(); }
- S32 getOctant(const LLVector4a& pos) const //get the octant pos is in
+ U8 getOctant(const LLVector4a& pos) const //get the octant pos is in
{
- return pos.greaterThan(mD[CENTER]).getGatheredBits() & 0x7;
+ return (U8) (pos.greaterThan(mCenter).getGatheredBits() & 0x7);
}
inline bool isInside(const LLVector4a& pos, const F32& rad) const
{
- return rad <= mD[SIZE][0]*2.f && isInside(pos);
+ return rad <= mSize[0]*2.f && isInside(pos);
}
inline bool isInside(T* data) const
@@ -157,13 +162,13 @@ public:
bool isInside(const LLVector4a& pos) const
{
- S32 gt = pos.greaterThan(mD[MAX]).getGatheredBits() & 0x7;
+ S32 gt = pos.greaterThan(mMax).getGatheredBits() & 0x7;
if (gt)
{
return false;
}
- S32 lt = pos.lessEqual(mD[MIN]).getGatheredBits() & 0x7;
+ S32 lt = pos.lessEqual(mMin).getGatheredBits() & 0x7;
if (lt)
{
return false;
@@ -174,8 +179,8 @@ public:
void updateMinMax()
{
- mD[MAX].setAdd(mD[CENTER], mD[SIZE]);
- mD[MIN].setSub(mD[CENTER], mD[SIZE]);
+ mMax.setAdd(mCenter, mSize);
+ mMin.setSub(mCenter, mSize);
}
inline oct_listener* getOctListener(U32 index)
@@ -195,7 +200,7 @@ public:
return false;
}
- F32 size = mD[SIZE][0];
+ F32 size = mSize[0];
F32 p_size = size * 2.f;
return (radius <= 0.001f && size <= 0.001f) ||
@@ -206,7 +211,7 @@ public:
{
const LLVector4a& pos = data->getPositionGroup();
- LLVector4a gt = pos.greaterThan(center);
+ LLVector4Logical gt = pos.greaterThan(center);
LLVector4a up;
up = _mm_and_ps(size, gt);
@@ -234,6 +239,29 @@ public:
void accept(tree_traveler* visitor) const { visitor->visit(this); }
void accept(oct_traveler* visitor) const { visitor->visit(this); }
+ void validateChildMap()
+ {
+ for (U32 i = 0; i < 8; i++)
+ {
+ U8 idx = mChildMap[i];
+ if (idx != 255)
+ {
+ LLOctreeNode<T>* child = mChild[idx];
+
+ if (child->getOctant() != i)
+ {
+ llerrs << "Invalid child map, bad octant data." << llendl;
+ }
+
+ if (getOctant(child->getCenter()) != child->getOctant())
+ {
+ llerrs << "Invalid child octant compared to position data." << llendl;
+ }
+ }
+ }
+ }
+
+
oct_node* getNodeAt(const LLVector4a& pos, const F32& rad)
{
LLOctreeNode<T>* node = this;
@@ -241,25 +269,19 @@ public:
if (node->isInside(pos, rad))
{
//do a quick search by octant
- S32 octant = node->getOctant(pos);
- BOOL keep_going = TRUE;
-
+ U8 octant = node->getOctant(pos);
+
//traverse the tree until we find a node that has no node
//at the appropriate octant or is smaller than the object.
//by definition, that node is the smallest node that contains
// the data
- while (keep_going && node->getSize()[0] >= rad)
+ U8 next_node = node->mChildMap[octant];
+
+ while (next_node != 255 && node->getSize()[0] >= rad)
{
- keep_going = FALSE;
- for (U32 i = 0; i < node->getChildCount() && !keep_going; i++)
- {
- if (node->getChild(i)->getOctant() == octant)
- {
- node = node->getChild(i);
- octant = node->getOctant(pos);
- keep_going = TRUE;
- }
- }
+ node = node->getChild(next_node);
+ octant = node->getOctant(pos);
+ next_node = node->mChildMap[octant];
}
}
else if (!node->contains(rad) && node->getParent())
@@ -439,6 +461,9 @@ public:
void clearChildren()
{
mChild.clear();
+
+ U32* foo = (U32*) mChildMap;
+ foo[0] = foo[1] = 0xFFFFFFFF;
}
void validate()
@@ -496,6 +521,8 @@ public:
}
#endif
+ mChildMap[child->getOctant()] = (U8) mChild.size();
+
mChild.push_back(child);
child->setParent(this);
@@ -517,6 +544,8 @@ public:
listener->handleChildRemoval(this, getChild(index));
}
+
+
if (destroy)
{
mChild[index]->destroy();
@@ -524,6 +553,15 @@ public:
}
mChild.erase(mChild.begin() + index);
+ //rebuild child map
+ U32* foo = (U32*) mChildMap;
+ foo[0] = foo[1] = 0xFFFFFFFF;
+
+ for (U32 i = 0; i < mChild.size(); ++i)
+ {
+ mChildMap[mChild[i]->getOctant()] = i;
+ }
+
checkAlive();
}
@@ -562,15 +600,20 @@ protected:
MIN = 3
} eDName;
- LLVector4a* mD;
+ LLVector4a mCenter;
+ LLVector4a mSize;
+ LLVector4a mMax;
+ LLVector4a mMin;
oct_node* mParent;
- S32 mOctant;
+ U8 mOctant;
child_list mChild;
+ U8 mChildMap[8];
+
element_list mData;
-};
+};
//just like a regular node, except it might expand on insert and compress on balance
template <class T>
@@ -613,6 +656,8 @@ public:
//destroy child
child->clearChildren();
delete child;
+
+ return false;
}
return true;
@@ -639,7 +684,7 @@ public:
const LLVector4a& v = data->getPositionGroup();
LLVector4a val;
- val.setSub(v, BaseType::mD[BaseType::CENTER]);
+ val.setSub(v, BaseType::mCenter);
val.setAbs(val);
S32 lt = val.lessThan(MAX_MAG).getGatheredBits() & 0x7;
diff --git a/indra/llmath/llvector4a.h b/indra/llmath/llvector4a.h
index 76a3e999ce..1e0b3bc854 100644
--- a/indra/llmath/llvector4a.h
+++ b/indra/llmath/llvector4a.h
@@ -153,7 +153,6 @@ public:
// Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time.
template <int N> LL_FORCE_INLINE LLSimdScalar getScalarAt() const;
- template <> LL_FORCE_INLINE LLSimdScalar getScalarAt<0>() const;
// Set to an x, y, z and optional w provided
inline void set(F32 x, F32 y, F32 z, F32 w = 0.f);
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index ab9f8c4c24..c12c62e8d9 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -35,6 +35,7 @@
#include "llmath.h"
#include <set>
+#include <stdint.h>
#include "llerror.h"
#include "llmemtype.h"
@@ -94,6 +95,17 @@ const F32 SKEW_MAX = 0.95f;
const F32 SCULPT_MIN_AREA = 0.002f;
const S32 SCULPT_MIN_AREA_DETAIL = 1;
+extern BOOL gDebugGL;
+
+void assert_aligned(void* ptr, uintptr_t alignment)
+{
+ uintptr_t t = (uintptr_t) ptr;
+ if (t%alignment != 0)
+ {
+ llerrs << "WTF?" << llendl;
+ }
+}
+
BOOL check_same_clock_dir( const LLVector3& pt1, const LLVector3& pt2, const LLVector3& pt3, const LLVector3& norm)
{
LLVector3 test = (pt2-pt1)%(pt3-pt2);
@@ -308,22 +320,26 @@ public:
}
virtual void visit(const LLOctreeNode<LLVolumeTriangle>* branch)
- {
+ { //this is a depth first traversal, so it's safe to assum all children have complete
+ //bounding data
+
LLVolumeOctreeListener* node = (LLVolumeOctreeListener*) branch->getListener(0);
LLVector4a& min = node->mExtents[0];
LLVector4a& max = node->mExtents[1];
- if (branch->getElementCount() != 0)
- {
+ if (!branch->getData().empty())
+ { //node has data, find AABB that binds data set
const LLVolumeTriangle* tri = *(branch->getData().begin());
-
+
+ //initialize min/max to first available vertex
min = *(tri->mV[0]);
max = *(tri->mV[0]);
for (LLOctreeNode<LLVolumeTriangle>::const_element_iter iter =
branch->getData().begin(); iter != branch->getData().end(); ++iter)
- {
+ { //for each triangle in node
+
//stretch by triangles in node
tri = *iter;
@@ -335,33 +351,27 @@ public:
max.setMax(max, *tri->mV[1]);
max.setMax(max, *tri->mV[2]);
}
-
- for (S32 i = 0; i < branch->getChildCount(); ++i)
- { //stretch by child extents
- LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0);
- min.setMin(min, child->mExtents[0]);
- max.setMax(min, child->mExtents[1]);
- }
}
- else if (branch->getChildCount() != 0)
- {
+ else if (!branch->getChildren().empty())
+ { //no data, but child nodes exist
LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(0)->getListener(0);
+ //initialize min/max to extents of first child
min = child->mExtents[0];
max = child->mExtents[1];
-
- for (S32 i = 1; i < branch->getChildCount(); ++i)
- { //stretch by child extents
- child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0);
- min.setMin(min, child->mExtents[0]);
- max.setMax(max, child->mExtents[1]);
- }
}
else
{
llerrs << "WTF? Empty leaf" << llendl;
}
-
+
+ for (S32 i = 0; i < branch->getChildCount(); ++i)
+ { //stretch by child extents
+ LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0);
+ min.setMin(min, child->mExtents[0]);
+ max.setMax(max, child->mExtents[1]);
+ }
+
node->mBounds[0].setAdd(min, max);
node->mBounds[0].mul(0.5f);
@@ -370,7 +380,6 @@ public:
}
};
-
//-------------------------------------------------------------------
// statics
//-------------------------------------------------------------------
@@ -1991,7 +2000,7 @@ void LLVolumeFace::VertexData::init()
{
if (!mData)
{
- mData = (LLVector4a*) ll_aligned_malloc_16(32);
+ mData = (LLVector4a*) malloc(sizeof(LLVector4a)*2);
}
}
@@ -2012,7 +2021,7 @@ const LLVolumeFace::VertexData& LLVolumeFace::VertexData::operator=(const LLVolu
if (this != &rhs)
{
init();
- LLVector4a::memcpyNonAliased16((F32*) mData, (F32*) rhs.mData, 8*sizeof(F32));
+ LLVector4a::memcpyNonAliased16((F32*) mData, (F32*) rhs.mData, 2*sizeof(LLVector4a));
mTexCoord = rhs.mTexCoord;
}
return *this;
@@ -2020,7 +2029,8 @@ const LLVolumeFace::VertexData& LLVolumeFace::VertexData::operator=(const LLVolu
LLVolumeFace::VertexData::~VertexData()
{
- ll_aligned_free_16(mData);
+ free(mData);
+ mData = NULL;
}
LLVector4a& LLVolumeFace::VertexData::getPosition()
@@ -2258,12 +2268,12 @@ bool LLVolume::unpackVolumeFaces(std::istream& is, S32 size)
U32 cur_influence = 0;
LLVector4 wght(0,0,0,0);
- while (joint != END_INFLUENCES)
+ while (joint != END_INFLUENCES && idx < weights.size())
{
U16 influence = weights[idx++];
influence |= ((U16) weights[idx++] << 8);
- F32 w = llmin((F32) influence / 65535.f, 0.99999f);
+ F32 w = llclamp((F32) influence / 65535.f, 0.f, 0.99999f);
wght.mV[cur_influence++] = (F32) joint + w;
if (cur_influence >= 4)
@@ -2570,14 +2580,13 @@ void LLVolume::makeTetrahedron()
mIsTetrahedron = TRUE;
}
-void LLVolume::copyVolumeFaces(LLVolume* volume)
+void LLVolume::copyVolumeFaces(const LLVolume* volume)
{
mVolumeFaces = volume->mVolumeFaces;
mSculptLevel = 0;
mIsTetrahedron = FALSE;
}
-
S32 LLVolume::getNumFaces() const
{
#if LL_MESH_ENABLED
@@ -5232,7 +5241,7 @@ LLVolumeFace::LLVolumeFace() :
mWeights(NULL),
mOctree(NULL)
{
- mExtents = (LLVector4a*) ll_aligned_malloc_16(48);
+ mExtents = (LLVector4a*) malloc(sizeof(LLVector4a)*3);
mCenter = mExtents+2;
}
@@ -5253,7 +5262,7 @@ LLVolumeFace::LLVolumeFace(const LLVolumeFace& src)
mWeights(NULL),
mOctree(NULL)
{
- mExtents = (LLVector4a*) ll_aligned_malloc_16(48);
+ mExtents = (LLVector4a*) malloc(sizeof(LLVector4a)*3);
mCenter = mExtents+2;
*this = src;
}
@@ -5281,15 +5290,15 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src)
freeData();
- LLVector4a::memcpyNonAliased16((F32*) mExtents, (F32*) src.mExtents, 12*sizeof(F32));
+ LLVector4a::memcpyNonAliased16((F32*) mExtents, (F32*) src.mExtents, 3*sizeof(LLVector4a));
resizeVertices(src.mNumVertices);
resizeIndices(src.mNumIndices);
if (mNumVertices)
{
- S32 vert_size = mNumVertices*4*sizeof(F32);
- S32 tc_size = (mNumVertices*8+0xF) & ~0xF;
+ S32 vert_size = mNumVertices*sizeof(LLVector4a);
+ S32 tc_size = (mNumVertices*sizeof(LLVector2)+0xF) & ~0xF;
LLVector4a::memcpyNonAliased16((F32*) mPositions, (F32*) src.mPositions, vert_size);
LLVector4a::memcpyNonAliased16((F32*) mNormals, (F32*) src.mNormals, vert_size);
@@ -5303,7 +5312,7 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src)
}
else
{
- ll_aligned_free_16(mBinormals);
+ free(mBinormals);
mBinormals = NULL;
}
@@ -5314,14 +5323,14 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src)
}
else
{
- ll_aligned_free_16(mWeights);
+ free(mWeights);
mWeights = NULL;
}
}
if (mNumIndices)
{
- S32 idx_size = (mNumIndices*2+0xF) & ~0xF;
+ S32 idx_size = (mNumIndices*sizeof(U16)+0xF) & ~0xF;
LLVector4a::memcpyNonAliased16((F32*) mIndices, (F32*) src.mIndices, idx_size);
}
@@ -5332,7 +5341,7 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src)
LLVolumeFace::~LLVolumeFace()
{
- ll_aligned_free_16(mExtents);
+ free(mExtents);
mExtents = NULL;
freeData();
@@ -5340,17 +5349,17 @@ LLVolumeFace::~LLVolumeFace()
void LLVolumeFace::freeData()
{
- ll_aligned_free_16(mPositions);
+ free(mPositions);
mPositions = NULL;
- ll_aligned_free_16(mNormals);
+ free( mNormals);
mNormals = NULL;
- ll_aligned_free_16(mTexCoords);
+ free(mTexCoords);
mTexCoords = NULL;
- ll_aligned_free_16(mIndices);
+ free(mIndices);
mIndices = NULL;
- ll_aligned_free_16(mBinormals);
+ free(mBinormals);
mBinormals = NULL;
- ll_aligned_free_16(mWeights);
+ free(mWeights);
mWeights = NULL;
delete mOctree;
@@ -5404,13 +5413,14 @@ bool LLVolumeFace::VertexMapData::ComparePosition::operator()(const LLVector3& a
return a.mV[1] < b.mV[1];
}
- return a.mV[2] < b.mV[2];
+ return a.mV[2] < b.mV[2];
}
void LLVolumeFace::optimize(F32 angle_cutoff)
{
LLVolumeFace new_face;
+ //map of points to vector of vertices at that point
VertexMapData::PointMap point_map;
//remove redundant vertices
@@ -5463,56 +5473,73 @@ void LLVolumeFace::optimize(F32 angle_cutoff)
}
-void LLVolumeFace::createOctree()
+void LLVolumeFace::createOctree(F32 scaler, const LLVector4a& center, const LLVector4a& size)
{
- LLVector4a center;
- LLVector4a size;
- center.splat(0.f);
- size.splat(1.f);
+ if (mOctree)
+ {
+ return;
+ }
mOctree = new LLOctreeRoot<LLVolumeTriangle>(center, size, NULL);
new LLVolumeOctreeListener(mOctree);
for (U32 i = 0; i < mNumIndices; i+= 3)
- {
+ { //for each triangle
LLPointer<LLVolumeTriangle> tri = new LLVolumeTriangle();
const LLVector4a& v0 = mPositions[mIndices[i]];
const LLVector4a& v1 = mPositions[mIndices[i+1]];
const LLVector4a& v2 = mPositions[mIndices[i+2]];
+ //store pointers to vertex data
tri->mV[0] = &v0;
tri->mV[1] = &v1;
tri->mV[2] = &v2;
+ //store indices
tri->mIndex[0] = mIndices[i];
tri->mIndex[1] = mIndices[i+1];
tri->mIndex[2] = mIndices[i+2];
+ //get minimum point
LLVector4a min = v0;
min.setMin(min, v1);
min.setMin(min, v2);
+ //get maximum point
LLVector4a max = v0;
max.setMax(max, v1);
max.setMax(max, v2);
+ //compute center
LLVector4a center;
center.setAdd(min, max);
center.mul(0.5f);
*tri->mPositionGroup = center;
+ //compute "radius"
LLVector4a size;
size.setSub(max,min);
- tri->mRadius = size.getLength3().getF32() * 0.5f;
+ tri->mRadius = size.getLength3().getF32() * scaler;
+ //insert
mOctree->insert(tri);
}
+ //remove unneeded octree layers
+ while (!mOctree->balance()) { }
+
+ //calculate AABB for each node
LLVolumeOctreeRebound rebound(this);
rebound.traverse(mOctree);
+
+ if (gDebugGL)
+ {
+ LLVolumeOctreeValidate validate;
+ validate.traverse(mOctree);
+ }
}
@@ -6146,21 +6173,24 @@ void LLVolumeFace::createBinormals()
void LLVolumeFace::resizeVertices(S32 num_verts)
{
- ll_aligned_free_16(mPositions);
- ll_aligned_free_16(mNormals);
- ll_aligned_free_16(mBinormals);
- ll_aligned_free_16(mTexCoords);
+ free(mPositions);
+ free(mNormals);
+ free(mBinormals);
+ free(mTexCoords);
mBinormals = NULL;
if (num_verts)
{
- mPositions = (LLVector4a*) ll_aligned_malloc_16(num_verts*16);
- mNormals = (LLVector4a*) ll_aligned_malloc_16(num_verts*16);
+ mPositions = (LLVector4a*) malloc(sizeof(LLVector4a)*num_verts);
+ assert_aligned(mPositions, 16);
+ mNormals = (LLVector4a*) malloc(sizeof(LLVector4a)*num_verts);
+ assert_aligned(mNormals, 16);
//pad texture coordinate block end to allow for QWORD reads
- S32 size = ((num_verts*8) + 0xF) & ~0xF;
- mTexCoords = (LLVector2*) ll_aligned_malloc_16(size);
+ S32 size = ((num_verts*sizeof(LLVector2)) + 0xF) & ~0xF;
+ mTexCoords = (LLVector2*) malloc(size);
+ assert_aligned(mTexCoords, 16);
}
else
{
@@ -6184,40 +6214,18 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con
S32 old_size = mNumVertices*16;
//positions
- LLVector4a* dst = (LLVector4a*) ll_aligned_malloc_16(new_size);
- if (mPositions)
- {
- LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mPositions, old_size);
- ll_aligned_free_16(mPositions);
- }
- mPositions = dst;
-
+ mPositions = (LLVector4a*) realloc(mPositions, new_size);
+
//normals
- dst = (LLVector4a*) ll_aligned_malloc_16(new_size);
- if (mNormals)
- {
- LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mNormals, old_size);
- ll_aligned_free_16(mNormals);
- }
- mNormals = dst;
-
+ mNormals = (LLVector4a*) realloc(mNormals, new_size);
+
//tex coords
new_size = ((new_verts*8)+0xF) & ~0xF;
- old_size = ((mNumVertices*8)+0xF) & ~0xF;
-
- dst = (LLVector4a*) ll_aligned_malloc_16(new_size);
- {
- LLVector2* dst = (LLVector2*) ll_aligned_malloc_16(new_size);
- if (mTexCoords)
- {
- LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mTexCoords, old_size);
- ll_aligned_free_16(mTexCoords);
- }
- }
- mTexCoords = (LLVector2*) dst;
+ mTexCoords = (LLVector2*) realloc(mTexCoords, new_size);
+
//just clear binormals
- ll_aligned_free_16(mBinormals);
+ free(mBinormals);
mBinormals = NULL;
mPositions[mNumVertices] = pos;
@@ -6229,26 +6237,26 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con
void LLVolumeFace::allocateBinormals(S32 num_verts)
{
- ll_aligned_free_16(mBinormals);
- mBinormals = (LLVector4a*) ll_aligned_malloc_16(num_verts*16);
+ free(mBinormals);
+ mBinormals = (LLVector4a*) malloc(sizeof(LLVector4a)*num_verts);
}
void LLVolumeFace::allocateWeights(S32 num_verts)
{
- ll_aligned_free_16(mWeights);
- mWeights = (LLVector4a*) ll_aligned_malloc_16(num_verts*16);
+ free(mWeights);
+ mWeights = (LLVector4a*) malloc(sizeof(LLVector4a)*num_verts);
}
void LLVolumeFace::resizeIndices(S32 num_indices)
{
- ll_aligned_free_16(mIndices);
-
+ free(mIndices);
+
if (num_indices)
{
//pad index block end to allow for QWORD reads
- S32 size = ((num_indices*2) + 0xF) & ~0xF;
+ S32 size = ((num_indices*sizeof(U16)) + 0xF) & ~0xF;
- mIndices = (U16*) ll_aligned_malloc_16(size);
+ mIndices = (U16*) malloc(size);
}
else
{
@@ -6266,13 +6274,7 @@ void LLVolumeFace::pushIndex(const U16& idx)
S32 old_size = ((mNumIndices*2)+0xF) & ~0xF;
if (new_size != old_size)
{
- U16* dst = (U16*) ll_aligned_malloc_16(new_size);
- if (mIndices)
- {
- LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mIndices, old_size);
- ll_aligned_free_16(mIndices);
- }
- mIndices = dst;
+ mIndices = (U16*) realloc(mIndices, new_size);
}
mIndices[mNumIndices++] = idx;
@@ -6313,28 +6315,13 @@ void LLVolumeFace::appendFace(const LLVolumeFace& face, LLMatrix4& mat_in, LLMat
}
//allocate new buffer space
- LLVector4a* new_pos = (LLVector4a*) ll_aligned_malloc_16(new_count*16);
- LLVector4a* new_norm = (LLVector4a*) ll_aligned_malloc_16(new_count*16);
- LLVector2* new_tc = (LLVector2*) ll_aligned_malloc_16((new_count*8+0xF) & ~0xF);
+ mPositions = (LLVector4a*) realloc(mPositions, new_count*sizeof(LLVector4a));
+ assert_aligned(mPositions, 16);
+ mNormals = (LLVector4a*) realloc(mNormals, new_count*sizeof(LLVector4a));
+ assert_aligned(mNormals, 16);
+ mTexCoords = (LLVector2*) realloc(mTexCoords, (new_count*sizeof(LLVector2)+0xF) & ~0xF);
+ assert_aligned(mTexCoords, 16);
-
- if (mNumVertices > 0)
- { //copy old buffers
- LLVector4a::memcpyNonAliased16((F32*) new_pos, (F32*) mPositions, mNumVertices*4*sizeof(F32));
- LLVector4a::memcpyNonAliased16((F32*) new_norm, (F32*) mNormals, mNumVertices*4*sizeof(F32));
- LLVector4a::memcpyNonAliased16((F32*) new_tc, (F32*) mTexCoords, mNumVertices*2*sizeof(F32));
- }
-
- //free old buffer space
- ll_aligned_free_16(mPositions);
- ll_aligned_free_16(mNormals);
- ll_aligned_free_16(mTexCoords);
-
- //point to new buffers
- mPositions = new_pos;
- mNormals = new_norm;
- mTexCoords = new_tc;
-
mNumVertices = new_count;
//get destination address of appended face
@@ -6379,19 +6366,8 @@ void LLVolumeFace::appendFace(const LLVolumeFace& face, LLMatrix4& mat_in, LLMat
new_count = mNumIndices + face.mNumIndices;
//allocate new index buffer
- U16* new_indices = (U16*) ll_aligned_malloc_16((new_count*2+0xF) & ~0xF);
- if (mNumIndices > 0)
- { //copy old index buffer
- S32 old_size = (mNumIndices*2+0xF) & ~0xF;
- LLVector4a::memcpyNonAliased16((F32*) new_indices, (F32*) mIndices, old_size);
- }
-
- //free old index buffer
- ll_aligned_free_16(mIndices);
-
- //point to new index buffer
- mIndices = new_indices;
-
+ mIndices = (U16*) realloc(mIndices, (new_count*sizeof(U16)+0xF) & ~0xF);
+
//get destination address into new index buffer
U16* dst_idx = mIndices+mNumIndices;
mNumIndices = new_count;
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index af28337f57..32364bd4b8 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -882,7 +882,7 @@ public:
};
void optimize(F32 angle_cutoff = 2.f);
- void createOctree();
+ void createOctree(F32 scaler = 0.25f, const LLVector4a& center = LLVector4a(0,0,0), const LLVector4a& size = LLVector4a(0.5f,0.5f,0.5f));
enum
{
@@ -1044,7 +1044,7 @@ public:
LLVector3 mLODScaleBias; // vector for biasing LOD based on scale
void sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components, const U8* sculpt_data, S32 sculpt_level);
- void copyVolumeFaces(LLVolume* volume);
+ void copyVolumeFaces(const LLVolume* volume);
private:
void sculptGenerateMapVertices(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components, const U8* sculpt_data, U8 sculpt_type);
diff --git a/indra/llmath/llvolumeoctree.cpp b/indra/llmath/llvolumeoctree.cpp
index 194b1faf81..cb6211f63c 100644
--- a/indra/llmath/llvolumeoctree.cpp
+++ b/indra/llmath/llvolumeoctree.cpp
@@ -126,8 +126,8 @@ void LLOctreeTriangleRayIntersect::traverse(const LLOctreeNode<LLVolumeTriangle>
const F32* center = vl->mBounds[0].getF32();
const F32* size = vl->mBounds[1].getF32();*/
- //if (LLLineSegmentBoxIntersect(mStart.getF32(), mEnd.getF32(), vl->mBounds[0].getF32(), vl->mBounds[1].getF32()))
- if (LLLineSegmentBoxIntersect(mStart, mEnd, vl->mBounds[0], vl->mBounds[1]))
+ //if (LLLineSegmentBoxIntersect(mStart, mEnd, vl->mBounds[0], vl->mBounds[1]))
+ if (LLLineSegmentBoxIntersect(mStart.getF32ptr(), mEnd.getF32ptr(), vl->mBounds[0].getF32ptr(), vl->mBounds[1].getF32ptr()))
{
node->accept(this);
for (S32 i = 0; i < node->getChildCount(); ++i)
@@ -206,3 +206,60 @@ const F32& LLVolumeTriangle::getBinRadius() const
}
+//TEST CODE
+
+void LLVolumeOctreeValidate::visit(const LLOctreeNode<LLVolumeTriangle>* branch)
+{
+ LLVolumeOctreeListener* node = (LLVolumeOctreeListener*) branch->getListener(0);
+
+ //make sure bounds matches extents
+ LLVector4a& min = node->mExtents[0];
+ LLVector4a& max = node->mExtents[1];
+
+ LLVector4a& center = node->mBounds[0];
+ LLVector4a& size = node->mBounds[1];
+
+ LLVector4a test_min, test_max;
+ test_min.setSub(center, size);
+ test_max.setAdd(center, size);
+
+ if (!test_min.equals3(min, 0.001f) ||
+ !test_max.equals3(max, 0.001f))
+ {
+ llerrs << "Bad bounding box data found." << llendl;
+ }
+
+ test_min.sub(LLVector4a(0.001f));
+ test_max.add(LLVector4a(0.001f));
+
+ for (U32 i = 0; i < branch->getChildCount(); ++i)
+ {
+ LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0);
+
+ //make sure all children fit inside this node
+ if (child->mExtents[0].lessThan(test_min).areAnySet(LLVector4Logical::MASK_XYZ) ||
+ child->mExtents[1].greaterThan(test_max).areAnySet(LLVector4Logical::MASK_XYZ))
+ {
+ llerrs << "Child protrudes from bounding box." << llendl;
+ }
+ }
+
+ //children fit, check data
+ for (LLOctreeNode<LLVolumeTriangle>::const_element_iter iter = branch->getData().begin();
+ iter != branch->getData().end(); ++iter)
+ {
+ const LLVolumeTriangle* tri = *iter;
+
+ //validate triangle
+ for (U32 i = 0; i < 3; i++)
+ {
+ if (tri->mV[i]->greaterThan(test_max).areAnySet(LLVector4Logical::MASK_XYZ) ||
+ tri->mV[i]->lessThan(test_min).areAnySet(LLVector4Logical::MASK_XYZ))
+ {
+ llerrs << "Triangle protrudes from node." << llendl;
+ }
+ }
+ }
+}
+
+
diff --git a/indra/llmath/llvolumeoctree.h b/indra/llmath/llvolumeoctree.h
index 0031626498..0a02a2c597 100644
--- a/indra/llmath/llvolumeoctree.h
+++ b/indra/llmath/llvolumeoctree.h
@@ -88,8 +88,6 @@ public:
F32* mClosestT;
bool mHitFace;
- LLOctreeTriangleRayIntersect() { };
-
LLOctreeTriangleRayIntersect(const LLVector4a& start, const LLVector4a& dir,
const LLVolumeFace* face, F32* closest_t,
LLVector3* intersection,LLVector2* tex_coord, LLVector3* normal, LLVector3* bi_normal);
@@ -134,5 +132,9 @@ public:
virtual const F32& getBinRadius() const;
};
+class LLVolumeOctreeValidate : public LLOctreeTraveler<LLVolumeTriangle>
+{
+ virtual void visit(const LLOctreeNode<LLVolumeTriangle>* branch);
+};
#endif
diff --git a/indra/llmath/tests/llquaternion_test.cpp b/indra/llmath/tests/llquaternion_test.cpp
index 2d27d1eb32..451b0ecc60 100644
--- a/indra/llmath/tests/llquaternion_test.cpp
+++ b/indra/llmath/tests/llquaternion_test.cpp
@@ -35,12 +35,12 @@
#include "linden_common.h"
#include "../test/lltut.h"
-#include "../llquaternion.h"
#include "../v4math.h"
#include "../v3math.h"
#include "../v3dmath.h"
#include "../m4math.h"
#include "../m3math.h"
+#include "../llquaternion.h"
namespace tut
{
diff --git a/indra/llmath/tests/v3dmath_test.cpp b/indra/llmath/tests/v3dmath_test.cpp
index 894b6200f5..734b8f8b80 100644
--- a/indra/llmath/tests/v3dmath_test.cpp
+++ b/indra/llmath/tests/v3dmath_test.cpp
@@ -36,11 +36,11 @@
#include "llsd.h"
#include "../test/lltut.h"
-#include "../llquaternion.h"
#include "../m3math.h"
#include "../v4math.h"
#include "../v3dmath.h"
#include "../v3dmath.h"
+#include "../llquaternion.h"
namespace tut
{
diff --git a/indra/llmath/tests/v3math_test.cpp b/indra/llmath/tests/v3math_test.cpp
index d5c8dd2f9c..e6354c2b86 100644
--- a/indra/llmath/tests/v3math_test.cpp
+++ b/indra/llmath/tests/v3math_test.cpp
@@ -36,12 +36,12 @@
#include "../test/lltut.h"
#include "llsd.h"
-#include "../llquaternion.h"
-#include "../llquantize.h"
#include "../v3dmath.h"
#include "../m3math.h"
#include "../v4math.h"
#include "../v3math.h"
+#include "../llquaternion.h"
+#include "../llquantize.h"
namespace tut
diff --git a/indra/llmath/tests/v4math_test.cpp b/indra/llmath/tests/v4math_test.cpp
index e919c90efa..61fc108488 100644
--- a/indra/llmath/tests/v4math_test.cpp
+++ b/indra/llmath/tests/v4math_test.cpp
@@ -36,9 +36,9 @@
#include "../test/lltut.h"
#include "llsd.h"
-#include "../llquaternion.h"
#include "../m4math.h"
#include "../v4math.h"
+#include "../llquaternion.h"
namespace tut
{
diff --git a/indra/llmessage/llsdmessagebuilder.cpp b/indra/llmessage/llsdmessagebuilder.cpp
index 2680dd0b77..2680dd0b77 100755..100644
--- a/indra/llmessage/llsdmessagebuilder.cpp
+++ b/indra/llmessage/llsdmessagebuilder.cpp
diff --git a/indra/llmessage/llsdmessagebuilder.h b/indra/llmessage/llsdmessagebuilder.h
index ef9ca351ec..ef9ca351ec 100755..100644
--- a/indra/llmessage/llsdmessagebuilder.h
+++ b/indra/llmessage/llsdmessagebuilder.h
diff --git a/indra/llmessage/llsdmessagereader.cpp b/indra/llmessage/llsdmessagereader.cpp
index 845a12d23b..845a12d23b 100755..100644
--- a/indra/llmessage/llsdmessagereader.cpp
+++ b/indra/llmessage/llsdmessagereader.cpp
diff --git a/indra/llmessage/llsdmessagereader.h b/indra/llmessage/llsdmessagereader.h
index 7b38659e51..7b38659e51 100755..100644
--- a/indra/llmessage/llsdmessagereader.h
+++ b/indra/llmessage/llsdmessagereader.h
diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp
index 295f69e902..cb9d1c3731 100644
--- a/indra/llmessage/llurlrequest.cpp
+++ b/indra/llmessage/llurlrequest.cpp
@@ -4,31 +4,25 @@
* @date 2005-04-28
* @brief Implementation of the URLRequest class and related classes.
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llmessage/llurlrequest.h b/indra/llmessage/llurlrequest.h
index 378cc56374..ec5c2c1941 100644
--- a/indra/llmessage/llurlrequest.h
+++ b/indra/llmessage/llurlrequest.h
@@ -4,31 +4,25 @@
* @date 2005-04-21
* @brief Declaration of url based requests on pipes.
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp
index 82765c740f..ae17996956 100644
--- a/indra/llprimitive/llmodel.cpp
+++ b/indra/llprimitive/llmodel.cpp
@@ -120,7 +120,7 @@ void load_face_from_dom_inputs(LLVolumeFace& face, const domInputLocalOffset_Arr
{
LLVector4a* norm = (LLVector4a*) face.mNormals + (j-min_idx);
norm->set(n[j*3+0], n[j*3+1], n[j*3+2]);
- norm->normalize3fast();
+ norm->normalize3();
}
}
else if (strcmp(COMMON_PROFILE_INPUT_TEXCOORD, inputs[j]->getSemantic()) == 0)
@@ -662,12 +662,18 @@ void load_face_from_dom_polygons(std::vector<LLVolumeFace>& face_list, std::vect
}
}
+ if (cur_idx != vert_idx.size())
+ {
+ llerrs << "WTF?" << llendl;
+ }
+
//build vertex array from map
- verts.resize(vert_idx.size());
+ std::vector<LLVolumeFace::VertexData> new_verts;
+ new_verts.resize(vert_idx.size());
for (std::map<LLVolumeFace::VertexData, U32>::iterator iter = vert_idx.begin(); iter != vert_idx.end(); ++iter)
{
- verts[iter->second] = iter->first;
+ new_verts[iter->second] = iter->first;
update_min_max(face.mExtents[0], face.mExtents[1], iter->first.getPosition());
}
@@ -679,8 +685,14 @@ void load_face_from_dom_polygons(std::vector<LLVolumeFace>& face_list, std::vect
indices[i] = vert_idx[verts[i]];
}
+ // DEBUG just build an expanded triangle list
+ /*for (U32 i = 0; i < verts.size(); ++i)
+ {
+ indices.push_back((U16) i);
+ update_min_max(face.mExtents[0], face.mExtents[1], verts[i].getPosition());
+ }*/
- if (!verts.empty())
+ if (!new_verts.empty())
{
std::string material;
@@ -691,7 +703,7 @@ void load_face_from_dom_polygons(std::vector<LLVolumeFace>& face_list, std::vect
materials.push_back(material);
face_list.push_back(face);
- face_list.rbegin()->fillFromLegacyData(verts, indices);
+ face_list.rbegin()->fillFromLegacyData(new_verts, indices);
}
}
@@ -1029,6 +1041,12 @@ void LLModel::smoothNormals(F32 angle_cutoff)
{
LLVolumeFace& vol_face = mVolumeFaces[j];
+ if (vol_face.mNumIndices > 65535)
+ {
+ llwarns << "Too many vertices for normal generation to work." << llendl;
+ continue;
+ }
+
//create faceted copy of current face with no texture coordinates (step 1)
LLVolumeFace faceted;
@@ -1036,16 +1054,16 @@ void LLModel::smoothNormals(F32 angle_cutoff)
//LLVector4a* src_norm = (LLVector4a*) vol_face.mNormals;
- //bake out triangles into temporary face, clearing normals and texture coordinates
+ faceted.resizeVertices(vol_face.mNumIndices);
+ faceted.resizeIndices(vol_face.mNumIndices);
+ //bake out triangles into temporary face, clearing texture coordinates
for (U32 i = 0; i < vol_face.mNumIndices; ++i)
{
U32 idx = vol_face.mIndices[i];
- LLVolumeFace::VertexData v;
- v.setPosition(src_pos[idx]);
- v.getNormal().clear();
- v.mTexCoord.clear();
- faceted.pushVertex(v);
- faceted.pushIndex(i);
+
+ faceted.mPositions[i] = src_pos[idx];
+ faceted.mTexCoords[i] = LLVector2(0,0);
+ faceted.mIndices[i] = i;
}
//generate normals for temporary face
@@ -1068,7 +1086,7 @@ void LLModel::smoothNormals(F32 angle_cutoff)
rhs.setSub(p2, p0);
n0.setCross3(lhs, rhs);
- n0.normalize3fast();
+ n0.normalize3();
n1 = n0;
n2 = n0;
}
@@ -1114,7 +1132,7 @@ void LLModel::smoothNormals(F32 angle_cutoff)
for (U32 i = 0; i < faceted.mNumVertices; ++i)
{
- faceted.mNormals[i].normalize3fast();
+ faceted.mNormals[i].normalize3();
LLVolumeFace::VertexMapData v;
v.setPosition(faceted.mPositions[i]);
@@ -1127,16 +1145,17 @@ void LLModel::smoothNormals(F32 angle_cutoff)
LLVolumeFace new_face;
//bake out triangles into new face
+ new_face.resizeIndices(vol_face.mNumIndices);
+ new_face.resizeVertices(vol_face.mNumIndices);
+
for (U32 i = 0; i < vol_face.mNumIndices; ++i)
{
U32 idx = vol_face.mIndices[i];
LLVolumeFace::VertexData v;
- v.setPosition(vol_face.mPositions[idx]);
- v.setNormal(vol_face.mNormals[idx]);
- v.mTexCoord = vol_face.mTexCoords[idx];
-
- new_face.pushVertex(v);
- new_face.pushIndex(i);
+ new_face.mPositions[i] = vol_face.mPositions[idx];
+ new_face.mNormals[i].clear();
+ new_face.mTexCoords[i] = vol_face.mTexCoords[idx];
+ new_face.mIndices[i] = i;
}
//generate normals for new face
@@ -1159,7 +1178,7 @@ void LLModel::smoothNormals(F32 angle_cutoff)
rhs.setSub(p2, p0);
n0.setCross3(lhs, rhs);
- n0.normalize3fast();
+ n0.normalize3();
n1 = n0;
n2 = n0;
}
diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp
index 0a16b5120a..b84e696e2d 100644
--- a/indra/llrender/llfontfreetype.cpp
+++ b/indra/llrender/llfontfreetype.cpp
@@ -2,31 +2,25 @@
* @file llfontfreetype.cpp
* @brief Freetype font library wrapper
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llrender/llfontfreetype.h b/indra/llrender/llfontfreetype.h
index 4b4a0bb189..f1b23f22d5 100644
--- a/indra/llrender/llfontfreetype.h
+++ b/indra/llrender/llfontfreetype.h
@@ -2,31 +2,25 @@
* @file llfontfreetype.h
* @brief Font library wrapper
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llrender/llfontgl.h b/indra/llrender/llfontgl.h
index 8bc45fbf74..dc8d848ed2 100644
--- a/indra/llrender/llfontgl.h
+++ b/indra/llrender/llfontgl.h
@@ -3,31 +3,25 @@
* @author Doug Soo
* @brief Wrapper around FreeType
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp
index 64238b2008..40ab3a3476 100644
--- a/indra/llrender/llrender.cpp
+++ b/indra/llrender/llrender.cpp
@@ -901,7 +901,7 @@ LLVector3 LLRender::getUITranslation()
{
if (mUIOffset.empty())
{
- llerrs << "UI offset stack empty." << llendl;
+ return LLVector3(0,0,0);
}
return mUIOffset.back();
}
@@ -910,7 +910,7 @@ LLVector3 LLRender::getUIScale()
{
if (mUIScale.empty())
{
- llerrs << "UI scale stack empty." << llendl;
+ return LLVector3(1,1,1);
}
return mUIScale.back();
}
diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h
index 6fc9ca86a3..1fe64c472e 100644
--- a/indra/llui/llaccordionctrl.h
+++ b/indra/llui/llaccordionctrl.h
@@ -2,31 +2,25 @@
* @file LLAccordionCtrl.h
* @brief Accordion Panel implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp
index 84716394e6..b7da5f4a1b 100644
--- a/indra/llui/llaccordionctrltab.cpp
+++ b/indra/llui/llaccordionctrltab.cpp
@@ -2,31 +2,25 @@
* @file LLAccordionCtrlTab.cpp
* @brief Collapsible control implementation
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 5a4f0515fc..f0f34ebd4f 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -3,31 +3,25 @@
* @file llbutton.cpp
* @brief LLButton base class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h
index 5f25084b35..d87ceb7c42 100644
--- a/indra/llui/llbutton.h
+++ b/indra/llui/llbutton.h
@@ -2,31 +2,25 @@
* @file llbutton.h
* @brief Header for buttons
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llcallbackmap.h b/indra/llui/llcallbackmap.h
index 60c4fc6b6d..0a10877c09 100644
--- a/indra/llui/llcallbackmap.h
+++ b/indra/llui/llcallbackmap.h
@@ -2,31 +2,25 @@
* @file llcallbackmap.h
* @brief LLCallbackMap base class
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index f9983278d1..ca2dc644a4 100644
--- a/indra/llui/lldockablefloater.cpp
+++ b/indra/llui/lldockablefloater.cpp
@@ -2,31 +2,25 @@
* @file lldockablefloater.cpp
* @brief Creates a panel of a specific kind for a toast
*
- * $LicenseInfo:firstyear=2000&license=viewergpl$
- *
- * Copyright (c) 2000-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h
index 054d59b984..8deb6c1159 100644
--- a/indra/llui/lldockablefloater.h
+++ b/indra/llui/lldockablefloater.h
@@ -2,31 +2,25 @@
* @file lldockablefloater.h
* @brief Creates a panel of a specific kind for a toast.
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp
index b52cb2b751..42e6c3c786 100644
--- a/indra/llui/lldraghandle.cpp
+++ b/indra/llui/lldraghandle.cpp
@@ -2,31 +2,25 @@
* @file lldraghandle.cpp
* @brief LLDragHandle base class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h
index 2c391fdf91..92bf429031 100644
--- a/indra/llui/llflatlistview.h
+++ b/indra/llui/llflatlistview.h
@@ -2,31 +2,25 @@
* @file llflatlistview.h
* @brief LLFlatListView base class and extension to support messages for several cases of an empty list.
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009-2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -60,6 +54,7 @@
*/
class LLFlatListView : public LLScrollContainer, public LLEditMenuHandler
{
+ LOG_CLASS(LLFlatListView);
public:
/**
@@ -456,6 +451,8 @@ private:
class LLFlatListViewEx : public LLFlatListView
{
public:
+ LOG_CLASS(LLFlatListViewEx);
+
struct Params : public LLInitParam::Block<Params, LLFlatListView::Params>
{
/**
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index e7d365238b..5e482cbac3 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -2,31 +2,25 @@
* @file llfloater.h
* @brief LLFloater base class
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lllocalcliprect.cpp b/indra/llui/lllocalcliprect.cpp
index 805d5879f7..6841301219 100644
--- a/indra/llui/lllocalcliprect.cpp
+++ b/indra/llui/lllocalcliprect.cpp
@@ -1,31 +1,25 @@
/**
* @file lllocalcliprect.cpp
*
-* $LicenseInfo:firstyear=2009&license=viewergpl$
-*
-* Copyright (c) 2009, Linden Research, Inc.
-*
+* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
-* The source code in this file ("Source Code") is provided by Linden Lab
-* to you under the terms of the GNU General Public License, version 2.0
-* ("GPL"), unless you have obtained a separate licensing agreement
-* ("Other License"), formally executed by you and Linden Lab. Terms of
-* the GPL can be found in doc/GPL-license.txt in this distribution, or
-* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+* Copyright (C) 2010, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
*
-* There are special exceptions to the terms and conditions of the GPL as
-* it is applied to this Source Code. View the full text of the exception
-* in the file doc/FLOSS-exception.txt in this software distribution, or
-* online at
-* http://secondlifegrid.net/programs/open_source/licensing/flossexception
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
*
-* By copying, modifying or distributing this software, you acknowledge
-* that you have read and understood your obligations described above,
-* and agree to abide by those obligations.
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
-* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
-* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
-* COMPLETENESS OR PERFORMANCE.
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
diff --git a/indra/llui/lllocalcliprect.h b/indra/llui/lllocalcliprect.h
index 36413f1496..eeeaf2adb6 100644
--- a/indra/llui/lllocalcliprect.h
+++ b/indra/llui/lllocalcliprect.h
@@ -1,31 +1,25 @@
/**
* @file lllocalcliprect.h
*
-* $LicenseInfo:firstyear=2009&license=viewergpl$
-*
-* Copyright (c) 2009, Linden Research, Inc.
-*
+* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
-* The source code in this file ("Source Code") is provided by Linden Lab
-* to you under the terms of the GNU General Public License, version 2.0
-* ("GPL"), unless you have obtained a separate licensing agreement
-* ("Other License"), formally executed by you and Linden Lab. Terms of
-* the GPL can be found in doc/GPL-license.txt in this distribution, or
-* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+* Copyright (C) 2010, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
*
-* There are special exceptions to the terms and conditions of the GPL as
-* it is applied to this Source Code. View the full text of the exception
-* in the file doc/FLOSS-exception.txt in this software distribution, or
-* online at
-* http://secondlifegrid.net/programs/open_source/licensing/flossexception
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
*
-* By copying, modifying or distributing this software, you acknowledge
-* that you have read and understood your obligations described above,
-* and agree to abide by those obligations.
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
-* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
-* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
-* COMPLETENESS OR PERFORMANCE.
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LLLOCALCLIPRECT_H
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index 0f769bd6dc..b2e08c48c5 100644
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -2,31 +2,25 @@
* @file llpanel.cpp
* @brief LLPanel base class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h
index 784054cd86..a7224648c1 100644
--- a/indra/llui/llpanel.h
+++ b/indra/llui/llpanel.h
@@ -3,31 +3,25 @@
* @author James Cook, Tom Yedwab
* @brief LLPanel base class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp
index bb43c19c2c..84e438cfb7 100644
--- a/indra/llui/llscrolllistctrl.cpp
+++ b/indra/llui/llscrolllistctrl.cpp
@@ -3,31 +3,25 @@
* @brief Scroll lists are composed of rows (items), each of which
* contains columns (cells).
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h
index 19cb7e2bfe..8a2f893ba2 100644
--- a/indra/llui/llscrolllistctrl.h
+++ b/indra/llui/llscrolllistctrl.h
@@ -4,31 +4,25 @@
* in UI code. LLScrollListCell, LLScrollListItem, etc. are utility
* classes.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llsliderctrl.cpp b/indra/llui/llsliderctrl.cpp
index 1c410cc1aa..d760178e35 100644
--- a/indra/llui/llsliderctrl.cpp
+++ b/indra/llui/llsliderctrl.cpp
@@ -2,31 +2,25 @@
* @file llsliderctrl.cpp
* @brief LLSliderCtrl base class
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp
index ac0c9c3e45..9decfa0b25 100644
--- a/indra/llui/llspinctrl.cpp
+++ b/indra/llui/llspinctrl.cpp
@@ -2,31 +2,25 @@
* @file llspinctrl.cpp
* @brief LLSpinCtrl base class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -134,7 +128,7 @@ LLSpinCtrl::LLSpinCtrl(const LLSpinCtrl::Params& p)
}
else //should accept int numbers
{
- params.prevalidate_callback(&LLTextValidate::validateNonNegativeS32);
+ params.prevalidate_callback(&LLTextValidate::validateInt);
}
params.follows.flags(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
diff --git a/indra/llui/llstyle.cpp b/indra/llui/llstyle.cpp
index d63f67b4c1..5e09cee78b 100644
--- a/indra/llui/llstyle.cpp
+++ b/indra/llui/llstyle.cpp
@@ -2,31 +2,25 @@
* @file llstyle.cpp
* @brief Text style class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llstyle.h b/indra/llui/llstyle.h
index 44d9da7a1e..66cd639936 100644
--- a/indra/llui/llstyle.h
+++ b/indra/llui/llstyle.h
@@ -2,31 +2,25 @@
* @file llstyle.h
* @brief Text style class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index db010d1cf6..e5dfecad54 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief The base class of text box/editor, providing Url handling support
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp
index 686179b94e..6a905b7ec0 100644
--- a/indra/llui/lltextbox.cpp
+++ b/indra/llui/lltextbox.cpp
@@ -2,31 +2,25 @@
* @file lltextbox.cpp
* @brief A text display widget
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltextbox.h b/indra/llui/lltextbox.h
index b2ccde94c6..071e18c638 100644
--- a/indra/llui/lltextbox.h
+++ b/indra/llui/lltextbox.h
@@ -2,31 +2,25 @@
* @file lltextbox.h
* @brief A single text item display
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltextvalidate.cpp b/indra/llui/lltextvalidate.cpp
index 53c4d21151..4b9faa0560 100644
--- a/indra/llui/lltextvalidate.cpp
+++ b/indra/llui/lltextvalidate.cpp
@@ -2,31 +2,25 @@
* @file lltextvalidate.cpp
* @brief Text validation helper functions
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltextvalidate.h b/indra/llui/lltextvalidate.h
index c033f5045b..84644be30c 100644
--- a/indra/llui/lltextvalidate.h
+++ b/indra/llui/lltextvalidate.h
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief The base class of text box/editor, providing Url handling support
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp
index 025725476e..b02d3122fe 100644
--- a/indra/llui/lltooltip.cpp
+++ b/indra/llui/lltooltip.cpp
@@ -2,31 +2,25 @@
* @file lltooltip.cpp
* @brief LLToolTipMgr class implementation and related classes
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index 5d8b628776..d33d8e3178 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -2,31 +2,25 @@
* @file llui.cpp
* @brief UI implementation
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llui.h b/indra/llui/llui.h
index 745d0ff662..fc545c85d5 100644
--- a/indra/llui/llui.h
+++ b/indra/llui/llui.h
@@ -2,31 +2,25 @@
* @file llui.h
* @brief GL function declarations and other general static UI services.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp
index c91e225fd2..3ac3bf8c41 100644
--- a/indra/llui/lluictrl.cpp
+++ b/indra/llui/lluictrl.cpp
@@ -3,31 +3,25 @@
* @author James Cook, Richard Nelson, Tom Yedwab
* @brief Abstract base class for UI controls
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h
index 259104f72c..76dfdf754c 100644
--- a/indra/llui/lluictrl.h
+++ b/indra/llui/lluictrl.h
@@ -3,31 +3,25 @@
* @author James Cook, Richard Nelson, Tom Yedwab
* @brief Abstract base class for UI controls
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index bf7b25910f..5680ab8bd4 100644
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Describes the Url types that can be registered in LLUrlRegistry
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h
index f8588dd760..e25eaa7555 100644
--- a/indra/llui/llurlentry.h
+++ b/indra/llui/llurlentry.h
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Describes the Url types that can be registered in LLUrlRegistry
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llurlmatch.cpp b/indra/llui/llurlmatch.cpp
index a6d3dcb40f..e53b0c4370 100644
--- a/indra/llui/llurlmatch.cpp
+++ b/indra/llui/llurlmatch.cpp
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Specifies a matched Url in a string, as returned by LLUrlRegistry
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llurlmatch.h b/indra/llui/llurlmatch.h
index 7090dd3f93..d1b2112ee7 100644
--- a/indra/llui/llurlmatch.h
+++ b/indra/llui/llurlmatch.h
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Specifies a matched Url in a string, as returned by LLUrlRegistry
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp
index b37a52cad2..9d215cf7ef 100644
--- a/indra/llui/llurlregistry.cpp
+++ b/indra/llui/llurlregistry.cpp
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Contains a set of Url types that can be matched in a string
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llvfs/llpidlock.cpp b/indra/llvfs/llpidlock.cpp
index 28cee29405..28cee29405 100755..100644
--- a/indra/llvfs/llpidlock.cpp
+++ b/indra/llvfs/llpidlock.cpp
diff --git a/indra/llvfs/llpidlock.h b/indra/llvfs/llpidlock.h
index 496e99cf5a..496e99cf5a 100755..100644
--- a/indra/llvfs/llpidlock.h
+++ b/indra/llvfs/llpidlock.h
diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp
index 8f26f980d1..53cecf9d4a 100644
--- a/indra/llwindow/llkeyboard.cpp
+++ b/indra/llwindow/llkeyboard.cpp
@@ -2,31 +2,25 @@
* @file llkeyboard.cpp
* @brief Handler for assignable key bindings
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/llxuixml/lltrans.h b/indra/llxuixml/lltrans.h
index 84eeef0ace..42c27b6976 100644
--- a/indra/llxuixml/lltrans.h
+++ b/indra/llxuixml/lltrans.h
@@ -2,31 +2,25 @@
* @file lltrans.h
* @brief LLTrans definition
*
- * $LicenseInfo:firstyear=2000&license=viewergpl$
- *
- * Copyright (c) 2000-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 592c068137..0f2d461511 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1405,10 +1405,6 @@ add_executable(${VIEWER_BINARY_NAME}
${viewer_SOURCE_FILES}
)
-if (LLKDU_LIBRARY)
- add_dependencies(${VIEWER_BINARY_NAME} ${LLKDU_LIBRARY})
-endif (LLKDU_LIBRARY)
-
# add package files
file(GLOB EVENT_HOST_SCRIPT_GLOB_LIST
${CMAKE_CURRENT_SOURCE_DIR}/../viewer_components/*.py)
@@ -1426,9 +1422,7 @@ if (WINDOWS)
set_target_properties(${VIEWER_BINARY_NAME}
PROPERTIES
- # *TODO -reenable this once we get server usage sorted out
- #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\""
- LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS"
+ LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
LINK_FLAGS_RELEASE ${release_flags}
)
@@ -1473,6 +1467,9 @@ if (WINDOWS)
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll
+ ${SHARED_LIB_STAGING_DIR}/Release/glod.dll
+ ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/glod.dll
+ ${SHARED_LIB_STAGING_DIR}/Debug/glod.dll
${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll
@@ -1566,11 +1563,6 @@ if (WINDOWS)
add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon copy_w_viewer_manifest)
- if(LLKDU_LIBRARY)
- # kdu may not exist!
- add_dependencies(copy_w_viewer_manifest llkdu)
- endif(LLKDU_LIBRARY)
-
if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
@@ -1646,6 +1638,7 @@ if (WINDOWS)
endif (WINDOWS)
target_link_libraries(${VIEWER_BINARY_NAME}
+ ${GOOGLE_PERFTOOLS_LIBRARIES}
${LLAUDIO_LIBRARIES}
${LLCHARACTER_LIBRARIES}
${LLIMAGE_LIBRARIES}
@@ -1682,7 +1675,6 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
${LLLOGIN_LIBRARIES}
- ${GOOGLE_PERFTOOLS_LIBRARIES}
${LLCONVEXDECOMP_LIBRARY}
)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 37d80bab59..96d2fd05e5 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -6716,7 +6716,18 @@
<key>Value</key>
<integer>1</integer>
</map>
-
+ <key>RenderPerformanceTest</key>
+ <map>
+ <key>Comment</key>
+ <string>Disable rendering of everything but in-world content for
+ performance testing</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>RenderLightingDetail</key>
<map>
<key>Comment</key>
@@ -8504,7 +8515,17 @@
<key>Value</key>
<integer>32</integer>
</map>
-
+ <key>RunMultipleThreads</key>
+ <map>
+ <key>Comment</key>
+ <string>If TRUE keep background threads active during render</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>SafeMode</key>
<map>
<key>Comment</key>
@@ -8811,7 +8832,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>0</integer>
+ <integer>1</integer>
</map>
<key>ShowBetaGrids</key>
<map>
diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl
index b6cc7f7712..5de9cb0790 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void default_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
index 292dbfdab4..7e9818e54a 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarSkinV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
attribute vec4 weight; //1
diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl
index ee3410d732..9f06301cc7 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl
index 4d93c19441..0feb88535a 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl
@@ -1,8 +1,8 @@
/**
* @file eyeballF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void default_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl
index b3c988a924..30a2f10f62 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl
@@ -1,8 +1,8 @@
/**
* @file eyeballV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLightingSpecular(vec3 pos, vec3 norm, vec4 color, inout vec4 specularColor, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl
index 2019300418..bcd710dc57 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl
@@ -1,8 +1,8 @@
/**
* @file pickAvatarF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl
index 12d8f9d2f9..299def1927 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl
@@ -1,8 +1,8 @@
/**
* @file pickAvatarV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
mat4 getSkinnedTransform();
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
index 7d18ae5036..aad21c309b 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
@@ -1,8 +1,8 @@
/**
* @file alphaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
index 43200f1b07..9cbc5fac73 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
@@ -1,8 +1,8 @@
/**
* @file alphaV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl
index ff64a6b0c3..82ce6d7377 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarAlphaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl
index da1dafda36..e565952c3f 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarAlphaV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl
index afbe08a579..e376892e0a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
index 085ffddeec..d88e3ecfd8 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarShadowF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl
index 8c8489d087..2af8c8f5f7 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarShadowV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
mat4 getSkinnedTransform();
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl
index 471a1f0407..988226fb7c 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
mat4 getSkinnedTransform();
diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl
index d1c5d7cb19..258a9b7c40 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file blurLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl
index b7f07e5702..b1b3f55f00 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file blurLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl
index 2197744a37..35f334d58e 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl
@@ -1,8 +1,8 @@
/**
* @file bumpF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl
index 9589912c6c..6c8550cb5b 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl
@@ -1,8 +1,8 @@
/**
* @file bumpV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_mat0;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl
index 3803119cda..9bd622a506 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl
@@ -1,8 +1,8 @@
/**
* @file diffuseF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl
index 44468cdfa2..bd58096317 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl
@@ -1,8 +1,8 @@
/**
* @file diffuseV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_normal;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl
index 0db9586a88..f53e15c6cc 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl
index aff51178b0..dc8b2c6be4 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/deferred/giF.glsl b/indra/newview/app_settings/shaders/class1/deferred/giF.glsl
index d4b153c4af..e64e29a0d2 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/giF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/giF.glsl
@@ -1,8 +1,8 @@
/**
* @file giF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/giV.glsl b/indra/newview/app_settings/shaders/class1/deferred/giV.glsl
index 71dcea9628..543527612e 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/giV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/giV.glsl
@@ -1,8 +1,8 @@
/**
* @file giV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl
index 508bbf415e..7f365fedc8 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl
@@ -1,8 +1,8 @@
/**
* @file impostorF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl
index 57532a30b3..4fc27d4412 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl
@@ -1,8 +1,8 @@
/**
* @file impostorV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void main()
diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
index e8b53b0293..acb3014d18 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
@@ -1,8 +1,8 @@
/**
* @file luminanceF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl
index db8775f024..6368def830 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl
@@ -1,8 +1,8 @@
/**
* @file giV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl
index b494b521ca..6fca08ae6a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file multiPointLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
index 82e9450e68..a9f03f7615 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file multiSpotLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#version 120
diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
index 3aecbc5f23..43da16436b 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file pointLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl
index e815ca260f..e056c3e896 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file pointLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec4 vary_light;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
index 71de03663c..650e1a91a8 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl
index 9819232fd5..0ec81dcb02 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl
index bd554c2d84..e8e58f50e1 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl
@@ -1,8 +1,8 @@
/**
* @file postgiF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect depthMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl
index 6adcda82a3..e5f6217644 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl
@@ -1,8 +1,8 @@
/**
* @file postgiV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
index b0b31fd4ba..378a3295ec 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
@@ -1,8 +1,8 @@
/**
* @file shadowF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl
index 7214d246a4..666f909f01 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl
@@ -1,8 +1,8 @@
/**
* @file shadowV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec4 post_pos;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
index bef91e735d..5fbeceba81 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl
index ad8af4780d..9d187b46e2 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec2 screen_res;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
index 1b95b253c3..29fac46bfe 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file spotLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#version 120
diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl
index 56e4055c02..d4d686bbb7 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file sunLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
//class 1, no shadow, no SSAO, should never be called
diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl
index 5081485c4b..9d092d9cea 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file sunLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec4 vary_light;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
index fa0a60c98d..9ba508a30c 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D detail_0;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
index 3038b14772..789e53b789 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_normal;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl
index 5b33ea5bfe..1c1725a95c 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl
@@ -1,8 +1,8 @@
/**
* @file treeF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl
index 6b9dc2defb..45832e350f 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl
@@ -1,8 +1,8 @@
/**
* @file treeV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_normal;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl
index 361ae8dc84..ea531de24a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl
@@ -1,8 +1,8 @@
/**
* @file waterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl
index b45e5c5302..e002d75ebe 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl
@@ -1,8 +1,8 @@
/**
* @file waterV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl
index 5d7af2c13a..2d40a19fa6 100644
--- a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl
+++ b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl
@@ -1,8 +1,8 @@
/**
* @file glowExtractF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl
index 61dfd2f126..fe45898ed2 100644
--- a/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl
+++ b/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl
@@ -1,8 +1,8 @@
/**
* @file glowExtractV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/effects/glowF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowF.glsl
index 21c7ad765f..5b4e8b3ecc 100644
--- a/indra/newview/app_settings/shaders/class1/effects/glowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/effects/glowF.glsl
@@ -1,8 +1,8 @@
/**
* @file glowF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/effects/glowV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowV.glsl
index 13ce7c7854..97696e4719 100644
--- a/indra/newview/app_settings/shaders/class1/effects/glowV.glsl
+++ b/indra/newview/app_settings/shaders/class1/effects/glowV.glsl
@@ -1,8 +1,8 @@
/**
* @file glowV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec2 glowDelta;
diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl
index 2278c6916d..3a852239fb 100644
--- a/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D detail0;
diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl
index 112d669819..0d781fd849 100644
--- a/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl
index e2f68e8826..99c340d91a 100644
--- a/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// this class1 shader is just a copy of terrainF
diff --git a/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl b/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl
index f1740a4dcd..66458ec66d 100644
--- a/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file underWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
index 7e1788678d..5f1fbee1df 100644
--- a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
@@ -1,8 +1,8 @@
/**
* @file waterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec3 scaleSoftClip(vec3 inColor);
diff --git a/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl
index 7ee41998e2..e5eb25f3fa 100644
--- a/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl
@@ -1,8 +1,8 @@
/**
* @file waterFogF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 applyWaterFog(vec4 color)
diff --git a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl
index 48ac87ef07..608a7a5807 100644
--- a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl
@@ -1,8 +1,8 @@
/**
* @file waterV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl
index 328c41652d..5ac9e96601 100644
--- a/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl
@@ -1,8 +1,8 @@
/**
* @file highlightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl
index a9ea6e856a..c5f69c4ad4 100644
--- a/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl
@@ -1,8 +1,8 @@
/**
* @file highlightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void main()
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl
index 071489bca8..ad128dae8d 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl
index b12cca9126..1742b9fc1c 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl
index bc795a7513..68b6603b4a 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightShinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl
index b13088fb19..693ed289f2 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl
index bbbd9f3dfe..b888e70325 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFuncSpecularV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l)
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl
index da49e59b89..4b6d95e177 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFuncV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl
index 89785c45cb..b127b1f8ea 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightShinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl
index 7ac3c359bf..05ad3256af 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightShinyWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl
index 853212923c..b1a7cb46ff 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l);
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl
index 8c2813a859..f6afa6a3ae 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l);
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl
index 81dff1ef39..e5e6ddc2d8 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl
index 218585fb86..a0649aea88 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsSpecularV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLightSpecular(inout vec4 specular, vec3 view, vec3 n, vec3 l, vec3 lightCol, float da);
vec3 atmosAmbient(vec3 light);
diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl
index e5361033ef..c7d40d853f 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l);
diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl
index 1b0ffb911a..9da4c2c92b 100644
--- a/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void fullbright_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl
index 936c228b4e..1c8a9a1a30 100644
--- a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightShinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void fullbright_shiny_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl
index ba2aa024dc..032def63b3 100644
--- a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightShinyV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl
index e64ccb844d..914e417ca0 100644
--- a/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl
index fd855aa910..df76e9e1eb 100644
--- a/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file fullbrightWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void fullbright_lighting_water();
diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl
index bdb0b05f97..6bcd44506d 100644
--- a/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file shinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void shiny_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
index 101458c438..0aa313e0df 100644
--- a/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
@@ -1,8 +1,8 @@
/**
* @file shinyV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl
index 0a2a5f624b..54b30573e7 100644
--- a/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file shinyWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void shiny_lighting_water();
diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl
index 7dacca4fe1..61c2ce4272 100644
--- a/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl
@@ -1,8 +1,8 @@
/**
* @file simpleF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void default_lighting();
diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl
index 78b96b3025..ced1a4be01 100644
--- a/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl
@@ -1,8 +1,8 @@
/**
* @file simpleV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl
index e066b3d02f..5e44212aed 100644
--- a/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file simpleWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void default_lighting_water();
diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl
index 248c322011..7a05b8c8c6 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsF.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec3 atmosLighting(vec3 light)
diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl
index c2c39e2e10..874f2b4843 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsHelpersV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec3 atmosAmbient(vec3 light)
diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl
index 551b643403..7ead9ddf26 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void setPositionEye(vec3 v);
diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl
index c001a4070b..f6032f8d41 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericVarsF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_PositionEye;
diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl
index 1b263b0854..a696ddf607 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericVarsV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_PositionEye;
diff --git a/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl b/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl
index c1ffda1596..4a1899798a 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl
@@ -1,8 +1,8 @@
/**
* @file gammaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec4 gamma;
diff --git a/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl
index 7097906fdd..b78b90545e 100644
--- a/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl
+++ b/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl
@@ -1,8 +1,8 @@
/**
* @file transportF.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec3 atmosTransport(vec3 light)
diff --git a/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl b/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl
index 3dd62d2d14..47300f0b39 100644
--- a/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl
+++ b/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl
@@ -1,8 +1,8 @@
/**
* @file eyeballV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLightingSpecular(vec3 pos, vec3 norm, vec4 color, inout vec4 specularColor, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
index fa6b4e2afb..553a5d2f4f 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
@@ -1,8 +1,8 @@
/**
* @file alphaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl
index 1fae8c4da3..45f727951e 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl
@@ -1,8 +1,8 @@
/**
* @file alphaV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl
index a81e4caf4c..5ecbbd2c4f 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarAlphaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl
index de423ee22a..2b2d40c2ce 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarAlphaV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl
index d1c5d7cb19..258a9b7c40 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file blurLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl
index b7f07e5702..b1b3f55f00 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file blurLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl b/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl
index e32e9f4b32..ff32a15c54 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl
@@ -1,8 +1,8 @@
/**
* @file edgeF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl b/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl
index f1938c92b8..74f2bd9818 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl
@@ -1,8 +1,8 @@
/**
* @file edgeV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
index 22ffb58c63..d6cd984ebe 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file multiSpotLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#version 120
diff --git a/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl
index ee0e9d6367..757e3e7aab 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect diffuseRect;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl
index 9819232fd5..0ec81dcb02 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
index fd6ae2b960..1067be1e6e 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl
index ad8af4780d..9d187b46e2 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec2 screen_res;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
index 8a90199b7c..d0e242c2d4 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file spotLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#version 120
diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
index 7423347346..f565d3bdb9 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file sunLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl
index 5081485c4b..9d092d9cea 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file sunLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec4 vary_light;
diff --git a/indra/newview/app_settings/shaders/class2/effects/blurF.glsl b/indra/newview/app_settings/shaders/class2/effects/blurF.glsl
index 94433202af..4173709298 100644
--- a/indra/newview/app_settings/shaders/class2/effects/blurF.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/blurF.glsl
@@ -1,8 +1,8 @@
/**
* @file blurf.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect RenderTexture;
diff --git a/indra/newview/app_settings/shaders/class2/effects/blurV.glsl b/indra/newview/app_settings/shaders/class2/effects/blurV.glsl
index ba65b16cc1..f66609527d 100644
--- a/indra/newview/app_settings/shaders/class2/effects/blurV.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/blurV.glsl
@@ -1,8 +1,8 @@
/**
* @file blurV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec2 texelSize;
diff --git a/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl b/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl
index 623ef7a81a..df41dae757 100644
--- a/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl
@@ -1,8 +1,8 @@
/**
* @file colorFilterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect RenderTexture;
diff --git a/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl b/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl
index 29c2a0948c..e836caf93f 100644
--- a/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl
@@ -1,8 +1,8 @@
/**
* @file drawQuadV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void main(void)
diff --git a/indra/newview/app_settings/shaders/class2/effects/extractF.glsl b/indra/newview/app_settings/shaders/class2/effects/extractF.glsl
index a1583b13eb..06d5fc9797 100644
--- a/indra/newview/app_settings/shaders/class2/effects/extractF.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/extractF.glsl
@@ -1,8 +1,8 @@
/**
* @file extractF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect RenderTexture;
diff --git a/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl b/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl
index 271d5cf8d6..0a2767ad02 100644
--- a/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl
@@ -1,8 +1,8 @@
/**
* @file nightVisionF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect RenderTexture;
diff --git a/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl b/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl
index e55d278b81..29ad9a995b 100644
--- a/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl
+++ b/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl
@@ -1,8 +1,8 @@
/**
* @file simpleF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect RenderTexture;
diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl
index 4253bc21c3..32259acf1b 100644
--- a/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D detail_0;
diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl
index 119d55a2cd..2234f0bd89 100644
--- a/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
void calcAtmospherics(vec3 inPositionEye);
diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl
index 3a98970f8c..1650912fc8 100644
--- a/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file terrainWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D detail_0;
diff --git a/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl b/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl
index 1998fea227..9e936a3790 100644
--- a/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file underWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/environment/waterF.glsl b/indra/newview/app_settings/shaders/class2/environment/waterF.glsl
index 6ec3dc4788..e477107c0b 100644
--- a/indra/newview/app_settings/shaders/class2/environment/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/waterF.glsl
@@ -1,8 +1,8 @@
/**
* @file waterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec3 scaleSoftClip(vec3 inColor);
diff --git a/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl
index 522c990cf8..7bcdcf5d5b 100644
--- a/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl
+++ b/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl
@@ -1,8 +1,8 @@
/**
* @file waterFogF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec4 lightnorm;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl
index b372d66298..269d11a085 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl
index e6b6d85808..9ffe3c6f4a 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl
index 8f408c0436..b7181dec3a 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightShinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl
index 060ad9cb67..ee38790cc4 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightFullbrightWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl
index b3927c77a6..b96b5d75bc 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightShinyF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl
index f090306be6..0f5b2d6fcf 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightShinyWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl
index c3384ffc5d..6400b45d9e 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightSpecularV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// All lights, no specular highlights
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl
index ff3bcb5cd2..89ef510d7c 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl
@@ -1,8 +1,8 @@
/**
* @file lightV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// All lights, no specular highlights
diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl
index 086954cd47..016258bd18 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl
@@ -1,8 +1,8 @@
/**
* @file lightWaterF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl
index edd1a8a946..8cfeeb1cf9 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLightSpecular(inout vec4 specular, vec3 view, vec3 n, vec3 l, vec3 lightCol, float da);
diff --git a/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl
index 19800d96dc..a512b9d6fb 100644
--- a/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l);
diff --git a/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl b/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl
index 0d52f32a2e..c428bbb28e 100644
--- a/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl
+++ b/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl
@@ -1,8 +1,8 @@
/**
* @file shinyV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
index 92c0664a5e..8baff24dbd 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
//////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl
index 32d5ed5db2..6883edc1f1 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsHelpersV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// Output variables
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl
index e40372e819..f5c513bbdd 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// varying param funcs
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl
index 0dbf2d35e7..d0b60e918e 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericVars.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_PositionEye;
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl
index b528837a5f..4b4baf50d0 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl
@@ -1,8 +1,8 @@
/**
* @file atmosphericVars.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec3 vary_PositionEye;
diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl
index b7d7e5a2c2..2a559440fc 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl
@@ -1,8 +1,8 @@
/**
* @file WLCloudsF.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
/////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
index e149d5861f..865c0e9da8 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
@@ -1,8 +1,8 @@
/**
* @file WLCloudsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
//////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl b/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl
index 5410889ed8..ce4bd2358f 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl
@@ -1,8 +1,8 @@
/**
* @file gammaF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec4 gamma;
diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl
index bc6d6d33ff..b69a88a45f 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl
@@ -1,8 +1,8 @@
/**
* @file WLSkyF.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
/////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
index e396aea6c9..397db01378 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
@@ -1,8 +1,8 @@
/**
* @file WLSkyV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
// SKY ////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl
index b7678cac66..b30313bdc8 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl
@@ -1,8 +1,8 @@
/**
* @file transportF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
//////////////////////////////////////////////////////////
diff --git a/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl
index 04c10536e0..c85ba0c734 100644
--- a/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl
+++ b/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl
@@ -1,8 +1,8 @@
/**
* @file avatarV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl
index 66606233cd..d26b244fa3 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl
@@ -1,8 +1,8 @@
/**
* @file giDownsampleF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2DRect giLightMap;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl
index 6adcda82a3..e5f6217644 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl
@@ -1,8 +1,8 @@
/**
* @file postgiV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giF.glsl
index 1b8354dbd1..735150a78c 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giF.glsl
@@ -1,8 +1,8 @@
/**
* @file giF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl
index e0eeebf8b6..e0f4a3e4f5 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl
@@ -1,8 +1,8 @@
/**
* @file giFinalF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl
index 41a29c31bd..fbf2c17370 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl
@@ -1,8 +1,8 @@
/**
* @file giFinalV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/giV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giV.glsl
index 71dcea9628..543527612e 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/giV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/giV.glsl
@@ -1,8 +1,8 @@
/**
* @file giV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl
index 406a7e07cf..d9483bc6e4 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl
@@ -1,8 +1,8 @@
/**
* @file luminanceF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl b/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl
index db8775f024..6368def830 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl
@@ -1,8 +1,8 @@
/**
* @file giV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl
index 5e69bf36d9..51ab579e3c 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl
index 9819232fd5..0ec81dcb02 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl
@@ -1,8 +1,8 @@
/**
* @file postDeferredV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl b/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl
index 901b60af59..24fa07f251 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl
@@ -1,8 +1,8 @@
/**
* @file postgiF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl
index 6adcda82a3..e5f6217644 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl
@@ -1,8 +1,8 @@
/**
* @file postgiV.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
varying vec2 vary_fragcoord;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
index c88edd0a60..a2db247331 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl
index ad8af4780d..9d187b46e2 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl
@@ -1,8 +1,8 @@
/**
* @file softenLightF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform vec2 screen_res;
diff --git a/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl
index 5b33ea5bfe..1c1725a95c 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl
@@ -1,8 +1,8 @@
/**
* @file treeF.glsl
*
- * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
*/
uniform sampler2D diffuseMap;
diff --git a/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl
index bf5c78f3ea..2b44aedd5a 100644
--- a/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl
+++ b/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLightSpecular(inout vec4 specular, vec3 view, vec3 n, vec3 l, vec3 lightCol, float da);
diff --git a/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl
index f129a1517b..329b0c4305 100644
--- a/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl
+++ b/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl
@@ -1,8 +1,8 @@
/**
* @file sumLightsV.glsl
*
- * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
- * $License$
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * $/LicenseInfo$
*/
float calcDirectionalLight(vec3 n, vec3 l);
diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi
index b7b4c54001..49ae58d53a 100644
--- a/indra/newview/installers/windows/installer_template.nsi
+++ b/indra/newview/installers/windows/installer_template.nsi
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; secondlife setup.nsi
-;; Copyright 2004-2008, Linden Research, Inc.
+;; Copyright 2004-2010, Linden Research, Inc.
;;
;; NSIS Unicode 2.38.1 or higher required
;; http://www.scratchpaper.com/
@@ -29,6 +29,7 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog
;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the
;; application directory so we have to add a path to these include files)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+!include "%%SOURCE%%\installers\windows\lang_da.nsi"
!include "%%SOURCE%%\installers\windows\lang_de.nsi"
!include "%%SOURCE%%\installers\windows\lang_en-us.nsi"
!include "%%SOURCE%%\installers\windows\lang_es.nsi"
@@ -37,18 +38,21 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog
!include "%%SOURCE%%\installers\windows\lang_it.nsi"
!include "%%SOURCE%%\installers\windows\lang_ko.nsi"
!include "%%SOURCE%%\installers\windows\lang_nl.nsi"
+!include "%%SOURCE%%\installers\windows\lang_pl.nsi"
!include "%%SOURCE%%\installers\windows\lang_pt-br.nsi"
!include "%%SOURCE%%\installers\windows\lang_zh.nsi"
# *TODO: Move these into the language files themselves
+LangString LanguageCode ${LANG_DANISH} "da"
LangString LanguageCode ${LANG_GERMAN} "de"
-LangString LanguageCode ${LANG_ENGLISH} "en"
+Langstring LanguageCode ${LANG_ENGLISH} "en"
LangString LanguageCode ${LANG_SPANISH} "es"
LangString LanguageCode ${LANG_FRENCH} "fr"
LangString LanguageCode ${LANG_JAPANESE} "ja"
LangString LanguageCode ${LANG_ITALIAN} "it"
LangString LanguageCode ${LANG_KOREAN} "ko"
LangString LanguageCode ${LANG_DUTCH} "nl"
+LangString LanguageCode ${LANG_POLISH} "da"
LangString LanguageCode ${LANG_PORTUGUESEBR} "pt"
LangString LanguageCode ${LANG_SIMPCHINESE} "zh"
diff --git a/indra/newview/installers/windows/lang_da.nsi b/indra/newview/installers/windows/lang_da.nsi
new file mode 100644
index 0000000000..0c832e8ba9
--- /dev/null
+++ b/indra/newview/installers/windows/lang_da.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi
new file mode 100644
index 0000000000..191bae4755
--- /dev/null
+++ b/indra/newview/installers/windows/lang_pl.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/language_menu.nsi b/indra/newview/installers/windows/language_menu.nsi
index 988f452dea..fef8d40c69 100644
--- a/indra/newview/installers/windows/language_menu.nsi
+++ b/indra/newview/installers/windows/language_menu.nsi
Binary files differ
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index b0d2ca4f89..1f90e1e009 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -833,6 +833,11 @@ LLVector3d LLAgent::getPosGlobalFromAgent(const LLVector3 &pos_agent) const
return pos_agent_d + mAgentOriginGlobal;
}
+void LLAgent::sitDown()
+{
+ setControlFlags(AGENT_CONTROL_SIT_ON_GROUND);
+}
+
//-----------------------------------------------------------------------------
// resetAxes()
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 32f9b00135..3ac7699301 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -351,6 +351,8 @@ private:
//--------------------------------------------------------------------
public:
void standUp();
+ /// @brief ground-sit at agent's current position
+ void sitDown();
//--------------------------------------------------------------------
// Busy
diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp
index f6bb1b9bc9..1edc96e165 100644
--- a/indra/newview/llagentwearablesfetch.cpp
+++ b/indra/newview/llagentwearablesfetch.cpp
@@ -2,31 +2,25 @@
* @file llagentwearablesfetch.cpp
* @brief LLAgentWearblesFetch class implementation
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -121,6 +115,7 @@ void LLInitialWearablesFetch::processContents()
LLInventoryModel::cat_array_t cat_array;
LLInventoryModel::item_array_t wearable_array;
LLFindWearables is_wearable;
+ llassert_always(mComplete.size() != 0);
gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array,
LLInventoryModel::EXCLUDE_TRASH, is_wearable);
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index d0fa327cca..87de7e76bd 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -2313,12 +2313,17 @@ bool LLAppearanceMgr::updateBaseOutfit()
void LLAppearanceMgr::divvyWearablesByType(const LLInventoryModel::item_array_t& items, wearables_by_type_t& items_by_type)
{
- items_by_type.reserve(LLWearableType::WT_COUNT);
+ items_by_type.resize(LLWearableType::WT_COUNT);
if (items.empty()) return;
for (S32 i=0; i<items.count(); i++)
{
LLViewerInventoryItem *item = items.get(i);
+ if (!item)
+ {
+ LL_WARNS("Appearance") << "NULL item found" << llendl;
+ continue;
+ }
// Ignore non-wearables.
if (!item->isWearableType())
continue;
@@ -2341,6 +2346,7 @@ std::string build_order_string(LLWearableType::EType type, U32 i)
struct WearablesOrderComparator
{
+ LOG_CLASS(WearablesOrderComparator);
WearablesOrderComparator(const LLWearableType::EType type)
{
mControlSize = build_order_string(type, 0).size();
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 67c74e0343..c65d9dc9ee 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -2,31 +2,25 @@
* @file llappearancemgr.h
* @brief Manager for initiating appearance changes on the viewer
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -48,6 +42,8 @@ class LLOutfitUnLockTimer;
class LLAppearanceMgr: public LLSingleton<LLAppearanceMgr>
{
+ LOG_CLASS(LLAppearanceMgr);
+
friend class LLSingleton<LLAppearanceMgr>;
friend class LLOutfitUnLockTimer;
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index d4621db329..f140547497 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1292,6 +1292,26 @@ bool LLAppViewer::cleanup()
// workaround for DEV-35406 crash on shutdown
LLEventPumps::instance().reset();
+ if (LLFastTimerView::sAnalyzePerformance)
+ {
+ llinfos << "Analyzing performance" << llendl;
+
+ if(LLFastTimer::sLog)
+ {
+ LLFastTimerView::doAnalysis(
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance_baseline.slp"),
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance.slp"),
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance_report.csv"));
+ }
+ if(LLFastTimer::sMetricLog)
+ {
+ LLFastTimerView::doAnalysis(
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric_baseline.slp"),
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric.slp"),
+ gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric_report.csv"));
+ }
+ }
+
// remove any old breakpad minidump files from the log directory
if (! isError())
{
@@ -1630,25 +1650,6 @@ bool LLAppViewer::cleanup()
delete mFastTimerLogThread;
mFastTimerLogThread = NULL;
- if (LLFastTimerView::sAnalyzePerformance)
- {
- llinfos << "Analyzing performance" << llendl;
-
- if(LLFastTimer::sLog)
- {
- LLFastTimerView::doAnalysis(
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance_baseline.slp"),
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance.slp"),
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "performance_report.csv"));
- }
- if(LLFastTimer::sMetricLog)
- {
- LLFastTimerView::doAnalysis(
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric_baseline.slp"),
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric.slp"),
- gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "metric_report.csv"));
- }
- }
LLMetricPerformanceTester::cleanClass() ;
llinfos << "Cleaning up Media and Textures" << llendflush;
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h
index 5b010c9cfe..83faa53c28 100644
--- a/indra/newview/llavatarlist.h
+++ b/indra/newview/llavatarlist.h
@@ -2,31 +2,25 @@
* @file llavatarlist.h
* @brief Generic avatar list
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp
index 73fbe78298..967db21244 100644
--- a/indra/newview/llchatbar.cpp
+++ b/indra/newview/llchatbar.cpp
@@ -2,31 +2,25 @@
* @file llchatbar.cpp
* @brief LLChatBar class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h
index b23c097b21..d981fa4196 100644
--- a/indra/newview/llcofwearables.h
+++ b/indra/newview/llcofwearables.h
@@ -2,31 +2,25 @@
* @file llcofwearables.h
* @brief LLCOFWearables displayes wearables from the current outfit split into three lists (attachments, clothing and body parts)
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp
index e91bf33502..268d9958d1 100644
--- a/indra/newview/llcompilequeue.cpp
+++ b/indra/newview/llcompilequeue.cpp
@@ -2,31 +2,25 @@
* @file llcompilequeue.cpp
* @brief LLCompileQueueData class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp
index 3d40358ce5..654daa770e 100644
--- a/indra/newview/llcurrencyuimanager.cpp
+++ b/indra/newview/llcurrencyuimanager.cpp
@@ -2,31 +2,25 @@
* @file llcurrencyuimanager.cpp
* @brief LLCurrencyUIManager class implementation
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 68f52e04bc..efbb62011c 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -189,6 +189,11 @@ LLVOVolume* LLDrawable::getVOVolume() const
}
}
+const LLMatrix4& LLDrawable::getRenderMatrix() const
+{
+ return isRoot() ? getWorldMatrix() : getParent()->getWorldMatrix();
+}
+
BOOL LLDrawable::isLight() const
{
LLViewerObject* objectp = mVObjp;
@@ -713,8 +718,7 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update)
LLVOVolume* volume = getVOVolume();
if (volume)
{
- volume->updateRelativeXform();
- pos = volume->getRelativeXform().getTranslation();
+ pos.set(getPositionGroup().getF32ptr());
if (isStatic())
{
pos += volume->getRegion()->getOriginAgent();
diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h
index fc90bc57c4..a17e2172aa 100644
--- a/indra/newview/lldrawable.h
+++ b/indra/newview/lldrawable.h
@@ -101,7 +101,7 @@ public:
LLVOVolume* getVOVolume() const; // cast mVObjp tp LLVOVolume if OK
const LLMatrix4& getWorldMatrix() const { return mXform.getWorldMatrix(); }
- const LLMatrix4& getRenderMatrix() const { return isRoot() ? getWorldMatrix() : getParent()->getWorldMatrix(); }
+ const LLMatrix4& getRenderMatrix() const;
void setPosition(LLVector3 v) const { }
const LLVector3& getPosition() const { return mXform.getPosition(); }
const LLVector3& getWorldPosition() const { return mXform.getPositionW(); }
@@ -250,35 +250,37 @@ public:
typedef enum e_drawable_flags
{
- IN_REBUILD_Q1 = 0x00000002,
- IN_REBUILD_Q2 = 0x00000004,
- IN_LIGHT_Q = 0x00000008,
- EARLY_MOVE = 0x00000010,
- MOVE_UNDAMPED = 0x00000020,
- ON_MOVE_LIST = 0x00000040,
- USE_BACKLIGHT = 0x00000080,
- UV = 0x00000100,
- UNLIT = 0x00000200,
- LIGHT = 0x00000400,
- LIGHTING_BUILT = 0x00000800,
- REBUILD_VOLUME = 0x00001000, //volume changed LOD or parameters, or vertex buffer changed
- REBUILD_TCOORD = 0x00002000, //texture coordinates changed
- REBUILD_COLOR = 0x00004000, //color changed
- REBUILD_POSITION= 0x00010000, //vertex positions/normals changed
+ IN_REBUILD_Q1 = 0x00000001,
+ IN_REBUILD_Q2 = 0x00000002,
+ IN_LIGHT_Q = 0x00000004,
+ EARLY_MOVE = 0x00000008,
+ MOVE_UNDAMPED = 0x00000010,
+ ON_MOVE_LIST = 0x00000020,
+ USE_BACKLIGHT = 0x00000040,
+ UV = 0x00000080,
+ UNLIT = 0x00000100,
+ LIGHT = 0x00000200,
+ LIGHTING_BUILT = 0x00000400,
+ REBUILD_VOLUME = 0x00000800, //volume changed LOD or parameters, or vertex buffer changed
+ REBUILD_TCOORD = 0x00001000, //texture coordinates changed
+ REBUILD_COLOR = 0x00002000, //color changed
+ REBUILD_POSITION= 0x00004000, //vertex positions/normals changed
REBUILD_GEOMETRY= REBUILD_POSITION|REBUILD_TCOORD|REBUILD_COLOR,
REBUILD_MATERIAL= REBUILD_TCOORD|REBUILD_COLOR,
REBUILD_ALL = REBUILD_GEOMETRY|REBUILD_VOLUME,
- ON_SHIFT_LIST = 0x00100000,
- BLOCKER = 0x00400000,
- ACTIVE = 0x00800000,
- DEAD = 0x01000000,
- INVISIBLE = 0x02000000, // stay invisible until flag is cleared
- NEARBY_LIGHT = 0x04000000, // In gPipeline.mNearbyLightSet
- BUILT = 0x08000000,
- FORCE_INVISIBLE = 0x10000000, // stay invis until CLEAR_INVISIBLE is set (set of orphaned)
- CLEAR_INVISIBLE = 0x20000000, // clear FORCE_INVISIBLE next draw frame
- REBUILD_SHADOW = 0x40000000,
- HAS_ALPHA = 0x80000000,
+ REBUILD_RIGGED = 0x00008000,
+ ON_SHIFT_LIST = 0x00010000,
+ BLOCKER = 0x00020000,
+ ACTIVE = 0x00040000,
+ DEAD = 0x00080000,
+ INVISIBLE = 0x00100000, // stay invisible until flag is cleared
+ NEARBY_LIGHT = 0x00200000, // In gPipeline.mNearbyLightSet
+ BUILT = 0x00400000,
+ FORCE_INVISIBLE = 0x00800000, // stay invis until CLEAR_INVISIBLE is set (set of orphaned)
+ CLEAR_INVISIBLE = 0x01000000, // clear FORCE_INVISIBLE next draw frame
+ REBUILD_SHADOW = 0x02000000,
+ HAS_ALPHA = 0x04000000,
+ RIGGED = 0x08000000,
} EDrawableFlags;
LLXformMatrix mXform;
diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h
index ec870f59c6..c8fa32b265 100644
--- a/indra/newview/lldrawpool.h
+++ b/indra/newview/lldrawpool.h
@@ -2,31 +2,25 @@
* @file lldrawpool.h
* @brief LLDrawPool class definition
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index ccc060f3fa..5cf6082f12 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -1325,6 +1325,12 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
#if LL_MESH_ENABLED
void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace* face, const LLMeshSkinInfo* skin, LLVolume* volume, const LLVolumeFace& vol_face)
{
+ LLVector4a* weight = vol_face.mWeights;
+ if (!weight)
+ {
+ return;
+ }
+
LLVertexBuffer* buffer = face->mVertexBuffer;
U32 data_mask = 0;
@@ -1403,8 +1409,6 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace*
}
}
- LLVector4a* weight = vol_face.mWeights;
-
LLMatrix4a bind_shape_matrix;
bind_shape_matrix.loadu(skin->mBindShapeMatrix);
@@ -1422,7 +1426,7 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace*
{
F32 w = weight[j][k];
- idx[k] = (S32) floorf(w);
+ idx[k] = llclamp((S32) floorf(w), 0, 63);
wght[k] = w - floorf(w);
scale += wght[k];
}
diff --git a/indra/newview/lldrawpoolsimple.cpp b/indra/newview/lldrawpoolsimple.cpp
index 30d1ffc783..67a45e06c3 100644
--- a/indra/newview/lldrawpoolsimple.cpp
+++ b/indra/newview/lldrawpoolsimple.cpp
@@ -149,6 +149,12 @@ void LLDrawPoolSimple::render(S32 pass)
LLFastTimer t(FTM_RENDER_SIMPLE);
gPipeline.enableLightsDynamic();
renderTexture(LLRenderPass::PASS_SIMPLE, getVertexDataMask());
+
+ if (LLPipeline::sRenderDeferred)
+ { //if deferred rendering is enabled, bump faces aren't registered as simple
+ //render bump faces here as simple so bump faces will appear under water
+ renderTexture(LLRenderPass::PASS_BUMP, getVertexDataMask());
+ }
}
}
diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp
index a460a4f618..ed35546ca3 100644
--- a/indra/newview/lldynamictexture.cpp
+++ b/indra/newview/lldynamictexture.cpp
@@ -2,31 +2,25 @@
* @file lldynamictexture.cpp
* @brief Implementation of LLViewerDynamicTexture class
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp
index 8c6265fbc2..f0c2469977 100644
--- a/indra/newview/llexpandabletextbox.cpp
+++ b/indra/newview/llexpandabletextbox.cpp
@@ -2,31 +2,25 @@
* @file llexpandabletextbox.cpp
* @brief LLExpandableTextBox and related class implementations
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index 7c25d14783..3fa60e9f1e 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -198,18 +198,8 @@ void LLFace::init(LLDrawable* drawablep, LLViewerObject* objp)
mHasMedia = FALSE ;
}
-static LLFastTimer::DeclareTimer FTM_DESTROY_FACE("Destroy Face");
-static LLFastTimer::DeclareTimer FTM_DESTROY_TEXTURE("Texture");
-static LLFastTimer::DeclareTimer FTM_DESTROY_DRAWPOOL("Drawpool");
-static LLFastTimer::DeclareTimer FTM_DESTROY_TEXTURE_MATRIX("Texture Matrix");
-static LLFastTimer::DeclareTimer FTM_DESTROY_DRAW_INFO("Draw Info");
-static LLFastTimer::DeclareTimer FTM_DESTROY_ATLAS("Atlas");
-static LLFastTimer::DeclareTimer FTM_FACE_DEREF("Deref");
-
void LLFace::destroy()
{
- LLFastTimer t(FTM_DESTROY_FACE);
-
if (gDebugGL)
{
gPipeline.checkReferences(this);
@@ -217,14 +207,11 @@ void LLFace::destroy()
if(mTexture.notNull())
{
- LLFastTimer t(FTM_DESTROY_TEXTURE);
mTexture->removeFace(this) ;
}
if (mDrawPoolp)
{
- LLFastTimer t(FTM_DESTROY_DRAWPOOL);
-
#if LL_MESH_ENABLED
if (this->isState(LLFace::RIGGED) && mDrawPoolp->getType() == LLDrawPool::POOL_AVATAR)
{
@@ -241,7 +228,6 @@ void LLFace::destroy()
if (mTextureMatrix)
{
- LLFastTimer t(FTM_DESTROY_TEXTURE_MATRIX);
delete mTextureMatrix;
mTextureMatrix = NULL;
@@ -256,22 +242,12 @@ void LLFace::destroy()
}
}
- {
- LLFastTimer t(FTM_DESTROY_DRAW_INFO);
- setDrawInfo(NULL);
- }
-
- {
- LLFastTimer t(FTM_DESTROY_ATLAS);
- removeAtlas();
- }
+ setDrawInfo(NULL);
+ removeAtlas();
+
+ mDrawablep = NULL;
+ mVObjp = NULL;
- {
- LLFastTimer t(FTM_FACE_DEREF);
- mDrawablep = NULL;
- mVObjp = NULL;
- }
-
ll_aligned_free_16(mExtents);
mExtents = NULL;
}
@@ -580,8 +556,36 @@ void LLFace::renderSelected(LLViewerTexture *imagep, const LLColor4& color)
}
glColor4fv(color.mV);
- mVertexBuffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);
- mVertexBuffer->draw(LLRender::TRIANGLES, mIndicesCount, mIndicesIndex);
+
+ if (mDrawablep->isState(LLDrawable::RIGGED))
+ {
+ LLVOVolume* volume = mDrawablep->getVOVolume();
+ if (volume)
+ {
+ LLRiggedVolume* rigged = volume->getRiggedVolume();
+ if (rigged)
+ {
+ LLGLEnable offset(GL_POLYGON_OFFSET_FILL);
+ glPolygonOffset(-1.f, -1.f);
+ glMultMatrixf((F32*) volume->getRelativeXform().mMatrix);
+ const LLVolumeFace& vol_face = rigged->getVolumeFace(getTEOffset());
+ LLVertexBuffer::unbind();
+ glVertexPointer(3, GL_FLOAT, 16, vol_face.mPositions);
+ if (vol_face.mTexCoords)
+ {
+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+ glTexCoordPointer(2, GL_FLOAT, 8, vol_face.mTexCoords);
+ }
+ glDrawElements(GL_TRIANGLES, vol_face.mNumIndices, GL_UNSIGNED_SHORT, vol_face.mIndices);
+ glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ }
+ }
+ }
+ else
+ {
+ mVertexBuffer->draw(LLRender::TRIANGLES, mIndicesCount, mIndicesIndex);
+ mVertexBuffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);
+ }
gGL.popMatrix();
}
@@ -744,7 +748,7 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f,
LLMemType mt1(LLMemType::MTYPE_DRAWABLE);
//get bounding box
- if (mDrawablep->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION))
+ if (mDrawablep->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION | LLDrawable::REBUILD_RIGGED))
{
//VECTORIZE THIS
LLMatrix4a mat_vert;
@@ -930,6 +934,77 @@ LLVector2 LLFace::surfaceToTexture(LLVector2 surface_coord, LLVector3 position,
return tc;
}
+// Returns scale compared to default texgen, and face orientation as calculated
+// by planarProjection(). This is needed to match planar texgen parameters.
+void LLFace::getPlanarProjectedParams(LLQuaternion* face_rot, LLVector3* face_pos, F32* scale) const
+{
+ const LLMatrix4& vol_mat = getWorldMatrix();
+ const LLVolumeFace& vf = getViewerObject()->getVolume()->getVolumeFace(mTEOffset);
+ const LLVector4a& normal4a = vf.mNormals[0];
+ const LLVector4a& binormal4a = vf.mBinormals[0];
+ LLVector2 projected_binormal;
+ planarProjection(projected_binormal, normal4a, *vf.mCenter, binormal4a);
+ projected_binormal -= LLVector2(0.5f, 0.5f); // this normally happens in xform()
+ *scale = projected_binormal.length();
+ // rotate binormal to match what planarProjection() thinks it is,
+ // then find rotation from that:
+ projected_binormal.normalize();
+ F32 ang = acos(projected_binormal.mV[VY]);
+ ang = (projected_binormal.mV[VX] < 0.f) ? -ang : ang;
+
+ //VECTORIZE THIS
+ LLVector3 binormal(binormal4a.getF32ptr());
+ LLVector3 normal(normal4a.getF32ptr());
+ binormal.rotVec(ang, normal);
+ LLQuaternion local_rot( binormal % normal, binormal, normal );
+ *face_rot = local_rot * vol_mat.quaternion();
+ *face_pos = vol_mat.getTranslation();
+}
+
+// Returns the necessary texture transform to align this face's TE to align_to's TE
+bool LLFace::calcAlignedPlanarTE(const LLFace* align_to, LLVector2* res_st_offset,
+ LLVector2* res_st_scale, F32* res_st_rot) const
+{
+ if (!align_to)
+ {
+ return false;
+ }
+ const LLTextureEntry *orig_tep = align_to->getTextureEntry();
+ if ((orig_tep->getTexGen() != LLTextureEntry::TEX_GEN_PLANAR) ||
+ (getTextureEntry()->getTexGen() != LLTextureEntry::TEX_GEN_PLANAR))
+ {
+ return false;
+ }
+
+ LLVector3 orig_pos, this_pos;
+ LLQuaternion orig_face_rot, this_face_rot;
+ F32 orig_proj_scale, this_proj_scale;
+ align_to->getPlanarProjectedParams(&orig_face_rot, &orig_pos, &orig_proj_scale);
+ getPlanarProjectedParams(&this_face_rot, &this_pos, &this_proj_scale);
+
+ // The rotation of "this face's" texture:
+ LLQuaternion orig_st_rot = LLQuaternion(orig_tep->getRotation(), LLVector3::z_axis) * orig_face_rot;
+ LLQuaternion this_st_rot = orig_st_rot * ~this_face_rot;
+ F32 x_ang, y_ang, z_ang;
+ this_st_rot.getEulerAngles(&x_ang, &y_ang, &z_ang);
+ *res_st_rot = z_ang;
+
+ // Offset and scale of "this face's" texture:
+ LLVector3 centers_dist = (this_pos - orig_pos) * ~orig_st_rot;
+ LLVector3 st_scale(orig_tep->mScaleS, orig_tep->mScaleT, 1.f);
+ st_scale *= orig_proj_scale;
+ centers_dist.scaleVec(st_scale);
+ LLVector2 orig_st_offset(orig_tep->mOffsetS, orig_tep->mOffsetT);
+
+ *res_st_offset = orig_st_offset + (LLVector2)centers_dist;
+ res_st_offset->mV[VX] -= (S32)res_st_offset->mV[VX];
+ res_st_offset->mV[VY] -= (S32)res_st_offset->mV[VY];
+
+ st_scale /= this_proj_scale;
+ *res_st_scale = (LLVector2)st_scale;
+ return true;
+}
+
void LLFace::updateRebuildFlags()
{
if (!mDrawablep->isState(LLDrawable::REBUILD_VOLUME))
diff --git a/indra/newview/llface.h b/indra/newview/llface.h
index 6a0955d4dc..f1a86e9834 100644
--- a/indra/newview/llface.h
+++ b/indra/newview/llface.h
@@ -107,6 +107,9 @@ public:
BOOL hasGeometry() const { return mGeomCount > 0; }
LLVector3 getPositionAgent() const;
LLVector2 surfaceToTexture(LLVector2 surface_coord, LLVector3 position, LLVector3 normal);
+ void getPlanarProjectedParams(LLQuaternion* face_rot, LLVector3* face_pos, F32* scale) const;
+ bool calcAlignedPlanarTE(const LLFace* align_to, LLVector2* st_offset,
+ LLVector2* st_scale, F32* st_rot) const;
U32 getState() const { return mState; }
void setState(U32 state) { mState |= state; }
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index 8bc3b5a75f..36aee733fd 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -38,7 +38,9 @@
#include "llrect.h"
#include "llerror.h"
#include "llgl.h"
+#include "llimagepng.h"
#include "llrender.h"
+#include "llrendertarget.h"
#include "lllocalcliprect.h"
#include "llmath.h"
#include "llfontgl.h"
@@ -1016,6 +1018,364 @@ F64 LLFastTimerView::getTime(const std::string& name)
return 0.0;
}
+void saveChart(const std::string& label, const char* suffix, LLImageRaw* scratch)
+{
+ //read result back into raw image
+ glReadPixels(0, 0, 1024, 512, GL_RGB, GL_UNSIGNED_BYTE, scratch->getData());
+
+ //write results to disk
+ LLPointer<LLImagePNG> result = new LLImagePNG();
+ result->encode(scratch, 0.f);
+
+ std::string ext = result->getExtension();
+ std::string filename = llformat("%s_%s.%s", label.c_str(), suffix, ext.c_str());
+
+ std::string out_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, filename);
+ result->save(out_file);
+}
+
+template <class VEC_TYPE>
+void removeOutliers(std::vector<VEC_TYPE>& data, F32 k)
+{
+ if (data.size() < 100)
+ { //not enough samples
+ return;
+ }
+
+ VEC_TYPE Q1 = data[data.size()/4];
+ VEC_TYPE Q3 = data[data.size()-data.size()/4-1];
+
+ VEC_TYPE min = Q1-k*(Q3-Q1);
+ VEC_TYPE max = Q3+k*(Q3-Q1);
+
+ U32 i = 0;
+ while (i < data.size() && data[i] < min)
+ {
+ i++;
+ }
+
+ S32 j = data.size()-1;
+ while (j > 0 && data[j] > max)
+ {
+ j--;
+ }
+
+ if (j < data.size()-1)
+ {
+ data.erase(data.begin()+j, data.end());
+ }
+
+ if (i > 0)
+ {
+ data.erase(data.begin(), data.begin()+i);
+ }
+}
+
+//static
+void LLFastTimerView::exportCharts(const std::string& base, const std::string& target)
+{
+ //allocate render target for drawing charts
+ LLRenderTarget buffer;
+ buffer.allocate(1024,512, GL_RGB, FALSE, FALSE);
+
+
+ LLSD cur;
+
+ LLSD base_data;
+
+ { //read base log into memory
+ S32 i = 0;
+ std::ifstream is(base.c_str());
+ while (!is.eof() && LLSDSerialize::fromXML(cur, is))
+ {
+ base_data[i++] = cur;
+ }
+ is.close();
+ }
+
+ LLSD cur_data;
+ std::set<std::string> chart_names;
+
+ { //read current log into memory
+ S32 i = 0;
+ std::ifstream is(target.c_str());
+ while (!is.eof() && LLSDSerialize::fromXML(cur, is))
+ {
+ cur_data[i++] = cur;
+
+ for (LLSD::map_iterator iter = cur.beginMap(); iter != cur.endMap(); ++iter)
+ {
+ std::string label = iter->first;
+ chart_names.insert(label);
+ }
+ }
+ is.close();
+ }
+
+ //get time domain
+ LLSD::Real cur_total_time = 0.0;
+
+ for (U32 i = 0; i < cur_data.size(); ++i)
+ {
+ cur_total_time += cur_data[i]["Total"]["Time"].asReal();
+ }
+
+ LLSD::Real base_total_time = 0.0;
+ for (U32 i = 0; i < base_data.size(); ++i)
+ {
+ base_total_time += base_data[i]["Total"]["Time"].asReal();
+ }
+
+ //allocate raw scratch space
+ LLPointer<LLImageRaw> scratch = new LLImageRaw(1024, 512, 3);
+
+ gGL.pushMatrix();
+ glLoadIdentity();
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-0.05, 1.05, -0.05, 1.05, -1.0, 1.0);
+
+ //render charts
+ gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
+
+ buffer.bindTarget();
+
+ for (std::set<std::string>::iterator iter = chart_names.begin(); iter != chart_names.end(); ++iter)
+ {
+ std::string label = *iter;
+
+ LLSD::Real max_time = 0.0;
+ LLSD::Integer max_calls = 0;
+ LLSD::Real max_execution = 0.0;
+
+ std::vector<LLSD::Real> cur_execution;
+ std::vector<LLSD::Real> cur_times;
+ std::vector<LLSD::Integer> cur_calls;
+
+ std::vector<LLSD::Real> base_execution;
+ std::vector<LLSD::Real> base_times;
+ std::vector<LLSD::Integer> base_calls;
+
+ for (U32 i = 0; i < cur_data.size(); ++i)
+ {
+ LLSD::Real time = cur_data[i][label]["Time"].asReal();
+ LLSD::Integer calls = cur_data[i][label]["Calls"].asInteger();
+
+ LLSD::Real execution = 0.0;
+ if (calls > 0)
+ {
+ execution = time/calls;
+ cur_execution.push_back(execution);
+ cur_times.push_back(time);
+ }
+
+ cur_calls.push_back(calls);
+ }
+
+ for (U32 i = 0; i < base_data.size(); ++i)
+ {
+ LLSD::Real time = base_data[i][label]["Time"].asReal();
+ LLSD::Integer calls = base_data[i][label]["Calls"].asInteger();
+
+ LLSD::Real execution = 0.0;
+ if (calls > 0)
+ {
+ execution = time/calls;
+ base_execution.push_back(execution);
+ base_times.push_back(time);
+ }
+
+ base_calls.push_back(calls);
+ }
+
+ std::sort(base_calls.begin(), base_calls.end());
+ std::sort(base_times.begin(), base_times.end());
+ std::sort(base_execution.begin(), base_execution.end());
+
+ std::sort(cur_calls.begin(), cur_calls.end());
+ std::sort(cur_times.begin(), cur_times.end());
+ std::sort(cur_execution.begin(), cur_execution.end());
+
+ //remove outliers
+ const U32 OUTLIER_CUTOFF = 512;
+ if (base_times.size() > OUTLIER_CUTOFF)
+ {
+ removeOutliers(base_times, 1.f);
+ }
+
+ if (base_execution.size() > OUTLIER_CUTOFF)
+ {
+ removeOutliers(base_execution, 1.f);
+ }
+
+ if (cur_times.size() > OUTLIER_CUTOFF)
+ {
+ removeOutliers(cur_times, 1.f);
+ }
+
+ if (cur_execution.size() > OUTLIER_CUTOFF)
+ {
+ removeOutliers(cur_execution, 1.f);
+ }
+
+
+ max_time = llmax(base_times.empty() ? 0.0 : *base_times.rbegin(), cur_times.empty() ? 0.0 : *cur_times.rbegin());
+ max_calls = llmax(base_calls.empty() ? 0 : *base_calls.rbegin(), cur_calls.empty() ? 0 : *cur_calls.rbegin());
+ max_execution = llmax(base_execution.empty() ? 0.0 : *base_execution.rbegin(), cur_execution.empty() ? 0.0 : *cur_execution.rbegin());
+
+
+ LLVector3 last_p;
+
+ //====================================
+ // basic
+ //====================================
+ buffer.clear();
+
+ last_p.clear();
+
+ LLGLDisable cull(GL_CULL_FACE);
+
+ LLVector3 base_col(0, 0.7f, 0.f);
+ LLVector3 cur_col(1.f, 0.f, 0.f);
+
+ gGL.setSceneBlendType(LLRender::BT_ADD);
+
+ gGL.color3fv(base_col.mV);
+ for (U32 i = 0; i < base_times.size(); ++i)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ last_p.set((F32)i/(F32) base_times.size(), base_times[i]/max_time, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.end();
+ }
+
+ gGL.flush();
+
+
+ last_p.clear();
+ {
+ LLGLEnable blend(GL_BLEND);
+
+ gGL.color3fv(cur_col.mV);
+ for (U32 i = 0; i < cur_times.size(); ++i)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ last_p.set((F32) i / (F32) cur_times.size(), cur_times[i]/max_time, 0.f);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.end();
+ }
+
+ gGL.flush();
+ }
+
+ saveChart(label, "time", scratch);
+
+ //======================================
+ // calls
+ //======================================
+ buffer.clear();
+
+ last_p.clear();
+
+ gGL.color3fv(base_col.mV);
+ for (U32 i = 0; i < base_calls.size(); ++i)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ last_p.set((F32) i / (F32) base_calls.size(), (F32)base_calls[i]/max_calls, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.end();
+ }
+
+ gGL.flush();
+
+ {
+ LLGLEnable blend(GL_BLEND);
+ gGL.color3fv(cur_col.mV);
+ last_p.clear();
+
+ for (U32 i = 0; i < cur_calls.size(); ++i)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ last_p.set((F32) i / (F32) cur_calls.size(), (F32) cur_calls[i]/max_calls, 0.f);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.end();
+
+ }
+
+ gGL.flush();
+ }
+
+ saveChart(label, "calls", scratch);
+
+ //======================================
+ // execution
+ //======================================
+ buffer.clear();
+
+
+ gGL.color3fv(base_col.mV);
+ U32 count = 0;
+ U32 total_count = base_execution.size();
+
+ last_p.clear();
+
+ for (std::vector<LLSD::Real>::iterator iter = base_execution.begin(); iter != base_execution.end(); ++iter)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ last_p.set((F32)count/(F32)total_count, *iter/max_execution, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.end();
+ count++;
+ }
+
+ last_p.clear();
+
+ {
+ LLGLEnable blend(GL_BLEND);
+ gGL.color3fv(cur_col.mV);
+ count = 0;
+ total_count = cur_execution.size();
+
+ for (std::vector<LLSD::Real>::iterator iter = cur_execution.begin(); iter != cur_execution.end(); ++iter)
+ {
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ last_p.set((F32)count/(F32)total_count, *iter/max_execution, 0.f);
+ gGL.vertex3f(last_p.mV[0], 0.f, 0.f);
+ gGL.vertex3fv(last_p.mV);
+ gGL.end();
+ count++;
+ }
+
+ gGL.flush();
+ }
+
+ saveChart(label, "execution", scratch);
+ }
+
+ buffer.flush();
+
+ gGL.popMatrix();
+ glMatrixMode(GL_MODELVIEW);
+ gGL.popMatrix();
+}
+
//static
LLSD LLFastTimerView::analyzePerformanceLogDefault(std::istream& is)
{
@@ -1132,7 +1492,8 @@ void LLFastTimerView::doAnalysisDefault(std::string baseline, std::string target
base[label]["Samples"].asInteger());
}
-
+ exportCharts(baseline, target);
+
os.flush();
os.close();
}
diff --git a/indra/newview/llfasttimerview.h b/indra/newview/llfasttimerview.h
index ac06990913..e604a1f84d 100644
--- a/indra/newview/llfasttimerview.h
+++ b/indra/newview/llfasttimerview.h
@@ -50,6 +50,7 @@ private:
static void doAnalysisMetrics(std::string baseline, std::string target, std::string output) ;
static LLSD analyzeMetricPerformanceLog(std::istream& is) ;
static LLSD analyzePerformanceLogDefault(std::istream& is) ;
+ static void exportCharts(const std::string& base, const std::string& target);
public:
diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp
index 310eb144fa..61be8ce77d 100644
--- a/indra/newview/llfloateranimpreview.cpp
+++ b/indra/newview/llfloateranimpreview.cpp
@@ -2,31 +2,25 @@
* @file llfloateranimpreview.cpp
* @brief LLFloaterAnimPreview class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h
index 24d7a93a17..f1ffb6547f 100644
--- a/indra/newview/llfloateranimpreview.h
+++ b/indra/newview/llfloateranimpreview.h
@@ -2,31 +2,25 @@
* @file llfloateranimpreview.h
* @brief LLFloaterAnimPreview class definition
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp
index b0265e6cd2..5cab770c42 100644
--- a/indra/newview/llfloaterauction.cpp
+++ b/indra/newview/llfloaterauction.cpp
@@ -3,31 +3,25 @@
* @author James Cook, Ian Wilkes
* @brief Implementation of the auction floater.
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp
index 7dbf6ebd5b..9391c761b7 100644
--- a/indra/newview/llfloateravatarpicker.cpp
+++ b/indra/newview/llfloateravatarpicker.cpp
@@ -1,31 +1,25 @@
/**
* @file llfloateravatarpicker.cpp
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterbuy.cpp b/indra/newview/llfloaterbuy.cpp
index eee4310ec7..32add57737 100644
--- a/indra/newview/llfloaterbuy.cpp
+++ b/indra/newview/llfloaterbuy.cpp
@@ -3,31 +3,25 @@
* @author James Cook
* @brief LLFloaterBuy class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterbuycontents.cpp b/indra/newview/llfloaterbuycontents.cpp
index 76ec5da303..77fb5590df 100644
--- a/indra/newview/llfloaterbuycontents.cpp
+++ b/indra/newview/llfloaterbuycontents.cpp
@@ -3,31 +3,25 @@
* @author James Cook
* @brief LLFloaterBuyContents class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp
index e8e0503f48..58c79fdf15 100644
--- a/indra/newview/llfloaterbuycurrency.cpp
+++ b/indra/newview/llfloaterbuycurrency.cpp
@@ -2,31 +2,25 @@
* @file llfloaterbuycurrency.cpp
* @brief LLFloaterBuyCurrency class implementation
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 455cce5e56..69824b3843 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -2,31 +2,25 @@
* @file llfloaterbuyland.cpp
* @brief LLFloaterBuyLand class implementation
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp
index 6922c515cd..89e745f651 100644
--- a/indra/newview/llfloatercolorpicker.cpp
+++ b/indra/newview/llfloatercolorpicker.cpp
@@ -2,31 +2,25 @@
* @file llfloatercolorpicker.cpp
* @brief Generic system color picker
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterdaycycle.cpp b/indra/newview/llfloaterdaycycle.cpp
index 50ea2765e7..aacb543267 100644
--- a/indra/newview/llfloaterdaycycle.cpp
+++ b/indra/newview/llfloaterdaycycle.cpp
@@ -2,31 +2,25 @@
* @file llfloaterdaycycle.cpp
* @brief LLFloaterDayCycle class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterenvsettings.cpp b/indra/newview/llfloaterenvsettings.cpp
index eb344b91d3..337d4934e1 100644
--- a/indra/newview/llfloaterenvsettings.cpp
+++ b/indra/newview/llfloaterenvsettings.cpp
@@ -2,31 +2,25 @@
* @file llfloaterenvsettings.cpp
* @brief LLFloaterEnvSettings class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp
index 5fe0297b07..ee2ba2ba54 100644
--- a/indra/newview/llfloaterevent.cpp
+++ b/indra/newview/llfloaterevent.cpp
@@ -2,31 +2,25 @@
* @file llfloaterevent.cpp
* @brief Display for events in the finder
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatergodtools.cpp b/indra/newview/llfloatergodtools.cpp
index 61f5098af1..f95112a8ab 100644
--- a/indra/newview/llfloatergodtools.cpp
+++ b/indra/newview/llfloatergodtools.cpp
@@ -2,31 +2,25 @@
* @file llfloatergodtools.cpp
* @brief The on-screen rectangle with tool options.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatergroups.cpp b/indra/newview/llfloatergroups.cpp
index 43f158658a..3cd2154531 100644
--- a/indra/newview/llfloatergroups.cpp
+++ b/indra/newview/llfloatergroups.cpp
@@ -2,31 +2,25 @@
* @file llfloatergroups.cpp
* @brief LLPanelGroups class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp
index a97e00122a..2985626bd7 100644
--- a/indra/newview/llfloaterhardwaresettings.cpp
+++ b/indra/newview/llfloaterhardwaresettings.cpp
@@ -2,31 +2,25 @@
* @file llfloaterhardwaresettings.cpp
* @brief Menu of all the different graphics hardware settings
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterhelpbrowser.cpp b/indra/newview/llfloaterhelpbrowser.cpp
index 6aa1e92438..cec98e9992 100644
--- a/indra/newview/llfloaterhelpbrowser.cpp
+++ b/indra/newview/llfloaterhelpbrowser.cpp
@@ -2,31 +2,25 @@
* @file llfloaterhelpbrowser.cpp
* @brief HTML Help floater - uses embedded web browser control
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index e97849ae8e..d360d5db55 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -2,31 +2,25 @@
* @file llfloaterimagepreview.cpp
* @brief LLFloaterImagePreview class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 4d4681a68d..8e7f7e083c 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -2,31 +2,25 @@
* @file llfloaterinspect.cpp
* @brief Floater for object inspection tool
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp
index 9c7957603e..e1994bb8bc 100644
--- a/indra/newview/llfloaterjoystick.cpp
+++ b/indra/newview/llfloaterjoystick.cpp
@@ -2,31 +2,25 @@
* @file llfloaterjoystick.cpp
* @brief Joystick preferences panel
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
index 9a2c34b40f..a92273521f 100644
--- a/indra/newview/llfloaterlagmeter.cpp
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -2,31 +2,25 @@
* @file llfloaterlagmeter.cpp
* @brief The "Lag-o-Meter" floater used to tell users what is causing lag.
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h
index 130f52361a..309e0ee4e1 100644
--- a/indra/newview/llfloaterland.h
+++ b/indra/newview/llfloaterland.h
@@ -3,31 +3,25 @@
* @author James Cook
* @brief "About Land" floater, allowing display and editing of land parcel properties.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterlandholdings.cpp b/indra/newview/llfloaterlandholdings.cpp
index 3c8ee6eb9e..31f20fbd29 100644
--- a/indra/newview/llfloaterlandholdings.cpp
+++ b/indra/newview/llfloaterlandholdings.cpp
@@ -2,31 +2,25 @@
* @file llfloaterlandholdings.cpp
* @brief "My Land" floater showing all your land parcels.
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp
index 5405de2f9a..434d0681ab 100644
--- a/indra/newview/llfloatermediabrowser.cpp
+++ b/indra/newview/llfloatermediabrowser.cpp
@@ -2,31 +2,25 @@
* @file llfloatermediabrowser.cpp
* @brief media browser floater - uses embedded media browser control
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatermemleak.cpp b/indra/newview/llfloatermemleak.cpp
index 51843c6833..58931d112e 100644
--- a/indra/newview/llfloatermemleak.cpp
+++ b/indra/newview/llfloatermemleak.cpp
@@ -2,31 +2,25 @@
* @file llfloatermemleak.cpp
* @brief LLFloatermemleak class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 5dd983d818..3ef892f739 100644
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -269,8 +269,6 @@ BOOL LLFloaterModelPreview::postBuild()
childSetCommitCallback("show edges", onShowEdgesCommit, this);
childSetCommitCallback("auto fill", onAutoFillCommit, this);
- childSetCommitCallback("explode", onExplodeCommit, this);
-
childSetTextArg("status", "[STATUS]", getString("status_idle"));
for (S32 lod = 0; lod < LLModel::NUM_LODS; ++lod)
@@ -535,7 +533,7 @@ void LLFloaterModelPreview::onShowEdgesCommit(LLUICtrl* ctrl, void* userdata)
//static
void LLFloaterModelPreview::onExplodeCommit(LLUICtrl* ctrl, void* userdata)
{
- LLFloaterModelPreview* fp = (LLFloaterModelPreview*) userdata;
+ LLFloaterModelPreview* fp = LLFloaterModelPreview::sInstance;
fp->mModelPreview->refresh();
}
@@ -557,6 +555,8 @@ void LLFloaterModelPreview::draw()
LLFloater::draw();
LLRect r = getRect();
+ mModelPreview->update();
+
if (!mLoading)
{
childSetTextArg("status", "[STATUS]", getString("status_idle"));
@@ -776,7 +776,7 @@ void LLFloaterModelPreview::showDecompFloater()
mDecompFloater = new LLPhysicsDecompFloater(key);
S32 left = 20;
- S32 right = 270;
+ S32 right = 320;
S32 cur_y = 30;
@@ -837,15 +837,19 @@ void LLFloaterModelPreview::showDecompFloater()
continue;
}
+ std::string name(param[i].mName ? param[i].mName : "");
+ std::string description(param[i].mDescription ? param[i].mDescription : "");
+
if (param[i].mType == LLCDParam::LLCD_FLOAT)
{
LLSliderCtrl::Params p;
- p.name(param[i].mName);
- p.label(param[i].mName);
+ p.name(name);
+ p.label(name);
p.rect(LLRect(left, cur_y, right, cur_y-20));
p.min_value(param[i].mDetails.mRange.mLow.mFloat);
p.max_value(param[i].mDetails.mRange.mHigh.mFloat);
p.increment(param[i].mDetails.mRange.mDelta.mFloat);
+ p.tool_tip(description);
p.decimal_digits(3);
p.initial_value(param[i].mDefault.mFloat);
LLSliderCtrl* slider = LLUICtrlFactory::create<LLSliderCtrl>(p);
@@ -856,12 +860,13 @@ void LLFloaterModelPreview::showDecompFloater()
else if (param[i].mType == LLCDParam::LLCD_INTEGER)
{
LLSliderCtrl::Params p;
- p.name(param[i].mName);
- p.label(param[i].mName);
+ p.name(name);
+ p.label(name);
p.rect(LLRect(left, cur_y, right, cur_y-20));
p.min_value(param[i].mDetails.mRange.mLow.mIntOrEnumValue);
p.max_value(param[i].mDetails.mRange.mHigh.mIntOrEnumValue);
p.increment(param[i].mDetails.mRange.mDelta.mIntOrEnumValue);
+ p.tool_tip(description);
p.initial_value(param[i].mDefault.mIntOrEnumValue);
LLSliderCtrl* slider = LLUICtrlFactory::create<LLSliderCtrl>(p);
slider->setCommitCallback(onPhysicsParamCommit, (void*) &param[i]);
@@ -872,9 +877,10 @@ void LLFloaterModelPreview::showDecompFloater()
{
LLCheckBoxCtrl::Params p;
p.rect(LLRect(left, cur_y, right, cur_y-20));
- p.name(param[i].mName);
- p.label(param[i].mName);
+ p.name(name);
+ p.label(name);
p.initial_value(param[i].mDefault.mBool);
+ p.tool_tip(description);
LLCheckBoxCtrl* check_box = LLUICtrlFactory::create<LLCheckBoxCtrl>(p);
check_box->setCommitCallback(onPhysicsParamCommit, (void*) &param[i]);
mDecompFloater->addChild(check_box);
@@ -882,24 +888,61 @@ void LLFloaterModelPreview::showDecompFloater()
}
else if (param[i].mType == LLCDParam::LLCD_ENUM)
{
- LLComboBox::Params p;
- p.rect(LLRect(left, cur_y, right/3, cur_y-20));
- p.name(param[i].mName);
- p.label(param[i].mName);
- LLComboBox* combo_box = LLUICtrlFactory::create<LLComboBox>(p);
- for (S32 k = 0; k < param[i].mDetails.mEnumValues.mNumEnums; ++k)
- {
- combo_box->add(param[i].mDetails.mEnumValues.mEnumsArray[k].mName,
- LLSD::Integer(param[i].mDetails.mEnumValues.mEnumsArray[k].mValue));
+ S32 cur_x = left;
+
+ { //add label
+ LLTextBox::Params p;
+ const LLFontGL* font = (LLFontGL*) p.font();
+
+ p.rect(LLRect(left, cur_y, left+font->getWidth(name), cur_y-20));
+ p.name(name);
+ p.label(name);
+ p.initial_value(name);
+ LLTextBox* text_box = LLUICtrlFactory::create<LLTextBox>(p);
+ mDecompFloater->addChild(text_box);
+ cur_x += text_box->getRect().getWidth();
+ }
+
+ { //add combo_box
+ LLComboBox::Params p;
+ p.rect(LLRect(cur_x, cur_y, right-right/4, cur_y-20));
+ p.name(name);
+ p.label(name);
+ p.tool_tip(description);
+
+ LLComboBox* combo_box = LLUICtrlFactory::create<LLComboBox>(p);
+ for (S32 k = 0; k < param[i].mDetails.mEnumValues.mNumEnums; ++k)
+ {
+ combo_box->add(param[i].mDetails.mEnumValues.mEnumsArray[k].mName,
+ LLSD::Integer(param[i].mDetails.mEnumValues.mEnumsArray[k].mValue));
+ }
+ combo_box->setValue(param[i].mDefault.mIntOrEnumValue);
+ combo_box->setCommitCallback(onPhysicsParamCommit, (void*) &param[i]);
+ mDecompFloater->addChild(combo_box);
+ cur_y += 30;
}
- combo_box->setValue(param[i].mDefault.mIntOrEnumValue);
- combo_box->setCommitCallback(onPhysicsParamCommit, (void*) &param[i]);
- mDecompFloater->addChild(combo_box);
- cur_y += 30;
}
}
}
+ cur_y += 30;
+ //explode slider
+ {
+ LLSliderCtrl::Params p;
+ p.initial_value(0);
+ p.min_value(0);
+ p.max_value(1);
+ p.decimal_digits(2);
+ p.increment(0.05f);
+ p.label("Explode");
+ p.name("explode");
+ p.rect(LLRect(left, cur_y, right, cur_y-20));
+ LLSliderCtrl* slider = LLUICtrlFactory::create<LLSliderCtrl>(p);
+
+ mDecompFloater->addChild(slider);
+ cur_y += 30;
+ }
+
//mesh render checkbox
{
LLCheckBoxCtrl::Params p;
@@ -926,15 +969,16 @@ void LLFloaterModelPreview::showDecompFloater()
LLTextBox::Params p;
p.label("Model");
p.name("model label");
- p.rect(LLRect(right/3, cur_y, right/2, cur_y-20));
+ p.rect(LLRect(right/2, cur_y, right-right/3, cur_y-20));
LLTextBox* text_box = LLUICtrlFactory::create<LLTextBox>(p);
text_box->setValue("Model");
mDecompFloater->addChild(text_box);
}
+
{
//add submesh combo box
LLComboBox::Params p;
- p.rect(LLRect(right/2, cur_y, right, cur_y-20));
+ p.rect(LLRect(right-right/2+p.font()->getWidth("Model"), cur_y, right, cur_y-20));
p.name("model");
LLComboBox* combo_box = LLUICtrlFactory::create<LLComboBox>(p);
for (S32 i = 0; i < mModelPreview->mBaseModel.size(); ++i)
@@ -954,6 +998,8 @@ void LLFloaterModelPreview::showDecompFloater()
mDecompFloater->setRect(LLRect(10, cur_y+20, right+20, 10));
}
+ mDecompFloater->childSetCommitCallback("explode", LLFloaterModelPreview::onExplodeCommit, this);
+
mDecompFloater->openFloater();
}
@@ -1703,7 +1749,7 @@ LLImportMaterial LLModelLoader::profileToMaterial(domProfile_COMMON* material)
std::string filename = cdom::uriToNativePath(init->getValue().str());
mat.mDiffuseMap = LLViewerTextureManager::getFetchedTextureFromUrl("file://" + filename, TRUE, LLViewerTexture::BOOST_PREVIEW);
- mat.mDiffuseMap->setLoadedCallback(LLModelPreview::textureLoadedCallback, 0, TRUE, FALSE, this->mPreview, NULL, NULL);
+ mat.mDiffuseMap->setLoadedCallback(LLModelPreview::textureLoadedCallback, 0, TRUE, FALSE, this->mPreview, NULL, FALSE);
mat.mDiffuseMap->forceToSaveRawImage();
mat.mDiffuseMapFilename = filename;
@@ -1813,6 +1859,7 @@ LLModelPreview::LLModelPreview(S32 width, S32 height, LLFloaterModelPreview* fmp
mTextureName = 0;
mPreviewLOD = 3;
mModelLoader = NULL;
+ mDirty = false;
mLODMode[0] = 0;
@@ -1881,7 +1928,7 @@ U32 LLModelPreview::calcResourceCost()
mFMP->childSetTextArg(info_name[LLModel::LOD_PHYSICS], "[POINTS]", llformat("%d",num_points));
updateStatusMessages();
-
+
return cost;
}
@@ -2024,8 +2071,8 @@ void LLModelPreview::loadModelCallback(S32 lod)
clearIncompatible(lod);
- mResourceCost = calcResourceCost();
-
+ mDirty = true;
+
mPreviewTarget = (mModelLoader->mExtents[0] + mModelLoader->mExtents[1]) * 0.5f;
mPreviewScale = (mModelLoader->mExtents[1] - mModelLoader->mExtents[0]) * 0.5f;
setPreviewTarget(mPreviewScale.magVec()*2.f);
@@ -2556,6 +2603,9 @@ void LLModelPreview::genLODs(S32 which_lod)
target_model->mInvBindMatrix = base->mInvBindMatrix;
target_model->mBindShapeMatrix = base->mBindShapeMatrix;
+ //copy material list
+ target_model->mMaterialList = base->mMaterialList;
+
if (!validate_model(target_model))
{
llerrs << "Invalid model generated when creating LODs" << llendl;
@@ -2656,8 +2706,8 @@ void LLModelPreview::updateStatusMessages()
const F32 ratio = 0.5f;
const S32 required_verts = 128;
- F32 scaler = powf(0.5f, lod_high-lod);
- S32 max_verts = verts[lod_high][i]*scaler;
+ F32 scaler = powf(ratio, lod_high-lod);
+ S32 max_verts = (S32)(verts[lod_high][i]*scaler);
if (max_verts > required_verts)
{ //some model in this slot might have more than 128 vertices
@@ -2691,8 +2741,8 @@ void LLModelPreview::updateStatusMessages()
{
const F32 ratio = 0.5f;
- F32 scaler = powf(0.5f, lod_high-lod);
- S32 max_verts = verts[lod_high][i]*scaler;
+ F32 scaler = powf(ratio, lod_high-lod);
+ S32 max_verts = (S32)(verts[lod_high][i]*scaler);
if (verts[lod][i] > max_verts)
{
@@ -2864,6 +2914,15 @@ void LLModelPreview::genBuffers(S32 lod)
}
}
+void LLModelPreview::update()
+{
+ if (mDirty)
+ {
+ mDirty = false;
+ mResourceCost = calcResourceCost();
+ }
+}
+
//-----------------------------------------------------------------------------
// render()
//-----------------------------------------------------------------------------
@@ -2910,7 +2969,7 @@ BOOL LLModelPreview::render()
mFMP->childSetEnabled("consolidate", !avatar_preview);
- F32 explode = mFMP->childGetValue("explode").asReal();
+ F32 explode = mFMP->mDecompFloater ? mFMP->mDecompFloater->childGetValue("explode").asReal() : 0.f;
glMatrixMode(GL_PROJECTION);
gGL.popMatrix();
@@ -3353,7 +3412,7 @@ void LLFloaterModelPreview::onModelDecompositionComplete(LLModel* model, std::ve
{
sInstance->mModelPreview->mPhysicsMesh[model] = physics_mesh;
- sInstance->mModelPreview->mResourceCost = sInstance->mModelPreview->calcResourceCost();
+ sInstance->mModelPreview->mDirty = true;
}
}
diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h
index 1f9de2e2b9..97e681a6a8 100644
--- a/indra/newview/llfloatermodelpreview.h
+++ b/indra/newview/llfloatermodelpreview.h
@@ -118,6 +118,7 @@ class LLModelPreview : public LLViewerDynamicTexture, public LLMutex
void setTexture(U32 name) { mTextureName = name; }
BOOL render();
+ void update();
void genBuffers(S32 lod);
void refresh();
void rotate(F32 yaw_radians, F32 pitch_radians);
@@ -145,6 +146,7 @@ class LLModelPreview : public LLViewerDynamicTexture, public LLMutex
LLFloaterModelPreview* mFMP;
BOOL mNeedsUpdate;
+ bool mDirty;
U32 mTextureName;
F32 mCameraDistance;
F32 mCameraYaw;
diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp
index dc9b883fb2..ae95d4392a 100644
--- a/indra/newview/llfloaternamedesc.cpp
+++ b/indra/newview/llfloaternamedesc.cpp
@@ -2,31 +2,25 @@
* @file llfloaternamedesc.cpp
* @brief LLFloaterNameDesc class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp
index a2a3d300e7..d6f6ba9e5b 100644
--- a/indra/newview/llfloateropenobject.cpp
+++ b/indra/newview/llfloateropenobject.cpp
@@ -2,31 +2,25 @@
* @file llfloateropenobject.cpp
* @brief LLFloaterOpenObject class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp
index c1640e2609..151a76285b 100644
--- a/indra/newview/llfloaterpay.cpp
+++ b/indra/newview/llfloaterpay.cpp
@@ -3,31 +3,25 @@
* @author Aaron Brashears, Kelly Washington, James Cook
* @brief Implementation of the LLFloaterPay class.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterpostcard.cpp b/indra/newview/llfloaterpostcard.cpp
index dc4553ef96..bcdcd50288 100644
--- a/indra/newview/llfloaterpostcard.cpp
+++ b/indra/newview/llfloaterpostcard.cpp
@@ -2,31 +2,25 @@
* @file llfloaterpostcard.cpp
* @brief Postcard send floater, allows setting name, e-mail address, etc.
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterpostprocess.cpp b/indra/newview/llfloaterpostprocess.cpp
index 06c0a94afa..7f27caf68f 100644
--- a/indra/newview/llfloaterpostprocess.cpp
+++ b/indra/newview/llfloaterpostprocess.cpp
@@ -2,31 +2,25 @@
* @file llfloaterpostprocess.cpp
* @brief LLFloaterPostProcess class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp
index b6a98bdada..e4e4713dbc 100644
--- a/indra/newview/llfloaterproperties.cpp
+++ b/indra/newview/llfloaterproperties.cpp
@@ -2,31 +2,25 @@
* @file llfloaterproperties.cpp
* @brief A floater which shows an inventory item's properties.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h
index 135bf7102f..2393c74c45 100644
--- a/indra/newview/llfloaterregioninfo.h
+++ b/indra/newview/llfloaterregioninfo.h
@@ -3,31 +3,25 @@
* @author Aaron Brashears
* @brief Declaration of the region info and controls floater and panels.
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp
index 230d4be85b..97f192a708 100644
--- a/indra/newview/llfloaterreporter.cpp
+++ b/indra/newview/llfloaterreporter.cpp
@@ -2,31 +2,25 @@
* @file llfloaterreporter.cpp
* @brief Abuse reports.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp
index e0f646349e..571f26e09f 100644
--- a/indra/newview/llfloaterscriptlimits.cpp
+++ b/indra/newview/llfloaterscriptlimits.cpp
@@ -3,31 +3,25 @@
* @author Gabriel Lee
* @brief Implementation of the region info and controls floater and panels.
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 381b2dee33..7661e50eba 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -3,31 +3,25 @@
* @author Martin Reddy
* @brief Search floater - uses an embedded web browser control
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp
index b10a297bb8..3d87904dbe 100644
--- a/indra/newview/llfloatersellland.cpp
+++ b/indra/newview/llfloatersellland.cpp
@@ -1,31 +1,25 @@
/**
* @file llfloatersellland.cpp
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp
index 77e0e4e677..41a05055fe 100644
--- a/indra/newview/llfloatersettingsdebug.cpp
+++ b/indra/newview/llfloatersettingsdebug.cpp
@@ -2,31 +2,25 @@
* @file llfloatersettingsdebug.cpp
* @brief floater for debugging internal viewer settings
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp
index 6bd1e70f13..d945f1a2de 100644
--- a/indra/newview/llfloatertelehub.cpp
+++ b/indra/newview/llfloatertelehub.cpp
@@ -3,31 +3,25 @@
* @author James Cook
* @brief LLFloaterTelehub class implementation
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index 5472531fa7..653f838779 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -1007,7 +1007,7 @@ void LLFloaterTools::onClickGridOptions()
S32 LLFloaterTools::calcRenderCost()
{
S32 cost = 0;
- std::set<LLUUID> textures;
+ LLVOVolume::texture_cost_t textures;
for (LLObjectSelection::iterator selection_iter = LLSelectMgr::getInstance()->getSelection()->begin();
selection_iter != LLSelectMgr::getInstance()->getSelection()->end();
@@ -1016,11 +1016,17 @@ S32 LLFloaterTools::calcRenderCost()
LLSelectNode *select_node = *selection_iter;
if (select_node)
{
- LLVOVolume *viewer_volume = (LLVOVolume*)select_node->getObject();
- if (viewer_volume)
+ LLViewerObject *vobj = select_node->getObject();
+ if (vobj->getVolume())
{
- cost += viewer_volume->getRenderCost(textures);
- cost += textures.size() * LLVOVolume::ARC_TEXTURE_COST;
+ LLVOVolume* volume = (LLVOVolume*) vobj;
+
+ cost += volume->getRenderCost(textures);
+ for (LLVOVolume::texture_cost_t::iterator iter = textures.begin(); iter != textures.end(); ++iter)
+ {
+ // add the cost of each individual texture in the linkset
+ cost += iter->second;
+ }
textures.clear();
}
}
diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp
index d80f26657d..a984dd1d51 100644
--- a/indra/newview/llfloatertopobjects.cpp
+++ b/indra/newview/llfloatertopobjects.cpp
@@ -2,31 +2,25 @@
* @file llfloatertopobjects.cpp
* @brief Shows top colliders, top scripts, etc.
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp
index b4c6f7da9e..c5df7e16e9 100644
--- a/indra/newview/llfloatertos.cpp
+++ b/indra/newview/llfloatertos.cpp
@@ -2,31 +2,25 @@
* @file llfloatertos.cpp
* @brief Terms of Service Agreement dialog
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index 41f4580495..333e44e077 100644
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -2,31 +2,25 @@
* @file llfloateruipreview.cpp
* @brief Tool for previewing and editing floaters, plus localization tool integration
*
- * $LicenseInfo:firstyear=2008&license=viewergpl$
- *
- * Copyright (c) 2008-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp
index fa871d84a6..40f6d07286 100644
--- a/indra/newview/llfloaterurlentry.cpp
+++ b/indra/newview/llfloaterurlentry.cpp
@@ -2,31 +2,25 @@
* @file llfloaterurlentry.cpp
* @brief LLFloaterURLEntry class implementation
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatervoicedevicesettings.cpp b/indra/newview/llfloatervoicedevicesettings.cpp
index 036ef32016..34277001ee 100644
--- a/indra/newview/llfloatervoicedevicesettings.cpp
+++ b/indra/newview/llfloatervoicedevicesettings.cpp
@@ -3,31 +3,25 @@
* @author Richard Nelson
* @brief Voice communication set-up
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloatervoiceeffect.cpp b/indra/newview/llfloatervoiceeffect.cpp
index 160c15bc34..2a3950f9b1 100644
--- a/indra/newview/llfloatervoiceeffect.cpp
+++ b/indra/newview/llfloatervoiceeffect.cpp
@@ -3,31 +3,25 @@
* @author Aimee
* @brief Selection and preview of voice effect.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterwater.cpp b/indra/newview/llfloaterwater.cpp
index 0f0d85cacb..9c3f943013 100644
--- a/indra/newview/llfloaterwater.cpp
+++ b/indra/newview/llfloaterwater.cpp
@@ -2,31 +2,25 @@
* @file llfloaterwater.cpp
* @brief LLFloaterWater class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterwindlight.cpp b/indra/newview/llfloaterwindlight.cpp
index c8ea6e406b..7131cb5de3 100644
--- a/indra/newview/llfloaterwindlight.cpp
+++ b/indra/newview/llfloaterwindlight.cpp
@@ -2,31 +2,25 @@
* @file llfloaterwindlight.cpp
* @brief LLFloaterWindLight class definition
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 7fd073ea67..3afa31b873 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -3,31 +3,25 @@
* @author James Cook, Tom Yedwab
* @brief LLFloaterWorldMap class implementation
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index 21004fdb16..980f9a34a6 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -2,31 +2,25 @@
* @file llfolderview.h
* @brief Definition of the folder view collection of classes.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp
index 2f4dae0af8..2f856abe8f 100644
--- a/indra/newview/llfriendcard.cpp
+++ b/indra/newview/llfriendcard.cpp
@@ -2,31 +2,25 @@
* @file llfriendcard.cpp
* @brief Implementation of classes to process Friends Cards
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index 125936b9c7..4f9d51ce58 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -2,31 +2,25 @@
* @file llgrouplist.cpp
* @brief List of the groups the agent belongs to.
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 41e505cc58..8adc54df8f 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -3083,7 +3083,9 @@ public:
std::string saved;
if(offline == IM_OFFLINE)
{
- saved = llformat("(Saved %s) ", formatted_time(timestamp).c_str());
+ LLStringUtil::format_map_t args;
+ args["[LONG_TIMESTAMP]"] = formatted_time(timestamp);
+ saved = LLTrans::getString("Saved_message", args);
}
std::string buffer = saved + message;
diff --git a/indra/newview/llinspectgroup.cpp b/indra/newview/llinspectgroup.cpp
index f054d61262..214b135bc1 100644
--- a/indra/newview/llinspectgroup.cpp
+++ b/indra/newview/llinspectgroup.cpp
@@ -1,31 +1,25 @@
/**
* @file llinspectgroup.cpp
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h
index 833ff3bfcd..cfe1747fd4 100644
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -3,31 +3,25 @@
* @brief Miscellaneous inventory-related functions and classes
* class definition
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp
index b1f5b3be2f..1ea91103f1 100644
--- a/indra/newview/llinventorylistitem.cpp
+++ b/indra/newview/llinventorylistitem.cpp
@@ -5,30 +5,25 @@
* Class LLPanelInventoryListItemBase displays inventory item as an element
* of LLInventoryItemsList.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llinventorylistitem.h b/indra/newview/llinventorylistitem.h
index 3915908a20..b1ef6c74ee 100644
--- a/indra/newview/llinventorylistitem.h
+++ b/indra/newview/llinventorylistitem.h
@@ -5,30 +5,25 @@
* Class LLPanelInventoryListItemBase displays inventory item as an element
* of LLInventoryItemsList.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 5a952bb6a8..f34aa8cba4 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -507,7 +507,7 @@ void LLInventoryModel::collectDescendentsIf(const LLUUID& id,
for(S32 i = 0; i < count; ++i)
{
item = item_array->get(i);
- if (item->getActualType() == LLAssetType::AT_LINK_FOLDER)
+ if (item && item->getActualType() == LLAssetType::AT_LINK_FOLDER)
{
LLViewerInventoryCategory *linked_cat = item->getLinkedCategory();
if (linked_cat && linked_cat->getPreferredType() != LLFolderType::FT_OUTFIT)
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 770bc02b40..820520df9e 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -2,31 +2,25 @@
* @file llinventorypanel.cpp
* @brief Implementation of the inventory panel and associated stuff.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index 4db995b0c4..6545fc0d5e 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -3,31 +3,25 @@
* @brief LLInventoryPanel
* class definition
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp
index ce84474c05..dd402de394 100644
--- a/indra/newview/lllandmarklist.cpp
+++ b/indra/newview/lllandmarklist.cpp
@@ -2,31 +2,25 @@
* @file lllandmarklist.cpp
* @brief Landmark asset list class
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -165,6 +159,11 @@ void LLLandmarkList::processGetAssetReply(
}
+BOOL LLLandmarkList::isAssetInLoadedCallbackMap(const LLUUID& asset_uuid)
+{
+ return mLoadedCallbackMap.find(asset_uuid) != mLoadedCallbackMap.end();
+}
+
BOOL LLLandmarkList::assetExists(const LLUUID& asset_uuid)
{
return mList.count(asset_uuid) != 0 || mBadList.count(asset_uuid) != 0;
diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h
index d9c3267142..3356f866ce 100644
--- a/indra/newview/lllandmarklist.h
+++ b/indra/newview/lllandmarklist.h
@@ -2,31 +2,25 @@
* @file lllandmarklist.h
* @brief Landmark asset list class
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -65,6 +59,10 @@ public:
S32 status,
LLExtStat ext_status );
+ // Returns TRUE if loading the landmark with given asset_uuid has been requested
+ // but is not complete yet.
+ BOOL isAssetInLoadedCallbackMap(const LLUUID& asset_uuid);
+
protected:
void onRegionHandle(const LLUUID& landmark_id);
void makeCallbacks(const LLUUID& landmark_id);
diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp
index 075f0ba3ec..31038b4aac 100755..100644
--- a/indra/newview/llmediadataclient.cpp
+++ b/indra/newview/llmediadataclient.cpp
@@ -2,31 +2,25 @@
* @file llmediadataclient.cpp
* @brief class for queueing up requests for media data
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llmediadataclient.h b/indra/newview/llmediadataclient.h
index f82eb2120b..ab90915c55 100755..100644
--- a/indra/newview/llmediadataclient.h
+++ b/indra/newview/llmediadataclient.h
@@ -2,31 +2,25 @@
* @file llmediadataclient.h
* @brief class for queueing up requests to the media service
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp
index 96a170ef07..069642b711 100644
--- a/indra/newview/llmeshrepository.cpp
+++ b/indra/newview/llmeshrepository.cpp
@@ -2104,6 +2104,30 @@ void LLMeshRepository::uploadModel(std::vector<LLModelInstance>& data, LLVector3
thread->start();
}
+S32 LLMeshRepository::getMeshSize(const LLUUID& mesh_id, S32 lod)
+{
+ if (mThread)
+ {
+ LLMeshRepoThread::mesh_header_map::iterator iter = mThread->mMeshHeader.find(mesh_id);
+ if (iter != mThread->mMeshHeader.end())
+ {
+ LLSD& header = iter->second;
+
+ if (header.has("404"))
+ {
+ return -1;
+ }
+
+ S32 size = header[header_lod[lod]]["size"].asInteger();
+ return size;
+ }
+
+ }
+
+ return -1;
+
+}
+
void LLMeshUploadThread::sendCostRequest(LLMeshUploadData& data)
{
//write model file to memory buffer
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h
index d5e21c35cc..b26598ce31 100644
--- a/indra/newview/llmeshrepository.h
+++ b/indra/newview/llmeshrepository.h
@@ -405,8 +405,7 @@ public:
void uploadModel(std::vector<LLModelInstance>& data, LLVector3& scale, bool upload_textures);
-
-
+ S32 getMeshSize(const LLUUID& mesh_id, S32 lod);
typedef std::map<LLVolumeParams, std::set<LLUUID> > mesh_load_map;
mesh_load_map mLoadingMeshes[4];
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 18ef3e19ee..18bba6e358 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -2,31 +2,25 @@
* @file llnavigationbar.cpp
* @brief Navigation bar implementation
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp
index b51b2860ab..51f9a03a9c 100644
--- a/indra/newview/lloutfitslist.cpp
+++ b/indra/newview/lloutfitslist.cpp
@@ -2,30 +2,25 @@
* @file lloutfitslist.cpp
* @brief List of agent's outfits for My Appearance side panel.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h
index 4613bdfeb9..37b909c93e 100644
--- a/indra/newview/lloutfitslist.h
+++ b/indra/newview/lloutfitslist.h
@@ -2,30 +2,25 @@
* @file lloutfitslist.h
* @brief List of agent's outfits for My Appearance side panel.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp
index d24c2f7f1b..fd2e961cb7 100644
--- a/indra/newview/llpanelblockedlist.cpp
+++ b/indra/newview/llpanelblockedlist.cpp
@@ -2,31 +2,25 @@
* @file llpanelblockedlist.cpp
* @brief Container for blocked Residents & Objects list
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index 7d2b1ae571..cedd65c405 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -2,31 +2,25 @@
* @file llpanelclassified.h
* @brief LLPanelClassified class definition
*
- * $LicenseInfo:firstyear=2005&license=viewergpl$
- *
- * Copyright (c) 2005-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp
index 02db3d3715..bf3bf38863 100644
--- a/indra/newview/llpanelcontents.cpp
+++ b/indra/newview/llpanelcontents.cpp
@@ -2,31 +2,25 @@
* @file llpanelcontents.cpp
* @brief Object contents panel in the tools floater.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 36713f65bd..bce496cbad 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -2,31 +2,25 @@
* @file llpanelface.cpp
* @brief Panel in the tools floater for editing face textures, colors, etc.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -48,6 +42,7 @@
#include "llcolorswatch.h"
#include "llcombobox.h"
#include "lldrawpoolbump.h"
+#include "llface.h"
#include "lllineeditor.h"
#include "llmediaentry.h"
#include "llresmgr.h"
@@ -81,6 +76,7 @@ BOOL LLPanelFace::postBuild()
childSetCommitCallback("checkbox flip t",&LLPanelFace::onCommitTextureInfo, this);
childSetCommitCallback("TexRot",&LLPanelFace::onCommitTextureInfo, this);
childSetAction("button apply",&LLPanelFace::onClickApply,this);
+ childSetCommitCallback("checkbox planar align",&LLPanelFace::onCommitPlanarAlign, this);
childSetCommitCallback("TexOffsetU",LLPanelFace::onCommitTextureInfo, this);
childSetCommitCallback("TexOffsetV",LLPanelFace::onCommitTextureInfo, this);
childSetAction("button align",&LLPanelFace::onClickAutoFix,this);
@@ -365,6 +361,93 @@ private:
LLPanelFace* mPanel;
};
+// Functor that aligns a face to mCenterFace
+struct LLPanelFaceSetAlignedTEFunctor : public LLSelectedTEFunctor
+{
+ LLPanelFaceSetAlignedTEFunctor(LLPanelFace* panel, LLFace* center_face) :
+ mPanel(panel),
+ mCenterFace(center_face) {}
+
+ virtual bool apply(LLViewerObject* object, S32 te)
+ {
+ LLFace* facep = object->mDrawable->getFace(te);
+ if (!facep)
+ {
+ return true;
+ }
+
+ bool set_aligned = true;
+ if (facep == mCenterFace)
+ {
+ set_aligned = false;
+ }
+ if (set_aligned)
+ {
+ LLVector2 uv_offset, uv_scale;
+ F32 uv_rot;
+ set_aligned = facep->calcAlignedPlanarTE(mCenterFace, &uv_offset, &uv_scale, &uv_rot);
+ if (set_aligned)
+ {
+ object->setTEOffset(te, uv_offset.mV[VX], uv_offset.mV[VY]);
+ object->setTEScale(te, uv_scale.mV[VX], uv_scale.mV[VY]);
+ object->setTERotation(te, uv_rot);
+ }
+ }
+ if (!set_aligned)
+ {
+ LLPanelFaceSetTEFunctor setfunc(mPanel);
+ setfunc.apply(object, te);
+ }
+ return true;
+ }
+private:
+ LLPanelFace* mPanel;
+ LLFace* mCenterFace;
+};
+
+// Functor that tests if a face is aligned to mCenterFace
+struct LLPanelFaceGetIsAlignedTEFunctor : public LLSelectedTEFunctor
+{
+ LLPanelFaceGetIsAlignedTEFunctor(LLFace* center_face) :
+ mCenterFace(center_face) {}
+
+ virtual bool apply(LLViewerObject* object, S32 te)
+ {
+ LLFace* facep = object->mDrawable->getFace(te);
+ if (!facep)
+ {
+ return false;
+ }
+ if (facep == mCenterFace)
+ {
+ return true;
+ }
+
+ LLVector2 aligned_st_offset, aligned_st_scale;
+ F32 aligned_st_rot;
+ if ( facep->calcAlignedPlanarTE(mCenterFace, &aligned_st_offset, &aligned_st_scale, &aligned_st_rot) )
+ {
+ const LLTextureEntry* tep = facep->getTextureEntry();
+ LLVector2 st_offset, st_scale;
+ tep->getOffset(&st_offset.mV[VX], &st_offset.mV[VY]);
+ tep->getScale(&st_scale.mV[VX], &st_scale.mV[VY]);
+ F32 st_rot = tep->getRotation();
+ // needs a fuzzy comparison, because of fp errors
+ if (is_approx_equal_fraction(st_offset.mV[VX], aligned_st_offset.mV[VX], 12) &&
+ is_approx_equal_fraction(st_offset.mV[VY], aligned_st_offset.mV[VY], 12) &&
+ is_approx_equal_fraction(st_scale.mV[VX], aligned_st_scale.mV[VX], 12) &&
+ is_approx_equal_fraction(st_scale.mV[VY], aligned_st_scale.mV[VY], 12) &&
+ is_approx_equal_fraction(st_rot, aligned_st_rot, 14))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+private:
+ LLFace* mCenterFace;
+};
+
struct LLPanelFaceSendFunctor : public LLSelectedObjectFunctor
{
virtual bool apply(LLViewerObject* object)
@@ -376,8 +459,26 @@ struct LLPanelFaceSendFunctor : public LLSelectedObjectFunctor
void LLPanelFace::sendTextureInfo()
{
- LLPanelFaceSetTEFunctor setfunc(this);
- LLSelectMgr::getInstance()->getSelection()->applyToTEs(&setfunc);
+ if ((bool)childGetValue("checkbox planar align").asBoolean())
+ {
+ struct f1 : public LLSelectedTEGetFunctor<LLFace *>
+ {
+ LLFace* get(LLViewerObject* object, S32 te)
+ {
+ return (object->mDrawable) ? object->mDrawable->getFace(te): NULL;
+ }
+ } get_last_face_func;
+ LLFace* last_face;
+ LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue(&get_last_face_func, last_face);
+
+ LLPanelFaceSetAlignedTEFunctor setfunc(this, last_face);
+ LLSelectMgr::getInstance()->getSelection()->applyToTEs(&setfunc);
+ }
+ else
+ {
+ LLPanelFaceSetTEFunctor setfunc(this);
+ LLSelectMgr::getInstance()->getSelection()->applyToTEs(&setfunc);
+ }
LLPanelFaceSendFunctor sendfunc;
LLSelectMgr::getInstance()->getSelection()->applyToObjects(&sendfunc);
@@ -503,6 +604,44 @@ void LLPanelFace::getState()
}
}
+
+ // planar align
+ bool align_planar = false;
+ bool identical_planar_aligned = false;
+ bool is_planar = false;
+ {
+ LLCheckBoxCtrl* cb_planar_align = getChild<LLCheckBoxCtrl>("checkbox planar align");
+ align_planar = (cb_planar_align && cb_planar_align->get());
+ struct f1 : public LLSelectedTEGetFunctor<bool>
+ {
+ bool get(LLViewerObject* object, S32 face)
+ {
+ return (object->getTE(face)->getTexGen() == LLTextureEntry::TEX_GEN_PLANAR);
+ }
+ } func;
+
+ bool texgens_identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, is_planar );
+ bool enabled = (editable && texgens_identical && is_planar);
+ childSetValue("checkbox planar align", align_planar && enabled);
+ childSetEnabled("checkbox planar align", enabled);
+
+ if (align_planar && enabled)
+ {
+ struct f2 : public LLSelectedTEGetFunctor<LLFace *>
+ {
+ LLFace* get(LLViewerObject* object, S32 te)
+ {
+ return (object->mDrawable) ? object->mDrawable->getFace(te): NULL;
+ }
+ } get_te_face_func;
+ LLFace* last_face;
+ LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue(&get_te_face_func, last_face);
+ LLPanelFaceGetIsAlignedTEFunctor get_is_aligend_func(last_face);
+ // this will determine if the texture param controls are tentative:
+ identical_planar_aligned = LLSelectMgr::getInstance()->getSelection()->applyToTEs(&get_is_aligend_func);
+ }
+ }
+
// Texture scale
{
F32 scale_s = 1.f;
@@ -514,6 +653,7 @@ void LLPanelFace::getState()
}
} func;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, scale_s );
+ identical = align_planar ? identical_planar_aligned : identical;
getChild<LLUICtrl>("TexScaleU")->setValue(editable ? llabs(scale_s) : 0);
getChild<LLUICtrl>("TexScaleU")->setTentative(LLSD((BOOL)(!identical)));
getChildView("TexScaleU")->setEnabled(editable);
@@ -532,6 +672,7 @@ void LLPanelFace::getState()
}
} func;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, scale_t );
+ identical = align_planar ? identical_planar_aligned : identical;
getChild<LLUICtrl>("TexScaleV")->setValue(llabs(editable ? llabs(scale_t) : 0));
getChild<LLUICtrl>("TexScaleV")->setTentative(LLSD((BOOL)(!identical)));
@@ -553,6 +694,7 @@ void LLPanelFace::getState()
}
} func;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, offset_s );
+ identical = align_planar ? identical_planar_aligned : identical;
getChild<LLUICtrl>("TexOffsetU")->setValue(editable ? offset_s : 0);
getChild<LLUICtrl>("TexOffsetU")->setTentative(!identical);
getChildView("TexOffsetU")->setEnabled(editable);
@@ -568,6 +710,7 @@ void LLPanelFace::getState()
}
} func;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, offset_t );
+ identical = align_planar ? identical_planar_aligned : identical;
getChild<LLUICtrl>("TexOffsetV")->setValue(editable ? offset_t : 0);
getChild<LLUICtrl>("TexOffsetV")->setTentative(!identical);
getChildView("TexOffsetV")->setEnabled(editable);
@@ -584,6 +727,7 @@ void LLPanelFace::getState()
}
} func;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, rotation );
+ identical = align_planar ? identical_planar_aligned : identical;
getChild<LLUICtrl>("TexRot")->setValue(editable ? rotation * RAD_TO_DEG : 0);
getChild<LLUICtrl>("TexRot")->setTentative(!identical);
getChildView("TexRot")->setEnabled(editable);
@@ -999,3 +1143,11 @@ void LLPanelFace::setMediaType(const std::string& mime_type)
{
}
+// static
+void LLPanelFace::onCommitPlanarAlign(LLUICtrl* ctrl, void* userdata)
+{
+ LLPanelFace* self = (LLPanelFace*) userdata;
+ self->getState();
+ self->sendTextureInfo();
+}
+
diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h
index 6a8704ce14..42be9b257f 100644
--- a/indra/newview/llpanelface.h
+++ b/indra/newview/llpanelface.h
@@ -2,31 +2,25 @@
* @file llpanelface.h
* @brief Panel in the tools floater for editing face textures, colors, etc.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -91,6 +85,7 @@ protected:
static void onCommitShiny( LLUICtrl* ctrl, void* userdata);
static void onCommitFullbright( LLUICtrl* ctrl, void* userdata);
static void onCommitGlow( LLUICtrl* ctrl, void *userdata);
+ static void onCommitPlanarAlign( LLUICtrl* ctrl, void* userdata);
static void onClickApply(void*);
static void onClickAutoFix(void*);
diff --git a/indra/newview/llpanelgenerictip.cpp b/indra/newview/llpanelgenerictip.cpp
index 5a71f7f315..2660814afc 100644
--- a/indra/newview/llpanelgenerictip.cpp
+++ b/indra/newview/llpanelgenerictip.cpp
@@ -3,31 +3,25 @@
* @brief Represents a generic panel for a notifytip notifications. As example:
* "SystemMessageTip", "Cancelled", "UploadWebSnapshotDone".
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h
index 358d353074..cbf173f845 100644
--- a/indra/newview/llpanelgroupgeneral.h
+++ b/indra/newview/llpanelgroupgeneral.h
@@ -2,31 +2,25 @@
* @file llpanelgroupgeneral.h
* @brief General information about a group.
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp
index 1404cfcea2..d4736d22ae 100644
--- a/indra/newview/llpanelgrouplandmoney.cpp
+++ b/indra/newview/llpanelgrouplandmoney.cpp
@@ -2,31 +2,25 @@
* @file llpanelgrouplandmoney.cpp
* @brief Panel for group land and L$.
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelland.cpp b/indra/newview/llpanelland.cpp
index 6b84b2985a..04c1a86f69 100644
--- a/indra/newview/llpanelland.cpp
+++ b/indra/newview/llpanelland.cpp
@@ -2,31 +2,25 @@
* @file llpanelland.cpp
* @brief Land information in the tool floater, NOT the "About Land" floater
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelland.h b/indra/newview/llpanelland.h
index 32ddd5e93b..2ab1618d47 100644
--- a/indra/newview/llpanelland.h
+++ b/indra/newview/llpanelland.h
@@ -2,31 +2,25 @@
* @file llpanelland.h
* @brief Land information in the tool floater, NOT the "About Land" floater
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanellandmarkinfo.cpp b/indra/newview/llpanellandmarkinfo.cpp
index c05cffc59e..b69cee9586 100644
--- a/indra/newview/llpanellandmarkinfo.cpp
+++ b/indra/newview/llpanellandmarkinfo.cpp
@@ -2,31 +2,25 @@
* @file llpanellandmarkinfo.cpp
* @brief Displays landmark info in Side Tray.
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 6f47fc60b0..ff15e3f08e 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -2,30 +2,25 @@
* @file llpanellandmarks.cpp
* @brief Landmarks tab for Side Bar "Places" panel
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -979,7 +974,28 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
)
{
// disable some commands for multi-selection. EXT-1757
- return root_folder_view && root_folder_view->getSelectedCount() == 1;
+ bool is_single_selection = root_folder_view && root_folder_view->getSelectedCount() == 1;
+ if (!is_single_selection)
+ {
+ return false;
+ }
+
+ if ("show_on_map" == command_name)
+ {
+ LLFolderViewItem* cur_item = root_folder_view->getCurSelectedItem();
+ if (!cur_item) return false;
+
+ LLViewerInventoryItem* inv_item = cur_item->getInventoryItem();
+ if (!inv_item) return false;
+
+ LLUUID asset_uuid = inv_item->getAssetUUID();
+ if (asset_uuid.isNull()) return false;
+
+ // Disable "Show on Map" if landmark loading is in progress.
+ return !gLandmarkList.isAssetInLoadedCallbackMap(asset_uuid);
+ }
+
+ return true;
}
else if ("rename" == command_name)
{
@@ -1104,7 +1120,8 @@ bool LLLandmarksPanel::canSelectedBeModified(const std::string& command_name) co
if ("cut" == command_name)
{
- can_be_modified = root_folder->canCut();
+ // "Cut" disabled for folders. See EXT-8697.
+ can_be_modified = root_folder->canCut() && listenerp->getInventoryType() != LLInventoryType::IT_CATEGORY;
}
else if ("rename" == command_name)
{
@@ -1193,6 +1210,7 @@ void LLLandmarksPanel::doShowOnMap(LLLandmark* landmark)
}
mShowOnMapBtn->setEnabled(TRUE);
+ mGearLandmarkMenu->setItemEnabled("show_on_map", TRUE);
}
void LLLandmarksPanel::doProcessParcelInfo(LLLandmark* landmark,
diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp
index f0f386c5d1..f17defda55 100644
--- a/indra/newview/llpanellandmedia.cpp
+++ b/indra/newview/llpanellandmedia.cpp
@@ -3,31 +3,25 @@
* @brief Allows configuration of "media" for a land parcel,
* for example movies, web pages, and audio.
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 4b23e63f12..be1afbd8d7 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -2,31 +2,25 @@
* @file llpanellogin.cpp
* @brief Login dialog and logo display
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index d7ffdacb70..27e054af34 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -2,31 +2,25 @@
* @file llsidepanelmaininventory.cpp
* @brief Implementation of llsidepanelmaininventory.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp
index 017f6de63b..5cd4cea96d 100644
--- a/indra/newview/llpanelme.cpp
+++ b/indra/newview/llpanelme.cpp
@@ -2,31 +2,25 @@
* @file llpanelme.cpp
* @brief Side tray "Me" (My Profile) panel
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelmediasettingsgeneral.cpp b/indra/newview/llpanelmediasettingsgeneral.cpp
index 7a61872bc7..92c8365a70 100644
--- a/indra/newview/llpanelmediasettingsgeneral.cpp
+++ b/indra/newview/llpanelmediasettingsgeneral.cpp
@@ -2,31 +2,25 @@
* @file llpanelmediasettingsgeneral.cpp
* @brief LLPanelMediaSettingsGeneral class implementation
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelmediasettingspermissions.cpp b/indra/newview/llpanelmediasettingspermissions.cpp
index 5effba515b..339376cbf6 100644
--- a/indra/newview/llpanelmediasettingspermissions.cpp
+++ b/indra/newview/llpanelmediasettingspermissions.cpp
@@ -6,31 +6,25 @@
* 'permissions' not changed to 'controls' since we don't want to change
* shared files in server code and keeping everything the same seemed best.
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelonlinestatus.cpp b/indra/newview/llpanelonlinestatus.cpp
index 7de4e8e49d..2f1300e0f2 100644
--- a/indra/newview/llpanelonlinestatus.cpp
+++ b/indra/newview/llpanelonlinestatus.cpp
@@ -2,31 +2,25 @@
* @file llpanelonlinestatus.cpp
* @brief Represents a class of online status tip toast panels.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h
index ff8df5c7a8..3b8b736be1 100644
--- a/indra/newview/llpanelpeople.h
+++ b/indra/newview/llpanelpeople.h
@@ -2,31 +2,25 @@
* @file llpanelpeople.h
* @brief Side tray "People" panel
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 87e02bd5f4..e35574be6c 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -4,31 +4,25 @@
* This class represents the panel in the build view for
* viewing/editing object names, owners, permissions, etc.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index 65254e50b4..a5c3c9faef 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -2,31 +2,25 @@
* @file llpanelpicks.cpp
* @brief LLPanelPicks and related class implementations
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h
index 9dd1ba6ff9..526ba48dcb 100644
--- a/indra/newview/llpanelpicks.h
+++ b/indra/newview/llpanelpicks.h
@@ -2,31 +2,25 @@
* @file llpanelpicks.h
* @brief LLPanelPicks and related class definitions
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp
index 095cd79aaf..bbaffda2f2 100644
--- a/indra/newview/llpanelplaceinfo.cpp
+++ b/indra/newview/llpanelplaceinfo.cpp
@@ -2,31 +2,25 @@
* @file llpanelplaceinfo.cpp
* @brief Base class for place information in Side Tray.
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelprofileview.cpp b/indra/newview/llpanelprofileview.cpp
index d59e694be6..c0f504fef6 100644
--- a/indra/newview/llpanelprofileview.cpp
+++ b/indra/newview/llpanelprofileview.cpp
@@ -2,31 +2,25 @@
* @file llpanelprofileview.cpp
* @brief Side tray "Profile View" panel
*
-* $LicenseInfo:firstyear=2009&license=viewergpl$
-*
-* Copyright (c) 2009, Linden Research, Inc.
-*
+* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
-* The source code in this file ("Source Code") is provided by Linden Lab
-* to you under the terms of the GNU General Public License, version 2.0
-* ("GPL"), unless you have obtained a separate licensing agreement
-* ("Other License"), formally executed by you and Linden Lab. Terms of
-* the GPL can be found in doc/GPL-license.txt in this distribution, or
-* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+* Copyright (C) 2010, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
*
-* There are special exceptions to the terms and conditions of the GPL as
-* it is applied to this Source Code. View the full text of the exception
-* in the file doc/FLOSS-exception.txt in this software distribution, or
-* online at
-* http://secondlifegrid.net/programs/open_source/licensing/flossexception
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
*
-* By copying, modifying or distributing this software, you acknowledge
-* that you have read and understood your obligations described above,
-* and agree to abide by those obligations.
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
-* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
-* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
-* COMPLETENESS OR PERFORMANCE.
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp
index e73d1fb7c2..0d17fb3e82 100644
--- a/indra/newview/llpaneltopinfobar.cpp
+++ b/indra/newview/llpaneltopinfobar.cpp
@@ -2,31 +2,25 @@
* @file llpaneltopinfobar.cpp
* @brief Coordinates and Parcel Settings information panel definition
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h
index 0603ee744f..db922ef424 100644
--- a/indra/newview/llpaneltopinfobar.h
+++ b/indra/newview/llpaneltopinfobar.h
@@ -2,31 +2,25 @@
* @file llpaneltopinfobar.h
* @brief Coordinates and Parcel Settings information panel definition
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp
index fd7ca39c72..a6bc34c62e 100644
--- a/indra/newview/llpanelwearing.cpp
+++ b/indra/newview/llpanelwearing.cpp
@@ -2,30 +2,25 @@
* @file llpanelwearing.cpp
* @brief List of agent's worn items.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp
index 4becde7ab5..69542764d2 100644
--- a/indra/newview/llpreview.cpp
+++ b/indra/newview/llpreview.cpp
@@ -2,31 +2,25 @@
* @file llpreview.cpp
* @brief LLPreview class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp
index a59ed53889..b328f65349 100644
--- a/indra/newview/llpreviewanim.cpp
+++ b/indra/newview/llpreviewanim.cpp
@@ -2,31 +2,25 @@
* @file llpreviewanim.cpp
* @brief LLPreviewAnim class implementation
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp
index 6ef7c85e31..3f4edbaf97 100644
--- a/indra/newview/llpreviewgesture.cpp
+++ b/indra/newview/llpreviewgesture.cpp
@@ -2,31 +2,25 @@
* @file llpreviewgesture.cpp
* @brief Editing UI for inventory-based gestures.
*
- * $LicenseInfo:firstyear=2004&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index ee86d3a2c6..e85a6a7094 100644
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -2,31 +2,25 @@
* @file llpreviewnotecard.cpp
* @brief Implementation of the notecard editor
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 73845e2772..d280cf1625 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -2,31 +2,25 @@
* @file llpreviewscript.cpp
* @brief LLPreviewScript class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp
index d9bcf5fba6..6b53b45990 100644
--- a/indra/newview/llpreviewsound.cpp
+++ b/indra/newview/llpreviewsound.cpp
@@ -2,31 +2,25 @@
* @file llpreviewsound.cpp
* @brief LLPreviewSound class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index c1cb386556..1155f35de8 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -2,31 +2,25 @@
* @file llpreviewtexture.cpp
* @brief LLPreviewTexture class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llremoteparcelrequest.cpp b/indra/newview/llremoteparcelrequest.cpp
index c28c041d0c..d63a48647d 100644
--- a/indra/newview/llremoteparcelrequest.cpp
+++ b/indra/newview/llremoteparcelrequest.cpp
@@ -4,31 +4,25 @@
* @brief Get information about a parcel you aren't standing in to display
* landmark/teleport information.
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llsaveoutfitcombobtn.cpp b/indra/newview/llsaveoutfitcombobtn.cpp
index e2f5aee56d..cbad85cfd3 100644
--- a/indra/newview/llsaveoutfitcombobtn.cpp
+++ b/indra/newview/llsaveoutfitcombobtn.cpp
@@ -2,31 +2,25 @@
* @file llsaveoutfitcombobtn.cpp
* @brief Represents outfit save/save as combo button.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index f124659910..2334f0cde5 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -2,31 +2,25 @@
* @file llscriptfloater.cpp
* @brief LLScriptFloater class definition
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp
index d715c47631..2d8c9b0fec 100644
--- a/indra/newview/llscrollingpanelparam.cpp
+++ b/indra/newview/llscrollingpanelparam.cpp
@@ -2,31 +2,25 @@
* @file llscrollingpanelparam.cpp
* @brief UI panel for a list of visual param panels
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index ff2929695d..21f7e780e2 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -5395,6 +5395,42 @@ BOOL LLSelectNode::allowOperationOnNode(PermissionBit op, U64 group_proxy_power)
return (mPermissions->allowOperationBy(op, proxy_agent_id, group_id));
}
+
+//helper function for pushing relevant vertices from drawable to GL
+void pushWireframe(LLDrawable* drawable)
+{
+ if (drawable->isState(LLDrawable::RIGGED))
+ { //render straight from rigged volume if this is a rigged attachment
+ LLVOVolume* vobj = drawable->getVOVolume();
+ if (vobj)
+ {
+ vobj->updateRiggedVolume();
+ LLRiggedVolume* rigged_volume = vobj->getRiggedVolume();
+ if (rigged_volume)
+ {
+ LLVertexBuffer::unbind();
+ gGL.pushMatrix();
+ glMultMatrixf((F32*) vobj->getRelativeXform().mMatrix);
+ for (S32 i = 0; i < rigged_volume->getNumVolumeFaces(); ++i)
+ {
+ const LLVolumeFace& face = rigged_volume->getVolumeFace(i);
+ glVertexPointer(3, GL_FLOAT, 16, face.mPositions);
+ glDrawElements(GL_TRIANGLES, face.mNumIndices, GL_UNSIGNED_SHORT, face.mIndices);
+ }
+ gGL.popMatrix();
+ }
+ }
+ }
+ else
+ {
+ for (S32 i = 0; i < drawable->getNumFaces(); ++i)
+ {
+ LLFace* face = drawable->getFace(i);
+ pushVerts(face, LLVertexBuffer::MAP_VERTEX);
+ }
+ }
+}
+
void LLSelectNode::renderOneWireframe(const LLColor4& color)
{
LLViewerObject* objectp = getObject();
@@ -5442,11 +5478,7 @@ void LLSelectNode::renderOneWireframe(const LLColor4& color)
gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT);
{
glColor4f(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], 0.4f);
- for (S32 i = 0; i < drawable->getNumFaces(); ++i)
- {
- LLFace* face = drawable->getFace(i);
- pushVerts(face, LLVertexBuffer::MAP_VERTEX);
- }
+ pushWireframe(drawable);
}
}
@@ -5455,13 +5487,9 @@ void LLSelectNode::renderOneWireframe(const LLColor4& color)
glColor4f(color.mV[VRED]*2, color.mV[VGREEN]*2, color.mV[VBLUE]*2, LLSelectMgr::sHighlightAlpha*2);
LLGLEnable offset(GL_POLYGON_OFFSET_LINE);
- glPolygonOffset(3.f, 2.f);
+ glPolygonOffset(3.f, 3.f);
glLineWidth(3.f);
- for (S32 i = 0; i < drawable->getNumFaces(); ++i)
- {
- LLFace* face = drawable->getFace(i);
- pushVerts(face, LLVertexBuffer::MAP_VERTEX);
- }
+ pushWireframe(drawable);
glLineWidth(1.f);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
gGL.popMatrix();
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index 33a464fea6..7206e4fcaf 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -2,30 +2,25 @@
* @file llsidepanelappearance.cpp
* @brief Side Bar "Appearance" panel
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2004-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp
index 56bb7167b6..731079fb5d 100644
--- a/indra/newview/llsidepaneliteminfo.cpp
+++ b/indra/newview/llsidepaneliteminfo.cpp
@@ -2,31 +2,25 @@
* @file llsidepaneliteminfo.cpp
* @brief A floater which shows an inventory item's properties.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp
index 2755a1c3ae..4552088cad 100644
--- a/indra/newview/llsidepaneltaskinfo.cpp
+++ b/indra/newview/llsidepaneltaskinfo.cpp
@@ -4,31 +4,25 @@
* This class represents the panel in the build view for
* viewing/editing object names, owners, permissions, etc.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llslurl.cpp b/indra/newview/llslurl.cpp
index 0df7035f84..4cf1df1655 100644
--- a/indra/newview/llslurl.cpp
+++ b/indra/newview/llslurl.cpp
@@ -3,30 +3,25 @@
* @brief Handles "SLURL fragments" like Ahern/123/45 for
* startup processing, login screen, prefs, etc.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2006-2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlife.com/developers/opensource/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlife.com/developers/opensource/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -49,7 +44,6 @@ const char* LLSLURL::SLURL_COM = "slurl.com";
// version is required also.
const char* LLSLURL::WWW_SLURL_COM = "www.slurl.com";
-const char* LLSLURL::SECONDLIFE_COM = "secondlife.com";
const char* LLSLURL::MAPS_SECONDLIFE_COM = "maps.secondlife.com";
const char* LLSLURL::SLURL_X_GRID_LOCATION_INFO_SCHEME = "x-grid-location-info";
const char* LLSLURL::SLURL_APP_PATH = "app";
@@ -188,15 +182,6 @@ LLSLURL::LLSLURL(const std::string& slurl)
(slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) ||
(slurl_uri.scheme() == LLSLURL::SLURL_X_GRID_LOCATION_INFO_SCHEME))
{
- // *HACK: ignore http://secondlife.com/ URLs so that we can use
- // http://secondlife.com/app/ redirect URLs
- // This is only necessary while the server returns Release Note
- // urls using this format rather that pointing to the wiki
- if ((slurl_uri.scheme() == LLSLURL::SLURL_HTTP_SCHEME ||
- slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) &&
- slurl_uri.hostName() == LLSLURL::SECONDLIFE_COM)
- return;
-
// We're dealing with either a Standalone style slurl or slurl.com slurl
if ((slurl_uri.hostName() == LLSLURL::SLURL_COM) ||
(slurl_uri.hostName() == LLSLURL::WWW_SLURL_COM) ||
@@ -207,6 +192,17 @@ LLSLURL::LLSLURL(const std::string& slurl)
}
else
{
+ // Don't try to match any old http://<host>/ URL as a SLurl.
+ // SLE SLurls will have the grid hostname in the URL, so only
+ // match http URLs if the hostname matches the grid hostname
+ // (or its a slurl.com or maps.secondlife.com URL).
+ if ((slurl_uri.scheme() == LLSLURL::SLURL_HTTP_SCHEME ||
+ slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) &&
+ slurl_uri.hostName() != LLGridManager::getInstance()->getGrid())
+ {
+ return;
+ }
+
// As it's a Standalone grid/open, we will always have a hostname, as Standalone/open style
// urls are properly formed, unlike the stinky maingrid style
mGrid = slurl_uri.hostName();
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index e55ec03356..0f9f35dc57 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -2766,78 +2766,101 @@ void renderNormals(LLDrawable* drawablep)
}
}
-void renderPhysicsShape(LLDrawable* drawable)
+void renderPhysicsShape(LLDrawable* drawable, LLVOVolume* volume)
{
- LLVOVolume* volume = drawable->getVOVolume();
- if (volume)
- {
- F32 threshold = gSavedSettings.getF32("ObjectCostHighThreshold");
- F32 cost = volume->getObjectCost();
+ F32 threshold = gSavedSettings.getF32("ObjectCostHighThreshold");
+ F32 cost = volume->getObjectCost();
- LLColor4 low = gSavedSettings.getColor4("ObjectCostLowColor");
- LLColor4 mid = gSavedSettings.getColor4("ObjectCostMidColor");
- LLColor4 high = gSavedSettings.getColor4("ObjectCostHighColor");
+ LLColor4 low = gSavedSettings.getColor4("ObjectCostLowColor");
+ LLColor4 mid = gSavedSettings.getColor4("ObjectCostMidColor");
+ LLColor4 high = gSavedSettings.getColor4("ObjectCostHighColor");
- F32 normalizedCost = 1.f - exp( -(cost / threshold) );
+ F32 normalizedCost = 1.f - exp( -(cost / threshold) );
- LLColor4 color;
- if ( normalizedCost <= 0.5f )
- {
- color = lerp( low, mid, 2.f * normalizedCost );
- }
- else
- {
- color = lerp( mid, high, 2.f * ( normalizedCost - 0.5f ) );
- }
+ LLColor4 color;
+ if ( normalizedCost <= 0.5f )
+ {
+ color = lerp( low, mid, 2.f * normalizedCost );
+ }
+ else
+ {
+ color = lerp( mid, high, 2.f * ( normalizedCost - 0.5f ) );
+ }
- U32 data_mask = LLVertexBuffer::MAP_VERTEX;
+ U32 data_mask = LLVertexBuffer::MAP_VERTEX;
#if LL_MESH_ENABLED
- if (volume->isMesh())
- {
- LLUUID mesh_id = volume->getVolume()->getParams().getSculptID();
- const LLMeshDecomposition* decomp = gMeshRepo.getDecomposition(mesh_id);
- if (decomp)
- {
- gGL.pushMatrix();
- glMultMatrixf((F32*) volume->getRelativeXform().mMatrix);
-
- gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
+ if (volume->isMesh())
+ {
+ LLUUID mesh_id = volume->getVolume()->getParams().getSculptID();
+ const LLMeshDecomposition* decomp = gMeshRepo.getDecomposition(mesh_id);
+ if (decomp)
+ {
+ gGL.pushMatrix();
+ glMultMatrixf((F32*) volume->getRelativeXform().mMatrix);
+
+ gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
- for (U32 i = 0; i < decomp->mHull.size(); ++i)
- {
- LLVertexBuffer* buff = decomp->mMesh[i];
+ for (U32 i = 0; i < decomp->mHull.size(); ++i)
+ {
+ LLVertexBuffer* buff = decomp->mMesh[i];
- buff->setBuffer(data_mask);
+ buff->setBuffer(data_mask);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- glColor3fv(color.mV);
- buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts());
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+ glColor3fv(color.mV);
+ buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts());
+ glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- {
- LLGLEnable blend(GL_BLEND);
- gGL.setSceneBlendType(LLRender::BT_ALPHA);
- LLGLDepthTest depth(GL_TRUE, GL_FALSE);
- glColor4fv(color.mV);
- buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts());
- }
+ {
+ LLGLEnable blend(GL_BLEND);
+ gGL.setSceneBlendType(LLRender::BT_ALPHA);
+ LLGLDepthTest depth(GL_TRUE, GL_FALSE);
+ glColor4fv(color.mV);
+ buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts());
}
+ }
- gGL.popMatrix();
+ gGL.popMatrix();
- return;
- }
+ return;
}
+ }
#endif //LL_MESH_ENABLED
-
- //push faces
- glColor3fv(color.mV);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- pushVerts(drawable, data_mask);
- glColor4fv(color.mV);
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- pushVerts(drawable, data_mask);
+
+ //push faces
+ glColor3fv(color.mV);
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+ pushVerts(drawable, data_mask);
+ glColor4fv(color.mV);
+ glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
+ pushVerts(drawable, data_mask);
+}
+
+void renderPhysicsShapes(LLSpatialGroup* group)
+{
+ LLGLEnable blend(GL_BLEND);
+ LLGLDepthTest test(GL_TRUE, GL_FALSE);
+
+ for (LLSpatialGroup::OctreeNode::const_element_iter i = group->getData().begin(); i != group->getData().end(); ++i)
+ {
+ LLDrawable* drawable = *i;
+ LLVOVolume* volume = drawable->getVOVolume();
+ if (volume && !volume->isAttachment() && volume->getPhysicsShapeType() != LLViewerObject::PHYSICS_SHAPE_NONE )
+ {
+ if (!group->mSpatialPartition->isBridge())
+ {
+ gGL.pushMatrix();
+ LLVector3 trans = drawable->getRegion()->getOriginAgent();
+ glTranslatef(trans.mV[0], trans.mV[1], trans.mV[2]);
+ renderPhysicsShape(drawable, volume);
+ gGL.popMatrix();
+ }
+ else
+ {
+ renderPhysicsShape(drawable, volume);
+ }
+ }
}
}
@@ -3012,11 +3035,11 @@ class LLRenderOctreeRaycast : public LLOctreeTriangleRayIntersect
{
public:
- LLRenderOctreeRaycast(const LLVector3& start, const LLVector3& end)
+
+ LLRenderOctreeRaycast(const LLVector4a& start, const LLVector4a& dir, F32* closest_t)
+ : LLOctreeTriangleRayIntersect(start, dir, NULL, closest_t, NULL, NULL, NULL, NULL)
{
- mStart.load3(start.mV);
- mEnd.load3(end.mV);
- mDir.setSub(mEnd, mStart);
+
}
void visit(const LLOctreeNode<LLVolumeTriangle>* branch)
@@ -3024,92 +3047,183 @@ public:
LLVolumeOctreeListener* vl = (LLVolumeOctreeListener*) branch->getListener(0);
LLVector3 center, size;
- center.set(vl->mBounds[0].getF32ptr());
- size.set(vl->mBounds[1].getF32ptr());
+
+ if (branch->getData().empty())
+ {
+ gGL.color3f(1.f,0.2f,0.f);
+ center.set(branch->getCenter().getF32ptr());
+ size.set(branch->getSize().getF32ptr());
+ }
+ else
+ {
+ gGL.color3f(0.75f, 1.f, 0.f);
+ center.set(vl->mBounds[0].getF32ptr());
+ size.set(vl->mBounds[1].getF32ptr());
+ }
- drawBoxOutline(center, size);
+ drawBoxOutline(center, size);
+
+ for (U32 i = 0; i < 2; i++)
+ {
+ LLGLDepthTest depth(GL_TRUE, GL_FALSE, i == 1 ? GL_LEQUAL : GL_GREATER);
+
+ if (i == 1)
+ {
+ gGL.color4f(0,1,1,0.5f);
+ }
+ else
+ {
+ gGL.color4f(0,0.5f,0.5f, 0.25f);
+ drawBoxOutline(center, size);
+ }
+
+ if (i == 1)
+ {
+ gGL.flush();
+ glLineWidth(3.f);
+ }
+
+ gGL.begin(LLRender::TRIANGLES);
+ for (LLOctreeNode<LLVolumeTriangle>::const_element_iter iter = branch->getData().begin();
+ iter != branch->getData().end();
+ ++iter)
+ {
+ const LLVolumeTriangle* tri = *iter;
+
+ gGL.vertex3fv(tri->mV[0]->getF32ptr());
+ gGL.vertex3fv(tri->mV[1]->getF32ptr());
+ gGL.vertex3fv(tri->mV[2]->getF32ptr());
+ }
+ gGL.end();
+
+ if (i == 1)
+ {
+ gGL.flush();
+ glLineWidth(1.f);
+ }
+ }
}
};
void renderRaycast(LLDrawable* drawablep)
{
- if (drawablep->getVObj() != gDebugRaycastObject)
- {
- return;
- }
-
if (drawablep->getNumFaces())
{
LLGLEnable blend(GL_BLEND);
gGL.color4f(0,1,1,0.5f);
- if (drawablep->getVOVolume() && gDebugRaycastFaceHit != -1)
+ if (drawablep->getVOVolume())
{
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- pushVerts(drawablep->getFace(gDebugRaycastFaceHit), LLVertexBuffer::MAP_VERTEX);
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
+ //glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+ //pushVerts(drawablep->getFace(gDebugRaycastFaceHit), LLVertexBuffer::MAP_VERTEX);
+ //glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
LLVOVolume* vobj = drawablep->getVOVolume();
LLVolume* volume = vobj->getVolume();
- if (volume && volume->getNumVolumeFaces() > gDebugRaycastFaceHit)
+
+ bool transform = true;
+ if (drawablep->isState(LLDrawable::RIGGED))
{
- const LLVolumeFace& face = volume->getVolumeFace(gDebugRaycastFaceHit);
- if (!face.mOctree)
+ volume = vobj->getRiggedVolume();
+ transform = false;
+ }
+
+ if (volume)
+ {
+ for (S32 i = 0; i < volume->getNumVolumeFaces(); ++i)
{
- ((LLVolumeFace*) &face)->createOctree();
- }
+ const LLVolumeFace& face = volume->getVolumeFace(i);
+ if (!face.mOctree)
+ {
+ ((LLVolumeFace*) &face)->createOctree();
+ }
- gGL.pushMatrix();
- glMultMatrixf((F32*) vobj->getRelativeXform().mMatrix);
- LLVector3 start, end;
- start = vobj->agentPositionToVolume(gDebugRaycastStart);
- end = vobj->agentPositionToVolume(gDebugRaycastEnd);
-
- LLRenderOctreeRaycast render(start, end);
- render.traverse(face.mOctree);
- gGL.popMatrix();
+ gGL.pushMatrix();
+ glMultMatrixf((F32*) vobj->getRelativeXform().mMatrix);
+
+ LLVector3 start, end;
+ if (transform)
+ {
+ start = vobj->agentPositionToVolume(gDebugRaycastStart);
+ end = vobj->agentPositionToVolume(gDebugRaycastEnd);
+ }
+ else
+ {
+ start = gDebugRaycastStart;
+ end = gDebugRaycastEnd;
+ }
+
+ LLVector4a starta, enda;
+ starta.load3(start.mV);
+ enda.load3(end.mV);
+ LLVector4a dir;
+ dir.setSub(enda, starta);
+
+ F32 t = 1.f;
+
+ LLRenderOctreeRaycast render(starta, dir, &t);
+ gGL.flush();
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+
+ {
+ //render face positions
+ LLVertexBuffer::unbind();
+ glColor4f(0,1,1,0.5f);
+ glVertexPointer(3, GL_FLOAT, sizeof(LLVector4a), face.mPositions);
+ glDrawElements(GL_TRIANGLES, face.mNumIndices, GL_UNSIGNED_SHORT, face.mIndices);
+ }
+
+ render.traverse(face.mOctree);
+ gGL.popMatrix();
+ glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
+ }
}
}
else if (drawablep->isAvatar())
{
- LLGLDepthTest depth(GL_FALSE);
- LLVOAvatar* av = (LLVOAvatar*) drawablep->getVObj().get();
- av->renderCollisionVolumes();
- }
-
- // draw intersection point
- glPushMatrix();
- glLoadMatrixd(gGLModelView);
- LLVector3 translate = gDebugRaycastIntersection;
- glTranslatef(translate.mV[0], translate.mV[1], translate.mV[2]);
- LLCoordFrame orient;
- orient.lookDir(gDebugRaycastNormal, gDebugRaycastBinormal);
- LLMatrix4 rotation;
- orient.getRotMatrixToParent(rotation);
- glMultMatrixf((float*)rotation.mMatrix);
-
- gGL.color4f(1,0,0,0.5f);
- drawBox(LLVector3(0, 0, 0), LLVector3(0.1f, 0.022f, 0.022f));
- gGL.color4f(0,1,0,0.5f);
- drawBox(LLVector3(0, 0, 0), LLVector3(0.021f, 0.1f, 0.021f));
- gGL.color4f(0,0,1,0.5f);
- drawBox(LLVector3(0, 0, 0), LLVector3(0.02f, 0.02f, 0.1f));
- glPopMatrix();
-
- // draw bounding box of prim
- const LLVector4a* ext = drawablep->getSpatialExtents();
-
- LLVector4a pos;
- pos.setAdd(ext[0], ext[1]);
- pos.mul(0.5f);
- LLVector4a size;
- size.setSub(ext[1], ext[0]);
- size.mul(0.5f);
+ if (drawablep->getVObj() == gDebugRaycastObject)
+ {
+ LLGLDepthTest depth(GL_FALSE);
+ LLVOAvatar* av = (LLVOAvatar*) drawablep->getVObj().get();
+ av->renderCollisionVolumes();
+ }
+ }
- LLGLDepthTest depth(GL_FALSE, GL_TRUE);
- gGL.color4f(0,0.5f,0.5f,1);
- drawBoxOutline(pos, size);
+ if (drawablep->getVObj() == gDebugRaycastObject)
+ {
+ // draw intersection point
+ glPushMatrix();
+ glLoadMatrixd(gGLModelView);
+ LLVector3 translate = gDebugRaycastIntersection;
+ glTranslatef(translate.mV[0], translate.mV[1], translate.mV[2]);
+ LLCoordFrame orient;
+ orient.lookDir(gDebugRaycastNormal, gDebugRaycastBinormal);
+ LLMatrix4 rotation;
+ orient.getRotMatrixToParent(rotation);
+ glMultMatrixf((float*)rotation.mMatrix);
+
+ gGL.color4f(1,0,0,0.5f);
+ drawBox(LLVector3(0, 0, 0), LLVector3(0.1f, 0.022f, 0.022f));
+ gGL.color4f(0,1,0,0.5f);
+ drawBox(LLVector3(0, 0, 0), LLVector3(0.021f, 0.1f, 0.021f));
+ gGL.color4f(0,0,1,0.5f);
+ drawBox(LLVector3(0, 0, 0), LLVector3(0.02f, 0.02f, 0.1f));
+ glPopMatrix();
+
+ // draw bounding box of prim
+ const LLVector4a* ext = drawablep->getSpatialExtents();
+
+ LLVector4a pos;
+ pos.setAdd(ext[0], ext[1]);
+ pos.mul(0.5f);
+ LLVector4a size;
+ size.setSub(ext[1], ext[0]);
+ size.mul(0.5f);
+ LLGLDepthTest depth(GL_FALSE, GL_TRUE);
+ gGL.color4f(0,0.5f,0.5f,1);
+ drawBoxOutline(pos, size);
+ }
}
}
@@ -3163,6 +3277,14 @@ public:
stop_glerror();
}
+ if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
+ {
+ group->rebuildGeom();
+ group->rebuildMesh();
+
+ renderPhysicsShapes(group);
+ }
+
//render visibility wireframe
if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_OCCLUSION))
{
@@ -3221,11 +3343,6 @@ public:
renderNormals(drawable);
}
- if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
- {
- renderPhysicsShape(drawable);
- }
-
if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_BUILD_QUEUE))
{
if (drawable->isState(LLDrawable::IN_REBUILD_Q2))
diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h
index 2e2187bafe..c8c86dfd8c 100644
--- a/indra/newview/llstatusbar.h
+++ b/indra/newview/llstatusbar.h
@@ -2,31 +2,25 @@
* @file llstatusbar.h
* @brief LLStatusBar class definition
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llstylemap.cpp b/indra/newview/llstylemap.cpp
index b3d7dddde8..43fe37ac77 100644
--- a/indra/newview/llstylemap.cpp
+++ b/indra/newview/llstylemap.cpp
@@ -2,31 +2,25 @@
* @file llstylemap.cpp
* @brief LLStyleMap class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llsyswellitem.cpp b/indra/newview/llsyswellitem.cpp
index 1f3d6a582d..4a107fefa8 100644
--- a/indra/newview/llsyswellitem.cpp
+++ b/indra/newview/llsyswellitem.cpp
@@ -2,31 +2,25 @@
* @file llsyswellitem.cpp
* @brief // TODO
*
- * $LicenseInfo:firstyear=2000&license=viewergpl$
- *
- * Copyright (c) 2000-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llsyswellitem.h b/indra/newview/llsyswellitem.h
index 3680e50218..d961708a01 100644
--- a/indra/newview/llsyswellitem.h
+++ b/indra/newview/llsyswellitem.h
@@ -2,31 +2,25 @@
* @file llsyswellitem.h
* @brief // TODO
*
- * $LicenseInfo:firstyear=2003&license=viewergpl$
- *
- * Copyright (c) 2003-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp
index d8b9bc2329..500c2a7b86 100644
--- a/indra/newview/lltexlayer.cpp
+++ b/indra/newview/lltexlayer.cpp
@@ -2,31 +2,25 @@
* @file lltexlayer.cpp
* @brief A texture layer. Used for avatars.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index bd0a43cd54..4e9ebce4d1 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -2,31 +2,25 @@
* @file lltexturefetch.cpp
* @brief Object which fetches textures from the cache and/or network
*
- * $LicenseInfo:firstyear=2000&license=viewergpl$
- *
- * Copyright (c) 2000-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h
index 2024165e7e..796109df06 100644
--- a/indra/newview/lltexturefetch.h
+++ b/indra/newview/lltexturefetch.h
@@ -2,31 +2,25 @@
* @file lltexturefetch.h
* @brief Object for managing texture fetches.
*
- * $LicenseInfo:firstyear=2000&license=viewergpl$
- *
- * Copyright (c) 2000-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lltoastgroupnotifypanel.cpp b/indra/newview/lltoastgroupnotifypanel.cpp
index 57b80fc792..4c75b07ae8 100644
--- a/indra/newview/lltoastgroupnotifypanel.cpp
+++ b/indra/newview/lltoastgroupnotifypanel.cpp
@@ -2,31 +2,25 @@
* @file lltoastgroupnotifypanel.cpp
* @brief Panel for group notify toasts.
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index cf1dd639e1..d8be70e546 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -2,31 +2,25 @@
* @file lltoolpie.cpp
* @brief LLToolPie class implementation
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp
index ad7969681b..bd4d3c2b78 100644
--- a/indra/newview/llurldispatcher.cpp
+++ b/indra/newview/llurldispatcher.cpp
@@ -2,30 +2,25 @@
* @file llurldispatcher.cpp
* @brief Central registry for all URL handlers
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlife.com/developers/opensource/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlife.com/developers/opensource/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "llviewerprecompiledheaders.h"
diff --git a/indra/newview/llviewchildren.cpp b/indra/newview/llviewchildren.cpp
index b86e0ac441..5c5bbdc8f5 100644
--- a/indra/newview/llviewchildren.cpp
+++ b/indra/newview/llviewchildren.cpp
@@ -2,31 +2,25 @@
* @file llviewchildren.cpp
* @brief LLViewChildren class implementation
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewerattachmenu.cpp b/indra/newview/llviewerattachmenu.cpp
index 5b3c4ea773..db7dc3fea6 100644
--- a/indra/newview/llviewerattachmenu.cpp
+++ b/indra/newview/llviewerattachmenu.cpp
@@ -2,31 +2,25 @@
* @file llviewerattachmenu.cpp
* @brief "Attach to" / "Attach to HUD" submenus.
*
- * $LicenseInfo:firstyear=2010&license=viewergpl$
- *
- * Copyright (c) 2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 8eeffb84b0..3e716368fb 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -127,6 +127,45 @@ static bool handleSetShaderChanged(const LLSD& newvalue)
return true;
}
+static bool handleRenderPerfTestChanged(const LLSD& newvalue)
+{
+ bool status = !newvalue.asBoolean();
+ if (!status)
+ {
+ gPipeline.clearRenderTypeMask(LLPipeline::RENDER_TYPE_WL_SKY,
+ LLPipeline::RENDER_TYPE_GROUND,
+ LLPipeline::RENDER_TYPE_TERRAIN,
+ LLPipeline::RENDER_TYPE_GRASS,
+ LLPipeline::RENDER_TYPE_TREE,
+ LLPipeline::RENDER_TYPE_WATER,
+ LLPipeline::RENDER_TYPE_PASS_GRASS,
+ LLPipeline::RENDER_TYPE_HUD,
+ LLPipeline::RENDER_TYPE_PARTICLES,
+ LLPipeline::RENDER_TYPE_CLOUDS,
+ LLPipeline::RENDER_TYPE_HUD_PARTICLES,
+ LLPipeline::END_RENDER_TYPES);
+ gPipeline.setRenderDebugFeatureControl(LLPipeline::RENDER_DEBUG_FEATURE_UI, false);
+ }
+ else
+ {
+ gPipeline.setRenderTypeMask(LLPipeline::RENDER_TYPE_WL_SKY,
+ LLPipeline::RENDER_TYPE_GROUND,
+ LLPipeline::RENDER_TYPE_TERRAIN,
+ LLPipeline::RENDER_TYPE_GRASS,
+ LLPipeline::RENDER_TYPE_TREE,
+ LLPipeline::RENDER_TYPE_WATER,
+ LLPipeline::RENDER_TYPE_PASS_GRASS,
+ LLPipeline::RENDER_TYPE_HUD,
+ LLPipeline::RENDER_TYPE_PARTICLES,
+ LLPipeline::RENDER_TYPE_CLOUDS,
+ LLPipeline::RENDER_TYPE_HUD_PARTICLES,
+ LLPipeline::END_RENDER_TYPES);
+ gPipeline.setRenderDebugFeatureControl(LLPipeline::RENDER_DEBUG_FEATURE_UI, true);
+ }
+
+ return true;
+}
+
static bool handleReleaseGLBufferChanged(const LLSD& newvalue)
{
if (gPipeline.isInit())
@@ -500,6 +539,7 @@ void settings_setup_listeners()
gSavedSettings.getControl("RenderBakeSunlight")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderNoAlpha")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
+ gSavedSettings.getControl("RenderPerformanceTest")->getSignal()->connect(boost::bind(&handleRenderPerfTestChanged, _2));
gSavedSettings.getControl("VertexShaderEnable")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
gSavedSettings.getControl("RenderUIBuffer")->getSignal()->connect(boost::bind(&handleReleaseGLBufferChanged, _2));
gSavedSettings.getControl("RenderSpecularResX")->getSignal()->connect(boost::bind(&handleReleaseGLBufferChanged, _2));
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index a6e8ea032a..75a5b14154 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -2,31 +2,25 @@
* @file llviewerinventory.cpp
* @brief Implementation of the viewer side inventory objects.
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewerjointattachment.cpp b/indra/newview/llviewerjointattachment.cpp
index c9335366cd..ecb7e2064d 100644
--- a/indra/newview/llviewerjointattachment.cpp
+++ b/indra/newview/llviewerjointattachment.cpp
@@ -2,31 +2,25 @@
* @file llviewerjointattachment.cpp
* @brief Implementation of LLViewerJointAttachment class
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 3a360b68a5..776635c475 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -2,31 +2,25 @@
* @file llviewermedia.cpp
* @brief Client interface to the media engine
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index 01063aae06..e0cc26fa29 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -2,31 +2,25 @@
* @file llviewermedia.h
* @brief Client interface to the media engine
*
- * $LicenseInfo:firstyear=2007&license=viewergpl$
- *
- * Copyright (c) 2007-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index dc16cc593d..68fd28ad94 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -3396,8 +3396,21 @@ class LLSelfStandUp : public view_listener_t
bool enable_standup_self()
{
- bool new_value = isAgentAvatarValid() && gAgentAvatarp->isSitting();
- return new_value;
+ return isAgentAvatarValid() && gAgentAvatarp->isSitting();
+}
+
+class LLSelfSitDown : public view_listener_t
+ {
+ bool handleEvent(const LLSD& userdata)
+ {
+ gAgent.sitDown();
+ return true;
+ }
+ };
+
+bool enable_sitdown_self()
+{
+ return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying();
}
// Used from the login screen to aid in UI work on side tray
@@ -8113,11 +8126,13 @@ void initialize_menus()
// Admin top level
view_listener_t::addMenu(new LLAdminOnSaveState(), "Admin.OnSaveState");
- // Self pie menu
+ // Self context menu
view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp");
+ enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));
+ view_listener_t::addMenu(new LLSelfSitDown(), "Self.SitDown");
+ enable.add("Self.EnableSitDown", boost::bind(&enable_sitdown_self));
view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments");
- enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));
view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments");
// we don't use boost::bind directly to delay side tray construction
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index a04c919310..5170858fe4 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2189,7 +2189,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
std::string saved;
if(offline == IM_OFFLINE)
{
- saved = llformat("(Saved %s) ", formatted_time(timestamp).c_str());
+ LLStringUtil::format_map_t args;
+ args["[LONG_TIMESTAMP]"] = formatted_time(timestamp);
+ saved = LLTrans::getString("Saved_message", args);
}
buffer = saved + message;
diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp
index 1fac4d003d..7f7c245717 100644
--- a/indra/newview/llviewernetwork.cpp
+++ b/indra/newview/llviewernetwork.cpp
@@ -3,30 +3,25 @@
* @author James Cook, Richard Nelson
* @brief Networking constants and globals for viewer.
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlife.com/developers/opensource/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlife.com/developers/opensource/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h
index f6cbd57ac0..15e25b4952 100644
--- a/indra/newview/llviewernetwork.h
+++ b/indra/newview/llviewernetwork.h
@@ -3,30 +3,25 @@
* @author James Cook
* @brief Networking constants and globals for viewer.
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2010, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlife.com/developers/opensource/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlife.com/developers/opensource/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index fd2212f25d..4c1a1958e8 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -3279,6 +3279,15 @@ const LLVector3 LLViewerObject::getPositionEdit() const
const LLVector3 LLViewerObject::getRenderPosition() const
{
+ if (mDrawable.notNull() && mDrawable->isState(LLDrawable::RIGGED))
+ {
+ LLVOAvatar* avatar = getAvatar();
+ if (avatar)
+ {
+ return avatar->getPositionAgent();
+ }
+ }
+
if (mDrawable.isNull() || mDrawable->getGeneration() < 0)
{
return getPositionAgent();
@@ -3297,6 +3306,11 @@ const LLVector3 LLViewerObject::getPivotPositionAgent() const
const LLQuaternion LLViewerObject::getRenderRotation() const
{
LLQuaternion ret;
+ if (mDrawable.notNull() && mDrawable->isState(LLDrawable::RIGGED))
+ {
+ return ret;
+ }
+
if (mDrawable.isNull() || mDrawable->isStatic())
{
ret = getRotationEdit();
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index 649b849644..aec920b631 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -554,6 +554,13 @@ public:
LL_VO_HUD_PART_GROUP = LL_PCODE_APP | 0xc0,
} EVOType;
+ typedef enum e_physics_shape_types
+ {
+ PHYSICS_SHAPE_PRIM = 0,
+ PHYSICS_SHAPE_NONE,
+ PHYSICS_SHAPE_CONVEX_HULL,
+ } EPhysicsShapeType;
+
LLUUID mID;
// unique within region, not unique across regions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 0c8a518de0..a6b3c436f4 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7968,7 +7968,7 @@ void LLVOAvatar::getImpostorValues(LLVector4a* extents, LLVector3& angle, F32& d
void LLVOAvatar::idleUpdateRenderCost()
{
- static const U32 ARC_BODY_PART_COST = 20;
+ static const U32 ARC_BODY_PART_COST = 200;
static const U32 ARC_LIMIT = 2048;
static std::set<LLUUID> all_textures;
@@ -7979,7 +7979,7 @@ void LLVOAvatar::idleUpdateRenderCost()
}
U32 cost = 0;
- std::set<LLUUID> textures;
+ LLVOVolume::texture_cost_t textures;
for (U8 baked_index = 0; baked_index < BAKED_NUM_INDICES; baked_index++)
{
@@ -8017,16 +8017,24 @@ void LLVOAvatar::idleUpdateRenderCost()
}
}
}
+
}
+
+ for (LLVOVolume::texture_cost_t::iterator iter = textures.begin(); iter != textures.end(); ++iter)
+ {
+ // add the cost of each individual texture in the linkset
+ cost += iter->second;
+ }
+
// Diagnostic output to identify all avatar-related textures.
// Does not affect rendering cost calculation.
// Could be wrapped in a debug option if output becomes problematic.
if (isSelf())
{
// print any attachment textures we didn't already know about.
- for (std::set<LLUUID>::iterator it = textures.begin(); it != textures.end(); ++it)
+ for (LLVOVolume::texture_cost_t::iterator it = textures.begin(); it != textures.end(); ++it)
{
- LLUUID image_id = *it;
+ LLUUID image_id = it->first;
if( image_id.isNull() || image_id == IMG_DEFAULT || image_id == IMG_DEFAULT_AVATAR)
continue;
if (all_textures.find(image_id) == all_textures.end())
@@ -8057,7 +8065,6 @@ void LLVOAvatar::idleUpdateRenderCost()
}
}
}
- cost += textures.size() * LLVOVolume::ARC_TEXTURE_COST;
setDebugText(llformat("%d", cost));
F32 green = 1.f-llclamp(((F32) cost-(F32)ARC_LIMIT)/(F32)ARC_LIMIT, 0.f, 1.f);
diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h
index 21c815a70c..eb2475f666 100644
--- a/indra/newview/llvoavatarself.h
+++ b/indra/newview/llvoavatarself.h
@@ -3,31 +3,25 @@
* @brief Declaration of LLVOAvatar class which is a derivation fo
* LLViewerObject
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp
index bb80988854..7ae8c2c07d 100644
--- a/indra/newview/llvosky.cpp
+++ b/indra/newview/llvosky.cpp
@@ -2,31 +2,25 @@
* @file llvosky.cpp
* @brief LLVOSky class implementation
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 0a7611c527..f09ce5b363 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -41,9 +41,11 @@
#include "llviewercontrol.h"
#include "lldir.h"
#include "llflexibleobject.h"
+#include "llfloatertools.h"
#include "llmaterialtable.h"
#include "llprimitive.h"
#include "llvolume.h"
+#include "llvolumeoctree.h"
#include "llvolumemgr.h"
#include "llvolumemessage.h"
#include "material_codes.h"
@@ -70,6 +72,7 @@
#include "llselectmgr.h"
#include "pipeline.h"
#include "llsdutil.h"
+#include "llmatrix4a.h"
#include "llmediaentry.h"
#include "llmediadataclient.h"
#include "llmeshrepository.h"
@@ -1355,7 +1358,14 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global)
LLVector4a min,max;
- BOOL rebuild = mDrawable->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION);
+ BOOL rebuild = mDrawable->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION | LLDrawable::REBUILD_RIGGED);
+
+ bool rigged = false;
+ LLVolume* volume = mRiggedVolume;
+ if (!volume)
+ {
+ volume = getVolume();
+ }
for (S32 i = 0; i < getVolume()->getNumVolumeFaces(); i++)
{
@@ -1364,7 +1374,7 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global)
{
continue;
}
- res &= face->genVolumeBBoxes(*getVolume(), i,
+ res &= face->genVolumeBBoxes(*volume, i,
mRelativeXform, mRelativeXformInvTrans,
(mVolumeImpl && mVolumeImpl->isVolumeGlobal()) || force_global);
@@ -1415,7 +1425,21 @@ void LLVOVolume::updateRelativeXform()
LLDrawable* drawable = mDrawable;
- if (drawable->isActive())
+ if (drawable->isState(LLDrawable::RIGGED) && mRiggedVolume.notNull())
+ { //rigged volume (which is in agent space) is used for generating bounding boxes etc
+ //inverse of render matrix should go to partition space
+ mRelativeXform = getRenderMatrix();
+
+ F32* dst = (F32*) mRelativeXformInvTrans.mMatrix;
+ F32* src = (F32*) mRelativeXform.mMatrix;
+ dst[0] = src[0]; dst[1] = src[1]; dst[2] = src[2];
+ dst[3] = src[4]; dst[4] = src[5]; dst[5] = src[6];
+ dst[6] = src[8]; dst[7] = src[9]; dst[8] = src[10];
+
+ mRelativeXform.invert();
+ mRelativeXformInvTrans.transpose();
+ }
+ else if (drawable->isActive())
{
// setup relative transforms
LLQuaternion delta_rot;
@@ -1497,11 +1521,22 @@ void LLVOVolume::updateRelativeXform()
static LLFastTimer::DeclareTimer FTM_GEN_FLEX("Generate Flexies");
static LLFastTimer::DeclareTimer FTM_UPDATE_PRIMITIVES("Update Primitives");
+static LLFastTimer::DeclareTimer FTM_UPDATE_RIGGED_VOLUME("Update Rigged");
BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)
{
LLFastTimer t(FTM_UPDATE_PRIMITIVES);
+ if (mDrawable->isState(LLDrawable::REBUILD_RIGGED))
+ {
+ {
+ LLFastTimer t(FTM_UPDATE_RIGGED_VOLUME);
+ updateRiggedVolume();
+ }
+ genBBoxes(FALSE);
+ mDrawable->clearState(LLDrawable::REBUILD_RIGGED);
+ }
+
if (mVolumeImpl != NULL)
{
BOOL res;
@@ -1597,7 +1632,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)
{
LLPipeline::sCompiles++;
}
-
+
mVolumeChanged = FALSE;
mLODChanged = FALSE;
mSculptChanged = FALSE;
@@ -2724,6 +2759,11 @@ BOOL LLVOVolume::isVolumeGlobal() const
{
return mVolumeImpl->isVolumeGlobal() ? TRUE : FALSE;
}
+ else if (mRiggedVolume.notNull())
+ {
+ return TRUE;
+ }
+
return FALSE;
}
@@ -2872,17 +2912,30 @@ const LLMatrix4 LLVOVolume::getRenderMatrix() const
// total cost is returned value + 5 * size of the resulting set.
// Cannot include cost of textures, as they may be re-used in linked
// children, and cost should only be increased for unique textures -Nyx
-U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
+U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const
{
// base cost of each prim should be 10 points
static const U32 ARC_PRIM_COST = 10;
+
+ // get access to params we'll need at various points
+ LLVolumeParams volume_params = getVolume()->getParams();
+ LLPathParams path_params = volume_params.getPathParams();
+ LLProfileParams profile_params = volume_params.getProfileParams();
+
// per-prim costs
static const U32 ARC_INVISI_COST = 1;
- static const U32 ARC_SHINY_COST = 1;
- static const U32 ARC_GLOW_COST = 1;
- static const U32 ARC_FLEXI_COST = 8;
- static const U32 ARC_PARTICLE_COST = 16;
- static const U32 ARC_BUMP_COST = 4;
+ static const U32 ARC_PARTICLE_COST = 100;
+ static const U32 ARC_CUT_COST = 1;
+ static const U32 ARC_TEXTURE_COST = 5;
+
+ // per-prim multipliers
+ static const U32 ARC_HOLLOW_MULT = 2;
+ static const U32 ARC_CIRC_PROF_MULT = 2;
+ static const U32 ARC_CIRC_PATH_MULT = 2;
+ static const U32 ARC_GLOW_MULT = 2;
+ static const U32 ARC_BUMP_MULT = 2;
+ static const U32 ARC_FLEXI_MULT = 4;
+ static const U32 ARC_SHINY_MULT = 2;
// per-face costs
static const U32 ARC_PLANAR_COST = 1;
@@ -2901,6 +2954,61 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
U32 scale = 0;
U32 bump = 0;
U32 planar = 0;
+ U32 cuts = 0;
+ U32 hollow = 0;
+ U32 twist = 0;
+ U32 circular_profile = 0;
+ U32 circular_path = 0;
+
+ const LLDrawable* drawablep = mDrawable;
+
+ if (isSculpted())
+ {
+ if (isMesh())
+ {
+ // base cost is dependent on mesh complexity
+ // note that 3 is the highest LOD as of the time of this coding.
+ S32 size = gMeshRepo.getMeshSize(volume_params.getSculptID(),3);
+ if ( size > 0)
+ {
+ if (gMeshRepo.getSkinInfo(volume_params.getSculptID()))
+ {
+ // weighted attachment - 1 point for every 3 bytes
+ shame = (U32)(size / 3.f);
+ }
+ else
+ {
+ // non-weighted attachment - 1 point for every 4 bytes
+ shame = (U32)(size / 4.f);
+ }
+
+ if (shame == 0)
+ {
+ // someone made a really tiny mesh.
+ shame = 1;
+ }
+ }
+ else
+ {
+ // something went wrong - user should know their content isn't render-free
+ return 0;
+ }
+ }
+ else
+ {
+ const LLSculptParams *sculpt_params = (LLSculptParams *) getParameterEntry(LLNetworkData::PARAMS_SCULPT);
+ LLUUID sculpt_id = sculpt_params->getSculptTexture();
+ if (textures.find(sculpt_id) == textures.end())
+ {
+ LLViewerFetchedTexture *texture = LLViewerTextureManager::getFetchedTexture(sculpt_id);
+ if (texture)
+ {
+ S32 texture_cost = ARC_TEXTURE_COST * (texture->getFullHeight() / 128 + texture->getFullWidth() / 128 + 1);
+ textures.insert(texture_cost_t::value_type(sculpt_id, texture_cost));
+ }
+ }
+ }
+ }
if (isFlexible())
{
@@ -2913,14 +3021,63 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
const LLVector3& sc = getScale();
scale += (U32) sc.mV[0] + (U32) sc.mV[1] + (U32) sc.mV[2];
+ if (scale > 4)
+ {
+ // scale is a multiplier, cap it at 4.
+ scale = 4;
+ }
- const LLDrawable* drawablep = mDrawable;
+ // add points for cut prims
+ if (path_params.getBegin() != 0.f || path_params.getEnd() != 1.f)
+ {
+ ++cuts;
+ }
- if (isSculpted())
+ if (profile_params.getBegin() != 0.f || profile_params.getEnd() != 1.f)
{
- const LLSculptParams *sculpt_params = (LLSculptParams *) getParameterEntry(LLNetworkData::PARAMS_SCULPT);
- LLUUID sculpt_id = sculpt_params->getSculptTexture();
- textures.insert(sculpt_id);
+ ++cuts;
+ }
+
+ // double cost for hollow prims / sculpties
+ if (volume_params.getHollow() != 0.f)
+ {
+ hollow = 1;
+ }
+
+ // twist - scale by twist extent / 90
+ if (volume_params.getTwistBegin() != 0.f)
+ {
+ U32 scale = abs((S32)(volume_params.getTwistBegin() / 90.f) + 1);
+ twist += scale;
+ }
+
+ // twist - scale by twist extent / 90
+ if (volume_params.getTwist() != 0.f)
+ {
+ U32 scale = abs((S32)(volume_params.getTwist() / 90.f) + 1);
+ twist += scale;
+ }
+
+ // double cost for circular profiles / sculpties
+ if (profile_params.getCurveType() == LL_PCODE_PROFILE_CIRCLE ||
+ profile_params.getCurveType() == LL_PCODE_PROFILE_CIRCLE_HALF)
+ {
+ circular_profile = 1;
+ }
+
+ // double cost for circular paths / sculpties
+ if (path_params.getCurveType() == LL_PCODE_PATH_CIRCLE ||
+ path_params.getCurveType() == LL_PCODE_PATH_CIRCLE2)
+ {
+ circular_path = 1;
+ }
+
+ // treat sculpties as hollow prims with circular paths & profiles
+ if (isSculpted() && !isMesh())
+ {
+ hollow = 1;
+ circular_profile = 1;
+ circular_path = 1;
}
for (S32 i = 0; i < drawablep->getNumFaces(); ++i)
@@ -2931,7 +3088,11 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
if (img)
{
- textures.insert(img->getID());
+ if (textures.find(img->getID()) == textures.end())
+ {
+ S32 texture_cost = ARC_TEXTURE_COST * (img->getFullHeight() / 128 + img->getFullWidth() / 128 + 1);
+ textures.insert(texture_cost_t::value_type(img->getID(), texture_cost));
+ }
}
if (face->getPoolType() == LLDrawPool::POOL_ALPHA)
@@ -2940,21 +3101,24 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
}
else if (img && img->getPrimaryFormat() == GL_ALPHA)
{
- invisi = 1;
+ invisi++;
}
if (te)
{
if (te->getBumpmap())
{
+ // bump is a multiplier, don't add per-face
bump = 1;
}
if (te->getShiny())
{
+ // shiny is a multiplier, don't add per-face
shiny = 1;
}
if (te->getGlow() > 0.f)
{
+ // glow is a multiplier, don't add per-face
glow = 1;
}
if (face->mTextureMatrix != NULL)
@@ -2968,17 +3132,63 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
}
}
+ // shame currently has the "base" cost of 10 for normal prims, variable for mesh
- shame += invisi * ARC_INVISI_COST;
- shame += shiny * ARC_SHINY_COST;
- shame += glow * ARC_GLOW_COST;
- shame += alpha * ARC_ALPHA_COST;
- shame += flexi * ARC_FLEXI_COST;
+ // add modifier settings
+ shame += cuts * ARC_CUT_COST;
+ shame += planar * ARC_PLANAR_COST;
shame += animtex * ARC_ANIM_TEX_COST;
+ shame += alpha * ARC_ALPHA_COST;
+ shame += invisi * ARC_INVISI_COST;
+
+ // multiply shame by multipliers
+ if (hollow)
+ {
+ shame *= hollow * ARC_HOLLOW_MULT;
+ }
+
+ if (twist)
+ {
+ shame *= twist;
+ }
+
+ if (circular_profile)
+ {
+ shame *= circular_profile * ARC_CIRC_PROF_MULT;
+ }
+
+ if (circular_path)
+ {
+ shame *= circular_path * ARC_CIRC_PATH_MULT;
+ }
+
+ if (glow)
+ {
+ shame *= glow * ARC_GLOW_MULT;
+ }
+
+ if (bump)
+ {
+ shame *= bump * ARC_BUMP_MULT;
+ }
+
+ if (flexi)
+ {
+ shame *= flexi * ARC_FLEXI_MULT;
+ }
+
+ if (shiny)
+ {
+ shame *= shiny * ARC_SHINY_MULT;
+ }
+
+ if (scale)
+ {
+ shame *= scale;
+ }
+
+ // add additional costs
shame += particles * ARC_PARTICLE_COST;
- shame += bump * ARC_BUMP_COST;
- shame += planar * ARC_PLANAR_COST;
- shame += scale;
LLViewerObject::const_child_list_t& child_list = getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
@@ -3220,12 +3430,37 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e
BOOL ret = FALSE;
LLVolume* volume = getVolume();
+
+ bool transform = true;
+
+ if (mDrawable->isState(LLDrawable::RIGGED))
+ {
+ if (LLFloater::isVisible(gFloaterTools) && getAvatar()->isSelf())
+ {
+ gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_RIGGED, TRUE);
+ volume = mRiggedVolume;
+ transform = false;
+ }
+ else
+ { //cannot pick rigged attachments on other avatars or when not in build mode
+ return FALSE;
+ }
+ }
+
if (volume)
{
LLVector3 v_start, v_end, v_dir;
- v_start = agentPositionToVolume(start);
- v_end = agentPositionToVolume(end);
+ if (transform)
+ {
+ v_start = agentPositionToVolume(start);
+ v_end = agentPositionToVolume(end);
+ }
+ else
+ {
+ v_start = start;
+ v_end = end;
+ }
LLVector3 p;
LLVector3 n;
@@ -3285,18 +3520,40 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e
if (intersection != NULL)
{
- *intersection = volumePositionToAgent(p); // must map back to agent space
+ if (transform)
+ {
+ *intersection = volumePositionToAgent(p); // must map back to agent space
+ }
+ else
+ {
+ *intersection = p;
+ }
}
if (normal != NULL)
{
- *normal = volumeDirectionToAgent(n);
+ if (transform)
+ {
+ *normal = volumeDirectionToAgent(n);
+ }
+ else
+ {
+ *normal = n;
+ }
+
(*normal).normVec();
}
if (bi_normal != NULL)
{
- *bi_normal = volumeDirectionToAgent(bn);
+ if (transform)
+ {
+ *bi_normal = volumeDirectionToAgent(bn);
+ }
+ else
+ {
+ *bi_normal = bn;
+ }
(*bi_normal).normVec();
}
@@ -3314,6 +3571,201 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e
return ret;
}
+bool LLVOVolume::treatAsRigged()
+{
+ return LLFloater::isVisible(gFloaterTools) &&
+ isAttachment() &&
+ getAvatar() &&
+ getAvatar()->isSelf() &&
+ mDrawable.notNull() &&
+ mDrawable->isState(LLDrawable::RIGGED);
+}
+
+LLRiggedVolume* LLVOVolume::getRiggedVolume()
+{
+ return mRiggedVolume;
+}
+
+void LLVOVolume::clearRiggedVolume()
+{
+ if (mRiggedVolume.notNull())
+ {
+ mRiggedVolume = NULL;
+ updateRelativeXform();
+ }
+}
+
+void LLVOVolume::updateRiggedVolume()
+{
+ //Update mRiggedVolume to match current animation frame of avatar.
+ //Also update position/size in octree.
+
+ if (!treatAsRigged())
+ {
+ clearRiggedVolume();
+
+ return;
+ }
+
+ LLVolume* volume = getVolume();
+
+ const LLMeshSkinInfo* skin = gMeshRepo.getSkinInfo(volume->getParams().getSculptID());
+
+ if (!skin)
+ {
+ clearRiggedVolume();
+ return;
+ }
+
+ LLVOAvatar* avatar = getAvatar();
+
+ if (!avatar)
+ {
+ clearRiggedVolume();
+ return;
+ }
+
+ if (!mRiggedVolume)
+ {
+ LLVolumeParams p;
+ mRiggedVolume = new LLRiggedVolume(p);
+ updateRelativeXform();
+ }
+
+ mRiggedVolume->update(skin, avatar, volume);
+
+}
+
+static LLFastTimer::DeclareTimer FTM_SKIN_RIGGED("Skin");
+static LLFastTimer::DeclareTimer FTM_RIGGED_OCTREE("Octree");
+
+void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, const LLVolume* volume)
+{
+ bool copy = false;
+ if (volume->getNumVolumeFaces() != getNumVolumeFaces())
+ {
+ copy = true;
+ }
+
+ for (S32 i = 0; i < volume->getNumVolumeFaces() && !copy; ++i)
+ {
+ const LLVolumeFace& src_face = volume->getVolumeFace(i);
+ const LLVolumeFace& dst_face = getVolumeFace(i);
+
+ if (src_face.mNumIndices != dst_face.mNumIndices ||
+ src_face.mNumVertices != dst_face.mNumVertices)
+ {
+ copy = true;
+ }
+ }
+
+ if (copy)
+ {
+ copyVolumeFaces(volume);
+ }
+
+ //build matrix palette
+ LLMatrix4a mp[64];
+ LLMatrix4* mat = (LLMatrix4*) mp;
+
+ for (U32 j = 0; j < skin->mJointNames.size(); ++j)
+ {
+ LLJoint* joint = avatar->getJoint(skin->mJointNames[j]);
+ if (joint)
+ {
+ mat[j] = skin->mInvBindMatrix[j];
+ mat[j] *= joint->getWorldMatrix();
+ }
+ }
+
+ for (S32 i = 0; i < volume->getNumVolumeFaces(); ++i)
+ {
+ const LLVolumeFace& vol_face = volume->getVolumeFace(i);
+
+ LLVolumeFace& dst_face = mVolumeFaces[i];
+
+ LLVector4a* weight = vol_face.mWeights;
+
+ LLMatrix4a bind_shape_matrix;
+ bind_shape_matrix.loadu(skin->mBindShapeMatrix);
+
+ LLVector4a* pos = dst_face.mPositions;
+
+ {
+ LLFastTimer t(FTM_SKIN_RIGGED);
+
+ for (U32 j = 0; j < dst_face.mNumVertices; ++j)
+ {
+ LLMatrix4a final_mat;
+ final_mat.clear();
+
+ S32 idx[4];
+
+ LLVector4 wght;
+
+ F32 scale = 0.f;
+ for (U32 k = 0; k < 4; k++)
+ {
+ F32 w = weight[j][k];
+
+ idx[k] = (S32) floorf(w);
+ wght[k] = w - floorf(w);
+ scale += wght[k];
+ }
+
+ wght *= 1.f/scale;
+
+ for (U32 k = 0; k < 4; k++)
+ {
+ F32 w = wght[k];
+
+ LLMatrix4a src;
+ src.setMul(mp[idx[k]], w);
+
+ final_mat.add(src);
+ }
+
+
+ LLVector4a& v = vol_face.mPositions[j];
+ LLVector4a t;
+ LLVector4a dst;
+ bind_shape_matrix.affineTransform(v, t);
+ final_mat.affineTransform(t, dst);
+ pos[j] = dst;
+ }
+
+ //update bounding box
+ LLVector4a& min = dst_face.mExtents[0];
+ LLVector4a& max = dst_face.mExtents[1];
+
+ min = pos[0];
+ max = pos[1];
+
+ for (U32 j = 1; j < dst_face.mNumVertices; ++j)
+ {
+ min.setMin(min, pos[j]);
+ max.setMax(max, pos[j]);
+ }
+
+ dst_face.mCenter->setAdd(dst_face.mExtents[0], dst_face.mExtents[1]);
+ dst_face.mCenter->mul(0.5f);
+
+ }
+
+ {
+ LLFastTimer t(FTM_RIGGED_OCTREE);
+ delete dst_face.mOctree;
+ dst_face.mOctree = NULL;
+
+ LLVector4a size;
+ size.setSub(dst_face.mExtents[1], dst_face.mExtents[0]);
+ size.splat(size.getLength3().getF32()*0.5f);
+
+ dst_face.createOctree(1.f);
+ }
+ }
+}
+
U32 LLVOVolume::getPartitionType() const
{
if (isHUDAttachment())
@@ -3562,6 +4014,8 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
bool bake_sunlight = LLPipeline::sBakeSunlight && drawablep->isStatic();
+ bool is_rigged = false;
+
//for each face
for (S32 i = 0; i < drawablep->getNumFaces(); i++)
{
@@ -3577,8 +4031,9 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
facep->mVertexBuffer = NULL;
facep->mLastVertexBuffer = NULL;
}
-
+
facep->setState(LLFace::RIGGED);
+ is_rigged = true;
//get drawpool of avatar with rigged face
LLDrawPoolAvatar* pool = get_avatar_drawpool(vobj);
@@ -3788,6 +4243,15 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
facep->mLastVertexBuffer = NULL;
}
}
+
+ if (is_rigged)
+ {
+ drawablep->setState(LLDrawable::RIGGED);
+ }
+ else
+ {
+ drawablep->clearState(LLDrawable::RIGGED);
+ }
}
group->mBufferUsage = useage;
diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h
index f97214295a..f058710a27 100644
--- a/indra/newview/llvovolume.h
+++ b/indra/newview/llvovolume.h
@@ -46,6 +46,8 @@ class LLDrawPool;
class LLSelectNode;
class LLObjectMediaDataClient;
class LLObjectMediaNavigateClient;
+class LLVOAvatar;
+class LLMeshSkinInfo;
typedef std::vector<viewer_media_t> media_list_t;
@@ -54,6 +56,18 @@ enum LLVolumeInterfaceType
INTERFACE_FLEXIBLE = 1,
};
+
+class LLRiggedVolume : public LLVolume
+{
+public:
+ LLRiggedVolume(const LLVolumeParams& params)
+ : LLVolume(params, 0.f)
+ {
+ }
+
+ void update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, const LLVolume* src_volume);
+};
+
// Base class for implementations of the volume - Primitive, Flexible Object, etc.
class LLVolumeInterface
{
@@ -120,7 +134,8 @@ public:
const LLMatrix4& getRelativeXform() const { return mRelativeXform; }
const LLMatrix3& getRelativeXformInvTrans() const { return mRelativeXformInvTrans; }
/*virtual*/ const LLMatrix4 getRenderMatrix() const;
- U32 getRenderCost(std::set<LLUUID> &textures) const;
+ typedef std::map<LLUUID, S32> texture_cost_t;
+ U32 getRenderCost(texture_cost_t &textures) const;
/*virtual*/ BOOL lineSegmentIntersect(const LLVector3& start, const LLVector3& end,
S32 face = -1, // which face to check, -1 = ALL_SIDES
@@ -288,6 +303,21 @@ public:
void removeMDCImpl() { --mMDCImplCount; }
S32 getMDCImplCount() { return mMDCImplCount; }
+
+ //rigged volume update (for raycasting)
+ void updateRiggedVolume();
+ LLRiggedVolume* getRiggedVolume();
+
+ //returns true if volume should be treated as a rigged volume
+ // - Build tools are open
+ // - object is an attachment
+ // - object is attached to self
+ // - object is rendered as rigged
+ bool treatAsRigged();
+
+ //clear out rigged volume and revert back to non-rigged state for picking/LOD/distance updates
+ void clearRiggedVolume();
+
protected:
S32 computeLODDetail(F32 distance, F32 radius);
BOOL calcLOD();
@@ -321,6 +351,9 @@ private:
S32 mLastFetchedMediaVersion; // as fetched from the server, starts as -1
S32 mIndexInTex;
S32 mMDCImplCount;
+
+ LLPointer<LLRiggedVolume> mRiggedVolume;
+
// statics
public:
static F32 sLODSlopDistanceFactor;// Changing this to zero, effectively disables the LOD transition slop
@@ -330,8 +363,6 @@ public:
static LLPointer<LLObjectMediaDataClient> sObjectMediaClient;
static LLPointer<LLObjectMediaNavigateClient> sObjectMediaNavigateClient;
- static const U32 ARC_TEXTURE_COST = 5;
-
protected:
static S32 sNumLODChanges;
diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp
index 1209b60679..d1c0990f90 100644
--- a/indra/newview/llwearable.cpp
+++ b/indra/newview/llwearable.cpp
@@ -2,31 +2,25 @@
* @file llwearable.cpp
* @brief LLWearable class implementation
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index e8052aa5a0..8b4feac3cd 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -402,6 +402,14 @@ void LLPipeline::init()
toggleRenderType(RENDER_TYPE_GROUND);
}
+ // make sure RenderPerformanceTest persists (hackity hack hack)
+ // disables non-object rendering (UI, sky, water, etc)
+ if (gSavedSettings.getBOOL("RenderPerformanceTest"))
+ {
+ gSavedSettings.setBOOL("RenderPerformanceTest", FALSE);
+ gSavedSettings.setBOOL("RenderPerformanceTest", TRUE);
+ }
+
mOldRenderDebugMask = mRenderDebugMask;
mBackfaceCull = TRUE;
@@ -2367,8 +2375,7 @@ void LLPipeline::markGLRebuild(LLGLUpdate* glu)
void LLPipeline::markRebuild(LLSpatialGroup* group, BOOL priority)
{
LLMemType mt(LLMemType::MTYPE_PIPELINE);
- //assert_main_thread();
-
+
if (group && !group->isDead() && group->mSpatialPartition)
{
if (group->mSpatialPartition->mPartitionType == LLViewerRegion::PARTITION_HUD)
@@ -5359,6 +5366,18 @@ BOOL LLPipeline::toggleRenderDebugFeatureControl(void* data)
return gPipeline.hasRenderDebugFeatureMask(bit);
}
+void LLPipeline::setRenderDebugFeatureControl(U32 bit, bool value)
+{
+ if (value)
+ {
+ gPipeline.mRenderDebugFeatureMask |= bit;
+ }
+ else
+ {
+ gPipeline.mRenderDebugFeatureMask &= !bit;
+ }
+}
+
// static
void LLPipeline::setRenderScriptedBeacons(BOOL val)
{
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 56c64b190b..bed4155d15 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -51,6 +51,8 @@
#include <stack>
+#include <stack>
+
class LLViewerTexture;
class LLEdge;
class LLFace;
@@ -325,6 +327,7 @@ public:
static BOOL toggleRenderTypeControlNegated(void* data);
static BOOL toggleRenderDebugControl(void* data);
static BOOL toggleRenderDebugFeatureControl(void* data);
+ static void setRenderDebugFeatureControl(U32 bit, bool value);
static void setRenderParticleBeacons(BOOL val);
static void toggleRenderParticleBeacons(void* data);
diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc
index 9bafc28705..5e8cee1f5f 100644
--- a/indra/newview/res/viewerRes.rc
+++ b/indra/newview/res/viewerRes.rc
@@ -129,8 +129,8 @@ TOOLSIT CURSOR "toolsit.cur"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,1,0,13828
- PRODUCTVERSION 2,1,0,13828
+ FILEVERSION 2,1,1,0
+ PRODUCTVERSION 2,1,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -147,12 +147,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Linden Lab"
VALUE "FileDescription", "Second Life"
- VALUE "FileVersion", "2.1.0.13828"
+ VALUE "FileVersion", "2.1.1.0"
VALUE "InternalName", "Second Life"
- VALUE "LegalCopyright", "Copyright © 2001-2008, Linden Research, Inc."
+ VALUE "LegalCopyright", "Copyright � 2001-2010, Linden Research, Inc."
VALUE "OriginalFilename", "SecondLife.exe"
VALUE "ProductName", "Second Life"
- VALUE "ProductVersion", "2.1.0.13828"
+ VALUE "ProductVersion", "2.1.1.0"
END
END
BLOCK "VarFileInfo"
diff --git a/indra/newview/skins/default/xui/de/panel_login.xml b/indra/newview/skins/default/xui/de/panel_login.xml
index 0f02de866b..b373be4382 100644
--- a/indra/newview/skins/default/xui/de/panel_login.xml
+++ b/indra/newview/skins/default/xui/de/panel_login.xml
@@ -20,7 +20,7 @@
<text name="start_location_text">
Hier anfangen:
</text>
- <combo_box name="start_location_combo" width="150">
+ <combo_box name="start_location_combo">
<combo_box.item label="Mein letzter Standort" name="MyLastLocation"/>
<combo_box.item label="Mein Zuhause" name="MyHome"/>
<combo_box.item label="&lt;Region eingeben&gt;" name="Typeregionname"/>
diff --git a/indra/newview/skins/default/xui/en/floater_import_collada.xml b/indra/newview/skins/default/xui/en/floater_import_collada.xml
new file mode 100644
index 0000000000..441ab6a2de
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_import_collada.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater can_close="false" can_drag_on_left="false" can_minimize="false"
+ can_resize="false" height="160" min_height="160" width="300" min_width="300"
+ name="Import Collada" title="Import Scene">
+
+ <text bottom_delta="40" left="20" name="mesh count" height="15" follows="top|left">
+ Meshes: [COUNT]
+ </text>
+
+ <text bottom_delta="20" left="20" name="texture count" height="15" follows="top|left">
+ Textures: [COUNT]
+ </text>
+
+ <text bottom_delta="40" left="10" name="status" height="15" follows="top|left">
+ Status: [STATUS]
+ </text>
+
+ <button
+ bottom_delta="40"
+ name="cancel"
+ label="Cancel"
+ enabled="true"
+ height="20"
+ layout="topleft"
+ left="125"
+ width="75" />
+
+ <button
+ bottom_delta="0"
+ name="ok"
+ label="OK"
+ enabled="true"
+ height="20"
+ layout="topleft"
+ left="210"
+ width="75" />
+
+ <string name="status_idle">Idle</string>
+ <string name="status_uploading">Uploading [NAME]</string>
+ <string name="status_creating">Creating object [NAME]</string>
+
+ </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml
new file mode 100644
index 0000000000..de9f3ee87e
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater can_close="true" can_drag_on_left="false" can_minimize="false"
+ can_resize="false" height="656" min_height="656" min_width="856"
+ name="Model Preview" title="Import Model" width="856">
+
+ <text bottom_delta="20" left="10" name="status" height="15" follows="top|left">
+ Status: [STATUS]
+ </text>
+
+ <string name="status_idle">Idle</string>
+ <string name="status_reading_file">Loading...</string>
+ <string name="status_generating_meshes">Generating Meshes...</string>
+ <string name="missing_lod">Cannot upload, missing required level of detail.</string>
+ <string name="bad_lod">Cannot upload, supplied levels of detail invalid.</string>"
+ <string name="too_heavy">Too many vertices.</string>
+ <string name="required">Required</string>
+ <string name="good">Good</string>
+ <string name="mesh_mismatch">Submesh count mismatch.</string>
+ <string name="model_mismatch">Model count mismatch.</string>
+
+ <combo_box bottom_delta="20" follows="right|top" height="18" label="Preview"
+ left="450" name="preview_lod_combo" width="120" tool_tip="LOD to view in preview render">
+ <combo_item name="preview_lowest">
+ Lowest
+ </combo_item>
+ <combo_item name="preview_low">
+ Low
+ </combo_item>
+ <combo_item name="preview_medium">
+ Medium
+ </combo_item>
+ <combo_item name="preview_high">
+ High
+ </combo_item>
+ <combo_item name="preview_high">
+ Physics
+ </combo_item>
+ </combo_box>
+
+ <button bottom_delta="0" left="10" width="120" name="auto fill" label="Generate LOD" tool_tip="Automatically generate levels of detail"/>
+ <button bottom_delta="0" left="140" width="120" name="smooth normals" label="Generate Normals" tool_tip="Regenerate normals based on mesh shape"/>
+ <button bottom_delta="0" left="260" width="120" name="consolidate" label="Consolidate" tool_tip="Combine similar submeshes (reduces number of submeshes)"/>
+ <button bottom_delta="30" left="260" width="120" name="scrub materials" label="Scrub Materials" tool_tip="Remove all material information (clear textures, set all colors to white)."/>
+
+ <spinner bottom_delta="0" left="140" width="120" height="16" initial_value="75" label_width="60" name="edge threshold" decimal_digits="0" min_val="0" max_val="180" increment="5" label="Hard Angle" tool_tip="Maximum angle that will be smoothed between triangles when using Generate Normals"/>
+ <check_box bottom_delta="0" left="450" label="Show Edges" name="show edges" width="120" height="16" tool_tip="Render wireframe in preview window"/>
+ <text bottom_delta="30" follows="top|left" height="15" left="10" name="high_lod_label">
+ High LOD:
+ </text>
+ <combo_box bottom_delta="0" left="97" follows="left|top" height="18"
+ name="high detail combo" width="100" tool_tip="Specify mesh for this level of detail">
+ <combo_item name="high choose file">
+ Choose File...
+ </combo_item>
+ <combo_item name="high triangle limit">
+ Triangle Limit
+ </combo_item>
+ </combo_box>
+ <spinner bottom_delta="-5" left="200" width="120" name="high limit" decimal_digits="0" increment="1" min_val="0" max_val="100" tool_tip="Triangle budget for this LOD"/>
+ <text bottom_delta="25" follows="top|left" height="15" left="10" name="high info" width="300">
+ [TRIANGLES] Triangles, [VERTICES] Vertices, [SUBMESHES] Submeshes.
+ [MESSAGE]
+ </text>
+
+ <text bottom_delta="35" follows="top|left" height="15" left="10" name="medium_lod_label">
+ Medium LOD:
+ </text>
+ <combo_box bottom_delta="0" left="97" follows="left|top" height="18"
+ name="medium detail combo" width="100" tool_tip="Specify mesh for this level of detail">
+ <combo_item name="medium choose file">
+ Choose File...
+ </combo_item>
+ <combo_item name="medium triangle limit">
+ Triangle Limit
+ </combo_item>
+ </combo_box>
+ <spinner bottom_delta="-5" left="200" width="120" name="medium limit" decimal_digits="0" increment="1" min_val="0" max_val="100" tool_tip="Triangle budget for this LOD"/>
+ <text bottom_delta="25" follows="top|left" height="15" left="10" name="medium info" width="300">
+ [TRIANGLES] Triangles, [VERTICES] Vertices, [SUBMESHES] Submeshes.
+ [MESSAGE]
+ </text>
+
+ <text bottom_delta="35" follows="top|left" height="15" left="10" name="low_lod_label">
+ Low LOD:
+ </text>
+ <combo_box bottom_delta="0" left="97" follows="left|top" height="18"
+ name="low detail combo" width="100" tool_tip="Specify mesh for this level of detail">
+ <combo_item name="low choose file">
+ Choose File...
+ </combo_item>
+ <combo_item name="low triangle limit">
+ Triangle Limit
+ </combo_item>
+ </combo_box>
+ <spinner bottom_delta="-5" left="200" width="120" name="low limit" decimal_digits="0" increment="1" min_val="0" max_val="100" tool_tip="Triangle budget for this LOD"/>
+ <text bottom_delta="25" follows="top|left" height="15" left="10" name="low info" width="300">
+ [TRIANGLES] Triangles, [VERTICES] Vertices, [SUBMESHES] Submeshes
+ [MESSAGE]
+ </text>
+
+ <text bottom_delta="35" follows="top|left" height="15" left="10" name="lowest_lod_label">
+ Lowest LOD:
+ </text>
+ <combo_box bottom_delta="0" left="97" folimpostors="left|top" height="18"
+ name="lowest detail combo" width="100" tool_tip="Specify mesh for this level of detail">
+ <combo_item name="lowest choose file">
+ Choose File...
+ </combo_item>
+ <combo_item name="lowest triangle limit">
+ Triangle Limit
+ </combo_item>
+ </combo_box>
+ <spinner bottom_delta="-5" left="200" width="120" name="lowest limit" decimal_digits="0" increment="1" min_val="0" max_val="100" tool_tip="Triangle budget for this LOD"/>
+ <text bottom_delta="25" follows="top|left" height="15" left="10" name="lowest info" width="300">
+ [TRIANGLES] Triangles, [VERTICES] Vertices, [SUBMESHES] Submeshes
+ [MESSAGE]
+ </text>
+
+ <text bottom_delta="35" follows="top|left" height="15" left="10" name="physics_lod_label">
+ Physical Shape:
+ </text>
+ <combo_box bottom_delta="0" left="97" follows="left|top" height="18"
+ name="physics detail combo" width="100">
+ <combo_item name="physics choose file">
+ Choose File...
+ </combo_item>
+ <combo_item name="physics triangle limit">
+ Triangle Limit...
+ </combo_item>
+ </combo_box>
+ <spinner bottom_delta="-5" left="200" width="90" name="physics limit" decimal_digits="0" increment="1" min_val="0" max_val="100" tool_tip="Triangle budget for this LOD"/>
+ <button bottom_delta="0" left="290" width="30" follows="left|top" height="20" label=">>"
+ name="decompose_btn" tool_tip="Create convex decomposition."/>
+ <text bottom_delta="25" follows="top|left" height="15" left="10" name="physics info" width="300">
+ [TRIANGLES] Triangles, [HULLS] Hulls, [POINTS] Points
+ </text>
+
+ <text bottom_delta="20" follows="top|left" height="15" name="description_label">
+ Description:
+ <!-- Info: [PRIM_COST] prim equivalents, [TEXTURES] textures. -->
+ </text>
+ <line_editor bottom_delta="24" follows="top|left|right" height="19" max_length="254"
+ name="description_form" width="280" />
+ <button bottom_delta="25" follows="bottom|left" height="20" label="Upload"
+ left="15" name="ok_btn" width="125" tool_tip="Upload to simulator"/>
+
+ <check_box bottom_delta="0" follow="bottom|left" height="20" label="Upload Textures"
+ left="160" width="125" name="upload_textures" tool_tip="Upload associated textures "/>
+ <text bottom_delta="20" left="15" follows="top|left" height="15" name="description_label" text_color="1 0.82 0.46 1">
+ (No charge for upload during First Look)
+ </text>
+ <text bottom_delta="20" left="15" follows="top|left" height="15" name="upload_message">
+ [MESSAGE]
+ </text>
+ </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_price_for_listing.xml b/indra/newview/skins/default/xui/en/floater_price_for_listing.xml
new file mode 100644
index 0000000000..6312366b86
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_price_for_listing.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ can_minimize="false"
+ height="240"
+ layout="topleft"
+ name="price_for_listing"
+ help_topic="price_for_listing"
+ title="PUBLISH CLASSIFIED AD"
+ width="320">
+ <text
+ type="string"
+ length="1"
+ bottom="200"
+ follows="top|left"
+ font="SansSerif"
+ height="165"
+ layout="topleft"
+ left="15"
+ word_wrap="true"
+ name="explanation_text">
+ Your classified ad will run for one week from the day it is published.
+
+Your ad&apos;s position in the classified listings is determined by how much you choose to pay.
+
+The highest paid ads go to the top of the list, and appear higher in searches.
+ </text>
+ <text
+ type="string"
+ length="1"
+ follows="top|right"
+ font="SansSerif"
+ height="20"
+ layout="topleft"
+ left="140"
+ name="price_text"
+ top_delta="135"
+ width="85">
+ Price for Ad:
+ </text>
+ <text
+ type="string"
+ length="1"
+ follows="top|right"
+ font="SansSerif"
+ height="20"
+ layout="topleft"
+ left_pad="4"
+ name="price_symbol"
+ top_delta="0"
+ width="20">
+ L$
+ </text>
+ <line_editor
+ follows="top|left"
+ height="20"
+ layout="topleft"
+ left_pad="0"
+ max_length="6"
+ top_delta="-4"
+ name="price_edit"
+ width="60" />
+ <button
+ follows="top|left"
+ height="22"
+ label="OK"
+ layout="topleft"
+ left="105"
+ name="set_price_btn"
+ top_pad="22"
+ width="100" />
+ <button
+ follows="top|left"
+ height="22"
+ label="Cancel"
+ layout="topleft"
+ left_pad="5"
+ name="cancel_btn"
+ width="100" />
+
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 71a46b22e4..bd07c473de 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -2567,7 +2567,7 @@ even though the user gets a free copy.
name="label shininess"
left_pad="4"
text_readonly_color="LabelDisabledColor"
- top_pad="-36"
+ top_pad="-37"
width="90">
Shininess
</text>
@@ -2604,7 +2604,7 @@ even though the user gets a free copy.
left_pad="4"
name="label bumpiness"
text_readonly_color="LabelDisabledColor"
- top_pad="-36"
+ top_pad="-37"
width="90">
Bumpiness
</text>
@@ -2722,6 +2722,17 @@ even though the user gets a free copy.
top_delta="-4"
width="120" />
-->
+ <check_box
+ follows="top|left"
+ height="16"
+ initial_value="false"
+ label="Align planar faces"
+ layout="topleft"
+ left="17"
+ name="checkbox planar align"
+ tool_tip="Align textures on all selected faces with the last selected face. Requires Planar texture mapping."
+ top_delta="26"
+ width="140" />
<text
type="string"
length="1"
@@ -2731,8 +2742,8 @@ even though the user gets a free copy.
left="10"
name="rpt"
text_readonly_color="LabelDisabledColor"
- top_pad="4"
- width="200">
+ top_pad="2"
+ width="140">
Repeats / Face
</text>
<spinner
@@ -2745,7 +2756,7 @@ even though the user gets a free copy.
left="20"
max_val="100"
name="TexScaleU"
- top_pad="6"
+ top_pad="5"
width="185" />
<check_box
height="19"
@@ -2855,7 +2866,7 @@ even though the user gets a free copy.
bg_alpha_color="DkGray"
name="Add_Media"
left="0"
- height="63"
+ height="47"
width="290">
<text
type="string"
@@ -2941,8 +2952,9 @@ even though the user gets a free copy.
label="Align"
label_selected="Align Media"
layout="topleft"
- right="-10"
+ right="-16"
name="button align"
+ top_delta="-4"
tool_tip="Align media texture (must load first)"
width="80" />
</panel>
diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml
index e2348375d5..84e81397be 100644
--- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml
@@ -23,7 +23,7 @@
<menu_item_call.on_enable
function="Self.EnableStandUp" />
</menu_item_call-->
- <menu_item_call
+ <menu_item_call
enabled="false"
label="Edit"
layout="topleft"
@@ -46,6 +46,17 @@
<menu_item_separator
layout="topleft" />
+ <menu_item_call
+ label="Sit Down"
+ layout="topleft"
+ name="Sit Down Here">
+ <menu_item_call.on_click
+ function="Self.SitDown"
+ parameter="" />
+ <menu_item_call.on_enable
+ function="Self.EnableSitDown" />
+ </menu_item_call>
+
<menu_item_call
label="Stand Up"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml
index d5b993152a..9059745f46 100644
--- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml
@@ -2,7 +2,17 @@
<context_menu
layout="topleft"
name="Self Pie">
- <menu_item_call
+ <menu_item_call
+ label="Sit Down"
+ layout="topleft"
+ name="Sit Down Here">
+ <menu_item_call.on_click
+ function="Self.SitDown"
+ parameter="" />
+ <menu_item_call.on_enable
+ function="Self.EnableSitDown" />
+ </menu_item_call>
+ <menu_item_call
label="Stand Up"
layout="topleft"
name="Stand Up">
diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
index ea18e02ca1..30c2cde552 100644
--- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
@@ -6,6 +6,16 @@
visible="false"
name="Gear Menu">
<menu_item_call
+ label="Sit Down"
+ enabled="true"
+ name="sit_down_here">
+ <menu_item_call.on_click
+ function="Self.SitDown"
+ parameter="" />
+ <menu_item_call.on_visible
+ function="Self.EnableSitDown" />
+ </menu_item_call>
+ <menu_item_call
label="Stand Up"
enabled="true"
name="stand_up">
diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml
index 9fac296e26..4f982cc8e9 100644
--- a/indra/newview/skins/default/xui/en/menu_login.xml
+++ b/indra/newview/skins/default/xui/en/menu_login.xml
@@ -64,8 +64,8 @@
parameter="UseDebugMenus" />
</menu_item_check>
<menu
- visible="false"
create_jump_keys="true"
+ visible="false"
label="Debug"
name="Debug"
tear_off="true">
@@ -102,6 +102,7 @@
</menu_item_call>
-->
<menu
+ create_jump_keys="true"
label="UI Tests"
name="UI Tests"
tear_off="true">
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 9185113868..a4541a4c90 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -4,6 +4,7 @@
follows="left|top|right"
name="Main Menu">
<menu
+ create_jump_keys="true"
label="Me"
name="Me"
tear_off="true">
@@ -94,6 +95,7 @@
parameter="voice_effect" />
</menu_item_check>
<menu
+ create_jump_keys="true"
label="My Status"
name="Status"
tear_off="true">
@@ -138,6 +140,7 @@
</menu_item_call>
</menu>
<menu
+ create_jump_keys="true"
label="Communicate"
name="Communicate"
tear_off="true">
@@ -188,6 +191,7 @@
</menu_item_call>
</menu>
<menu
+ create_jump_keys="true"
label="World"
name="World"
tear_off="true">
@@ -913,6 +917,7 @@
</menu>
</menu>
<menu
+ create_jump_keys="true"
label="Help"
name="Help"
tear_off="true">
@@ -959,6 +964,7 @@
</menu_item_call>
</menu>
<menu
+ create_jump_keys="true"
label="Advanced"
name="Advanced"
tear_off="true"
@@ -1463,6 +1469,7 @@
<menu_item_separator/>
<menu
+ create_jump_keys="true"
label="Shortcuts"
name="Shortcuts"
tear_off="true"
diff --git a/indra/newview/skins/default/xui/en/panel_classified.xml b/indra/newview/skins/default/xui/en/panel_classified.xml
deleted file mode 100644
index e96dbd527c..0000000000
--- a/indra/newview/skins/default/xui/en/panel_classified.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel
- follows="bottom|left"
- height="490"
- label="Classified"
- layout="topleft"
- left="330"
- name="Classified"
- top="490"
- width="450">
- <panel.string
- name="ad_placed_paid">
- Ad placed: [DATE], Paid L$[AMT] for listing.
- </panel.string>
- <panel.string
- name="update_txt">
- Update
- </panel.string>
- <panel.string
- name="publish_txt">
- Publish...
- </panel.string>
- <panel.string
- name="dateStr">
- [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
- </panel.string>
- <texture_picker
- fallback_image="default_land_picture.j2c"
- follows="left|top"
- height="300"
- layout="topleft"
- left="20"
- name="snapshot_ctrl"
- top="15"
- width="400" />
- <line_editor
- enabled="false"
- follows="left|top"
- font="SansSerif"
- height="20"
- layout="topleft"
- left_delta="0"
- name="given_name_editor"
- tool_tip="Name must begin with a letter or number, not punctuation"
- top_delta="288"
- width="400" />
- <text_editor
- enabled="false"
- follows="left|top"
- height="90"
- layout="topleft"
- left="20"
- max_length="1023"
- name="desc_editor"
- width="400"
- word_wrap="true" />
- <line_editor
- enabled="false"
- follows="left|top"
- font="SansSerif"
- height="20"
- layout="topleft"
- left="20"
- name="location_editor"
- tool_tip="Set the location for this classified to your current position"
- width="400" />
- <button
- follows="left|top"
- height="20"
- label="Set"
- layout="topleft"
- left_delta="360"
- name="set_location_btn"
- top_delta="0"
- width="60" />
- <button
- follows="left|top"
- height="20"
- label="Teleport"
- layout="topleft"
- left="20"
- name="classified_teleport_btn"
- top="449"
- width="100" />
- <button
- follows="left|top"
- height="20"
- label="Map"
- layout="topleft"
- left_pad="5"
- name="classified_map_btn"
- top_delta="0"
- width="100" />
- <button
- follows="left|top"
- height="20"
- label="Profile"
- layout="topleft"
- left_pad="5"
- name="classified_profile_btn"
- top_delta="0"
- width="100" />
- <combo_box
- height="20"
- layout="topleft"
- left="30"
- name="classified_mature_check"
- top="48"
- width="130">
- <combo_box.item
- label="- Select one -"
- name="select_mature"
- value="Select" />
- <combo_box.item
- label="Moderate Content"
- name="mature"
- value="Mature" />
- <combo_box.item
- label="General Content"
- name="pg"
- value="PG" />
- </combo_box>
- <combo_box
- bottom="45"
- height="18"
- layout="topleft"
- left="20"
- name="classified_category_combo"
- right="150" />
- <button
- follows="left|top"
- height="20"
- label="Update"
- layout="topleft"
- left="30"
- name="classified_update_btn"
- top="70"
- width="70" />
-</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml
index 0499873fb0..6b136495d2 100644
--- a/indra/newview/skins/default/xui/en/panel_login.xml
+++ b/indra/newview/skins/default/xui/en/panel_login.xml
@@ -130,7 +130,7 @@ control_name="LoginLocation"
max_chars="128"
top_pad="0"
name="start_location_combo"
- width="135">
+ width="170">
<combo_box.item
label="My last location"
name="MyLastLocation"
diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
index cf174da2f0..e6714af943 100644
--- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
@@ -295,7 +295,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
auto_resize="true"
default_tab_group="3"
height="450"
- min_height="53"
+ min_height="73"
name="add_wearables_panel"
width="313"
tab_group="2"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 94ee5d9c32..4c5c84df71 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -3006,6 +3006,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
<string name="IM_default_text_label">Click here to instant message.</string>
<string name="IM_to_label">To</string>
<string name="IM_moderator_label">(Moderator)</string>
+ <string name="Saved_message">(Saved [LONG_TIMESTAMP])</string>
<!-- voice calls -->
<string name="answered_call">Your call has been answered</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
index de8d25a494..7828d2df97 100644
--- a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
@@ -19,7 +19,7 @@
Prévisualiser
</floater.string>
<floater.string name="none_text">
- -Aucun choix-
+ - Choisir -
</floater.string>
<floater.string name="Title">
Geste : [NAME]
diff --git a/indra/newview/skins/default/xui/fr/menu_object.xml b/indra/newview/skins/default/xui/fr/menu_object.xml
index 6492a83e06..257c44795f 100644
--- a/indra/newview/skins/default/xui/fr/menu_object.xml
+++ b/indra/newview/skins/default/xui/fr/menu_object.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Object Pie">
- <menu_item_call label="Toucher" name="Object Touch"/>
- <menu_item_call label="Éditer" name="Edit..."/>
+ <menu_item_call label="Toucher" name="Object Touch">
+ <on_enable parameter="Toucher" name="EnableTouch"/>
+ </menu_item_call>
+ <menu_item_call label="Modifier" name="Edit..."/>
<menu_item_call label="Construire" name="Build"/>
<menu_item_call label="Ouvrir" name="Open"/>
<menu_item_call label="M&apos;asseoir ici" name="Object Sit"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_login.xml b/indra/newview/skins/default/xui/fr/panel_login.xml
index 1b3e1c1c90..b3ab2f4f90 100644
--- a/indra/newview/skins/default/xui/fr/panel_login.xml
+++ b/indra/newview/skins/default/xui/fr/panel_login.xml
@@ -20,7 +20,7 @@
<text name="start_location_text">
Lieu de départ :
</text>
- <combo_box name="start_location_combo" width="152">
+ <combo_box name="start_location_combo">
<combo_box.item label="Dernier emplacement" name="MyLastLocation"/>
<combo_box.item label="Domicile" name="MyHome"/>
<combo_box.item label="&lt;Saisir le nom de la région&gt;" name="Typeregionname"/>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index 1204d3325a..f221e42e9a 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -1062,9 +1062,9 @@
<string name="Sound" value=" Son :"/>
<string name="Wait" value=" --- Attendre :"/>
<string name="AnimFlagStop" value=" Arrêter l&apos;animation :"/>
- <string name="AnimFlagStart" value=" Démarrer l&apos;animation :"/>
+ <string name="AnimFlagStart" value=" Lancer l&apos;animation :"/>
<string name="Wave" value=" Faire signe"/>
- <string name="GestureActionNone" value="Aucune"/>
+ <string name="GestureActionNone" value="À choisir"/>
<string name="HelloAvatar" value=" Bonjour, avatar !"/>
<string name="ViewAllGestures" value=" Tout afficher &gt;&gt;"/>
<string name="GetMoreGestures" value="Plus &gt;&gt;"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_login.xml b/indra/newview/skins/default/xui/ja/panel_login.xml
index 47d7a88b4c..808f19a16d 100644
--- a/indra/newview/skins/default/xui/ja/panel_login.xml
+++ b/indra/newview/skins/default/xui/ja/panel_login.xml
@@ -20,7 +20,7 @@
<text name="start_location_text">
開始地点:
</text>
- <combo_box name="start_location_combo" width="160">
+ <combo_box name="start_location_combo">
<combo_box.item label="最後ã«ãƒ­ã‚°ã‚¢ã‚¦ãƒˆã—ãŸå ´æ‰€" name="MyLastLocation"/>
<combo_box.item label="ホーム" name="MyHome"/>
<combo_box.item label="<地域åを入力>" name="Typeregionname"/>
diff --git a/indra/newview/skins/default/xui/nl/floater_animation_preview.xml b/indra/newview/skins/default/xui/nl/floater_animation_preview.xml
new file mode 100644
index 0000000000..f4e9908150
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_animation_preview.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Animation Preview" title="">
+ <text name="name_label">
+ Naam:
+ </text>
+ <text name="description_label">
+ Omschrijving:
+ </text>
+ <spinner label="Prioriteit" name="priority" tool_tip="Bepaalt welke andere animaties kunnen worden overschaduwd door deze animatie."/>
+ <check_box label="Herhalen" name="loop_check" tool_tip="Laat deze animatie herhalen."/>
+ <spinner label="In(%)" name="loop_in_point" tool_tip="Instellen punt in de animatie waar de herhaling begint."/>
+ <spinner label="Uit(%)" name="loop_out_point" tool_tip="Instellen punt in in de animatie waar de herhaling eindigt."/>
+ <text name="hand_label">
+ Houding van Hand
+ </text>
+ <combo_box label="" left_delta="100" width="176" name="hand_pose_combo" tool_tip="Bepaalt wat handen doen tijdens een animatie." left="300">
+ <combo_box.item name="Spread" label="Gespreid"/>
+ <combo_box.item name="Relaxed" label="Ontspannen"/>
+ <combo_box.item name="PointBoth" label="Wijzen Beide"/>
+ <combo_box.item name="Fist" label="Vuist"/>
+ <combo_box.item name="RelaxedLeft" label="Ontspannen Links"/>
+ <combo_box.item name="PointLeft" label="Wijzen Links"/>
+ <combo_box.item name="FistLeft" label="Vuist Links"/>
+ <combo_box.item name="RelaxedRight" label="Ontspannen Rechts"/>
+ <combo_box.item name="PointRight" label="Wijzen Rechts"/>
+ <combo_box.item name="FistRight" label="Vuist Rechts"/>
+ <combo_box.item name="SaluteRight" label="Salueren Rechts"/>
+ <combo_box.item name="Typing" label="Typen"/>
+ <combo_box.item name="PeaceRight" label="Peace Rechts"/>
+ </combo_box>
+ <text name="emote_label">
+ Expressie
+ </text>
+ <combo_box label="" left_delta="100" width="176" name="emote_combo" tool_tip="Bepaalt wat het gezicht doet tijdens de animatie.">
+ <combo_box.item name="[None]" label="Geen]"/>
+ <combo_box.item name="Aaaaah" label="Aaaaah"/>
+ <combo_box.item name="Afraid" label="Bang"/>
+ <combo_box.item name="Angry" label="Boos"/>
+ <combo_box.item name="BigSmile" label="Brede Lach"/>
+ <combo_box.item name="Bored" label="Verveeld"/>
+ <combo_box.item name="Cry" label="Huilen"/>
+ <combo_box.item name="Disdain" label="Minachting"/>
+ <combo_box.item name="Embarrassed" label="Beschaamd"/>
+ <combo_box.item name="Frown" label="Frons"/>
+ <combo_box.item name="Kiss" label="Kus"/>
+ <combo_box.item name="Laugh" label="Lachen"/>
+ <combo_box.item name="Plllppt" label="Plllppt"/>
+ <combo_box.item name="Repulsed" label="Afkeer"/>
+ <combo_box.item name="Sad" label="Verdrietig"/>
+ <combo_box.item name="Shrug" label="Onverschillig"/>
+ <combo_box.item name="Smile" label="Glimlach"/>
+ <combo_box.item name="Surprise" label="Verrassing"/>
+ <combo_box.item name="Wink" label="Knipoog"/>
+ <combo_box.item name="Worry" label="Bezorgd"/>
+ </combo_box>
+ <text name="preview_label">
+ Voorvertoning
+ </text>
+ <combo_box label="" left_delta="100" width="176" name="preview_base_anim" tool_tip="Gebruik dit om het gedrag van uw animatie te testen terwijl uw avatar veelvoorkomende acties uitvoert.">
+ <combo_box.item name="Standing" label="Staand"/>
+ <combo_box.item name="Walking" label="Lopend"/>
+ <combo_box.item name="Sitting" label="Zittend"/>
+ <combo_box.item name="Flying" label="Vliegend"/>
+ </combo_box>
+ <spinner label="Invloeitijd (sec)" label_width="125" name="ease_in_time" tool_tip="Hoeveelheid tijd (in seconden) waarover animaties invloeien." width="192"/>
+ <spinner bottom_delta="-20" label="Uitvloeitijd (sec)" label_width="125" left="10" name="ease_out_time" tool_tip="Hoeveelheid tijd (in seconden) waarover animaties uitvloeien." width="192"/>
+ <button bottom_delta="-32" label="" name="play_btn" tool_tip="Start/pauzeer uw animatie."/>
+ <button label="" name="stop_btn" tool_tip="Stop het afspelen van Uw animatie"/>
+ <text name="bad_animation_text">
+ Niet in staat om het animatiebestand te lezen. Wij
+raden u aan bestanden te gebruiken die vanuit
+Poser 4 zijn geëxporteerd.
+ </text>
+ <button label="Annuleren" name="cancel_btn"/>
+ <button label="Upload (L$[AMOUNT])" name="ok_btn" width="140" left_delta="-155"/>
+ <string name="failed_to_initialize">
+ Het initialiseren van de beweging is mislukt.
+ </string>
+ <string name="anim_too_long">
+ het animatiebestand heeft een lengte van [LENGTH] seconden. De maximale lengte van een animatie is [MAX_LENGTH] seconden.
+ </string>
+ <string name="failed_file_read">
+ Kan animatiebestand niet lezen. [STATUS]
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml
new file mode 100644
index 0000000000..260cc8e98f
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="avatarpicker" title="KIES INWONER">
+ <tab_container name="ResidentChooserTabs">
+ <panel label="Zoeken" name="SearchPanel">
+ <text name="InstructSearchResidentName">
+ Type een deel van de naam van de inwoner:
+ </text>
+ <button label="Zoek" label_selected="Zoek" name="Find"/>
+ </panel>
+ <panel label="Visitekaartjes" name="CallingCardsPanel">
+ <text name="InstructSelectCallingCard">
+ Selecteer een visitekaartje:
+ </text>
+ </panel>
+ <panel label="In mijn buurt" name="NearMePanel">
+ <text name="InstructSelectResident">
+ Selecteer een inwoner
+in de buurt:
+ </text>
+ <button label="Vernieuw lijst" label_selected="Ververs lijst" name="Refresh"/>
+ <slider label="Afstand" name="near_me_range" bottom_delta="-36"/>
+ <text name="meters">
+ Meters
+ </text>
+ <scroll_list bottom_delta="-169" height="159" name="NearMe" />
+ </panel>
+ </tab_container>
+ <button label="Selecteer" label_selected="Selecteer" name="Select"/>
+ <button label="Annuleren" label_selected="Annuleren" name="Cancel"/>
+ <string name="not_found">
+ &apos;[TEXT]&apos; niet gevonden
+ </string>
+ <string name="no_one_near">
+ Niemand in de buurt
+ </string>
+ <string name="no_results">
+ Geen resultaten
+ </string>
+ <string name="searching">
+ Zoeken...
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml
new file mode 100644
index 0000000000..a44db95b5b
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="avatar_texture_debug" title="AVATAR TEXTUREN">
+ <text name="baked_label">
+ Baked texturen
+ </text>
+ <text name="composite_label">
+ Samengestelde texturen
+ </text>
+ <texture_picker label="Hoofd" name="baked_head"/>
+ <texture_picker label="Make-up" name="head_bodypaint"/>
+ <texture_picker label="Haar" name="hair"/>
+ <button label="Dump" label_selected="Dump" name="Dump"/>
+ <texture_picker label="Ogen" name="baked_eyes"/>
+ <texture_picker label="Oog" name="eye_texture"/>
+ <texture_picker label="Bovenlichaam" name="baked_upper_body"/>
+ <texture_picker label="Bovenlichaam tatoeage" name="upper_bodypaint"/>
+ <texture_picker label="Onderhemd" name="undershirt"/>
+ <texture_picker label="Handschoenen" name="gloves"/>
+ <texture_picker label="Hemd" name="shirt"/>
+ <texture_picker label="Bovenkant jas" name="upper_jacket"/>
+ <texture_picker label="Onderlichaam" name="baked_lower_body"/>
+ <texture_picker label="Onderlichaam tatoeage" name="lower_bodypaint"/>
+ <texture_picker label="Onderbroek" name="underpants"/>
+ <texture_picker label="Sokken" name="socks"/>
+ <texture_picker label="Schoenen" name="shoes"/>
+ <texture_picker label="Broek" name="pants"/>
+ <texture_picker label="Jas" name="jacket"/>
+ <texture_picker label="Rok" name="baked_skirt"/>
+ <texture_picker label="Rok" name="skirt_texture"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_build_options.xml b/indra/newview/skins/default/xui/nl/floater_build_options.xml
new file mode 100644
index 0000000000..53b60167bb
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_build_options.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="build options floater" title="GRID OPTIES">
+ <spinner label="Grid eenheid (meters)" name="GridResolution" width="180" label_width="122"/>
+ <spinner label="Grid extensies (meters)" name="GridDrawSize" width="180" label_width="122"/>
+ <check_box label="Sub-eenheid snap Inschakelen" name="GridSubUnit"/>
+ <check_box label="Toon dwarsdoorsnede" name="GridCrossSection"/>
+ <slider label="Grid opaakheid" name="GridOpacity"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml
new file mode 100644
index 0000000000..1f3e045a75
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Day Cycle Floater" title="DAGCYCLUS EDITOR">
+ <tab_container name="Day Cycle Tabs">
+ <panel label="Dagcyclus" name="Day Cycle">
+ <button label="?" name="WLDayCycleHelp"/>
+ <text name="WL12am">
+ 0:00
+ </text>
+ <text name="WL3am">
+ 3:00
+ </text>
+ <text name="WL6am">
+ 6:00
+ </text>
+ <text name="WL9amHash">
+ 9:00
+ </text>
+ <text name="WL12pmHash">
+ 12:00
+ </text>
+ <text name="WL3pm">
+ 15:00
+ </text>
+ <text name="WL6pm">
+ 18:00
+ </text>
+ <text name="WL9pm">
+ 21:00
+ </text>
+ <text name="WL12am2">
+ 0:00
+ </text>
+ <text name="WL12amHash">
+ |
+ </text>
+ <text name="WL3amHash">
+ I
+ </text>
+ <text name="WL6amHash">
+ |
+ </text>
+ <text name="WL9amHash2">
+ I
+ </text>
+ <text name="WL12pmHash2">
+ |
+ </text>
+ <text name="WL3pmHash">
+ I
+ </text>
+ <text name="WL6pmHash">
+ |
+ </text>
+ <text name="WL9pmHash">
+ I
+ </text>
+ <text name="WL12amHash2">
+ |
+ </text>
+ <button label="Key toevoegen" label_selected="Key toevoegen" name="WLAddKey"/>
+ <button label="Key verwijderen" label_selected="Key verwijderen" name="WLDeleteKey"/>
+ <text name="WLCurKeyFrameText">
+ Gemarkeerde frame instelling:
+ </text>
+ <text name="WLCurKeyTimeText">
+ Markering tijd:
+ </text>
+ <spinner label="Uur" name="WLCurKeyHour"/>
+ <spinner label="Min" name="WLCurKeyMin"/>
+ <text name="WLCurKeyTimeText2">
+ Markering voorinstelling:
+ </text>
+ <combo_box label="Voorinstelling" name="WLKeyPresets"/>
+ <text name="DayCycleText">
+ Snap:
+ </text>
+ <combo_box label="5 min" name="WLSnapOptions"/>
+ <text name="DayCycleText2">
+ Lengte van cyclus:
+ </text>
+ <spinner label="Uur" name="WLLengthOfDayHour"/>
+ <spinner label="Min" name="WLLengthOfDayMin"/>
+ <spinner label="Sec" name="WLLengthOfDaySec"/>
+ <text name="DayCycleText3">
+ Voorbeeld:
+ </text>
+ <button label="Afspelen" label_selected="Afspelen" name="WLAnimSky"/>
+ <button label="Stop!" label_selected="Stop" name="WLStopAnimSky"/>
+ <button label="Gebruik estatetijd" label_selected="Ga naar Estate tijd" name="WLUseLindenTime"/>
+ <button label="Opslaan testdag" label_selected="Opslaan testdag" name="WLSaveDayCycle"/>
+ <button label="Laad testdag" label_selected="Laad testdag" name="WLLoadDayCycle"/>
+ </panel>
+ </tab_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml
new file mode 100644
index 0000000000..b27a96f15c
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Hardware Settings Floater" title="HARDWARE INSTELLINGEN">
+ <text name="Filtering:">
+ Filtering:
+ </text>
+ <check_box label="Anisotropische filtering (langzamer indien ingeschakeld)" name="ani" left="100"/>
+ <text name="Antialiasing:">
+ Anti-alias:
+ </text>
+ <combo_box label="Anti-alias" name="fsaa" width="120" left="100">
+ <combo_box.item name="FSAADisabled" label="Uitgeschakeld"/>
+ <combo_box.item name="2x" label="2x"/>
+ <combo_box.item name="4x" label="4x"/>
+ <combo_box.item name="8x" label="8x"/>
+ <combo_box.item name="16x" label="16x"/>
+ </combo_box>
+ <spinner label="Gamma:" name="gamma" label_width="88" width="170"/>
+ <text name="(brightness, lower is brighter)" left="182">
+ (helderheid, lager is helderder, 0=gebruik standaardwaarde)
+ </text>
+ <text name="Enable VBO:">
+ VBO inschakelen:
+ </text>
+ <check_box label="OpenGL Vertex Buffer Objects inschakelen" name="vbo" tool_tip="Dit inschakelen op moderne hardware geeft een prestatiewinst. Oudere hardware heeft echter vaak een slechte implementatie van VBO&apos;s en u kunt crashes ondervinden wanneer dit is ingeschakeld."/>
+ <slider label="Textuurgeheugen (MB):" name="GrapicsCardTextureMemory" tool_tip="Hoeveelheid geheugen dat voor texturen toegewezen wordt. Standaard wordt de hoeveelheid geheugen van de videokaart gebruikt. Het verminderen van deze waarde kan de prestaties verbeteren, maar kan ook texturen wazig maken."/>
+ <spinner label="Mistafstandsratio:" name="fog"/>
+ <button label="OK" label_selected="OK" name="OK"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_image_preview.xml b/indra/newview/skins/default/xui/nl/floater_image_preview.xml
new file mode 100644
index 0000000000..06596c20aa
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_image_preview.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Image Preview" title="">
+ <text name="name_label">
+ Naam:
+ </text>
+ <text name="description_label">
+ Omschrijving:
+ </text>
+ <text name="preview_label">
+ Toon voorbeeld van
+afbeelding als:
+ </text>
+ <combo_box label="Kledingtype" name="clothing_type_combo">
+ <combo_box.item name="Image" label="Afbeelding"/>
+ <combo_box.item name="Hair" label="Haar"/>
+ <combo_box.item name="FemaleHead" label="Vrouwelijk hoofd"/>
+ <combo_box.item name="FemaleUpperBody" label="Vrouwelijk bovenlichaam"/>
+ <combo_box.item name="FemaleLowerBody" label="Vrouwelijk onderlichaam"/>
+ <combo_box.item name="MaleHead" label="Mannelijk hoofd"/>
+ <combo_box.item name="MaleUpperBody" label="Mannelijk onderlichaam"/>
+ <combo_box.item name="MaleLowerBody" label="Mannelijk bovenlichaam"/>
+ <combo_box.item name="Skirt" label="Rok"/>
+ <combo_box.item name="SculptedPrim" label="Sculpted prim"/>
+ </combo_box>
+ <text name="bad_image_text">
+ Kan afbeelding niet lezen.
+
+Probeer het op te slaan als een 24 bit Targa (.tga).
+ </text>
+ <check_box label="Gebruik verliesloze compressie" name="lossless_check"/>
+ <button label="Annuleren" name="cancel_btn"/>
+ <button label="Upload (L$[AMOUNT])" name="ok_btn" width="140"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml
new file mode 100644
index 0000000000..63cfafab81
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="item properties" title="INVENTARISITEM EIGENSCHAPPEN">
+ <text name="LabelItemNameTitle">
+ Naam:
+ </text>
+ <text name="LabelItemDescTitle">
+ Omschrijving:
+ </text>
+ <text name="LabelCreatorTitle">
+ Maker:
+ </text>
+ <text name="LabelCreatorName">
+ Nicole Linden
+ </text>
+ <button label="Profiel..." label_selected="" name="BtnCreator"/>
+ <text name="LabelOwnerTitle">
+ Eigenaar
+ </text>
+ <text name="LabelOwnerName">
+ Thrax Linden
+ </text>
+ <button label="Profiel..." label_selected="" name="BtnOwner"/>
+ <text name="LabelAcquiredTitle">
+ Verworven:
+ </text>
+ <text name="LabelAcquiredDate">
+ Wed May 24 12:50:46 2006
+ </text>
+ <text name="OwnerLabel">
+ U kunt:
+ </text>
+ <check_box label="Wijzigen" name="CheckOwnerModify"/>
+ <check_box label="Kopiëren" name="CheckOwnerCopy"/>
+ <check_box label="Doorverkopen/weggeven" name="CheckOwnerTransfer"/>
+ <text name="BaseMaskDebug">
+ B:
+ </text>
+ <text name="OwnerMaskDebug">
+ E:
+ </text>
+ <text name="GroupMaskDebug">
+ G:
+ </text>
+ <text name="EveryoneMaskDebug">
+ I:
+ </text>
+ <text name="NextMaskDebug">
+ V:
+ </text>
+ <check_box label="Delen met groep" name="CheckShareWithGroup"/>
+ <check_box label="Iedereen mag kopiëren" name="CheckEveryoneCopy"/>
+ <text name="NextOwnerLabel" width="130">
+ Volgende eigenaar kan:
+ </text>
+ <check_box label="Wijzigen" name="CheckNextOwnerModify"/>
+ <check_box label="Kopiëren" name="CheckNextOwnerCopy"/>
+ <check_box label="Doorverkopen/weggeven" name="CheckNextOwnerTransfer"/>
+ <text name="SaleLabel">
+ Markeer item:
+ </text>
+ <check_box label="Te koop" name="CheckPurchase"/>
+ <radio_group name="RadioSaleType">
+ <radio_item name="radio" label="Origineel" />
+ <radio_item name="radio2" label="Kopiëren" />
+ </radio_group>
+ <text name="TextPrice">
+ Prijs: L$
+ </text>
+ <string name="unknown">
+ (onbekend)
+ </string>
+ <string name="public">
+ (public)
+ </string>
+ <string name="you_can">
+ U kunt:
+ </string>
+ <string name="owner_can">
+ Eigenaar kan:
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml
new file mode 100644
index 0000000000..097ebda8b7
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Inventory Finder" title="INVENTORY_RECENT_ITEMS">
+ <check_box label="Animatie" name="check_animation"/>
+ <check_box label="Visitekaartjes" name="check_calling_card"/>
+ <check_box label="Kleding" name="check_clothing"/>
+ <check_box label="Gebaren" name="check_gesture"/>
+ <check_box label="Landmarkeringen" name="check_landmark"/>
+ <check_box label="Notitiekaarten" name="check_notecard"/>
+ <check_box label="Objecten" name="check_object"/>
+ <check_box label="Scripts" name="check_script"/>
+ <check_box label="Geluiden" name="check_sound"/>
+ <check_box label="Texturen" name="check_texture"/>
+ <check_box label="Foto&apos;s" name="check_snapshot"/>
+ <button label="Alles" label_selected="Alles" name="All"/>
+ <button label="Geen" label_selected="Geen" name="None"/>
+ <check_box label="Altijd mappen tonen" name="check_show_empty"/>
+ <check_box label="Sinds logoff" name="check_since_logoff"/>
+ <text name="- OR -">
+ - OF -
+ </text>
+ <spinner label="Uren geleden" name="spin_hours_ago" width="144" label_width="80"/>
+ <spinner label="Dagen geleden" name="spin_days_ago" width="144" label_width="80"/>
+ <button label="Sluiten" label_selected="Sluiten" name="Close"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_land_holdings.xml b/indra/newview/skins/default/xui/nl/floater_land_holdings.xml
new file mode 100644
index 0000000000..5cf66ed0c4
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_land_holdings.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="land holdings floater" title="MIJN LAND">
+ <scroll_list name="parcel list">
+ <column label="Perceelnaam" name="name"/>
+ <column label="Regio" name="location"/>
+ <column label="Type" name="type"/>
+ <column label="Gebied" name="area"/>
+ </scroll_list>
+ <button label="Teleport" label_selected="Teleport" name="Teleport" tool_tip="Teleport naar het centrum van dit land."/>
+ <button label="Toon op kaart" label_selected="Toon op kaart" name="Show on Map" tool_tip="Toon dit land op de wereldkaart"/>
+ <text name="contrib_label">
+ Bijdragen aan uw groepen:
+ </text>
+ <scroll_list name="grant list">
+ <column label="Groep" name="group"/>
+ <column label="Gebied" name="area"/>
+ </scroll_list>
+ <text name="allowed_label">
+ Toegestane landbezittingen in het huidige betaalschema:
+ </text>
+ <text name="allowed_text">
+ [AREA] m²
+ </text>
+ <text name="current_label">
+ Huidige landbezittingen:
+ </text>
+ <text name="current_text">
+ [AREA] m²
+ </text>
+ <text name="available_label">
+ Beschikbaar voor landaankopen:
+ </text>
+ <text name="available_text">
+ [AREA] m²
+ </text>
+ <string name="area_string">
+ [AREA] m²
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml
new file mode 100644
index 0000000000..98a0362ce1
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="script ed float" title="SCRIPT: NIEUW SCRIPT">
+ <button label="Herstarten" label_selected="Herstarten" name="Reset"/>
+ <check_box label="Uitvoeren" name="running" left="4"/>
+ <check_box label="Mono" name="mono"/>
+ <string name="not_allowed">
+ U bent niet bevoegd om dit script in te zien
+ </string>
+ <string name="script_running">
+ Uitvoeren
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_media_browser.xml b/indra/newview/skins/default/xui/nl/floater_media_browser.xml
new file mode 100644
index 0000000000..12f693bf33
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_media_browser.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_about" title="MEDIA VERKENNER">
+ <layout_stack name="stack1">
+ <layout_panel name="nav_controls">
+ <button label="Terug" name="back"/>
+ <button label="Vooruit" name="forward"/>
+ <button label="Herladen" name="reload"/>
+ <button label="Ga" name="go"/>
+ </layout_panel>
+ <layout_panel name="parcel_owner_controls">
+ <button label="Stuur huidige URL naar perceel" name="assign"/>
+ </layout_panel>
+ <layout_panel name="external_controls">
+ <button label="Open in mijn webbrowser" name="open_browser"/>
+ <check_box label="Altijd in mijn webbrowser openen" name="open_always"/>
+ <button label="Sluiten" name="close"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_preview_animation.xml b/indra/newview/skins/default/xui/nl/floater_preview_animation.xml
new file mode 100644
index 0000000000..0634452d96
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_preview_animation.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="preview_anim">
+ <text name="desc txt">
+ Omschrijving:
+ </text>
+ <button label="Afspelen in wereld" label_selected="Stop" name="Anim play btn" tool_tip="Speel deze animatie af, zodat anderen hem kunnen zien." width="120"/>
+ <button label="Lokaal afspelen" label_selected="Stop" name="Anim audition btn" tool_tip="Speel deze animatie af, zodat alleen u hem kunt zien." width="110"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml
new file mode 100644
index 0000000000..7dd85460a2
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="gesture_preview">
+ <string name="stop_txt">
+ Stop
+ </string>
+ <string name="preview_txt">
+ Voorbeeld
+ </string>
+ <string name="none_text">
+ -- Geen --
+ </string>
+ <text name="desc_label">
+ Omschrijving:
+ </text>
+ <text name="trigger_label">
+ Trigger:
+ </text>
+ <text name="replace_text" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein &apos;hallo&apos; vervang door &apos;hoi&apos; zal de chat &apos;Ik wilde hallo zeggen&apos; veranderen in &apos;Ik wilde hoi zeggen&apos;, waarbij tevens het gebaar afgespeeld zal worden!" left="208">
+ Vervangen door:
+ </text>
+ <line_editor name="replace_editor" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein &apos;hallo&apos; vervang door &apos;hoi&apos; zal de chat &apos;Ik wilde hallo zeggen&apos; veranderen in &apos;Ik wilde hoi zeggen&apos;, waarbij tevens het gebaar afgespeeld zal worden."/>
+ <text name="key_label">
+ Snelkoppeling toets:
+ </text>
+ <combo_box label="Geen" name="modifier_combo" left="136" width="56"/>
+ <combo_box label="Geen" name="key_combo" width="56"/>
+ <text name="library_label">
+ Bibliotheek:
+ </text>
+ <text name="steps_label">
+ Stappen:
+ </text>
+ <scroll_list name="library_list" width="94">
+ Animatie
+Geluid
+Chat
+Wacht
+ </scroll_list>
+ <button label="Toevoegen &gt;&gt;" name="add_btn" left="124" width="87"/>
+ <button label="Beweeg omhoog" name="up_btn" width="106" left_delta="-9"/>
+ <button label="Beweeg omlaag" name="down_btn" width="106"/>
+ <button label="Verwijderen" name="delete_btn" width="84" left_delta="9"/>
+ <scroll_list left="226" name="step_list" width="205" />
+ <text name="help_label">
+ Alle stappen gebeuren tegelijkertijd,
+tenzij u wachtstappen toevoegt.
+ </text>
+ <text left="230" name="options_text" width="200" />
+ <radio_group name="animation_trigger_type">
+ <radio_item name="start" label="Start" />
+ <radio_item name="stop" label="Stop" />
+ </radio_group>
+ <check_box label="tot alle animaties zijn afgelopen" name="wait_anim_check"/>
+ <check_box label="tijd in seconden" name="wait_time_check"/>
+ <check_box label="Actief" name="active_check" tool_tip="Actieve gebaren kunnen worden gestart door het zeggen van hun startseinwoorden of door het indrukken van hun sneltoetsen. Gebaren worden gewoonlijk inactief wanneer er een conflict is in de koppeling van de sneltoetsen"/>
+ <button label="Voorbeeld" name="preview_btn"/>
+ <button label="Opslaan" name="save_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml
new file mode 100644
index 0000000000..f97d1fe6ba
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="preview notecard" title="NEUS">
+ <button label="Opslaan" label_selected="Opslaan" name="Save"/>
+ <text name="desc txt">
+ Omschrijving:
+ </text>
+ <text_editor name="Notecard Editor">
+ Laden…
+ </text_editor>
+ <string name="no_object">
+ Kan object dat deze notitie bevat niet vinden.
+ </string>
+ <string name="not_allowed">
+ U heeft geen toestemming om deze notitie te bekijken
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_preview_sound.xml b/indra/newview/skins/default/xui/nl/floater_preview_sound.xml
new file mode 100644
index 0000000000..f168f3ed32
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_preview_sound.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="preview_sound">
+ <text name="desc txt">
+ Omschrijving:
+ </text>
+ <button label="Lokaal afspelen" label_selected="Lokaal afspelen" name="Sound audition btn" tool_tip="Speel dit geluid of zodat alleen u het kunt horen."/>
+ <button label="In wereld afspelen" label_selected="In wereld afspelen" name="Sound play btn" tool_tip="Speel dit geluid of zodat anderen het kunnen horen."/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_preview_texture.xml b/indra/newview/skins/default/xui/nl/floater_preview_texture.xml
new file mode 100644
index 0000000000..c4a06b7b6f
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_preview_texture.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="preview_texture">
+ <text name="desc txt">
+ Omschrijving:
+ </text>
+ <text name="dimensions">
+ Afmetingen: [WIDTH] x [HEIGHT]
+ </text>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_script_preview.xml b/indra/newview/skins/default/xui/nl/floater_script_preview.xml
new file mode 100644
index 0000000000..bd57e27b77
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_script_preview.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="preview lsl text" title="SCRIPT: ROTATIESCRIPT">
+ <text name="desc txt">
+ Omschrijving:
+ </text>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_script_search.xml b/indra/newview/skins/default/xui/nl/floater_script_search.xml
new file mode 100644
index 0000000000..cf502c6f4d
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_script_search.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="script search" title="SCRIPT ZOEKEN">
+ <check_box label="Niet hoofdlettergevoelig" name="case_text"/>
+ <button label="Zoeken" label_selected="Zoeken" name="search_btn" left="4"/>
+ <button label="Vervangen" label_selected="Vervangen" name="replace_btn" left="100"/>
+ <button label="Alles vervangen" label_selected="Alles vervangen" name="replace_all_btn" width="100" left="196"/>
+ <text name="txt">
+ Zoeken
+ </text>
+ <text name="txt2" width="130">
+ Vervangen
+ </text>
+ <line_editor left="65" name="search_text" width="230" />
+ <line_editor left="65" name="replace_text" width="230" />
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_settings_debug.xml b/indra/newview/skins/default/xui/nl/floater_settings_debug.xml
new file mode 100644
index 0000000000..4d95f0a828
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_settings_debug.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings_debug" title="DEBUG INSTELLINGEN">
+ <combo_box name="boolean_combo">
+ <combo_box.item name="TRUE" label="TRUE"/>
+ <combo_box.item name="FALSE" label="FALSE"/>
+ </combo_box>
+ <color_swatch label="Kleur" name="color_swatch"/>
+ <spinner label="x" name="val_spinner_1"/>
+ <spinner label="x" name="val_spinner_2"/>
+ <spinner label="x" name="val_spinner_3"/>
+ <spinner label="x" name="val_spinner_4"/>
+ <button label="Opnieuw instellen naar standaard" name="default_btn" width="210"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_sound_preview.xml b/indra/newview/skins/default/xui/nl/floater_sound_preview.xml
new file mode 100644
index 0000000000..13cb832d57
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_sound_preview.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Sound Preview" title="SOUND.WAV">
+ <text name="name_label">
+ Naam:
+ </text>
+ <text name="description_label">
+ Omschrijving:
+ </text>
+ <button label="Annuleren" label_selected="Annuleren" name="cancel_btn"/>
+ <button label="Upload (L$[AMOUNT])" label_selected="Upload (L$[AMOUNT])" name="ok_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/floater_windlight_options.xml b/indra/newview/skins/default/xui/nl/floater_windlight_options.xml
new file mode 100644
index 0000000000..d97c9679a9
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/floater_windlight_options.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="WindLight floater" title="GEAVANCEERDE LUCHT EDITOR">
+ <combo_box allow_text_entry="false" bottom="-50" follows="left|top" height="18"
+ left_delta="116" max_chars="20" mouse_opaque="true" name="WLPresetsCombo"
+ width="150" />
+ <text name="KeyFramePresetsText">
+ Lucht voorinstellingen
+ </text>
+ <button label="Nieuw" label_selected="Nieuw" name="WLNewPreset"/>
+ <button label="Opslaan" label_selected="Opslaan" name="WLSavePreset"/>
+ <button label="Verwijderen" label_selected="Verwijderen" name="WLDeletePreset" width="80"/>
+ <button label="Dag cyclus editor" label_selected="Dag cyclus editor" name="WLDayCycleMenuButton"/>
+ <tab_container name="WindLight Tabs">
+ <panel label="Atmosfeer" name="Atmosphere">
+ <text name="BHText">
+ Blauw Horizon
+ </text>
+ <button label="?" name="WLBlueHorizonHelp"/>
+ <text name="BHText2">
+ R
+ </text>
+ <text name="BHText3">
+ G
+ </text>
+ <text name="BHText4">
+ B
+ </text>
+ <text name="BHText5">
+ I
+ </text>
+ <text name="BDensText">
+ Nevel horizon
+ </text>
+ <button label="?" name="WLHazeHorizonHelp"/>
+ <text name="BDensText2">
+ Blauw dichtheid
+ </text>
+ <button label="?" name="WLBlueDensityHelp"/>
+ <text name="BHText6">
+ R
+ </text>
+ <text name="BHText7">
+ G
+ </text>
+ <text name="BHText8">
+ B
+ </text>
+ <text name="BHText9">
+ I
+ </text>
+ <text name="HDText">
+ Nevel dichtheid
+ </text>
+ <button label="?" name="WLHazeDensityHelp"/>
+ <text name="DensMultText">
+ Dichtheidsfactor
+ </text>
+ <button label="?" name="WLDensityMultHelp"/>
+ <text name="WLDistanceMultText">
+ Afstandsfactor
+ </text>
+ <button label="?" name="WLDistanceMultHelp"/>
+ <text name="MaxAltText">
+ Max hoogte
+ </text>
+ <button label="?" name="WLMaxAltitudeHelp"/>
+ </panel>
+ <panel label="Licht" name="Lighting">
+ <text name="SLCText">
+ Zon/maan kleur
+ </text>
+ <button label="?" name="WLSunlightColorHelp"/>
+ <text name="BHText">
+ R
+ </text>
+ <text name="BHText2">
+ G
+ </text>
+ <text name="BHText3">
+ B
+ </text>
+ <text name="BHText4">
+ I
+ </text>
+ <text name="TODText">
+ Zon/maan positie
+ </text>
+ <button label="?" name="WLTimeOfDayHelp"/>
+ <text name="WLAmbientText">
+ Omgeving
+ </text>
+ <button label="?" name="WLAmbientHelp"/>
+ <text name="BHText5">
+ R
+ </text>
+ <text name="BHText6">
+ G
+ </text>
+ <text name="BHText7">
+ B
+ </text>
+ <text name="BHText8">
+ I
+ </text>
+ <text name="WLEastAngleText">
+ Oosthoek
+ </text>
+ <button label="?" name="WLEastAngleHelp"/>
+ <text name="SunGlowText">
+ Zonnegloed
+ </text>
+ <button label="?" name="WLSunGlowHelp"/>
+ <slider label="Focus " name="WLGlowB"/>
+ <slider label="Grootte" name="WLGlowR"/>
+ <text name="SceneGammaText">
+ Scenegamma
+ </text>
+ <button label="?" name="WLSceneGammaHelp"/>
+ <text name="WLStarText">
+ Ster helderheid
+ </text>
+ <button label="?" name="WLStarBrightnessHelp"/>
+ </panel>
+ <panel label="Wolken" name="Clouds">
+ <text name="WLCloudColorText">
+ Wolkenkleur
+ </text>
+ <button label="?" name="WLCloudColorHelp"/>
+ <text name="BHText">
+ R
+ </text>
+ <text name="BHText2">
+ G
+ </text>
+ <text name="BHText3">
+ B
+ </text>
+ <text name="BHText4">
+ I
+ </text>
+ <text name="WLCloudColorText2">
+ Wolken (XY/Dichtheid)
+ </text>
+ <button label="?" name="WLCloudDensityHelp"/>
+ <text name="BHText5">
+ X
+ </text>
+ <text name="BHText6">
+ Y
+ </text>
+ <text name="BHText7">
+ D
+ </text>
+ <text name="WLCloudCoverageText">
+ Wolkenbedekking
+ </text>
+ <button label="?" name="WLCloudCoverageHelp"/>
+ <text name="WLCloudScaleText">
+ Wolkenschaal
+ </text>
+ <button label="?" name="WLCloudScaleHelp"/>
+ <text name="WLCloudDetailText">
+ Wolkendetail (XY/Dichtheid)
+ </text>
+ <button label="?" name="WLCloudDetailHelp" left="404"/>
+ <text name="BHText8">
+ X
+ </text>
+ <text name="BHText9">
+ Y
+ </text>
+ <text name="BHText10">
+ D
+ </text>
+ <text name="WLCloudScrollXText">
+ Wolk verplaatsing X
+ </text>
+ <button label="?" name="WLCloudScrollXHelp" left="600"/>
+ <check_box label="Vastzetten" name="WLCloudLockX" left="622"/>
+ <text name="WLCloudScrollYText">
+ Wolk verplaatsing Y
+ </text>
+ <button label="?" name="WLCloudScrollYHelp" left="600"/>
+ <check_box label="Vastzetten" name="WLCloudLockY" left="622"/>
+ <check_box label="Teken klassieke wolken" name="DrawClassicClouds"/>
+ <button label="?" name="WLClassicCloudsHelp" left="620"/>
+ </panel>
+ </tab_container>
+ <string name="WLDefaultSkyNames">
+ A-12AM:A-12PM:A-3AM:A-3PM:A-4.30PM:A-6AM:A-6PM:A-9AM:A-9PM:Barcelona:Blizzard:Blue Midday:Coastal Afternoon:Coastal Sunset:Default:Desert Sunset:Fine Day:Fluffy Big Clouds:Foggy:Funky Funky:Funky Funky Funky:Gelatto:Ghost:Incongruent Truths:Midday 1:Midday 2:Midday 3:Midday 4:Night:Pirate:Purple:Sailor&apos;s Delight:Sheer Sensuality
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml
new file mode 100644
index 0000000000..dab5a388d7
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_ladmark_gear">
+ <menu_item_call label="Teleport" name="teleport"/>
+ <menu_item_call label="Meer Informatie" name="more_info"/>
+ <menu_item_call label="Toon op Kaart" name="show_on_map"/>
+ <menu_item_call label="Voeg Landmark Toe" name="add_landmark"/>
+ <menu_item_call label="Voeg Map Toe" name="add_folder"/>
+ <menu_item_call label="Knippen" name="cut"/>
+ <menu_item_call label="Kopieër Landmark" name="copy_landmark"/>
+ <menu_item_call label="Kopieër SLurl" name="copy_slurl"/>
+ <menu_item_call label="Plakken" name="paste"/>
+ <menu_item_call label="Hernoemen" name="rename"/>
+ <menu_item_call label="Verweideren" name="delete"/>
+ <menu_item_call label="Alle mappen uitvouwen" name="expand_all"/>
+ <menu_item_call label="Alle mappen samenvouwen" name="collapse_all"/>
+ <menu_item_check label="Sorteer bij Datum" name="sort_by_date"/>
+ <menu_item_call label="Maak Favoriet" name="create_pick"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml
new file mode 100644
index 0000000000..38018a3626
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="block_list_panel">
+ <text name="title_text">
+ Blokkeer Lijst
+ </text>
+ <scroll_list name="blocked" tool_tip="Lijst van momenteel geblokkeerde bewoners"/>
+ <button label="Blokkeer Bewoner..." label_selected="Blokkeer Bewoner..." name="Block resident..." tool_tip="Kies een bewoner om te blokkeren"/>
+ <button label="Blokkeer object bij naam..." label_selected="Blokkeer object bij naam..." name="Block object by name..."/>
+ <button label="Deblokkeren" label_selected="Deblokkeren" name="Unblock" tool_tip="Verweider bewoner of object uit blokkeer lijst"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_group_land_money.xml b/indra/newview/skins/default/xui/nl/panel_group_land_money.xml
new file mode 100644
index 0000000000..43babafdf8
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_group_land_money.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Land &amp; L$" name="land_money_tab">
+ <string name="help_text">
+ Percelen in groepseigendom worden getoond, samen met bijdragedetails. Een waarschuwing verschijnt totdat Totaal Land In Gebruik minder dan of gelijk aan de totale bijdrage is. De Planning, Details en Verkopen tabbladen verschaffen meer informatie over de financiën van de groep.
+ </string>
+ <button label="?" name="help_button"/>
+ <string name="cant_view_group_land_text">
+ U heeft geen permissie om land te bekijken dat eigendom van de groep is.
+ </string>
+ <string name="cant_view_group_accounting_text">
+ U heeft geen permissie om accounting informatie van de groep te bekijken.
+ </string>
+ <string name="loading_txt">
+ Laden...
+ </string>
+ <text name="group_land_heading" width="260">
+ Land in eigendom van groep
+ </text>
+ <scroll_list name="group_parcel_list">
+ <column label="Perceelnaam" name="name"/>
+ <column label="Regio" name="location"/>
+ <column label="Type" name="type"/>
+ <column label="Gebied" name="area"/>
+ </scroll_list>
+ <button label="Toon op kaart" label_selected="Toon op kaart" name="map_button"/>
+ <text name="total_contributed_land_label">
+ Totale bijdrage:
+ </text>
+ <text name="total_contributed_land_value" width="200">
+ [AREA] m²
+ </text>
+ <text name="total_land_in_use_label">
+ Totaal land in gebruik:
+ </text>
+ <text name="total_land_in_use_value">
+ [AREA] m²
+ </text>
+ <text name="land_available_label">
+ Land beschikbaar:
+ </text>
+ <text name="land_available_value">
+ [AREA] m²
+ </text>
+ <text name="your_contribution_label">
+ Uw bijdrage:
+ </text>
+ <string name="land_contrib_error">
+ Niet in staat uw landbijdrage in te stellen.
+ </string>
+ <text name="your_contribution_units">
+ ( m² )
+ </text>
+ <text name="your_contribution_max_value">
+ ([AMOUNT] max)
+ </text>
+ <text name="group_over_limit_text">
+ Groepsleden moeten landcredits bijdragen om het gebruikte land
+te ondersteunen.
+ </text>
+ <text name="group_money_heading">
+ Groep L$
+ </text>
+ <tab_container name="group_money_tab_container">
+ <panel label="Planning" name="group_money_planning_tab">
+ <text_editor name="group_money_planning_text">
+ Berekenen...
+ </text_editor>
+ </panel>
+ <panel label="Details" name="group_money_details_tab">
+ <text_editor name="group_money_details_text">
+ Berekenen...
+ </text_editor>
+ <button label="&lt; Eerder" label_selected="&lt; Eerder" name="earlier_details_button" tool_tip="Ga terug in de tijd"/>
+ <button label="Later &gt;" label_selected="Later &gt;" name="later_details_button" tool_tip="Ga vooruit in de tijd"/>
+ </panel>
+ <panel label="Verkopen" name="group_money_sales_tab">
+ <text_editor name="group_money_sales_text">
+ Berekenen...
+ </text_editor>
+ <button label="&lt; Eerder" label_selected="&lt; Eerder" name="earlier_sales_button" tool_tip="Ga terug in de tijd"/>
+ <button label="Later &gt;" label_selected="Later &gt;" name="later_sales_button" tool_tip="Ga vooruit in de tijd"/>
+ </panel>
+ </tab_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml
new file mode 100644
index 0000000000..6626c57472
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<panel name="advanced">
+ <panel.string name="resolution_format">
+ [RES_X] x [RES_Y]
+ </panel.string>
+ <panel.string name="aspect_ratio_text">
+ [NUM]:[DEN]
+ </panel.string>
+ <check_box label="Bubble chat" name="bubble_text_chat"/>
+ <color_swatch name="background" tool_tip="Kies kleur voor bubble chat"/>
+ <slider label="Opaciteit" name="bubble_chat_opacity"/>
+ <text name="AspectRatioLabel1" tool_tip="breedte / hoogte">
+ Beeldverhouding
+ </text>
+ <combo_box name="aspect_ratio" tool_tip="breedte / hoogte">
+ <combo_box.item label="4:3 (Standaard beeldbuis)" name="item1"/>
+ <combo_box.item label="5:4 (1280x1024 LCD)" name="item2"/>
+ <combo_box.item label="8:5 (Breedbeeld)" name="item3"/>
+ <combo_box.item label="16:9 (Breedbeeld)" name="item4"/>
+ </combo_box>
+ <check_box label="Automatisch detecteren" name="aspect_auto_detect"/>
+ <text name="heading1">
+ Camera:
+ </text>
+ <slider label="Kijkhoek" name="camera_fov"/>
+ <slider label="Afstand" name="camera_offset_scale"/>
+ <text name="heading2">
+ Automatisch positionering voor:
+ </text>
+ <check_box label="Maken/Bewerken" name="edit_camera_movement" tool_tip="Gebruik automatische camera positionering bij ingaan en verlaten van Bewerk modus."/>
+ <check_box label="Uiterlijk" name="appearance_camera_movement" tool_tip="Gebruik automatische camera positionering wanneer in bewerk modus"/>
+ <text name="heading3">
+ Avatars:
+ </text>
+ <check_box label="Toon mij in Muis Modus" name="first_person_avatar_visible"/>
+ <check_box label="Pijltjestoetsen bewegen mij altijd" name="arrow_keys_move_avatar_check"/>
+ <check_box label="Tik-tik-vasthouden om te rennen" name="tap_tap_hold_to_run"/>
+ <check_box label="Beweeg avatar lippen tijdens het praten" name="enable_lip_sync"/>
+ <check_box label="Toon script fouten" name="show_script_errors"/>
+ <radio_group name="show_location">
+ <radio_item label="In chat" name="0"/>
+ <radio_item label="In een venster" name="1"/>
+ </radio_group>
+ <check_box label="Toggle modus voor microfoon wanneer ik de spreek toets indruk:" name="push_to_talk_toggle_check" tool_tip="Wanneer in toggle mode, drukt u éénmaal op de ontspanner toets om de microfoon in-of uitschakelen. Wanneer niet in toggle mode, kan de microfoon uitzendingen uw stem alleen tijdens de ontspanner wordt ingedrukt."/>
+ <line_editor label="Push-to-Speak trigger" name="modifier_combo"/>
+ <button label="Plaats Toets" name="set_voice_hotkey_button"/>
+ <button label="Middelste Muis Knop" name="set_voice_middlemouse_button"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml
new file mode 100644
index 0000000000..d3174a703d
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Pop-ups" name="popups" title="Pop-ups">
+ <text name="tell_me_label">
+ Vertel mij:
+ </text>
+ <check_box label="Wanneer ik L$ spendeer of krijg" name="notify_money_change_checkbox"/>
+ <check_box label="Wanneer mijn vrienden in- of uit-loggen" name="friends_online_notify_checkbox"/>
+ <text name="show_label">
+ Toon altijd deze waarschuwingen:
+ </text>
+ <text name="dont_show_label">
+ Toon nooit deze waarschuwingen:
+ </text>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml
new file mode 100644
index 0000000000..84f385c86b
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Tekst chat" name="chat">
+ <radio_group name="chat_font_size">
+ <radio_item label="Klein" name="radio"/>
+ <radio_item label="Middel" name="radio2"/>
+ <radio_item label="Groot" name="radio3"/>
+ </radio_group>
+ <color_swatch label="U" name="user"/>
+ <text name="text_box1">
+ U
+ </text>
+ <color_swatch label="Anderen" name="agent"/>
+ <text name="text_box2">
+ Anderen
+ </text>
+ <color_swatch label="IM" name="im"/>
+ <text name="text_box3">
+ IM
+ </text>
+ <color_swatch label="Systeem" name="system"/>
+ <text name="text_box4">
+ Systeem
+ </text>
+ <color_swatch label="Fouten" name="script_error"/>
+ <text name="text_box5">
+ Fouten
+ </text>
+ <color_swatch label="Objecten" name="objects"/>
+ <text name="text_box6">
+ Objecten
+ </text>
+ <color_swatch label="Eigenaar" name="owner"/>
+ <text name="text_box7">
+ Eigenaar
+ </text>
+ <color_swatch label="URL&apos;s" name="links"/>
+ <text name="text_box9">
+ URL&apos;s
+ </text>
+ <check_box initial_value="true" label="Speel typeanimatie tijdens chat" name="play_typing_animation"/>
+ <check_box label="Email mij IMs wanneer ik offline ben" name="send_im_to_email"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml
new file mode 100644
index 0000000000..9d9010a349
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Algemeen" name="general_panel">
+ <combo_box name="start_location_combo">
+ <combo_box.item name="MyHome" tool_tip="Log standaard in op mijn thuislocatie." label="Mijn thuis"/>
+ <combo_box.item name="MyLastLocation" tool_tip="Log standaard in op mijn laatste locatie." label="Mijn laatste locatie"/>
+ </combo_box>
+ <check_box label="Toon startlocatie op loginscherm" name="show_location_checkbox"/>
+ <combo_box name="fade_out_combobox">
+ <combo_box.item name="Never" label="Nooit"/>
+ <combo_box.item name="Show Temporarily" label="Toon tijdelijk"/>
+ <combo_box.item name="Always" label="Altijd"/>
+ </combo_box>
+ <check_box label="Kleine avatarnamen" name="small_avatar_names_checkbox"/>
+ <check_box label="Verberg mijn naam op mijn scherm" name="show_my_name_checkbox"/>
+ <text name="group_titles_textbox">
+ Groepstitels:
+ </text>
+ <check_box label="Verberg alle groepstitels" name="show_all_title_checkbox"/>
+ <check_box label="Verberg mijn groepstitel" name="show_my_title_checkbox"/>
+ <color_swatch label="" name="effect_color_swatch" tool_tip="Klik om de kleurkiezer te openen"/>
+ <text name="UI Size:">
+ UI grootte:
+ </text>
+ <check_box label="Gebruik resolutie onafhankelijke schaal" name="ui_auto_scale"/>
+ <spinner label="Afwezigheidtijdsduur:" name="afk_timeout_spinner"/>
+ <check_box label="Waarschuwen wanneer L$ worden uitgegeven of ontvangen" name="notify_money_change_checkbox"/>
+ <text name="maturity_desired_label">
+ Inhoudscategorie:
+ </text>
+ <text name="maturity_desired_prompt">
+ Ik wil toegang tot inhoud die is beoordeeld als:
+ </text>
+ <combo_box name="maturity_desired_combobox">
+ <combo_box.item name="Desired_Adult" label="PG, Mature en Adult"/>
+ <combo_box.item name="Desired_Mature" label="PG en Mature"/>
+ <combo_box.item name="Desired_PG" label="PG"/>
+ </combo_box>
+ <text name="maturity_desired_textbox">
+ PG
+ </text>
+ <text name="start_location_textbox">
+ Startlocatie:
+ </text>
+ <text name="show_names_textbox">
+ Toon namen:
+ </text>
+ <text name="effects_color_textbox">
+ Kleur voor mijn effecten:
+ </text>
+ <text name="seconds_textbox">
+ seconden
+ </text>
+ <text name="crash_report_textbox">
+ Crash rapporten:
+ </text>
+ <text name="language_textbox">
+ Taal:
+ </text>
+ <text name="language_textbox2">
+ (Vereist herstart)
+ </text>
+ <string name="region_name_prompt">
+ &lt; Type regionaam &gt;
+ </string>
+ <combo_box name="crash_behavior_combobox">
+ <combo_box.item name="Askbeforesending" label="Vraag voor verzenden"/>
+ <combo_box.item name="Alwayssend" label="Altijd verzenden"/>
+ <combo_box.item name="Neversend" label="Nooit verzenden"/>
+ </combo_box>
+ <combo_box name="language_combobox">
+ <combo_box.item name="System Default Language" label="Systeemstandaard"/>
+ <combo_box.item name="English" label="Engels (English)"/>
+ <combo_box.item name="Danish" label="Dansk (Deens) - Bèta"/>
+ <combo_box.item name="Deutsch(German)" label="Deutsch (Duits) - Bèta"/>
+ <combo_box.item name="Spanish" label="Español (Spaans) - Bèta"/>
+ <combo_box.item name="French" label="Français (Frans) - Bèta"/>
+ <combo_box.item name="Italian" label="Italiano (Italiaans) - Bèta"/>
+ <combo_box.item name="Hungarian" label="Magyar (Hongaars) - Bèta"/>
+ <combo_box.item name="Dutch" label="Nederlands - Bèta"/>
+ <combo_box.item name="Polish" label="Polski (Pools) - Bèta"/>
+ <combo_box.item name="Portugese" label="Portugués (Portugees) - Bèta"/>
+ <combo_box.item name="Russian" label="РуÑÑкий (Russisch) - Bèta"/>
+ <combo_box.item name="Turkish" label="Türkçe (Turks) - Bèta"/>
+ <combo_box.item name="Ukrainian" label="УкраїнÑька (Oekraïens) - Bèta"/>
+ <combo_box.item name="Chinese" label="中文 (简体) (Chinees) - Bèta"/>
+ <combo_box.item name="(Japanese)" label="日本語 (Japans) - Bèta"/>
+ <combo_box.item name="(Korean)" label="한국어 (Koreaans) - Bèta"/>
+ </combo_box>
+ <check_box label="Deel taal met objecten" name="language_is_public" tool_tip="Dit laat in-wereld objecten uw voorkeurstaal weten."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml
new file mode 100644
index 0000000000..8f4244e222
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Grafisch" name="Display panel">
+ <button label="?" name="GraphicsPreferencesHelpButton"/>
+ <check_box label="Voer Second Life uit in een venster" name="windowed mode"/>
+ <text_editor name="FullScreenInfo" bottom="-56" height="40" width="480">
+ Wanneer niet aangevinkt, zal de viewer in volledig-scherm modus getoond worden wanneer u inlogt.
+ </text_editor>
+ <text name="WindowSizeLabel">
+ Venstergrootte:
+ </text>
+ <combo_box name="windowsize combo" left="115" >
+ <combo_box.item name="640x480" label="640x480"/>
+ <combo_box.item name="800x600" label="800x600"/>
+ <combo_box.item name="720x480" label="720x480 (NTSC)"/>
+ <combo_box.item name="768x576" label="768x576 (PAL)"/>
+ <combo_box.item name="1024x768" label="1024x768"/>
+ </combo_box>
+ <text name="DisplayResLabel" width="100">
+ Weergaveresolutie:
+ </text>
+ <combo_box left="115" name="fullscreen combo" />
+ <text name="AspectRatioLabel1" tool_tip="breedte / hoogte" width="100">
+ Beeldverhouding:
+ </text>
+ <combo_box name="aspect_ratio" tool_tip="breedte / hoogte" left="115" >
+ <combo_box.item name="4:3(StandardCRT)" label="4:3 (Standaard beeldbuis)"/>
+ <combo_box.item name="5:4(1280x1024LCD)" label="5:4 (1280x1024 LCD)"/>
+ <combo_box.item name="8:5(Widescreen)" label="8:5 (Breedbeeld)"/>
+ <combo_box.item name="16:9(Widescreen)" label="16:9 (Breedbeeld)"/>
+ </combo_box>
+ <check_box label="Verhouding automatisch detecteren" name="aspect_auto_detect" left="275" />
+ <text name="HigherText">
+ Kwaliteit en
+ </text>
+ <text name="QualityText">
+ Prestatie:
+ </text>
+ <text name="FasterText">
+ Sneller
+ </text>
+ <text name="ShadersPrefText">
+ Laag
+ </text>
+ <text name="ShadersPrefText2">
+ Middel
+ </text>
+ <text name="ShadersPrefText3">
+ Hoog
+ </text>
+ <text name="ShadersPrefText4">
+ Ultra
+ </text>
+ <text name="HigherText2">
+ Hogere
+ </text>
+ <text name="QualityText2">
+ Kwaliteit
+ </text>
+ <check_box label="Aangepast" name="CustomSettings"/>
+ <panel name="CustomGraphics Panel">
+ <text name="ShadersText">
+ Shaders:
+ </text>
+ <check_box label="Bump mapping en glans" name="BumpShiny"/>
+ <check_box label="Basis shaders" name="BasicShaders" tool_tip="Het uitschakelen van deze optie kan voorkomen dat sommige drivers voor grafische kaarten crashen."/>
+ <check_box label="Atmosferische shaders" name="WindLightUseAtmosShaders"/>
+ <check_box label="Waterreflecties" name="Reflections"/>
+ <text name="ReflectionDetailText">
+ Reflectiedetail:
+ </text>
+ <radio_group name="ReflectionDetailRadio">
+ <radio_item name="0" label="Terrein en bomen" />
+ <radio_item name="1" label="Alle statische objecten" />
+ <radio_item name="2" label="Alle avatars en objecten" />
+ <radio_item name="3" label="Alles" />
+ </radio_group>
+ <text name="AvatarRenderingText">
+ Avatarweergave:
+ </text>
+ <check_box label="Avatar schimmen" name="AvatarImpostors"/>
+ <check_box label="Hardware Skinning" name="AvatarVertexProgram"/>
+ <check_box label="Avatar kleding" name="AvatarCloth"/>
+ <text name="DrawDistanceMeterText1">
+ m
+ </text>
+ <text name="DrawDistanceMeterText2">
+ m
+ </text>
+ <slider label="Zichtbereik:" name="DrawDistance"/>
+ <slider label="Max. aantal particles:" name="MaxParticleCount"/>
+ <slider label="Nabewerkingskwaliteit:" name="RenderPostProcess"/>
+ <text name="MeshDetailText">
+ Maasdetail:
+ </text>
+ <slider label=" Objecten:" name="ObjectMeshDetail"/>
+ <slider label=" Flexibele prims:" name="FlexibleMeshDetail"/>
+ <slider label=" Bomen:" name="TreeMeshDetail"/>
+ <slider label=" Avatars:" name="AvatarMeshDetail"/>
+ <slider label=" Terrein:" name="TerrainMeshDetail"/>
+ <slider label=" Lucht:" name="SkyMeshDetail"/>
+ <text name="PostProcessText">
+ Laag
+ </text>
+ <text name="ObjectMeshDetailText">
+ Laag
+ </text>
+ <text name="FlexibleMeshDetailText">
+ Laag
+ </text>
+ <text name="TreeMeshDetailText">
+ Laag
+ </text>
+ <text name="AvatarMeshDetailText">
+ Laag
+ </text>
+ <text name="TerrainMeshDetailText">
+ Laag
+ </text>
+ <text name="SkyMeshDetailText">
+ Laag
+ </text>
+ <text name="LightingDetailText">
+ Lichtdetail:
+ </text>
+ <radio_group name="LightingDetailRadio">
+ <radio_item name="SunMoon" label="Alleen zon en maan" />
+ <radio_item name="LocalLights" label="Lokale lichten in de buurt" />
+ </radio_group>
+ <text name="TerrainDetailText">
+ Terreindetail:
+ </text>
+ <radio_group name="TerrainDetailRadio">
+ <radio_item name="0" label="Laag" />
+ <radio_item name="2" label="Hoog" />
+ </radio_group>
+ </panel>
+ <button label="Aanbevolen instellingen" name="Defaults"/>
+ <button label="Hardware opties" label_selected="Hardware opties" name="GraphicsHardwareButton"/>
+ <panel.string name="resolution_format">
+ [RES_X] x [RES_Y]
+ </panel.string>
+ <panel.string name="aspect_ratio_text">
+ [NUM]:[DEN]
+ </panel.string>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml
new file mode 100644
index 0000000000..c2014bf0cb
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Communicatie" name="im">
+ <text name="text_box">
+ Mijn online status:
+ </text>
+ <check_box left="140" label="Allen mijn vrienden en groepen kunnen zien wanneer ik online ben" name="online_visibility"/>
+ <text name="text_box2">
+ IM opties:
+ </text>
+ <string name="log_in_to_change">
+ log in om te wijzigen
+ </string>
+ <check_box left="140" label="Stuur IM naar Email ([EMAIL])" name="send_im_to_email"/>
+ <check_box left="140" label="Voeg IM toe in chatconsole" name="include_im_in_chat_console"/>
+ <check_box left="140" label="Toon tijdstempels in IM" name="show_timestamps_check"/>
+ <check_box left="140" label="Toon melding bij vriend online" name="friends_online_notify_checkbox"/>
+ <text name="text_box3">
+ Antwoord bij
+Niet Storen:
+ </text>
+ <text name="text_box4">
+ Log opties:
+ </text>
+ <check_box label="Bewaar een log van IM op mijn computer" name="log_instant_messages"/>
+ <check_box label="Toon tijdstempels in IM-log" name="log_instant_messages_timestamp"/>
+ <check_box label="Toon het einde van de laatste IM conversatie" name="log_show_history"/>
+ <check_box label="Bewaar een log van lokale chat op mijn computer" name="log_chat"/>
+ <check_box label="Toon tijdstempels in lokale chatlog" name="log_chat_timestamp"/>
+ <check_box label="Toon binnenkomende IM in lokale chatlog" name="log_chat_IM"/>
+ <check_box label="Voeg datum toe aan tijdstempels" name="log_date_timestamp"/>
+ <button label="Wijzig pad" label_selected="Wijzig pad" name="log_path_button"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml
new file mode 100644
index 0000000000..f9f58befe8
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Invoer &amp; Camera" name="Input panel">
+ <text name=" Mouselook Options:">
+ Mouselook opties:
+ </text>
+ <text name=" Mouse Sensitivity:">
+ Muis gevoeligheid:
+ </text>
+ <check_box label="Muisbeweging omkeren" name="invert_mouse"/>
+ <text name=" Auto Fly Options:">
+ Automatisch vliegen
+opties:
+ </text>
+ <check_box label="Vlieg/Land bij indrukken Page Up/Page Down" name="automatic_fly"/>
+ <text name=" Camera Options:">
+ Camera opties:
+ </text>
+ <text name="camera_fov_label">
+ Camera Zichthoek
+ </text>
+ <text name="Camera Follow Distance:">
+ Camera volgafstand:
+ </text>
+ <check_box label="Automatische camerabeweging bij bewerken" name="edit_camera_movement" tool_tip="Gebruik automatische camerapositionering bij het betreden en verlaten van de bewerken modus"/>
+ <check_box label="Automatische camerabeweging bij uiterlijk bewerken" name="appearance_camera_movement" tool_tip="Gebruik automatische camerapositionering in de bewerken modus"/>
+ <text name="text2">
+ Avatar weergave opties:
+ </text>
+ <check_box label="Toon avatar in mouselook" name="first_person_avatar_visible"/>
+ <button label="Joystick instellingen" name="joystick_setup_button"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml
new file mode 100644
index 0000000000..2b709bde40
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Geluid" name="Preference Media panel">
+ <slider label="Hoofd volume" name="System Volume"/>
+ <check_box initial_value="true" label="Dempen indien geminimaliseerd" name="mute_when_minimized"/>
+ <slider label="Omliggend" name="Wind Volume"/>
+ <slider label="Knoppen" name="UI Volume"/>
+ <slider label="Media" name="Media Volume"/>
+ <slider label="Geluids effecten" name="SFX Volume"/>
+ <slider label="Streamen van muziek" name="Music Volume"/>
+ <check_box label="Voice" name="enable_voice_check"/>
+ <slider label="Voice" name="Voice Volume"/>
+ <text name="Listen from">
+ Luisteren vanuit:
+ </text>
+ <radio_group name="ear_location">
+ <radio_item label="Camera positie" name="0"/>
+ <radio_item label="Avatar positie" name="1"/>
+ </radio_group>
+ <button label="Input/Output Apparaten" name="device_settings_btn"/>
+ <panel label="Apparaat Instellingen" name="device_settings_panel">
+ <panel.string name="default_text">
+ Standaard
+ </panel.string>
+ <text name="Input">
+ Input
+ </text>
+ <text name="My volume label">
+ Mijn volume:
+ </text>
+ <slider_bar initial_value="1.0" name="mic_volume_slider" tool_tip="Verander de volume door gebruik te nemen van deze schuifknop"/>
+ <text name="wait_text">
+ Even geduld
+ </text>
+ <text name="Output">
+ Output
+ </text>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_region_covenant.xml b/indra/newview/skins/default/xui/nl/panel_region_covenant.xml
new file mode 100644
index 0000000000..adfc62dd22
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_region_covenant.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Convenant" name="Covenant">
+ <text name="estate_section_lbl">
+ Estate:
+ </text>
+ <text name="estate_name_lbl">
+ Naam:
+ </text>
+ <text name="estate_name_text">
+ mainland
+ </text>
+ <text name="estate_owner_lbl">
+ Eigenaar:
+ </text>
+ <text name="estate_owner_text">
+ (geen)
+ </text>
+ <text name="estate_cov_lbl">
+ Convenant:
+ </text>
+ <text name="covenant_timestamp_text">
+ Laatst gewijzigd Wed Dec 31 16:00:00 1969
+ </text>
+ <button label="?" name="covenant_help"/>
+ <text_editor name="covenant_editor" bottom="-247" height="162">
+ Er is geen convenant voor deze estate.
+ </text_editor>
+ <button label="Opnieuw instellen" name="reset_covenant" right="460" width="110"/>
+ <text name="covenant_help_text" bottom="-25">
+ Wijzigingen in het convenant zullen in alle percelen van het estate
+ zichtbaar zijn.
+ </text>
+ <text name="covenant_instructions" bottom_delta="-36" >
+ Sleep en deponeer een notitiekaart om het convenant voor deze
+ estate te wijzigen.
+ </text>
+ <text name="region_section_lbl" bottom_delta="-36" >
+ Regio:
+ </text>
+ <text name="region_name_lbl">
+ Naam:
+ </text>
+ <text name="region_name_text">
+ leyla
+ </text>
+ <text name="region_landtype_lbl">
+ Type:
+ </text>
+ <text name="region_landtype_text">
+ Mainland / Homestead
+ </text>
+ <text name="region_maturity_lbl">
+ Inhoudscategorie:
+ </text>
+ <text name="region_maturity_text">
+ Adult
+ </text>
+ <text name="resellable_lbl">
+ Doorverkopen:
+ </text>
+ <text name="resellable_clause">
+ Land in deze regio mag niet worden doorverkocht.
+ </text>
+ <text name="changeable_lbl">
+ Opsplitsen:
+ </text>
+ <text name="changeable_clause">
+ Land in deze regio mag niet worden samengevoegd/opgesplitst.
+ </text>
+ <string name="can_resell">
+ Aangekocht land in deze regio mag worden doorverkocht.
+ </string>
+ <string name="can_not_resell">
+ Aangekocht land in deze regio mag niet worden doorverkocht.
+ </string>
+ <string name="can_change">
+ Aangekocht land in deze regio mag worden gecombineerd of
+opgedeeld.
+ </string>
+ <string name="can_not_change">
+ Aangekocht land in deze regio mag niet worden gecombineerd
+of opgedeeld.
+ </string>
+</panel>
diff --git a/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml
new file mode 100644
index 0000000000..8487ff999a
--- /dev/null
+++ b/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="LLScrollingPanelParam">
+ <text name="Loading...">
+ Laden...
+ </text>
+ <text name="Loading...2">
+ Laden...
+ </text>
+ <slider label="[DESC]" name="param slider"/>
+</panel>
diff --git a/indra/newview/tests/llmediadataclient_test.cpp b/indra/newview/tests/llmediadataclient_test.cpp
index 05e178653b..5f3dc5b162 100644
--- a/indra/newview/tests/llmediadataclient_test.cpp
+++ b/indra/newview/tests/llmediadataclient_test.cpp
@@ -2,31 +2,25 @@
* @file llmediadataclient_test.cpp
* @brief LLMediaDatClient tests
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
diff --git a/indra/newview/tests/llsecapi_test.cpp b/indra/newview/tests/llsecapi_test.cpp
index 8f2f299fc4..90cacfe3c9 100644
--- a/indra/newview/tests/llsecapi_test.cpp
+++ b/indra/newview/tests/llsecapi_test.cpp
@@ -4,31 +4,25 @@
* @date 2009-02-10
* @brief Test the sec api functionality
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden LregisterSecAPIab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llviewerprecompiledheaders.h"
diff --git a/indra/newview/tests/llslurl_test.cpp b/indra/newview/tests/llslurl_test.cpp
index 4db7efa090..40425a5caf 100644
--- a/indra/newview/tests/llslurl_test.cpp
+++ b/indra/newview/tests/llslurl_test.cpp
@@ -4,31 +4,25 @@
* @date 2009-02-10
* @brief Test the sec api functionality
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version maps.secondlife.com2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llviewerprecompiledheaders.h"
@@ -156,6 +150,7 @@ namespace tut
ensure_equals(" slurl, region + coords", slurl.getSLURLString(),
"http://maps.secondlife.com/secondlife/my%20region/1/2/3");
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3");
ensure_equals("grid slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
ensure_equals("grid slurl, region + coords", slurl.getSLURLString(),
@@ -212,6 +207,7 @@ namespace tut
ensure_equals("region" , "myregion", slurl.getRegion());
ensure_equals("grid4", "util.aditi.lindenlab.com", slurl.getGrid());
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
slurl = LLSLURL("https://my.grid.com/app/foo/bar?12345");
ensure_equals("app", slurl.getType(), LLSLURL::APP);
ensure_equals("appcmd", slurl.getAppCmd(), "foo");
@@ -252,6 +248,7 @@ namespace tut
template<> template<>
void slurlTestObject::test<3>()
{
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
LLSLURL slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3");
ensure_equals("login string", slurl.getLoginString(), "uri:my region&amp;1&amp;2&amp;3");
ensure_equals("location string", slurl.getLocationString(), "my region/1/2/3");
diff --git a/indra/newview/tests/llviewernetwork_test.cpp b/indra/newview/tests/llviewernetwork_test.cpp
index 98e4c994b0..d5d6ca671d 100644
--- a/indra/newview/tests/llviewernetwork_test.cpp
+++ b/indra/newview/tests/llviewernetwork_test.cpp
@@ -4,31 +4,25 @@
* @date 2009-03-9
* @brief Test the viewernetwork functionality
*
- * $LicenseInfo:firstyear=2009&license=viewergpl$
- *
- * Copyright (c) 2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden LregisterSecAPIab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llviewerprecompiledheaders.h"
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 03d0310222..8296c28e80 100755..100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -928,6 +928,7 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libdb-4.2.so")
self.path("libcrypto.so.0.9.7")
self.path("libexpat.so.1")
+ self.path("libglod.so")
self.path("libssl.so.0.9.7")
self.path("libuuid.so.1")
self.path("libSDL-1.2.so.0")
@@ -937,10 +938,10 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libopenal.so", "libopenal.so.1")
self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname
try:
- self.path("libkdu_v42R.so", "libkdu.so")
+ self.path("libkdu.so")
pass
except:
- print "Skipping libkdu_v42R.so - not found"
+ print "Skipping libkdu.so - not found"
pass
try:
self.path("libfmod-3.75.so")
diff --git a/indra/test/lldoubledispatch_tut.cpp b/indra/test/lldoubledispatch_tut.cpp
index 63ef4d4497..63ef4d4497 100755..100644
--- a/indra/test/lldoubledispatch_tut.cpp
+++ b/indra/test/lldoubledispatch_tut.cpp
diff --git a/indra/test/llsdmessagebuilder_tut.cpp b/indra/test/llsdmessagebuilder_tut.cpp
index ca15314e69..ca15314e69 100755..100644
--- a/indra/test/llsdmessagebuilder_tut.cpp
+++ b/indra/test/llsdmessagebuilder_tut.cpp
diff --git a/indra/test/llsdmessagereader_tut.cpp b/indra/test/llsdmessagereader_tut.cpp
index f11e148cca..f11e148cca 100755..100644
--- a/indra/test/llsdmessagereader_tut.cpp
+++ b/indra/test/llsdmessagereader_tut.cpp
diff --git a/install.xml b/install.xml
index a6a94e817b..e896956c1b 100644
--- a/install.xml
+++ b/install.xml
@@ -56,23 +56,23 @@
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>ab78835bafcad3bb7223eaeecb5a6a4b</string>
+ <string>70b8bebe5b107a5f9eb175ff992b148c</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GLOD-1.0pre4-darwin-20090918.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-darwin-20100916a.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>66ae292063b80f3a9fecb46dcd4fe5ec</string>
+ <string>ca7368e9a1baf266b82d910fa8f821bd</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GLOD-1.0pre4-linux-20091023.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-linux-20100920a.tar.bz2</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
- <string>39fae44d406aa56a0b3d00f5433bbf15</string>
+ <string>5f993f8092ddf4424ec3133dae9424dd</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GLOD-1.0pre4-windows-20100129.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-windows-20100908a.tar.bz2</uri>
</map>
</map>
</map>
@@ -630,12 +630,12 @@
</map>
</map>
</map>
- <key>google-perftools</key>
+ <key>tcmalloc</key>
<map>
<key>copyright</key>
<string>Copyright (c) 2005, Google Inc.</string>
<key>description</key>
- <string>Heap performance and validity checking tools from google. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.</string>
+ <string>High performance memory allocator.</string>
<key>license</key>
<string>bsd</string>
<key>packages</key>
@@ -643,9 +643,9 @@
<key>windows</key>
<map>
<key>md5sum</key>
- <string>32dba32ddd460a08e082898ebba6315c</string>
+ <string>8b11a7d3caee8a4ba70da41d6a5ee131</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google-perftools-1.0-windows-20090406.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tcmalloc-1.6-windows-20100916b.tar.bz2</uri>
</map>
</map>
</map>
@@ -856,63 +856,23 @@
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>3b40e7170dea82c1443e8d90cd44a13d</string>
+ <string>ae18dd120807a46ac961b881a631ad94</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-4.2.1-darwin-20080926.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/indra_private-2.1.1-darwin-20100820.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>a6d2f0995c25d7f53bd12b8ec0d6b462</string>
+ <string>b1f15bbabb68445e55ce23a2aeaca598</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-4.2.1-linux-20080930.tar.bz2</uri>
- </map>
- <key>linux64</key>
- <map>
- <key>md5sum</key>
- <string>f4e2e2b3440594527729a8c85119e508</string>
- <key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-5.2.1-linux64-20080926.tar.bz2</uri>
- </map>
- <key>windows</key>
- <map>
- <key>md5sum</key>
- <string>1b9f61140f8b599cdae5e00d21dbb177</string>
- <key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-4.2.1-windows-20080926.tar.bz2</uri>
- </map>
- </map>
- </map>
- <key>kdu-binaries</key>
- <map>
- <key>copyright</key>
- <string>see kdu</string>
- <key>description</key>
- <string>see kdu</string>
- <key>license</key>
- <string>kdu</string>
- <key>packages</key>
- <map>
- <key>darwin</key>
- <map>
- <key>md5sum</key>
- <string>480fbeeb47c9b9c4a2f947e310c9821c</string>
- <key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/kdu-binaries-5.2.1-darwin-20080617.tar.bz2</uri>
- </map>
- <key>linux</key>
- <map>
- <key>md5sum</key>
- <string>ca87644e377a6cf16db4ba6dbd2f8689</string>
- <key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/kdu-binaries-5.2.1-linux-20080617.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/indra_private-2.1.1-linux-20100826.tar.bz2</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
- <string>c4cf53deda9148549e6534a98b56e866</string>
+ <string>0e2fe621ce99085eba00d86d9a3bc130</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/kdu-binaries-4.2-windows-20080723.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/indra_private-2.1.1-windows-20100820.tar.bz2</uri>
</map>
</map>
</map>
@@ -1051,23 +1011,23 @@ anguage Infrstructure (CLI) international standard</string>
<key>windows</key>
<map>
<key>md5sum</key>
- <string>afd03c92ac261134237b648896c5e537</string>
+ <string>a68bd49c01710edc4b9c902376844317</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-windows-20100628.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-windows-20100909.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>15e239121d88eee6089b62b1c9beca28</string>
+ <string>8964b3159e2c8f735986ad5853aedd41</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-linux-20100810.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-linux-20100913.tar.bz2</uri>
</map>
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>b9fe5149a23cbc55a341867c2f6abb8e</string>
+ <string>a6969a966e83ac3f0dc652df3e499797</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-darwin-20100626.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-darwin-20100914.tar.bz2</uri>
</map>
</map>
</map>
diff --git a/scripts/setup-path.py b/scripts/setup-path.py
index 157bda0027..157bda0027 100755..100644
--- a/scripts/setup-path.py
+++ b/scripts/setup-path.py
diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py
index adcfcbcae6..adcfcbcae6 100755..100644
--- a/scripts/template_verifier.py
+++ b/scripts/template_verifier.py
diff --git a/viewer-hg-convert.shamap b/viewer-hg-convert.shamap
new file mode 100644
index 0000000000..29f98ed8cf
--- /dev/null
+++ b/viewer-hg-convert.shamap
@@ -0,0 +1,14432 @@
+01da24a6ed088e1519f98a56f03bf7e5d270a552 003dd9461bfa479049afcc34545ab3431b147c7c
+87461c6ded106005bb2500744bd9ec08d6d79af0 003dd9461bfa479049afcc34545ab3431b147c7c
+2fb52a24cc33c2400896cee7c4ab398289b41b63 003dd9461bfa479049afcc34545ab3431b147c7c
+da40a1e2ad70916ce6a51a40f7d00ef2411fecb7 003dd9461bfa479049afcc34545ab3431b147c7c
+f20e02626409ce9640d763e3e4992f1d7b6b19e1 003dd9461bfa479049afcc34545ab3431b147c7c
+8d3db2d9afd8310522e1c74985960c92fb7fe36f 003dd9461bfa479049afcc34545ab3431b147c7c
+e4df740b2ed6cffff36fd830d07c4c67987f3160 003dd9461bfa479049afcc34545ab3431b147c7c
+8870c48b6c53b3b7ec6855ef67aa4e6821f51b22 003dd9461bfa479049afcc34545ab3431b147c7c
+6aabeb15d17a2345291b04af809136e24459132d 003dd9461bfa479049afcc34545ab3431b147c7c
+7ff6f2e9a425d11d4d69b9bb05596f524ebb7a45 003dd9461bfa479049afcc34545ab3431b147c7c
+edcaa89a115d8fdd379eb6903f31cb1e00359bb5 003dd9461bfa479049afcc34545ab3431b147c7c
+c28c22a8187b0cf37dc0b23f41f57cf2045fd4fc fce4a4f0e408d3225184cb880c19aa820bbe1f89
+2584917b2fc0a0fcfe9dafb6720a0298667161d1 fce4a4f0e408d3225184cb880c19aa820bbe1f89
+7fcc0d3e5568ce6e23de224d01282d64d4c7d7aa d5e3f55e8e369efde317e463781786d2129513a7
+d3b869ec80bd4c8e4c26a05c4693188470a8209b d5e3f55e8e369efde317e463781786d2129513a7
+a7b9c3f2d54943fa190e0cf9787cd1114555c7ca d5e3f55e8e369efde317e463781786d2129513a7
+802bda3786af872b8a05c73984edfdf880e2f318 d5e3f55e8e369efde317e463781786d2129513a7
+11428aa2a0cebf25c0d8ebaded69815feeea62cf d5e3f55e8e369efde317e463781786d2129513a7
+34bf4dc5f11c0b1f57a25aee9a20637b29ce9386 8250383746d878de00673d5bc09f872ef4f1ec0b
+5a2f9f9a3aa146a7e6c754993c88e30d6624aa04 57ef29dc0074776a12a899855ac6279f0b5892d3
+420d86e68dd37ccc6bdbedc0fd21630b3746036e 57ef29dc0074776a12a899855ac6279f0b5892d3
+543b64e29a8275ee804c75480216078090a08478 aa295beecf3e69b079ad315dbff7f5a6411805b5
+e71043567f090eb21b1bf72c4a2aa5a12500c723 aa295beecf3e69b079ad315dbff7f5a6411805b5
+6548f0cf448aaad10d16d28aeb1faa98307c80ea aa295beecf3e69b079ad315dbff7f5a6411805b5
+15412f690bc89d63fb2253389c765b0161f6a9a9 c7425a1902cc35755f8792bca2b685d0d2df4452
+5e06558839ab58894bb43086def74158d5010d07 c7425a1902cc35755f8792bca2b685d0d2df4452
+a56926ba4c0de068b589b51c0b9a38b9cf507e25 c7425a1902cc35755f8792bca2b685d0d2df4452
+6e041f6406ad89d2d968d52073397c3458c32c3c b31ff6b9cf0ff0c77de6aa0354ce5eb33c2556da
+b46093ec3e76b39584e2ffc543c0b85abda9f85d b31ff6b9cf0ff0c77de6aa0354ce5eb33c2556da
+7dc275263aba6645dea70fc70a27d17804a5d640 48aeaa42ac6d6a359e40211d759afc52ab3e7e13
+66c937591263ebef07a7acc77cebd38503e2d190 99ccf41e82ac9094378f8cbf7f2d7d9f48dcc5ac
+5dab0b7e87611a2f52ef9ec29da45e9a48e44219 689a04f6cf839b7ae4b9d2820f9d5b0d7d6c3675
+c3f070b2d433ce0aab0b472427c78657cd32d766 689a04f6cf839b7ae4b9d2820f9d5b0d7d6c3675
+40b082bcfd5190403787bafe4953bfa43d4af1d0 689a04f6cf839b7ae4b9d2820f9d5b0d7d6c3675
+30420100dc164c709594ed4fc2d57a0f09078abb 689a04f6cf839b7ae4b9d2820f9d5b0d7d6c3675
+aee85009e9332f88d56848b3b91bb79eb971ab38 da2502695a39900430c1dadbbfdda2f0bf331402
+5759a29934230885c11f4e674e3899df20ce0ead 8989107d73db14b678d2f7928dc116ae4379e788
+cd711e97d46d83021006111d92fbef5ad452d60f 8989107d73db14b678d2f7928dc116ae4379e788
+83cc15eba708aeadb5e7f51481a1e20e6eb2a6fd 8989107d73db14b678d2f7928dc116ae4379e788
+475fd4cfea58606495d82223ebec83b4e1a526ec 8989107d73db14b678d2f7928dc116ae4379e788
+edec93aba453f3b5555535384c6d01330a58dfbb 8989107d73db14b678d2f7928dc116ae4379e788
+5935fdddfc502a8cfa23c3937f0147fdcd1c1be9 8989107d73db14b678d2f7928dc116ae4379e788
+412b3f01ab343233a67443d3d1dc6fbb001e0546 8989107d73db14b678d2f7928dc116ae4379e788
+6e1566a5b6752f36b98dbec6d7295e31fc9a6eb8 8989107d73db14b678d2f7928dc116ae4379e788
+c6827bf0d1527e2a82f8af2664e86f2b45287f95 8989107d73db14b678d2f7928dc116ae4379e788
+a7d3353c0841f7d4c5d93532fbc4d587009867cf 8989107d73db14b678d2f7928dc116ae4379e788
+9be4d2a6507fffc44efdfdc2ad25e54755dc0dd8 8989107d73db14b678d2f7928dc116ae4379e788
+4b9bfbe1687599817f95647022a3dbaca40162e7 c51bc2366a873510aed78aa1b33277c56f954d65
+15ba8f4756961674dd82fc54b2fdd532c9be9ac6 c51bc2366a873510aed78aa1b33277c56f954d65
+a4cb7ddab2c7857bccd778df9dfe0ae6fc4f5eb0 f62e3dfeeb8f64ca24dec4fcb52ad5cfb8bd173a
+9eea8580917901bc94055876e32ba7f01c1609f8 c4f010eda4778da4ee4586a9b26d0d226c87c590
+b915e24864f09dae51e5772fbf4fd2f65622342b c4f010eda4778da4ee4586a9b26d0d226c87c590
+4ceb95dac40d507f649dc8254549af5c812a3dfe c4f010eda4778da4ee4586a9b26d0d226c87c590
+d66e15a29eb055aae47fb9bd21aa0e9d2acb9c2a c4f010eda4778da4ee4586a9b26d0d226c87c590
+60abbce993c2dbf615cb0d981abcf933204928f5 c4f010eda4778da4ee4586a9b26d0d226c87c590
+36d34d595527a3a1cbb455aabd2150e53310b9c0 c4f010eda4778da4ee4586a9b26d0d226c87c590
+d35acb921ea14fcd4c38f09aef5728361168876e c4f010eda4778da4ee4586a9b26d0d226c87c590
+ac735895d2cd85465dc8ee6a3e0a69c3c7700d65 c4f010eda4778da4ee4586a9b26d0d226c87c590
+e3b5294edfafefd363b126911aa5516a101f45a6 c4f010eda4778da4ee4586a9b26d0d226c87c590
+8874a02a29befd1ac5b114c10c3ea048c6e5d221 ab56459661a163a89453de2e4404a9c4720a046c
+803ec2015e9600126cb6171e0a5609421705b602 ab56459661a163a89453de2e4404a9c4720a046c
+b5544f2a1ad952115a6afdc542a27f2c88d1342c 72065cccc15aa0c7dd4ca01d4e94a0d940e95074
+2730f6768992f49283edb69d1aac9d37cb809087 72065cccc15aa0c7dd4ca01d4e94a0d940e95074
+5d4f7056ed59e59623bbbd85b2f74e556249c7e0 52c27c99a4f69c0eb9e476d6020562b6221598c9
+afe2e2475079bd87cd258efe80162976b466789a 52c27c99a4f69c0eb9e476d6020562b6221598c9
+26c4e2713b0e6800fb5d2b82ee3993f3ec435e0c 52c27c99a4f69c0eb9e476d6020562b6221598c9
+4a42b435e56dbb371ecd358f73cf2818c145fdf5 52c27c99a4f69c0eb9e476d6020562b6221598c9
+6656765e7214c393cd5a33f371676dc15f399529 52c27c99a4f69c0eb9e476d6020562b6221598c9
+c3056239fc370a8b785a30c500a47168fed66dbf 52c27c99a4f69c0eb9e476d6020562b6221598c9
+e92b5699144ac78d19f68371f22a40f51dad173f 52c27c99a4f69c0eb9e476d6020562b6221598c9
+4050d599b128b7d378b1b72e985a3e9253dbd667 669a0345f0ac1c23363d1f0bdeba842b2c630613
+bbd95885abac8867f71a5234d006aa95e9690981 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+170efa99ebf354dffa356fedfff56cc26923d1db 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+074c3510feef4e4f7e0a67c9a3175aa4ecc6ed83 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+c9842a67f0a1a557f7a0669cbb415c64df956a56 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+e79efd59cf7e022bfdf0cbd78b4e678d123e78f6 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+46e92c19577c315836366d35d83bd31afc58c27b 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+652cef3020b5bf3653590b1c2510c5a75a0645e2 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+5fe5c6705df67fcdd2039b38b82cf3bb491431aa 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+7090705d83167bcda4b78be399039360ced1671c 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+cd31153b56e34e4fc593b7c9d0bf838252622cf4 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+dffcf89c5318eec4d06a88f38384482add4e5b4f 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+cc02b8140dc87f42ec348c35c573a9e07a09efec 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+4c0646630d8570e55b04856908b8c7da411594f4 6f0f6fcec388996a6bcf5d8a19287d3cc4ada013
+fbe8f7164d649e0d1c5651112edf1b7629bb62d8 e86bab074974510912bfd0ba0861d03f0a03adee
+b49df6a1e6df19af76c97da35d3a0973b82c841c e86bab074974510912bfd0ba0861d03f0a03adee
+7f459c64a8635355f5c74e3b6adee9e39d4f56fa 4c1383fc9e63f8e00378feb6d676589afdd32142
+01d053119f17f966d0702b0400677ea14cb5b64c 4c1383fc9e63f8e00378feb6d676589afdd32142
+4686f654f0a8e16334bcc42d42a343169447e8ff d80f8ead391a944af3489bba1a9955fa85305dc3
+1ca6bfaa1e9b0f1cd07366cc07b33ea4bcdd834f 3ab8e9bbc1db9875699e32375e238c27da8758de
+7043e9f8a7b357ad1263e5f2790051856700b094 3ab8e9bbc1db9875699e32375e238c27da8758de
+ebd21aeea7ef665b0ee84f1ab201c070c8f93def 3ab8e9bbc1db9875699e32375e238c27da8758de
+54f08412077005ca2621786d910ad3cf982d328a 6c65ca27c6debb4ca1e9be91363ff7098110b065
+ba200da19e62d06274f5d7b8f4d735efbe571cde e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+391d03925a1a8d6d0cc70c2eb584b054310a4382 e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+ee91dcc179677763f3452995f6d3c47323822508 e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+1f2f513fa2a954e4cbf8970c9730c50aa4584ee7 e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+960a491d8bbbef7840838252537f6c346168d411 e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+3ba7486051730ea362d645059dfb118a12b8aeea e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+47366fd364b91c0848091d77fe8de75647948ec4 e150b68267f6fd53ca35d1a15d39bbf9e91b8706
+664ddc1ef372f31071c9dc404f32dc195f22c3d8 2f8b66257cc50dff199bdf4cd9cc3904035f51fb
+c94f6bcd82199c47fa19d619522a9c466a8415fd 2f8b66257cc50dff199bdf4cd9cc3904035f51fb
+28111dbcbbffdc28f90fb79ba05b082cb39c2972 2f8b66257cc50dff199bdf4cd9cc3904035f51fb
+72ee02be532d6fafa6dda6865d8c4671cf7a9327 2f8b66257cc50dff199bdf4cd9cc3904035f51fb
+ea6a383ce993508a220ebe200878ccf716188afe dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+2eb03e28a28467dee2f31ea2b134a13a59d5c3c0 dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+a860edc592824056c8be1573ac0a04d951712249 dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+0db24dc267dbe22fc87f7ed532ba4644dbc79739 dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+5ce0413fc7a5f43b48cb26e9d32c62c57adabfb4 dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+eb757b8c4b0cd55def09a4420c1fc8b734cd7104 dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+b384dcd47a267741ba5402ca94d29e7b4d4a0bce dd954fc18e3204fa2a1275ca86cf344ee401c4a5
+43770637f052f6c838ed22165a5ea79d06c9e765 44383c9752c33153b5988412bb42831458a962b8
+2b785598fa235d5103fb79adc3fd3961dd559c44 f628c702887f3070bf53f9440bfd4272952a1d68
+b3856eb3965f519f450c153bdc93e08698aa6110 f628c702887f3070bf53f9440bfd4272952a1d68
+6c970dd7bdfa05d8886d28be67162f616cb40edc dd8db13fa6a68ec268ac038485db5b90d59ecfbd
+f70066a526bcef07fee4c3d835bf27c401a647c1 c7b024760b2a0d69a1445770f4cbcfd59a930354
+20d9a86a7fe46a2ce97fd8c016a423e757060ca4 566800ed48ae7204e424e3a2957bcec608032fa8
+1d062d27c341f38601b55acd65eba70a660f8dfa 566800ed48ae7204e424e3a2957bcec608032fa8
+3fc6d2d0e4876eb0897ba3233a2dc81ba9bda116 566800ed48ae7204e424e3a2957bcec608032fa8
+2561237054061969dd27ad5e50dea3de989b4e28 566800ed48ae7204e424e3a2957bcec608032fa8
+1bd81bf6a7dae1daa293026101aaf2104d77138a 566800ed48ae7204e424e3a2957bcec608032fa8
+d026acd490ff7b33f4c77510b49f85caac775a3e 9543854ad509ad6952a9e143d240aa572ef87fc7
+8f49e6a9ec792eab0d1f5b385b2e3a87db5c35a4 b42fc250839ba55eec1ecc186a8cbbe3378685c6
+939f905e065fda4de0f8f99ce6bd42bf1d8a59b7 a75322711262831110ca6b3e09816b24e72ce2a1
+571443c9e213df3475e1fbd05094917751401d19 a75322711262831110ca6b3e09816b24e72ce2a1
+5df04fceeba112aedccbf221457dac7608419b91 a75322711262831110ca6b3e09816b24e72ce2a1
+d9544f9fcb202e40eb91f0b10a4f3929af4b2563 a75322711262831110ca6b3e09816b24e72ce2a1
+4b0ad44a4746cfa66e8b323ba1bee0a453e4b9f5 a75322711262831110ca6b3e09816b24e72ce2a1
+9c0bf350c2b9fad5ccf2ce7a5a209beb2f7f5b4f a75322711262831110ca6b3e09816b24e72ce2a1
+b6ea0f4ab765988adedc941108480221b3737c55 a75322711262831110ca6b3e09816b24e72ce2a1
+a96db67f7469ab4b92fcbf3adb8ff6fb3cebd631 a75322711262831110ca6b3e09816b24e72ce2a1
+3419a0148dc6452f2056f5066900ae201c356dc7 a75322711262831110ca6b3e09816b24e72ce2a1
+bffcd52b62a8b5d67a4b3154ee88ebad07bdbc17 68df217b6b58b9fbdd15bea6d3aa9384589925d9
+e777858dd59d5eed4c58729cbd8a43d4ae15fd47 afe9a45d40d2b2f8d65031a20c2f104dd084f6ae
+fe67d27f63bdc2fe21de5b42016acb52a8fec3de 484e4e48d21f94dfa3ac47d8d16d89471dcabb1c
+52b866538a952374e280d03a4a58a4c3d7692284 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+7ec3c9a2b182fffbc89747d045995cc622e790b6 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+a251979c59bc5674184af96c11f845ca1b27f96e 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+3d5477b795833ac6a1b503cd6cc1ab4a8292da9d 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+9c324913bcfae19d721a8ccaa4de49d569ac0a4a 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+07472bbc56a1fb5810c4f790d8a1ce40f666a7cd 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+a1e3dc70113ecd979e460c5f0a233b991f2bf752 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+4221bf8eb140a4205a287e599e4339e6230f5aee 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+7bf97a76d0039b276385d1156af1807a51c63629 29ad2974dfec1584ea80b6ea1b3bfd6ee6777bd5
+dbb0b145bed3e1ca67f11e4006596d2f79c8d435 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+f4a1cd02ca0448b36482b00453aca395eba65f2a c13b288b0e0d5d60c4b7261c73696aa71ede610b
+cd91280759149762ea79c7498eb50eaf0301f7a9 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+3090dff78250f4eaef2b479092d1d82ce545b618 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+f0d0173ccd024ab9a318e4508b15d9472053aa41 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+a120c0bd308e80fe0d0cbd639e41f2f486ddc6d9 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+5f28ffd442a1cb2dc0c143977086c7af9706c6f1 c13b288b0e0d5d60c4b7261c73696aa71ede610b
+97a8e5ea31e8ed3401482dacd7341f49c11e6587 e38a54402532c3d46fd4698364a9992c333a1661
+0144f77f87b1e73c6ca33fdd5b4de67a1ea075ff e38a54402532c3d46fd4698364a9992c333a1661
+f756c2c14f14b61fe59b2d2b04c158b387bc0331 e38a54402532c3d46fd4698364a9992c333a1661
+7e9703b99e9f1ebf15b096db50690d2931a860c0 e38a54402532c3d46fd4698364a9992c333a1661
+afe9b2fa20a5fc7c2a3f55f5a014c8d2d2c220b9 e38a54402532c3d46fd4698364a9992c333a1661
+c9558488f37c1449933fc07a7b0eb898da6f0dc3 e38a54402532c3d46fd4698364a9992c333a1661
+f7db101e6db7347104d784cbddb5f5868f02b802 e38a54402532c3d46fd4698364a9992c333a1661
+304b5b83aeeb9344b3a79ab50d4ea7aeaf615c3a e38a54402532c3d46fd4698364a9992c333a1661
+8b37a199620a1974b234e235dc5a3694d3549e4c e38a54402532c3d46fd4698364a9992c333a1661
+ada0b999f257a0990ef5429da67a2414d17e8115 e38a54402532c3d46fd4698364a9992c333a1661
+c1883ada25992170950310d72a7be7dc3d6bef8a e38a54402532c3d46fd4698364a9992c333a1661
+041afe629660f66c95bc6503504f38f1f5d6a130 604f02ff395d03f3cb1ebad4f6c416232ae1473e
+8706f88e29516635161187b02052fd8b2ac7ca54 604f02ff395d03f3cb1ebad4f6c416232ae1473e
+44371616e3c0a71a8c0196c2586266cd0fba0c0c 604f02ff395d03f3cb1ebad4f6c416232ae1473e
+1f57c789b1f0376ddfcfb6b35691436e067a837d 604f02ff395d03f3cb1ebad4f6c416232ae1473e
+bc3d00581f06066b3895f3a810977b2f1ac31c73 9f38d88c584f68bfa6836ed83ea564d17b5d9422
+c6c759c10531f192fa234108a840917ee01f3747 9f38d88c584f68bfa6836ed83ea564d17b5d9422
+811d0063de2d322c5ec4c6dcf44ea5ad0fa9ceae 9f38d88c584f68bfa6836ed83ea564d17b5d9422
+4d3bfe27240eb358eb46667df15017fb5e75293c ec3f3bb2e87516c4ba22b2e77d58ecd6be590a31
+52ae47a6dd7d6b253ee2f02f8ba689991e728268 ec3f3bb2e87516c4ba22b2e77d58ecd6be590a31
+65903365bef71011cf64648d1363aee945759c23 ec3f3bb2e87516c4ba22b2e77d58ecd6be590a31
+e77d3c5156813187eae9d0b435fd33fe3762b0cd 165a77880e49eb64b2204ef7bee8edb0a95acba3
+e064c9d1ca90e8743fbdb6b8be10c77d13e56ec0 165a77880e49eb64b2204ef7bee8edb0a95acba3
+63db5dc0dd6a66c7f7f186ee9eb0b448dbf4d379 165a77880e49eb64b2204ef7bee8edb0a95acba3
+ede151d90b6da9922fac974c86aefacaa26dc4f9 d57f62aec7ef33babc00f331683a796a0e16d3dd
+e3a4e152bac2e459e91ba7dea63aedd08f3fcf61 d57f62aec7ef33babc00f331683a796a0e16d3dd
+ff51796dd4524a9f97fff46b44f6c231cdc3e9d7 3485cca526a7229fee5a1e4550ec57dd30c026d2
+dda735d5169e6b604911fc3fa34eaa75d972a473 3485cca526a7229fee5a1e4550ec57dd30c026d2
+bc4945ae955eb3c3d7c4c6fa29570f52f3964d4f 3485cca526a7229fee5a1e4550ec57dd30c026d2
+ca0269b3fcd0c2679190f09ee860f22da4fc27ff 151a8104a4c6b3a1216c8a9fb1037c05b413a6c3
+d2e01b326c6841b6d3cbed4436d6f5ca7ba7ba33 151a8104a4c6b3a1216c8a9fb1037c05b413a6c3
+e96241a82b17828b6ccea31f2d188dca70f524b7 3fd88edec111f402ba54f7da1427115ea3b24233
+a3f2d265d2d53353ec1c1488c381f7dc92606bc0 65c52d18c879061595e0f24076abf4ddd67d4546
+54ceba56a244e1c85477926a9ca1cd0ef2fdba3d 65c52d18c879061595e0f24076abf4ddd67d4546
+2371f9f570c03a28dd6a8487ad169df64529b5b0 65c52d18c879061595e0f24076abf4ddd67d4546
+11217b16465a5a38ad1f11a020e4bfe3280e29d5 391a360fc918ce86c4197ad6907675e22fc0de09
+d9ec86750c7db6fba154a1e10ad8a55f92a1433e 1011565c1a9eb7d18e21c487ab6083dc1e4d9a6c
+ffa33e6da08e5d8950327e44f81668abdd00237c 1011565c1a9eb7d18e21c487ab6083dc1e4d9a6c
+75d9a45ea9fe52c05462f61ba749fb4076a2460c 1011565c1a9eb7d18e21c487ab6083dc1e4d9a6c
+cb85645d092207a654d8c2d75146abf7a6ca75e4 1011565c1a9eb7d18e21c487ab6083dc1e4d9a6c
+538c31c0225baf4caf030570fc841ec24343c4aa 1011565c1a9eb7d18e21c487ab6083dc1e4d9a6c
+bc5b8607538446a98d500804f1cb5351d719f9ac 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+c9488392bbeb3cd16dcc187e12e0a2e79d14bda7 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+c4d4dac7353d01f2da89a7e4a867936ffe4a0be8 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+02610d69d51fda6ad23855a2fc97041280a0f288 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+3de6f5284ca953f8303664d4d6f333c0babc6a23 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+1a492b9f0ada98a18acc6849fcb910f7286bac80 3c98e3c9e1145dfec522c14e1917b0e1ee942954
+6286ac55844569be83bccb9a12b7a045e5199ecd b46e391b5af7cc7f22f7b4fb5b14d0a5792356e1
+0ec000c323161995a79b19bc0c2b2b12621357fb b46e391b5af7cc7f22f7b4fb5b14d0a5792356e1
+bdbdfb2a83bb29e1220954448f3fce404817bf65 22c6def32c847098521a43b0ac7b194e3b45e838
+c4edd536817b151e5fd107b8c51ecf74904a7f6d 22c6def32c847098521a43b0ac7b194e3b45e838
+c7760225a05776218fd78286e024bcc3958f8a54 22c6def32c847098521a43b0ac7b194e3b45e838
+c6681ce3799fe67b497ef10ddc99cf5b4714b256 22c6def32c847098521a43b0ac7b194e3b45e838
+46e31d1d76620253007240d82908fab1ebbcf1fd 22c6def32c847098521a43b0ac7b194e3b45e838
+79282b91532882d0e40cd0edb3c76dd9ab8f4af7 22c6def32c847098521a43b0ac7b194e3b45e838
+d4e9527993a09c741bbc812ffcc92d06ffb1ba4a 8e15a8b2ad0808829d8ec6d5ff1829cc891cf5c1
+c642c5cf94336be688cca91a4d2c0f36234ab4b6 8e15a8b2ad0808829d8ec6d5ff1829cc891cf5c1
+d1ab22ae72d8ae891a84d4126ca7e3c342b4511b b5b3cb7c024dd974bc44500fa1e23afb010b1bb7
+5a0647a16b8ae97a226040e8bd59cc98d12bf62a 3475bb1ceaf93c05dea6c840d7c5f3339cf0ee01
+352425e96d10c9481330c26439183ba9ebdc0862 4f40f9d87aaf045d475a93c4bbb4bf98604a97c5
+741ddf9e5b670d217460d9c6f63c420d87bbe0de a96546775e16ebbc7508dc72d20b36cc488ec708
+a5327c522985f8134b03fbfb5b8c1d3c8dc767d5 4b62d4130c2d78f75098865ae0ea7bac1f83a08a
+92cdd7e685ac79f8aa6add54c5bbd173b3e5f69f 4db5303bdddbc62ab0a27c2e9fa679545bd64ace
+c186ec9976f04a3124f9c3ce9b48d9236f4449d2 4db5303bdddbc62ab0a27c2e9fa679545bd64ace
+a623febba55c36d3239417f7abba0c7ffc1706df 1080fcc57995cbfa4c13ec71daafc153e9f26c06
+5dcea6c62cbc3080a4895c010697d563b9630ec9 22cfc0577dae9e60e1407545127145186ab8f5da
+c4ef86e19ad2778c5fb34f7adae4bbf8c7f941e3 22cfc0577dae9e60e1407545127145186ab8f5da
+2a0a92023cd02269ea7b44b878a1e65b53a2e538 22cfc0577dae9e60e1407545127145186ab8f5da
+a4a3d7bc7f44dfd4dee2d55f206a1e8447f2c80b 0ca624511900aff14fab5b4040b969e71a883deb
+02f16628d8201231d35ca8027711e0b1dc831f08 0ca624511900aff14fab5b4040b969e71a883deb
+32bb0f90f8636680f3c88747b8c2d2e385a236a2 058c7487867b6e8120cb2bb1b1146b0b745cb44e
+727cda26868b97e6e5e7497af3165fdcd8eb41d1 058c7487867b6e8120cb2bb1b1146b0b745cb44e
+af80afd648841204617a498e3d6a74acbd8b4f9b 058c7487867b6e8120cb2bb1b1146b0b745cb44e
+31798a6ab030811bf5cabd486a87285ab59ed085 9a239f1c448121edbf1d35ea834244edd0029c09
+7494b61b8681e2962fab4997e8ac13a18c3b0bc1 9a239f1c448121edbf1d35ea834244edd0029c09
+3f4d7a4a7fde8d052e57f2f482c748ff04bf7112 9a239f1c448121edbf1d35ea834244edd0029c09
+7cb45796b80aa5b75fcc6d516e27efa60fe97a80 9a239f1c448121edbf1d35ea834244edd0029c09
+f2e87ce7a6411a6383c91b80fca1c17d45007030 9a239f1c448121edbf1d35ea834244edd0029c09
+389dd9ba4984d4accbf6caee7ca09e8945fa88d3 9a239f1c448121edbf1d35ea834244edd0029c09
+130d82c58e08abc5dff9aaa17dd0221e96c49ca5 fcde59dc584a22f871c4bed8c68a41560383c06e
+feba2604517a978b293e1441d6239ca233a1fafe fcde59dc584a22f871c4bed8c68a41560383c06e
+e9aa0981b48f56f170394fec05148c5856a31e12 fcde59dc584a22f871c4bed8c68a41560383c06e
+965a885a42678f3106a634c0e8f52dbde57a3178 f580752681199a73b1a0e28a28b2293d7403cd66
+dd01a5b9d0d1e42e7a014db3c6ce2cd4ee7e130a f580752681199a73b1a0e28a28b2293d7403cd66
+f18e84ecd9360b3ff01d3edd1a7ed4c63ee21d1d f580752681199a73b1a0e28a28b2293d7403cd66
+72bbd845a07f81e73915728d26c5d8e15d93acc7 f580752681199a73b1a0e28a28b2293d7403cd66
+06ba0a8726b365c52bac5766c24778065f0cebe9 f580752681199a73b1a0e28a28b2293d7403cd66
+dc22c926bdf4e41981ac7823f438b6ed0daf3f56 f580752681199a73b1a0e28a28b2293d7403cd66
+cb198ca0f41e4ab6ff8986fa9d20bb418c3d265b 62b4a6bb3efd3e4c2f467435453f1e4af3e3c01c
+2877f26300ec90002a9abc34e31fe52aa6163374 4dfc8a82a33a63a5663bbdebc3ae486da56b9402
+1a37fe0f61b5b476309b1c320f26b107495fcc37 b7a5f8bc7a542ec77e64ac71f9d8dbfa64d9aeb9
+bdc7251e88899213140bf4c5e46eef61aff2e282 1fdc56b13039e6d1f6bc09f695de578ec66e86e8
+335d05e78828b6dff6d7f7fd970e5e06f1386193 1fdc56b13039e6d1f6bc09f695de578ec66e86e8
+f362c39edbd1939dc6a5ba09571de5eff4512bf6 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+5d961bd401837c9fffbb7bfaf9eb04fd7289cd7d c819829dd832fcf4bf37ee50bb9776a1c508dc38
+d7de4efa23122862d8de13b9342cd30a26b51914 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+2be406de38732ebb4cd40146276bda4896c6529e c819829dd832fcf4bf37ee50bb9776a1c508dc38
+0e689208612f9752e53ea0ce98112d58ff0c4839 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+b19d51e34049a9a063300c629192beebc32c9a18 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+0efd6fc3ad62c3c5ebdd8da463b4f2ee7932e83e c819829dd832fcf4bf37ee50bb9776a1c508dc38
+85acbc4a4946d50d9b038656f4fb917cb0351049 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+355bd6141cba94645bc87851f95a84dd0c352897 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+5f65474cc6521acad388492e15c9dbe014f08c2d c819829dd832fcf4bf37ee50bb9776a1c508dc38
+07d8363a4f00b69a4c6c5aff1ad5ee939b78bde3 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+123f43861518d8ee37df1447e2697782656c2592 c819829dd832fcf4bf37ee50bb9776a1c508dc38
+615dd97c36f13b28d983cfe6d612d7cb88eeb403 774af8f7dfbba895fc582cba177d077b4f4f3f18
+633a88fb29e87bf954c27fc9a531b122406bcbb6 5e6b9525e6868acc3354205b140553b286ed08e1
+ec29a54755306e0755ea0d0c73c79502bd221bf5 5e6b9525e6868acc3354205b140553b286ed08e1
+7f2b6eef436ddaecd8b4bcb1d95e7b7f805b7891 5e6b9525e6868acc3354205b140553b286ed08e1
+3c37a2ba8dafab5bf297706d0798b08965e344ac 5e6b9525e6868acc3354205b140553b286ed08e1
+18509af0203fea33d543fa266f8e4f2b53a3a60f 5e6b9525e6868acc3354205b140553b286ed08e1
+ee81788bdff0e1d1e0f1da80aa4d284d6f957531 5e6b9525e6868acc3354205b140553b286ed08e1
+0ce65ec9a4d93d4ef9b245c92b30c512bb835589 5e6b9525e6868acc3354205b140553b286ed08e1
+4d184bd4f22094bedfee5110162b91526c2cbb52 5e6b9525e6868acc3354205b140553b286ed08e1
+f147d3810ecc84112187b70a51719f3dcb6bcefb 5e6b9525e6868acc3354205b140553b286ed08e1
+d30d91115e3aeec3c0f6c752fb4614f0147d2bb9 19548fb13e5cb6f26e306ae284452ba73af1ca0d
+147841925c418e282491f844443c01cc418f4def ab83734f28acc1963f78e3c6020bc1b110b8768c
+2999b14d32a7637deebd0cd57349fcc95bc38dc6 ab83734f28acc1963f78e3c6020bc1b110b8768c
+eb7d6fabbd11dbe7342e7c2200775758808f6635 5f994a0bcde960f9293ed3e525682ff65e202b7d
+04b26c420f2a1890fa97f2e6b8875226df2b312b 5f994a0bcde960f9293ed3e525682ff65e202b7d
+b1477c06441b8dbe5f268556968e8d52934c2511 5f994a0bcde960f9293ed3e525682ff65e202b7d
+8f461a9db012e8de346908209a2c8227bc779995 5f994a0bcde960f9293ed3e525682ff65e202b7d
+febeccd706a4a75a7cab9fd844a59a3c80260324 5f994a0bcde960f9293ed3e525682ff65e202b7d
+d594554e464bf066a2920295f63861d8fa0de706 5f994a0bcde960f9293ed3e525682ff65e202b7d
+dcd9a997448b0fc8ccfb278ad688d14e31b32c78 5f994a0bcde960f9293ed3e525682ff65e202b7d
+4a79889120dbf3711c36b40f8dcc93c32b365811 5f994a0bcde960f9293ed3e525682ff65e202b7d
+6e33a5346fc446c9f2258234f82db40050d5f4fa 5f994a0bcde960f9293ed3e525682ff65e202b7d
+2b1e4cdec3588ebc12c554284df0947372087cd7 5f994a0bcde960f9293ed3e525682ff65e202b7d
+6573e224a81d46ed38cac1c048e2d748a1625227 5f994a0bcde960f9293ed3e525682ff65e202b7d
+26097a77657668ee5426f5fb552efe0defb24ca7 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+353d806624b6c95b571acb48bc5f8c145f8a8a6b 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+ae37eb3e45fbf1040468abe37ddcf5e725b7dc0b 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+0611cd9706548a90f7f395c634b7b37ef323caa9 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+e9e349c71f86438218cf85f9b6b23220feaec1a4 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+bd512c576ac4ad0332078991946695e4edc33646 9789fc444a32f5f06ffb463e0e2ee1d168c2c47b
+d6932b5db99a49dd77880e9c97b16b0ea079ae5d 9c97f22ae000a6f0fc73fd133daae280027c825f
+b4a491c7621969062a0c6bdb8589b512e1ca8a42 9c97f22ae000a6f0fc73fd133daae280027c825f
+07c429d00411a2e6d634395357b3cdd661c44e2b 9c97f22ae000a6f0fc73fd133daae280027c825f
+bd9db2f3481a1ed54881b8c25920add929db6e1d 9c97f22ae000a6f0fc73fd133daae280027c825f
+fd59a8cfd1c94842a95945c9b5fc507c69eb8800 eea7edb1df58d957c7fe8f27d42facd3ff15c2c2
+c440960afe9035947fb391ed5a55ad7d27ded23f eea7edb1df58d957c7fe8f27d42facd3ff15c2c2
+ce3b4a85db4aa5ea815b5a4f91aaf0de10497681 eea7edb1df58d957c7fe8f27d42facd3ff15c2c2
+aef98258f69e1d55f593d1b2ff0f57ec198c1bea eea7edb1df58d957c7fe8f27d42facd3ff15c2c2
+2c1204608f01aabd63b4a67c7a9f469746210e20 eea7edb1df58d957c7fe8f27d42facd3ff15c2c2
+a4509196efd3a715c1df40403ab1e3392da0d779 36ce122a2cc249b527184ac873a804fbf1f1d41a
+5421cc6e29fd3074a141913e02ba8f0d389e3ed8 36ce122a2cc249b527184ac873a804fbf1f1d41a
+b5ce319c3c1f7eaf7fe95a008ed2053764936728 36ce122a2cc249b527184ac873a804fbf1f1d41a
+95ef340a5cf0ed75b3da488abf9358439df68210 f4c6b5b54f09b4ae76bcdf78de42499c7484542e
+1b91399c097ee6d1969fe2843d554ee54e2c13d2 f4c6b5b54f09b4ae76bcdf78de42499c7484542e
+79395cdf4bcf2331a7b6ffb55e2747bedc005033 f4c6b5b54f09b4ae76bcdf78de42499c7484542e
+833cc5f09846fd5122158285575a9c7cb4c9f9ba f4c6b5b54f09b4ae76bcdf78de42499c7484542e
+36580973912d2d1c45f4af0f8554e1b2568a0383 f4c6b5b54f09b4ae76bcdf78de42499c7484542e
+99e48fcafcb8e2cb959a2cf57adc88a9937a8361 b7a7b0cdf55be9ea8d3e36cdb94fc48128381cd9
+d394794d57b169107cbcc16869f2a38d4c6b4676 ee57104b02a3549356e11b5e7f309dba2ba8101f
+d84b2ab0931dceda32617448d3c297aaae52d213 62e80d1cc9640d86ef7404a699495631bed314d0
+7bd895b11b944793e21b95ed1c6c9918122330df 62e80d1cc9640d86ef7404a699495631bed314d0
+90e4c9d40729a0b79bb63d10814ceb70522ca912 62e80d1cc9640d86ef7404a699495631bed314d0
+0b7909efdc7726f518ed4d3975e8a95eeed686cf 9af565b7bcef55ac85ca05fcb96c0f617e8e12bc
+693743a639184173a7b2acaed22aee385e2f6b6c 9af565b7bcef55ac85ca05fcb96c0f617e8e12bc
+450c684686d0f3217620131c414e4591d2b0027d 9af565b7bcef55ac85ca05fcb96c0f617e8e12bc
+6f7090f6b5f54151cace13ef326ca1734729cc2f 9af565b7bcef55ac85ca05fcb96c0f617e8e12bc
+427fe47610b9d2e2550ef7447ab82029589a2107 eb6d223babee562b23f9cd90b4a734f5fcbe061c
+a0d1a7eedc7c5939e577c0dc899710acfb479688 7889f70b251906e33fd8b71ba71f715caf0ae0e8
+a45f3b77a1a1161686cdd5e460f4ac66d8ea6bc4 98e6b2e680834a2d0f1f4ea8de10ed6cd9668eee
+09d9299642bf79e49d6c8c6352f4c7bc1b959b63 98e6b2e680834a2d0f1f4ea8de10ed6cd9668eee
+7d755bcb6d55bcfa3a117f142a8f47047a878530 f50f60d9291ea4abd88c287fba0de5182ee33823
+96e822b45d1c18e1ab2eca7649280ecd4ce5d223 954a5902e29b426663175fd7ef6d1535252e7e1c
+1cee28fe6d2c199f4e87986e6489840cd035d2b4 954a5902e29b426663175fd7ef6d1535252e7e1c
+11566cf7df2baf69641345ab52cd10da701442f4 954a5902e29b426663175fd7ef6d1535252e7e1c
+3d5d3d52da33e2df5a4dc3569015f15bfea0a2f4 954a5902e29b426663175fd7ef6d1535252e7e1c
+fee73462d16936bb2c2268872bbbd1d5a9ff7c9f af10caa0dacd66df93113120eefe472e081e6c3c
+e9e53c0dc5d7c6808f7ac0ee8aace3cc64429b14 08e82e62de9fc4ab93b7bf31b7e024b82d667a77
+6c54516d72dc000c763677d115e1722f4257d5e2 08e82e62de9fc4ab93b7bf31b7e024b82d667a77
+4585b3102fdd5373215ac74cdb84207add5a9520 9fdf973ec47b48d15d99358aecfb44aad103dd19
+8549a53cbaa53113a0b1f8bd9d41eef242ac4d9f 9fdf973ec47b48d15d99358aecfb44aad103dd19
+33da38a239062d87007d0e768c409058424c2d4b 7748cb09774262d3ad3670e9a593d8a5fed6f8d2
+b5ca2052ea4eda06ffb98c4cb399baaa635c4cc1 1c945bdfe883b39ad52bf58320d01a6c2b7258f0
+ce11069fac907dbf1965dbea0d7eea2948611edd 97cf05821b3051028c6cdc1391caed061aa0139e
+7ca27eb76887251fab128d8534404c82bf76e7cb 97cf05821b3051028c6cdc1391caed061aa0139e
+94c1331564a5dad9e9e90914aeffd82211651587 97cf05821b3051028c6cdc1391caed061aa0139e
+7a391e3a5094648c5f28d3fd0fee53715c707d7c 97cf05821b3051028c6cdc1391caed061aa0139e
+e1f9865646a609732d532beb5898708dcaaf4e4f 97cf05821b3051028c6cdc1391caed061aa0139e
+9c2f3c5cab578c29df91fe1c16cf4aee431b9b0f f463f33142508f423515b1f0cd21e2aa06b517ad
+48d277eae1c2d55e108c85b21902a06618e4d915 f463f33142508f423515b1f0cd21e2aa06b517ad
+d9e0f1973d8fa1ddc2a700c7ad599e9f69039d77 f463f33142508f423515b1f0cd21e2aa06b517ad
+b172ac631048d6b69c9aeef5248ed31c4afe7ee3 f463f33142508f423515b1f0cd21e2aa06b517ad
+d6e821203ce60ce0b016e98e40c4137bbeb6ef32 f463f33142508f423515b1f0cd21e2aa06b517ad
+960ff09b9cfbe4f7d4dbcaa20504d66c737b2ea9 f463f33142508f423515b1f0cd21e2aa06b517ad
+3b524cb1b3eed54b3c02569ccb14167d60fec9c7 f463f33142508f423515b1f0cd21e2aa06b517ad
+516b6a76af44e78a36489dfaebf92480be2eb889 f463f33142508f423515b1f0cd21e2aa06b517ad
+9efe4eef9aa5d6347cd66a4ad36162244388e896 f463f33142508f423515b1f0cd21e2aa06b517ad
+660d90151d4f05d12fc6c8fb279d0bd50b55f75a f463f33142508f423515b1f0cd21e2aa06b517ad
+9ed0713b30e799c8524a8b5638116b9ed6d8ef1a f463f33142508f423515b1f0cd21e2aa06b517ad
+1cbd421e4daedefb0f25636d1037ff3a06671a09 f463f33142508f423515b1f0cd21e2aa06b517ad
+91ec6b8451ea809f698667750bd393fac951c0ef f463f33142508f423515b1f0cd21e2aa06b517ad
+9fbe683e331966f1789d1c4858d1d259b2bc2b8e f463f33142508f423515b1f0cd21e2aa06b517ad
+3caf1ec340327c2c0f607096af2cb72ccf52ef31 f463f33142508f423515b1f0cd21e2aa06b517ad
+e3b2a78107e0293a550f2974a107f8e379ed1d2a 9482722265fa87b62eb30ef46cf11ae42d64eea5
+b4e3aa121c96606025ee07511f71362c31ce45ac 60425b2353bd92196039121f2d5de05c4901ec8d
+bdf641acf1aea44abb1c7b61e6c4e58c93c2c2a0 e84cbbf16bb3b274c051ed7d70a4a68131d15123
+4b4c598710b4baa44cf1f15bffae534c7db37f65 e84cbbf16bb3b274c051ed7d70a4a68131d15123
+e02c5a96c489005012bf6349172a844845f13cc6 e84cbbf16bb3b274c051ed7d70a4a68131d15123
+2d9c4ac1b3135b6440a977e8e2b95c6406e9d44e 3c11b712ac9f71a74725d864c252076e52a44eda
+c66f833de8b3f36e7f80aea540d2677a595c3614 3c11b712ac9f71a74725d864c252076e52a44eda
+c84f620ed251b122950320f293643dd7bab297e3 3c11b712ac9f71a74725d864c252076e52a44eda
+264700851369a4591a1a953c7cdb155580cd30ad 3c11b712ac9f71a74725d864c252076e52a44eda
+00a85bad8d973705735e4c6e313c5fee6e000c2f 3c11b712ac9f71a74725d864c252076e52a44eda
+606783b68882dff331d5302e046acc43e14eb1ae 3c11b712ac9f71a74725d864c252076e52a44eda
+f99f399d49dac5d7bb83f6eac9daa807ad000c3d 3c11b712ac9f71a74725d864c252076e52a44eda
+bfc5f124cba832156933af3b4486e122bc89c4eb 3c11b712ac9f71a74725d864c252076e52a44eda
+df7bfac0ec8836cf24e1c0096ca27e74cba61d74 3c11b712ac9f71a74725d864c252076e52a44eda
+9371de42f797a9a240044f54021dd614e02a1bb4 189cc12132166bcf0fdaa4a6faf72967ac98b122
+68b61902416568a789546b79fbf18b3a8a96d88f 189cc12132166bcf0fdaa4a6faf72967ac98b122
+977226c7ce417a968274975a09d849d4b6ce5d00 189cc12132166bcf0fdaa4a6faf72967ac98b122
+0486546d867567b2bcf83b59a70907b8f749b55f 189cc12132166bcf0fdaa4a6faf72967ac98b122
+9a57d0079e67ed9f57b147d67645a54fe2c3c97b 189cc12132166bcf0fdaa4a6faf72967ac98b122
+f7182c0801a28580d24957c61a93828735184f8d 189cc12132166bcf0fdaa4a6faf72967ac98b122
+643277d120c782f2be3afed52586faf8e0d5a653 189cc12132166bcf0fdaa4a6faf72967ac98b122
+92aa2723b5946963ba6c9a6a6f992963e7911cab 189cc12132166bcf0fdaa4a6faf72967ac98b122
+ee35d13c3a41ccd774249618daab5bfeb7808ce8 189cc12132166bcf0fdaa4a6faf72967ac98b122
+19a9e97d5eca6e02228432ed9b7959aca91093dd 189cc12132166bcf0fdaa4a6faf72967ac98b122
+6464ddfaff295b1d7f18afa944998e3079b35bf1 189cc12132166bcf0fdaa4a6faf72967ac98b122
+ebc6fcb54232d862d46690bc0689c8dfe5f363a1 189cc12132166bcf0fdaa4a6faf72967ac98b122
+2edea3d7c609624a58c23a79db078dd8dac77b69 189cc12132166bcf0fdaa4a6faf72967ac98b122
+c65872314a8766753d72c99a12e0eb47ff83384e 189cc12132166bcf0fdaa4a6faf72967ac98b122
+b2a382105c7a72674d978246a5185e75b23df888 72d30abbe3e1ac8d206d8707e1a5afb7b5cfe9d1
+22b823828ff5c30b0eedb7f115591400ebb3247c 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+43adf1df1b7d15c04d92feaad6f3f4638b128296 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+930c43ef120845392c911f779263ddd8dbc49b4d 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+6b2b4e904d05a954461af77187400d6497bd33f0 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+ea7fde7364e34a82e82b12566cb460e676d9d9f4 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+021fd644ff0d8b6f3c7fc690b958e3eae12762cc 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+4e2705ce00d085d4c0255d323567f7cb390f64db 35952d8bdff87a40edd2bf71d6f102b03c5a2fcd
+83821afb3e14819a9dfe178e6519220265eae5b3 a188721b0aba2d8d26b7895f921f3e5c91051a4d
+098345523985460aa2781d8232dc11780daa54f3 71ece6053a93f2c06ae9a8bfe863adb6e2f18981
+dfef87f7548cb10387bed1ad37a94fd2cb276177 97189f4067ed714bfbf3340e5975167fc51047a0
+39a07fe80436b43efab2ecc3a98b939210fc81cf 60b48a0cff430ed572e95b5fb6683f04c68c1bee
+846485a648e589281d112f541cdb69a06ea42e85 925c77431454641dbd6fdd0dc090377f3faa71a2
+78274e76db7383b987f177c3d50ebf7002d809f5 c39432490f7640f60aee7f2bdac837208ce88b16
+a8b82db9945f23e909eebb1e0dd3e22b87440449 745c540ed56104faf541c85fbc1c3d712ccfb20f
+2525cd68adb312c020fa71edf1318ebf2ebb9dac 745c540ed56104faf541c85fbc1c3d712ccfb20f
+f56ca02c7a1f205df2c0ded2570b141b4d3105ec 745c540ed56104faf541c85fbc1c3d712ccfb20f
+3d9aa8a474cf9b1255b69793a42f5e25280aeca9 0f1a16d52c468c4bdd0077d6f4f06bdb12affddc
+6af11c4085f42ab65aa483a04dc661538bd6fe14 d5c1315f0ab91f8967f5cd1fed94a6b25378e2ed
+da070262236decb31394606fe35efec3fb0d669e d5c1315f0ab91f8967f5cd1fed94a6b25378e2ed
+c3bb4a6d50cc7f011593ab7a624c2ab4e41b5fd0 d5c1315f0ab91f8967f5cd1fed94a6b25378e2ed
+d0e0422d8ac93bd18f18925efd80242960b32acb 175227de95e0d10c44e8b876d72e40a68cb0f0b8
+113321453081317de059351f987a254e34a934df 175227de95e0d10c44e8b876d72e40a68cb0f0b8
+bf4cd00725aecd8f6bfca028b5fab5b6b9666784 91400e8a0d8830e777a33e68c829779074e391f1
+dcd652fcc52e9c93a5539468640ffcff8455d758 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+91589d3fbd4e627f79b25e1d23b44a7a8ab14dbb 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+de2252c4c96c28a7f0c3a834cdbba456eaf4028a 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+299b195d303a1c8cd4b8210502769b72e0e98e57 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+92d610dce043ac64680c73a1e671c2153521cb11 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+8b68d178c8357024d3a1a891a511f10b0497bd69 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+67fca100345df74d4a5f7ea37012ec58fed18c9b 1de8e5b9c1f77b31b396acd1dcc4dc93eac2d36e
+b5c8db11d5989d761fefd4ac0435e1e559e148a0 f3cc4aafeaca1832f772df51e1cd889cbca21616
+71823edf5bdd19945bcc24ff9566b85dc304d652 f3cc4aafeaca1832f772df51e1cd889cbca21616
+0eb98b4442bf28ed516fc5be8c1bdc710d94077e 42aa2208877d58260596095b0a3d6c1b6d9377ca
+68dd494f57a6c5ea3d9c7c32ac4cf2b8998a7a4c 42aa2208877d58260596095b0a3d6c1b6d9377ca
+e9a69022a7732b4d154e82616fac15c2e10783d2 42aa2208877d58260596095b0a3d6c1b6d9377ca
+4ceec89038e93ba1790541d710590fb30e4797a0 42aa2208877d58260596095b0a3d6c1b6d9377ca
+4819f1923d99e1b638cc27128d7ae864d5180e83 42aa2208877d58260596095b0a3d6c1b6d9377ca
+cb0c5c1a6922e361da8c7da0bfa56522f35e06fa 42aa2208877d58260596095b0a3d6c1b6d9377ca
+ea3e7d87226c38c7bc42fd0e7ca06024b90b7d43 42aa2208877d58260596095b0a3d6c1b6d9377ca
+2994ae61386a5f74528a0674f12954330340a17a 42aa2208877d58260596095b0a3d6c1b6d9377ca
+a8aa634d762b534b0bac4db8ac5b80d445b2139f 42aa2208877d58260596095b0a3d6c1b6d9377ca
+1b6af2ad6fb70e7415f63edb2be0eb6494b200b3 42aa2208877d58260596095b0a3d6c1b6d9377ca
+0756ce26d310e09c17cd843ca7bc9dc4a08edfa0 42aa2208877d58260596095b0a3d6c1b6d9377ca
+75d5f59eaafb44e28cf891e17992fe3d852d380c 42aa2208877d58260596095b0a3d6c1b6d9377ca
+5703ec497e5e43cd36fd654eba770b58e976bd4f 42aa2208877d58260596095b0a3d6c1b6d9377ca
+32bd12ad489a9ebc3adec4a46643495e405a5dfd 42aa2208877d58260596095b0a3d6c1b6d9377ca
+307f10153cbb644b874841dd97494ad27fae28de 42aa2208877d58260596095b0a3d6c1b6d9377ca
+f6ed4cd34b4a2efaf4fcfa99febff3d0839dae3b 3575a1d82f85474d8f9fc1c64a86863fd2cb7d05
+3a60539a7c359ecf8bdb5118617dca7736663da5 f327627aa220dd35917e406690451783c5287bf3
+fc924d9cb269d392b1e3b856cfc3093f8a62627e f327627aa220dd35917e406690451783c5287bf3
+27a555fe646234af0b247db76b96a30aeae8b5bd f327627aa220dd35917e406690451783c5287bf3
+136c74ba7317eb06eb7af845fba37949972a4b0f f327627aa220dd35917e406690451783c5287bf3
+5002fbd7a71998b9a8ad4e72299d0698ebc66b85 f327627aa220dd35917e406690451783c5287bf3
+dc3e09b9453f3315f1d64659919b6ec7d5c13e6e f327627aa220dd35917e406690451783c5287bf3
+fd7fc4d314e37feecc529cfc6ae663f9128d037b f327627aa220dd35917e406690451783c5287bf3
+fa721c648a6c5d9987278ee99c7a860f3379a0b2 f327627aa220dd35917e406690451783c5287bf3
+8ab82c93f67ff1ca4e9ac044e402bbc04b6237e7 f327627aa220dd35917e406690451783c5287bf3
+cafc23cadcf8372a5d372c4038f9ded5ac4a7042 f327627aa220dd35917e406690451783c5287bf3
+1058b795d4c58415945ce559364a44b7afeaeae2 f327627aa220dd35917e406690451783c5287bf3
+edd029ed3f9a3dc4d947739fdf1fee513aa8e381 f327627aa220dd35917e406690451783c5287bf3
+35f5d3e5a1b3be54c053e505633a6d094794b04e 775f4bcd25dad6731e707b1a06027aabe5592ce5
+a2297b089ae1e521c0426163ac2237b4e081097f 775f4bcd25dad6731e707b1a06027aabe5592ce5
+6209c4e9e039256171bbaed00d38bd611591ad8d 775f4bcd25dad6731e707b1a06027aabe5592ce5
+8ecf0599fdddd585943b8cd75c1a39d8ba921dba 775f4bcd25dad6731e707b1a06027aabe5592ce5
+0d2e4015787c35b9944bbe21a22c282c3b8baab3 775f4bcd25dad6731e707b1a06027aabe5592ce5
+03ed280e990e684e76dfb866fffd9750f29a4480 7fc69dcec3eea69498527f9547c8932a2800e495
+65dc508c5ab06db47692e61948ce5d1d28ef53e8 7fc69dcec3eea69498527f9547c8932a2800e495
+0ab529b4827be4f087e9fe799029e266e2f94d5a 66ce162de3bb1157bd726a3d994b7527f53c8782
+ecb3fdd66e78c696765942a7f2f7a5839b7f7f01 66ce162de3bb1157bd726a3d994b7527f53c8782
+b1860c97689593135c21b022560b09aef6d6c487 66ce162de3bb1157bd726a3d994b7527f53c8782
+1dd38326b57ccf1d782d54f421e34a081520a5e8 66ce162de3bb1157bd726a3d994b7527f53c8782
+19fed79594b6597d94ef7920c69e57e789d77cfc 7c0fba25fadf81237fe8818e57c766b4365ca937
+abb7130fb6a0ff60731eeca3187988618b0a8950 7c0fba25fadf81237fe8818e57c766b4365ca937
+edfa01f8784d8381f5ae7d0deb90bfa26011178f 7c0fba25fadf81237fe8818e57c766b4365ca937
+be6377063ed8057ca57e6a27d7b55179406ad36b 7c0fba25fadf81237fe8818e57c766b4365ca937
+ea3d8d0e509adbb7eab5f2e8b4788fd9f5e3ffb3 7c0fba25fadf81237fe8818e57c766b4365ca937
+d96e69a3f5c958ed5107f5ef95a1a7e7700f675c 7c0fba25fadf81237fe8818e57c766b4365ca937
+478453eaec8d1cbe55d45d27032bc133ad738102 7c0fba25fadf81237fe8818e57c766b4365ca937
+df49e15279c2802bba4a868f6f9229fb246f8c59 7c0fba25fadf81237fe8818e57c766b4365ca937
+69da31a8aa19646a275e609f8a9c232c41e4ec70 7c0fba25fadf81237fe8818e57c766b4365ca937
+b0f66714352e40ed98dd714f503940dec11f866d 7c0fba25fadf81237fe8818e57c766b4365ca937
+5a28ce5b290a051fe339550044730f26e2830168 7c0fba25fadf81237fe8818e57c766b4365ca937
+c484b6cce489a2825faa49424043959b271cbf4d 7c0fba25fadf81237fe8818e57c766b4365ca937
+06c0f9f8b10e57f1476e45a98cecfe5c84c61b1e 7c0fba25fadf81237fe8818e57c766b4365ca937
+244accba4f76f1eefe65b756be2fca7b4a7e0ef0 7c0fba25fadf81237fe8818e57c766b4365ca937
+b449c2fc43f62ba2255f092b892e5d4a8244d2a7 310abcacc74b8b3d3a52598cdf6de05d354e8094
+69ae1816842e655e8e340029c0d58a0249597d59 310abcacc74b8b3d3a52598cdf6de05d354e8094
+997c6889ab549566407cc6b255a5dc762f73120f 310abcacc74b8b3d3a52598cdf6de05d354e8094
+baa27cf88709423174d8778135d9c46b3e7e7dc4 310abcacc74b8b3d3a52598cdf6de05d354e8094
+814191e966c98e811452e60ac3558d846cde9355 310abcacc74b8b3d3a52598cdf6de05d354e8094
+7631b94885300bd777d9017154904d1aa1017a9d 310abcacc74b8b3d3a52598cdf6de05d354e8094
+070310f98d545181e0a90c3e4f9ccd0506f10685 310abcacc74b8b3d3a52598cdf6de05d354e8094
+3693dfa24a02c8c5f824e17d4fd980552c2e9f48 310abcacc74b8b3d3a52598cdf6de05d354e8094
+347a95855d1b9affd13377506a5f28630ddcf455 310abcacc74b8b3d3a52598cdf6de05d354e8094
+944831dc8d97c90dfb96fc0af83aaf9fcd8ea8c3 6e7c3f25e101124c2431cfeafd2b4fe956602221
+c7e514454898d663ab22dc1fb046fb82964ce101 6e7c3f25e101124c2431cfeafd2b4fe956602221
+0c4590b362b6bc974c476c6ba6c769b16325d763 6e7c3f25e101124c2431cfeafd2b4fe956602221
+bf98d1c679aa0fb3c1cb12323785e59e1b627517 6e7c3f25e101124c2431cfeafd2b4fe956602221
+6f9a94b7c41aaf18848259a50991921f72b3bfec 17947546138c6f1f9ff6aac2a41b62076e08fad2
+c9b9f93bd8f78d034a8f33f0909ca5e5d4984a69 17947546138c6f1f9ff6aac2a41b62076e08fad2
+914dfa6e3c45861de0b03ead37f9ad438b64e3ea 17947546138c6f1f9ff6aac2a41b62076e08fad2
+8432e3e70046b5f5bcce91ccbdad68311211c53f 47a41f6a34d1a18cb2b1ebe1d096cf08bae5a263
+7e407eb750e10ffcaff1af0bb9513403c5fe72ee 47a41f6a34d1a18cb2b1ebe1d096cf08bae5a263
+2fc8eb76e420b449f2a51aca41ff285cf50be55c 7544a6a165c177ef73497521b10dd210055aa789
+d4736567a4263ee623bc5900e124917a66f3f15b 7544a6a165c177ef73497521b10dd210055aa789
+bc2db9a49ee2faf34bbd574e7673c222e77c7fc8 7544a6a165c177ef73497521b10dd210055aa789
+cee221bb44239421cac7ae8351f61282151576fc 7544a6a165c177ef73497521b10dd210055aa789
+570e36b1e8d148410de0e95722ccc93c61fac23d 7544a6a165c177ef73497521b10dd210055aa789
+52730cc1c90bef142691f1df732c35b4a5c6d9ad 28d823183abde68635df95b0046434d7d05f8995
+9f667080b65a445b76ee218253b31354f035792a 28d823183abde68635df95b0046434d7d05f8995
+31310800de93031c3a981a8973c75d55b4b0d81a 28d823183abde68635df95b0046434d7d05f8995
+ffacf3d909ac46ca5e8fdf1623488f93179c4413 28d823183abde68635df95b0046434d7d05f8995
+d63114671a5e493529f2d5ade6d9949d0a939884 28d823183abde68635df95b0046434d7d05f8995
+45a17a411d1931161ab5259b5ac9e5bc2db238b7 694a106cd9e26104507d1b99bb70139ac6d8837c
+55872bae7229c5b28edb70c74e4c303b241b4b73 694a106cd9e26104507d1b99bb70139ac6d8837c
+d25272fd321f378bc1f5f99ab668be6700692bc3 694a106cd9e26104507d1b99bb70139ac6d8837c
+bab6c4327b67a0568fdb6fa40ab0ec86f68e57ae 694a106cd9e26104507d1b99bb70139ac6d8837c
+481c1236ebefa0665d51019069d57afbb283f368 694a106cd9e26104507d1b99bb70139ac6d8837c
+719ae08498e7860e5d8e9c70a35c5f7c1239e63d 694a106cd9e26104507d1b99bb70139ac6d8837c
+57328c87f7acc09b83d8df7eaddf2bc8d8f8aadd 694a106cd9e26104507d1b99bb70139ac6d8837c
+3376df2b68bae6cb4514282b9a499e2ee90b5699 694a106cd9e26104507d1b99bb70139ac6d8837c
+9520862fb4d0cb0d851f4c8261eec70e7accef71 694a106cd9e26104507d1b99bb70139ac6d8837c
+083bb8a2d7f87ef567d97749231b2b7420d6f487 694a106cd9e26104507d1b99bb70139ac6d8837c
+4ff6453859e477ded82614aef510f58c5cf32a24 694a106cd9e26104507d1b99bb70139ac6d8837c
+61dd5d0db834113929fe72d0d7852acda64574f6 694a106cd9e26104507d1b99bb70139ac6d8837c
+5e6cbc3e9d0c86aa94f42a184f8062b1683dafae 694a106cd9e26104507d1b99bb70139ac6d8837c
+9d89b0a2a346a8c8791a71343f544bba03a285ec 694a106cd9e26104507d1b99bb70139ac6d8837c
+b260a4dcec3e93cad279587236f2961469e981e8 694a106cd9e26104507d1b99bb70139ac6d8837c
+8a2c5dd99b1fd5e0af3f11c0f5cac6f34d5a75b4 694a106cd9e26104507d1b99bb70139ac6d8837c
+f0a7992cc276f5d331635799c06b70612bff1872 694a106cd9e26104507d1b99bb70139ac6d8837c
+973d6388d577039642f2ac6bddbe9a2c44434ddb d50f8e1abf06c796911ce2042676bfb2cd3f4699
+1a130d716f09203d5088c2453b5e3ad0768d8c72 d50f8e1abf06c796911ce2042676bfb2cd3f4699
+7d992e646d3d46c3d72999814edba85547cf54bf d50f8e1abf06c796911ce2042676bfb2cd3f4699
+f9ba777a1ee74f9a46818092b2165b06a30205ad d50f8e1abf06c796911ce2042676bfb2cd3f4699
+ba3c3c32860f7d179d415a642dbc13fcab7d7206 d50f8e1abf06c796911ce2042676bfb2cd3f4699
+2310a34a9126bf90b60b6663d141c65473684dbe d50f8e1abf06c796911ce2042676bfb2cd3f4699
+4cf6a05b849fb85849e3a49afdce6f40957da56d d50f8e1abf06c796911ce2042676bfb2cd3f4699
+dd36e37d5d176d4f55eb7e91ae9c8e0c20efe39a d50f8e1abf06c796911ce2042676bfb2cd3f4699
+6a5a0e788b7758517b33aa249544c24f09e08757 3deaed18acfb9227b326eab6c4c54235527d8ee6
+8d67876e4e2aa9b6c3490130ac8bb9f5c2d6a97b 1da646f504fadcf595b71f8d9c2bd247e120036c
+fd844a8b44a1ba16ce123e2771f5104a777e173a 1da646f504fadcf595b71f8d9c2bd247e120036c
+52fe24eaf905b63aa2b0341cb8f9ba1bc2fa60b0 1da646f504fadcf595b71f8d9c2bd247e120036c
+0dc295a7e95e7f14ef1a1ac22ca0b2fa0a513756 3d801efd07328dc96e5b45cbf52e5a9699351e9a
+c7baf89c7755399446c42f06bc0edcb63cd59c32 38b843aa39cc5f4d033faa8aa56822896c49dbb7
+b56050782022b7ee9ef40d0dd50de504cd0a3c35 c3b7582408cc27dc4a622b927735198e10bda950
+0731a415e104659ff37451affa27f1d3b31ae9ba c3b7582408cc27dc4a622b927735198e10bda950
+06074dfacf7305afbd6ace7bb3e21a93e8ea05a2 c3b7582408cc27dc4a622b927735198e10bda950
+446372b2fb8ca2bfba5fe2aca1c0eb5cb76c6a21 c3b7582408cc27dc4a622b927735198e10bda950
+64204999879f67b071a99fd4225fae4c74fefdd5 c3b7582408cc27dc4a622b927735198e10bda950
+3fc1dd33ddd32bafd12c7a087ed815f1fe2886a5 0fe0aa1a13e031db72acf5c554ff6dfa7f3a69b9
+05751bbe11361ce85403366a9ed4d4a1d57f6524 0f5e524f1c3ce6b1f225a23559a6e03dc4266ab7
+5a143a039eb1c0c02fa4f9ae031832a2189ffb0a 91dab8a0996c688824d4a9f06c56b30f01eff1c5
+ed2dd692b57300b4d2067e61c24641578539ca2a 91dab8a0996c688824d4a9f06c56b30f01eff1c5
+61c761a53c3d4b189283b1487770319371eb3d7f 82d399f7e5214afb1c190a55a442e44e6193578b
+722b69391a364177bc80b0357912836db04fbf7b 82d399f7e5214afb1c190a55a442e44e6193578b
+0d01251868cacf13141f1bc7d5991d996e4c07b5 fb29857cc0030a11a4a7862c4b4373d0d64e9a5d
+e32a12e1f3306e5897a13e9ab8c02fade7a33b9a fb29857cc0030a11a4a7862c4b4373d0d64e9a5d
+dafb131805ecb752111abaffe66c5fc37fcefb38 fb29857cc0030a11a4a7862c4b4373d0d64e9a5d
+f1fd9d7946b7f41255d3c51d5822854555443ffc fb29857cc0030a11a4a7862c4b4373d0d64e9a5d
+162bcd2d5c1d9ee7ca4c48755347e96a6bd64daf fb29857cc0030a11a4a7862c4b4373d0d64e9a5d
+72336253c9809c57baca70253292f08df731d6f0 fe29fcb7dc761dc8f89c4bbfbf9ff779e2ec56c2
+83c911d9aa32d6bb73039f4cd4ef8fd26a35a7b5 fe29fcb7dc761dc8f89c4bbfbf9ff779e2ec56c2
+62e84844c6b203f2b23e20acef7947cdf07ca1a2 8a1cbf335a2eafd6504e2d63f3c0a24b75a1ee10
+03554f697107438ce0503a1b02c745a48568799d f91bea1f33302800da9791674674e68035e781c2
+54cfa07eb7e11ec6106527b49629bcaf83339b07 f91bea1f33302800da9791674674e68035e781c2
+6f97f1801cbf3e359b8ad887f6bece9efb58faff f91bea1f33302800da9791674674e68035e781c2
+98dc0dd0482d800216642f6756a3aa9d94b46e7f f91bea1f33302800da9791674674e68035e781c2
+f4a88bfecd1d8d4baed4003860442f17c0601fdd f91bea1f33302800da9791674674e68035e781c2
+9220ba15fdf0da26a9e81fb36e28871aed095629 f91bea1f33302800da9791674674e68035e781c2
+67eb224bad5d1b9d2c7905d90ab8e95ce5b60218 f91bea1f33302800da9791674674e68035e781c2
+0e715b4ff38f2912130f8cabf1fa1e1055a583af 0ce39980a2c93cfe92b3394d183f4d992b757f70
+62b4dbf5effc489392814488da65be7c96680486 dce39ecf54ef075ec3da2f9677d10a0de4b086d2
+32fd043087e06ed28bfdb03099504f18751afedc 17d5f3bd3666fbab5ce68e4bcb52aa658ada2eda
+03d2246299b5bd153a063014a1419ba740d7e2ca 75ebe60537b1a19e87992f68aef30a3b1ff4b819
+436f68e6659689a549e904bdb33f33f9ad897c55 d8cce6c38884a3afda49011b6d509444fba3a851
+7a4a9fedb7e337685992ad5cd24392513f1d6996 4d506d1d00e08ae8e7aed20c76ba4cef46bb549a
+7e6b347c31b8018dabef8f6d91607987ac41a0d3 fb167acb354cd2b4ffb6546187d1e1ecc3948bfd
+ca4213716a3cf6bae308f0d60a7a399f500ceb98 fb167acb354cd2b4ffb6546187d1e1ecc3948bfd
+18e4e0e4e32ed525d041a767a1a24cfd158cdf91 fb167acb354cd2b4ffb6546187d1e1ecc3948bfd
+ea9c9d93f2e2bb6c2440015836f876ba9d747fa1 fb167acb354cd2b4ffb6546187d1e1ecc3948bfd
+9403ec58b70615a0d7642b1ba6290375cf31abc6 3788b28ef9841a7a75446f601a7cb68957924735
+9355a9e466a937ab2afeefa9151e33217023f0e3 3788b28ef9841a7a75446f601a7cb68957924735
+c472ce8f7b4814581bf775ff1ee7fadefa85c864 3788b28ef9841a7a75446f601a7cb68957924735
+87dc8b3035422bfa6a83019a8fd12a7618080d7b 3788b28ef9841a7a75446f601a7cb68957924735
+ed65444765b48dd6cc9f9a33299583ff75f5296c 3788b28ef9841a7a75446f601a7cb68957924735
+8dd4f01df290528dd36ad3218ddfc039e3cb7418 3788b28ef9841a7a75446f601a7cb68957924735
+3b0d8a903330646ba4639ab4d1ff3a8159d663b3 80f180a1841f0a4beef926c4fc37b2d65ea9e69b
+12c6121ad0faf840d1e4bda215b86055b52ce91c d1f82742bce2e4b38f5dff48469de774fe8a45c7
+93c36cb944bdae28205a4125867aa1db6efc1a6a 21d9abc29b55a3c36cd4d020282e3fdd2e908bb9
+ed4365dde2c924de7f5a25209f5089b537717e38 1b543bd33cb299f551f7051d66bc267234e1eae9
+e146e013b0a48a059e26d533d0bb11cf4dc4a48d bfebdce98bbffcc8534ceb49f54c7caf06be79b5
+d47e9304407cc5562d46b2de03846985910f9af4 bfebdce98bbffcc8534ceb49f54c7caf06be79b5
+3b94f50e0beb8b459b7a6736defb991e245c87ae 50129149e56b90d4b8a541fa291b65a0c474eab9
+9a122c11b41ef2951a0a418a6deb3906999e5730 c4d6699b4bbf1dbde739ca6d69cb4c12a4d36075
+a5abfd3585246f06be30eafa1376522e2fc2b1fd c4d6699b4bbf1dbde739ca6d69cb4c12a4d36075
+cdffc6b557994b8f855a7672e850e2056daa2035 c4d6699b4bbf1dbde739ca6d69cb4c12a4d36075
+b2bf74f705449d450c1ba32d8603fa29ce2c88e1 c4d6699b4bbf1dbde739ca6d69cb4c12a4d36075
+b20c3c83aacede96b4ab90cc71e7716788284ad4 198c3535d3f6ad8681cfe29db065012d49cdee9f
+59afc71c1e059a35112f0c7d7d1c9edf61e7d0d3 bb16531c53260e09c673e7c849870ef6b4424389
+576692d3b155e78de9f25dec82d2760a05093aa7 141ae0121664dfdaa2a82469a645974a261854de
+ce5c10a51c9c78732d20c39b47e00df580f5877a 141ae0121664dfdaa2a82469a645974a261854de
+830bc16b281d00e7f3fb61bd68ea1228ce9a77ab 141ae0121664dfdaa2a82469a645974a261854de
+367872cd815cd4ad902706bb9cbf7a0d30b6356d 141ae0121664dfdaa2a82469a645974a261854de
+3da4eb53bf320f96379e55e9b9b1b76ad6c0a642 141ae0121664dfdaa2a82469a645974a261854de
+9b756401f28db8866dad5aac9838c197ef8eebab 141ae0121664dfdaa2a82469a645974a261854de
+e164018119ddb6400c63c2d1cf39868aab1ab3ce d3baa4410dffbabea4f8a503f2184fb67bf111fb
+d1067a6e4033a222103343c7deeedfd091896539 d3baa4410dffbabea4f8a503f2184fb67bf111fb
+db596a1133fc24f0a8c3cc0ea1ab06ff93e8419b d3baa4410dffbabea4f8a503f2184fb67bf111fb
+10c2464cc58e530cb33aaaf7ae253501e63e7a67 c417d0859a3545d97cd7fa477f4238d9e24729fe
+712899f6edcba40fec2e098b4d7ea3a1235a977f 80aa0ca3ce4c6de78da7c5fab5db292f244fb9cf
+f728fde206678ecb7cc13bb3f1828219ae7fe8a0 80aa0ca3ce4c6de78da7c5fab5db292f244fb9cf
+e62c759e39ccd0652b2740ff6d46d5c7d952f4e2 63cbbcd050616e9463d0d1183802161e383ee686
+57cfc3b091a2cc2f8a0c3047df072f4fbac5f6b9 63cbbcd050616e9463d0d1183802161e383ee686
+7a85047ae236b23612417bada7751af364da50cd 63cbbcd050616e9463d0d1183802161e383ee686
+dcc5beb58351f2b791f0c7608f7350fa962bb793 63cbbcd050616e9463d0d1183802161e383ee686
+e9b9fb45040810ded8afb0525827e360de87f83e 9076a4c575975cd4eb74ae6c3ca6c66e4e3bedc9
+ce5c3bdddd3ecfb4df23c3f3999acede8de3b467 9076a4c575975cd4eb74ae6c3ca6c66e4e3bedc9
+04ddc3e138ff5bfa0e53d6f9d60ec2b4160fc23d 9076a4c575975cd4eb74ae6c3ca6c66e4e3bedc9
+81675165d0c2df0b73ac635a5dd041918f9c3dcf 9076a4c575975cd4eb74ae6c3ca6c66e4e3bedc9
+dc44a53ff3421a710440a3f7bba02421e16ac7b9 d64d86c9073d38411314e167654f5058577538d0
+f2b2f205a4a89de48aa28f92c214cd734cea1ec7 e2a504e04cb86f6085bcda8c39d4d284cffc83fa
+ce2ced03fe90f580928c545c159bc940ca48e023 e139c24434667a0b9c06d31f8d69a1197595b123
+c2cb7c04329702b754195f5b60594e1d2f6a0c89 e139c24434667a0b9c06d31f8d69a1197595b123
+9e4bdb8a5aec1713d30a4e6afb800bb0d949ba86 e139c24434667a0b9c06d31f8d69a1197595b123
+04f17dfac220803ad4a90eb66d6a2e1a420ba619 e139c24434667a0b9c06d31f8d69a1197595b123
+3bc59a815e96e4dca8c2191da94d5062621222e8 7efdc235eaa6159c55cdd6db47d69a7aa3c83a30
+be14c799bfb37a2c68504173641e1e10f37ba15b 7efdc235eaa6159c55cdd6db47d69a7aa3c83a30
+e88696c4181fb91ada62d6b362b9d51ca28b45a0 7efdc235eaa6159c55cdd6db47d69a7aa3c83a30
+410150e1a6fd053062a5cb4da3d620bf594e688d e3e60459fe59ea1797aa9a289c20845daca10543
+a5ac423b65b37742005dd3843efca42a94278927 e3e60459fe59ea1797aa9a289c20845daca10543
+67c643a99d79fc0fd9c69f367c0545e129c425cb e3e60459fe59ea1797aa9a289c20845daca10543
+4a4d9d03a8c49c4fc58d5fccd88b6f1e6520cbea e3e60459fe59ea1797aa9a289c20845daca10543
+922cf902831cdfb1974c02cd12344ed2ad19159b e3e60459fe59ea1797aa9a289c20845daca10543
+994f4df89a4bb385b92c60cf7f12361d4dda4c42 e3e60459fe59ea1797aa9a289c20845daca10543
+e554ca6ad6f07966c322397ebd843880a5f567db e3e60459fe59ea1797aa9a289c20845daca10543
+ff6d19a186bd935d340d12561833e75850f6fb22 3198b7366337af38905d4a0e8809c5c947d15c92
+0abbb0909d9d5a04461004f05d6cfbb68d2747fa 3198b7366337af38905d4a0e8809c5c947d15c92
+7807246268385e4aa8e5266ff86c6bb4687f97e3 3198b7366337af38905d4a0e8809c5c947d15c92
+edfbac700c39845aad19cafc93bade88450f4284 d7790b88d4899b604f1c39330822fbb36e5c32fb
+a13278ae80ef4228270eb7210a0c4b0d5f4303ee d7790b88d4899b604f1c39330822fbb36e5c32fb
+dd1018f006ce25d6160c25c9198e0657345c71d4 f9338f85f37f6c8dd5cad2d968ed55893abb8163
+403ecaef33f03f6e75ce2b0d434fd4281a1c4ef5 180905bd81864ba3a133cfe108874c50cb0d2388
+71944db4582e07a71002d214a56d1cf20fb26542 180905bd81864ba3a133cfe108874c50cb0d2388
+dbed3f790b06f66270bddb73cdbf5e22dffd574c 50bbc1957db40419fe28c91a383cd468597aa845
+d4c435aad0667e96983bd09ad2d2b0ae93f99987 50bbc1957db40419fe28c91a383cd468597aa845
+8b6d9a69e349b29bd12b7b2321afc4d655d25fc5 32614a460ab517451b7eb5d8861c2de4650cedd5
+8e820e05aeb84160518f47613eeb4bb97d0c541e 924bc9d4ea783e9f51a2cc2c787628ada5505fee
+30895c51ead75971044cda03afa5993ea6c975c3 924bc9d4ea783e9f51a2cc2c787628ada5505fee
+7b32fdad10d42f8e02d603a6f0de38f3a5d068fa 924bc9d4ea783e9f51a2cc2c787628ada5505fee
+a6caa227bba867cf9bea438c54d9725719c0885a 924bc9d4ea783e9f51a2cc2c787628ada5505fee
+0b0a0e54643d92a19222f8afc9e49b0f865ff7b2 924bc9d4ea783e9f51a2cc2c787628ada5505fee
+1295421cb2d1f458a5d4ac3219633c3a76c1dd83 a4da5b2e6d2bf93e46870ad3489277a319205d57
+a9af260d6eeee4751a73ac4ddd1fca39ea68b167 a4da5b2e6d2bf93e46870ad3489277a319205d57
+72c177f33b939a942368afb36fca30e0e6797099 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+5b86d301c7c2d42677c3c8ec118dae02b3a6e84e 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+b49497b9751a63bb6c0767852c8946ec8d268bcf 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+65d02d7705b7ab6871feb719cd4834e8a4c97cd3 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+c181adc89a49cd1eb734283fd4743789fd9d14bb 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+ad3877b756c1a2f9589c51c8c57a344e18d0f23a 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+51feda398a34fa6aa6071a2d536359bf9356df90 7cbc8a46dacb1ec1ac1c3e361e8d54848bc6ac83
+ef917fc0f72860bcfec008449e98389fed2b655b fe526e2a6b98447cdee30317d24331d4277aec04
+90d8b573c542e8312c131ffd105f63d47e3775c8 fe526e2a6b98447cdee30317d24331d4277aec04
+7440c0cda70793090f471c1367999e1999b56849 b0b282f8574f9efd52bb12b9475c991ef4cd8f46
+a5ea56bab4a45fb79838cffb83c0e938f904c732 b0b282f8574f9efd52bb12b9475c991ef4cd8f46
+5d65e9f188eb46968e64146c1f18f0a0dd89dc3b b0b282f8574f9efd52bb12b9475c991ef4cd8f46
+8abba1d9d79b08d7830c5a16692f76988ff245e8 d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+16341416d67dfcd5b6e93aba5bd608808f40bd73 d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+194a753d8f8bc2cca468541ec203cb50384f29fb d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+984051211ed5340dc082885fac5425b887522273 d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+ed0b71c34ef2dbd3694dfe01b1295afe92b766b2 d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+ab8226e719cc7eecde4abdc3b4047dff88904296 d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+b74afb968c2b6864996c1e70dc3a5cec27f7fccc d51e0336dbb054faf9d3c5d8204763d498e4aaaf
+c4c85fe5a43311060d4bb4cb51afa967c869884a 29e9e082572f4dce6ca384b138987365a629c030
+ea4f0b86f3851a2c2c32480c4bd73100bcf03757 176bc637629b667619e5478bf7a73f50309199e7
+69b321082dac7413d1d4ded32b1c9cba2c7db3de 176bc637629b667619e5478bf7a73f50309199e7
+596788fd9409cba42cee7399512e5dcd33716e6b 176bc637629b667619e5478bf7a73f50309199e7
+faaa844842984f5555cce480b96d7b2a1e6d9d1f 176bc637629b667619e5478bf7a73f50309199e7
+a3fe8edc0daa2a731dfbbc7387f56725d52b36c6 176bc637629b667619e5478bf7a73f50309199e7
+d8f3cb37b7d7a535c904e14e7bf8acae1af4c5ca 176bc637629b667619e5478bf7a73f50309199e7
+baf1879c5fab831ae3e06e99d675fc96fa90048c 176bc637629b667619e5478bf7a73f50309199e7
+1a8da479652e6a63a70b6d99e9985da6be4745bf 176bc637629b667619e5478bf7a73f50309199e7
+efccf4dcab8695c1c42bf1eef182b8b4e1840701 176bc637629b667619e5478bf7a73f50309199e7
+c44d75c5fb36ed11fce887de14796ebd25bea993 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+48fdf12511633045073a7d332825faf3d43eb7ad 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+cb296d1b1ec9c6d95036cb46f672da25b0c77b71 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+3a7301ddb81cc1a48a67cc1d30f9ad0fa0587119 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+e667a1f36ac5b17edcc7641160b3cab4dcd21398 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+9c319b320fcc0344f078014b908589a7b3e43121 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+67e309544394cb932d0470105529ca69be8d6348 3f57b6865f9b4d9cdf71d5abb7ba81b3ad6102c2
+9e3cddabe2d2383a2817c91387d990e3ff0a59d8 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+571547650658d7b713d7acd704ea348a179bcde9 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+d2150bd620a279708038729ae5dd0c167fcec256 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+62bdc6771fc28244408f064b1c2c8bb170697077 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+0d054c4f340df75c14381b9f0e963be917f5fc42 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+7dd10d01a007ac6d300079e3a59a0f75a0ae5d23 ce53f1f46e0d68799cff002e21fa65b5b56bb789
+b307672056454bd3e7dfbfd5a2f4cca999c26d8d ce53f1f46e0d68799cff002e21fa65b5b56bb789
+6573c1786ada62617c333b46ba6ac1bdca70f6a1 29d2b9b5dfac7328cbdfb8f45e2f6ec46ea6563a
+973cfdfb0157c349f0c78a7e8e64f2e199627420 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+ed3bd376aed4c1c57cb386266a9d16bc570bd362 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+1b53380eca133784526338a2cc1354d00c645acc e269c7ddfb3fc4faa32789d249a327a4a05caca3
+2c9122f224ada6dc06d6cb19c2bc9856c844a371 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+19b261ca52ae0aa53a8652adfc4b84ee39ccb683 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+f55f91434c147a471e9a2cd9a3c1e9fe669390a8 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+2983b3033e922f4c8d4999cb20e8074243ed15a4 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+514052a93c8bdec308400ddba4bc5663061c437e e269c7ddfb3fc4faa32789d249a327a4a05caca3
+5082206f40f38c37c9884df94a2be64afefe5b71 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+3c22b746f801a521ca9a718fa2c5ccb9260f288e e269c7ddfb3fc4faa32789d249a327a4a05caca3
+737a2a81d6ceaeb2720d83c0798fa118cc24f065 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+db69eafdb355e8079c3fec57b6ec52867d627069 e269c7ddfb3fc4faa32789d249a327a4a05caca3
+299e5b01888dddedfcbbc312750869c774d5f78b e269c7ddfb3fc4faa32789d249a327a4a05caca3
+d880fd1e98d6ecdf3ca96455e1b74f1b344a303b b416cc33d366acd1dab614bfec4b3395762ce8bb
+83ba4933576a35f09ce3dfd039a1212c55dd5ac8 b416cc33d366acd1dab614bfec4b3395762ce8bb
+7db8f3e60b4ae56d2913ef1d769f0fd1f00ede2c b416cc33d366acd1dab614bfec4b3395762ce8bb
+c378f8768f4435e79633bde59b746627001ad052 b416cc33d366acd1dab614bfec4b3395762ce8bb
+a3ff16ae61a01a4a1db5f54ea7f813adfce1004d b416cc33d366acd1dab614bfec4b3395762ce8bb
+753e37f56c6e21571b59248df29ed1279bec83d2 7eb4b93204087a39e68f42470a8c2ec094635ce5
+3adf3bda050faed8311aade085834a845763eb43 7eb4b93204087a39e68f42470a8c2ec094635ce5
+ef44a57010360f3993be9021b8229630bf709bca 7eb4b93204087a39e68f42470a8c2ec094635ce5
+fdb4a5160563cc7be131398f49e43a12bc29d525 7eb4b93204087a39e68f42470a8c2ec094635ce5
+d825843d4a21c52fd0307417e2e19a477304d82f 7eb4b93204087a39e68f42470a8c2ec094635ce5
+ce6cdaaf9513cee6dbc06f34c2e01bb4624d6c70 7eb4b93204087a39e68f42470a8c2ec094635ce5
+5fb505599a5f69da4c877095a955c958b001f926 7eb4b93204087a39e68f42470a8c2ec094635ce5
+38d574741645e56cd97d011d855add1b3ff9aada 7eb4b93204087a39e68f42470a8c2ec094635ce5
+3da3c0c410de6fe7bce5b0bc6bf6f79e3de8f732 0c4b5237ce8e3c39dccb48fd08bb7ae92a66266d
+05c95a93454ebbb35a7f619cd4ef162b85d69ca5 9674c3fa26784057aafe05586fa70e7dce4687fe
+dae1cde0495bc8dbf882a90b546f5252a2f432d4 c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+e4bd733a4c62fe138ad728127396570bea85490e c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+c114090448cca354d02edd7e4a1928ab0f5e282e c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+08ff876aaefc8997b9c022146f11d64e5db531fb c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+812e85c7be3b6a4e4a37b5f4e03362a6c2e614c4 c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+94d4408b9a0521d5c73b9a9406fc871fc6c989db c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+c8e7ddc40288c19e19f852b93b57176f766613a8 c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+18782cff6d4a57c42705aae8aa2b403ff5c806b6 c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+6f6bbb3431df754abe61560bbbf50d11d478ffe0 c6150460aa1fdb0bd51a8c4346855bd1f4e2c1b6
+a4334cf0d4644390c748fdf4e0485eefce1cdb37 5d511fc66816ebaaca2425aba5d72d9edfb257d2
+2f8ff17f5bf428f60817e4b8a3b964f65e4c0fcb 5d511fc66816ebaaca2425aba5d72d9edfb257d2
+24e780c4a944b6714031f8182411253eaf03a289 62c00228253d31ed77ba5c4ee11457a8e254dfe4
+65ac43c2238056dee700d4023e85516392c6e388 1ec1a721e9e37a35881d646b691477cc55b20a63
+633cc5e0b76b7bab6cf498b8839c8297f464c572 1ec1a721e9e37a35881d646b691477cc55b20a63
+4b9f42291a88f0baa5c92687a6133151f158ad9e 1ec1a721e9e37a35881d646b691477cc55b20a63
+a10129e4fe99c136ead14a30fb15765678ae7894 1ec1a721e9e37a35881d646b691477cc55b20a63
+15fbdd266d74aa4c8186b945f389ca4e300c0b64 1ec1a721e9e37a35881d646b691477cc55b20a63
+24a1c2a907ecf99c2b3bde45da5e72e35558169f 1ec1a721e9e37a35881d646b691477cc55b20a63
+5df4fca2e6351ca104a9658b798fa10880e971b5 9144940ea0aea822a5e16046dbc8cd25a64085f7
+03bdef4488a73284a33142e1b1a8e7f5ea69e63d 9144940ea0aea822a5e16046dbc8cd25a64085f7
+83cdd108719c4c114cdc9e0d31fb3bb45cf34357 9144940ea0aea822a5e16046dbc8cd25a64085f7
+3de664d60fd2cd7f9fd1320f2ab0b68872ba5af7 9144940ea0aea822a5e16046dbc8cd25a64085f7
+0948e3c24be46912a92ee23c439b8e3394cd4765 e2ee3c99fa584cdf37c62767be9ef37336cbde03
+ee443204ef7158f821280fc22be2ca60325c97fe e2ee3c99fa584cdf37c62767be9ef37336cbde03
+fbc92e31374ea832e616eae2342884230ca427ea 969371bb59e1e9f0e3e6e1a64407ebc4e925c431
+4480c69e8ae54716e2485f2b94caa0e483ad3def 2d7afc11889a2e2c5b62d17b832281b9e87ae8db
+faec679fca1dbca54db5c6fbb1adfba56eb09228 c6a08bee23e87e3d26ba4787f9a400b1ef0592ed
+16246b7b11bcf5cdd14c5454076874f6a9636fa4 59a13465d1b757814446a51347bf1abcb6058b68
+ae9e2fca5ca4aac821bfb1e1eb5a358b37830247 59a13465d1b757814446a51347bf1abcb6058b68
+e6329916561a2beb889bfd01144053d1060a1a66 59a13465d1b757814446a51347bf1abcb6058b68
+dfc17c6f9dae0bedde837a999bfe449654cacf41 59a13465d1b757814446a51347bf1abcb6058b68
+59a3d7ec341ffb238cb38f7039df5a630398dd7f 59a13465d1b757814446a51347bf1abcb6058b68
+c4101db5978eb640867d350f077490558029ccce 59a13465d1b757814446a51347bf1abcb6058b68
+45910d6fb117db5f12706bae3dbea50e88977c30 3f27e3a13ff8fa069322b0547236497efc02937e
+447a133d10445c308c8b09de81f44071e48c10d4 3f27e3a13ff8fa069322b0547236497efc02937e
+7237542fd2b55963da95522e1bcf643bc8eaa17d 3f27e3a13ff8fa069322b0547236497efc02937e
+4922de462c653d681dc563294f479409db575166 3f27e3a13ff8fa069322b0547236497efc02937e
+51adee615bf63112a6c3a7bd4ad85d5d3aa46f62 2ee4ceb55ec5c0c5a7fbfc2ec41898d81a749cf7
+6e0e9ead1ff52212d44c9a2c8a36b95b1678eac9 18b15efccde88a07fd8eab40372ba9d4598fd0e1
+b82b93ebe025f9f08097852df460d160d47b9cd0 18b15efccde88a07fd8eab40372ba9d4598fd0e1
+2295c5dae773453f62f2ea394bea2720262840c1 883cf165567be124fe96f88869fc5e739e2d586f
+e04be3af42e214f47ba1ef482fd53cc0f39a2b78 883cf165567be124fe96f88869fc5e739e2d586f
+64abc506be8bac69891b1f9c32d01678e89f6c64 731c1c77804f1d76b628367ffe3e35cff2aab749
+837445b81145bff844b12d91efb9a1ecc2189001 731c1c77804f1d76b628367ffe3e35cff2aab749
+40344c98d79f1c6adc783983248df01b73cd8838 4ad786bafea6d1102eeb6e40c4b6c93a6ca1f8ea
+0b982303cb1d76e67b979daef3ee0398e575a2d3 869af08d9658453037f43365677c962fa362b546
+3735902566c7499fe65cedafe0c7847bcadeb0ab 855a340a388698ebaaa60188a819db662de129a9
+c8e7732fd1beb2612a09ba47c47a5ede433a0871 855a340a388698ebaaa60188a819db662de129a9
+2b5150d35f977e99e2c962946efcd5d1415adb97 855a340a388698ebaaa60188a819db662de129a9
+04092bac5ac16977834a32c2d4534d1b52d2415b c85c42707897d73e7c6bd166de4f003eb17deba7
+81bafd8c0ae4373e8b59eb4db04edd34997a5504 c85c42707897d73e7c6bd166de4f003eb17deba7
+cbefc52c1f620e6dccf253b530c4a3de1ea4da51 c85c42707897d73e7c6bd166de4f003eb17deba7
+61bf244b17dc597d0e2843ed55099c9b083b446b c85c42707897d73e7c6bd166de4f003eb17deba7
+d2c2aec0dd8b129b855c722a5f1c00a6663211cd c85c42707897d73e7c6bd166de4f003eb17deba7
+906eefe30759e48831793edaa80331b762269516 c85c42707897d73e7c6bd166de4f003eb17deba7
+414ffd3abbf4e4da8a6e194ede3e9a94fa651be6 4a47efb567033fd900a375c8d1069534640b10a1
+66cc2ea5fc062d9924aff4a51fb02dacd70f6b69 4a47efb567033fd900a375c8d1069534640b10a1
+1a515787ed35f69b7dc3ca8c008ac6c837863c95 4a47efb567033fd900a375c8d1069534640b10a1
+fba111bf70a5c0d350371244a636fd58afee26a9 4a47efb567033fd900a375c8d1069534640b10a1
+498396e0bc0ad3c51747cb8d9fa68104147db4ab 4a47efb567033fd900a375c8d1069534640b10a1
+e8c5a44c99b60d911905e27212cc4027d0efa796 c65ef9cbffdd0482a0d07f4694e050ea8cb38ddf
+4981a41522375797d35c335833800a193a978666 52356c0d0b612ef2a688a5e65eea490b42303033
+a2523608d8fda57934b0c49a186fb07a1491bcc9 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+9159b3fb2f3f788de57f1995e7d6e35c0a3daaed 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+c5b6a93f152e3ba67e1d09251637c4ae24403722 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+24616017e8082df10a028399641cf7b9854dbee9 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+a59eb08a9f56b01ed6d57c8e33e3b9e84600c5e9 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+9bef6f2040063626a01291a78cccf4e8ee889c2e 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+c97fdce822f5df9fd687a0771f65b0862e6fd10c 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+a313ffb7a3616710b58c39fc4c77dc20f3178907 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+6fe553613185dc18fc7affe8e4177ce77cb221d8 0ec3916d4bd5f0acd997ed19c81f569c5abc662b
+9c867498adadf05c4941f6aa67033b98d21acc83 26a09f503b0bef2dbfc8ea7dd6b958bf782bf242
+f9a6aae195ffecb8c291b896215d5ce57b5f12c9 a2b73045719d1f69792d3bb72a2ea01a5adbcbba
+d9a5df5d84d7c587040f062b28caedba40142adc ebeef4ce37db3ed79ddd7302e454c90bda1d2cc4
+f0abea55081b14e9bdaa2b7d8b2c9df8bc0794d2 8ef90bdcdba8771cc89ba4f4a03f92fad4537c72
+8c55c67590fc1aadb4c10f45a2c5c926019c2b90 8ef90bdcdba8771cc89ba4f4a03f92fad4537c72
+cd197874de6f8b8542f4b4f5a465f990acd8fbd9 8ef90bdcdba8771cc89ba4f4a03f92fad4537c72
+afb2bea17c8ccc47c32d46993c7c99d93090619a 7a2806f0ba686da9a9c3ce1116ec64eeece680c7
+91d699601f914edd9b30dbda11c5fb5e6c304259 7a2806f0ba686da9a9c3ce1116ec64eeece680c7
+fe293006b7f1188047f0f7c75b693bc4abf178fe 5a3ba79bd8aafacf59d8d0f874a626c05a66db05
+9d6a88f43232d3be05fcd456d5b222c796fbfc60 5a3ba79bd8aafacf59d8d0f874a626c05a66db05
+bef4e87c7169aec34c423e4971adf06afe462134 a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+930581ad81e568a1dfbb9d5f82a42857989369fb a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+1fc552c69c17539f7ef891b43f722480524239c4 a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+b8bb6aea60945b06d66a407af126125185078346 a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+2467402d751fbb99882d2cf92c7996f370954dab a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+20ce64007dd030d5bce6d9df353747702f369993 a1e921bc1bfe89d05e1baa33d06a2cad4932f824
+a1ba2f76a888b5ae2c03079e0f4f9dc816a98a7e 996040acb3d9840fda986dbacb539508c77790b4
+c4bbffe13179f4d5799f2ab71d2453ac41ac3bba 996040acb3d9840fda986dbacb539508c77790b4
+28d0c5fd18a03390a65c93ba1a9c6bd73fbac2f1 5c653829ee3b99364b5d826c0a59563f3297f095
+297a9ba140ccfaaaa26022448f290c836f2ee5f4 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+e13dbe47977e82b2a39140dc45ed2907269c839a 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+009799a3473cfc0553823120435478c8070882f4 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+f97d2fdd2e47d72b18654f4e55d9d284b4a68137 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+322f949a28f07b304c0c5ede09fe025dc1dcd59b 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+093f39a7d46f5a10e7abc38e15272077562a7afc 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+c27438ec23ba726ac9e46a6ecf6a34eff61b45a8 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+084e4459a0ee69342a6dab02b5b667e46c8c2a68 752ff88d8a5ef774f51a3368d82cfad85e7c1522
+d76e9c1a02374bd8c6e072c98ec7d70b7d412ef9 3bc0ed50d7ba83dc273b1116b2eda8d3d02eba77
+b164c41115df2c18a8173d40f3fe2d90ae305a95 3bc0ed50d7ba83dc273b1116b2eda8d3d02eba77
+7dda553b4d6a0a179d3e7e9c3a2e64648c77c85a 3bc0ed50d7ba83dc273b1116b2eda8d3d02eba77
+db874aea66c427d05b370b988022f2464a871077 113cc985eff7c24db618fb6d6200f20549be6f63
+f963c6ef34c2ea6245b9f7569bf9e242efd6fcbd 113cc985eff7c24db618fb6d6200f20549be6f63
+69e436753b080b1049ea96278e0674d1ae8f2b50 113cc985eff7c24db618fb6d6200f20549be6f63
+15b11c77382a5a5a80ba557bab61f6de67f8bef9 113cc985eff7c24db618fb6d6200f20549be6f63
+147cc305957084eb7f86f9b822dc4e2249933d30 113cc985eff7c24db618fb6d6200f20549be6f63
+0e3a0ea0efcf5ea2021cb2b13ad54e69ea2081c2 113cc985eff7c24db618fb6d6200f20549be6f63
+c67166b5f735a93101a5bbfd43e25c69973b70f4 113cc985eff7c24db618fb6d6200f20549be6f63
+085964d3f647cc8872c067754ee52208e7963b39 113cc985eff7c24db618fb6d6200f20549be6f63
+1fe3ed745b551bb7bf0784c6170a9064941a3eb1 113cc985eff7c24db618fb6d6200f20549be6f63
+897054146bdf59be1afea01ca2777bbdd07d8b02 a902062513fa460e5081017a287fe3c14a6125ac
+260d9108d4d574b8bfc993db8d9dc2553c0bb09a a902062513fa460e5081017a287fe3c14a6125ac
+b183417c8a70c9104ccace3f0fdcc964823ac845 a902062513fa460e5081017a287fe3c14a6125ac
+2b0f047412f6df76e4ff50c53fa17f79bc437e26 a902062513fa460e5081017a287fe3c14a6125ac
+d82d9295f7f3524439bfb58c3b9d5e9758e587fd a902062513fa460e5081017a287fe3c14a6125ac
+2293b8549f104bdc923677ea94092ca778f9875e d8e329c828f7feb126c22cae42c70ef460bf1936
+a9e294932457cbb784dc32f8003962424717e222 d8e329c828f7feb126c22cae42c70ef460bf1936
+dc1acb6ae5640054c7b2e15a1351fd603bd3b392 d8e329c828f7feb126c22cae42c70ef460bf1936
+5560cc0ce0a5b884dd17921b58c4d0f13d96efc5 d8e329c828f7feb126c22cae42c70ef460bf1936
+0704e9578c61299c1969b7b6d56f84eba215c5a8 d8e329c828f7feb126c22cae42c70ef460bf1936
+61d98ebafa26b54040107a289425b3c8d4b8962f 2f3d8bda00e62ba658c3843fa2dbd2d6fc4d46c9
+10f7f79549496dab33aa11f911252d6a5b9f7bb9 2f3d8bda00e62ba658c3843fa2dbd2d6fc4d46c9
+99688bf67c5b7de7632dbf4e4ed7dcada92307df 5b6a58c7100811991e2b125047883b756ace1bd4
+b36e817eaa1cd6cc95eb6742f7d1d1b047352b46 5b6a58c7100811991e2b125047883b756ace1bd4
+559e60341d061e457cd867e785e6d20019f680b4 5b6a58c7100811991e2b125047883b756ace1bd4
+6e469dfdc160a266f4d265e7a4a38703e6ca2127 5b6a58c7100811991e2b125047883b756ace1bd4
+1f0c624b324efdf27a25a3d353997775c341e50d 5b6a58c7100811991e2b125047883b756ace1bd4
+8ea2911e9ad184117e2466c140465d70a2455c65 5b6a58c7100811991e2b125047883b756ace1bd4
+f0324d8c44caa8ee043b25f9a38354079a1204dd 5b6a58c7100811991e2b125047883b756ace1bd4
+a13460d15cbdcb8e5bba8910bf89b34771e03b5d 928d359bacc3e1570b725575377472ae050eff0e
+52155a0bcef13059c80581a7cb08a701d1aee54e ffe5ab970a494dd2d9b405d66cdcbf015119fb82
+3d496edee0a89830d0f307c0cb5c0a7051a85c7e d934498a28489651132bf3eee1265b26f931770d
+4f8b581bc5f9e91d049ce12dafd87af99f705c82 d934498a28489651132bf3eee1265b26f931770d
+f0a616c7ebf927d12c5b35b97de2b280b912b8f0 abab00ec34ead0d229a091b36f3cc76c01f6bf4b
+7a31535102f0fdcb6514f6dd989479271173486e abab00ec34ead0d229a091b36f3cc76c01f6bf4b
+9e318e5edd1efdd21b3ab691acfcc429e92245c8 5d89fd467f336084323a7c851a94535221020145
+db7be221622dff021a82e8174196953b50688efb 5d89fd467f336084323a7c851a94535221020145
+d5aa119cc5066448593be1043a2c3240db6b1a98 5d89fd467f336084323a7c851a94535221020145
+f2b7cee83220acd77b7b0ee031f414fbb12c424c 7f85a773fe8e421608b13f6e067153d03b808d9f
+5209d394f1244e4d64af0a310741ce30832c4f72 7f85a773fe8e421608b13f6e067153d03b808d9f
+a4b04e9f5093f69adb1554a7efe5d45c1a6cd7cc 62d9394d61562bb2ac3668960d95dd81a503dcc2
+3d6bc43d82e7ba95279efa3ed240987a831bdc6a 62d9394d61562bb2ac3668960d95dd81a503dcc2
+f13e33390a953ccc61c84b9ae33151423e635d40 539f06a894721e2d30c5801e9beeeedc19b1b732
+28f0fe101b90d1c489d5c3150b341aa27c79a229 539f06a894721e2d30c5801e9beeeedc19b1b732
+e070b65c07335d016be6225d20c28360f339f934 539f06a894721e2d30c5801e9beeeedc19b1b732
+c9549e14757b88c06cb6b0701028140ce1bc0cb7 8ec34b31ca3811c542ed5520bbcae2d2ca936599
+69dc81befd5cd566fbaa32c72b18bf956dfb3d40 8ec34b31ca3811c542ed5520bbcae2d2ca936599
+bc0ffef76e5e35bea1549cb65ddc772201924583 2e294190b605ac9a767d4b48a3d87594b1c616b7
+ee7627b311fd1314381fcf723c150583d336d904 2e294190b605ac9a767d4b48a3d87594b1c616b7
+59dbeadb2dfc375abd5002695151583b84ab0f25 2e294190b605ac9a767d4b48a3d87594b1c616b7
+2d308f99c816c8bee95fa81a0f7a8407f9edbe26 2e294190b605ac9a767d4b48a3d87594b1c616b7
+e71a06bd9dfdf4194e72ad7284ff4b76e8387ad1 2e294190b605ac9a767d4b48a3d87594b1c616b7
+2fc4522b282c73d3f2e661c7f96094811997e1c4 2e294190b605ac9a767d4b48a3d87594b1c616b7
+63a4aa7b3136143bd99c57a335e7078da055fdc9 2e294190b605ac9a767d4b48a3d87594b1c616b7
+586cbea78025fb6214d94d4044f600d28b32a554 94f9ca4c9adff4505d87b46597487e6047d9b8e4
+78056bc6d9c9ae4c6a5bb76c52b091170b276b05 94f9ca4c9adff4505d87b46597487e6047d9b8e4
+b04e1c15bbdb89e74968374ad8ca690f8366a504 71b5fdf55fd0645d251e0f8a6cfa27b56805adc6
+4821a380663bade7327fa27dd45615ffe87454a5 71b5fdf55fd0645d251e0f8a6cfa27b56805adc6
+eb1ef841edff8894170b32d8e1c1ec44fb01ea52 775e659b16c6e6c324ef08193710f9cd69d1e516
+5cf18cd9fc8c5bf7bba28063007e14d8b533a5c5 775e659b16c6e6c324ef08193710f9cd69d1e516
+9448db60ca1c5164b1435ec2ec6c978cc2d923c8 775e659b16c6e6c324ef08193710f9cd69d1e516
+9f36c900ca896ebd80edb94db9dafa61c0074a0c 775e659b16c6e6c324ef08193710f9cd69d1e516
+8848e6909abf0cc3228eccc679595a0c7d93e594 775e659b16c6e6c324ef08193710f9cd69d1e516
+adb1f9b7e89ccb2936e6e9043bc3021cf29cfd40 775e659b16c6e6c324ef08193710f9cd69d1e516
+a07f7c640d84cd371ae86a7e301c7095ca8bf9fd 775e659b16c6e6c324ef08193710f9cd69d1e516
+645488396b6461f0990a8115215486d849ee7175 775e659b16c6e6c324ef08193710f9cd69d1e516
+df0ea9c5dde3548a1514abdc592bb11c9232a840 3fcce8f84ea92bb348d3037bc8793678b915f4cf
+00f7c3870b4e732893d797c3fa1a9b1efcf6dd14 3258d58ab3c31e7b941076ae6d15085459911592
+d85eab2eb400db2885747dc14dbdf1798fc61755 38aef42ff64f20d155871d7ee69858a2eae0a494
+57087cd472cbe945b59803303acbe0375f6e61b5 d9988c1f85dde9e04acbb2d3ab609fac0e6635a7
+59b1bc853ee36a248bc45dbf684a3de6804cba64 dcd9586b39270f651a3de01f91749eb762b4852f
+0eaf97f6b5b4b339c905a318dfb2abe78752ad45 0dd7d030f0ae3221582d627b5feba67ff450fad8
+25838a1cebcb2d99815b909006f7eedca736f5b5 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+cf56a14329360c8f42fbb4380970f8ae705f4dcc 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+bd74a28da8692ce588ee7ab3828f3a2b37043bc8 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+c920beb50a81e6a308d9e45d77c5d238e2ffbc60 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+090a4c7b606b1eda5c0fb74c36a11cab8ab6442c 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+5f77373acea1afdbb9c4f1ea462507047e789360 0b4095f47ea709f7f5e36aa10c2cd6c9913f791c
+09498b98d6e27d0f4d4147fcedd75e96f4b59aee a0e6b7eac470cbf5bf9e535d752691ca67f6c982
+cf482dc9b9d766324e8ec55557dda367aafafd67 a0e6b7eac470cbf5bf9e535d752691ca67f6c982
+7004ee2d2401d4cefb18e942185c6b38228894b4 f6dcefccac4c2edffed450031b076b896ba7a7f0
+6031d683131d144da67d8d207fd785f583bcfc5a f6dcefccac4c2edffed450031b076b896ba7a7f0
+f366c807cfa8e492cecabd3c0d256e014fae88b9 e0725c2aaff466ba5350238fc1686d5a02377433
+53af635424e940c9230e7be9b483194249a3ef12 e0725c2aaff466ba5350238fc1686d5a02377433
+5b3bdf6b660b5859451c8f770fa51166164d6436 e0725c2aaff466ba5350238fc1686d5a02377433
+15f522d3eb2e80d99e3d492290e18fa38a73e2f3 e0725c2aaff466ba5350238fc1686d5a02377433
+aed8f35245c64fca36bd74c91acd60f4a1b126a0 e0725c2aaff466ba5350238fc1686d5a02377433
+9a6d4ed2b0d22bb4a03ac3a4f734d84822128fcd 86233f2e49a6254138a3b0ddefdaa357ca27777f
+3d4464131501f31ff4b3d175a31a63b50cd218b4 86233f2e49a6254138a3b0ddefdaa357ca27777f
+df0b76f440787dc68dbe313bdbe604e3a0936e44 1457efd870b81b76f449682b8e5fe5e1779ee95a
+a725aac541514ff0a59ac3155fa0dadd5da8b393 1457efd870b81b76f449682b8e5fe5e1779ee95a
+64d9e02e8f4ae7f57a2d174f9bd534a16c169ec1 1457efd870b81b76f449682b8e5fe5e1779ee95a
+bd0cd12e7bb8760906b2051c4eb2ccf6f33fc205 090ca1cffc3a4eea9e6827d7c63a96188370e2e7
+62f642def57899c5610644a06a6661825a00f516 090ca1cffc3a4eea9e6827d7c63a96188370e2e7
+a734f9074fdde441d2bc690b981d6afd14cb2ab1 da6b82527397cd3c2a0aa6185cac68d97291788b
+68a04ad3dadca4b7bd49a486cdb96297aa8f3d96 da6b82527397cd3c2a0aa6185cac68d97291788b
+e0d8d153e19982ed0a843595e00cec1011c37a92 da6b82527397cd3c2a0aa6185cac68d97291788b
+8f1efc5e9ee430fba29215b8c7d974ad25edc2c6 da6b82527397cd3c2a0aa6185cac68d97291788b
+c96ea3fc360bf8bd8137b36a5ca63d213ab1ce14 da6b82527397cd3c2a0aa6185cac68d97291788b
+2cb2c8adab8d9a9986d580f6f8ca9af274f10af3 ee67568f5d549b32e4c8e0053349290e4fdd6db8
+299d053bf139eeef7db946cdd9cf6aeb0ad619d4 66ac4047d423e6b8623c80095cdfc634bddb9085
+a6ec92f94d14b27a44bb717a3bbfa180005a557d 66ac4047d423e6b8623c80095cdfc634bddb9085
+bb38d9bb668d7df8aa32890b65edd11f715c435a 66ac4047d423e6b8623c80095cdfc634bddb9085
+78a990e292fe2caf2cc5c8e0844cf6d096847870 3761017d037e057d223d37e5059e06001c67621b
+0ac28febefb6e8f38d97f27568c69b96ceaa67bb 3761017d037e057d223d37e5059e06001c67621b
+34e8c3fe5ac552a24c57d8ca49cb58f2ca631d08 e56cf3377a83d37072630622ba009b592b4bcb3c
+03e23081df9f6ba37125b2a7ba57bbf65066ebaf aba42631ee039873575cd48bb90b41786e1642ea
+a1b48bae48c5dbc85fca893789c814ee390b5170 0d3337d1c4321a6488ab4513753b84cf84c8f792
+18a9db9a0c565cd29be9ffacf121226ed1e06688 0d3337d1c4321a6488ab4513753b84cf84c8f792
+41de42da37515d989c7907f6f091b0a4f18bea47 0d3337d1c4321a6488ab4513753b84cf84c8f792
+2222b76f244ac9dd8afbaff9e0ca47b1c6a8a876 0d3337d1c4321a6488ab4513753b84cf84c8f792
+b9f61d747be85e4deb4c83c344ceaad19358e8db 0d3337d1c4321a6488ab4513753b84cf84c8f792
+acd8de4320e8dca13347d3a4b46bb1d532f37050 e97bbbb6e8a0e0654ab783a9eb338173f1485c39
+efe8dad320fc7452234dabea3000a65a78b2e7fd dd5df2702a45aad95eb1061fcfaeec7ed869d424
+c2d22b40f66b1b783cb9d57a3484c482a4f69648 8c0846c5acfa283c0dfb9005bed332840f07e9e5
+a8ffec3bdb2f5afbd4ed7de179aafca15d938850 8c0846c5acfa283c0dfb9005bed332840f07e9e5
+f17a688a113dfbf6895096c5d3660929cfb45153 d370ede8b9d0be7193afa5132353f12fd4fb8975
+88814fefe980a183bfa24d12e5ac412f9db4546f 5559164255431c045f56062ef41f682656ba66a1
+7af1e0f78360c26df3b88c5fd20655dadf103456 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+268cecf3d0d016c30dec6fb7fbe9723515305d8e 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+09745f46c227710564de2c45771e97c842f33b40 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+3a8079114fcf55895d7292d83a03d01725363cac 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+19877ddab4c6270149b62b923537d25a18b3cc11 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+3c38cea6608fb91dd5d1d1a45664958b3faf24cf 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+4a8909e10ffc268c40fed8c7be013fef710e05d6 103d8c3f3a7483272beb0ce1160b1c264e6e1ed2
+29c50ec5954ed3a8dcc549f6d3c464a38852fb33 1d4f9db90e13c50b821a7e1d2ad597448c11341f
+748cb1f0107630f7577c89b3220df83befbf7f97 1d4f9db90e13c50b821a7e1d2ad597448c11341f
+f27917c67833a05aea8ed3d44c807edd80a28821 1d4f9db90e13c50b821a7e1d2ad597448c11341f
+bd11c9f05481ae8050f26fcc27bb163898caefc3 1d4f9db90e13c50b821a7e1d2ad597448c11341f
+c2b7d48407139581f9194e2bc350f3141e027b67 ad03c7010b7ed0af104cb6f80a578055780cc6bc
+87e661714eb0e11c08ebb9df74341988e61038ac ad03c7010b7ed0af104cb6f80a578055780cc6bc
+3f5e8c9895970c45e92b0cc6bbdd972cc1e3693e ad03c7010b7ed0af104cb6f80a578055780cc6bc
+fa02bee9bd629d8e13aae73d023e75ef19b517c3 ad03c7010b7ed0af104cb6f80a578055780cc6bc
+21bc191e90dd67ff183cd1c4c8abf499e9e12d21 ad03c7010b7ed0af104cb6f80a578055780cc6bc
+10c190ac72b993b782d9f837dc2fc99870f25b8a ad03c7010b7ed0af104cb6f80a578055780cc6bc
+2665f911841dddbad09675050c4867183f88fefe ad03c7010b7ed0af104cb6f80a578055780cc6bc
+568d63512522acf146ca0645a83b58d81a515a36 09b65014af93102c1bf653d7c4d582db27d5ec03
+f9bb9f84c30849aa46a23f9e6ac6fe000dadcb26 09b65014af93102c1bf653d7c4d582db27d5ec03
+61613280102140fdeb98c29c47a8bdf1053ee803 09b65014af93102c1bf653d7c4d582db27d5ec03
+c27e609943c4e1dc522d7104eab0fd9825f32178 09b65014af93102c1bf653d7c4d582db27d5ec03
+d637191c0ede0b30e4ffe85c224770708e177d2f 62984904b0caf1c6e766e7a2d8485665f2cc6be5
+5fabe383158085c4325a322028367e70caba33f4 62984904b0caf1c6e766e7a2d8485665f2cc6be5
+96b4c06826ee184cb3cb0730d2be75a14d06cbea 62984904b0caf1c6e766e7a2d8485665f2cc6be5
+77ffe3e3863c8ff98d1c8b323f5cc3e291b96db3 62984904b0caf1c6e766e7a2d8485665f2cc6be5
+534fdebf923ce892b2aa0c532271b0bfe3612f8e d04bb9e7606bca3f1c88a07d0fe5b330a7956864
+ee29303da1f68003977d37a421e0c1437d215b73 7dd0d01cf9c1ac61632ee0d52570fd4afed72b24
+dd59b74236a7fee1f0956855fa07b8e3a28ed5bc 1d9be119f65204c6d76a49d6e1086719e9847afd
+39d1f359509b67c438e9e34a0d62f0c06f881a7a 1d9be119f65204c6d76a49d6e1086719e9847afd
+c32ce658fea54b44928826f06df72ea0b9fc99be 1d9be119f65204c6d76a49d6e1086719e9847afd
+4cebf3e4ec8b72602f36dbd6465060644b60996a 1d9be119f65204c6d76a49d6e1086719e9847afd
+c42e1c28b206971779d84b7836d6d9423003fc65 1d9be119f65204c6d76a49d6e1086719e9847afd
+f951b9dad5f708e9b4592e2db6fd33cc2a51c03b 1d9be119f65204c6d76a49d6e1086719e9847afd
+390b4f7bd08c88742e37995d7ab8dc86cd17d915 1d9be119f65204c6d76a49d6e1086719e9847afd
+f07597d952e54e3ef8085b4a36e51d3ed95ba94d 1d9be119f65204c6d76a49d6e1086719e9847afd
+a8b0bf6912be99ec93a90ce6b6c6c83660fb1d9e 1d9be119f65204c6d76a49d6e1086719e9847afd
+30009310ac93b109b0709b2134ddb0b6aea8e2a9 59d77c33af7fc5f36384a2b6f613725c394832b3
+ad72febedfcd98380fb1dc9b7d982e1efb81ae57 59d77c33af7fc5f36384a2b6f613725c394832b3
+1ade7fb43a521e585ffb1fc9dc6060e1155af30d 59d77c33af7fc5f36384a2b6f613725c394832b3
+0f92e4809a3a5371ae6b7210fa4fae8e8c7a0c2b c43b50587713516490e55e9eddc26724312dcfc5
+1275b8c2b11a35b50b2fd15b12047531ba3d908d a503ec673df477dba4fe443678fa26d767bdd735
+3e5b6553d6417b442b93304f150fcf9ec44e8289 a503ec673df477dba4fe443678fa26d767bdd735
+eb5a5370b90412fc222c8d7117d5213bc07c608e a503ec673df477dba4fe443678fa26d767bdd735
+ce1b8ea256550a9f321cfb0087d888d135665631 df45dcb1d1eb78a4a73120ed04338dff4d5a0a68
+fdb91a19175b91d2d3a591e93d9bc1b81cc43397 0b1d3531e0f754520509161ddd8a64ba33ee3367
+997e995693e75169fdf37b72ed678f85c49625a1 0b1d3531e0f754520509161ddd8a64ba33ee3367
+8be91fc53a7aae8addf6f4fa3210f7609f4b1ff4 0b1d3531e0f754520509161ddd8a64ba33ee3367
+24963fd4ab2f1ee5dc9e4f0de8ddbf0771ccc734 0b1d3531e0f754520509161ddd8a64ba33ee3367
+11fff661364d685d036f190de15479bb147f14d1 0b1d3531e0f754520509161ddd8a64ba33ee3367
+a24dc935a5d40d939a24301ea59ed23ecbe46f98 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+e804cfe026e3a030450b44ab6ae746696bd35a35 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+d2010fcfba5117ea9523f028e142ba0de880004d b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+31e690dfbfa8645cb48d89a735a148ddd5101ecc b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+34787f72efdf0b4d96f375e1101630f780b42b97 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+8e0e95c6cf92401275cd309670528adc30bf685f b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+7454092fa7b3a370262c0ba46599ed420b0b856a b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+13dcaa4078da254979201f77d9dea1713f5a97cd b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+430e9642240b564e721885a75278458fea17b224 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+d562e84af6822d5fde65e0d2bf74eae9d3734b5e b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+2209f7f5b4cc9f84f79e0a15400802cd4843fb7d b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+571394be7d5ed8db7e7284db3c5eef3884e50285 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+109c27ad05ab1ed6001fba193ff7b2744379d4c2 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+ab5a527a4a6877ec1d51974dfaa9e9c6f2b40acd b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+30723e75fbd7da6a814aa986404511caac40b617 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+91103f7210da986cd08694be9367eca54e93d0ec b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+155ecff6258e33c2192d279e1c1f7e1fb870f3a4 b66b9b642a42479b60f7ce4dc246a4f31da7a9c2
+364855ff798177a5086cd3c860b417635ab2c410 6448d9b3c3f195e904092dc976fee758a0874cdd
+eb34591432578645471d7ad4fa396accb02462c9 6448d9b3c3f195e904092dc976fee758a0874cdd
+6bc947881cfc9125e83ecb7c319fb3ec464b943b 6448d9b3c3f195e904092dc976fee758a0874cdd
+ed12470a6b9abbeb335d41a1e05a1adeee34d8d9 6448d9b3c3f195e904092dc976fee758a0874cdd
+6f64300a298d83fbb1c8f78310ebd6d3f0e32273 6448d9b3c3f195e904092dc976fee758a0874cdd
+e66be825dc21006ae825fecf7ec12af22644f758 6448d9b3c3f195e904092dc976fee758a0874cdd
+85dc5ea3bab39033ffe4a179999e410db564180f 6448d9b3c3f195e904092dc976fee758a0874cdd
+5271b52ad1eff96154271e73d936afd22e7cd102 6448d9b3c3f195e904092dc976fee758a0874cdd
+58db81f1bc478bcd253e7107c74f6d395151f141 7af9a0f8976a03912158fddf1ef5d17458d3ce74
+6b8b11c88d1bd7bf4577c0c092f84732daecbcc2 19fa1d3b126a9ee040e0cb18be8c1f1e45973619
+5d1e8a1fcb48bc7898ae58cbca970c33e185f0fa 19fa1d3b126a9ee040e0cb18be8c1f1e45973619
+d7c4ef385171efe967d56c4109e6fceb20af2002 64b6a82be459e2dd623db6d97f6dfa2192f2d644
+eb87c8326d3922eb6007cce65606e04100d10c0f 64b6a82be459e2dd623db6d97f6dfa2192f2d644
+89f211b366067c5508c360fe199c6a425dc113b3 64b6a82be459e2dd623db6d97f6dfa2192f2d644
+0bbbc87b9350234532c02a82860c139b5825d60b 64b6a82be459e2dd623db6d97f6dfa2192f2d644
+bd909ae51f6f7ab98fc7d20002c73692f22313e2 64b6a82be459e2dd623db6d97f6dfa2192f2d644
+22ac389267c2b1acbabc53bd418a75e40d4f8ed0 d06cfcf03b5e71fb0987da9bdbe0f9d105e830a9
+aba7b12ec2a43f55a39894466d9ab4bd0e8aa65a d06cfcf03b5e71fb0987da9bdbe0f9d105e830a9
+dd2ee56ff7080062fac73c5f4606e140309f2ebd d06cfcf03b5e71fb0987da9bdbe0f9d105e830a9
+77f0b82cd76c5496f969e7662c797f74198cf512 d06cfcf03b5e71fb0987da9bdbe0f9d105e830a9
+4504e7a9012a566a2b1ca83f4c84bb6cc7f6e5ca c0b35b183078becaca3af3341873ae8aebdc1c72
+0ec8e6bb38c1d5196b502bfbfb24973878d9cf42 959e7089edca62ebb68fd7f7047f1ded79861ad2
+892fb0529759c77771eff94e863402a8a1be7738 959e7089edca62ebb68fd7f7047f1ded79861ad2
+426be93a6a4f2402706978207ac520732594ce21 959e7089edca62ebb68fd7f7047f1ded79861ad2
+52c8217163ffb4925002aff3e1d151a4a0cf56c2 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+d7d27bfcbc5da4a3e6031966b3c810439427ef14 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+b87589c9f2cc196c5b334120db73b5e07b89c3a1 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+36a9831fd0f4a00a3df78d9cfb37dbcb738db1b7 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+1f9b5e33e28849fab77f25f595fcc226928fd612 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+56a588fe31764601668d16dc2ad3328edf7280c4 fd185dc86ebb97078fe12a5d5a4b033622a7d434
+88648a64e48f84b6dd04bc6ea0d5eed1f796b517 d826ffe0530edfc4093778c02d4adcaeec615225
+d3f85b9e3b0795388726704776a3362479476a80 d826ffe0530edfc4093778c02d4adcaeec615225
+2fd408498d18702835a5bad94ddfaa499359e492 d826ffe0530edfc4093778c02d4adcaeec615225
+fbf6ae64ced45497325ad20b32487fb561d5bfec d826ffe0530edfc4093778c02d4adcaeec615225
+7d41bbf22cccf8e380f1e08898b5cf506ce28aa0 d826ffe0530edfc4093778c02d4adcaeec615225
+c29d38c74a174f8395dd96603ef277d85ac6bc03 d826ffe0530edfc4093778c02d4adcaeec615225
+0871fe27986dbf88a851cf8a7fae7b350d4ac0de d826ffe0530edfc4093778c02d4adcaeec615225
+41abece0c58e9d6b595ffa14b3f119ca55252742 661aff2b878b9d2a5e01d2b83024310287585fb4
+10576adef5a89a7eb9767103aa2a3d6113693829 18d9d6ee7e43885fb5e27bdcfc4b4a6914c12a31
+08f97f871c55e42458a2398293822399fe7c5607 e9f429caf9afa0f5414ce3ded9d66dc9f991e5f0
+e9979aa9aaffa5bbebdbdaad8b64260615eb82b4 e9f429caf9afa0f5414ce3ded9d66dc9f991e5f0
+67a0d51cba4de5a2a4950769e8063e135bc689c0 e9f429caf9afa0f5414ce3ded9d66dc9f991e5f0
+59f9ed60a0771dbad0cb2b643cccb8fd0a05b1d1 1684bfc64a7f9f6f18ae8dafc883566e6c884998
+80f5e0fd2bf5da58f99ed26f5fcf4ec9ea439447 1684bfc64a7f9f6f18ae8dafc883566e6c884998
+7cf1b5a11934fe8cfa4935b3e6d5fdcad4e877cf 6199c90f599e40c837e41cb860a238c7f23cb38e
+cc09aac0f728c33022c42ef27bc7cee3f99e1055 504f553c1e864a0e2e7fc212afbc0f17fdbe9eef
+ab7835af40782068bec95154c4ab9018f91ac322 504f553c1e864a0e2e7fc212afbc0f17fdbe9eef
+2075c589cb4559d0933995e69881a4e43eca6f47 504f553c1e864a0e2e7fc212afbc0f17fdbe9eef
+1b8fe21a07392c9cb055115177d5e08a58f9e1bf 504f553c1e864a0e2e7fc212afbc0f17fdbe9eef
+4a3c674c0b13a90f82ca82a64b6b87ef577fc609 9ed7490c0426cb61563ebac9f6cde708fbc1cfc6
+7ba653b128d86801d75d498ad20b16e75efc9469 87d8fb0d736e3d2492f812bc7268b3f547a70e66
+51a8d0decc5282f1751ddea845c7507581a20095 87d8fb0d736e3d2492f812bc7268b3f547a70e66
+c435a4a6232c74564bc8d3c33e8346c494d9c3cd 87d8fb0d736e3d2492f812bc7268b3f547a70e66
+b1c6702b5f720dfd9e0bf828b0bcf21b253116d2 6b035c04990bee5dc3e869b43c6b63fb0eb8cdfd
+ed4b700cc59d25b62a72b875af78a699ca3a41f9 a02a4296b9c887666d35ff59b8f608601efdb57c
+4ba2fc6bae654c361509b64f91a6de9231736239 416fe901236ba0127c9d77fa630a5ff0bd37faa9
+d25c49854c2536553ee44e3b3df8f00d3353280e 416fe901236ba0127c9d77fa630a5ff0bd37faa9
+55fa28cdb7d6ccf1f238ba6e2c91a7e547ed0db2 416fe901236ba0127c9d77fa630a5ff0bd37faa9
+dc120c9d285f7d5b8ecfa7d756f5c089bcc71ea4 416fe901236ba0127c9d77fa630a5ff0bd37faa9
+2d72c7cca2fff4e58b78b3bf67e9fbe4f105cd8f 416fe901236ba0127c9d77fa630a5ff0bd37faa9
+64395305ab08a262fdc2aae938ba2b044739fbc2 40582e61f2d50d4c5194a6cdd70bdf32af4b9c8c
+1273184f6ea300343ba4b9dcc3ebc6d14f646d1f 40582e61f2d50d4c5194a6cdd70bdf32af4b9c8c
+47667d94e3e693fe69cbbaeca5e312a65942cb54 5765429e1daace05bc350738e6f82b3f71e52096
+160fceca737cbcf1a7f4fcf1d58ad3ae75146efa 5765429e1daace05bc350738e6f82b3f71e52096
+d1dc0968ba73eca49be8809abaa2b1f33d936e46 5765429e1daace05bc350738e6f82b3f71e52096
+cd7848ee0264670a6d685f9da840e39f00787c0b b962cc088f09939b1659e18198170fd7fb9de019
+8876669ea359173bd3fe478fc674c916152050f0 b962cc088f09939b1659e18198170fd7fb9de019
+4625411ca5d1e24ca30d479d3151e59fba771e52 b962cc088f09939b1659e18198170fd7fb9de019
+6fd6d9906d3f0649dad526bf96d4bd50bddf3123 a6371cdd24be0823fcc922fdd076fcd65fe8d769
+e5a25c3965bfe963e449ceb70731d1d7641ecec2 a6371cdd24be0823fcc922fdd076fcd65fe8d769
+403335bfdce2c922603e431fbd3f9e2b7bc8f57c a447efb5fa4b097ee90df93959e2152b0f60608b
+2fbd2f0b6629ae57c87200a0907e12a11d13f3b4 0aa4567bd9621695d8e0647e123759e48eaff562
+a94765f849f74bbf64d6783e0749b93a1b6cc81e 7e7b4deeddeb4a42bb8a186d499f10b9c73384cf
+dc34fde3f3fa139762a86dd93b903943c86b742b 7e7b4deeddeb4a42bb8a186d499f10b9c73384cf
+7c6cf1a3f106e94960f0d82de71a31dc29c881ee 7e7b4deeddeb4a42bb8a186d499f10b9c73384cf
+6f31d4d662219afaa301759d6287d4db65fdf719 26884eebb1b69e3eceaa761f0f39fea218911e9f
+3f1889ddbe9684f6a748a5ae1e1604a8900d103c 26884eebb1b69e3eceaa761f0f39fea218911e9f
+d0eb181dd794f9044bfebbbaa67017d4a398a9da 19c5223b5a03da855e4b27555c9d02d5e32fed7d
+6705286c339db4e4f749e6d7a1b721aec49f31d7 41d8eb20129e2742a5a123815d214c94fcccaee0
+3f91e041c9f7265b5a86203b5886a5257ff0ac50 41d8eb20129e2742a5a123815d214c94fcccaee0
+bb0ec46e3bf8d1df3b9627d4c156f7d20d761a2d ed772ce7a6cd80bf6dbc8ae624ea313b079a33a7
+e458221874cd78068832a9336d2b958ea6d086ad ed772ce7a6cd80bf6dbc8ae624ea313b079a33a7
+6b098cb8c300aba7843c97aae093bc0d614a8ff2 ed772ce7a6cd80bf6dbc8ae624ea313b079a33a7
+fd39a30c7f87294894c351cd92fbcecd2068af56 c9bbdef02e56e1d5345345306cca79cbc5dcc191
+272d935a13871b748a957650e44b63ea26d4f2a0 c9bbdef02e56e1d5345345306cca79cbc5dcc191
+66c9f0eb1e8f8359a8e28f625e1f7deeadcbf345 7fb0411a6422260b0a92f7b69e45874f75b775a7
+b76f9de1583b70a900ae8adeb606d293e37fe742 0d9918086ae961ba886d9195a9681ae7a04af307
+96c7115c66f4d0336efe35498ed8ffffecba3ad4 0d9918086ae961ba886d9195a9681ae7a04af307
+f158814fa6f2026fa87d3d8271fe65f66a0021cc 0d9918086ae961ba886d9195a9681ae7a04af307
+dac9729a85539026a49bc175da101534fc70d723 0d9918086ae961ba886d9195a9681ae7a04af307
+79d5e5118cff82b425126b2673e00f9e5ee5b7fc 0d9918086ae961ba886d9195a9681ae7a04af307
+b783012c041553a51d7b1c3c32547abe19a628bb 0d9918086ae961ba886d9195a9681ae7a04af307
+87d0a6e5b7511c165f1b20b0aea9978d72b56811 0d9918086ae961ba886d9195a9681ae7a04af307
+f60c756f902332280d3c75a9dcf9a1eb6fc3f5cd 828082e4c3b9c10316747332bd2d881faa812b78
+2e70f3ca57b97a7c7c3e64038b2a302667f489cc 828082e4c3b9c10316747332bd2d881faa812b78
+e3efae34780012b6c608e3d96147f570314e92b1 828082e4c3b9c10316747332bd2d881faa812b78
+3bf7f3284cda28adf1d19abc5d5e3286fc359e1e 828082e4c3b9c10316747332bd2d881faa812b78
+dba991c276081cf440b2512ac9bc748d4edabdca 828082e4c3b9c10316747332bd2d881faa812b78
+5d05c0049c2f31b7ed31ed7bf9eb9a863142e3e1 828082e4c3b9c10316747332bd2d881faa812b78
+87ef19676feae2d876bc62c30436e03fc2021973 828082e4c3b9c10316747332bd2d881faa812b78
+5eda0ce6e544dc9177532d55ae51fb0be4757ec2 828082e4c3b9c10316747332bd2d881faa812b78
+0a48091aafacafe872aa6135345caa1dd0074b40 dbc21c74db0abc6468f6a0a32f3b5e5e9e44de5e
+9bc1e7e01561b6ee3c656d3a5bcac8529e1aed14 dbc21c74db0abc6468f6a0a32f3b5e5e9e44de5e
+586ccb41c3b242f1870239d1af9e2012498671bc dbc21c74db0abc6468f6a0a32f3b5e5e9e44de5e
+7dacb1fbc3b8ba13d13687de4b45e6abcfe1862c dbc21c74db0abc6468f6a0a32f3b5e5e9e44de5e
+a6e0c99c31e9101d1034824eee96158bef48003d 92f7fcb38d1476edb8126916737ae3389e20b7e2
+8f2ba970733063dccea637809cf64be572c898c2 92f7fcb38d1476edb8126916737ae3389e20b7e2
+a654c9397293cbcd85288f268ddad24c2335ac4a 92f7fcb38d1476edb8126916737ae3389e20b7e2
+3f704c652644576fc1ee0815bae7967720743bde 92f7fcb38d1476edb8126916737ae3389e20b7e2
+c439d8c6774609a2f2e3c6ac2d3958257e494a02 92f7fcb38d1476edb8126916737ae3389e20b7e2
+429656516c2043913c01339650dabc545c3dd689 92f7fcb38d1476edb8126916737ae3389e20b7e2
+f5627d82b13fa0d07c74e1ce771b44ff5495874d 92f7fcb38d1476edb8126916737ae3389e20b7e2
+d559e59d23f0fc934ad6f84635fd83920f86a52c 92f7fcb38d1476edb8126916737ae3389e20b7e2
+cd6fffac2f07625be068d03d28e6f83642021227 92f7fcb38d1476edb8126916737ae3389e20b7e2
+a5de433efc28f5e5a3af76365ced62315764469b 92f7fcb38d1476edb8126916737ae3389e20b7e2
+a9da12824b165c00688c0c2be0b339d3b857661a 92f7fcb38d1476edb8126916737ae3389e20b7e2
+ecb1f90d31cacbf9e6fd7c6292ef5a8742566210 d70e44320133f8abb017d9abae52974569667a69
+ba102088bd5c13d614623f6cd34e30ff4bf6dc0b d70e44320133f8abb017d9abae52974569667a69
+9e59358c76bae94945864264623cc9bf6222e43e d70e44320133f8abb017d9abae52974569667a69
+15dcd167f644162db7af44a3403215018f507f2e b18bb377e4f3f78e71f0cdefeaff2d50e7c90d99
+4d73a0987f410e023299e69295ee3cb4a6712609 b18bb377e4f3f78e71f0cdefeaff2d50e7c90d99
+426f062bc45b04510456780d0301f26f727b3b59 b18bb377e4f3f78e71f0cdefeaff2d50e7c90d99
+c497cbfc5ecbc4ad3181beee4e2e9e00c3ee3517 7685c97e4d5b4aec18fbcd405717e046af2159c6
+0256fc36d37ba2e2f80bebcdc7a6ed1703d1e874 7685c97e4d5b4aec18fbcd405717e046af2159c6
+63e922e99d09909fe132c74505c0492eadb5fbd5 654e7028f1318cbd2f872de94ba378c5a658435b
+6366e234fbbb0afed3ab5bc6e4478d170b413932 654e7028f1318cbd2f872de94ba378c5a658435b
+2fd07fddce0a816622682542681e3ed9f957fc0a 654e7028f1318cbd2f872de94ba378c5a658435b
+9f517ea5c4a6a8d0b38c95d7807be6e461a6523a 12c2257a340c9145f815fbc214cd9c0732b746dd
+3738d5e1ec69682297ef94cb01b6046d2dc41c63 1d2706cca1340d3f494fc1fc9783e7a7a292d0e5
+fe165355c833ae99d749bf416471f813b19f3b40 1d2706cca1340d3f494fc1fc9783e7a7a292d0e5
+03e1c4bf4e63e1229430d4a4b24997fe45686fb9 1d2706cca1340d3f494fc1fc9783e7a7a292d0e5
+44c5845d8d3362bd3606e4e2646d2695bfd37510 3de2081d5ad482d94045eeef559abc6d709ef39c
+224030461f8ae6097953b4d4b3653517cb14a60b 3de2081d5ad482d94045eeef559abc6d709ef39c
+6a9533bfaf72c7490bd832380a81cb5389a358f7 3de2081d5ad482d94045eeef559abc6d709ef39c
+7915ce42465ab4d1a025985724231fde1b26ff21 3de2081d5ad482d94045eeef559abc6d709ef39c
+91c046bc9097328819d8b226bd4ab4398a702ce7 3de2081d5ad482d94045eeef559abc6d709ef39c
+9c1291c9c0e96383215c5f161019b84cea1d45f2 689f855ffc348efe13ce176f07962e7d52a594c3
+80dc612641d6a1c91e8683b6a2f6dfd3ef3856af 689f855ffc348efe13ce176f07962e7d52a594c3
+b9f15d216d7a82d2d814e4dd2b7d0fce16b61718 689f855ffc348efe13ce176f07962e7d52a594c3
+5b017e89e2983ac4bbfc055b0b37adae6d4fdbc4 b4b897a6518078a83928c27d5e9bbbdca4114a62
+078f92c37b4a297dfccec2e10d4fad4beb613656 b4b897a6518078a83928c27d5e9bbbdca4114a62
+bb4e1116c84e8eecdbe2d12777ad27502c5aba21 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+fdba541d8394cea1d382849ccc0a9e1ed547dfee 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+93d9cee8a0ff3d36f1a9d96091300c33ec869efd 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+009e1dede58f278a17a1023c5a0676214ea2d4fe 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+ab27766af567a0aadbebcc5ea91106d444475480 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+8b58e782fa504a6309dd784ae49dd2e7f306a955 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+420d2d877b1e1ff587edff8e77b4217690ac51f2 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+b7933ad343376584543f8aaabeb338bff460227a 74cbba7643b249cfa1ae02945fca06b636b5f6ac
+a2ab0e90277c69af62b09ec6667f244ef686e262 b5e033e2ba0dc861db6c4b84e21d28b16596e259
+aa3a3206d83d669a229325fac9eeb0cb7eb3fe7a b5e033e2ba0dc861db6c4b84e21d28b16596e259
+8825fb8518e3f8be9a045e2bf08e28b5325ddc22 b5e033e2ba0dc861db6c4b84e21d28b16596e259
+49d0c6e11032bf46ca4fa8012c5297085112462e 0e532d8fe8197127a3981fa757535b535897934e
+20fd15f4fef8a7da9cedaa97225688160c4c0925 433fdbf1db74130cfecda77909633f958d42c1c3
+ad03095c0fb63faa213531f4436bfdc9f6020609 4960acaa6d97e564fae6da06f43c733aaed54fee
+9fc90100350bc838882a7fdbca9f9fcd0f0b8066 4960acaa6d97e564fae6da06f43c733aaed54fee
+f4a1502f357c247b73b484a30dd7c8a5756afe6c 001c1f8b85ead1b1d0afb76dfa81a7a49b6ff711
+711c44449bf56ec9511d5dd7e9b6c0a8b37db630 001c1f8b85ead1b1d0afb76dfa81a7a49b6ff711
+2be07103d0900200005a86e71c57f60fa6be6126 001c1f8b85ead1b1d0afb76dfa81a7a49b6ff711
+7b80c8f84e13fb83f58b7a92d3779b4598a9c907 5d3734cf464dc26e3d783c4e778bee5b184c5707
+9ccb8b03f7e9589469cb29cf40133d791c00862e 8f6a35a409d4d3b1c43b98eba6b111235e73e2dd
+2a9b5a9aa747e8b6353f98a2ac00b0a09ea93a23 afa29d0d3c1641fe7bf2980437d7aadf9fda182e
+cbca92909a40bb0ed81ede9430795423bffe33f2 4c9ece8cd4e6dc0fe4a6dee6bb3dce8620f068ad
+cf0495a3de7677fafeae1b3291a1ecb693a2f400 4c9ece8cd4e6dc0fe4a6dee6bb3dce8620f068ad
+d0e91611369a35adbe7f0d687192c7b2135538f8 4c9ece8cd4e6dc0fe4a6dee6bb3dce8620f068ad
+d0220baa24b557b5c3a0562ec16e5bd47ee94f1f 4c9ece8cd4e6dc0fe4a6dee6bb3dce8620f068ad
+3c504fc3c9a12cc2c31ae250a15ad13a7a8c743c ee3f49fb66ad8f0d85387baae80d388ca44ffd66
+7460a69e4184968e7127ff891c06f5a69f767369 7b0ff77d55d1402ebb2463c95e0b8712e6754e93
+bf9e85a60f5e921208aea74e064e22b31b157a5a 2aaa4c0b4262a8cae61627c9ed804de05d78541c
+87f087b86e3c374a656c2cf64f15c859cea92c82 57a61fe9a42f77041752d2dc095307fa314178c3
+f86ca3d424e2fa44115f70aa712489abc836f525 57a61fe9a42f77041752d2dc095307fa314178c3
+ac94e66bcf2995c9ddc0429b0eae6c84f9bb5dca 57a61fe9a42f77041752d2dc095307fa314178c3
+767352876d2709ed08d1ccb535afbbd9fb436c1b 57a61fe9a42f77041752d2dc095307fa314178c3
+ab71585856d8b8dc9252018cababb4672a96104a 57a61fe9a42f77041752d2dc095307fa314178c3
+c6b092582d0d8f4d24421a561b3e58ed1ec82f87 0aa0a3d9bd5f0613be146b2060ce9a6e1a911071
+bc36bea8182f164f262ea5f70d957ddb5f74b6d9 f50dcbc27b84d4e47676d72462e6944f71d77636
+30d319138c49124f48840ded3df4c10e3e3792d4 f50dcbc27b84d4e47676d72462e6944f71d77636
+273479af58871aa7219e44c964d02e3bb685ce4d f50dcbc27b84d4e47676d72462e6944f71d77636
+67624ba4ad62949e0e308bbbafa209a93bf52893 748ad107869c4f201b54e94bec16c4c9ab239035
+3464bc710e637a6d931353b8018a8bb73655f156 a68ec59a1a1942e0dd81f2c81b14e20c664beee9
+bd1e6b76eb69c3c976281e1e0d3590c14af805dd 6fa5396e7e71774c479ad4b2e1a92a50a35dfb24
+e4eb8114ef6f7b9a939c8412c368f3c27806db2d 6fa5396e7e71774c479ad4b2e1a92a50a35dfb24
+3f416bb9fb3c00387d8ccebcab9e8e9b941d95ab f0a796acebf36ce43be1503ee39dc5f730a2f150
+31250bd54f526d24d4c1e035013c3282499b019b 52188955b1fd79d2bbfd7512144fee64342c2472
+c1ebf5bee9f1941350dc0baf59b55444d4cc2bc0 52188955b1fd79d2bbfd7512144fee64342c2472
+67024c268f1019266c8fa6aaf81068e94852056b 52188955b1fd79d2bbfd7512144fee64342c2472
+c6d54c753b3726e606ef5ce5ba053255943172c3 52188955b1fd79d2bbfd7512144fee64342c2472
+76c381ad5a2e2548e58374f6b3baabc403b052b3 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+59bc5b0abf7babaf53159387893127d107461c4d 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+db3975a9452af45f8f4179104a52a111f1a8968c 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+5182e83b8b29ef6b8591526c6e476f5bcfbdb2bc 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+cf19e664c81b202fa7eb3087172575825201fb9f 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+290adfd3b9d460e93cdeeea4ff23272f218717f3 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+129f20964fac67af7a036624199d6fd41fd7598b 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+4e52355d664950bf0b1e0b00d3bf345d02585152 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+bda11b2676bd4bc7dbe551bbf5e801a9fc8a6697 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+c1a6ca47f2baace5eb158a79bf26d40b70fc8cdc 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+69834417aec2b45177ffe2e49182626ac132d987 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+50225e88c0cdedb5dbde60bf215222bab25d8005 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+4ae16c5c28edd50ee6c8d0c4d674455c0a4b4c82 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+3927a2120656fc507ebc1465e203585624debec4 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+ecdb059e2439eece28da7632309a01c4aadfebe4 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+3e3a0676f3eeca56f9532a5e5018a12f30ba0d3b 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+801b823f3770ab14af08f853a231188e03da1f21 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+9740e7198b3f7dbe4fa9d3c51bb7b7ce8f8c7dbe 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+260067b23a32f9adc7e4957b000bf58153ea68a1 2ca0dc8d3c9bd9a68563f3acb71686b65323cce6
+879a3e980f93982f6a3ce973ff6ff709b154966b 1c7ee96dfd1d51487627ed008b3e815ba45d0453
+3c1d8ffb57380988fa8015148dad4167b149107e 4fc2d988ac86f9be903f9cbf2a6ee3e7b33adfcc
+93d31683a73445e3b1ff26d2d6efff53597b6c98 e16552dfc5ae63d08556649f401582f01f01ff5d
+9df14f3c86c87e1698cdf415a3b38797647bedb0 e16552dfc5ae63d08556649f401582f01f01ff5d
+32a9d46db4e79e24000765563532780481ec8d03 e16552dfc5ae63d08556649f401582f01f01ff5d
+d7a6393a2d3d4d49b02f9d1f438fc1b5ee0a8fee e3b2d8b20ceb732ab55ddea3d75519f82c22a056
+b564651960e106a2cc165b34d7bdcfb997975abd e3b2d8b20ceb732ab55ddea3d75519f82c22a056
+7f579e8e45bb95c7f4fb1186e2c3eac875546e4a e3b2d8b20ceb732ab55ddea3d75519f82c22a056
+f17c58adb212cd1a4c93cabfd89671a244b0d8c9 d4527b252f08c08445a38a597546de9c3e7fa2b3
+2ed19b05e6643c8e0a0170ceda509317acceba9d d4527b252f08c08445a38a597546de9c3e7fa2b3
+47ec5636fec06b16ad13e95dfeee1c033f475e69 0971277b99c597e0c297f0c49db0a0b47a68d948
+e5a8b128c7aab6038532c562fd6f23268e4b1e71 7c318835c54e308d08e166c2c9e366c3a7653c18
+9f5bdd331a70fc04279c9c1a5dde36804fd0bb86 fb0fa66cdb68346ac24f87703c3ce962c6c618be
+f3aba85fdf851d62df0a210b3248769c1fdf624c b4a98521dc8f758fd935aecc59321e0a37cfdcee
+4d680fa6e74c1bbcc3044e28649471cbc32f32d9 b4a98521dc8f758fd935aecc59321e0a37cfdcee
+e65f1a8d7b4f408588231bc0c2c4338eca688de7 d66d7660359241b3e26220fb031c4d032c3817d5
+5a1a454a290b5125a4ddae554a56a20efdacab29 d66d7660359241b3e26220fb031c4d032c3817d5
+abac40fe154ab6fe813c021763b0b17668bf05cd 706137daeaa4d88638f077c13edbf40fb081cee3
+4f3dc2854d7cc315deaadf20ebb3a926ba684e09 706137daeaa4d88638f077c13edbf40fb081cee3
+0a824eb7fa823908e6110bed8bb96f42676d5143 706137daeaa4d88638f077c13edbf40fb081cee3
+3ceba2cce2bebd031997974264dc66d50b01f8fb 706137daeaa4d88638f077c13edbf40fb081cee3
+25990426994656eab794c1b381b03692ce4f8d87 706137daeaa4d88638f077c13edbf40fb081cee3
+9a0a127110f9511860ff546bbe79715765d8c857 9e12b59fc3b74812b1dc7bdcacd7a543eb63a12a
+56a9da25979b92789331304d320724d2b066b9d2 9e12b59fc3b74812b1dc7bdcacd7a543eb63a12a
+d0a824c661e5e5948d8d0c98804a004e7c063b48 9e12b59fc3b74812b1dc7bdcacd7a543eb63a12a
+1c5c463d46b4ee7690df78466940b978f4828b84 9e12b59fc3b74812b1dc7bdcacd7a543eb63a12a
+3ce4ffe33cbfd6028abeadb930f436c65fcc171a e03f335c8eaf1232adc63e684dfba834c6c00357
+7485ae6a7d8c9d1b6d2fab89bb99589c8995ff12 4f47250c20fcd8710e4a6ae650a776f756338fba
+d85d98d297903b2e47caedf790929322a214530a 4f47250c20fcd8710e4a6ae650a776f756338fba
+c018da3f68fedfa73aa3a87c3694112e9bc0aebe 4f47250c20fcd8710e4a6ae650a776f756338fba
+508f2a4cc73c777f1319d7965cbc9d9f481475ea 4f47250c20fcd8710e4a6ae650a776f756338fba
+23e91612c6fb24dbbeadd6dd2f19931595a44b54 098bac26d58b566f004707c011fd45a72116b310
+d3e3fdc27f613bbeb4f88cf79e52500abf0f0b4c c58a8d2e628e079a81f84c0b4b181b274373f8de
+1bf961bc319f579e4f7309d497923b01b958dcbc c58a8d2e628e079a81f84c0b4b181b274373f8de
+b318516833d1fc4439450312f18c952fe5542663 8e09bb7b2ac52c39c4deae2a2478936a70efd975
+e5efaa921f3a28116c40cf070024f952728e2d0f 8e09bb7b2ac52c39c4deae2a2478936a70efd975
+731dbe5251dfb688239d2882d7ffc3ff19946965 8e09bb7b2ac52c39c4deae2a2478936a70efd975
+e8cfbfd74f580baeb566ca223ceb56f22ae154ee 8e09bb7b2ac52c39c4deae2a2478936a70efd975
+159f7a06af6f35d659481dd6d5a384a0f006c7a6 8e09bb7b2ac52c39c4deae2a2478936a70efd975
+1b3acd160f03a50bf901129a2de919ab2cf71f3c b6e6145c7f1e6d5fe3b9b7f06e2a763d06e56a51
+712b22ecb55566076bce4f1ed7bfcfb67b7683be b6e6145c7f1e6d5fe3b9b7f06e2a763d06e56a51
+533c54b532de32b2ad80b406c9de141d0a37e83b b6e6145c7f1e6d5fe3b9b7f06e2a763d06e56a51
+578af6b6edd64adbff6bfc1e3f384e80336f9c3d c9def4b494460d0feaeb84e5b10d622024019647
+4d681aef47036c2ef6a9f565c9d97b6110d9c6f6 c9def4b494460d0feaeb84e5b10d622024019647
+73b26f30e57f0d6b3adba70f858ed5a5baef5981 c9def4b494460d0feaeb84e5b10d622024019647
+7916fc6119afdae0b8307f580fa67d5b7dd29f89 682df857ec6325ec36c295a22031dced7f26b813
+9df54fcdddb69468b4eeb289df604eaa8b56a0bf 682df857ec6325ec36c295a22031dced7f26b813
+c7763d4b845d93979f5135bdb9fcb96ab88edb53 74a9d57b2bde16503cf524da76806b61da24fe35
+da1a6bfc812498ba84e9f9a9a28d31117c2def40 74a9d57b2bde16503cf524da76806b61da24fe35
+8254ab67b72ad7499c045ce055a639422ede2ba8 74a9d57b2bde16503cf524da76806b61da24fe35
+70b00bcb23e0a2938bcf3d0e0b3b20a3e5bdd5bf 74a9d57b2bde16503cf524da76806b61da24fe35
+bbf935013e6d6f781d15e37e48e1a41c11979d73 74a9d57b2bde16503cf524da76806b61da24fe35
+dbe542a4c347068542ea638d594084234c96fab7 74a9d57b2bde16503cf524da76806b61da24fe35
+7601b31dc396194c2b63e677533fe63a772bbae9 74a9d57b2bde16503cf524da76806b61da24fe35
+878b182f7a9d3b5c6c0b618780b2bbfa4ed2c9ec 74a9d57b2bde16503cf524da76806b61da24fe35
+ac9573073847369258533b02c9c63c532ce80031 74a9d57b2bde16503cf524da76806b61da24fe35
+7aeb836b73388ab0e7609607e84603a816c0f614 74a9d57b2bde16503cf524da76806b61da24fe35
+e42a2ac0ac69fea17c99ed989b214068387a3c87 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+8a128f3c190f3b29a5933122126e677a72685759 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+5226472d4e1bb833062d12ac9f5e97f881b00a16 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+da4d4a84200db347ac8898f42521c46a2a82a588 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+540151b23a0976c20e3e894e6d47d9e2ec0a82c8 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+3bc67d3d04b3a8e7e4310f3d1bc885d02a19c1d8 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+9a40c8c5ced5b7588d1a4db0a02154b86a851391 4bfe2efdc0915d9dc76dbf6684341be36b0af0f2
+189a4a1e9b089f147469de4bfd90693bbe7434b0 f3e2058d36bfc30538b333729858fec0d0fdc01f
+a505a07f98357bfc85a164c98327ba1b46a33f9a f3e2058d36bfc30538b333729858fec0d0fdc01f
+d00ae73f63083af7cba9af06c035a7dc39f59d12 f3e2058d36bfc30538b333729858fec0d0fdc01f
+1cebcc8600d51818528b7ff68117a1fc05d5992d f3e2058d36bfc30538b333729858fec0d0fdc01f
+651188e747ef6a844fc092e89a9b4d0e09f65023 f3e2058d36bfc30538b333729858fec0d0fdc01f
+564d6eea1b80852a93ee0d0aad5748863e5be448 f3e2058d36bfc30538b333729858fec0d0fdc01f
+849648ca624b678a47bed46902045bc99ba76ba2 f3e2058d36bfc30538b333729858fec0d0fdc01f
+c56a5f390b08588b07bee079c447d3a624715ef9 f3e2058d36bfc30538b333729858fec0d0fdc01f
+bded4284b8c29a9f030ac6a74fa16a5e3e4e7ed7 f3e2058d36bfc30538b333729858fec0d0fdc01f
+a349295be77ddc018c47536567735c807e732ae8 f3e2058d36bfc30538b333729858fec0d0fdc01f
+bebd22fd70d991c254ee77fa37b80760c5f74107 3e9e4db19e084570b2f73ffc2edda41ec7c3cf3b
+6e19f322b90803092ab986bfc18dcbc0d36ece0a 7c1beb9cc13bebfbbda6d88c837b799475af757d
+f9fa032fc78cfa489141569987c63a1b6e224b80 3e5fd5bbdb60ad54318dd47a2ca1ec216128f680
+f367d8930a67e10a39a06f5ce84f401b0a7d4223 0eae54f166bb6b0a7bca4e87d3eca919d693f19a
+4bbb3f47ea1011ffce2cfab7cdb6704f713e8fc8 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+055ec42abf8f6ef9b9674b80b5c8f054fe7febe1 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+d03139d0c2ae088be3e080a806f6365aa2fdb899 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+114665abdfcfb7d83026e0dc0d52056088ee8396 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+045470b7af8f9a5755a497f7e18305de5ccac50b 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+216f8052e72aabcdea6b41083ec6b25eea800e76 3e2f24235be3b6c5c3389edf1e47b1775a9567d8
+97d1887240c5d05b8eb668ffe28dcee4698fcde3 a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+f7de8be7b0be0d6fd143088f2a5ae6e26104df50 a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+809b68d85e9618d922f33a22e568f169565f1914 a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+6376433434ca9f48048246aab2ceb9f5bbe83abf a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+1c7ddbb3b457f5a8c0e23b75486ed6eff5236e4b a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+37a56d34bc3208999b5e45d1b8ed16fbe1da07de a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+3e18fe2ddc7de223b74bc7093686a0c65d9b9491 a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+d7d15db4549a87b66fd523be79bcd0ec4263e3ff a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+77ec05c765b949d4aa876eab96d58ab5454ac4b4 a11bd1c18df12e3f2baff980fd7a8448d6244e2b
+7ad05192f2ba706dbeecc0775553b45bc58f1559 f620cd15f7c1a7c8c0d384d5919ee86f88985dfa
+799038adc03fd2606b6adef48983a2fe9844d47d 6b0d2dea6d9643309c8fc1160976a89a8063ed88
+5fa33d5b74a8100150f22f197f934533a8308d9e 6b0d2dea6d9643309c8fc1160976a89a8063ed88
+4aa662b66b6627da99beda365b012b7c869e3262 6b0d2dea6d9643309c8fc1160976a89a8063ed88
+1f9e018e8e7e52335cb5024d9bc20bc408ec74ef 6b0d2dea6d9643309c8fc1160976a89a8063ed88
+57e72b84c8ae143a70d8388ea7338690de6f1846 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+b37b14ca269ce5ea4c5fc936215bdc77d8a85a84 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+9a6d7c70002684c4dbd28b88c64573d7bbf98965 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+e441f47647428ab3baf757fd732b0e445d6ed449 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+14204ddd5e7b1c3445da64041273d1463201657e 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+859519ca2fc0175b8d7b15adb671ea6cd293776e 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+ca5bde42db13676365aafc1ec53b5e97616e04d8 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+4dba2cd22a7f48ae64963d5285f3fa056ef96f2f 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+18a3d1c9765355969459549a1c6b6bb19cc1640a 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+e405e71a15705a3972a888fed6bdfb30b145785c 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+8899a7ee4e728453923b954e81d3e3b2bc2f738a 730ce7655a02f1fd6f42ad514dbcc507fa4426ea
+74f9e714c96dec70abefc9ae50454a712dcdedb5 6b2a861e4722a4b96a26d5deb8656bd564252163
+0aca9469666d8767b91a33fd2ccd4a2cd5dac202 6b2a861e4722a4b96a26d5deb8656bd564252163
+dfe63577dd27e9f85d9dac095014b201d702d6ca 6b2a861e4722a4b96a26d5deb8656bd564252163
+f6590ce3dcec676a4817f0c61b5e4e768ad116f4 6b2a861e4722a4b96a26d5deb8656bd564252163
+83fda433d5b0bedeb538bdb1bf7d11e7d8ccf2de 6b2a861e4722a4b96a26d5deb8656bd564252163
+3a4bf01929acf0ff6a367e0be0f5478768fde2b5 6b2a861e4722a4b96a26d5deb8656bd564252163
+c9d25ee57e3f84535a1aea31b98376b6df886379 6b2a861e4722a4b96a26d5deb8656bd564252163
+288b8b5f5e2ffa3879f381c44638b9a0949eb48f 6b2a861e4722a4b96a26d5deb8656bd564252163
+03f0efe176dc58a4f03c069053edd7a609b389a5 6b2a861e4722a4b96a26d5deb8656bd564252163
+09d74ccd34e858e26e2bfa75275ff40cf504eadc 6b2a861e4722a4b96a26d5deb8656bd564252163
+b914b06b9f47fbde4b71dc6bf49a3ad879fd6831 6b2a861e4722a4b96a26d5deb8656bd564252163
+9898b79a16d81e43540b535a35dcfa17ea2b6161 6b2a861e4722a4b96a26d5deb8656bd564252163
+3ce88a352a85040338f3819c61f74002a1d4fd4e 232f9678552946f44d4b752c899890e283629076
+319c5c4abfc046b8e5d8768b9bd171588f1e1915 232f9678552946f44d4b752c899890e283629076
+77798a4afdf68c1f883e118faa4f89dcad86d5b0 232f9678552946f44d4b752c899890e283629076
+03ad42f7b48b60bbff0089b312bf07cc8287055d 996f2cfbb0445bf25bafd557f1c6a4c97b50736e
+fbf83f4212aa8201d5a0297ec52ec8e6d7771e78 6308a0b81d1aebc8ca087bc75adbf7511f422f33
+cbef111e513acec77c6b709ed4eab937571040f7 75d95ac2826b37f9a3d34fea1ef7899fb2da3a95
+26838bebbe5d853f81f6bf6c8ffff22444023bfb 75d95ac2826b37f9a3d34fea1ef7899fb2da3a95
+6b7aa161bfdc8464b24774410d4680b8036aabcf 170b92eb4a273fff04d93decf95c9a621ee7de67
+922f8b10d0bcefeba4cd87ec280812110eff4402 170b92eb4a273fff04d93decf95c9a621ee7de67
+71f2122a43fab383c00af46684f767d46b0e5dee 170b92eb4a273fff04d93decf95c9a621ee7de67
+43be3b9670e2dd9187c227290c9f103cd7cd36df 170b92eb4a273fff04d93decf95c9a621ee7de67
+b3cbb8b51e1fe53c555fd24c39002e83db75828d 170b92eb4a273fff04d93decf95c9a621ee7de67
+0a8eb8ae75a6c6b8a767cfdd61560e764cb93f79 170b92eb4a273fff04d93decf95c9a621ee7de67
+8cecaaac93c622437460f0f9df80e6a1c146f763 935fc05cfa687c73f419bb676e249be6c3f60c74
+21f2da7763d4782a7014020b4b7bf07878bcbfa1 c5b9aaeaf96b24cc9611922c6ed886e1c87f354e
+6276beb068c04af3f68d32888661e8c75cb20a4b c5b9aaeaf96b24cc9611922c6ed886e1c87f354e
+53f43ff1dac8e688f1269f9bc946a36113033833 c5b9aaeaf96b24cc9611922c6ed886e1c87f354e
+2c9205a8ffe39a667a6b6bd89ae1a0d0b7795920 b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+3ed44d725a5df4413c892af9c9d6d740bcbae453 b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+ae952c8d19af95df441dbe55cb4483eae9ce2f93 b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+c6cb09cf7c49da007d68658401e172b189f0a3f9 b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+b2a15c03e9f81babeff0ff5324f5668f58681140 b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+3c9e89b73b342a0ab2ca3640e58a18bb8e3b476e b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+574e5e6064e0538e18c3dd4d010c3c6aa923dedf b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+d6865fc06872cea6e775401f59f0e7f90c1e701a b7d30a1165ef94f9c80e9b8ae01b595267d9696e
+c72e0742d2388bcc764b904c6c8b1dd88f04da4d e979ab77f8cd3c11e1a3a202b39f0e38adda5dad
+4281751170a8360cd44a751db3eb83c02bd89f11 e979ab77f8cd3c11e1a3a202b39f0e38adda5dad
+470fd593d0f0c53e4ac9c8c9b0a3042b47e3de2c e979ab77f8cd3c11e1a3a202b39f0e38adda5dad
+5001f9c328a2a6729ecd1c390f27b3d891c63084 da246b5bc61516f8f135f7535dd1b397b9b604d9
+ff71c0a366cdb00bc0f00143880b376ab812cab5 da246b5bc61516f8f135f7535dd1b397b9b604d9
+9fc04248be45d03b0898db5f04a53b99f7c83de6 da246b5bc61516f8f135f7535dd1b397b9b604d9
+d2a6e8c7a75a43ed06b120180b5769e595a948b7 da246b5bc61516f8f135f7535dd1b397b9b604d9
+9c448074ec0697afde059dfc93d62f15289d5040 da246b5bc61516f8f135f7535dd1b397b9b604d9
+70ef367e14cc0df14137e541540595bac38b25bf da246b5bc61516f8f135f7535dd1b397b9b604d9
+30c820495c470febceddff377035262926489120 da246b5bc61516f8f135f7535dd1b397b9b604d9
+bcddf216ed3c61a7ab0377217baa436911f57319 39c9eb721ac7b1ddaa122b167c7533eec38e8046
+e47ae58eaa3651f25eabb1a825b66e0c7161bfce 39c9eb721ac7b1ddaa122b167c7533eec38e8046
+345e01df54aa27a40b53bc3554488061a60dfb84 39c9eb721ac7b1ddaa122b167c7533eec38e8046
+9522d0252723ac73ad2bab6e33673a51aa5e1cc6 39c9eb721ac7b1ddaa122b167c7533eec38e8046
+2db8779e8556edc8143b871a1a109ef20532805c 59a61f2380e64c11e54deb3a0c8abb6e501066cd
+8b2667fa0d6ae91fc9e1a64c30e4a52c68ddf15d 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+4bed7649c4d285e0fdb05b6c75e18977eb5b8e40 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+aedf7ee4259834c6e053ba87f944cccbdb27e863 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+b791c65746bdc9129ab9c1a9d07ae3482ac434a3 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+7d83c9299d0d4091591f4560772903ecd747957c 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+bc460a6e95f46679d3b3aff66ee4495d02d35388 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+97ba99ac4a9ff8b96c05a71828779cb9816fbfe7 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+f036c727c9568c78ac0164366a8a0b1d2c1184f4 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+d55696a228b854d7e505dea0fbbc79ec8776518a 20a1bad4b1f3fc0143d8a5efbbf07b4dee5c72c8
+fb8d881db5512d33bf6a6f6bface746129d8bc71 5d03bd594dde3a26657b17137e7de6eaab7cef2c
+9c93dc4fb444361a560c29544e73dbe2e7095b08 5d03bd594dde3a26657b17137e7de6eaab7cef2c
+669d24b807f05439e151110a813bbb4e0fdffe58 6a1f7a34c63e328d2ddd673ba9f69b1c5c93bbc6
+1ee7d17566b438e74aada9f1c4b8863e78fd4b6a 6a1f7a34c63e328d2ddd673ba9f69b1c5c93bbc6
+c4cfa2da454d36cfb29abd27241f84b40e095d96 6a1f7a34c63e328d2ddd673ba9f69b1c5c93bbc6
+acbfe60943880043783c07f47071cddeb9a0f961 6a1f7a34c63e328d2ddd673ba9f69b1c5c93bbc6
+3000b62c0b6dc47d39743b7e16077551bf36f37c ea60bab5df3320eca4927f61e7fbb3111838c6f2
+2581bf2ef810f30da2802e5cf6a1d8a2273b37ed d1b9daa80154d139e03e1eea5ded6fa95d588f3f
+e7d405c657cce419fe35c5d4c4ee4dfafc88c09d d1b9daa80154d139e03e1eea5ded6fa95d588f3f
+997b7151a848630d57f4c692c4e8886d9daee0b3 03f02022386b3c7fc0223e0d954b8f58546ee103
+46a4a9ab2a743a3560305522c99ad00dae5c39f9 03f02022386b3c7fc0223e0d954b8f58546ee103
+febe74523656c5adf247536e46a26f8fac594b1d 03f02022386b3c7fc0223e0d954b8f58546ee103
+c63c1e69b9215387800d7ea897ebbdfa6f285364 03f02022386b3c7fc0223e0d954b8f58546ee103
+abb8a378ad434bf2dfde107b7dd8f3e335c25d84 a751b3ae351269c936e61a9bd202040c711e07c0
+7768e06bdc64864054357eb901f98c0553789c33 367c8db5b322efe1cfe3abc4e9c9c5f65e3d9f9f
+c28cff470928d6bd12305def020ba9fb9f1d4262 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+b46316263868f7c800f98aad329553331b1c7f5f 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+57c7c39bb9d7a0a93563c090f7b7cce6b2d8f4b8 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+292c2a31759bdf9ae90caa01ce0ae68772ab7ff8 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+e92e2262a087bf5fb8da50b98269eb7813832f0d 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+a2ec4922f809d389db9bc3ceddf9d9c78337542e 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+5487f4c9d3bceda374c6461a470adfdaeebb67da 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+facd5461a2d3f8a7c872abb35427fbd778b3fb2b 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+dcd4aa63e7523f9798fbc3402ae9409ca517ff93 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+23d768ca642264a32d2e06601ea93da8f1692ede 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+d6aaf8fa71f3d07437a8f67afc3a730424580df2 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+8d4bd65264d40c7da3f20753925511d6722a9217 5b2a9b171c7a60ac95f0d3bbbbecabb7fe846cea
+b2c5ca8acd6cd2f5ffa0b22124409e837b73410f e773bdd912c25581f1859cbe58d3c7dacc8955e4
+2b7a441cbab709b7581fa4e5b3646777a9b60db8 e773bdd912c25581f1859cbe58d3c7dacc8955e4
+7257a4a66523164049a3b29846686abece16cefd e773bdd912c25581f1859cbe58d3c7dacc8955e4
+10bfeb60419e307d88e5cac46b806d6c05d8a126 86f2be0f5b55e5f70d73f7c671480a31778cf22d
+af9ed9d34d5ad07eec78296e2750e38c43a7dbfa 86f2be0f5b55e5f70d73f7c671480a31778cf22d
+40d78caa16e8d13c86f41bee9ceb718d8287d7aa 86f2be0f5b55e5f70d73f7c671480a31778cf22d
+8a0efee963bbbd8bf58eb90e02db5c2528e097f8 86f2be0f5b55e5f70d73f7c671480a31778cf22d
+ec1efbbcb92f96bc3d891ec501d7052f230af142 b4566ac6b513378e03e75f7958622823a2dd1193
+adbfe735edbde7c619072e5b77ea08a53f9eb5e8 b4566ac6b513378e03e75f7958622823a2dd1193
+c41d608da6786d7c839e66391ed990372447461f b4566ac6b513378e03e75f7958622823a2dd1193
+2e631b79fab14917e6a350e8da440d84a03be3ba b4566ac6b513378e03e75f7958622823a2dd1193
+79b1281c97b4d9d44fa2bbe9de2d2be437889e2c b4566ac6b513378e03e75f7958622823a2dd1193
+4d6a852e5d3c35f21e88b02c25d78e3adfde5953 b4566ac6b513378e03e75f7958622823a2dd1193
+dd4dc3d8e4cbdaf5f524fc38f926651d5648e088 b4566ac6b513378e03e75f7958622823a2dd1193
+618ca396c539e6ded5ec1120928202fef6066755 b4566ac6b513378e03e75f7958622823a2dd1193
+22f1097c8ace53b9cc3cd056f47aa21965ed5d97 b4566ac6b513378e03e75f7958622823a2dd1193
+b4e5547344765912b0e42b0f2dd44f36ce905216 b4566ac6b513378e03e75f7958622823a2dd1193
+cf4975bcd0c8276003d7ca311a96a707b0becf81 b4566ac6b513378e03e75f7958622823a2dd1193
+35cb123ba292e93e79ae3f3e972cb42b871517d4 b4566ac6b513378e03e75f7958622823a2dd1193
+a7825c68a6b3ecacfba9004759a00f19c2b2b406 b4566ac6b513378e03e75f7958622823a2dd1193
+8f69806b806030349c40d0912a43aea8d5ca4530 b4566ac6b513378e03e75f7958622823a2dd1193
+52cc92cfec62946038f31a6940270fc0b8f59498 b4566ac6b513378e03e75f7958622823a2dd1193
+4dad556fabcce1932acf3715e88a649de6abd229 b4566ac6b513378e03e75f7958622823a2dd1193
+f082931eff43301e3d1621192963128540eaf585 7f2f39a709d965e52557ad39c18df4114f54abcc
+71b7fc15ee1d8d52d18054812c2b3287ebf62be1 7f2f39a709d965e52557ad39c18df4114f54abcc
+bf2faff70decf27bc47c11d226799b84f0dfd085 7f2f39a709d965e52557ad39c18df4114f54abcc
+87fdde92d49db89e484cb5acb9afed1a0d8e6834 06131e230c6d21803fa9e1d28348c5dbb392447a
+d9deea053e8377d5af8bec50487fab68f3125793 06131e230c6d21803fa9e1d28348c5dbb392447a
+ed74d9c936f8135c7044532c2a19d0e404e87422 06131e230c6d21803fa9e1d28348c5dbb392447a
+4f410e7df076ce63d042490c0b6e0cc4e7a2a378 c3f9bcbf88ab482e15afef9cb773f76423c746b3
+e6dde264828677c39e8ab6c1b002bd1eb1b7b229 4a137049f3ce8ba818c6fa553c9ac25e15278b47
+7c60b1a3f581c3ba78cb6ca2f393b98dee129e50 cc7abe831ead18a00e46e4d6b74644a7d1fb776d
+877eb3133bfb91842ee3ffe46cf83ae6f5c9a4c5 9a1becd2ce107135fcf5c27cc68af370dba52922
+0221bb4ae548e2fe57686aecd539bc2e037c8b43 9a1becd2ce107135fcf5c27cc68af370dba52922
+e1eeb0c5f9dee7fe8ff52582816d0e3d4f3e689b 677ab76e9e458188f4503724152b5a743f66caf1
+558984d4c31d951ed1c9a06289cfa28ece395bf7 7ed744dc9e03b21f905c161f531f08de9d4e76b6
+847ca59981cc8bcaad391f998217967b0b21b865 3081bfdcfc165005b796b8c7b9a1b2ca8c46df31
+6d794c99b7ae4baf01ab2cc7634f99bd74dee9e8 905aeee8fde41bbf75dd833d1c417341ab9a96c4
+4ed373fe4705ebdc5749d004e26e10bfab2b4773 905aeee8fde41bbf75dd833d1c417341ab9a96c4
+ee72763d410ce18111c50cef5f400b41d002e871 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+b2782ee6eb8908259099e4de2e408ddc925dbddb 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+fd4583b538714c571de636a10425c386b167cc83 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+2e896fa351a898df0ed857826cd5c3262aa49354 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+030c4dac835ad6aea032bb2c4b8d5c66703fb67a 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+dec556cc913f0e7a5af85797948ff7a25d7908ad 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+b31cf4c4cec8abc0687b93b3820fd095f040d0fe 41d7ee498cfb14a74c181e148ed0d15b0f96cc9f
+446d766ab82072727c09e4fab16302cb27189596 7d669e98e16884289abb158da636145d6f30233b
+42b92a1db3ce3736829103c4fedaaf5355c5af74 00eb3abb173356ebc589eaa21bf5522d6fb0ea78
+67b83b0dff5fe833bc4fc2f3f1abd84aaf7a2112 e5d2a10b135c9543cb4af3a28cc2eca1a747bca4
+6148f1a16ceabcc80c7d9b43200677b5b5fc7171 e5d2a10b135c9543cb4af3a28cc2eca1a747bca4
+9af9938a1c44b434e9ec84091d4b359279731d14 beadd2fafc42ef2b37eec2314149bbc7f289bd3c
+a01b201a0318377dd5b542a55353304a327a1664 b37b9b1f2d9f9cf553be67805c27f82ae15d0f63
+7beb333999aa7dd2e0f02ee8157eadc52040e3a9 689a8fb06278ecb88d82f6775d190473f8dcf9a1
+cc60e80cb4d139290535e42ece1051f55c7cb0cc 689a8fb06278ecb88d82f6775d190473f8dcf9a1
+ca764e4b4b17b83c6f1a68d7142fb27cd5309e8e 619ec276d330b174db28faf90165b57ec162355d
+39bd525ac3f019bfab9e0c9284a90b6c135859d1 58d4cf43031b80842803cca1f81d6ff72e8b9c9d
+762c3df3d4cf2679b66b237df8647197dccee657 cae824bf34eee2d20d36e389b56e170bde21d923
+749a51d012a930cc31e51bfcac2269753aa38e67 4cdbab1e1f733ccec345becd536179372f183190
+a61351e6a863a4f003db6af6b4d4ec2000d4ec48 45277801288acf95281a48ae6a694f7a6b28a882
+ff86813422a4de6d6ac45152e4f06679817a4d0d 45277801288acf95281a48ae6a694f7a6b28a882
+f11d5fa760a768669778e9aa5a04f17b8ee2e1f5 e3ca067ebf135c72750da6f1b199341c0928ba39
+c24e8da36c9ca3cafe7aa35f0574c58cbedae5c2 279b20b3ab27711429627d2d8742e49ddb3efaf4
+ac8d5aca6c066a99b458323192e13fab0a29c31f 1dc03bc99b482009fd4923b84d99548ec280d5e3
+0cc11766074b62d59fc40ebd14a4898b7efab2f8 94d7d6170ca19dd4a60868d624113cfe83cc8c19
+a1464730d38c31f87de4473d2cbc439b4f3612a0 94d7d6170ca19dd4a60868d624113cfe83cc8c19
+c27520bf3cae749921920ce9e6d4aa344c9831ab 94d7d6170ca19dd4a60868d624113cfe83cc8c19
+054edf36831c296ffce3809f7f738ad3a49998ad 94d7d6170ca19dd4a60868d624113cfe83cc8c19
+b62f56251750284dd7f2fef3849d9507d28d8842 a4a1f1636d6107b933b718ed6db01a1a4f0389f8
+e9697e09068c1fe88b568d73d8a79d3388a04718 e68aa54d2dc82aa744a5bee085d510dc4e3dcae0
+bae3e41d16b9c56e2970ccd36dfa2b5137e94346 cc12b6c33b151a89f4fb575030c5a77ebc49312a
+c38e9ec1fc8be6494779eff68bb27d7ea8ab0ac5 cc12b6c33b151a89f4fb575030c5a77ebc49312a
+8ddd18c1703c7f9121e1d3d97667a1b9ad516ed0 11e49d3380890a81755b73e4e17edca766d2c140
+8813b0dbad3d0950f55e81efd3c6493a7d2d9388 d5e30186dbdfd9720b572be1924f685a4c0dd150
+817e3a513e5a6fbda998bced1de117ed701bdd3a 9f10014dc0901908080c8cd124f09256ad8dc59a
+f24a41bd0eab9e1ec5c7ff13fbcc80bb3ed847fd 9f10014dc0901908080c8cd124f09256ad8dc59a
+ec5ecac0b3c62d023d9be8adc5c41a729e96fda1 2eec32caf2055882f8491cf8318a9c5df45b66c8
+d8c369a68cfd1cfb734af0862371671fe3944899 2eec32caf2055882f8491cf8318a9c5df45b66c8
+13430c1eeebedd60b4539bda26f9f4d6797b40dd 2eec32caf2055882f8491cf8318a9c5df45b66c8
+af3658207897c74e0063f57477af8d200d210fbe 2eec32caf2055882f8491cf8318a9c5df45b66c8
+db4bd39c16faa56018fe1e7fb349977951ad44a7 2eec32caf2055882f8491cf8318a9c5df45b66c8
+84afe575a01cec9699ce6b4c919424ca2eca18b0 70a396c37adfe7ad13429a776ec4a96c2e8c23fa
+52461034e47a031f541aff4b0650b506c0893d24 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+fc85add657795659d50270bef37878a25a256a92 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+04866c4c66d18841f0c3cb0258dff07ad0a111f6 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+0907150db7365a2ef627bd83b0b52b9f4b704d31 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+118814d17b073c814a360df3d8c175571ad49ff0 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+fc98fe7dec6f4bba0148e24afc3273fbf19cf2f4 3e647dacf0a18624169bf8f42bfb19ac2913bffd
+68f1d3a38605d902e91bd64a3a8539fdabda0fd4 6620856d8013d0eb970dc043b760843bd952bdc2
+13650fe6afa91631f10a4c8f2e70279a84b399c9 6620856d8013d0eb970dc043b760843bd952bdc2
+0c5a741cce689857ca36865d61226efeebafeeb5 6620856d8013d0eb970dc043b760843bd952bdc2
+17be466b45c4683ee5ff40d48eb0a43fed0d28cd 6620856d8013d0eb970dc043b760843bd952bdc2
+1fbde33b0f9264e434ebfa87e17b6217ab7b4b4f 6620856d8013d0eb970dc043b760843bd952bdc2
+2c9eb5ac22f0b0e2ac74a754524356c68c25d790 8c5cc942acffe316e51d9c816bdd42d88d497857
+be22002cb690f8c43bfb24ddc7a60228ea8a4ad4 8c5cc942acffe316e51d9c816bdd42d88d497857
+c356fff654139fc9988fe9afc1622cc70bf4644b 8c5cc942acffe316e51d9c816bdd42d88d497857
+3fcd39fae066bd888553f636c52f6872ce86d3ae 8c5cc942acffe316e51d9c816bdd42d88d497857
+5ded6fba1bc4ba14a5b7b6f44b21d59a1b76daea 8c5cc942acffe316e51d9c816bdd42d88d497857
+c469ddc138adc62a7599996cb3efc9cd6c627c67 9c77659f3b3376e9e082768b9337d1b1485e3ead
+dab3cdb39a9bab2610d5b2c83e7f65d63923641b 9c77659f3b3376e9e082768b9337d1b1485e3ead
+6d207e2b0c241cbd9c4d244cfa7ca6f542e08be7 8006ff1f4d0d744759aef30ce412a5940b963ad0
+eb92879a3df9415c1d766dd2e5132e8681f91164 8006ff1f4d0d744759aef30ce412a5940b963ad0
+f47383c032e658c18ecbda12a8bf7a77011cc652 d3fa5a1fa12d5a1327644bf939e7908cf9a68dec
+d1216907b8ce0fc2e86eb731115a834398df1aa3 d3fa5a1fa12d5a1327644bf939e7908cf9a68dec
+73c5e1736fa13beeb802995a36dd8d177411a648 d3fa5a1fa12d5a1327644bf939e7908cf9a68dec
+31ed58198160e9e44ece757dfbe6bbec2ee45951 cbd677c703813a591e0cf8661b739a18d1d0a721
+ee30c2481cb86bef080f437e004ad97dbd608cb1 cbd677c703813a591e0cf8661b739a18d1d0a721
+3f97afeac41771d332c0b186ca79504aa4c319eb ab2befef25d41ff81dd514ea7361296b788379f5
+7c490f8d8c819c71f7365d209c7cb37a23a5a4d9 569c28151b6856ddf4e02d2b8a80812e81f59e12
+67ad364ab5e99fcb5c0645121fcb50f32af7cafb 569c28151b6856ddf4e02d2b8a80812e81f59e12
+f7054356a07213567e1c8d41ed84d676efe1d94e 74f698d736a21b72e8d451b774e97883e6726505
+774b51aebefb3d92c54c895e4bb9ccf14ab56d6f c0f7476912496f8acb24edc5c265b88e2c794d2c
+fb08ad8ec94aac4edaacc3c38c67df4287fc5997 47b631955f9d5daf67726e6c6c003d16b3691edb
+03e8a20809064fd2649104428244a61020b75cd4 47b631955f9d5daf67726e6c6c003d16b3691edb
+980ed7d5a69eb21856c15d654a186e64788fb604 cdf8dcafd5ab76e8cf066e9aba9846433bc31e3e
+3796c1c2c1f1f0aae79a0bc0c9ab337c9c9d2d8e cdf8dcafd5ab76e8cf066e9aba9846433bc31e3e
+bd913b5cc068b7d4bb74c5e7facc698ba478d7b6 cfb5a6420b16968fc9940bfdd95fa8da535a970a
+9a6e37f98da5773ddf8326551a826897647b9f25 cfb5a6420b16968fc9940bfdd95fa8da535a970a
+1e4c5a6c2f76dc42bf48a5e76a06505b946d3ff5 cfb5a6420b16968fc9940bfdd95fa8da535a970a
+ac7188941240feeaf7886accfeb705b0495f582b 939be0fe050c60d94cc92ee165124a585ceae90e
+5e24ef1865510290eaa26f81bc2e951a27584b7d 02ee26cf77a7f7b9041579afd41496f7fc6c2a29
+2ab4fbb7768a324fa7de02996cf16b39652f8051 02ee26cf77a7f7b9041579afd41496f7fc6c2a29
+4e9104abfb9678316e6f30df8c539942ba5e67e7 4234cdb68eefdc517d4d2a5e79f1913b4dc37715
+d0ea0dba353ecc0a7c76ab03d201c27d9daa9e04 5d5e073f5457bc76295eb43a59ab879bd9492245
+8bf2ee3a38a11aaf7d20d63fd5728a198f6c9bd3 5d5e073f5457bc76295eb43a59ab879bd9492245
+55757f8cd2da4264f3d50ec7e06998ca0c5c12cb 5d5e073f5457bc76295eb43a59ab879bd9492245
+e1ee6c3bf0c15f5467a8344ed70b28d6909032f8 5d5e073f5457bc76295eb43a59ab879bd9492245
+e84302b4d0cb16c7b89753ec955666f04e0ea576 5d5e073f5457bc76295eb43a59ab879bd9492245
+f14e87732bb9b42f10a263e413910448db2a8616 5d5e073f5457bc76295eb43a59ab879bd9492245
+f89aefc493e41ea78317541934e9b0ba19c5e5d7 5d5e073f5457bc76295eb43a59ab879bd9492245
+d780c6354a534c485b21e0f63bf2e9b03eb508de 5d5e073f5457bc76295eb43a59ab879bd9492245
+e9c7e37e485e186426578a3e25b104aa356d14b6 5d5e073f5457bc76295eb43a59ab879bd9492245
+6e08d0fa5a19606dc61d03facff80ee20e670f3b 5d5e073f5457bc76295eb43a59ab879bd9492245
+d0cc134ce1f845ee8dc869972c44dec0718b58e8 5d5e073f5457bc76295eb43a59ab879bd9492245
+584910e2370ab23e12243f84d55deb45ae45c92b 5d5e073f5457bc76295eb43a59ab879bd9492245
+e205234a4cc291e645135f349a910a51e3828080 5d5e073f5457bc76295eb43a59ab879bd9492245
+db4adbc92b4cc8f704dac81c84b947089a31e60b 7ec997434e23430c427bd297527f891956947f42
+b48b1b6be6d55346516ceb294f29ee2e5333b258 7ec997434e23430c427bd297527f891956947f42
+5acc6e11a5948d921f13bec971a60e0b5e7625f9 7ec997434e23430c427bd297527f891956947f42
+393ce32ca24e73459395ef1de6ce8fd85ec1be80 7ec997434e23430c427bd297527f891956947f42
+c4aff9b48575ce34d898c256d3930a75a1363ff8 7ec997434e23430c427bd297527f891956947f42
+624955270316e472502dea76ffb5e88e7da8f5aa 7ec997434e23430c427bd297527f891956947f42
+b047414976e9cd354e13c9828ec37861c1c3f605 597eb08d170126a904f20246e1cc67ad4fe8a81c
+4022359a960df0fc83724babc75001e47ce0b05f 597eb08d170126a904f20246e1cc67ad4fe8a81c
+3caf387fdb1ee8142b838079754ed4b625ac97d5 597eb08d170126a904f20246e1cc67ad4fe8a81c
+bc95003b8cb7cfd7f379014ba56da8b720341688 597eb08d170126a904f20246e1cc67ad4fe8a81c
+0e9087b98ec876ff769ede6f11c250ae03875fff 872a5fa9b8542deaf8845197ddd73fb3530b3f0e
+383f4c72fc65c79adaa22144c863dce93e0f3d54 6e0e7905cf4da52321b71b56a82f2a2dfc12b514
+3ddb4c9088e1c2f8f1f2947c6ff5fee7a8b2cb54 369f1b1223813648bbec35e68612f592ed444d16
+dd401fc926ff50e1d6a33ef764fc71f2a13e3e1a 08a41036a06cc721b27c587d3004b7b62a0dc64d
+465fa7230834270a34d83908436c8e13937c0862 08a41036a06cc721b27c587d3004b7b62a0dc64d
+7423bc64aa59c97beeffbb9edae098859b87417f 08a41036a06cc721b27c587d3004b7b62a0dc64d
+e013d393e9b6500aa43dc29b8b3166aad924296d 08a41036a06cc721b27c587d3004b7b62a0dc64d
+6e7af55a163e174218f295076604b0d1661ce69e 08a41036a06cc721b27c587d3004b7b62a0dc64d
+d91b18d561ffc5c4437b6dc0ef554288c09705a4 08a41036a06cc721b27c587d3004b7b62a0dc64d
+d6dbb8c285b81039b00d33afdfd3152a5f98b6a1 08a41036a06cc721b27c587d3004b7b62a0dc64d
+1131daedd667cd8bb733d513cc4cd565e1091e9b 08a41036a06cc721b27c587d3004b7b62a0dc64d
+c624b60d789896327c975c3f9c816596cc6f745b 914f9e6ccdc9b5958b5634687d480e877915431d
+c1e7f3cd13796696e9e00af6c4cb87e7a19387d4 914f9e6ccdc9b5958b5634687d480e877915431d
+4f4c7afc995128ab05d9007b0a66f7d25fd7182e ddd8806ae0701abea93b4d474aed92b14e55c67b
+85fd77c508c1810a325287bd371e9079d2fe529a 68dfb80d7d852143ccd385c26cfcec8d58f457ef
+268c28365bffafe000ad8cda57a364eb7f1d34af 68dfb80d7d852143ccd385c26cfcec8d58f457ef
+fd7932926497f2c2a69d895e1f45af7701e0f164 85a11a7bb82d016287989248b7d7bf29f132e091
+94f42a3b28e1ae8144255ba85fd993c4bc0953d4 b7efc31aa71f071f1f0bd1a2f95b70c093710e1e
+53638b0e0ac0b5e3589431d87ef4d1be82431dae 5962fbc376a6e942cea8d8447d5f93f2e42c4c71
+c8896b32ee56c18a9d3dd6f0f90f6187d09fc6ec 5962fbc376a6e942cea8d8447d5f93f2e42c4c71
+a3ba181164fb3d9f9c5e11490a8afb76fa97eb54 5962fbc376a6e942cea8d8447d5f93f2e42c4c71
+6124720165698cd55aae20e51b308af56ff6659e 5962fbc376a6e942cea8d8447d5f93f2e42c4c71
+c3e4a920f44a734d20f13d67f73595feac1818c1 032dce2e5ab90057bda159a7984893c19d31cd76
+3f6553b202de0a62c21e21a529462f059201568b cb781f1487793931e448e8e41abaa726cba1d889
+f93b7bdcd9d600b12bb70671df20e52933e8f4ca cb781f1487793931e448e8e41abaa726cba1d889
+1b3e37e21257266cc0053ddfcc11b915881db0e0 cb781f1487793931e448e8e41abaa726cba1d889
+62fa92f7a8182690ee8596c1e442aca56e2d5f58 cb781f1487793931e448e8e41abaa726cba1d889
+0d360c52ab21126288efd735182b36e84f162896 cb781f1487793931e448e8e41abaa726cba1d889
+87e73f6630e60aa01fa416ee613b54c7ebbf07ec cb781f1487793931e448e8e41abaa726cba1d889
+6d91728c4668a0cffc9cc7cb027968aec0a1de59 cb781f1487793931e448e8e41abaa726cba1d889
+c669a3940b37c9c409f77e737d5c961853c11250 cb781f1487793931e448e8e41abaa726cba1d889
+d5086afdd174649c5192ab75a92b22455d1eb5a2 cb781f1487793931e448e8e41abaa726cba1d889
+3e5feeb6494c74653a549f6b11ae18a47dd7e2ff cb781f1487793931e448e8e41abaa726cba1d889
+a25592103ae0b10f27eb5b632c07bad2db2422e1 cb781f1487793931e448e8e41abaa726cba1d889
+1f6a640c5254e7281064699a25ed67f96affe803 9da39ce4b2fa4144855f3814837034bd4765d2bd
+e7e40118790e305a047d51ef74e9d4272aaee203 9da39ce4b2fa4144855f3814837034bd4765d2bd
+cf556f2bf7d0cac6ce2e6070e25d63f3ea849e7b b1a089fdb907f5a5cfdf0b7746efe99656b00184
+d23b3af9d54ceedcfba2b628e4ef77f7d40345b9 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+89f690e3917b21e704e4768167a2f0f6dfb3bd7e b1a089fdb907f5a5cfdf0b7746efe99656b00184
+29bb272465c8d34c3b0bd4153be1aac0d27170b0 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+cf048b00613011ca6cd1a0f01432ea84427a8403 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+5430a33ac5392d53f85aad603912f4e5379cfa37 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+54f4758306f59ce16010c2ef79199405612db33f b1a089fdb907f5a5cfdf0b7746efe99656b00184
+d20368276e73a3c9b6ebe1d78e5b915ac126f080 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+cca1439ea203a061c4f88b6a1a07f8e8dd716ff1 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+0a017cc3d0ddd345a3c69b6803d3fd6eee599502 b1a089fdb907f5a5cfdf0b7746efe99656b00184
+dbf31bd573a1bed3208a48dfa1b2fe1e831ec43a 0199e628c8b5e1a90700c003dc0082d7951355ac
+7516837c8a728affbdb8e66e7d03e6aa72ec228d 045596a2e2465e3c5f95adeab5266eaf86d640a7
+2d51c671672210fe9066214ea0713e99e9c51a23 2c0f0eaaf2c2a6b9afa618fa651b3d12dc31eb4d
+874c79bbe1b86a3bc3357fc06459a3358efc935b 2c0f0eaaf2c2a6b9afa618fa651b3d12dc31eb4d
+530842151f77d9ba2300ed5797ef82995c7af488 2c0f0eaaf2c2a6b9afa618fa651b3d12dc31eb4d
+fe4fdf78d2f1941c9460b65d3fd88a4ff86d23b0 2c0f0eaaf2c2a6b9afa618fa651b3d12dc31eb4d
+18eccfbf19f7d9eff26784518c0b9f482bc499cf cb6e1221603cdeddb04cd12e18d78eee3cdfd193
+e36a3da588987f02a21cbc6599a8560cc51f621e cb6e1221603cdeddb04cd12e18d78eee3cdfd193
+ec2cd82f1de98dcaec283f970da12e0a674f9ebf 23eafba0b933b924479b2663aeea16c467e2b80d
+a8533101250b8fc01b8cfa29f0bde7a0f5f54232 23eafba0b933b924479b2663aeea16c467e2b80d
+89315b65b13b1df53f2fe06cd6641c71bdf33311 23eafba0b933b924479b2663aeea16c467e2b80d
+7e937f0b7b677ab4432ff815d331665f29ca1d83 23eafba0b933b924479b2663aeea16c467e2b80d
+eabcaaf577e93a69ebdd0ec4e3be29c389387124 6b916d562e9db011bf80fc48e157303e05faee9b
+a27a3f2d80bcc4271d28763bc70fa0e61713d9b9 6b916d562e9db011bf80fc48e157303e05faee9b
+a40059931fc4581becb2775c6690d07f9c740e2b 6b916d562e9db011bf80fc48e157303e05faee9b
+e7d4aa18d595a1cc2247072c6162f30c8fa9facd 8ab0da37d938a0e9dba41a678d17361cea687c45
+6ef158e42e67cb5026759ce0e38324287e0a2d01 8ab0da37d938a0e9dba41a678d17361cea687c45
+85de87a79b9dbe0a5158e712c7163288aa71cc7e 8ab0da37d938a0e9dba41a678d17361cea687c45
+2ceb28bdccab726bb2aaf78d831f860dc486dcd9 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+4946cca5469048f53a3c3eb59e582da6d344da07 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+80827b91d3297b7972915cbb8aa47cc39ac340c2 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+7f5dc2e5314afc93c35cc0640c0f763cdb2a4f37 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+d2bd609636aa3fad9c1af3cc0f1e12c5d3753785 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+7460bf05f8ed543ccc0a8920b1d9b2c6f8863514 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+2d2590e972d7937a93a5ed9dfc48e59c5718c646 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+62d8b7076f58435e61eb4a7596abe0d8ad46ad15 f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+ab041c302a8fa77ba044598460e9c040af2f289c f7d8f5108e284bbd1b5630a0b571159fa3cd844b
+8664b28330f7e5ee8c41feff3f4ec22498be4d88 6bff423426133e32a3839151560594f1fad0b797
+56568e067517f25fe3b3ad4d48acbd50957d64c2 cfc8d8487c8375c32a5b8be637ea3828ada96faa
+b0ed29d7841ec77851513c551207c2dace110660 cfc8d8487c8375c32a5b8be637ea3828ada96faa
+25d3bae68408a717374ad8450c6dd9ab46b71a14 3662b848dc78165836c7223631200bf5eb52d57f
+61e5bf9dca53e799675c622eb79c1ecebc7dd191 336542bedf706328bd58a14995c50de58cda7b89
+ddcbb68122aa995ef66b63df9a8761a210ff616d 336542bedf706328bd58a14995c50de58cda7b89
+39bcc733689ed2ab0cada59471a5444ddf1ea841 336542bedf706328bd58a14995c50de58cda7b89
+d24ad5316823bf96b61e28704d527830e17f5153 336542bedf706328bd58a14995c50de58cda7b89
+bd94010b289b207d4b663ca3cf0ef5fd3df0a8df 336542bedf706328bd58a14995c50de58cda7b89
+3caf63a9cb4e77ef93554da3e0a27e5082d0ddbd 336542bedf706328bd58a14995c50de58cda7b89
+319c3de8ecf1468c5cfa46860df4683dba3fc102 336542bedf706328bd58a14995c50de58cda7b89
+186a2d98b19f35c9beb0bc7c9b5891e08474b156 7fb522feb85637b06941ea1b21573847130f96dc
+173e54b27a881504eda82b683d19b31063d0aa42 44403a8e79a0d0d25485f656d26466b32dbc04e0
+b7d576151c56eca0572a7714b0835fbdd807ae32 e23aef25a2691c2ec5334ea14a4d9f8649e64be7
+074df2c3e8d33d67ffde68e0b4185b4846771348 e23aef25a2691c2ec5334ea14a4d9f8649e64be7
+b180846fe1d5ab9efe0afe36c5a2e1aa68fc53d9 8754b7970c486f4f68b7a41ec97d2bfcad2bc71a
+30d549bd277bc51f214f64e45318a909efdf8e0b 8754b7970c486f4f68b7a41ec97d2bfcad2bc71a
+09e319dd121497267c60c5f706ce912075d305f6 8754b7970c486f4f68b7a41ec97d2bfcad2bc71a
+7dbc93de6d0e75826f7c11bedebd25e85f1a6bd9 8754b7970c486f4f68b7a41ec97d2bfcad2bc71a
+76279dc779a8cc9776ac3dd9d84936ebe02825ab d5371039a705e822e0619074f189873a24a15f21
+fa52718494f19823d4bc0247046ddc6581813d40 d5371039a705e822e0619074f189873a24a15f21
+82bb7e2674118ab0b255e5914ce2ef5e7bf85e05 d5371039a705e822e0619074f189873a24a15f21
+29c6d6669bbe4093b561d072bb42aba51466e60d d5371039a705e822e0619074f189873a24a15f21
+c531efb6431154d2c98f1c836347f321309213a6 d5371039a705e822e0619074f189873a24a15f21
+bb475adc981d8abb40fe360a776dbb863e83f587 d5371039a705e822e0619074f189873a24a15f21
+735f9cdb2343f60d44945d431c0619b0de09ee80 d5371039a705e822e0619074f189873a24a15f21
+ee59b74dc8ac73d89b85f8d33537c601c279be5a d5371039a705e822e0619074f189873a24a15f21
+f342926dd943ecb9d9f53ada9369e1953103e9e7 fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+7cb62ab9aae1b47a75a364136c88c274e056a04c fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+d5e5ab93995921d652d91aec022667a221077719 fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+e29a53e72bf2e5930b3903f6cfef08a3ba846189 fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+c77f72b7b58abfe2202eb52012249c70e324cf82 fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+bc2c1696ff08f61e67d313e5efefbc63778b5258 fb3b09000c5e1b1a084cfbcc63a40584c79683c9
+7ab62078b47bc0da4da132ce8bb273562036ad15 f07bdbfaec112e9998ad15463b4ab1b726096f55
+7927a3f75838ab4e7be20f43e809a70f0d64f57b f07bdbfaec112e9998ad15463b4ab1b726096f55
+0fcd886c0a531dc0439c9dcb7fb057b3fdb38a95 fc9c27075e81014d413422dee921b4312cece882
+a294cfd01df58c08765878bed2c4edd145fce93b 1ba8fa0e59783e7209313750373abc84c82df4b6
+8fd6fe1d3fa25c7e6beef77c2a11cb9637e1775f 17041a5f02e4104f7499916dc1f1053774725672
+8ec207911826583f3115d16e510a80a048c77b74 17041a5f02e4104f7499916dc1f1053774725672
+891a6068830dc4f57059b81252d82c58fcf5f39f 17041a5f02e4104f7499916dc1f1053774725672
+5ab0f82ffc3921870bf25ce4ec0b1c6eafe3ded8 17041a5f02e4104f7499916dc1f1053774725672
+04af57234225ff79248203bfe7f748400f094031 a70fcaedce66a8e224e4de1a37be6fe3bb3416ae
+ae7cd51e863169115cabdaa86136e8cd80f466b3 a70fcaedce66a8e224e4de1a37be6fe3bb3416ae
+6ce500912a0f9ec50552d80847f279ec16b5159b a70fcaedce66a8e224e4de1a37be6fe3bb3416ae
+ac43fe35bc0196b757be99b8370aadadf61df431 a70fcaedce66a8e224e4de1a37be6fe3bb3416ae
+7c90edee33da328f128965b59266ed9cf82ce244 a70fcaedce66a8e224e4de1a37be6fe3bb3416ae
+22c9cdf88606bf8e4b179e99ced476d6cab9ff98 7a203191f25bd82957f1a3327352740a6c130b0c
+1ec0377716a767f8550f8a29ba1ca0693e397ac6 89ec93f9b037f9c1a1b530397d3e7ee2392a8602
+fc29e07d8b77d1768db7a2155724478d167692cd dc8499f61401c7a3d5580c9d148c0a0aebbe7bf9
+76f49e1f9f17cba453d30cc44d4221ee18c07eb6 13fb6f101a7dcbb30b21f01a5ed2608fafd16a4b
+bc77b771a54ad4bd99306a4f5c6b7334f67d6768 07d79f2ba89e38503ba5746295a9b5ce151039d0
+ba096bb3d59d5d984a611c409bae6d46199b1359 07d79f2ba89e38503ba5746295a9b5ce151039d0
+074624e4ba2fc2c082ae4fd9aef47b8f58f360d3 491295527a321bde62f9b81eac6f9c6a6b19c947
+f016e4aef81281e19d37a39724ca33a737eeb3c1 7b67d7a349329b2b3b48e3e56b59a742f3f6766c
+88d5b689cbb1ee9a68bb51889813dc7997b3960e 7b67d7a349329b2b3b48e3e56b59a742f3f6766c
+dfdb2069ac77a10b4eaa9e1d55ef08db9535ce7a 7376566006df97c1c4a48197a468025eb8f23f9f
+35b61f8eaaa02213d500084010da675c307d7581 7376566006df97c1c4a48197a468025eb8f23f9f
+0252b2c3c0255e6e967c4d22229e67eec73b8763 7376566006df97c1c4a48197a468025eb8f23f9f
+af3f6e23a042b284118faa13b5e1054859ec5700 7376566006df97c1c4a48197a468025eb8f23f9f
+f5dddbfc1a9143bb3fee80cb451b7a29951d2b40 7376566006df97c1c4a48197a468025eb8f23f9f
+3a85e1a804254c2fb2aa0970c2b77996bc216183 8d998fc06ac5964c8f3744d2a367b0d4fb0fe196
+d2c981fa46b82c917bfaeb913388dbd1a22054ee 8d998fc06ac5964c8f3744d2a367b0d4fb0fe196
+76778e4f754ea6df43b4e31e6fefec93b4f39714 8d998fc06ac5964c8f3744d2a367b0d4fb0fe196
+ced8fb34341375ae430b71a9d77ffd14de89433b 8d998fc06ac5964c8f3744d2a367b0d4fb0fe196
+826bcd2645b63d4b176c52979af876c95de3d1d3 014b1ecd9971579754e108ca59df9893f5285da7
+6522f334cb078094e46bb18bb59b3dbeea0fe922 014b1ecd9971579754e108ca59df9893f5285da7
+8fd77d1780a983089317b202326132d1665505e2 014b1ecd9971579754e108ca59df9893f5285da7
+977a5f44e5f1e17854b5347b299fa59c476f2892 014b1ecd9971579754e108ca59df9893f5285da7
+5630a07d4c63880ad5d11af7b4bbb7fa6971bdc4 014b1ecd9971579754e108ca59df9893f5285da7
+01b3f87e540b8e98186c102d6db9de1cdad18669 bbadd053e5b2e13e7498f070c72ca0471e49bf0c
+f22040682eb898a8d01ce470564499bd7e79a5b5 81f8e81c238fb7eaf881ffbf8acb57bb95dec3e9
+0c90a97425d0cdb85e44c8c7ee15d2886cbc33ed 81f8e81c238fb7eaf881ffbf8acb57bb95dec3e9
+4f8af5dc866549f3582869863538dd851397d264 81f8e81c238fb7eaf881ffbf8acb57bb95dec3e9
+eacdab82a2993898ceba699ed1f633415ae99dca 7308ac030117f42c35f35eefaeb2c94e95c5c65e
+d3148c88aef1b656f37ffc4bccfdcaaee77e0446 7308ac030117f42c35f35eefaeb2c94e95c5c65e
+96348cb0e255207348f74ac30038df8b6349e131 7308ac030117f42c35f35eefaeb2c94e95c5c65e
+e6aa48b0297a46594a2a35cd9bc9dd1fc58481a7 2b1016cf4e2c27b3e17bced755e6cf4ce569e99d
+5c38f3282b7c4cdfe28c74e87afe96c87fec405c 70c26646d3b703824d690693dbd9f7ab2fe51618
+273e751b3e1f91b9a104750c262b65de159c099d 644348b1e85aa84ba7864122374353189baf5735
+cdbc5a60a4af44988ed1fc0f100367f7d960084a 6238d7400a4f456e24603ba79eef21686b56d158
+335f7ff1b90374e1596a9e85e3f8391474af0b0c 6238d7400a4f456e24603ba79eef21686b56d158
+214c171eced225768069c32a0dfab287e3006686 31faab091b05938b0e0f9ff5a4b991bf421619ff
+4b5b048acb4fab28101296c696e91a8eeba7ab11 6ebed0b7767a0d0292fd72b769f32ad4a2991aaa
+ee63f75369ca4cf678ae3a45a8e41ffa660f905b a5a11852afa509b77bc0fad113ceccb86b111acb
+a10980b78120b76dde42f0e8e686aff124c6781e ec8e0b330acda44ef843b11ec5347c7e5a8f9526
+311934acf2e8a3088913b3aa23d1e9d55c7af053 779541328d690f4d611dae02d2a4016e250aca6a
+49f5d0b9d0dc3fe37e995d426e37054c88c23d74 830410166658cb077ed10a0c3f38efd1a22a9273
+8762bd2801a09513f4056af9463fceaf352f5446 4a53cf4f40f7e1aa683484be8905edb4c0f9a86c
+efe692a0381636c3024825e21aa6a715707e2aed 93397887cf23057c7e558d728820927d24e55d56
+f6327aa4ed7f15e9212bfb4ecc0403daede1338d 0ede0e4961893bbb49c683ea9d3479cd860bafe2
+0f8901d7740736beae6228b34775b81461c7d653 cc5215cb0381c16053c08179cfc379de80bb4628
+808eed3a7dcada42c50fd70f57d26e1ecb004468 cc5215cb0381c16053c08179cfc379de80bb4628
+977e5d268e88e70370a966267f448f666c2eb81b 4dbd1b9cacbe1029d5a025cb53196b42c1056412
+ed00a973f17db8b69adf4c9da27879419d846a92 042efe654ce442b33dc842372ac01d9ce917f18b
+640a434f665d6641161446af8463fd7f3ff57b1a bfa37f1589b4adee568260e706d3198d7144dfb0
+9e1159b6ad33be66e492d24d5df0a9039d211f51 bfa37f1589b4adee568260e706d3198d7144dfb0
+cbbcbaac0f1c61d4bc96ca156ba501a35ff40ba0 d78ad4c71451a999fa7eb3f79bb416f9d420507c
+994e3653bcf26f14594f7981fdcd00a1e875482b d78ad4c71451a999fa7eb3f79bb416f9d420507c
+d2cddc8afb490ad28ef79d7443a11e56e88718b8 8562b5686216b05c5092d43e6981529030887b37
+bfafe84b100823cc0fcf138006109c5b490a5aa0 8562b5686216b05c5092d43e6981529030887b37
+e34344517e3d60920bec45eaced0b12f17ab0381 8562b5686216b05c5092d43e6981529030887b37
+b260bb7b7ca6583925e086fcb14865517d3c16c0 e373ac9b4dfc8ca56e21e3f8bd1a78af182a481d
+fa4b185ee4e82e30ca96b5ff2d1b7bacd23a022f e373ac9b4dfc8ca56e21e3f8bd1a78af182a481d
+ff24705c635aeeefa36d21867a01687f4885bf0a e373ac9b4dfc8ca56e21e3f8bd1a78af182a481d
+3a68ad74354087620f90b0df7f9c7809e72f6066 c0d2da456a1c313a7e6973d8cded9dbc389b19a8
+a261d7b4058c1ebb2872e95705467712ff84884f 75c7013cfc05589834f95f1352486e7391a9ca10
+b3ff1e3347426c037131801d9b6bfd00aba34b23 9c9d59495d268fcddf175b629b822cb3d80d7c9e
+e5180f41473ff747b23e3da9a89d5c8d5caa188c 9c9d59495d268fcddf175b629b822cb3d80d7c9e
+5c0565498178dcf27e95e569e2c4c234f62e38ee 8ac60f9a3febbccfbb4e1e0037af855793bbfa40
+e60a7db10b9d55f8406230742f7393175054eead 8ac60f9a3febbccfbb4e1e0037af855793bbfa40
+9ef794bdf3bfc1f784524ed88503294a942ad85a 8ac60f9a3febbccfbb4e1e0037af855793bbfa40
+16b8364c56b4cb305f11b1e4c70649180e2c790f 8ac60f9a3febbccfbb4e1e0037af855793bbfa40
+63f1d3ae8b81cccb124cbc3863348bc37c72d51c 8ac60f9a3febbccfbb4e1e0037af855793bbfa40
+f9d415bb207c0bd753110c6942a8c43ababdc262 b0315a7678825af071c93609e0bb34fcdd95a9ed
+599545d8cd47a8c20bca7e42fb6c5418e3f8644a b0315a7678825af071c93609e0bb34fcdd95a9ed
+ab6054d5922d71ad925694f99dc6ca54d830f2de 2469d7ce6f02e1ceba5ef4000f66de0b4ea297c3
+b5b0dc20b3c1b76f5cbd1b54a53d53c1d15d0268 348c235752a8735aa4465850604a06f74d00fc3a
+7a41d83808a7ba0c8e3cc23a30579f4f63e52594 080b034b1926f2b9f828780643f853bf3409561d
+86d0fb7b2528c75e5f2dad8bda15db644249089f 080b034b1926f2b9f828780643f853bf3409561d
+8e3dcd4c7b6cb621507fdd7b3d6183b0412b9c73 61ac06107014206e601eb01245a8ceb4f2148776
+6dffec2153f137f829688cb6672a88a55fa48fb9 4bd4dd3fba0f430d15865d10824f18298942b502
+aafe6ae7338a3026c5fac49b81d0359209a6971e 86fb352a58b88cf466c7450c3598819059241321
+8371564a6b6030113e90d2774dd570858258ef5e fb0549918536b9db962e0697aec2ff4b8a7a5294
+688837a72c8565a0f5707abcc0f7e82a4d8e6210 532cde99636499e8007b45f716948a633567a2f1
+ae80d044a10d3b1eea6b133ff1f53020adb44c81 2053a02a46fdaec5f93d6fe09de5dc2bd65ce0ff
+d217456ca8fa6c2600284487fccd0ebaedfb98ff 41b278b3e5f3f8bc5544907efa6143aeda6c9723
+6709a164314724530f91cdb06f4ad7c12272716d f875d087e517f45976319a7417c14b75e714e8d2
+1d734965ac11fc2aaa0471be231345a8ff40df3d 83820a5a3899a3e9ab1ec6cb62b1f286be75a652
+ae5c6975e3d89033199d744b85ecb28349217da6 83820a5a3899a3e9ab1ec6cb62b1f286be75a652
+8c30a2fc0cc5326824c672631b594e1425473d85 83820a5a3899a3e9ab1ec6cb62b1f286be75a652
+a11c4adeebab9df95013b6c3d23cca911cd19948 83820a5a3899a3e9ab1ec6cb62b1f286be75a652
+0fa93103b39a57a519b83c7dbe1f3fcef0c26a86 40bb7a79776ee5d24230b0438580f2de501b33cf
+5b06211ff354bc718f753d919da06efcaa641082 40bb7a79776ee5d24230b0438580f2de501b33cf
+5b2a62027dd74d711e9b401e5ee0f155c92e2b5e 40bb7a79776ee5d24230b0438580f2de501b33cf
+993a853c5b57b497a1f1262fa2cb5d72940b4fe0 e26085a82593e48e3fb7b656539c8a8d4e864836
+19fbaa027ded9607ed95ffdac3259bea3c90a909 e26085a82593e48e3fb7b656539c8a8d4e864836
+06ed6202aa2036149f5dbd7231a5e40e50411ebd e26085a82593e48e3fb7b656539c8a8d4e864836
+4a71673b81f3b788f35517395321a94022890956 5a6f413a34409f3058b4508a0e96b7ff8e7aed58
+a875ea6a83e210983679bb5e3f12bcc1b36954d7 4848f60800901b554ec04757e91cf21dd6f22f56
+aed04722e4514eae2a7f139e65b4a8fe27f24ca9 a22147f4b07911a3f77271b5f4a2055e295e7ae8
+fa29606843a868ba52f80973b071f5ec64a096f6 a22147f4b07911a3f77271b5f4a2055e295e7ae8
+036e72b52034267c901b6593dc01b5bc7b189a1d a22147f4b07911a3f77271b5f4a2055e295e7ae8
+2727ed86486e45a3e0c4f249a386fe103f2c2752 a22147f4b07911a3f77271b5f4a2055e295e7ae8
+a09c3c9ab1bb46599ffd3b65f72a9c0c62982b48 9b8fd51e04122e079a2ccb771e7c259ba908989b
+9663936ef4635ea35c53465227fc0cbda773a203 c435aee3d2f33db53bf9ad5d710ea509eab41208
+7bb8afcc4d2db74927186f56fe1e6f4644d4d60d c435aee3d2f33db53bf9ad5d710ea509eab41208
+a1cdd88990967421225e1b0de0c8eb78e373d735 c435aee3d2f33db53bf9ad5d710ea509eab41208
+8fc58a3f809a94d6c222d9fd21fbbbdb7de54bb9 c435aee3d2f33db53bf9ad5d710ea509eab41208
+bfb200fadb174e0cf85dda08bd9e8eb5663bc264 c435aee3d2f33db53bf9ad5d710ea509eab41208
+641685b811662ded78fa2db0df86f71890ff6a27 c435aee3d2f33db53bf9ad5d710ea509eab41208
+6b3b7388a76ee488318afc22eba7edec38f18203 c435aee3d2f33db53bf9ad5d710ea509eab41208
+e79e112f0f94d5503b8399462fdc1359579a205c c435aee3d2f33db53bf9ad5d710ea509eab41208
+ce7281dfeffd34c45014e577385c244aefbc05f4 c435aee3d2f33db53bf9ad5d710ea509eab41208
+a3c8f4249df9683834b401d2a65c32b18820591b c435aee3d2f33db53bf9ad5d710ea509eab41208
+e5fff00ddc8df579849fa3999af4a7363893dea4 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+afbfa27e8c0a32f685b50420ebeb865315ab03b6 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+db49d3c0d631f7049bfc96026823d0a344ba7b3e 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+3c7f0797fa121026373e2ed6a4b36afe83219922 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+3ca8fd20e6683dd33483db94a78f1b6d1dc25799 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+ce1176f0bb57157a7d91b0c8b1c801f666977082 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+73ddae5e6c4ccdc57bf0237cff9ed3b091eeea68 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+51e42575d1c0e4d5d8909f1a9f555eff1bdd2ebf 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+e98cdacc06f375f7710a4551a396bd661d2bdc17 445b9b487d0b0aa1a1f37dc8a4724aa34f7926f5
+b322c19d9759f99f38f48d00dd1894e17367a55e e6d6be236eb83c9664345e9f852987e2e523aed0
+22bc2702c5b04cb1e22278db801f15fc25e3b7ea 45e64328599f4ee3311ac6e6838db968ee563c10
+647c9794f7a6b49e49933a9664aab0c2d0842d65 94fb4ae23e5866a1c55cc8bf497724c252701270
+003623b4d5a9b7a947efc750f1c9378e13b77842 82ddb3dd8cf5b9a5915c5ec42888c281c6c01356
+e6437ab60f0a176e4c5e08045366d1fbc6de5e38 5c9e37dbe5f96506b109d7b31758a2ae754817ae
+828e208ad48f2fdd5e7cbe0b779f22cb1342be02 5c9e37dbe5f96506b109d7b31758a2ae754817ae
+8f238c7325e9208e8170f0fb406452e268f43980 5c9e37dbe5f96506b109d7b31758a2ae754817ae
+aaf9c213cff9d21ea910f1cb1058db9876b05b10 cc05802c6fd386f376666f990192dea36cc4fc1b
+0433616ca38d44c3ccb590250c92c510cd9bb7e0 cc05802c6fd386f376666f990192dea36cc4fc1b
+17fe457c20511dd0d425bd4871149640de0df610 33358a338faaccb23b670040fed66ff95e8b540d
+a447400cb0eb95e44f9578932c52a8a2ecefa8cf 57d772d74f6c655cb7571e9d33302c18ea97fcb3
+a2ab70c8b3d8c0feba5a92424e207ae1eac222e5 57d772d74f6c655cb7571e9d33302c18ea97fcb3
+6e2fd37e4fef83250e5e48cd6c9b0b731c9f4c2d 47aa0b700d685bd9713c297153ac4852f8830119
+7354602b2e28bfcb4cd16366356257b4c18fc22f 47aa0b700d685bd9713c297153ac4852f8830119
+b70535a943f37f5f5177dade3e2ac5ebdb85342c 47aa0b700d685bd9713c297153ac4852f8830119
+0d336facaba3e19f881d3a67eb797fc0acfbed09 47aa0b700d685bd9713c297153ac4852f8830119
+1f26a0836800c00a5148d7ebe4d78a036f920cb4 47aa0b700d685bd9713c297153ac4852f8830119
+8550540694d05c7df084d6ceddcd3f7e0ea05dba 47aa0b700d685bd9713c297153ac4852f8830119
+430b2a8161b4b6bb9ed1408bc2e2707ea038da6e 47aa0b700d685bd9713c297153ac4852f8830119
+10051fd0bb1c1070e625c34f9ffe984fbc82be9e 47aa0b700d685bd9713c297153ac4852f8830119
+2994481db76a727c3e84ec161643db9da8a95e89 47aa0b700d685bd9713c297153ac4852f8830119
+b6bc104489fd869cddf941570b0e976db63ece92 47aa0b700d685bd9713c297153ac4852f8830119
+e858110694069e2b267f06b0ffa7d0332f16a41b 47aa0b700d685bd9713c297153ac4852f8830119
+318eb3e776ce610c304970f8c8b258114fad8c5a 47aa0b700d685bd9713c297153ac4852f8830119
+9f5399119f903033b3e7d81852001719dd494e85 47aa0b700d685bd9713c297153ac4852f8830119
+c12f178cca64fdeb4b462acef389046a81bd806f 47aa0b700d685bd9713c297153ac4852f8830119
+300e8402ed7637fe6b80e7afcbf14376d57b3c73 47aa0b700d685bd9713c297153ac4852f8830119
+7b75381be310fd4625fcc504d4867e3333d5d723 47aa0b700d685bd9713c297153ac4852f8830119
+83f75ff8a5592fc58346d965a6afdbb147a5d409 47aa0b700d685bd9713c297153ac4852f8830119
+5688c4f7a2fcdfc88219363d6649e151ad595598 47aa0b700d685bd9713c297153ac4852f8830119
+536299bfc2457196ad6d51fc956e33b0e22a4cd3 0e1178d3275f1718099e64f6c1cb56bcd436079c
+417e1065f353d204151f3fe2670c50143e79f0d8 a713d3a2a98f1c9de46770e0e126259994580b3a
+f0c0beb8dc062bd3439f0697a506e8eecd84af14 4fb3f449f1f333a5b599dc34c72732a918f197ca
+abab422bbc4405e5afdcb7be7a7a129f620e2c02 4fb3f449f1f333a5b599dc34c72732a918f197ca
+1488094df154aca8064a12ffd3f358ed61752d85 1dbfedfc4f8c1daeded44235ff4eff6d9b823212
+1f4d9f935ba3c2148316253cb3998cdfabb87eb8 b1e8fc9ab2f28a3066a2f55ec1a6d9015b8da1e0
+d45423b1f8496a86b695d73fbd4417779c0e27e2 b1e8fc9ab2f28a3066a2f55ec1a6d9015b8da1e0
+9ac7d159bb2de3a82a4a67424368d221aaebc97b b1e8fc9ab2f28a3066a2f55ec1a6d9015b8da1e0
+f523190d0c68e4927fbe469e3930531759454f3c 9971f32975ba689e756772d2138cefdd93c7da43
+cf34777208b338b246b62ef5547f4c181ea46f2a 3039fa6357386bd246bc268bb0a30a2baf8f4f07
+5d5342bacb76402c57bc41b079764ea8d988cb32 3039fa6357386bd246bc268bb0a30a2baf8f4f07
+295c5596174c7f4c159d5da4b7dc3f1739c69386 514e4e74359529674a9a6f9c998f02599459d752
+18304fbe0bac968aec229c3fd35b39cc120d1302 da77240500d5a6ea75bc314dc1b4f279bcfb9644
+1c9ec5415ec36c9fb12e369ab01f08c6a240cacb da77240500d5a6ea75bc314dc1b4f279bcfb9644
+7b49856049c3ea288515a07052f1d93d64747636 7e48b25f73745bd0f5d4df3483ad4f14d825cca3
+dea29618820d5a58c16d7bf616dad2106bea622e 7e48b25f73745bd0f5d4df3483ad4f14d825cca3
+2d62655c4bbac69dd30a61be138321ca63ca09e1 7e48b25f73745bd0f5d4df3483ad4f14d825cca3
+a01ca41c3671d04ea5f2407101dadfd2ed1722e3 ad33a2749d5cba29bdf4f038a241369c250a7261
+52e921f1335715705c7a909c129b4eed1ec6fa6c 66b4da9f12182af6bb2018c1602d7a5634644e21
+8417dc5094db8f3b082d4ff5362069e5c4cbfe6b 7b855cca7c6be3baa4c057b106e4373ee97694b5
+e5d5e708b8b44776375e60e4f0ac5750dafbd621 7b855cca7c6be3baa4c057b106e4373ee97694b5
+df3c6b7f8d183fa891f4591adffbfebc52595e2d e98c91117f7e1988c56337749ecd200842e867a1
+76e4901b84dd0e332e48ad33fe06a5057440f4e0 982dca5252a1883b17b31ed39b4a0edd0b3e753b
+1cfd012f694db25519b6f5070594a01e37c30689 f2666006bcc1003b9cc3f6d3e09233658be7268a
+45e9e39ddc1749f6d3c95a9a43fe6b30d7188888 c50f8ddfd99fe50077403cf022bac0e14f91f1be
+ee6afebe18f160d7b4d5f0b30c8b23ac2267e2a4 496a88d9f10b5ec8e74195f6080dd5b678a31d78
+742f7a97faef7c426626bb39cbafe0f70cafa677 496a88d9f10b5ec8e74195f6080dd5b678a31d78
+1917b1110dc038dae17c87ad7458ebcdfab4ccb1 496a88d9f10b5ec8e74195f6080dd5b678a31d78
+561ddd51845829bdc78549409bccf87d12da06d9 6bc37984bc302e22482ce96e52c4328277ef9ec3
+fa933773aa874b70887716d718a49a0aac0fdd36 6bc37984bc302e22482ce96e52c4328277ef9ec3
+f092ab1bdbe41506c45107d3b1ab9c602530a8ca 9909d35f24b5994bf9ce36c09ecd0c6009289365
+7e8c87c09bd0f6ec6d5aa0df6f9c9d1cc24de003 9909d35f24b5994bf9ce36c09ecd0c6009289365
+537f2861468b9c01136c7fd9ad91a0b656304b3d 9909d35f24b5994bf9ce36c09ecd0c6009289365
+c620955461976da1177f2593d5e03c62268650f3 9909d35f24b5994bf9ce36c09ecd0c6009289365
+e1c0b1908c7c0c58c14c658fa5b8b28ed677f5a4 c6fa04696088aa8aeb45a07dbe0583e47c003c6c
+c9a06fdc309b2f642bf836c56e8e93bb594198cd c6fa04696088aa8aeb45a07dbe0583e47c003c6c
+3c2add76e3f8c0219e81b7cbec8d3b7b6761e096 c6fa04696088aa8aeb45a07dbe0583e47c003c6c
+f7be2d9c77bb72f40a7f9ffe43c1ff03934617a3 84382d7802a903807f67b400f8019676b3a8e68e
+d9f25e4d6cf05f2100e5189f80eab1bedffa5c87 84382d7802a903807f67b400f8019676b3a8e68e
+86c8c90034214a2a609220130840e899708ae143 3cb10f647c92d863b55a1de94f1c59c7067a982e
+8d05988f6e6a03e49970eb03f0d1ed21c4d7a8ed c69d480c9775fa747a37baf9f2ec6be238161eee
+84781abbd3465f087ec7ee73ce82e35a9e77b155 c69d480c9775fa747a37baf9f2ec6be238161eee
+d1f303e4e804f070ce93fe31169b5a13705d2342 5158ce0b563147207b7cb222a94ee54417b7dad3
+2772b8ab388e60a74604f50c7306bf8205610602 5158ce0b563147207b7cb222a94ee54417b7dad3
+97b79222254499cc4c473d3e8fa2673f862bf343 ee8181dc26ae4a1b92b5175509f4756aace6a9a6
+a375d6ed69c50761fba2fac57e359e0627bcfde2 ee8181dc26ae4a1b92b5175509f4756aace6a9a6
+c1768afc63bac3074dc024a978f6f7b049d1001c ee8181dc26ae4a1b92b5175509f4756aace6a9a6
+dc0cec82736c121d848c0b15af4e1dafe6791360 f1971a572b8fd4a684e15743232d96b72b419b6e
+29a05170d2a59eb7b350275eb762e22673515e52 f1971a572b8fd4a684e15743232d96b72b419b6e
+cf64656fca060d55eb26bfd66f9ad2462d52b693 f1971a572b8fd4a684e15743232d96b72b419b6e
+b45be7c3e4780de63437c202de2eb3e2a50be238 f1971a572b8fd4a684e15743232d96b72b419b6e
+0e3897032aaad46d36a1b7651e227fec5e927ec4 f1971a572b8fd4a684e15743232d96b72b419b6e
+530f6d4aa4ff06b2f32876ca111d8e8b7a9adeea f1971a572b8fd4a684e15743232d96b72b419b6e
+f6cb45e36edad87001cf3a77e2e7afa62dcfba80 f1971a572b8fd4a684e15743232d96b72b419b6e
+55074d85588813a75253705798d1898fb7af7815 e165251b977c347809d4352416717406c0e87ab5
+4f9e20206bd9073da89590f23484251b7159e20b d9dd08f045f0b499bde4d859bdb3449099949872
+8dfa2b780435d29dbee19d5dc338e7ac658278c7 d9dd08f045f0b499bde4d859bdb3449099949872
+d411d252b9db88ae8216415827d0d9b36a0a7bb2 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+87787f772ee261ad36eb9d6feee2067c63d5b6fe 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+67f0b103ea0631116fbb7110158ab58dcacff437 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+ba41c849027339532cfe7941d67662b95f8c294a 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+1363fa44ff1c65fd65e8bd8f708142bf6e2796f5 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+c94a203bb3a0729801b432b9ae27bd943124416a 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+55b7700190bd044d3e727e1319473b15fe8be62b 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+c0502eb4b2b6ff09b7069bf318b35e939c087135 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+96d81842013852bab93632efea62c95a89f93a12 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+42262e7afd0a1695cd03869d57d866d9704b3ead 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+20982a851f46d5054ebca5322c6c88984330357a 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+cc207ebbfddd6faf2e7cb56343872f2d9b038b11 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+d33e5521d083a6ad80fbe8fbd0da410b33771267 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+abb3fa8b51b1ca05f7265d1188f020ede3a018d0 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+aa39736c068f4219c7b3c882440c937d9d72577a 88c0848244ab70aea36eaee8d13b641d04b2e0cf
+cbbb5ab74f650882ea89fff0eb00c112262d1848 f26332e984f80fa13ba606beb82005b12d73e2ac
+80856b1a2a5721af2d0933fccd27591c81a2c450 f26332e984f80fa13ba606beb82005b12d73e2ac
+b9bc383a1397bc22bd3be26564712c910da3ef03 f26332e984f80fa13ba606beb82005b12d73e2ac
+aac1c6849a146ce2e9e8e8e5ebd784e5820d6eca f26332e984f80fa13ba606beb82005b12d73e2ac
+505907e4b48fbafdc1838aa4456c5b48c31b0e41 a4b43d4bc4c13d847ca690f2fe3434af07263eab
+cbcbee8fdc9eadcad8a036a8ad12adf6e00742d4 da48afe7c1ecb609a9fdba84a8b33bbb04b39190
+3192b0a826fee8200aa673d9fc702bdb1f9a26ee 850f0d1023242f0a725c90ce359d8d1ef76e556d
+2954d82a46ad22f262e2612fd12e5c91b8ff0022 850f0d1023242f0a725c90ce359d8d1ef76e556d
+b9bcf05ae1c15ad9a52aa335fa7a5cd6478c0862 850f0d1023242f0a725c90ce359d8d1ef76e556d
+47d9927399dd84f0d4038cbf5564c78a88766aa9 850f0d1023242f0a725c90ce359d8d1ef76e556d
+3b364d6d4718c0bec788169410d20e92200aaa41 850f0d1023242f0a725c90ce359d8d1ef76e556d
+479ff1e77a6fde97ab32b1ef13b2db338ae5d533 850f0d1023242f0a725c90ce359d8d1ef76e556d
+e9c05c7e09099949f4d5ae60a01eee6237800cd6 850f0d1023242f0a725c90ce359d8d1ef76e556d
+8d3e946bc4ca8c79c69180524e2180bb436791a4 850f0d1023242f0a725c90ce359d8d1ef76e556d
+517747c131a16968dac89137fa3067d1885774d0 850f0d1023242f0a725c90ce359d8d1ef76e556d
+d306bea729e1b09e999dc3d7abbbed686200e23f 2a8725552c56ea7a1a578355106d7bbc551a97aa
+8842d2cb8ad5e90856927d682ff626c1f7d599d7 2a8725552c56ea7a1a578355106d7bbc551a97aa
+7fbe53981145d793172927583a743b78a71b8259 2a8725552c56ea7a1a578355106d7bbc551a97aa
+2a9c5e36fa4ed21398902ea10eb169c9423091c2 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+6e1f5b2356bffd68854d3eee9f8b0d2926ec1429 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+de99d9839b2b8e18908a95fc520296c701de5f6a 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+be67cd87dabbdef54c03ce842b85efda17f728a8 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+7ad46075f42a15de5ada7d23562f7042e0bb62fa 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+9e666fb451134a31c7822d26961fee3d509c0027 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+b6cf15a47df7c8bc2e972ef11526c58977540882 83bfd091c2efbe9df7ec2c760df7ed9c9e520747
+f1cd58e87ffd59ebca3f576baec724cc128e30f5 44e73c30d0fe663418a7c85d25f564e78ff58be9
+3e18fdd82379595f7e501be2bc8032cca3a83c7a 44e73c30d0fe663418a7c85d25f564e78ff58be9
+549668d4a9cf91eb9543c85d9e022ae46a6fbc88 44e73c30d0fe663418a7c85d25f564e78ff58be9
+0512c89f946b9ffa92d911b17eb0d6ef6420d647 44e73c30d0fe663418a7c85d25f564e78ff58be9
+c6ad6ff0ba94d9e578b39f3c975e5ad4626f1a59 44e73c30d0fe663418a7c85d25f564e78ff58be9
+16faca13acec79eb5999bd2c25e81efab38cf1f1 44e73c30d0fe663418a7c85d25f564e78ff58be9
+b04bfbb06c7e37c51b72c8d033e494d7b7f021d6 44e73c30d0fe663418a7c85d25f564e78ff58be9
+77171e125aa3d07d529febf5937fc03c95ee34dd 44e73c30d0fe663418a7c85d25f564e78ff58be9
+364ae65779965107aaf83eb6dc9b6559e8c12e41 44e73c30d0fe663418a7c85d25f564e78ff58be9
+9a77e96bd60d3e1c8e581c9dcaaf33a79cbc863c 44e73c30d0fe663418a7c85d25f564e78ff58be9
+2ee78157ff9af50d10437b2f0e1d057c0b7b8b0a 44e73c30d0fe663418a7c85d25f564e78ff58be9
+f523c78fdf7ba0bb09d68dac002dce653280a861 44e73c30d0fe663418a7c85d25f564e78ff58be9
+1d08c5a44655efce1d386cb1642f91e718f924fc b20fc6763571d85202ff951c3b8c6e1807be5c98
+b0fe0e7d84913feaa0a3d56e3584bd2d61b2b365 b20fc6763571d85202ff951c3b8c6e1807be5c98
+a56cef92aef1cdc06ed02aa224f88060d82f8d1a b20fc6763571d85202ff951c3b8c6e1807be5c98
+67c75963277095c998475b80fe1da315c7e88322 f7fe87631fd67043ccec698c531c81e79d7e97fc
+9a6d9112fc02d791e4aa99b9f5fcee4e2c295eb7 8ebffe3f80d0ccbc3fc81fbaa12199eef93479d2
+d0c6fdf885a9100c9420bbeff3477035a80db65d 8ebffe3f80d0ccbc3fc81fbaa12199eef93479d2
+179d4fc0100ca50a64ef51978e68eab071f6a0d3 a8a446c5bdf2dd1870952ad9ef7fe9d4dbf0a450
+b9748755ba0edbe59d6f1190dc75317fcb7b2d82 3edcebbf5f2d4a86a7fd72c9bf80d50156d7b78d
+0ecb2d74a60478de20ff4ba084a0f6913ddddd4e 3edcebbf5f2d4a86a7fd72c9bf80d50156d7b78d
+6910ed4b58f63e1d7fc4d6ab7117884d8aba64fa fe69b714fb3950f082f9bdfd9c13e2ba68ea4d2f
+a4ff717164079cd68eef114af7a7b95e78c20d8c 5d080200e0bd940d00a64a68f5bd7601be8315fe
+54363cc5852c5a83b690cac10c6a37ed686cba5a 2093945569819e34cc4a2fc42431f67eae7a867d
+2025bead65673c377335b50c46b135409e60b4be 2093945569819e34cc4a2fc42431f67eae7a867d
+40d2dfe048317bb1e148dcaeee140f6963e0062c 2093945569819e34cc4a2fc42431f67eae7a867d
+f1da40353c7d44af86c858904408f432f01f87cf 2093945569819e34cc4a2fc42431f67eae7a867d
+70be36dfb88dab60e15f2771d1b059f8d3a880b0 2093945569819e34cc4a2fc42431f67eae7a867d
+c52e8af262867dcf7c903a5d609ae8e3caf8aed2 2093945569819e34cc4a2fc42431f67eae7a867d
+35908a4819b89cc5760c86362c610f2cfe53160b 4820fd917198bf91827c3fe94ecb09b8c800da35
+74abe25fa87c3f791dbd81e177622802c6106260 4820fd917198bf91827c3fe94ecb09b8c800da35
+fa537c02960c8c777318d1c212d3f8f654e670c7 4820fd917198bf91827c3fe94ecb09b8c800da35
+ddd2fe794e0e695baae4a5354452ffc153190f40 5f5046809efdd722c275141b7aaa397e73a5550c
+79d0cbf56a7fbe2b747d5b65bdfcc336561c4356 530b4488bffa7dd04e7801556dae0770d1f10ec1
+7e942a4b082109c350826e1e4a84d4aa942649a1 d5f1d8e16ad7b4d7dcb91807a3a3f6e15329df50
+9e8944af0cf6518ec97ece145cf399fab5a746e4 a086494344f9123d241ddee48347773244c45082
+b4d16b27c01794926a0cbaae28efbe13f0104eff 1fbd546f5577f2fbe5fd06168e9b9032a92a6fe9
+63a0d351cdf55301b15cf736dcf6282863a111c2 1fbd546f5577f2fbe5fd06168e9b9032a92a6fe9
+59d822c4b2b9b81895f2103a54621d29a6aadf6f 1fbd546f5577f2fbe5fd06168e9b9032a92a6fe9
+c7bcbb167485046546285e817fa146d22bcd3d1a 1fbd546f5577f2fbe5fd06168e9b9032a92a6fe9
+07471b3c7c53248caed8f0319b7d1282dc473cdf 1fcbde760fc0b739be904e7ee538c51c37b9a4d4
+cc10c89f60976e2ae36c754b93a6ef0be5d59639 40b76ab2f41552f8fa376794253175d589f3f3ee
+0d9c74990e94995e57500923e4d738344653f30b 40b76ab2f41552f8fa376794253175d589f3f3ee
+d8e8750f3b2656294696b59c2b9158cb63633e94 40b76ab2f41552f8fa376794253175d589f3f3ee
+b013b3b0703774e7949223161f127b3201f2ab53 40b76ab2f41552f8fa376794253175d589f3f3ee
+0567f8444fd02e883cb888e2236d3942fad63f8d 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+37e90bd08b4dc784c358b2e695b1be561e9fc7eb 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+078564c4d96817374557330fa47840709fe5f16a 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+ede8c4a2a02c15a15bf926b39c594920ae0ac909 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+781b56f436b74eeb2398b6819744605bafb6f9c3 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+05d3acdd7bfed502cf9fcfeaf217c8b6707400f8 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+b5d37b545e9c74936ff78409146626c5c341d46b 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+b4d6ad69d1c9e3735d34c2ef9e47eee973f8c971 5bf42c0cb759e6f5617fa9f61e4d56bdd8e7d2ee
+1a61ed1a565f20d96676baf26b42e87daa8b9f46 5c364265fe897617a85aa0433e0ba79efa929045
+01102e05180ab65b7aeaa006219e728bf08f32b3 e00d852a8ef81950afacb36dbd1e06f658e5b35a
+49b1fbbc7a7faff207bfc691219fde52c1cf7ef0 ab3967f61e55c93b701c55ab1c55c66acad04c0d
+ce4cdc0f23b2c35ee4efff56ef6e96e37f6929e7 e75bcb11d4776aa9617c4dcb03b40484ecb96147
+ebfb86b93f8d866d4a871752aeeb07ab1c95b994 e75bcb11d4776aa9617c4dcb03b40484ecb96147
+acbaab640ddac379d5d79eaaba0951417f1de55d e75bcb11d4776aa9617c4dcb03b40484ecb96147
+ec964242950856cc917cdc9420135f61b39eb9bf e75bcb11d4776aa9617c4dcb03b40484ecb96147
+42e21cf4613caee541d638da284e49c6afd1f609 e75bcb11d4776aa9617c4dcb03b40484ecb96147
+38bfe552fd2364818989b1274a687853c3d8bd7c 7e09dbc9d48adf30f3fad3ebd2eed721df0ba612
+f12086b5a41cb0099f1ec880558eaf9c90768abe 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+4154188fff5b007aa5030b138ffe9a518eea5f42 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+0a1bc2d82248ffa844b03e70ab491af92311cc53 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+3db699d8ad3171d329b4cea6484c76500aa9acad 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+a435b8861f03bf8617f91b5a7184eee66b932754 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+381d62fc4970956414dc87d4348483e1e8772a84 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+af471b7d791db44275929da435aa1b27329be294 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+32669cf8a8d348bbde30ad71ca7ed5f720e4b4e0 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+5683be87fd95758f82c201985143f9212915204b 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+56217a1e9d8a3db83ffc09792c9360d827fa0b56 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+5ab07f4de4f46659876fab6eb99213ebf2af5377 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+d306e0125d0ff527b8800110072b07a72d9fffa3 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+3a3c0257c09fa7db8ccdaecb8b3b12d920e37ebb 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+dc599192f3661ac88d76f1db1d60c3bec3eeb01c 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+053fe8a39e50ad2159fd7f30e6d3fde4fca61d47 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+ca904e8a48aadac650ba52698c995ce6ee414786 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+1ed6f37960c5b562aec5cd906a7dbd8a5b7e990b 79d4675b65a6f5966c42f512a2c0b5cf6d61ea3b
+959e64ad690a51fa2891e66b36c41058aeb8c2c4 517fe7e9d7e5e73d7f0dbc97aabe8ef0a3187f3a
+7a9adf2b9c7f1890d1bc4abd316a319e62bb3289 cad50c0c0e7c35f1bb1741c203d1ff09b7d1f8af
+8f1496ccde0173711a054823eaf0722037e70659 cad50c0c0e7c35f1bb1741c203d1ff09b7d1f8af
+010c57423d37bf7fd9288a279c9189b8af987c61 53472cbb979d07201fbc575091c7134a30807f8f
+e51af5b265153411f29953e40adfb9f927cb26c9 d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+4b48c3f3303f26c2539458ca5c96a28d8ea4f02f d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+f188e4070dd7db2ad2f6c95ae22b3e6b45954b60 d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+5337fb6c71d149dbd55c5342ec22d8aea10aec22 d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+c1447584f4c8cffcf7e31128a0fcc787fd589125 d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+5fd4ab4a5d87fdc41b128f0a6fd13330f2684ede d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+e604a2dda27406d3fd504efb9ab3887b548b7a54 d80cb3aaac5c5a38de1fec0ccd46f4a0eeb0e257
+dfdc9c48992292009cfd2082a916966578e3a745 df15a07af94e23b27af5dea9e834b47dc4b0e100
+f0be106d0e700e48518f5616a9951e32221298db df15a07af94e23b27af5dea9e834b47dc4b0e100
+1c812ba107c657cde65bbe96dbe363354bd908b4 df15a07af94e23b27af5dea9e834b47dc4b0e100
+7eb2b302a322d546f421a83a10527c9500705e96 df15a07af94e23b27af5dea9e834b47dc4b0e100
+416b48d21eec2a32e6d5a63122eadf0abc9fcbed df15a07af94e23b27af5dea9e834b47dc4b0e100
+237820ec25d5f87e30dae356feddfafb792b910a df15a07af94e23b27af5dea9e834b47dc4b0e100
+5eba33e888c989e8b19e765e886abbae26f4d9ff 6574c4d519fbf6b72030a1b17bff5ee127848a95
+6ad1a14327da0bc70cb48ef6d6d76313fa84e5bb 6574c4d519fbf6b72030a1b17bff5ee127848a95
+95aa1583c268637047101883c4aa67d30a25c8a6 6574c4d519fbf6b72030a1b17bff5ee127848a95
+096b509cfb5c41535540fceda80dbf03aaa4ffd2 6574c4d519fbf6b72030a1b17bff5ee127848a95
+df1670b94175dbda9c65661d02340bfef904091f 6574c4d519fbf6b72030a1b17bff5ee127848a95
+26c9ae2d45c6b421f353d3abae47a9bdf06ca667 6574c4d519fbf6b72030a1b17bff5ee127848a95
+70ccc75769028cdf1216e101a756556198bbbba4 6574c4d519fbf6b72030a1b17bff5ee127848a95
+aba3ce2be32bf5366c5041dcf6b44c63b8444aa4 6574c4d519fbf6b72030a1b17bff5ee127848a95
+479d5a6d3e257dbee45ddb5f8739101170edcd72 6574c4d519fbf6b72030a1b17bff5ee127848a95
+31f2b09d74fec3c608eaae7518364401d8743b05 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+32cd687e8a8bc2466eea2c61a8fd29f37dbce309 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+5554299753664f3b33eacd34995ac9535fe5effd 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+50a18955788b583c6a5980646e94b75ede8ff72c 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+52cee314b568e96d335c389b62a3a82118dc3166 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+f55024047b91fc190da6ed473151d71374e74715 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+6010cb2496f4884a0db1be3d39c20ee4eeb21419 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+97108ad85a7ec2aa278c30581ba4105bb90886e4 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+c20a889e99ac360ce8db0a41a9f253d0fa81f577 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+7304f2dd07fa217caf4272a66f5b3f0f4a80bfb5 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+0053e352de214b58c4585f0f6bcdb1c008c72b16 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+272bf7becdc1b473b1d7186ba3783dab2e0e0706 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+339d8f910a68333dc49a6f6fdab99fa027249582 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+009fd1d0f497bef50d392d72e71654ead789a75b 4d9b828b0277aacf8fe4de3cff9d4de15b211bae
+f9ec9e94a23474cce8b73ac60c05608171ec5181 b7865180241562c1bbbf0abb198e3356803e22e0
+a43f1848de2b1387a57692246c47fc0ff88254bc c74823412dadecac5c7a2b1c607bde057c062e54
+62484a4660096cf9e9d9a90ffd53de9ead945efa c74823412dadecac5c7a2b1c607bde057c062e54
+e823d8e4dbb2b2bb0d1f451700b421a8aeccce5e c74823412dadecac5c7a2b1c607bde057c062e54
+db91604757e8693782d8405360f06aa38a352ea5 8e846ae29c3cdde399f6086d76df02b97ee7821b
+2769f6e20c3d93b7752c434ca66ddff1fff8191c b45e150e9459b5f9d25d734999c09f177ee82e52
+95f6a0a76944a4e0c692531a7bb66152ca4ebfc5 a7e7174c046c39339ea744e7d1d51322d937cbcb
+b2b918acb7e74c138ad4aae55ec25bd550729a89 d096ccc51c589a9821e4d31bf67d7101008533c4
+ff1005d2aca9fd79589df373bc08c6e04ed214a9 ee1d311e3435a31785a174ffd6009fe422b3666d
+7dc308f25d54e00aaf6e2a7dc245993e5084ba63 ee1d311e3435a31785a174ffd6009fe422b3666d
+741ce8cc4a59afc002b2c882b5375ccd223add15 ee1d311e3435a31785a174ffd6009fe422b3666d
+934ec57ad7b04abe36690b5cf4a9378733cbfa6a 273aa2f57c30e81ca4548c17c816dc1b98d23ff9
+c1191a175ebab2120ce4f9cb90ad7d9f72df4b57 ed0469e08e9391e95939b724306e9a36af666836
+fb92f6d1cb9fd642c7d173f21882fd2ef25adab7 ed0469e08e9391e95939b724306e9a36af666836
+366604f986219f8fd21c3e7b1eac917fd41250a5 df285c338ee96b9e4b87b6db457816edeea59a72
+8bb17b0980837b5a3177b8ee36bb9b9873c0ba5c 0778e84715e40b86e80481bbde35b368b30ac33c
+f9effb613da2b757faac446fd502a39866b489ad 0778e84715e40b86e80481bbde35b368b30ac33c
+84409bb2b5b6c73d06ce09c374dead17d30d784a 0778e84715e40b86e80481bbde35b368b30ac33c
+c0d36cf3678ec6e64d1e9fa07c6291d6cae1e543 0778e84715e40b86e80481bbde35b368b30ac33c
+b63a7258a54c94e8584466bfa2f1ec8950e14267 0778e84715e40b86e80481bbde35b368b30ac33c
+d21c777328e21a054eee017f24dd132d60a81184 0778e84715e40b86e80481bbde35b368b30ac33c
+e83befffed43a0df11d9b397d649bf116ff2dfab 0778e84715e40b86e80481bbde35b368b30ac33c
+406970a52324d44658d1de922e50f1b2b6487ce3 0778e84715e40b86e80481bbde35b368b30ac33c
+8e3f0bdd0bc930874b790e9ede0cbf4eb1069107 f5223fb069f06279ff335c3c25b673a231112c88
+35bba2988e0b8e73d0de1c53d6034cbf07699791 f5223fb069f06279ff335c3c25b673a231112c88
+4ac903222776d8aa801e5b4f4f0d5a4ee43d2516 f5223fb069f06279ff335c3c25b673a231112c88
+184b7575795c866ed8bf8e30caee27ce5f6b93d3 f5223fb069f06279ff335c3c25b673a231112c88
+40bad628ebdca815e99247542d7aaef253a33b6c 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+0c2ab95871a940714447ef5234ac9916d66c7522 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+6e54dc0fcb3ec9dfd1eb1546fba995691227dc44 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+c3f99b22ec94bc61af9dfaa89f90f2f5b0ce80c0 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+a0202089a27a6a4c8f3824298a9ef84c051326eb 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+c950b0b2e3329cdbfb95f245282de6afd5b2fb27 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+15b54351484e4e444d5f245d24c575db55214d9f 6b28b54e08c4cacd69f2f408843cf680c3bc811c
+43400bc80a5effd7cd164fb535bfacf37a806821 db7a2debc6c0c07d1eb742660ec38a69ed30a570
+36310698f7988e45de688a464fb41c678179f0ed 72c64f66e71ada2a906df86aab96277c35eee243
+67844b4619a6aeafc488213a8c7bb988615ae0f0 72c64f66e71ada2a906df86aab96277c35eee243
+f378b0bd5561d07d4dec5395324b28fb4a3e54e3 72c64f66e71ada2a906df86aab96277c35eee243
+1117d9fdca6a6408973d0fdda58770c0ae6106cf 3d60df759a107915b7de81069c200f71244d7df6
+48b91977475fc984eaf452b25e360f441885c0a0 3d60df759a107915b7de81069c200f71244d7df6
+1ef59f1a2dd16a4b2e65ab9d8f0f6184069ca7ee ccddf374a7f01fa7d02d867c65f268793c54421d
+5515b3f202b846e1de9feda091c3fce088268f21 62a179ceb5d0d27c5d76b1adae66a48de83ac9db
+343b942c5237134dfd9b3f4931eebd0ec01885b2 28fc4d3d2d078c33da96e904648aa5488f80e65e
+9015090ccdf7994ee9acdc322c0ebb991b171f80 28fc4d3d2d078c33da96e904648aa5488f80e65e
+307daf147d386859f2d94cf3e0f8504422dc9463 45c505b0158d6549debbf971ba0dfdecbc12b875
+3891f1bcf1fb9333553090b28fb002ecea166fd8 8cfacb1065feea56dab911fc2560c83905909f62
+4fa7eaccc677f082744f58fdcd6021b081239fd4 fb073d28cf0ed959821e71ecb62be9ef0d9d360f
+9c7d9c60180478939c92d68b9e4d6d9a8d305794 fb073d28cf0ed959821e71ecb62be9ef0d9d360f
+27458aa23a4cf0e0ea397aeaadccb8a79a59826d fb073d28cf0ed959821e71ecb62be9ef0d9d360f
+d8b213ae157c17784f33265b8513199ac1fed449 fb073d28cf0ed959821e71ecb62be9ef0d9d360f
+025e9c92166d54114786f52bcc14ce8af7db3bbb fb073d28cf0ed959821e71ecb62be9ef0d9d360f
+b613e2ea35ff7e4f1d30d4189b05b55da23c67c1 24fac07a87e1745002e7f386efa977b7fd40483f
+4c1b7d4931f1dd11e82fe4fd4945d1f6f784c654 24fac07a87e1745002e7f386efa977b7fd40483f
+af1af9716266a4f591e4e066913d47ac344dadf0 1986b42957486f7535cfad3924eda6f1f677b3f7
+9a4ed5bb821f6378af8990ce142791efe69befc8 fc6b098a496010de721b5fb89adb7b4690816207
+8325ccfe485b5643e4997ef5aa7ee58e27a7a64b 5c86789d363aed43cb25c3358ec68df4b30268e9
+c509e69ab9c7cf612569679efe6f50abaca5c045 5c86789d363aed43cb25c3358ec68df4b30268e9
+c3dd6fcd32163d51d227e855bb0c356d03e0fae7 5c86789d363aed43cb25c3358ec68df4b30268e9
+dc0877dee5e1050fd25e28454590dcc8ff118206 5c86789d363aed43cb25c3358ec68df4b30268e9
+133a640048ff898085da10025439b1ce6ad8b95b fdb027119359a686ec2a8ff19109037050a2ef2f
+30eebb388678e634a2b16b1a99079b23e9009b93 fdb027119359a686ec2a8ff19109037050a2ef2f
+465e190cbf79cde6662bb60d90dfe8694a85f555 fdb027119359a686ec2a8ff19109037050a2ef2f
+7aae427f528881c12e2b7abf85668df6a365bb59 fdb027119359a686ec2a8ff19109037050a2ef2f
+852c4095a775ca5651dbc9cd87dfb0296bea0bbe fdb027119359a686ec2a8ff19109037050a2ef2f
+9651b11e5cbc6cdb174bb2783e20c2039f4c5751 db6687aeaf6e17c66d3649e7b75de56b07957afb
+251859e3d772cb24935fe80abf92412ffb5ead14 6c5e010850378ed2b4ecb9c1fa570b4dfb41df3c
+6893d0cac49ed4db0eb631576190273d52300743 6c5e010850378ed2b4ecb9c1fa570b4dfb41df3c
+3f2aaca564a7aeab8e8273b7903cd03e112efdff 613f2a9ff376af53777668601f530ec4c224ed25
+2b195132c5fa7adc817fa01362a620959afd4b58 613f2a9ff376af53777668601f530ec4c224ed25
+57c4be8f55721d16d3122e0796cbf1bfe8ab23f3 613f2a9ff376af53777668601f530ec4c224ed25
+f7996d5671fd68f15792cc451662b193f7ffc31e beb4e8eb098f2e9c7ba204b86fcad3951b47271f
+9adff980b93ba615d90c0d5877fdeda919d0e29f beb4e8eb098f2e9c7ba204b86fcad3951b47271f
+0a3ba4d704e631de71a1eda2c9b55b3aa956f07c beb4e8eb098f2e9c7ba204b86fcad3951b47271f
+93a7c086331b0d847ac11bc3703b2cfea405c4a4 beb4e8eb098f2e9c7ba204b86fcad3951b47271f
+2b3215355d0e7b6400c3f7e2c5dab04874ca3da3 beb4e8eb098f2e9c7ba204b86fcad3951b47271f
+ff972be107b4728f692ef5a0f2a53d4c5af52394 68cc4935545216e06531385eff21d3d3ce39264f
+a14360c61eea9d190e1ad163711b7e6ec7b19b98 68cc4935545216e06531385eff21d3d3ce39264f
+dbcd30ca8ecdee4ff57cf6698773952ae138bd96 68cc4935545216e06531385eff21d3d3ce39264f
+39879d32111a7bc0c7d903a6fc5436cb88f0ff7d 681229a8624c30567bd71a548e2bc199c53ab757
+67923136f1151f94d0b68b1532903ce811f5af78 1df44fbec456748a446918336ed22153f527d9da
+7681099a48f4d1173c4e9a08b3ac398d59d95ae3 86133bce7caae27cb8ead09dcb91c718a6c5e70a
+bad11addc8c2c48a18c71165e030fce891bcc345 86133bce7caae27cb8ead09dcb91c718a6c5e70a
+b73b3c3adbaeacea65c9ae562f36cec86ee84df8 58a1855373fe83801399f0a2b91718c6e9df10f4
+1382c630782e8867630f2561bfa7fa670543e687 d584dc1f459b1586f8fed0939118cd1ee3a724fa
+5092db596640529e50f64a068f554092b4c8a007 ef70bd1bb3d0bf488b84b371a38e33208c34edc1
+7b22a37774831ae6fac7ed52a1ba77e575b47ad4 052644e58e1c064dedbf964f119664001bee1c36
+6669c1081a3ff7c5c1a152018f405fe3644b8031 052644e58e1c064dedbf964f119664001bee1c36
+315e111c38115aaca17d1f0975285d30e2a3f8e7 4d3a6feda14993dafbaf5d6a98cafbcb3b08bdfb
+3f93c4622f48c80ddc32f91e3c9e1c15281d34c6 4d3a6feda14993dafbaf5d6a98cafbcb3b08bdfb
+f1d02f69619c2b190683954aa31985e9b72bc5a2 10f3920b74dbcab29371fc208f04bd8543b7a4ab
+0f9b70ed5b4398d847ba401c6788e77a76253532 1e232dd08cdf1e6ce6b94cd2314531401043e62e
+1280781d60fb457d97a6bc57d2c42f7a4f459035 1e232dd08cdf1e6ce6b94cd2314531401043e62e
+edc87f5b3fdf8ec72991e52e9c8bf556f469bc61 1e232dd08cdf1e6ce6b94cd2314531401043e62e
+5c54d2e4d4943fbf71873cb24b68498994ab60fe 1e232dd08cdf1e6ce6b94cd2314531401043e62e
+475393a7a16e39a1768e7d6974271c7ab2e260ab fac159ee7ef3eadcbced2e48c3ec25911cd6c435
+d637d67b27498afd3f2c68f7e8a970e043119fe2 fac159ee7ef3eadcbced2e48c3ec25911cd6c435
+c6454295e1d1eb4996fd0d8038a8013f628500f0 25757c920aa84f54d7485441cd1f35c1bcb99df2
+00df6c16ea2747f0820fe5d2ed87756f6a552f20 25757c920aa84f54d7485441cd1f35c1bcb99df2
+ceb2fbebdcd6eb5a5e9bcc3c01d44c4033301808 25757c920aa84f54d7485441cd1f35c1bcb99df2
+929572dbe09ad42a9c561e90ad1d52bc2db65c36 25757c920aa84f54d7485441cd1f35c1bcb99df2
+bf3601970d7cb91f5ce3f2d04abf9ebf56d5c8e1 219174241ef548d9839af75c528d98a73867b975
+5768ec3145f0a809c319d053118b62b6d1423bc2 b739fa643f2e5f4b5bf45a07168887b517cf9c71
+cbb35ec9e4182fe071f0571aac4e61502b895a07 b739fa643f2e5f4b5bf45a07168887b517cf9c71
+15aad3bf8017dda979880eb0b20bfea34383a5f3 b739fa643f2e5f4b5bf45a07168887b517cf9c71
+ba9deeefe141d1d73a85fbc52eac793b9f138e99 e6116e51dc928005e6106aa1dcb9e37496e041c4
+918a11e4113e71d27acb767679b800bba667ce8c e6116e51dc928005e6106aa1dcb9e37496e041c4
+7bffea5b883627deb261d072e9c0fa61b82ff14f 9c109b7370406fca77e6e0667276700d830371dc
+71f158c3e2e56e57994d00a2766c8d37f09e3a7c c81e8f5b216239714ecb514674f0ed73e0447036
+d6b74dec60bc593d4d5ac35c4f3f07a34ec5e61c 4ceeef1fce552a896456f2bc480a3ed24f67871a
+fda62d691ba25c12c402b79b9b44f56e4a485132 37f0735e2b5b864df54cfe44516bdd84b7fe1dd5
+3938542a4d83457b29eee582c568623ae7f1114a 979ace07bf113163a637d3c2bd732114bcf91217
+024036480c64fe289d7bfa5b02054a6ba93122fa 979ace07bf113163a637d3c2bd732114bcf91217
+79347b13b3762e7cb0d061d8b888e3bc7f31e1ea 979ace07bf113163a637d3c2bd732114bcf91217
+23f8ac9b19e9613155f551039fb24aa5861a36d7 979ace07bf113163a637d3c2bd732114bcf91217
+6e0c50d0be87bc23f882f6ffc411b6806102041e 03e3399706848da54f3b3320d21736e009fcb9a4
+cac59a2efc5815e6559fbc7c1ef0ce5aeb567cdc f5fd033f6ddbeb9d6e0e04d29443c6ca4af8fab4
+3cafa27905b358d2e3d3e23ac1800f79ceccffad a7fc4b5f8a1910cc25b551ce6a4e12692a1072d5
+7f0a23a450280481f11a1b1ea7a6cf655e97862a 99b903a5738cd91ca2f38b51f93d890a3f8d7cb9
+4d660ad456ca1cec876aafdcf1337a18aebf73cf 48132832eeb29c31d787c2cd4a352b1c231edbf7
+f2293492965b090f0ae1105ae7702f22d08df276 48132832eeb29c31d787c2cd4a352b1c231edbf7
+d966b326d53f364d628368b90156939de77f288c fe3a6ee261c20b9ec55a9acee5496b2071a3c95f
+754950a920437d57f9c30ee050849991fde0aca0 67f51b6b5e8d9c7f5a0b5513570ce1f0b1979020
+23b1efb07ba0a10c3fea712685c18110f0badb1d 67f51b6b5e8d9c7f5a0b5513570ce1f0b1979020
+0716f515b5a3d3c91978cc769fb83998ffe8d1f2 67f51b6b5e8d9c7f5a0b5513570ce1f0b1979020
+75312961606c380e4fdfadddfb1dcd7449f8c503 ef7a1b4d86a9e0926b0580011a978a2d06c14036
+294f779e5331a5753f7aad602b1b62ec627a1907 b1a7d5c4a16ab6ba23fa69425c7c4974038fba72
+c2358398c74cd03e8f6fae77a9dffbc908ca8c1e 2fbda508b23079b93bc221a26fa9b6079f1934d1
+b772f4ecd457444ff1499d9d0cd670103edbdb80 c6da79f03a7488711ace8bb0beab461a091941cf
+defd2c20f423311f842c7a7726abf0c5d622cc41 c6da79f03a7488711ace8bb0beab461a091941cf
+37eab166a3cf037becd04995c1022cd61d5ab135 c6da79f03a7488711ace8bb0beab461a091941cf
+7ea557d968964d6aca03ca7e70618db0743eb3e7 ce454b4a81ed5c8c95bce43c205e4eea207ad857
+7498e3a4eb19dc2183451ae1b63d9ba8bd5b1450 0a35ed4c1905887dfbcf5066af99f41e9252a92b
+1421698d2357231be545c2695358891ba3c1214a 48463e237006192ede9e680f90d2361e036e5e52
+250be11612a0e3b2b6848e276a5ab5df85bab8b3 48463e237006192ede9e680f90d2361e036e5e52
+2282c734ec16fa2b31562c057ba703689a8e262a 49e303fdb709c7fca2c4ab7a69d35909a19c98bd
+333805e9426c7a3420f95c0d3f4506f785ec0082 49e303fdb709c7fca2c4ab7a69d35909a19c98bd
+39fa0f5c276902a9e4f90e85d763b44d6eef73f3 dda3f6a922fd90664918e71ead3d84717908d263
+3ec8d9ce4fb1f9632c928e8f2f2546f492239abb dda3f6a922fd90664918e71ead3d84717908d263
+bc632a01f0cd0c767acf27e664be884809547f92 dda3f6a922fd90664918e71ead3d84717908d263
+f9955f14b593bf5c95c4b7141d4d63b80319b87f dda3f6a922fd90664918e71ead3d84717908d263
+bd06bfff8d30b19ae2cd0a0596b68622069a2ca6 dda3f6a922fd90664918e71ead3d84717908d263
+5ebb52783675f9e140bfa9eba0ce7c30fe7501d6 dda3f6a922fd90664918e71ead3d84717908d263
+781e54ca79e523d9258b581a4e08646f8d504224 dda3f6a922fd90664918e71ead3d84717908d263
+d42de7aa2982e2bd6fa8dcbd4c744f94d43f7042 dda3f6a922fd90664918e71ead3d84717908d263
+5e45e696f08364d05fda7efa5f2991a5f7dc51b4 dda3f6a922fd90664918e71ead3d84717908d263
+cf8a5fc93258bd44dc772208d6d0317a443703a1 dda3f6a922fd90664918e71ead3d84717908d263
+c6c5542c7d39e0791c2feea4290c3dc98e6e12ad dda3f6a922fd90664918e71ead3d84717908d263
+f3f5e8c13c05da8dac62e36420af3af55937242c dda3f6a922fd90664918e71ead3d84717908d263
+dac6c5303a6fc5d5a3d5905e7552130f54e669e8 dda3f6a922fd90664918e71ead3d84717908d263
+89ed7aa54d672ecf68b38f9626c196c6cf65dd86 dda3f6a922fd90664918e71ead3d84717908d263
+df015c3e974e209985ea8fc6a22f25fee5c2d708 dda3f6a922fd90664918e71ead3d84717908d263
+745e82fe944e4291039d4929d062018f3cc913dd 1c47c78b1413ad6bb3241346b8df640bb1082692
+b3a13247d6784b5f7817e23ad4f7c0e792ddec7d 1c47c78b1413ad6bb3241346b8df640bb1082692
+7a460c011783d1ae3b34af421449474d19b943f3 1c47c78b1413ad6bb3241346b8df640bb1082692
+ca8b2e6e8b01706ec9b2ea8e60187d82fcfd4119 1c47c78b1413ad6bb3241346b8df640bb1082692
+9f02f2cd4a5927ac6cdac4503573df11134640ea 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+a3525f29394f7cb68557fe07800ae4859697ad56 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+1c7bf00165090e559cb5fb3ef334379dc0b4f9c3 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+38972c927ec6ec3549fcc6973451b7dd3b76b1d1 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+1c1b06030db26cab8d0e077c3b8a27cf851df044 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+db46fed53f443af9f752b49e3e613e09e5fbc47b 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+10c72050cb0b5245fa89ed94cb86b096d370af99 1c2a16bb0fd8232a57eb785f3679e38db65fbed7
+fbd33f33dbe96ddfb2e102077d1b46c107ed4dee d3fb94cec105abc4545886f4f8e71d36dd4acc90
+b81e0448e8b31c36ce8ece97bf5f6f40adc48bad d3fb94cec105abc4545886f4f8e71d36dd4acc90
+8e18804e2dbe12c8c5606e093f403dea392959e6 d3fb94cec105abc4545886f4f8e71d36dd4acc90
+df4e9d3be2d0e7ec791967a1756d07276b272da4 cbfc63a161f601765696699b976dc1df488a4da8
+4bb658d374c29d8f7956ae67af33ec1556dfb784 9c970bdb3316dd2981def5901ae79377fed08f37
+b6a38791c810f078e5c772edf42ae1e9739a0f3d bc5892a8251e2352c612256ddf80fef27afd6746
+9e37cd625e0c271cdc934806255a6aaf1b73f2ac 5647cb61f9146a166b79d65de34230fc6592b264
+1cf3efd7db7632da32cdf87238f0d9f85d24dff3 5647cb61f9146a166b79d65de34230fc6592b264
+feb69518484c79f56943fdd8083640617f6480b6 5647cb61f9146a166b79d65de34230fc6592b264
+90837e7b2628addf7a7c0a620c087077c8ddfdc0 33f7921035e9b68486efed3a42a08365d059af5c
+f34e2d6df7c73a9c7062b2ddbd5e1fa69796a8ab d07c6b80caa837914b319a7962c53c3296fdb9ac
+48003db1814fb0a0f044021a24689f6e71c3d058 d07c6b80caa837914b319a7962c53c3296fdb9ac
+e6ad614be4b6039a325c073f1a564d41cd57e72c d07c6b80caa837914b319a7962c53c3296fdb9ac
+132eb11c98c1150e1d5ab5389eb6e941aefd04d0 bbec5306245294d955e071095314dd243bcae2ff
+ec64e88505bd11f9656ae64fedf08f41eb964dd6 bbec5306245294d955e071095314dd243bcae2ff
+c69363e1fc777a79ebe51ea78eebbf2a86c1feee bbec5306245294d955e071095314dd243bcae2ff
+aaa2752b30a696ec64adb6d775b0af78b9d37787 cf5a9620925ef1d056d267abbe88ed5c2ec64def
+9fffe4ecb3d7106d82827e15c8e4cbe0002d57cb a15faeb3a499517f26b2079e1c4beeed7bfc6e2a
+c6e4e0badb32e0142a8b8e93052230e96d400dd0 e6f54d3252c53cc903b1d9b9ef1575bc32622641
+801923843d63b5636abad697272857abaa68b3ee e6f54d3252c53cc903b1d9b9ef1575bc32622641
+03ccb3f4cab2928e20b3b33f90212ccf36905731 f87bcb7a466c18407111a1ac6792b26b64f16327
+f2654393f650b880a8530e0ee5b5ac9994d19caa 1acc766293f94d7e1212a8db5622c298e92989d7
+a770518b12cb93d490bf762321c8a7d9fd9266dd 12b346389cd6536660efaaf3ab84a3c808deca6d
+f00a9c4337e2d079fcc38e8da068e01302aad9eb 12b346389cd6536660efaaf3ab84a3c808deca6d
+0a27cbb27058c06974cee2420491fda837b30393 12b346389cd6536660efaaf3ab84a3c808deca6d
+ccf752190b23758f57dadbff398a87592acab34f 12b346389cd6536660efaaf3ab84a3c808deca6d
+2d6fa50b7627715549de84b75827c7abb1a79a5b 12b346389cd6536660efaaf3ab84a3c808deca6d
+6c3f5c15e9772eb3ce63e2bcf66c2725c63e9ceb 12b346389cd6536660efaaf3ab84a3c808deca6d
+a8cc04172a78f7e767bc0d54b57dd2055f22a6ba 12b346389cd6536660efaaf3ab84a3c808deca6d
+ba0e38906082512286f4aa33596a3c896af29445 12b346389cd6536660efaaf3ab84a3c808deca6d
+14e23d6ac389f1b0c0173b7d52fac97e513d9960 12b346389cd6536660efaaf3ab84a3c808deca6d
+fa6d24448e0381691ba87c608d20210836ab8d68 12b346389cd6536660efaaf3ab84a3c808deca6d
+77b26e3f3da824a1ff2195e6fe448db5cadbf549 12b346389cd6536660efaaf3ab84a3c808deca6d
+0103ff996b06dda7cdc4a8fbd66bf38fb49d1d71 ed2130db2b5946f27243705245ba30fa3f97db3b
+dc3bd1f5b91b22db7f4aa593f59d5b2d6f049970 ed2130db2b5946f27243705245ba30fa3f97db3b
+b9b56b6dcfef2a04997a7c1f92508ff611d9747f ed2130db2b5946f27243705245ba30fa3f97db3b
+0cc38f80ea3d35c23109603e218fe49dee10ff01 ed2130db2b5946f27243705245ba30fa3f97db3b
+f97d9024052e03b185598707fe87da48f30c5120 ed2130db2b5946f27243705245ba30fa3f97db3b
+6aabe1ebf8e367fed5e9c899029ccc56a6bebc18 b45f1d184d6a7cd739cee02bb889c81281c0037b
+ea98a2202c92adaf319bf980bd93034712337a29 65e4ba465dc537bd0b8d059ab727bcebbe16dd48
+97f8232d938127e0ffb09e8f2b645188cab07db0 e429086e6cbbe0903de352a47077be8be984d18f
+3f9b0027e58f50188a3954dadf82e6e49cb7bd4c 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+3d6df08b455849cade6e0065409b0c663abcd423 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+d0bc027eac8e1e66918e6ee1ef8975e8f83740e7 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+234737d3991a5aac972c5e75eaca4077e8b7df97 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+ed60c10bf4335ce9b40f459dbcecdeba67200b6a 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+670e23ce0067c9e006e703a162182fc8f7dc9b3b 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+b591b0578ef6470857eb760eaa3f9dca2a74be36 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+5c1816e66a4b802f5bf0901232d6e3dbd88f9b86 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+9f7a38714a8afd7cef7ebe85017765ec0ded60d5 60412b8fc63e08e4dc7eef6b5a984c0968db91ea
+19e091a05e91d141b285728fe165332d94d14895 a0caa1c187db54571e7d2e56402b9847688359c0
+11f425df3a9022ace3ec395db37ef1b8d8bbcbed 0d122420491f2a1ff48116867eef5fad8b3457a6
+815bae632e600f75ba9aefea52fad326605d759f 174a79d6d85dad8450966d16ec3c67c624fe5757
+2b57d18fb495617a2297ee41d07530620bc72fd2 0f1a81809324288d506a67a42397719752c773f5
+989c49432d32d118147138c2fd985ebd88911329 0261c9b303bccf052ee4d8682a359b0951bcf878
+b67c06a48c968cf03c2534ee994a4efd4c540ebd 07d788d04dc2192b3e0c44da3103fb8b5b51e711
+778e6ee725ea1d47fc67079c12dbf34a4603cf74 fc3bb9bfa9d0b3f28ea61604882a9cfe88454b13
+1f5746292b8e62d4acc0686c5fd87954cc308211 fc3bb9bfa9d0b3f28ea61604882a9cfe88454b13
+41cda7eae19db09055bcf250b4c3cdc2622916ad fc3bb9bfa9d0b3f28ea61604882a9cfe88454b13
+2a8b0a2c2f9d22ea2a0e47c60029629e1e99d22b fc3bb9bfa9d0b3f28ea61604882a9cfe88454b13
+94e42f2bb2a676eabaa7fb91a5cf6e60ac6438b0 e73719412709e09632f70079e8bd98f95d9a7375
+812377037f106919792dab7d36a1a044f331460b fe9466563914f9a86a51930941bbd516a95c57e5
+8c6e73ff0b36ad84478e1b66bda098e058cd5560 fe9466563914f9a86a51930941bbd516a95c57e5
+34b4281ebe6d819fb7b88603de061fd0b07e658c 2c229516b5205d3544ab910e859572c44b3fbecd
+9b8e33511d7168eb505077d4b664478c0117269c 2c229516b5205d3544ab910e859572c44b3fbecd
+1139a6364925a9a6348a2e98136cbcb09edd8ebb 2c229516b5205d3544ab910e859572c44b3fbecd
+a567b311a49b21de549d70c5582a36c8de7b8c78 aa48da569541fa6ef0a28ccc45808e16bc46fbd2
+f454f8925e6b8f191a6ee242050e590e2671c7e4 aa48da569541fa6ef0a28ccc45808e16bc46fbd2
+6145314d76bad287355317349f793d3ae5653d97 ca43984cc75fb652272983df5c1d47631fd7135a
+b4ff3e12504fdc4563b545110190ec2d96a67347 ca43984cc75fb652272983df5c1d47631fd7135a
+44c56ec2c96a16e1b27ff00eafbdca27e7fd146c 49d0b97f5e23da4e146b94fe84ed19e43673176f
+ec888398794e46b377b834016fe5c4d21e6f0b34 49d0b97f5e23da4e146b94fe84ed19e43673176f
+6ec0e424469876f492df858816c22cf26c395235 414e297d770d8dda1aa2bc80d86a0808252c858f
+0660fa3bf1e89e76b957f522d515380fbf66c685 da94c4c885908e664c546f83db698af9e8f36ab1
+5faccb86a9c27fd0cca003c3dd43b63a018ebfd5 da94c4c885908e664c546f83db698af9e8f36ab1
+af24b990ef21969c14032a7f39555faea44e70ff da94c4c885908e664c546f83db698af9e8f36ab1
+6ae2903ad1663dbf4ec71d06630c3b9fb9019a9a da94c4c885908e664c546f83db698af9e8f36ab1
+2b40e6d5334d4e4f23080aa925ef587312b07b46 da94c4c885908e664c546f83db698af9e8f36ab1
+b3b0bc3a417999190d3ecf028bb2af5725e9acad da94c4c885908e664c546f83db698af9e8f36ab1
+5930372779a3b24acfc0f7d22294bea6e3d198df da94c4c885908e664c546f83db698af9e8f36ab1
+93879f422ed3fd8a7a51f492d6c9f581129120e8 da94c4c885908e664c546f83db698af9e8f36ab1
+1a8975d0a9ff47c5878e3b0b96fae4febe1d4da9 c13cdeff3fa9ae037b12d557631fde2347cd1d79
+f31fbf7bc60e3e3708e5800b8f8394f376f99734 32b371f2c03db686be4f62f47976218eb185c728
+ebdd52004548e6e8de709f79ca03f5b1d931af1f 32b371f2c03db686be4f62f47976218eb185c728
+6310ead61162934bcefae0a9f0dbf19dfc21b31d 8b401fc2353b1d3f7d55db2b724ce35881ebf3ff
+1247b2f20c4047a019f91e3dc16650519d167db4 cb3d96c49a9b1c53cd704f6873127ca7586c9ecf
+2f08841c0bd4e1e815a3d954b3af90dd4dc7e588 b43d8e0dfb8b4c33e5984b4fd11bc785c1670c69
+d7c2e940fee8e5bc2c83de113a5e0de64e76450c b43d8e0dfb8b4c33e5984b4fd11bc785c1670c69
+eb92b9831023eb138359851383b52d7f7540d9b8 c763b54e9ae069ed999fdc4e09823d7f27956840
+37d3503ed86f8008d015f755beef6d3f01146bfc d654fe7bdb9585199bd9a1c80ca992c31f4f06f6
+0033938d87264013752fb1ac33af94e8b3137c94 90d4834621f2fe31f68001cdde395643d5dbcd49
+41be40565ec9c44ebd5d0a6555e95f02edc05fce ec8ffe477cccfd831460b17ef824bdc0385227a1
+40ae9f46ef15167a6b764f7b71ef3a854a898ddb 48eef2e9c2e912f2a2f13116625507b2c5c925c7
+7965264262c84da2d5f6f5f2b0e76c36da416234 bf82c7e3d4c32669726cb62f79cc9efbed3a4768
+9f753b58294ff5276c1e60fb4e9c3daf194b2387 bf82c7e3d4c32669726cb62f79cc9efbed3a4768
+2b25b307434942cb612641b350503ea10e7d126a 45799ca1562df80f5a056a365b884805208bdbc5
+3d3c32e6bad5ba838f83df6c268cd971aa2da27a 3977ad4b2962ff0f2d9fcc81800b4b987a2e4dcc
+bda557538f2e16aaf9dd6f21d0ea04ce7ee84990 3977ad4b2962ff0f2d9fcc81800b4b987a2e4dcc
+93d7283f024966f80758dbeb35d850d8286943da 3977ad4b2962ff0f2d9fcc81800b4b987a2e4dcc
+da60b96edf0a9dd7c4f0c12013f70002514565be cacc127b5ce10cc3909359245831f23bad8a4c35
+01985c5342989895c8891786222533368442a35c 28bd5829c509edd9c3381f65b3c834f9fd2ee495
+e6ef198443bb536cc783446f6dfabd1f9db54e42 ec042c1f1d9201fbdd2d8ead469f52dc49071e64
+263a2ad62f7861212b5c59ab9402538b555376be 7bd2ce5f4fb9b1e900301eeea93f751dab9dae18
+4503e1a86c11ed1b57e35964603a2a5f5902d477 d5686a8a052bc6553e8a9d4b02355314e3a789e7
+a51ff351e9d2abc0fcd4dcbe9d56dfd184ec5b25 e5c06a94862792b07d32de63531e0cd1fdad7333
+7986ca529ec08ca587c1205931be913e02066fba 58db870ed0c6093160a7257cc867a2a74682b32c
+b8f2139926774295242c8878364823294387e6ed e9d48633c3eb9978222cf2faac4d8c774af4e281
+d2812e904ccdfd8fd0fe082c0ae0775e12796141 6bf5c578a705b0feec60dfb7e7d16af5f70837c9
+b4e39214d87e7bd2990002be636cd30a8529684e 94db3eacfcc4ec3e3331d5aaed000e5c21b71c80
+c0145cf22c3615437ded67140448d80bc15791ae 2213e2b234d70f30add42e05466b3b8d6f5a1b63
+4f2599b075ba68c5351491e44550da712c26e716 2213e2b234d70f30add42e05466b3b8d6f5a1b63
+2830402dc1d0feae98bac1bbdb251a0f010d133a 642dd51001db605952c462f4b4733d1e997fa115
+7fc8a1653fef3164a92d1fd9934c6d3ec57ebfb8 bacaa8757bade522be59aa180c77fc056be54a21
+1bbc5fcb72cc6f5c2e1b82537f5a0b3dc771e88a 593876eac639a7524b204f6a95a6415253476633
+bb06bb4fe493fa4a3fce0616448d76edfc54fda3 a9bac6a988538fefae2b1b6d67805bb3446db32f
+8651461ab132c1b119981e4df9bfe552f55af60b 11b93be5c738372ac87ad62b6e28fbf3df24388d
+3d4dfc98ff0682591260adacb7095f4018372a44 1de0be4a81e075cd0e910c3a70ce6cb27f0c11ff
+84afbb96be4e49631a9690069d1008db880561b8 0db6f1984180fbcb1cb7102875ed4d3a2f286efb
+ae774f60993f576ad31c570c717fefce62e06742 6d3ee579f1c6a749fc8777ba617e94119a1a10b6
+b496c9cf83efe5d2ff99cc8a13c22f2f36af511d 6a9a8a6bfb9999ee3ed2257ad0e426e11f4db24f
+2ee93e62610271817dc8252865c81778a240f9e4 6b4c02fc127afd19e1b99e3ebce763b29ed88c85
+b9ef8964e651f56764891f06cbac8b2dcfba7a77 845e87f498e15faf8b0b31da4b326ffadef1b1c2
+562aadbd19ffb42461bdbb639c58b1a445d165ab 9e467e2be6b2e5c8da6db290f90b86d278721a98
+095aa92bd799c8341df74724c104fb1ca3fb1751 d983c497cc42bc8d801a14ca4e23a55cdcf5c2e0
+69cbb2c2237d968355841cc596f9258edf8a5c7b 64beb0cab3fe1e7848425726ecdc7d084eef6c07
+cc6a2c28f2e520b1c3d43e0ac7f303e6bd99dbea 64beb0cab3fe1e7848425726ecdc7d084eef6c07
+e43207550a7e3577b7b358ad6ecea0a8becd1b8b 1e9dc408afaf8bf7be4f328206969e3368a2a4cf
+550ecae37db8629ef9dba61d6c32fd9442d0469e 1e9dc408afaf8bf7be4f328206969e3368a2a4cf
+993a87b09e9cab9b447e6c2ad4b62529a6338ee4 1e9dc408afaf8bf7be4f328206969e3368a2a4cf
+5e6fa4b0cc66e3b2d232cb81f2250edd4383b18d 767d240194cb2cf30b9e34d12098c806c037be63
+a5c9f90f7e7b36202d85101f07947058de9a6297 dfe0c805855f5742de4dc53880e11a7fffca1174
+92cfcf2990d86b28dc9de17cd5c05e4358a5b2b3 12c4b4ed8efa2e0f509a58c8a47e96944c7b9e6d
+8d4b7f880cb9918b6d004a1cd0afac474bd2533f 3e31db8db05b0bd89bc59c70eb52b038b3bc5814
+fd8fe9419d8a06f8c02d90941b6e2d09f6f0d84b 3d71f3d1b81455e9170de55387ed41069e585a69
+0b4916505823c4c5a941d38bbb57126720e391cb ff24c37dced4d1d085a3c0836453414f9bc35f5d
+0d7880c06bdc20bdc7090c3ddf62ede4b464b129 93d023520e081ce348ee538a07b48251c0e38594
+6747a0df5b12f7494bd8a709b980f6e936be62bd 46999a4310ecab522f1af5d0404ac9a28bdb1d16
+469d7ac1135526a7aa128b4cb6e7918c8995a462 46999a4310ecab522f1af5d0404ac9a28bdb1d16
+99c57aedd2afea43245e791f75e4b09b149cc5a0 a0c160727eb0de5f399275d87a8a3995b94d7143
+ce24016dd68f99ff08eb6410523d18eacf39f69c 1819ce8980e38922cbc918f8ab1e09dca0f8f3b7
+b4539aef3fbeeb0983670314b201f62412081ce6 cf6bd9276c66d1397099ff0e1a9794afb84c5881
+c288c1c7795ce0d57a3b12c310a8e0cbca3d2746 848ad0e546f80a7dae04ac3e89b9ca0df23ff090
+eb0e8caf289ee156212849396657d2f003cdbaad a91dcfd1d3cb418e9a0ed0856cb1600b63cccf4a
+df386d80f3f07d489473c32796c250c6bdcdd3bb d9accb0b61f062d8b4ea0e43e498fc9bae469ee3
+cb03e9021e44e01fdeaf989e0f7dcbb5a47a68c8 2e66f5530d375c40e2fe196620db6a1a01cc0efe
+d836a2186831712e009d178c31e18e9c5d591bb1 22c0c6608a0f00c02b260bc3b05c5a8afc5077af
+33e62f1882b7254c4c8a0622836f640b072e11a8 06e91a4508a2c98c3c3147a37a4edbcb0017656f
+4de0d02ab86d9adf9cab5d8e8f70d2812291150c 06e91a4508a2c98c3c3147a37a4edbcb0017656f
+784fac9d4ff79d295a36bfca4ef0c863ff35d623 65bd1509f74e115a79018d19c400b8923e5f7473
+2f851ccd597341595e637a53ff62f75ac0fe5991 65bd1509f74e115a79018d19c400b8923e5f7473
+8fa1aa6ae8bb6c99c3699fa0f08bb3c6676f0715 d1991aa17de32f1e50074649baf4dd2832f556db
+be11263eb6b5a8c1ef8f12db449ce43ea4f02102 61446da295153cbc21af50740605b677640dcf35
+ae83ce5529ab0c42dc1b4022bac6aef41b0945b2 9079fdaae85a2d32f0505951bfd086f2f7b2a2ab
+d176d710fd4f6a310567be3a72d58fec219cf30f a0bcc2bc182bb74d8b3cf613511f59e5ec3406fd
+a5415f9541f00ea172bf7e9818c97034d4e7d824 8c05d241133855799f1effca5bf4efe9ab0abfe6
+a968d4edf711f20318a37ab03968decffe3e130e 6dd0cb9913b55f08f496a1ec6db41d83f11d9938
+51932050adffd328e2a96a448560363d91d27d12 6dd0cb9913b55f08f496a1ec6db41d83f11d9938
+f78c2be256c07b57186c9c2f26579bbe2f1a2c8c ab67b588c9a402fdbd75b462c8aad96e7d5ffb88
+f87e1e59b6420d2afa894b7f621ae2d873280499 ab67b588c9a402fdbd75b462c8aad96e7d5ffb88
+f202372296717f1c073f044983d8ec65a7a0317d ab67b588c9a402fdbd75b462c8aad96e7d5ffb88
+4adaa223dba109aa6139ee6d911db2e5f9abddfb ab67b588c9a402fdbd75b462c8aad96e7d5ffb88
+c96e3fa3ca48282b0f99ea36eeb4bab9ba568c3e ab67b588c9a402fdbd75b462c8aad96e7d5ffb88
+1a3437d2e53809680874e272eee882f54ebcf7e2 98e28777da1d8109f7bffdb219e3c8064a5ab172
+616479eb3dc06b15d06effaa47826ee036595adb ccd1c6deb3df7ebb7e65a5c54569c9b782321a88
+64dc1c5278a4f156539cacac6f9cfdf250703eec aa0e4830f8dc96cd5eccea436abac653da34d080
+7b743b95e29feeddd5732e8ed116b360f74714d6 aa0e4830f8dc96cd5eccea436abac653da34d080
+3340bcbbd43409f3b822a14706dee653a564fa6f aa0e4830f8dc96cd5eccea436abac653da34d080
+6b4b1164f13c5abab8c1d2b55aeecafb27b27c0b 69ed80022bcb61df2d93a00973e1ad70bf1b0c7d
+ac04d6861596c07cd1090e9de2c45d1c18f7e480 e64eb7c469eed8c2c1c473661c4080a6ad1bd504
+b4ca4b8df0d43e025423a25adfc0b7b95ee3ff1f 87f07496b9469248d3f52bdc99f4461c8ee5645e
+351196a7cff694d8cb55b87c0339425bd47b699c 3d78c6887c9d01679f94bec657a9c816395f78d2
+88b35493d282faf6bc917a88d087cdc76a07eea0 3d78c6887c9d01679f94bec657a9c816395f78d2
+e00e88cfb319307e274447bb9cb672e930c0f55f dd7bddce98770a0a2695cf4c1ecce0457a137d73
+45d13ff8bfcdd9e0aa7eeb918d8e20a4914dcfae c0670051c9d2013a898589b95a42536ece8e7929
+cbea0c3f5728027e3a1a264ca4fa234d8c07e32c 6b5a2b7e04c8acb436ba8378d8b0f286a4e707c5
+fe95fe5a47b9e36fab23e99bccf4a32302191cd1 79b84dce2a072b409606641c244fcd7a81d926da
+897c912f93a596b1f327000ad6e116ec4e907108 e41d0621660a3c818b3d818371d76974cf9a28a5
+15b58c79f508de3e96f89f3306d815226c4c78cc a0daf04e5673291c373244586a712e4a383dd28e
+b9e05f45f4931bfd1484a85f26f3569549c74964 7aa8198cf0d1c576b6bb191490c07986d35d74e7
+ff610ce456dcce1cad3c6a4643cd1ffbf70bd832 93ffd8d711f5ad848e184831396f75a774dfb69a
+28eecba8eb535a239a9ad1c01df704411f9e61da 963daa4dc2396157e1ef6dd0abec12acd61973d7
+258dba8efe817aa7108c52a4ea842168cc12c560 1d47ba9185604438fb94969c30cd459e76457519
+ed473c7bc4912975141a58352ea7458ca2c897ee 1d47ba9185604438fb94969c30cd459e76457519
+b7c28236d7b61a16554413c16ae838a1376f2d62 1d47ba9185604438fb94969c30cd459e76457519
+423fa7b69b2f54d5831e4238b39b98903661fa40 bc88c097ff4117ae9beb497ab92ef6806986a850
+67a782b1e750da3067356d6ccc8f07398e34c8ae 650eea07e76a01d958cba3953b3a7dc8995cadbc
+74798570fbfcb38bad047d8dc44e77537d271253 e1197ce520bb84a3a214db2abd568d02e1f9b432
+08d40d05e434f366f596262bab34c4fa4ca769f0 65d9b9417f853eb69a64ec0192d32061f8ab2478
+82d0e1300a7935ab406283bfac452030cdf9aad8 45a43b263f2f2addb692e1998d1a68cd31173e26
+8503565e4a91d507c46ab5d8f2739172120f94c0 3c49fac206dde7d773805e6aea289f11e6c53831
+f620afd4f276469cb9e1b6f36766c7beabb932a4 d016ea6c030b9fb405db10263ec2692ee46b1378
+bd71dfe08330e0aa91dcba2a80528b8de588383f 7d925c54e608ac15948288ca7492b8383dbf1f08
+74c4fe1ecedb9c398c94b15b986e4f1795a32747 8b376a3f766d971b62d00ae5cd871c8fb1dd15fb
+be2dd5525c7c0a973993cbf033c1e1dabce8c4bd 2666154b543bf214ad7792906557ad4390f9256a
+46579b5e077a7e5e9ec80fe57f5fd47f5039b2eb 2666154b543bf214ad7792906557ad4390f9256a
+a805fd2ce448bb35e35475dd94118a7be2fcedc5 5b0735e2c780cb7ed44c499096ba860ed7b8b4c5
+dbef24b8a9dc17c638b90acfd62fdef074dcd488 cf45c3715921f4dd7c416fd4dbbe61035de69d86
+ebbd8a171ae396bc189ce237515f1c139551ed34 2c217e9e98b6071a96c96363fe1ab3a4e332206e
+cc6f27169c70ef41f5c5e9e841b3ec3286909425 8789b2b3b0290accff23b71320561c59b585dc04
+485678bc188544fbfd75420674ebca824071c7bd a2d7e596a68f3f969d53362bfc83fe8b2421d31e
+e62b1d1d7838f95636cca4c854a405c5b07daac0 18ae790376157cdac157977f3cbc29c81f8272ef
+dfad296c6b85962fd420e1e21996864085492088 8a8f613524e5b232dabdddb13d3e7025aba56fa2
+caabbfde34fcba756b9f21debabc995aeb68ae7d e2821d7bcb3f33a45d16ac9b51cf40302732ff0f
+686415d19b2fd0029e7ecbdef5c4e2e1cb6cc93b e55ec453c1e7c744cb2af89e280a4b2e2dac2f8c
+b54ebba9ce923b172259e967b1a481d49ed87017 3134a5b5041671586e3ed9c2223b119551b59f75
+b477e3495ffaa6086fe0e3e5fc7dec74886deb7e bafaa240f8f10dcf9e5ae42b64ba6ff4325378b1
+3911ecbb112c2864cd6259d6b37ed2c73821037e 7cd91d77c49fd7856aa33ee768b68b579fe0367a
+9d8115c30ed8ee0808e0a8fbbc0805c27708c2be baf77ec86a4e5ef3acf026477716789c342da923
+247e705154dc48640dacc513575da2d95a779ef4 fe457f9d625bf1694217462217cd7ad4cac2bd34
+c8f8540441234d38bedefe5c6a9c4c8269f75744 ec25097126a9036fde8b3f032551b6c47a7913b7
+6d3f4d0bb67eeae9fec3e3d47ebc9b7c5111e6cd b5832cf0590cbfe6941386bf9316412a71785188
+2d7c1758647cdf53b09bb7a6f1e4e54b7d8f8fe5 e3b3b23b1dca0a8dd62fe9aa60a9de7c9b4f16d5
+2e943ad94ae68fe43435bdcf12df987cd14d821c bb20bb301742f593eb057ce3bca1b2f9afc18475
+4b92152cd25b7a4116ce31ae01d2240574a55b64 e82e85bad7b52f2ef50bbb0b8589d6cbdd5b8138
+28e75341903ffe829573e4b15f51a2c5486cc5b4 4c2ca960b399507866caf91f6ce1ee54e380d3f5
+11101009f939ca4fc2f5e4cd2cc02ab0bb08ef56 823a56575dd19c495c5cd264e5c69fa0f9b1f344
+737290b2b17ec2b07b85a9d46ee8cb11cd08dd45 4d28e4fb7023edfac3121f364b243567c12bd538
+fd4942e21fafb1cdc17b12257c65070977753831 96709556325269f03533e9fa7d4817e6f1f0ba5e
+2699a03f05b5399ad1a7d247fc71752b18c482ea f7cf9dddcfe1aa8790566755254bda0b0da54d44
+c5226c45c70fc1d350e6a34c132e46f0f129f11c bf95044fe7c5e0c36a0119bc2f620d9cd8777327
+90b50f976b9ba43eefaac6ad073ec515c143c33f cca66b2e15765b2d65020af5f86a1db6ffb603c3
+6ae3b712f8f0eabc8fa211bfff0cdc33cbbb7385 ffca31d2ffb230bccbecb4430dcc9b8e23bcfa5e
+3f0d1336b28cc7fd20a245513ece7c518d1c73e2 4b9a5d48d735abacd5107835a05e3e38d758e044
+75dd92c763df3ccb3d8c9721e3b64bb260f915a3 acc755e7cb7e3528b6150d27d5ba3b6bba975494
+b1cd00fdb8c467f4f6ebcc63d76633583984460e f51f05953f4370171727fd04e16d50767f8525fc
+9515945d40be9ee1e11d7187399533b2e2fb609e 48a3bc318bc9201631f36be00bfe7a1244558f65
+dff02a6d21188f48c6d4e4aec4c672d9dc985583 48a3bc318bc9201631f36be00bfe7a1244558f65
+3a8383ce9dbe163c635cb4aa1d01d6ea49d9a63b 03d806ecf23724b60ba893d4a87db854e8439df7
+2523ea61d7cf2ca3726ba3ff69d486893e3b747b 0a4340f78774d63a649d5d407c933673dcfc635f
+7f4de91bd9d3b0ae78c6690d59debf49f98452df f8355383fed91ae2077b39162f132855ecadee57
+d436b5749d2a59773ad6c41aa355da9e90b4cb3a f02c88940e2ab07ebfb8f0686f2ea7763dead63f
+799d366259e296539a98ecf05ce3ead7ccc9daba f264ed2caa7363d2d054c422f95aaa741febdc4f
+93a189296b28b880d8191f72da4dee207371d5ec 5b6e26279060e257bea035d5ad34feb4667b58ad
+5644e80b48b8defb25bc8ae47e0d23c7a37c7849 b4f79df9fabcd5b1369c59e12e1e082983c5921f
+abd052236deb51f2e976b5dd670123ef91687fa2 eb70a516a0facd8fba07403bad511b2e38e6fcb7
+7fac4cfc3554c384f5e371e53c8aa50cf7b40b6d e37fa8b022e5ec0f690b113e89c9454f2b3f949d
+78d0bc23f407cc4f8020fac2068649f6769701b9 3a7788dfa9596b66d4e0f78e263fb74eb0035968
+5892349a47eb77d91816c78bbe8342ae86ac35a9 b16203efce47836a9ba54f82dcf800d8958bed84
+62b10682b92582d27303d95051a3926dad4cf41b a8989974c5a2aa12ae9131a82b6216f7beac84af
+027031f002897d2902a47b338fbd262cba61126d 30b70d4acc25c07f028c172a2e42b05536663dfb
+fc149a8602419b5e1a8ceb8336d2c52be1e037ae 11233f41f0f184dc81c08f05287eddc622e9fcde
+64e45fa4eb827bc3e56daf40a6a84e25623dae49 75bc8290e9bdf5b344b7e93f0b5e9caba9483a07
+7910efa551877b6d82fdd84352ca0bfe1fc50e2f 3e94ad3e2e36575a386914155dd46bdb0f34c85e
+4b175f87c30a6de04d9c4a8d4549609636af9c5c 507f41318ea1ee63e5066aa9d2968851386d3c58
+2d3c72b8ec62e2586e5217e7ebcc0988e769446a 741d4efd0bdfa32901efa81d9adab911d57efa67
+7d670334b966d4ffda051e5ea0ee822361236687 cf4a2e124730bb54b2cbc946fc3fd7ebcde124d8
+15aae05be9c5426764c374eb39ee2fdd8101989d 0bd9fa2b788fae207552588f04d6def6769df85f
+2bb46d45263f65c1df0cec4606ba2ee619744159 b25c7a386b9f405f3462b4268b22b7e73e79d231
+5907739456aaf1ea2f2edb9319d16e84318b6679 b25c7a386b9f405f3462b4268b22b7e73e79d231
+6ca4b0a661eed3cf37201615bd64f85e871ef75e b25c7a386b9f405f3462b4268b22b7e73e79d231
+75bd464f4c5e650eb7a6c1910861cc8077584ecf b25c7a386b9f405f3462b4268b22b7e73e79d231
+123f8db587c05127c4ebfef963fd47697cc73842 64d1e10972102b41f3ccb253fec7556e75c54e5c
+d8c250a24e3fa4b7319ad60c2ba5c4fe832098ba f64890d73f202818d4fa1a4bd20b9f00cb108e42
+aca34a26463dec4195513d14f0e04520de0f04fb a15c776989a245e256e9591d5714756d21cf59de
+56e1c4953fc45f6a40b0a2c187d714e5ba088219 a15c776989a245e256e9591d5714756d21cf59de
+3e57d7b60d381f5885f0f8787d4710233185e667 a15c776989a245e256e9591d5714756d21cf59de
+739b559f472f3e59a2ed8708a3fa09bef886b9af a15c776989a245e256e9591d5714756d21cf59de
+168a70e15f9524a7a5c2810333ca7df022350ea3 b320bc1918992920c38738ce07f4ae32452a7b62
+c95db7e555f1d12b6e4b0e03c6a7ec744c60d2d2 31e1ccbd01d2f1ce8ac1a0008d9201ebfdd4de47
+c42dd23a425479975962de1958a59ee9e91e9180 3cdd0cbc48ce18d5e1b4fe8b132c38f9b3c84c38
+73160448a425aa6c26c9f5d36f4c254bf87cd760 2289fa91d5a0f5a50d5baa4e4f3f1d8c4e895346
+adc2b736736fb2f980a2b4bb6051315e0d47bca6 dfe7363d2cc1d00fdb0e690bcf50783f40e751c9
+ba1a4f7de91de88d8b7f4cfcb95fdbf75465481a 22c2326b8bbb79e0282e880c7f7613712c58df89
+f162b07bb9df0d8c550892a73b498f8f5030322d 9b2b2670fbe4ef98473c1875127952e2314a5dc7
+8be8ede723f2bfc4a18e99409ab09275485e33ff b909fdcb8e91448305bdd6946a629d9093afade9
+58ac04dcdc28a7bce57f4991389aaacc15a13823 05cfe1e6777e60e11760f965f59d0b3e48c73588
+51ba48c956b57ff0054950348f213b55bc3e5fb0 f31af4e32b67327f4e0f416a0456be1199765870
+2b69f55370dbc8a8c5be47ff5014e765a4290f53 52d96ad3d39be29147c5b2181b3bb46af6164f0e
+ef39229d5e421cc1c13202796b1b0c91017fa106 b320bc1918992920c38738ce07f4ae32452a7b62
+0b66127d4db227f6ca68f33f9d201ca09e779eb1 52d96ad3d39be29147c5b2181b3bb46af6164f0e
+a12a233fd1b60e9765be26a483a1a50fa303f95d 08acc5652d621e4295744239d784edf56e58e695
+5c7637254bed46748ac55a1402aac7f7a14cbeff 08acc5652d621e4295744239d784edf56e58e695
+ee0e9baaccf5ebd3cce7ee8d6caccaf009179317 480d6be8efacc4ad88ec875da90e8139342d1ca4
+532ad97ab23114c0bc39a72aac7a8d3e9c3729b7 480d6be8efacc4ad88ec875da90e8139342d1ca4
+c453952ec5f1b1427e4cabe01ff48572ba383318 fa15b53cdb2940879b9b884859205bda2700d0cf
+0ec53280cc64342a1d714506ddd4411720d29245 fa15b53cdb2940879b9b884859205bda2700d0cf
+bbc166261efc03aaba35657ead5e5eb8815343f8 fa15b53cdb2940879b9b884859205bda2700d0cf
+8b85859a0901e6efb324c9f915a949668be917fc 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+558fa8de1615596983df1b15fe4f4546dfb85b06 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+a5d5390649d60374dd34ed12cd0b25bad1801f4c 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+3302816e47f30768a81d05b3aed87b0c90707463 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+faeb5c386435d30407a71077e1d12a6a7b11c765 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+ee76ee8622ebaf1d01be72e36bb4dad33e0f25f0 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+21dcfb76dfdd2d3a8705941fd48822f32f29aad6 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+e2fef89a7f5f7943016224d720ec439bfee330f1 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+976ebef0c0dee788b120a3816a6415ce65385016 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+737251aa0ee203ef7a24c199fa3f83249cd5154b 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+3c6daab3a0b0768c84f0a043fe9f7ac0ee44bc8b 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+f0f3e2ca4cb06539011d4718855b3723dbf8ee32 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+7b0c25d74a3a0543cc4c66e456cf6fd02a94c5ea 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+3baec7872cb24380d992e792495d1c173236a38b 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+1fdc82f32dd65ac1ff28213e86f2a81241a6fbd1 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+daf2ac1396b73092566247fb30b58067b4309a93 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+5925f9ee211b7d3f80989d44ed0df4fb96e209ba 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+8815bf903cb5693cc14710c78762865956fdcdc6 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+536fe63cf13beec1ef36b3666362926977cdc9b0 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+d4a58073d8268e6d98ad3b988ffcd1a2795d7cfd 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+368148b92d2ad0196b686f434df42c4176ddee59 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+928de6a8e3ecfcc8ec94a5da078728bf3a2ef0ea 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+b2b194ceb5c9720d49c9046b9ed716ab5af8c9f2 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+58e1cec26798d852d63402405144181e7da8b3a0 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+c5fd35a739949aa6db9e57224f4744dd79ad5187 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+aa7b2c219a5d0da5723afc13995eab68a3adc309 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+b10b0912aa9ded88b1f1917a2339e0d0c5b4aaa7 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+19b13f42fa38056ee32e5dc669caafe9f5ab89bd 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+50130d0bbb890cdc1e9b4dee108d441701e6ec4c 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+101064a2fe4ea5dc376429dfdb71f0a9d5668779 76795f53e33ee95d0d7dae9ee48bc5f4e1747631
+ec86447febd40d35d91aa2b949627d1d3b2a7578 f42781c202f93d0f6450a7e3a9d4563614705a87
+e03eff0fd664819cf940f5c7c0aa5229d1338cf7 13d0c282878c15b402c077769ef0c01e2ea3c713
+f932efa2efce8b68c1e1f505802e32aac93edb43 5a6e49e195c40b67c1dadd55611db35768ab97e3
+e072297d7e55834e6d8656a19d766abf27e31fc0 4aa500f7e983efa49cd373e6f7ffa443507c186a
+76ad7ab9898f7d7c1e00ed56dfb8824323c5096c e032d6e479de36cfa0a283bf26206686ddf2ab80
+8e30ab8802dac71228c5da5d19288363a7796fe6 58e0bfdc37b4373be4cfe6bb28251ee8cdabdf4d
+54d37f57b0727117370f9de555476a559596261b 25cd6c2d0ffb571698593ca3671deb62260d6cee
+6ab73807689ff0865a240833eed47ae291fdd971 7bd22c5a8a4cec6f79e34423c946c6cf0df3400a
+c7e2df55f5e5dfeb326de0f3eda60f640992ac38 67cafa28b4cb34a575d33784aefc38418db75bdf
+3e04c50d21049cb72a7514723152d51a69dc7aae 8e954a3b78e2fd5a0609f46bcd0ff4319ab0d6c5
+f50615a7499216d9b686cef78ce6306cd21d2f76 dfc2c52935915cd4c64718036e3a5d5eca3faafa
+1ab75c401e637c584db1a46b7901e260242dd7b6 21ffc905f9b614df56e4dbd0e606fb0122032739
+9ef54d373aeb2f0d8b5ba7b2b3c5df9e13a32f53 9a3d7214d1776c3b0ab12dce1afd40f26eec2a09
+543076832286f8b228360ac5d0a2a0e176a57053 23e163b6c47f6b79a2072a372eae9067d2d9cdce
+9d6c38f54c976407faeb668558e877354a6a5452 26e74fc6c28768bf3e8e41d621c68c31c4ff387e
+c91249038904e2e4d779d7c24ad0ad7146e6dde8 2055ab4023dde6fd3cd50a97b82e49a6bd3d9309
+43fd074f881e5692c24a64ffdbd8b7b7b0bf4a9e a91a99f4e4835297289c7725bb9fa2e0e59ae501
+8e0cddf96ab2467b3a9a5bf274d163d0bf68400d d0bddbde50349149a716d369d6fdea28bff336d6
+c2685a613f5bcbe947e78bfc93dbd40bdd183f4d 16e39bec82a1b1b80cdf30eda6215230fd77dd0d
+b07bc532bb543358038703ec3917003fd401293b a769eb06785322e7b7f1f07bc4533a3630d7907f
+0e418e95733439bfce135ce74ff5aae87f08cc7e 82b45594bf2dd6e1f74facba5a5033c6aa4c3bb4
+3ec32aab798263681153b73c84ec384bee3d0e7b 33aad42154243d5e94021ab880a2f5f896b5a101
+a3aa11638b8cb21ad3a9c520377bbe9f73f3b335 37a7a7027ec889ac4d845064df76317f3dd4fcc5
+f3cb59ebe43d896d5e28ce6f09d770736dc1369c c1d7a5661459d2942d5aecb9f731a954643a818f
+d80c874523e0bcdac84a290181e493cac2e6c1d9 6546483059865bb48101b68380fab41e79743865
+d7d03abd637b71a65c75b64e28c12bd0308dc2c0 9a6f84d2aef2ecb821739877807927b1275da5c2
+067068e5a65d0d81c606b59c1238cc6df28343ab e2a07f091b2e39f130d933f7b4c5ae6b9798a8cd
+c6195da89e19b1553c9d53da90ab7b175d21a8ad c878fdc8677327083c974f18f452b5f131ff1e1a
+857082fc7b3a1cc9f3df7009a09d845fe6695b1e fee02c33613480f161154cb22da717e92f30acd2
+7d3ff4f7763c9c7c8090324d1f47577891c9739b d78e718a49bbf2502bba2d420f3f0bc579f7649b
+ef67fb4e4912e6567fc5c94ff2d22fda04d2520e 6d838674eec63e48bb1090a0d8108ff59e07e13b
+6d2d9a196249432ef7a2dc283f182f1512ce5480 181dadb0019f18c22b1115787883e2a6292d9b8a
+29fc42c0ea87fa422ef3277e53dfd767ca25ba94 8dcab62ed9e97348e9c1072602107933e3220485
+48dbab0fa1a8a854db31299cb7b5b52347d07a5a 1941d901e81c36bd4544d39a8d0481d49627c02b
+c7928f878cbd5371f04e348e2eee44826b1cca1e 5ff45443bb3fba172446d902edc77a166299326a
+8c1e73aac5d33054606e13ebcd4445a8d22ab108 5ff45443bb3fba172446d902edc77a166299326a
+66fb276e632787a7c5ec0077aeb184d13100799e feb9694afbca366e88192642d565f7368e3a7321
+1a5ed69f5bec19cb64207e758ce5a00a5b9dc064 b6207c0771cf99b71761f3fba01a0540fa45b9dc
+0451d9a753a979247d5e8b28ed7090071985d065 feb9694afbca366e88192642d565f7368e3a7321
+a58019be956c66e11b3349e3ef8349a512b5acf0 b6207c0771cf99b71761f3fba01a0540fa45b9dc
+6145efe11db4c16322cbd8b4b717564a147be24c d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+272bc00961e8ff7051c3f8e841d93b0101ece3ee 1c551c281f30b2d4e8296b0558de752308c25954
+c465a45202ec2ba54685b0055127eff87d5cba20 d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+1a5756e4233c627598a47a1e269e90e38e3598a1 d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+6f6a4b81b81fbc2e3bba3f115b7b7cc644bc718b d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+dcef57a149ea3c2338d27de0e952c66a43a87692 1c551c281f30b2d4e8296b0558de752308c25954
+2a155b4ee3bacb22535d27ef4dbf78b0b3870280 1c551c281f30b2d4e8296b0558de752308c25954
+079853d44e25b968f6aa7d1baaf840e25a7f110e d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+dc38aad8139f0186890b3823f31c66fb8f1c24ec d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+13c66a3d84662b2c63bc5c38266aa85a70fceee8 d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+ed7ed3676f33b3b429df344d0a1ab1c428956fc1 d890b9ebbac8a60ed7d2ff723a1c2b8b03029726
+1e1b11f736a99cbe7ce500a8f30f12752a7508b2 f3db62a00eda7d1d62aec3a94f5dc7a5f29d1de9
+ce21f6230b2358a7b4400985359c20af08e84114 f3db62a00eda7d1d62aec3a94f5dc7a5f29d1de9
+188e988a29e5dfb6271dc9368194cadf2556a503 205e5350cd0c34e0dbdc18e6526ef129db04c69a
+93968f04c8cc8cfdbf4b36695ee42234fc4a79c3 f3db62a00eda7d1d62aec3a94f5dc7a5f29d1de9
+0df4eb38103e39b64418b3e7da71d648bae3747a 9ccdeaee7ea2674f2ed6c221e774db97578fabb0
+378d993e9d6a74134d959be95fa8ce400c1697da 43130add6308e26ba2d0db42b996a79aef5d4cd7
+864527587f3a776f454f7701d3fbcc0268ae0db6 45bce29b9b92e7a40657744f69889073c4f61aee
+8e5c50b3e7c30b6e259964ef50fd6dee5c596f9f 82a9ff1ed403ef4ac837ded4fdd9d22689dd37c5
+6e45c5dedabb8b6ec02d81475fde4dae549f57bc 03ce371b122571519a21e6618b034130b9210b0a
+7d3363ff4f867c2763729619a74638dd53b3a508 03ce371b122571519a21e6618b034130b9210b0a
+604bbe106376e1c6223067476f360b342fd0cbc6 dc9ce40ae1bcb703d95eab2198c2c617ab4e8ce9
+efe8878ea77c94cd0a82248d1531d8688b0c7418 fd4ded0806b26e4d3918991cf49f868456f8edb7
+c612d62b158e822675a3a0e9ba1f2fb424c54d02 4b8ddb24829f9c08246002c0cfa0ff332179aea7
+8afa50b965d611d915a67f217fab044394aa8a16 45a0be777601b28e6909ffc135412673524649f7
+3045b7945fa127290f20067f77ec8d8590b962b6 0e9ab5517cc32e28d8e4417ed5cb5c46988dd53b
+4959cfd93095a5cd2f2dbe57c717548a34514df6 120c071cebd058282a51c51cb59ef5d9081562e3
+59637c0728ea0598e28d96305cbf2298c5fa90b3 32698af4a1668b7cfe23df276b85f1b0f394ffeb
+8940b2b4d88a391157dd65d9f7e7b7d1dac2660e 473daf3d62cd8c3f648c282ec06506dc747801f4
+1c0e5f18165937cb4a46648d4a6889b824966ea8 473daf3d62cd8c3f648c282ec06506dc747801f4
+b3697e77eaee75329c78be88067df3e842a66fbd bb644526b987f71a19abfe6c7ed9c99767caee65
+b741f0ae90b0fa3c82ed8652656f85d2fed2dde4 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+31ddc62005706160ecd658391b4a406e04e4bf01 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+dc632db7c821308916219a67153b6340eb938214 f68a80db116833ed1811a67ece681da86a7a3b24
+97d3292c806a9cae005a24159b641e9e89d90f46 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+ff659a495a617551b02f42e20dd8e6f6d0a65918 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+b8c811b7c6b3da1b57d26d527a34ea75274d44d6 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+f55701f73eda66c976c6037ea50bf596b220375d 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+4093c21d0a5aa5b07c970c0a9e986c6f89134721 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+9239e06138d2b771ef8715fd444dbddeadbab867 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+4b474b2e65cc274a3746cb4f6e6cc052656e2af8 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+4e8aa28f60d6e387d2a16171b58c9f9e52c03661 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+6fe0d4072f0661faac95521ed9100f1d245a2b83 9dafaa7493f39000be03ce4ac6e3f51a7072b41c
+a79c537a5c3f32e36532a68933fb45e83cd763b8 61e3482b14286b03a610f7ad329b57f30e549ab1
+83a95d8fb9cc51882e8be887ca911326e5ee11e8 61e3482b14286b03a610f7ad329b57f30e549ab1
+42be471a80509046b8cd5d1185fa8124c6465c96 f68a80db116833ed1811a67ece681da86a7a3b24
+ad38e1f02905b0b52e19419e38b5e395f4b57ab4 66881fdd5e8efc0233c76e1be3917952f8ec3144
+87558a7ff862c8b606b708c3645d8c535bef0593 61e3482b14286b03a610f7ad329b57f30e549ab1
+77bc07c44084ed190da47721bae84d38209ae22e 61e3482b14286b03a610f7ad329b57f30e549ab1
+4eca7253fe8b99ad0202268ca21b053523efe146 61e3482b14286b03a610f7ad329b57f30e549ab1
+6773dc3630b8c28393dae5ff38d421c8ea59f7f5 66881fdd5e8efc0233c76e1be3917952f8ec3144
+f8fe65215a1b9fa94a7c78d99d556f8f63d68eec 93f6742a3581d5f5053ca2f4befa99c786dda2dc
+9ae910e6f5754bca6d3339484d0edc944402d688 61e3482b14286b03a610f7ad329b57f30e549ab1
+545efb86faf093f1d237e47a1a8d6395325189cf 93f6742a3581d5f5053ca2f4befa99c786dda2dc
+7281a3f51f483dbd370ecadd2588a46ee2e9c2f4 de72c61b1e358d5003af8ead6bfc70293d0ccd32
+72d167e38079d39003aad34f569e9afc69c91634 3d1cf5cb48be21ad5805e93ef5c364580d355927
+896f370b645072666d14a4261d3a81cbf2231913 b09f3a23916947c516f1b9f79a574fc47202707d
+e0826b62b7c5daf322f1b96da2c67461b6478b32 0577924acdda72ca5f3459abcf4df3207a46407e
+f1a4848a26f6e72eee47b34d3d30786545f75376 abd2459d6d8e8b4da826bfd0b5ae4ed09071f0b0
+48a04e8813e53bb1721a113e357403ece5d2d7b8 e23b5819bd7e38c3057f7113125cdfe127135131
+e3c8e7d3f1ab9ddf17242017bebe76043e31d3e2 ed42c0347af957a72e92b486b2b138869c4a0aa7
+3898a7f27a481c1488c8448d25a64b16651f0c19 025c848f0db4cf371544802fff68d1b9e70e0d8b
+9789d39ec8efd07953f4cf6a881f0d75bd7d0e7e 025c848f0db4cf371544802fff68d1b9e70e0d8b
+9ba1e6a49c4d75137997d10e8948b411d2b5cfbc e8045dfc75e606c042010fd18aa11ed194c845c2
+cfd3c4819da3c5e4a351831db68f6a580eae3380 7015875f3192ad041833b5bdd9252f28fdee1946
+e3fa845faa6ddd967089faf87061a3e1f3db6740 16e39bec82a1b1b80cdf30eda6215230fd77dd0d
+c64ee0098f56f7a47e1bf4dc9aabd08f2ec86a51 7015875f3192ad041833b5bdd9252f28fdee1946
+b169d78f0125d7c84eeea2c01871dec3592e903f 7015875f3192ad041833b5bdd9252f28fdee1946
+63b65bde6a3aa740a2090a86375083313d773896 7015875f3192ad041833b5bdd9252f28fdee1946
+6268a254e4755439cbe7cf80e536725e41d423bf 7015875f3192ad041833b5bdd9252f28fdee1946
+5a0f52554105b8192e5fbfc21455ed03a4717eea ce8b08f70c3e9be997ae0efc7099626f6bfaa756
+0f1870ebd12ba3361a27b849561304e6abc6db01 91b76cacc3bed6c76ee911f903a9ebc8ba2296a2
+6bbfacb112f09d41f7f810c68caeb7295811137e ef30a7d9fe7a6a26740baffb1b2c0778f6ff2c0c
+ec2da06335624469c7e1eeaf279f3346ae61a6f6 9540a0c240bbc2bbbfdc3b13300d7596cd9caa8f
+1e25c876e60c8a4ee70acc41bfdab6c1300f602b d55f276edec19c4f4ca8b3883fa59c2bb1a43e0f
+1636ff3e4ee2844e56456345959d8bd58f090c4c 47f16dda5cc3673e6c2e46167a74f5dc36e6335a
+a0805b65ae2b7af02b0fe02f31151ca9ee2b31a4 07e5f69d5fffce29297186821f55ac0dde907700
+8b5daa7fb5d6a947af14bb22c1b79a8b90bacff9 86ddf535aebcda8adf7223a4144918ac7555a554
+7de6e601928801ad062186225e30e7b45bbb018e 86ddf535aebcda8adf7223a4144918ac7555a554
+7ab316839e5e3d0cc0318b8c96e168a18b67bf1c bce7d1fa4e7ac375456b7065ae8f873b0a009344
+22eeb82a0c66d5dc68ad7ef2059eb201dc7a4ada 61cd9fb7cee7fc626ffe7df56fa38d7a152e1480
+e3f24bc2ed45d7a04cb8578389191adfc684aaf9 633a71b9005d4df56d5b6e9810ae9db403d1933f
+d31847bc6bfdd4373dfca7063700413cd1627422 ab9809c2f90a262d1eb118e41cf919cb247f534f
+b9d55cbfdc95669d56f4cfe0a7c14701c6d9804b ab9809c2f90a262d1eb118e41cf919cb247f534f
+fd82b55c486e59073f99fee4aff2086972ca0aab ab9809c2f90a262d1eb118e41cf919cb247f534f
+1257cc7cf779b84dbd0f9d1fded2ac245f514cf9 ab9809c2f90a262d1eb118e41cf919cb247f534f
+d08bb7095bd531d451b7bf0c1079fa9328f82beb ab9809c2f90a262d1eb118e41cf919cb247f534f
+ca42592f941252d98eff61f0913c4afebddf088a ab9809c2f90a262d1eb118e41cf919cb247f534f
+43571e9fcf33ab2ac33570776bae15b076f50c2d ab9809c2f90a262d1eb118e41cf919cb247f534f
+1675491167913c173d4eae6a76802b472774109e ab9809c2f90a262d1eb118e41cf919cb247f534f
+812367355ca34100b85ed346cd97652f258da25e 0971c94d930cdfeb755f0eda31c1f34dd896e61f
+b13b131eb96259052e8e531c3247afa7c3817974 d6781e22543acd7e21b967209f3c6e7003d380e3
+a17bf6775c5ed10d81abea7b2a37a48c82baed3f ab9809c2f90a262d1eb118e41cf919cb247f534f
+89b856d80b193f55eb472fa0d05090217831f771 d6781e22543acd7e21b967209f3c6e7003d380e3
+417f22fdd9c634023bbce125b7dfe7c042aa4f00 6f7a0d771ca8d533f65c971b2e0291a13efed026
+239d78246897a3c4ce8d006a38fcf84eaa0519fc 6f7a0d771ca8d533f65c971b2e0291a13efed026
+5d6b8243f0b6d5180233f71990bc142621173322 d6781e22543acd7e21b967209f3c6e7003d380e3
+75cb0d302f2410d97fb8e279a4aca255272a8c0e 6f7a0d771ca8d533f65c971b2e0291a13efed026
+60c5210d3f14f7d61573c5b9235fedb0d3f30cdd 6f7a0d771ca8d533f65c971b2e0291a13efed026
+fc563f3769181a912564034fbdbfc7bc62433bcd 6f7a0d771ca8d533f65c971b2e0291a13efed026
+6802bf77237868b45ed8138e6eb26cd2d06d2028 6f7a0d771ca8d533f65c971b2e0291a13efed026
+3af820d2f4e962fb80d4e9f39288d0af83bc4d67 6f7a0d771ca8d533f65c971b2e0291a13efed026
+e262a1dfc0e9380de3e724ab92c2f8b5e9c20e8a d6781e22543acd7e21b967209f3c6e7003d380e3
+3a9e79298a1ae1cfc99e569a03c082ebcd388c9d 6f7a0d771ca8d533f65c971b2e0291a13efed026
+3fb8c4b7c4c480ae9db330c35f039fa9b4a30c91 6f7a0d771ca8d533f65c971b2e0291a13efed026
+c5b9590363cecb3f8be34a448e8202806d67bc9a 6f7a0d771ca8d533f65c971b2e0291a13efed026
+6304082ce2d4d6fbdaef0497fa9165e4c9ea5f92 6f7a0d771ca8d533f65c971b2e0291a13efed026
+29184267c4c86573ff84ea02e1b80d04b617d95e 6f7a0d771ca8d533f65c971b2e0291a13efed026
+5813ecae516c09db8eb970ee5ca65f2e6ff8e85f 6f7a0d771ca8d533f65c971b2e0291a13efed026
+af891a91dacbab401e93f9f1d96b046460596638 6f7a0d771ca8d533f65c971b2e0291a13efed026
+18fd4e03925990058662a05e0291bc9a10af77af 6f7a0d771ca8d533f65c971b2e0291a13efed026
+20645ebe55e77e4e43c0a269fe602af31a6c47e7 6f7a0d771ca8d533f65c971b2e0291a13efed026
+45769cb4967240801cbe65eb363eb4716a6f83fb 6f7a0d771ca8d533f65c971b2e0291a13efed026
+77dbc4e8021d92462cba78114cbe1cf34b658862 6f7a0d771ca8d533f65c971b2e0291a13efed026
+49f6e27ac5d3f9c4735f0d102f05d38e1d868a81 266a811b010ff7d9ac92e22b5034dad027822d69
+43e6bdbaad866a0c5104a62452d1d231c0189018 20a36bbdaa0dc2fbc905c2adc715f677c44ed0a7
+dc37b4590f4c1abcc65d095f2aa4d087cab7f2b7 1d5dc29f4d21557e2d0056a6388c027f8a2889d7
+7a01334165855faf11a45a108d25f8a0206f9a21 1d5dc29f4d21557e2d0056a6388c027f8a2889d7
+909fc2961c807761812aee74283229551b604761 3c8698985fc16e87ea2e513f1b043208a748b6a9
+4779483483f6f3ead41be3502a7d6478b7876b38 db950f80095f2a644d3717c625a2d6495e2a0718
+5db38429ca97ffbbe59d67b61a41c63d68e4024a e6a592f9cb3da79f38ba45e58d4a068f7d6c8654
+5d6da7f8d92f5a930c764a6977078c81611881dc 03ac59463169fc43883b95ca3ac81fdf304fb239
+54ac1d27f7cca6108efc368c84a2a52e18d7e426 45a8442983d0462d6c0077727598d7725521b665
+f2578f2ee4173065ded6b777dd5a4378039585ac 8ac526ac5f82dd7de6b4cebbb85af0d083be79bb
+ac6c94d7cbc97f5192f782fbc8c17911a1f96036 6401f0efe66eb881c5e25f8d5e07d3f62b49130a
+475c99e510193bb97f4eebdb2f4245d8172a308f b096eb5b145448a82a542c112008b05c690785b1
+c3f02edac78cc1b986e00471ac2c356c70c24cc3 93b0a7f5154044ad87a5e77ecb8b5c3c23a90ddb
+5b528304d129fb23ead3e5fae982517f87d77558 2f78ae996617ce8acd3afb6ccd44247511d98648
+d063b82a5be1bc2fc85b23f05f1b24ae43fafe7e 547eca769016ba139c0e4d2f723846d79b0cc8fd
+8f276e69c23027c8e741aa0f1746bf9a44fc8a13 7cb6f5853da381e09c17f4880104712fdb19f84a
+e722712e7cbf360c64768598bde651e8b399a186 3f2c49e5f30aa8e359cc2108549e56df82d2a5da
+4b31dbc69ca78d90e4c78f912959e80ede0e2ca6 e916513240e90648ea3dc0fcd3a42caf29f6bb6b
+4e291c7105929201797f25e5c4108f231c9af00a 7fa95490a4664c3dfb018cb8e61e80c310db2b97
+1874c1fe80b9cdc12ede89a35db536f3de5b1e89 3800b2bab638eb58b27be38f04bdeb7c0a511c7c
+b05d25b955bede759960510ed25f1a1d4ecb937f 99f1816919e3d71bea4e52403a4226fb0dad8a6a
+88f6a3691e77a816731278de51cefe9d5987e265 019b812ee2a94401012e535e5a5e868a91c9abf7
+f87f64ff4733dd8e7cd4f0c3d07c90ca8d595739 e820c8a485ccf1cc715db4a633e99d59822356cc
+a35e0c60b09cb7481b81e0731bcfed6bb40ea2c8 1afe42cde71230ea556683fcb14bd25ac7a4d1be
+fb31eeb34f91948ad9bab49a68694f60cdf917da e1907fe0507b59d9996a399ab842beb6414de567
+f04420ff33d4371ee676334d3151b7f85b0e184e 7f9e6857856432810c4b5c0bb93877df85b8d721
+1aebf62c303fdc53a6b283164e2978893cdfc3d4 7f9e6857856432810c4b5c0bb93877df85b8d721
+f62b17733f913cc6d52a83765beb601064b028fc 28e437413c22dcab2fc5f155e56cd30d5d5399ec
+bc8f4a1a6bf212d2653e77de95a86c2ccef9df31 34cfdee5b2abf66b897a4270a08925d4d0c32d84
+93b4e8ed6f284b547dcbd08a08b29f928b961b85 34cfdee5b2abf66b897a4270a08925d4d0c32d84
+73a2d94ea6e3489cd6124014d4caa7c8767b74b3 003dd9461bfa479049afcc34545ab3431b147c7c
+a3ada394ddaa34f3159772aadf3501c2de4ba20f 003dd9461bfa479049afcc34545ab3431b147c7c
+157fea559ddcf9c20c4c309475a0070a5424e975 34cfdee5b2abf66b897a4270a08925d4d0c32d84
+fe4cbef4254aa873e36ae5326cdb41b7386c4cc9 34cfdee5b2abf66b897a4270a08925d4d0c32d84
+cd4ff476f247612c184879b9e8a5e74bc68392e9 003dd9461bfa479049afcc34545ab3431b147c7c
+8db6fe06d7eb3bacdf0fe491ac7d8cd285960e6c 34cfdee5b2abf66b897a4270a08925d4d0c32d84
+98246a9ac646164c08910cafebddbec90553cea6 a3cba94bc51758007782fcd8a08394727f9dee21
+54195b78946dc3de2f3166ab4a9d0ed4964db789 a3cba94bc51758007782fcd8a08394727f9dee21
+e8c282061bfe1de9a91b12005891f8b6246653a1 28e437413c22dcab2fc5f155e56cd30d5d5399ec
+5ec1da2c398294c4129c34d8c5c9ff620112cf9b 5a9bb7b07382860fa5486bfeb19a3362fe4057c6
+101308754c7f938f9a84417092c030fd43de7934 f63c6d2614c6b53ccfd1281b7f49dcde96ae57fd
+3d6e9190adc0071636946fe1150280f8477882ba bd12bde765406fabea9736188c7656a97f78a11c
+eaeb3bebf1512811670871862bf26a7a0539b168 5189ddb93dd814f5b8472a1b36ea3218192bf35e
+5694d50a4287d20e8c0ffc27de1dbbeffae8d19a 51856b9c0da4b6b862351c44d08693bc97e1bd34
+0410121f8baba16bee1124b5f717760952b58a4a 1b7546288f3d3eb43e3bb54028d240918f979937
+a0d6abe967c2468a46022661df808c21cb38431a f7efbcb5e77c404bbaa47911c3c2c46ffd7f4e63
+0ff93b82b23f7c11a5af575a0aaa5408a763bef8 a4c17a71c9d78dc950d9a0625cb632e9fabd59f5
+b965a754a71b5ba547a73e94d0ae69fca3bb3a41 0e79623336b40075745f01ad5154dc239a57def7
+b4f0d9a6f6e17e5e8b30612b4018c208b1036f48 6be9ed30ea9ddcae272c6a1edbf8cdd294d4c470
+34f7494e032e0b6829a57b999ef42313cf259ee6 630c366c75656b44559a9c9ffe6cf6a0bf97edcd
+1fabc7a175fd69464368aef57ac7cfcf72b2c4e8 2843dabad73f96665ff9b2a614a95f1359414936
+a9020148f3a537a185bec522ec4023e83465a456 bf00a75bb50137d2ba027a673a00f25195e3b567
+5f4dba92721634ca7ed453e846c3563c782c28dc f16c761db7e7638c67afdcc8f90c8ae5a44c47f2
+293b006df56721e1a0da02dd5b37ccae7c334467 e1447292c9451d8e37fa7b1775d4a5c25a673ffe
+60b5ab7ecb5a04804228718987cb25b514d5a66e 604d681d266bf2a05b2330a4b0076b33710fa5d1
+3286d5c542c9b5977e1bd76ec42b11f96114c2a0 604d681d266bf2a05b2330a4b0076b33710fa5d1
+590e7784ee00081381c7498f6b0d71617e57111a 39b2975bcc06082d843e4def95ee89d9961e09ca
+966e4bdb3ae43547db48d94c71e9cfcb673d9860 fb3f391d59b41e1df99387f90dc52e4e3fd2c609
+25285f64a501d164e190195c5a5b83f41b1f8795 dc8f429349960ec84347160d14e4a48c8bf9e7fe
+f706eac26910ba76c34502d4b039e3ccb5fdd355 a2c1e4c165d37e4487c91579c4289079b2ce2bf0
+1b3d8da26e867c207b93ef14ef6fc5b2c0bf63fe 3bcee9e0bb842b84cb1e9ad235b0bcff62700983
+9615d4e40c37260cdd3568d9ab211b76ef41d9bd 01071fc7c7fbfbf12d4b6c536c771f8d76a6b840
+145d21892f92def17a84bcc45357556c97408692 5b7a3216b0132aa1efa7e9625e3467ffdb2c6057
+7af0b39127c434703b52677f02f48e1e51640251 18f05ba255af4f94c92b4cc9f9a5c19a45c826f0
+148722b61cedd158d3050db4766075b0f9eec41f 3c69c359c6ee0f4b7b219e8ddcbfbe733c469129
+e8143d25a7a2dc77d9805f00641de0fd20c90814 3c69c359c6ee0f4b7b219e8ddcbfbe733c469129
+44281a4966341e5b30155c824363b812eb2f7958 fd0f324857db4bcecb513c43d73c51a5a35bbcd8
+fb1d5cd12a73c9772931099a737398310bb11dee 81287a5a6332ff53c6c811989c9ca3810319e0eb
+f7ba51da7968440ff10fd82639592d3fd7f04e81 b0f0b58049083e5f060c1c56a25ffad62a7d2873
+a33f5f34e9f44ea7163141388553c427aeb5e50b f9f1fbe482704ebaf5c12893399a40669271bd76
+eddc8a8fe308a92af61645348928e113fe91ea33 61b7422d46c32648e736c10f9b85fc0e0ad7cc7e
+746afc2335439c33cff446b07c1b9ec70fb8c899 b40d3cc69aedd3fbe7a1fb64d7e2638f2b2c16eb
+48060950b618665f56a7844ce73985ab705c89ab 7c88530e13bed90a95101cdf25e6672964ec3751
+961477460e55ed92a14729e0d8fa27412f8ebe2c 112092b62f0dacbd52831ba6e6609fa69615018f
+0aabb6a0f38df6032f9fb5b95089b0b3818ef892 378cfe7fbfcf1657ebc8ead8cc3d636a21443c25
+56ad70800ffbbee8d881022d9fe36406ed993914 c095289bd8dfe1d936d572aaef12e9f8ca2bf81d
+e366152d999eef749c6923193bc1af11fe170741 a3c0f3bc3e2bd03fc4ac3d17ce5127026bec5512
+101d4649d18e7e00ee6e4a05b7ffa0b9b4f8b667 e28aad0840493abd12fcd53b32d9f5a0b40589ea
+5549e27e676923c65259627a9dd573971e42cb5f 12c78b0f770f2b79731f42c16361bd28aaa79ba4
+191eaa80dd1f282bb2e18a94c88b7c5ebf0a1dc0 fc79061898f8401fa5d3cb96c07fd09747cf4892
+02c5599116529f8372b61528f2994c45854aeec9 dddc62a9cfaa68706c9a1c0c78b724745f94a9da
+97e38e2d0e23ff8d4d30936e4aed54482278c019 661f5f4e7b212302c0530f252c7e41b2576d4570
+afbd3b61b452645fa653ae0e36eeffee21cfaf9f 5f870c6920d163070172f644410d6478d512c3f7
+a42dcff4d7dd77d543793e976c3374705dd5dd36 708973604265b8af49db80ba5cbfb4ca41320574
+a85a199bc2b4b9e782e710d146712639b4c31036 ffc5302c6821c22627697e95ec6505a370c846b4
+7c0705242bab7018fa0e51848faaaf428e19d632 5d9a28795cf6f8160e4e48ec465760a5735ae402
+874ae9de09e1442dc69602f604af28098520fd04 34ba7ef27b9c2bcb4f0a1230343e4f13228dd35c
+90f929398247408a8d9a68eef1f630aee2aade5b 1c32856f09a4f5c1cfa2d908104f34f2c3ceb887
+e7a501c7a008a56b05b07a8a42b74128886ab6f4 4743cd8e4089627f45d8d8078e69c551973032dd
+1d85182ab9cdcf1d4e6b1ee0c30bf62554d16677 da423f609831c754c1476ce7b9efa26114d744fd
+166c8d3f78dd1051972a2f15863a916b7cbf0063 0b227102a794898ddfee9ab6852f29c2eba3d309
+9870f66520f7262cc4fe08b1927a9906ffff1cdd c206e8e397f0775e9e86b2dce50a6474c209dda5
+5fcf328cc94f8bdda2e5e02b83c809aa3c835265 79665f9f3a1654534fb89919a98e56eb7317dc83
+8cb33cec645b376082a2b2611dd77b74cf10a81c c0296c97f15b94396a2dc11b9ed102364acdf952
+1bb01f03f6aeff08c824b885b034ce473c04fe6e bd382261ab25fdcc847385fe5cb62ae96ec92cb9
+2ee13dd7023d614b524464672be0c64d0ed9e299 609f6f8c0a3adddc2db28b752ac2cb986aea3b30
+e0aa435ecdb295abd48915839680826d0044dcc1 a816e381914d150f756c547f31b796a0f8b70d3e
+ed5d010170dbefa2f905d87e5d86b071e87ca6cf 7785d00f49edb822cb627e4f235c466da2edfc32
+8de1ae55970584cab441c52437325b9a7080325a b9370c4a47a627586d8ec9cb0dae716b44f476ae
+e6d1f607caebca593260ee8f2c314036abaa00a3 6d66e3b2adc22cc0627e3706a6d5e6065ee8c7b1
+4557ce6334d1a8b48d2dd483c033e323a5cc7a46 32c318e2dee9a9953458dd3685312055d616183a
+df7ccbba82f601d2ad6438fadbd2eb4da8eacce2 4c55861d908e53796fd0ff55c5320966f4214e33
+97606b831cfb2e64883633a2d1bbee6e6fb219f9 1e150f87d6eb9d210083a4afbd7fe8cf9b46604b
+1d451d6b79d4c16cf6453ab78988db710fbbe0b9 3e681555bb8c6338310d6a0ad2458489d181d3c5
+97b876f128cb6dd906db5f680ef02aeb999ef4f8 91706c19a5586c4154f16a216fc629a60fb32084
+4cfa181ac5c80aad3b8e555a7af020466c7a2051 6cd6e9f4805b848e7a0e38d9546003aa6fd81d4c
+4c83dcb9ff7e0aca084adb8c12cf4a53a7d6cdd3 74b8f15b836d61c821099c34dc010ae6af36afcd
+da937d36e615e0fd6703e5017ccbef373756a5c9 526471ba84fe2a577a930ef7c40a98594e69ac01
+54623b5c60211c22e0be661cea92ef48c6fd7bc7 25eb6e4cfe0ad2d240d134bd7af163e8f7d90fa6
+9a337482d29e112042a4eed7235c82841b6e2fe2 f3cff98e93f8a2893c4c5ae0c694ba805db62670
+32ae77dab5f9ba64ea33f818a144fe01ea3cfde8 cbb5a0da50b89cc71e03223c13bd925abed8f4e0
+b12aef1507c6a551ebe52a79abc32be52ac11603 8d8a3957375b3b25cbafb87caffb0677cbe93bb2
+e42174fe4b36cccad1bbd48aed5b5cad9e0d25ff 7894a0611d8d0ef551a019230223067b982108a6
+56a8c2410e3ac64a07bbf93ba72d3340c9d2962e 31bff5da310fbf19066ff68589336b6c41f2ec0f
+221f127bffb9b32b805c9efe59aef9c1b5516710 cccd0a0349f17031e0b053e84c079c10b3932ce9
+845946491626282fc74e82588e2d34e3094df1ad dd250d2ae7b58275bd7cd1e7da03cf8f5b530e64
+d37066bb57b16bbeacedc4841686d977c15932de 10b8f84a8ccfb0e0dc031ca9914e541d74b40877
+ec2a4f8ee2bf8d79038db86addb22197a6d86314 e1e9216a4d8c6324f4163bcaae944f6be147534b
+9dbf05615f7aaafc29062af408dd23aecaace1cb 1dffa67a1218581058f2c9ca63fa9c5eb7266609
+0f2bf16d77c9a86f23524c41af739d5d72699a47 c142e464e9417df60e85f4c19f0544170903c199
+5dd8cd158dc8c833e85059f8013d1d17654fb2b0 ebcf124a9fbc394f7a2b2a61167f34bbd705f2fc
+970148675690ac258b9b6696f2ce684fb39ae1c7 ef449e0a0e221b4f8a48925ed01aeb9449bc419d
+b4eff641668a547daf7cdf594d0a6521fe0d7a74 2872899a233c07981b298dcbcab932822ebe1a92
+d5a0095e6f0ed7693857e7aec28b368848b82f69 0aafc74840181cf8177062cd070034abd8d7fb4b
+bb90d72b06c47b7578b427cf665a7de3592c059b c884737fee90fcf773fb429a949a2187780168fd
+9170151861ca8e199005459ad378ecd60865cb61 c884737fee90fcf773fb429a949a2187780168fd
+6248d4c3b576310d0878b6d95a038daf8fa37758 a16b4d49cb6d9bbb237af04e70a54df06328bdc3
+e0150debf0dc633cde488ac219efedcba6b56113 22b28791eaf7c9dc96b7d078a48e3db2e0bfc2e4
+8b738ea159a924d1e716a9e84ab72f26a4aebce6 e5beb41b840895ef0d5f0a54e0bfe6087531b3be
+9b958251decc9980d0e1a262fc16db6361ad2b4d 1e864de69fe8d5b54c2037bdce2e073f0987ccf8
+a5ac019398008086318c4b2f2e180c9f416cddbd 1e864de69fe8d5b54c2037bdce2e073f0987ccf8
+9668cd85025ee206e17be12f453a20e00d8cf9e9 64e4bf8317e275e42754a1791566e8ad9dd3f13e
+2746b7d028928858ff1833cee2b5d9ee6fd83d0e 9bdbe9f6fbfe44e3aa40d29cd4f3465741990039
+ee47f2adfb4d4d11b7de32c255e57019fcd3af48 01a00229c6330cd13c4ab8652f1407cf45b2e554
+3f5c27e29630d6c2586e791f88ffb7aca7bd0e60 03bdb3e84ee03c69363e00f4d3d01be2cf79bdba
+bba3854a97c0ede11aafd4fe53872b110a55fe8b e74c3d964455cc747bae23dd77b462210f37c40e
+487d1faba939d67562d2ae1a06725e27b5c37557 96e8eb4a36154d840d814da1a183356cade43b8e
+660d09fc0241a97a9d7eaa844f06ea8476e2e8b7 96e8eb4a36154d840d814da1a183356cade43b8e
+a17f9fa14d57ec8858721063abd6f033ff9bf9ad 3babeb89fb5b9743c5f962664c8bf58e87403736
+2650a20401093e55f8872dc2f14a0cbc8b437707 7e8f998be4641682def7a3afc2ba30da4a11436d
+7ce9f3944caa15add305b5e8a170c2fdb53f5bf8 f5c6dbb9ba706d14c17e7386ef94ef7af9cfad4d
+0123881a68cdc50a0dfbf38c6ada1fb721f31c96 f5c6dbb9ba706d14c17e7386ef94ef7af9cfad4d
+e2c1cd9000a468fee05e60928246c7587ec803ab f5c6dbb9ba706d14c17e7386ef94ef7af9cfad4d
+6425caad4fdbf8e6642ee3a25f0f573172466435 8d9fe539b38b20086884c5633a72931cf2798e6c
+27417afe0b2d6688c1ffe943408298ba8e62b5b3 ff9ba196d7d2096acb99fe17b99a390bb8753ea7
+53e8e05bacac49f5d1583c31fd696736bf968f5b 4915ead1911de04060e0d9a09a355dcc0a63114e
+b4e3c7bbd48a0060d2c3fad98c9556270300a385 37c1f46ada9157424e3323feee1255d5e69b90dd
+0f5e646ee26c34575ab67e6e943b0bfff060c13f b763d7d93cafee4f327bba172c894ebf853ff700
+a046f0a22b161ad39fa2c521ebd22143b07db294 384c97446dfa446ffcb9903b43a7d2271c85a410
+dac8c18fabe53c2835af0f251305919cab812fee eccbcdaee3f5e3c0c20dbc996b49791a39857e2d
+616d893dd40dcf9556dda83663d530a995746444 eccbcdaee3f5e3c0c20dbc996b49791a39857e2d
+b9b9fe9be8e7db94ad29854f849d8bcbc4a53818 ae3a1e6b83f14c3d85e5000c7623173c1602378b
+313f00ce08f17d77c61e36f90ef7aba58a01cc37 ccda1d293e1a633234f9472dab05b417182198cb
+21267ce0c3111fb518fa1e7853945b9ddcc8ce95 066f1198bc6d888f0d06d24cb5f566647216e722
+21c6beec3033b70580aa9d80b974f16029b70380 af279404d15fb2b4164c573d956e5ccba96f5b4b
+d03ba3efcd3f504cd92c91373e525fd88edfb683 dfa213f280357f728eedfe088dc2dbd542158795
+00de05fe924eeeed21ec391bd48d4677d669145b 99516dd954896b4c2de5585888ddcc565e810ceb
+8d0cecfcad679403ce80447ba136607c2057bf48 fd7a4644e95b50c79830a3903981e320bbe2387e
+abb9c2b4c2ca45c4744038037ce41e4ba7c7a349 3fea2ca3d6d6e4d3332eae40e475d375828ea3f4
+7db8eb036733970833974ab223c6355402e07c8a d1c77f63f9f1b47287928b1f864615d460d6569b
+8ccda8d1ae4d1820c488afe4408ad582747f2baa 8ac4ab7dd45cef961d9b6ea2bdb5026df39fac97
+8ff8cd8abe776bc770e94ff7870048d84a9dd95f 6c9a3a0451c555d2f42eaa21d618b5fd3d021bbb
+2be23a9c0a51dbfbb12c5c73ab875fe6426cee8e aadd57cc03eb71021ac71a9991875e000277c22e
+209fd48e5ef08dd03e4372fb3c831d63f25c81db 7f16e79826d377f5f9f5b33dc721ab56d0d7dc8f
+68d0759dd49bdb41f0cefb0b990d4b499a089b25 57dc1ce2e672e0e7e9d41056b1f7c4a97c56610f
+6f47e443e6502e607f1294ce22eedf0673e91988 d1e520a7488bd4f5ffac563ed0ee2bf165a61107
+27309bd8e20c6d76bd604c942c38304f7ee67aa6 6f08b8db5d3ffe69a67bef3b149171ce6f5f105f
+e17ebfe606e7faa2c339c5919333f95499915921 e7dc4e426d56fa06bf11904ced6ef9a884cd8c1f
+71f92cc87c6d902c6445722aff871424fa2615e8 578965d05d822efdae98beb5acf9b778e4b87c45
+31ea32ca085fe87aa9741e995df4d56ac18e37d5 344a9061df3b33585ea6c83e6add724de6708ac0
+0e569bf4f57f3c83de579367578c24366fa92040 c6fdab2a0c7552e52b5f7a98d216fe9c1360c128
+0af0d79ac791b2fc5cc93256b19bf878a46f8856 40b5149594877ca48bab2fc5ac84ec2f523ffcf7
+de4de7b4fd09c4ed9222090a809aa647516183ec aef64e32c7f6e2440639aae4a8d1e9bbe090429f
+aa4484bae28c8addc7652dcb85a1b04e0a0abc59 5f96008921c7f6525da05c6862bdbd5524bdddc2
+adcc5de2f6f06db4b23b5e170885b45b3c56b32c f687e850dafafe640458d8ddbcfb6d8292268e04
+6b048da1c7095a129601eb685f7abc0365309206 6658897d95940e1dbe5dc12911570c76549d44a5
+c3bf5017cc3609fc39db0e349799aa115d21c888 b6454f6ea0fab700f635f6f71682c3778affd068
+c87d5dfa2a3e9a5f46bdba6d3190c6a0ef7459f6 6235065547711691b05090b89e699427c1143f6e
+96ab4226bb8d0addbf6e2b1fe8ced97df7c8d195 110b178268767dd8e799d343f90506a6457d0b87
+017662ce301b5f4db7d5f7b04f80c06ea68e1df9 60018757002672e4738a31560f61887846ac4ac0
+ed973a2516e18eec9a05d10eab2cd6fc7ab709d0 7cbebe3a4e5dce604c3fcacc180473987aa8fda8
+2cafbf57742f224d7a2cc4e7187c38c645acf056 0c5a0c02aad7bc41b611cdc3b94c4ddcbaa7f9b2
+856549df7dfe2f820daa2c65bdd882023db451c5 16d740813cbfbbb4ce6fd806c9f3a6760e71bb8e
+85dc5bd3125648593e5ad9634b85b1507364dd8c 2a05a751620610755fd35dfb394e47557b2e5b6a
+94b224956c97c4a3c40108dc717853ded03c907b 2a05a751620610755fd35dfb394e47557b2e5b6a
+bd3e7c507c65b3d15bd53f761e94b9a620b77557 4b973d6002a059853055ad493915f4e8662a5864
+2e9e33886f348cb9f2c682c2dbfdf7a48371f12c fa097bc8435c7726bf13e2233259d55f2f84cb06
+c4d29d7a8a16c5ffc349c443205c165a239579fc 6b648a1031e6b0d4658253498a5701f1d73d6f67
+b2d6a681fce550c0c3e7e4193797a8eb54f33623 6b648a1031e6b0d4658253498a5701f1d73d6f67
+2af5f8318b9768e129a143cd19e7a055886ed53a 89f5c278bbc91ae0ee0a58b7f92e40c15eb9561f
+01e271a99e0d975583d06f6c3af6b487e388ab70 c3a28fa9466d3e342d1f77215420345abab1f84f
+dde7f124e9086e47c8a458cf66f339ff23dc2c23 c3aec9af98b36bb748360018dab7823618883a0a
+68af7fe284d402d5c8b2bd988a925b6002c0ac39 0633d09dddc2d75902385471d390684057a8ee51
+bd2113cbe530c2e3520303469d62781329985182 be0a17dd3c99d1df7b52775d7ccf815f2b6ad3c0
+933c710bf69b14cd932fd38385e4cbbd5aa1682f f0498adb7e0c8893137892f76d638bd8b2ca9963
+0dcbeeefea256602ae3e0c9ec2b4fc162688c84b c2fdb6939da389035187e28c14d3d6c53460e8b1
+d00c5b554d430dd0ca80b0861600bbc4a0875934 dd4078308d6aa13e75ad60be0e5403380b1706bc
+8ff139f5e3302197fec659a53f0bc1428b5b5dfa 68a030811396b76863fe3ad28ebbf85eafd2b0d3
+64c9a95950be3b0778d5b17290e161dbaaf984db 10cec2b5eb7434345550cf6b0ba8f16e3be23076
+27b37a006a52f9b4959e6e06defd630970c41196 10cec2b5eb7434345550cf6b0ba8f16e3be23076
+a50a033ac7646f1a5beb850c53a8cb65e716c05a 10cec2b5eb7434345550cf6b0ba8f16e3be23076
+82a472fcb95d2920031a9a4ee86a0da72a2adcca a3666b1cb6214c5a0c37a8d006722f0cb6708b04
+20a73af1fad6fd8ab16d2691b2b468d629f19975 e8ba6993e65b1ad87b760be899b525537f083a47
+8dde8569d1a4443d3c25cba00d9645fe8c05b814 c5111f80181b2732dd18f5c72d15ed07de455f4b
+6608c5228a84aae4357c7da2f7aee82e570f53e0 d9132ab4e839f6bc01f630fe8a6e147455a057bd
+86383a1749fc011bf10abe9cb20f96ac2f717386 0411d5af315c109091073d605a0db8c8a25d94de
+3f6a7ccaef18ff923cd2a7401613c056d884c27b 6132a9a437cb2ca37311ea139d6ac30ecc524234
+ba50752bb5981ca0a277fd424ce296bdc771f246 7f2d7fb23eddb2fe040ce7913603f3e188368fda
+8f1ca4443f7f1a83473397da0a56564ec681964a 51e372b0b8f547d0a1726f12ea4dc4cdff84f7ed
+19ab7c68321a1c5ebf72d097eed60b9426ddf6bf 9ab66f7e8470c4560d8369527500c2abe48cd84e
+78e74390984d0dabf5d21fdd2e7bfc3a521ef72b 6499ab437d68979a9632a885614aabfbec67a008
+50baf0396b2d1044125545b1975010feea0e3281 a46856c94a236d82721e7b064594f56690f8b601
+8a6ec30b05b18ea704fbd249f7eb451497de6c54 6b5dcfbde67846e8a2f81ea81386e671b3295a56
+0d32910a08cc3092d9ed6f20e8bae7c6d36ec9fe f18066b1393669ea427cfb1d2bd60a911a61c4fd
+7995ed67eddfe239fee432b9e1cc8eb38705e50e 2786c7c300c32615e55925bd85482e0b039b078d
+75baeb4aac7b90b67320289b15a317af85c159b3 cb610905f36a459095c20d42ae6feae59b0adbb8
+aba61510b18960f5607a2d5d364fe0e575308eff f43ee85fb5c713cdec649f0317fb5855ad2c02d1
+23653c9e90d9d753e70c1800134afa0861ab7149 6eb727b85176ce8d0dcb8b7938bf998967bd115f
+1ee3ba7d3feddf63b2f07395e973ec45b9082f0c 6ee77ead215a771ceca3e5cf750e9c340c3fda43
+85decbb550e03eab2901828fb8a2a20478de4fa0 720a0fdee39373517722c7b3c71268da9c0a1438
+4a6dbc674067bdeafff5b75afcc76cac4f1848e8 0a2cd40bf12a6eec26f21da7e0236a3c2ba85948
+b06eb0cb0c8aac6cec9f7248db7e5f2e5a0e5abe c866ce12b2becf027c737147976daf867402148c
+5f3f795f44f885d1435958cf0ab2505b005306a1 c8d4490f6299b031e4db3a5316116e7efb8d288b
+8d5e712d2e31a5f0fec990e68d3ac00e430185e4 fff060e9c6d865bc031f6024d70c568af714c554
+3dbc855a8c40adc7960dbffd4bd3ca9e6481ba94 d174c4cad7eb81e741211878da20b21d89222839
+77590f167e94485a9fe66616979ab549572dd048 c8d4490f6299b031e4db3a5316116e7efb8d288b
+9fbabb2a534cd2d4c7a0e463bf9ad3ab3f932cf0 d174c4cad7eb81e741211878da20b21d89222839
+f0bf536330326d0ef017ca006a94189ac5384364 8e95850f2c086dda8fb2f6009e5024c0c44e9596
+ed01ba4306bd0cacb9bdec249e4ce7b36652767c 8e95850f2c086dda8fb2f6009e5024c0c44e9596
+1c9bef300bf80a2987627473b177e3ba058c13ca 32b92fe4649ce367dad6a39557312af82b41933b
+538b79d24631e1369f5d0f9f004a4da6ebcb5852 ee06b48ce348dc76b5a68763d864a620af86500f
+46576651428513d34418a998f5c1e95de57d6f9c ee06b48ce348dc76b5a68763d864a620af86500f
+4c1830db71f0d69b5e4c050b4ef32df121034f6b 7ea65e72e0daaf5e9ba5987ed8a321a2460c1a58
+c476cc017952f90e7868a522deb6bf9dd8e8b2df 7ea65e72e0daaf5e9ba5987ed8a321a2460c1a58
+d352cf98e096e99ecbf4e7e0063097554eda2a21 dfb0fa7977b13b0e7aebad69c492ecf598bfdaf7
+84f2cb563599aa80dc6eb95a2564c60c36a7dd50 dfb0fa7977b13b0e7aebad69c492ecf598bfdaf7
+5e5862cd2d42e83b68f36a4d78b916a700b6cb33 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+00ad47ba5814b29392e4210348ce3f6767822391 125a6e4a8e1a6dc2f959efeef10f1de703d43acb
+dab1b0cf1f08c09a13163a406d27b0ebb4bffe16 457f1e9521c76a706cbf389fdab3f00c39326d8c
+1adff54c17d89493934a4e7ac0dac63970d426ac 457f1e9521c76a706cbf389fdab3f00c39326d8c
+8baff2f42d1d052d646c89eea96e32227bca4a5b 7cd6188d11a4f94884d2bab37a65546ed0be1122
+8e31237aaa0a99807878735698b30ecccacc0710 47b763535c4a0f781cdf2ac9aa79b8e904c21cef
+b19e3249b787081a6d79b27e0ee79bf3b555e81b ac4917857212573dfbb5090287ed552d06002445
+dc9fc43fe14c79e8ec6d23cc88f868487173a967 55fbb8acc244ad647943552b32b6a00f93d01abd
+098071a0a27b6c099a15a2e4ca5873af89168a9f b3e57afaefd3be4fa252202da220cafee806c6ac
+746820c8e07233593bd37934de8ec47a25d48dcc 50a0208dd24e5c49f8fb3b60d2882fa2f385522c
+929980ade4ad20e3d310ede96573ab16a87e86db 36565a4c5e53f66ba470d14a0bfb9de18332363e
+0a17394dbf78eb464a1fe6e358f98de053b41a62 4668e0ce71698770dc7451859dde75cf980d69db
+a2e087a67fd4ecb61e61c7348194b03f24943d10 4668e0ce71698770dc7451859dde75cf980d69db
+f27059e57129d478dec83174a8e5dffb6e9efce4 4668e0ce71698770dc7451859dde75cf980d69db
+c5fe3d0a9eb9c8991672d69719ff052e7026ee39 82347832edc401d6b8f301728e278499d673f483
+c6581439b98eda920b065a68939d63598c9f78ad 55a130a6927363d2de9c01af54c0d26dfcb6ec54
+7b8382b2947a77bf1de5f9cf6ce7baafaf3675cb 555cde020151350533c8cd3561a00aabe8874154
+2cc286156db769711a457f2a68e4e2d1840d7745 a30094149089f1c96f24082a75390ef6f78c7459
+69ee60c1e6003631208404cf4aa9e22624dea69d 6e0e66ed24725156c0043561d4cf18462b16378f
+dd9287bf1e74531d1ece17c217a184c42c05f744 a874aecac8e979623956fd52a5cc7f68d516b22d
+4ce387f327fd88b49ec5f116fc29878e43fa9759 ce2a6a09f05b252a835fb96cd8dea54ed89129c7
+1af5cb0cf3db732aa10de608b49df0edd4d66b52 fa24113f3b282dde79493dace28cb322b2afdaa2
+cc11004874733535611dbb8f8cc024ca5ff65f29 3c0c5b94b1d37dbf5f6db6b1b854d4cb38eddf2c
+8c3d942bee43407951f67cf9e1242c4e8ddad398 1ed799f9011012c93acf278015989134fc5b0593
+f1dd6ec76058119560df84eff7bb2e8e406ac5e2 f0423b8bbeb9ce4843b515b1a475a2b8fe7a67c8
+52f76089da55d5aff4b38f7dc7c1d035d228cf62 60c4a5da3f9f611abbdc402f0aa222faa48f46a6
+37b7e714f9b8335de10596d0ad18768a9c4fd944 efb601a28b207dde16cf91bd3da97fd448f1f74e
+dee04f280a0e46d00f65c6d185018dd790cbed3c 2fcc9120e28e93b7b0d09d043b14cc45629350e5
+be74db81df40416b7224c7c13c2f817bf770e4da 1803af5c5f9d67190350e4093ffee93d7d48362e
+cf02fb319e7ea2326572cf1a4eb44dfa443ddf09 1803af5c5f9d67190350e4093ffee93d7d48362e
+ce8975967b4fbdc44d12863cb6542b290225abb8 1803af5c5f9d67190350e4093ffee93d7d48362e
+b1a9b9c69c5d3f42724b1d4fcb45db0c815059c8 6826fca34b5bf7b601515cf13b7dd9d66cf4617b
+4d63e00cd01e428bd969244920dd3a3586dbd418 cfdbd03b204a69238b064f33c235e892efc35e2c
+7f72e770b656758e3c9b0ba7cc2e80bcd67e7aa8 cfdbd03b204a69238b064f33c235e892efc35e2c
+72e2d9ef145d65d03384bee4144456a0cf870033 cfdbd03b204a69238b064f33c235e892efc35e2c
+d606418f0f844349312e420d6ffb0b850f798e0a cfdbd03b204a69238b064f33c235e892efc35e2c
+4898cb85cd288565aa11573c4511c95573f7c368 cfdbd03b204a69238b064f33c235e892efc35e2c
+5d6d726150433ebf3c4fde8d27c86a64f38c92cd cfdbd03b204a69238b064f33c235e892efc35e2c
+0c6372a8ab5a468f175d44bf210a665c9561c7fd 73c90b87d9797e89faefe5de7e7e3b3e53a90e5a
+1a3de25f37d1509e967b5893336cc984231ed845 604516ad172ce00a701e3d3154aee94d8e201ad6
+a09e255d057cc6dbbf80e08593bad1260010bd96 604516ad172ce00a701e3d3154aee94d8e201ad6
+13ce1efd9ad58ebc33087ea473a8d059a44a51ba 34fcc780c4f555386b8f4671da997f8ff9864270
+ac240bcebb2189fad9ceb1c0acdeae4d931e2b9a 93ca35552ced7264d0f5a8b7a23cec8869aa38ac
+c39a817e97b02b4646aa96311f6a82c39394d578 9bbab2fea9f112379645e3fcc7ba0857ec0fd8e2
+c16e83a1deb55b408255a1086e45845c507b749f 726432ebf9764b6d5e04ca410e4de45eb25366d7
+296120c7cf02f987da78ca0811e1f7cbf219b321 134ddf29ad7e074e7ad6ba9af3d61e516492ea5a
+d11b65b3f8a07abb153d1e86ccef679cccf30159 60e21c626f4b347f3e39487178707b43572ae96e
+1c7510c1630040b514c3e4a6e3f0bb60797a3c60 d11b7811e1e39ad37d33b899c84c3f226c9918e9
+48fbc9a03856311c3d4a833f896f7eb0fc70160e 5306f06ab25972ce61e7bbe38e2eab5f0bd423e8
+6007fbdfda1166c21ea926fefeb6b194f79a79a4 56be3aba5033699b550590561c787fac3c9b07a2
+22c5aa1be7cffe4cd665273a34dd8b87a07567a7 ee2897b31f63c8fab16b0f102319338ac8467844
+938ec1fdcaebcc89a94506d59642b734214f8ab5 ff42475deec1d50c53b5a2c6885dfbe0f51ec6ea
+91c1bfe401627c7be64dad9772ae8460e7eed160 b70e6cda60bbcd80c84310344693caee21535af6
+e11c98e891b6d28b31cfe0636df0b99173c5c004 68cb1e73c25a0a8fae3b458e99e5c51ce5ddf081
+f7da115698af6a801049133977c8b62e6c606b11 cec6ebd4a89148335ee836cee8f5045776eb9ddd
+81a8e159686ecdaa2b1dbe422847e5604d2b860c 48c38979cddd6782966aa6f7a9c3a1fe2dd27bec
+8cefa5c2a0a107953c960e1265250c32c7470075 e4d76c569ac1527104e9d9775b94cbb55a6d57dc
+0a935b85e020beb6dc7f0de2c201a60714e965c0 2f739f2dd33af064c42476e8579d232183745cf8
+95f53356b135d9698ffe416cf2b52f1138e16d44 69e6477e6bb83ff7d3efb0c87c0c4833af1bf0c3
+fc08b020960c54b9dfedcf863ae348147c02713b 69e6477e6bb83ff7d3efb0c87c0c4833af1bf0c3
+0b4b8dce782608810600a928cc8be02b38c6ffb5 5313e69b9ae40bf9e83ee62da803e38037bd676a
+095f32ddf02aff00ad7070384a6c2cc8a4d9aadd d9b26fb157c39b063dcfa4efebdf9b862e297a7c
+dd86dca5a99bebd1456dcb762b94a258233464a2 d9b26fb157c39b063dcfa4efebdf9b862e297a7c
+0dd86e95e6947e0df15d753b191565cd1b515f29 5b757cc182d5cde52a3a89f2cceae03ea3edaa92
+a5e73365fc2caa29d05bf655481bf8350a14b38e 5b757cc182d5cde52a3a89f2cceae03ea3edaa92
+a17dcacfadeee879d9f7788b751458bc82606882 5b757cc182d5cde52a3a89f2cceae03ea3edaa92
+ca38dbe4243fa78fd793da383335583d8b192c29 5b757cc182d5cde52a3a89f2cceae03ea3edaa92
+ef890c619e3d86b6a91575815ab006f349246ed6 f4a1a8a415ce75fd5d3b67c7c4b72335b59fecb1
+1233baedfed65b02495c84fa621afa297ed58065 f4a1a8a415ce75fd5d3b67c7c4b72335b59fecb1
+20ab574cd9c6dc55d196fad2dc14b1bc87f80a94 f4a1a8a415ce75fd5d3b67c7c4b72335b59fecb1
+fcfe6142b7fe29baf0bd2859c2db401b8f3d25da f4a1a8a415ce75fd5d3b67c7c4b72335b59fecb1
+dc87d128ea9f2caeb15f4b18146ee18a7c28954c cfdbd03b204a69238b064f33c235e892efc35e2c
+3ba0cad51c91cefd435ce62b7d1c8eed77d7062c cfdbd03b204a69238b064f33c235e892efc35e2c
+6791545669622b97e4b1d00d91375c9de0b7c4c3 cfdbd03b204a69238b064f33c235e892efc35e2c
+9c69dc2b373013a880bb7ce17bb610887151ee77 cfdbd03b204a69238b064f33c235e892efc35e2c
+cdc21c5e1a2efea9021cd1555b0af6308bd3a650 5b757cc182d5cde52a3a89f2cceae03ea3edaa92
+766f46c7e966a5ca087f1c1944d9ef15e1708048 5795681680fbeeb3aaad5d1bb83123cf6495757c
+ffd9bcd93bee4a96991a013e1b0a556dd9b95db5 5795681680fbeeb3aaad5d1bb83123cf6495757c
+6f49f71a0e7809e59b31b6dd21f77232fb659dff 5795681680fbeeb3aaad5d1bb83123cf6495757c
+2e45dcf1e651af72efd8ccccec94273c87c5f755 5795681680fbeeb3aaad5d1bb83123cf6495757c
+d07884feb5653abd170bd0952dd4b257d45eb2d3 5795681680fbeeb3aaad5d1bb83123cf6495757c
+921b7f9863110def69b3dd785023a6b01a812a42 d5de2d9cff51c31b48d67d4196091c4f9370ec06
+5cb57f9cdaf24e36c6fb42844d0608a00cbf443f 43a1366ee0984664969d5b8ea040e1dbb92fd00d
+b5dbfae806013a1b44ddbe29e35d55425596a115 47476177f735c8a00b56f49366972ce9f3048a02
+d163139c4e1dadf0c60d51de18afaf97ba43c781 47476177f735c8a00b56f49366972ce9f3048a02
+3c91277484253ec674f71a03b63f25173270171a 0b30d4cedd461be90c362cacf63dce84f50f7537
+1aabe28c7e4f28c8a0d07f114e70e8a94b39114e e355e4e13106932c0b678c5b7aa5e1ecfd65c453
+f0e3370aae1b0d0c618fcf2a7e00f9cbee35e320 e355e4e13106932c0b678c5b7aa5e1ecfd65c453
+c5942f7967f7958a5e28b89a2e1631a44d399240 e355e4e13106932c0b678c5b7aa5e1ecfd65c453
+88e277f97e74d2a17d1dfcfb90aa8b92efa8f6ce e355e4e13106932c0b678c5b7aa5e1ecfd65c453
+154f64a6676dfc044db6611016b854091d3b06ac a4feb524e6257acd8341a81f4ba4e98e5a45f252
+085d8335873bf9e591c7356fd3c2a7c5e9abd863 a4feb524e6257acd8341a81f4ba4e98e5a45f252
+44d85d1b41ae830b8d7ee23470480d24a96dfe08 f4181e67425aef09d72aeadda7d1041bf05a2356
+38aa76c406a390882a0de28fede9c99882beffa8 0166f4fccf883b47585fa387e180e36c540b6095
+1c17506eb5cff09e0587638e35a8ecc9c8b0b024 010a1bf89f8baedb0e28582a6d1c90cb8b5e6fcd
+5e61d39e89b2ba536440b0b488e2de5f226fdb88 010a1bf89f8baedb0e28582a6d1c90cb8b5e6fcd
+84b9c284ddcbc99319ce49f15307ce758c262638 06c931abf92435a88597ee54d4137755cc83cab8
+1b9df2a75561e49cc1478215b13e8d0827098060 ffdd3012847638ce246ddd67c3a6eae775f4dae4
+62196c927d67d2257b2e81f4084df233a8fb299e 49d7aee0d1c9e34e8335f2da6d522fd047f9b3a6
+74a2b8ebf9edbd48831abc6a76c40484e7a7386b 6162c54179216da4078bce6f6796d941e950c065
+4a6ba0c4c248f440bcb26ed22f6e78ca0d7b69d5 97acb137889dd33b074e06c087ea8c1dadd21089
+058298361e2d198080e442dc84e2946423356502 010a1bf89f8baedb0e28582a6d1c90cb8b5e6fcd
+297f6a998f369fcb275737cb400ea28c8b63a94d 97acb137889dd33b074e06c087ea8c1dadd21089
+8facefa84fa22ad20cc88f489b87a75649b60781 886b8ec3faad62d1d74d7170694d8bf76d786577
+d1091598acd02231360179b69372d27810fc425a 5f0e6c8a2edff7b3a31c6a99016cc9e745776539
+1568a6e9e4db9c97c5a6a6cf7ff8350aaa19bfae f7cba958e16bd4902349c9697ef7d07f27f7f29e
+e21f60c3df7310b526a9eff5a84d0067f4ffb12a f7cba958e16bd4902349c9697ef7d07f27f7f29e
+b90322d33ff72511b940337b37068065cfc47f22 f7cba958e16bd4902349c9697ef7d07f27f7f29e
+2c040b082058d5509ee9d02fe57cd051c5be6319 dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+f75f8a5da0dfe7b7f853154d0fc0de80d0143c7b dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+0381d4da49754d71b788581e7c0bb9572c5d0d61 dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+16ba70c8126f0309eec17c148d110634341b1ec3 dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+03f50155aa6d1ac2d561a42906fefd0d46ae18aa dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+e213572d81e781b5a9f2d55d4f4ef5f5979af86e dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+ad3675c61cf798034a50514e28cbaa92430e573d dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+1eaf421ed2489d570ce0f3fc85c2823a44d361e0 dd98a1e71a87836b1a9d3a8e7db27a6b8db6852b
+d904225f66c49137a1eb53e6bac9f29dfb854200 f1af0c12312349902656afedda044a6b01aeb813
+9068707cde33b580bc199475c7f9c24a99abd803 f1af0c12312349902656afedda044a6b01aeb813
+249548f1b80167a73ea7fc4efa93613ad3e86752 f1af0c12312349902656afedda044a6b01aeb813
+5f46f2eb87b4a92ab4ed2eb854f4b24826f63329 f1af0c12312349902656afedda044a6b01aeb813
+c4ab70297386cbf79b3d6b32c3fb13a9dfedb740 f7a5c7033cfc39372a348bc0a8429cddb6137da0
+b05bd665a3ed4e34721b73c5671e7806b591995e f7a5c7033cfc39372a348bc0a8429cddb6137da0
+7f29c85096443b225469331c1dbf48beedfb52d2 f7a5c7033cfc39372a348bc0a8429cddb6137da0
+a562fc4423d8ab3eab634b1f5bcd09fcd1e13d84 0d4e7e01ac5c490e2d4b8958a68440ca13cfc348
+42b6a740de6b4ffdcb01b6ef39989261be76ebca 39a60cb719426b19078c0b45844a2c619d6f9408
+9c29023e1b123e911ec178362e24ff33f9e52b1e f189e927d09c4744a3f515dd9e63bf46ce6b8ed8
+76081fda5c417fe0c999bd9f5ce9a3d4ba4e9b8c c8f4528bdb931820b92b6c3d7e501bff91431a62
+46bd8aaf1573da0ccded37f7aa0154857fd4cbbe 495c8601d849d8d6a8d143ab68110602e6613bac
+c1515736cdabec22ad2349f3abbac060cd0cef3d 62425732abc4169dd89330f87bf42eff2f1d85b2
+90e39505be13aa85b5679d33c0e0a98d9a71cf17 bc385f1c901be32d4fa619955d08b97f0a97b2cd
+b86c93e2a6b8ba890aa74f56475491154e0e6ca9 909d2aab201e03dd622ac9d0ac8d06bd15fbb665
+88df9b9aa16c40a87b4d8b314ff1e9dbf641219d de2983b375819db3ad37fc56f693a3ac4cdc9459
+9ab2952514753d545ae6afac69e369ec88664815 71456ab34e593e85bd467bd9a252c6ad5dac2d7e
+051acf901a6adb5501b93600ea1c1f1bbfb43d06 71456ab34e593e85bd467bd9a252c6ad5dac2d7e
+c1ea688d1557bea6ba68cb9f09f49d946516424d b166c8ac6f4288e0783882fc8a55c6b8c6877c0c
+dfcfdc392254be319be9d005cc4d2f553dbb10a6 dcb2d7d8a33fa5874d8ce097988248352f0e83ef
+f9ce02710931f5669594438747ce085eb96fcfc7 9070561538a751547abedc38f298b20b9c2a5640
+581f3207510b839bd343535c11c2b21e5b39ad00 fd5c2ad84f0fb90c66aebe455b6c29e305c6362c
+368bd451a48f981269cc28770ae57897f98a5081 06d2d2587f5c178bb8772041a8bb3eca8d891eee
+11f3af9c64a16e6cd008398df4df83f62ad60a42 06d2d2587f5c178bb8772041a8bb3eca8d891eee
+41219fcab5f25dea67875023edc8fa50ae893061 e0e37f3ab452f1d5ed51bd8b757475db6eda1d0a
+b9a7e623eee3124b55e53de0a3e4dc14c649bc4f 98844b0beccd123f214f5cb5216cd5f8bafae5d4
+e60b91e3461e5eef49ecdb30aac94b1d15e3cd1a dcdd22561e4dbd5aed1b29fc50030b85980c0bb1
+339ee77b29361dd182d6d8b49056acc92697339a 2b1da0d924193a33f99c2bc433f8e5701edae644
+93eba32c8a0ce4a6828801118251e762fc9de6ee e4a34d153d662807af7fa8802e8c56f6ba4dd6f1
+02a9e859f716d1c00e6cd9ee1f92ed41a9b46ff2 e4a34d153d662807af7fa8802e8c56f6ba4dd6f1
+1db74115b989ce83d54ec25db1c083f5dba596c6 1a6a676aa38be8cc3b688e25e08ae2258d770e25
+aabe83f78d7279c3531bb198a39ef86e2c32c92e 1b3055b1b26863f3137c910b89f9823233d27f94
+e58e68c3ec3360e2d12a424f4528150a3b63e485 4c11a22e050f9a62b1732636077ebbb8190fc0e6
+a33b06c550d1d7211d172ef402d23754a63c69c4 3f906bdaf4ef694e192f136b041048c20dde663f
+267e9b610a6f4de1c50debf87235b6057bd3773b 913559fde00af58b03e60ef1b52ceaf9a57fb74a
+1e3722cdd414bb86322d99b33511b74841ed9897 1a6a676aa38be8cc3b688e25e08ae2258d770e25
+9a92b8316bcf198391d98044e5d489c826cd1056 913559fde00af58b03e60ef1b52ceaf9a57fb74a
+a3a05974a42fe6d2154b04b6882df99f811c1d70 913559fde00af58b03e60ef1b52ceaf9a57fb74a
+85fef253b452e4481637f8b2142750054343cfcc 913559fde00af58b03e60ef1b52ceaf9a57fb74a
+45c23662d8f38bb2df56e4b33b9cfa3f7c7fc63e 913559fde00af58b03e60ef1b52ceaf9a57fb74a
+2a7341c1a4f8515fe8d55eafd8272c399cb9d31d 59c327f5102f262a8b10378c2d32a56e075ebc19
+d89f53424ba3575690555efe6f368861175c91db 1e40c0642650bfa5b41e5c937efe6ce26a9af6d4
+99007ce5bfab97c42ef430684c7f32821efa7011 a9653bcd36dd26b85a13fdc935feee3e07c6695f
+433d798a16d6a1b23f2d205ee14a50beaf086a7c 53d9c78f84c82026519794de042e94924478dab4
+9bfe1dc87b6a9559cc10dcba8474a33a937a5e16 59c327f5102f262a8b10378c2d32a56e075ebc19
+25faf91283fc0cf01ff47ab35741a5ffce3df648 53d9c78f84c82026519794de042e94924478dab4
+50f26102d0ca4a94d56b723f395e53c0786d556e 53d9c78f84c82026519794de042e94924478dab4
+9791813b1ae6e27fa3d59037aee0ec4b79dd77e5 53d9c78f84c82026519794de042e94924478dab4
+eda5e20ec2cf01924a73cf01de5c04750d3bf048 53d9c78f84c82026519794de042e94924478dab4
+a1fb1afa229a17b7f343081229804781f33d53e5 53d9c78f84c82026519794de042e94924478dab4
+f24c60214b46a227e66910836fc5c48777361862 1c63aeb0a51d6fc2dac864efe8c7b401d4690654
+76a24552fe3f43d3fe81fc59be2f2968153272c0 1c63aeb0a51d6fc2dac864efe8c7b401d4690654
+84aee1456db3b02458259d9514bc3d607a0c8630 aa706af56988d328d2f4c2f01c3dd428db1c6efc
+a0259c31d3fda8f40469e1fbfbad7e6e3adf9f4d aa706af56988d328d2f4c2f01c3dd428db1c6efc
+90628b8bb64fd674a1a917397c0b445ee9fa08e5 aa706af56988d328d2f4c2f01c3dd428db1c6efc
+2f319855c76d273248d4c3ec316a86bc414a41c5 e12b696d13ff929a6650a2d0da57b80e1d20953a
+65ff85f9cb283b9e4947b15688efc949a79e99ba 03c34a1718c7dec1dc1db966bed642c098b8136a
+2614d6a26a9fd721553dfec11d871ba570d17442 9c87980c0acf1ce232232be344d7ed0ffd743d11
+3cd08cd36c3678acd3abb17a4922067f5e9db894 a26e8fd4bb39ff0b54a6d01c61368ab00ef90b69
+5a0aa03025bccce66381f212f6813b94c3ed2cc1 a26e8fd4bb39ff0b54a6d01c61368ab00ef90b69
+447d6916af39c50ccbc138a1144ed0100abc195e c758335c1a4306947e70779d2aabc622845e34bc
+0d48821ca53bc6415572e035a4257483732bd95b aaf4272cc103e9ffae64bb017a54aba8e128a86f
+ea98fcc9c457cf1de28d476c1130b289403b85ee 5e7d2823b46148f6aa17a432520fad6e53f37682
+4e3da8bd141623569bf88265ba7ff26b936058d1 a1b185c9e0836d55038e5781cbb59461eae520c9
+30753d3fda49856c33bf7fee7053d54abab17184 f48d83e86ea53cdce9da1747be8943e633041218
+2f37e9e11bcf1cd4b26ed08c18695b49485a39ef 72098b1259080d7b8dd658bc4bbe556312ea0de6
+8dceb91df421592abc430b0b557753194969543b 0ff5fc2dc1c085d945d9994647d55c35dc980d82
+d4057f664763e8c90e839c6e57c0532d493aae94 c14925801c53fa36c812064dd406f1d0551103cf
+8982763625ec2a38d7b0a32cdb95ce327c0a26cb 5e6e3d44fb48328e16b2c09f1b970e6e25273089
+3927171c878a98bfe2418a1af4e98632e00a8385 dd03069a54436f1319e95ecf6995eb626c74a1f6
+d4f61316c4c93b074b15512d6c77eb06052b85bf 177cd482963ebaddb526a88e2ef8d88885c45f04
+235ea64bd2e9b153d1fe7a41df0c0a32e4bd3dcd 482687447eeadbe43d10f99dd577a6605d43ee2e
+bf05aa796e160e27be986fd5736ec66b8e30bddf 489504ea6b837e16f1820d84d36d4a2bc5394ebd
+e66983b8698d3f55016d38cd671e2d6724d00022 7544cc21fbf1a2187d9dd31b047c116243e57b65
+d63136d93e429cbf9136eef2366d4b99d7ee7ba3 a24f57529148ff466556eedf01062e6e570a5bb9
+f26c6db3ba4aa217aa01d4e831b501e3fb5afa5e 3013b974513bd016b1aacc8a273989a74772e538
+e0febaf2dd724149d0cdd449605744e5da9b62c5 7b2d6ad6249f4a8c4b1fffaeae8840e3e7d00d04
+c9755298bcc207e0af7b66cb30348b0218804dd3 c0a79ddc55770f2702f2840e5cf6da7e86b6b4c0
+e4d3c743fce21673114b8af14f1a0433cbedc2b4 9328c46e455468b1b1d5cd5b1afb332bb54846d2
+fe6553fdcc515bc01d246497f6b55ded629260d8 8daf21452ae047531659e0832cf801ea4c7ffe08
+486d51877332a2fd0d1e088c38e6af42f4b5e2e7 e084db332571c58ea1ff8d2f3bae7eb000819a00
+1e88a3d25e9c0754cc22d8e2229f7ec28ebc9c39 f4f9b918798eb9c365c02a306d382adc5e25b786
+c12c0eb793f1d777d3dd0ebc69e389a453869ed2 0ff6e4b78a6387cfffafe90bac167d9163c6487a
+d1bb5d8617ddaef3a45dac4e38811953ecb54651 89493dc4d51303330c3752950aac673c41f8f170
+c85f7b79530a57b149189789fe0c00c14d9f6cc1 89493dc4d51303330c3752950aac673c41f8f170
+2ed234d421963bae6c6e941d14e8ed51a33b8c71 fcadc6c75bc915bb468c614d65c39027813eaa8b
+a52d090d44cbbf1735137e787394b55a0fabe338 89d2c23c4fea09c2c5e093b41a79cc306d389c09
+e144d9630f8f52653274b2824a5e566e4a6f5198 c2733899d743163bf22798413b70781aa4ec0358
+8558caab1d28bf3445a340cac021c37ad7f39bb1 feffa0e10c8abd7ab1e12ff5a8dcdb11972940ef
+aeb26a1dc8c0c4e098510233ea5ecc5a40223852 5074e3d2615c8819c17eb740b8379950d2b7a539
+ccc10218aff2f146e3afd027afc65f0ca74c8316 ec2c871a48c50edb1f594ae5e16d7b8f5eba2186
+12e76d83370f883c938e937e733ff425acd36d5d 1d6307fd863aed2b981175825b44d789238adb4f
+b1e1ed1034b004aebd5039baa487ba4e41ef2672 718e9eefccba233265f76080314cebfa0195670c
+146fc6aec1cae445c62e20d2f37d4503435ba60c 422fcea509440957234a002cb030cd8e50268b1f
+bfb246df4655777c9d22ac1ce34ee9bd341dbc17 508e1c6c95c794eb838cd329e6e20e1003e874c4
+063f188087e239858e96852438030dc9bbcf0d28 993625094a23ac4bfdcddd55feb483c1249575a1
+6cc7e3c3dea0dadfb93e9794d170e96838da8424 815dc5c20b880c673d6168d4727776db574867a8
+c2738098f82ff5f1db24a9f90ef36830332926c0 0b4bbe2819cb71a2219cced13af087c6f06ea219
+22e35529decf001f23c2e335458e5a75ec2c6d14 532e35566a59d9cc8fa92b991dc03a6a9dcb9905
+ebd7d349b9140fa33ede45308fec5306d4216f89 d2925f3e61c3fd8dce1833b0878f1531297a9f62
+08b5c3cc525f8457b9c3ab55ad62c0d2a5efd6ea 7dad3ac5b648f4d48372587cf23c454b2ce6b953
+d7918d065216f7f800529975c0095083540332b8 3c9cf581b02ae2fa08c960294d934dd03cf34b3b
+ffb90a8e4eb96ef4dd97d6d50e35d59a5b92384b 6ec9fec2d624385f5f6fb30d35e7d4cf3f2c733e
+70efe35fd12caad9908e6a351a0f99da296bb3b1 4f18d05bed5739aded0ce2b3120ddc4d62993070
+016293d8ebe1c05451feacd99b9caceae9137ae6 28e2b024590df4630d4cbdac0acdc72a7c37be81
+0930ff3fade0531a0b5e401882792e3e1d3f7f19 fb312cb13b8457b03de7d61d01a026077a632280
+3d5b31c976d0a0e26cf7f6d5c0786c55d4b2868a fb312cb13b8457b03de7d61d01a026077a632280
+ced695484640db16564f09983c943283d87e01da d3d63b3cb3731a134eef62f968db71f1f43b7a1f
+5b5f3f8ce80bf69f0e30c25605d39e1745a05cc9 41ef3c43d98a5a2f4516014d77275f6476fda0ff
+e663c3a6ea36c1f83fc75fe88423680c2b7753fd d3d63b3cb3731a134eef62f968db71f1f43b7a1f
+3e6c4146e9502a7dbaed4f24ef01ddbb50dd073c 41ef3c43d98a5a2f4516014d77275f6476fda0ff
+75ab7d14eaced3704015f3c1f4a95b911bc191ec adf59200f848ce043e629289cc6eff48d3ffbbc7
+bcfc07206aca6219ebb48779dc371fb0b83ef613 adf59200f848ce043e629289cc6eff48d3ffbbc7
+ba8185d823c88426eb42d4b72ede21b85b1310df 57e3751b7d7849c7d31a2223b03678604c26b471
+77f6325d7679ca92236a5e4c869b0916deff2d18 fd907c641ee5f2b4d7983f83604ee2a0e4a3b32e
+02658e1c037e62c840406977f13303af601ea4f1 b10c2a2e2599d24bf0770c3164beda29b356e223
+f368328e2b7b44465e1a551e44f17e1cc1ff51b5 b10c2a2e2599d24bf0770c3164beda29b356e223
+2b0aa60d8d2734a0ef6253d6c9fae45e0473f929 d2fe086d07311aa05d59ad4ec4df2f4441a6c028
+e2dbdd84e8728a6b022203aa91aa6d3a31df963f 41ef3c43d98a5a2f4516014d77275f6476fda0ff
+737c091b814523ba469018ba217b9c8f71c52132 41ef3c43d98a5a2f4516014d77275f6476fda0ff
+46ede43d4776c0cc11c48afbfc3b372eb7a3fd62 e9af604ab84ab9832436f072c4ac9249f3657342
+4fd8d383da5b3664ac642a783656b6d16f5d499f e9af604ab84ab9832436f072c4ac9249f3657342
+1208411d1424a2f656f7c0e9a929584e0d6d6bbf e9af604ab84ab9832436f072c4ac9249f3657342
+eb7589d5bfd2bd88faca469032283986fac7259b 59a5ba173a0c01a22dc6a35b23cc3f52fea309f8
+ecbe18953cdb24b8236c0ef00031694bafae7a85 59a5ba173a0c01a22dc6a35b23cc3f52fea309f8
+801288b0a68ee585105644eb86a789201fed419c 59a5ba173a0c01a22dc6a35b23cc3f52fea309f8
+3b16945c2fa264089918c840a28b469f890ad605 59a5ba173a0c01a22dc6a35b23cc3f52fea309f8
+d9c7bfcc288bf0179b49674111de9b7004d73547 029979cafca1512d6c4cb07aa83901cb464bed77
+39dcb3c28f7dda5c5a7113547ad6d4258e1795b2 a788c47e6c88635912c49fa7855266eb22637f53
+6e18a4f48751e75593e5230cd896fdd90c90eb7f a788c47e6c88635912c49fa7855266eb22637f53
+3089bb750a499e623580e369816466c5a1a573eb a788c47e6c88635912c49fa7855266eb22637f53
+ddec7a42ab90331c95a2d5ade2e13200b7ecc47f 4107c80f811412601d30519dac7b74fc55e619ad
+98cf740aa2fc0bb8505b34b6f9a05f5c4dcaa275 4107c80f811412601d30519dac7b74fc55e619ad
+083cbbfb630f57731c65b0a49c2e69b051f8210b 4107c80f811412601d30519dac7b74fc55e619ad
+42840b2d4f791270369c4c7fcd1bd697c2efb59d 4107c80f811412601d30519dac7b74fc55e619ad
+d88f6db4ead6793045abca5c3d0771f057b025dd 4107c80f811412601d30519dac7b74fc55e619ad
+323ef203153d39e1a1083f2cf334a1a6dedf0638 4107c80f811412601d30519dac7b74fc55e619ad
+f9cb038a520743c8c8f7a09bd31593429e672cc5 4107c80f811412601d30519dac7b74fc55e619ad
+598f7667e755b3e7f99c8fffb8ad5d2757f89a92 74e0daf43c8376d3f7b191165e2cc0f21712d5f8
+685fdec922f9eb58c62ec6466ec183635a01789f 9bd2003eaf6d6cc7d2e4af272c32bc42123beebc
+4d48caf8c36e32843d54fee90b67cf580c348f2f 5f6f9c12dee7c7d1a81a17b11d46f940c5df10ba
+29952f46a56b0a04651b79f51de08b0bc7efd028 0ab9a2583d060591754f405eb5dcae7b97f02578
+d53dd6aa39e5aabcc4bbc2a4f15046a4cc5cfe1e 60a325a20c5d293052f0418355f0a7a0a76693db
+922ac41428782251db7d5d8b6a33f82345a0153e 6b876ec470258f2a076613b302e0618c4f39a6bb
+26c0b735cc0b580de52b7e375ae616478f807916 809a7711aea2a4a5322e47ed9a5a0b03c52ff206
+74204c8ed4d48b85c52823a87a02e782046985e5 30ec367a513b2926473e3293ba773cae8e9f00e6
+62995933bc67b1f7c0232244f3457fe8c33e0f39 3b59675cf27d803542a268141b20c108ba150c09
+e15582829f3d891889e685e2c75bc00b07ce7e3a 115b765929784fd3f5f4f60db613ca12d392bde5
+a9437059b1b19b10826f13f8ee66c04c7bd7311a 115b765929784fd3f5f4f60db613ca12d392bde5
+5d3ab9ee7291fe38897dee9f1b2e2ad7b9bba260 e85c694510bed46cc8f9ac9367dee8e12f8c22ef
+983ec131e4592ad4391e90a4d73e2ceda90b1773 047100ed29e2b6209547980049a5d8a22c8814a3
+3dd51765424674ffa0443ac876e6f986a302c1e0 cdba8a2b6e6802cd9b0a836de3142107499a84b7
+cb21db2742c678a5aadd1a489a55803c7d31a4c3 a77fbffbf0564517e6ddc4c65a97693ae4e8394b
+0737a5c381a49d910c83de03d5733be6dcac4e1b 906b48f4f1b0304b19ab14d584825581b5d3ebe9
+e598bf48c55c493182178b45dad1bab0ed3021a4 9cef37c13d76635c264d8d9faeb126c9396fc608
+903e7af418426cea41fbbe7d3daf020343fe90c2 fb5824b221c7256c43d667a5a9ad72776eaed155
+b9af52d679a5fa4c11cd4c59dd2c0f569c35393b f924589ca80d6bdd3ecffbe6e98fb7deb502e47f
+928694ee0b65be55cbc89cdcccb22a6f1428cc88 76d66b5641dfc4b41fd4a8c631f6640605fe8a54
+2ba1bc633580892fcea2ab7f76d8d504ec057839 725fc7c3edfb20e4165df64f39a9b92d5ca603e9
+c1b4a47780afc2a809c7e53fc29263c71f20a2b4 2ce685c9022342cedb745b05a455500babc1eaa1
+77b575a207a15174a06deecabc6ee40633f2c32b 2ce685c9022342cedb745b05a455500babc1eaa1
+27c9de389b9151d5f491556d460724c9ec27231e aae8e7617d19b164110fe6ceb360192271ce9518
+2ba3a9eb9aed85a0eaeb3959c206ae1b2ae5aebf aae8e7617d19b164110fe6ceb360192271ce9518
+b33209d67c7dfb259a10e744494d44a474536898 563d106fb8c3bd87eb6294f5d7a90b3382a9d87f
+bf1ca624f5526de7701edbbb82e1d084324919b3 aae8e7617d19b164110fe6ceb360192271ce9518
+34915fe595d8b570c0076435fb9b8fe326213fba 563d106fb8c3bd87eb6294f5d7a90b3382a9d87f
+39622aabe3ffdbbf1a7b7f73cffadf15d875587c 563d106fb8c3bd87eb6294f5d7a90b3382a9d87f
+13e1fd17f0557279b545d6ff6e3b8be51561494c 348f7cd1a35b5b14cc9338dc56fc58a20026ac5f
+06b2685b169700a08de2ef4ecd79a93b76c3e8f7 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+9a76a4513aed339a7f3908a748afa2d30696fb4a 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+4aae84d390025682a2f53b4de46397a2be0c3e3c 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+d95a3436c4ac8bb153d3f30db7ede74fb88eef71 563d106fb8c3bd87eb6294f5d7a90b3382a9d87f
+06eba87ca235aaa92da3a3c55626790c45e0c359 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+c9c9f60d6b3e4e5569949f2821b13f791c257862 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+a0a5b78c643c89dcd764d57f2a6857c74a656e72 f04b7db2df52e6f09ba5291be2784898972d1b19
+85b02ca3cf7628ce75aac2d77e0d5a3e21ebfed4 aba9cb3132fae97a93e2ca51665b018455f53a0d
+ae4cdfa723e478de96ffe02acfb31498facb5d08 2a341847a20592877b0644e8386c45110c5c3cad
+70809566a28c7ba74b1ed97a6964f742b152c2de 2a341847a20592877b0644e8386c45110c5c3cad
+c6ca4bc1347be8db7a53321da73979172e3252af e8a21a94f4e6113584f5f92562269fb9154c02c5
+8025c490b2a17b18abce18a479624802029bc8fc 4fbb6af24d079ebe2d4bc03bcb538942d13954d2
+fbbb418b49bc11387989500ea4aedd80ef914a38 e8a21a94f4e6113584f5f92562269fb9154c02c5
+781f7eb7eba7d27505799f690d9ae13acd28d58a 28c739c3d074b8f1083db3766066f05bc4d7b5e3
+07975b8d4a283099f31d3e141df7f9e071d70a20 f4f52771af2f51761bc679c935ac27688346c702
+c7b5f4c3421b787b2c9d4083e638f5ac72d27fcb e70129dd722a722f4441e5a590e57bdea62255de
+c9d5e7e5b85d5cae789515b990493edd2df4e332 a958faffebb7bfa6a28b1801edaef790cf3de3c7
+6ccc4f88ef10b1bcd79ef4c48d665a8dc3d8455c e8a21a94f4e6113584f5f92562269fb9154c02c5
+6e602949c214ff343fdb943e7cdc9101eb1e335e a958faffebb7bfa6a28b1801edaef790cf3de3c7
+d682a3f0abca3c297011e297e0eecde0dfc36e13 2bfee5c24e61745b47ad3eaa7eb33117812646b6
+91889de9a098ac156bb8c6209e30471499d617bd 0e562d22dc07ea32c5215cf56b8b655c097cef1c
+5a4cbabb3c631839ce856b72e4491a73c05f3fb4 d43f52ef53b6c64bff6bc87c9052965174065354
+191a2d43ae80a08dcc7026f3ff94723b889bf985 a958faffebb7bfa6a28b1801edaef790cf3de3c7
+317f16b6b41d1222fe96229e453a5163ac3656f5 d43f52ef53b6c64bff6bc87c9052965174065354
+d0509ad7edff9fe41966439c274731c03d970a3d d43f52ef53b6c64bff6bc87c9052965174065354
+2f23b3d119a6bc495b0fa8e924060219cc3e9d39 64804011f4f06dbdd45128c1d8939c606a7539dc
+df8a65319c68197a3e928629f41a4c7e43d49360 b51c01a9d40f57377b36ab775d8e0f1df6c4df68
+c3e447866f29f514a66c6c75cacfe178b01ba793 3125b26faa3ea3af56e1d3ca7a1ab745a1d2c811
+610b0efb7fc964b22415f1e92e7c5096fda42f62 e54e9d7a23cb3a0038376d91dafadcbc15704213
+ef45ba1fdd84385819cce415af162dad76d52ed0 3a4c28da23ae5123af1da0bf9671fb6c1cff64f5
+7d783897bb2407ec70a3107f7a79472a8c0f3fa3 be6c885e1ec8246ba10ea53999f5a5ccb736996d
+1b87ef188f2ebecefa318f82ac8dcea44c2dc192 74b92ee61c4758edc1565dfb7a8aed17549441b9
+eaed01da8f32317570168dea1c252d8bf55a2846 464e2fa72167a3f46a0d5eecab906448083260fe
+768f8857fb2906d2dc5363bfc0d07647f8d231b7 723659cf33b04c030db9e95e47e930a557fd9a09
+d415c6f3c4e0fbc423e54a9986fcfbedcf12d991 ab4f9a4667adae9f93cfc446e525ef47c2e0d47c
+90a52b48043cbfc510b7f5bb8f9accf31a2d34e1 0fa33ef8ccba1402dc75c1db8db8ef7ef2d83005
+65fa41aeb27dd52ae813fe93a5968b55826ef9ea 642de17052d08e6723a831e51f64eacd2a20a1e7
+eed3795bddb4031aec06587a07fc22b234d2ed4a f336e111bd8e6d3943fd324a1ff3646449f82b6e
+cb695165106ae92c68691b61c9cbf38cd523f9ec bea306470d0692a3985a3b12a1e62784a3b12854
+49eb858e46f456a94cd83b9799b315e8dd594869 27ff60127ef96600f4f41d83fed2ad257a584baf
+f2cff18c8fb5f19df1733e9b66e7642a96bf7595 2a32d259553a37d279162b6b80edc26dbf5e3e7f
+15595b83fbecfb555dd06859cb17dc3f6e6126a2 2a32d259553a37d279162b6b80edc26dbf5e3e7f
+cb024ed398f62f29329b2881f06e6af3d73e355f bf855dada9f817d19daf514b8cb4b33572ec036e
+f7d7ddb58dc082d7de3dd0bde94f63ae82b6755d d5c8defcd41d36242ef8c91cab96c0ca2b719fd1
+294c96ea3df258b798edf38e57ade084149bab91 d5c8defcd41d36242ef8c91cab96c0ca2b719fd1
+43d79e4be78354c83b60ea0ae4d69da2d0899e48 07bdcc11e16a6216b1f6971bc88e23cadff15e96
+ea4ea1e81d8a1398dfd150f853687377e159e968 0d5ae28f9a1410294746789cdb08b50d98ff60de
+f7db086d57beb79093119eb0ad229053c0cfa9fc 443c421dbca6ed9d8570742f8591f279bcfdd6ea
+2317268d42de4b55bc2cc88341f86fa3bc7f63f4 4c0cd825a6dafb1cfa8a65a434bb84cf0b36d03a
+3d69637bf0d4e573f6e19841d7351f7e0e47d36e 4c0cd825a6dafb1cfa8a65a434bb84cf0b36d03a
+5c636b0dbdff4b29c7f8a6ca190212fce56ab599 2f802d416c9e85d58cd512dc19f4cd989d9a273a
+596f3086d0156932aae2caf5dd0224d79c5406fb 2f802d416c9e85d58cd512dc19f4cd989d9a273a
+9e4d58fd7b9fa39ffebf4221ffac78c30ffc5a27 2f802d416c9e85d58cd512dc19f4cd989d9a273a
+b2ca25ddcdf09e2b65f2494dee2fe9fe24ebc7db 1c185fa06297ff998c8355a934ebdae1adbaabf3
+f8dad05dcefb31a9850179fcb37e6a8407ce1b7b 50bd464ea9fc53cddd993389b3ba231f94bed694
+2d9224ee644cda464b293e363e04ffcc8e4834b4 50bd464ea9fc53cddd993389b3ba231f94bed694
+e0be0c8e8533558ad476d42c8ba75a228cda5eba f92b250e5e894c092ad880eb618559d56ec9e528
+f3413bc5515fedc46829cbe913409ef0872eb2db 551dfde30a8edf1843f22fc81034bbd0bb1b549a
+bde08153a54aa2c5700764fc5a2347561f5a9d9e cb67ad0bf6ecab18fba8e5702cffd53c4ceb0888
+1e273a8c32cfd9b133f83e676e033851810880ef da895274b189625f048e96efa08d251da2191b0f
+672e92118b2a7b8aeac4d16537e8fe52d86e8cbd 9718b31c4a3e2dee5edf4280fc4443abda14ea27
+c0b89005e8838dc47217ee0db8967a47474d8801 19c5397b4cdd854cbf2ab728d038c290502cba92
+b8b9652b82f2161cdaf31baab22b29763ca65a93 f9b333ad86653175e34fc8eac9ae63b414470362
+b3b5665202445bd4cfb079dd8ac99096a44c459e 5999b7034f4dbd8d494e0a84640f6eedec92f651
+40efa92dba4e3ca91c6f3f116d97bb691ddf8118 d8bf2207c350a104f1a26ba11c150a396a945677
+aaf2239faba732adee25f9046eeb406a08bc3123 ec2d20b1612ff3528d9cc32f39ef5ebe9891ba2c
+cdb1ab78a500295a9251e82849eb7322f80eda11 42f62a77b564eb3bb0605493476c5830792c0d0e
+ce3d08890542d521ff341c5732b346450c5f3483 42f62a77b564eb3bb0605493476c5830792c0d0e
+eafa5c519da6142f1d1b947e16a1086455322d85 5fc600abd0250211bf856bf747a6389f16b262b7
+b777ed62cfeaf4c12342e9bfc9ff14a498b59545 59b7638b330ab544b4517fa9a606c307ed75dc69
+7fc7dff058802a35f5d8d5c69d00dab6bb5b100e 6057984f4d29b9315f9181b32aa8a7f5568e9a3c
+aec0dfee4c990f24c2093e33a3c0e48763af7c26 64c0859e8102ad86a73692ffbb14e3dcc23968e5
+5b351f52bed12ad79624000eb8d20490221f5d9e 20b7da34ce5c31f15a6e5c5e9b2869e84ee9849b
+7c935aab805eaf4512def5965b6e2312680a51a9 145e134f8e1d129d1d82025975e89a53b7c96c3c
+4c98c24c835fdc18f481648d634e4835382523e6 5f5a51ba736c4b6672dc007e2f31b9a28f2ddd62
+ae16c2e217c317d11e95d16fa26a34824e684ffd e9c079a5e3894783da85c024b101cebecb27c9b4
+de8f2db829997adbabbd0f33d2806829968b9150 d8e2b4fb06614618358597dc9944311e1f098d85
+f952b187ee1265b8695db240e1fb0e5982e02014 10b013d175ce145ff6efec151758bfa7a7036e89
+6139d93dc5fd5eed0f3bea5ab9285cc9a9f3bde8 10b013d175ce145ff6efec151758bfa7a7036e89
+c18a1fa4578a6f618e86b546f63101bd6a709434 10b013d175ce145ff6efec151758bfa7a7036e89
+90bdff1f1aebe1f61dd343eedfdbf725c00e427d 10b013d175ce145ff6efec151758bfa7a7036e89
+4917c10b4c4095165e2c94ddec6aec8464245601 10b013d175ce145ff6efec151758bfa7a7036e89
+41289d5b668c205da79441dd17925363d0ce1240 9d4605648ff0f5c7de2a5a873e3b6f34810f0cb8
+7ae2ddda5ae88ab5a1956327addfb21b352c4394 5fbeeb537b4757b6c6ae4f02f955e40355442c66
+ff7f4faa349ae58bf359e5aafbaf0d704dd09667 a649feb48d7e56eb2e7096656adc05c8a28dfa3d
+c19ba24d5d47c2f289abf2bedae8c94ca4b57f03 dfa2823c5c3deb2e1974b417b0fe99629bcc0987
+5bb44db7f181b66ec0c511cfad307fa8ade104f6 eedd7f95c505b740acdb35c06dd230d4b31c3b5e
+a4eda08d77f53c238298526dcdfb01923b66109d b9658ac668c7d324d3279af9c286581c9abb19fb
+04a843ca19ed7a33d223edc4d96c9d4887e644b2 b9658ac668c7d324d3279af9c286581c9abb19fb
+48dad1ceb7086250d436064caec3635bd96d69f1 10b013d175ce145ff6efec151758bfa7a7036e89
+01e14401afa5b910254ff1cb55bba08d810c60ce b9658ac668c7d324d3279af9c286581c9abb19fb
+224b85721aebfe511df6a284f52fdc0a8207181b a1ddb138f5e5f9ca543652154ccd6735ce89821a
+a543179048f14646bd218635a2814f7b1b4f3335 e412efe3c3035787513531e28755eff7667b082a
+fb86f198bdb6d38756870034a4fe2b4a4d159488 3f17e670e9f03ae36974a075fb3eff46814bd779
+fd9747deafab79f37f48a2d55041819ec34aeabe c265d45bbe30f8609b70149b1cad7e22df73814a
+da5a5639736b611a210539c1a22c3d703a2b90ef 2679468d0140c6dc014f0c9b2da7e5cce8d8d2c6
+83b386d8e5c111260dc279e9df9211ace12b81e5 b0289958450d92b962e6a4deb5cba335f6d7e5be
+b1ea8f113320f6d944bebfd0e77de91732332476 9b48d827273ab7ad9565fccc3ae01c732f8c6432
+29074dec06be286d0d87023b0696a50cfcd29007 feaa2b75b21a22e7ea7bee41d7d5083e73157bb6
+d4014b235d3d8124c8232428ecfb372a86c0118b 69f38409b0427a81b4453fff7e2dc8602cf1846d
+a7a5772425ae0abea2acc0e58b9a3ea88e502c3f 69f38409b0427a81b4453fff7e2dc8602cf1846d
+36355153b984822284367ab56f1deb92e10cde08 2c88a1cd24e98f0d7ae3b3eee0bd5a85b939dd8e
+aa5aa63b2e7b260d6aaeb56bc86ea21749281b41 cbf076eaf6737eaacaa201f08292470c5e23aee6
+c455c030603d6b0ca81eb9cbb97aa4f180b7461f cbf076eaf6737eaacaa201f08292470c5e23aee6
+f192ece8050f3344e78e840fcb953fb6f5ca7b9a a0004ba1acdbc5eba0a4f1518e6c0cf84ebed156
+94912a4c230b8df0975e200c8d6189143e10c078 8989061fd1ca1923f05f32d0604999aca533b618
+a35ba69d35d1e29d19cb725c43879495c3372c17 c842dd8accf256c021ee99d8d9f40da7a186d359
+e78e8c42b3e7c7a53d2699450bdfdbc021fe3bf2 833304aa7ec97e91c5e0f5c7dd63968ba22d8fb1
+538029d1be1b0cec002e8169989c96981f5f3030 32a3302148d7bea81aeb9d6952aac9c0508b9dcd
+7e82bbef65b4847f222a427a105b10d07d901463 fe6f74ef8c25f61fe31f24d35325746e07eeafc1
+2d913c959af85dd652c739068b6985d309af6629 d2d803bda961833c032f931bd1dd9d38315dc65c
+355e9f27a8c2cd3de7adad52d6d6a3e862f06a55 d2d803bda961833c032f931bd1dd9d38315dc65c
+c50eec5b3e2fa0999d201373c43a0c4b3f623d4a d2d803bda961833c032f931bd1dd9d38315dc65c
+5f84cb3ada65d9d1262774000cdcfc7b171a9005 b2ae087c12e2effa2ce77addc77f8d88ac9e3db4
+33461b4a210a557f315bda133f5d45fd747e0e42 21cb5b66bd09ffa14533ecbb972ef07916cd6e70
+9894b232756052bcf4708e56ef74499182f64e76 21cb5b66bd09ffa14533ecbb972ef07916cd6e70
+135f5c2972e6758c5905771b42acd062db2224cf bd6720e2cba87057bb573fcd0189a9c529050e73
+492702dbce9090bd6ec3f55fab5ab21ee54c228d e0454e665253dbdf5ba630f416439843af70d686
+cd5030c2e0b945bda06900a9928b0d5601b99279 dfa87eb03b6cb59b5899ca8b51c565b2f766dd44
+92dc777c69d240117aae7c5c85e7d41f793d8add 1949a1e35acb573a46fe525f051a638e15e8d746
+8d48782c5415731b52bc134eb87b5d647814d348 d84bbcfd215970e65b50f63fcc0aadf999a00aac
+a72a8c613687bc538e347e66863ce09b1f3d88aa d9381c8092ed26a880f46878ec52c05315ee7848
+11bbe89b89193498c03b792b3675d67f18abc70e d84bbcfd215970e65b50f63fcc0aadf999a00aac
+3198d0cb9d2f9c7a9332cb49d8a801c771da982f d9381c8092ed26a880f46878ec52c05315ee7848
+58ca117540e44be9b623cb976fb65a144cfb5be9 2fdb664f7cf1b4751379e59000335243596c4571
+5beead531f2416537fe94f560332c17cf3598738 2fdb664f7cf1b4751379e59000335243596c4571
+9b7824d47af37e435e24c65c3b7391ad799c3206 2fdb664f7cf1b4751379e59000335243596c4571
+b5ef6cf5482503f9275fd4638e75ebbc5800ea1d de37f6cf38da051ec093b852ad4de9fb876e330d
+e579dcf385c1ec806c950c55492689252b8b247a f39950c5dc52e1e8632d1a4fec31cf96796ca989
+f969b35716e5e19625b8bc798074363da04a98e2 1b1c396fd24119563d5c0e272a5982c68144e0fa
+16124af872f0bcf8facee5889d2d81c22a6a3213 1b1c396fd24119563d5c0e272a5982c68144e0fa
+0237895a52ecb75707522b298ea47a8f2ec0fd03 0116a5d977a3b6c43f112f926fd80079c87f669a
+dcde937b62c87bd6f6522b6eabef76a17db72a49 a5b0c88885df87d828b25943380661ca74350c2f
+289c4e805767085e3d3841fd622c6140b091717a 1f3a796ef9a0a8468c3439a880d8fcd2448af191
+95acae9b4890fcdf17cc5803b88e5efa4a9a1efd 2c59c24dac507982bec94be13543b32be299d810
+5b372107fd20e3727a4380b2796c171fcc982cd8 4b61bc0ab01076e34f9b04505438e3d9af560949
+52f0b9f93676aadd560b3fdb1836ff109d368a29 ebc09890112e63e92524bacb53c32d99436dd8d0
+32f7604c38077ad1ddaea1b7b0e9c08027adff73 2fdb664f7cf1b4751379e59000335243596c4571
+cbf6c1abedf1284385e5dc999ec7046963c48157 6136e1feedd13ff090e7e665fb51e91848b8596b
+136dbbd4ecfa7294d9fae7e4a6c89892d27ccd2e 7ec17ad8400d587016bbf32d52aced383d2b0379
+c3a88c25ab357b16e92ac00d413f67d04ff8828a c21f43ac299446258e2fbb3bf2087824f910a7b0
+60d8d5157154172154c3b3558268aa33800a95dc e987a8b64aa7a6eef53f4d5f3d7e242924ce82a2
+c91dc4c4cca05c6dfa0027f7b07c009f44683c59 439842fdcc2fb51eff40a6ede0090fb0ef649050
+0beee278a8fe17ceabe4aadb7fa7f2074a9cf9fc a94385443b24b81d5ce0cbd05099b80b6050e677
+68d24161fd5ee61523b307f84e0289e83375f80e d55f3a5c0a6d9794519f07e10d1831882613d988
+192466dedbfc898f535394b282c289d215af0b58 25148f43c3274dd9c2e91cceafb5910245b2e7ca
+04e22bec4953d6b0f7d440b293ca1030ae0df6e9 f08089e6314714af9b722030165846ac2bf19c2b
+9dbd8e7ac2b19d4d622fdfb57c2b0d7cec1cd7cd 012c656fb1373709435369a6f5bc5727381dafbe
+9fdc7a1dba13fc8b8198e4f75ad830e8a8a674c5 8f1f71928034ce63df717f7983ce69e718389b6e
+5b3e72d2cba9a74823aa9b5d9e4ba24e89d736e8 d75d6809b5f8a1539d7c234a31ba7deda5bfa6af
+67dd18f28f1310d93718344f85faa66233fc6a84 5eac2e886b1990a0420dedad1c4dc018631c3246
+043a65c73af2a5db109530a0f2ec614607308eaf 4e7ec5eaa190cd05e983cc7d528c7224f6a27b79
+70f701962208281514325684f350c859d6b6e606 f97acf58e19f5de638b740593021f8a90815e9be
+b253426a4efc82be71ecc9a54ccd955dc80674f2 fd9dcffcc6c00efb0b4869dca501d9d81cb73f17
+8484e4d4df70dab577b2f3312f848c92afd92fd1 137996828ae3796714e4ba4c052284c5428d66af
+609ed286ddd6e8e4bd56f39874f25611f6324439 746c8c264cc64e3909af02e019f3a7ac31416d01
+ca038639ce745695d42852188da1930a05e221ca a9f91c88254ebe7eac6ec2ed8e64a4f1ec2e2184
+cb603ef3cb58c2fb5c1f49c30a9954953689c77e e1b97caacfbb53bb2b5a88515a021a0391ee7636
+07aa03188035aeec1af946eaa4eee5ddccb4eb99 9d71dcd49b802a82d8ad4b722d4f74fe98d72164
+182919471c5316e0f6ca98af9ee86d276355ec38 b4eebed40d30ce1c0993b7fd5ea2dce6ade441ad
+a026375d127930b2db0b92580c7ff5cb9eb8f3ba 1afa1878941b746e23411fe42330be60d64557b1
+f52f7d47d8e592bb6ff2211b5f4df9ef80c400cb 9f58cdf9baf87a57ff97355552d43a3244a53072
+eefae22aff724be93e1665a6b2e823786346349f 2fdb5e8f3fc9099cbdf5bcaa343b5c1a40dbf8fe
+065ed7a78a7d6709d0bc395047c80e59b34fce41 da26347fc69cbe7043847a633cdbfba30d8a3f49
+227f81ed247b8030e4f404df49cd33b14f7b7143 55010ec7f27f18acfd968be14a646a2080765825
+1cb21adbed994e841645577a15b92f05f1769c33 8e491c3400c03f1db8d4e3b90c0440e92de5d0c5
+fc80c80737459bea486e4dab4cfba309a7b16b04 c35c292d3922a2651039f5d34ffe5b5974e2b458
+5e111fdb2211b8d40cc0e11327c0583e34cddd29 bb2670ae4fb82becab1e6d864e183b37454f0d0a
+fb77e3c08c472f11ee66bb98a722398cdc597d37 1398ff21194ff58e15f9c9b8bd7688985537bd70
+e202a9934c640131934fea5e7bba1a3bf9957de3 b0221c8e96d012596cd29f08206a4178928aa5ea
+dd428770974577862a8c0aa88f7abff45df83026 b0221c8e96d012596cd29f08206a4178928aa5ea
+b12ee56dea5c9b7f2e73a7c8bffdfc27358cc398 6635bf1194c72dd3f045b82f60d1392adda28acd
+50e91e77f3e4651d5f06d1bd9fb04b27afb9f566 a4174a24c050affde7c642962c505eda9f3a0fa6
+80e4f05126c1912829776b6889cf5a5293373f03 276ce5524b24532b6f799aed3e77d2f694d4944a
+05d1e43750154b330f348c9c64d8fe6412e94a5d beee423c6a5308aa489464149a24e81b0a5cc2db
+7bd7ddcc61d291b6b8355a03e7221f1d4c2a829f 5b5644e59c6fd65d82197d2b0e2054a32276c7f4
+a151ee628975d05397a11a74bdb6f7f0bee76bc1 04c78810448609eec63c6def4484da8f21e7f3dc
+184afa672e2363e88604795cfc2577194b7f867c 8d7bfd1657bc4f0cbda1f77bd857c067358436a3
+6a923e9a4e52d4cce65392294fe1ea9487043d12 375c14463466c1402e3b08448eedc99127147c7d
+79bcf46751566ec0e3b9e9ecc314c695b2a45313 75a593e216623b45920693cf934cf16e91ec3de8
+58f3a28964beafb2a293588556fa83411ebc983d 18284841b82d730c6a57c9851f44e1dc66dfcf79
+1c414d2762c29e787fb76f8228237c405200584a 18284841b82d730c6a57c9851f44e1dc66dfcf79
+8fb3212f750cda0e9ce467eef3474a8ae0f99ee8 77035e12d96a937930665fd450f7cc98c5780377
+b06cda3400ae791af7b6837ffc33d1fa26142446 77035e12d96a937930665fd450f7cc98c5780377
+4fdf930fa1506fdc24c993a47543467c798e1949 bb623eb69a0478d23fba5379d66424156156a78f
+e0b3346ca39d044260bb009d578727f7aac3e4c1 bb623eb69a0478d23fba5379d66424156156a78f
+65a74c5b552d8bcf4f4ccb0aea6f3b834816b24c bb623eb69a0478d23fba5379d66424156156a78f
+8c361e3e79029b716d0da885025cdfb3a0351d12 bb623eb69a0478d23fba5379d66424156156a78f
+d46a146a176a2f587203988929f359192b7c2760 9d1f190efcea792d3ba6f3782d64404562c0b9a3
+8ac10824caa9194eba792ec18b17db0092fd28d4 e81ff9a2f29acc36bc362fba29fde0e8941a77c4
+a73ed42f931cb6e217c84e1c5d1c2557c43b7438 4e1532be8cc66a9436e7f7cd1b77b8ad8053234f
+fbecec15c5dcce23d94f92a0b782f81c6a7569f0 f4e7935895cf3f857082d3b87be15002fd3742d9
+eab1e566b9962f0e6f3f44ac65e4e181afa40d52 5f9d81b66caa35ea97ffd6c05b0c4d432cb60952
+f899afb699ea339c7bb4b94a460bd98eb56e2d66 f9f1df364502f756a68456773ae3e5821fc42114
+353457456758f314e155c2b21b154381f41ee08b bfa0c21d18b958cf868bed037a72a3034db30085
+f01e7934e24934158a195c73e3195afcf9ce9de5 0165e47d1d6deb636741c698587ea7b6b748d3e6
+05d7ab7d1a12bfee2be0d18747d9666264206c72 2f1a4cd28eb8db4a7b48ab3d734c18c67831b01d
+777398ea1bf840aaeb92f9b8e55cd4679f8ec869 62f7d8d5f1bad8ced381e088b7eb090442e592bb
+e40f92920dc5a7eb2805f81164623e4f06bac185 adb75ed4cd4b8d85c666d2a5cc35718089f54596
+1a404819d8a33674a55b4e1d770bbe55f8852180 b574a8017ad18a4acca97e61116403b0c362c55f
+177b2d647c5ab8a76dca82bb81e360b880f99d0b b5b1b28210cf3c6847abc8c3d019d9cd15cae8aa
+21baa81edaecec500d159f6b5cac9f7a34dffd03 e9039cb360e971114430e1e878c2dba0730d712d
+286ca4edf18722631817b4c30ba8a4e79af216a0 f584601335c2efa3bdcd7923983f2fe75bdbc440
+971f3d10cb7c098a66d14dd14caa2f91c06a54ad a8514be86c6e005b19fb2b84f2226e2039be2b90
+635162029dc673554eeba08781fbcc1f5c5f4089 92fe9e8c9bd2191c5dbd8441cfde3ebdb4b209e3
+3c7e856f906a5dd47a89d905f15ef7e3472aadff 2ab07664fc5431cb7da7eedf228494e33f8cb789
+9c06e48d35e57b64031c61a8adb58b13ccc3a03c 11498a476b865fa3983d390262783689e04c9398
+3c14f572c857da2d6dab19909e752d0c023076d3 48dc7a47f064510e599e776345c24c3c32f08b33
+63971b421b178f4ff81d98c0536d3c9e6485f7dd 303d5d80bc6406dd71038f840d083666dab8f360
+33f67b56a6576c296dec9cbb16a0c52fac3081ed 555a4f0134097c0a5dcc22511f0bdd0d48732d56
+6e7f784f19fac8d309c0b4c2d4bc6d3735e82c72 0815b90bb58bf9dca6c9b8178770bc979ebfed2a
+7a10c70c68f01a546a91b68f954dfbe67e94d2eb 7bb79d8b64845ec1b68f81f37a484d67d68d768d
+0fa0dc5e3b821d8a1abec03a4e4063fb96f7be22 7bb79d8b64845ec1b68f81f37a484d67d68d768d
+7dce2feb9e99063467e86b5e0b64e83997378e41 53a100cb97110b95e5f7f7711f67f465865d151f
+2ecfa74d4c1c0803d9b54bf379e4fff07fe1d7de b602428d11aad50842f3183e627b0cd50bf0eb2d
+5c39b7c4b72479f0c444602700bd2b5502272fb5 1ce1143416ff5d079f11a7d8b6bdf9ec7526877f
+2a15df71a6996e1f6176c5168d68da5f12470164 d63c6002681d2f87118ebbff371513bab3cdab45
+eb6e4bccaaf97d527416ea72197e3a33a166904f 72057275f763905a435cedcbec2ead1a0f9c4270
+d02a195ece81acd5c5ff1214d068353c49ae1731 141afcdc7698967a1808598a6e8cc4077eb4bc15
+c9c9143e0a3bf932304dafca331e80828167867b a3119f39e567af9f7d548e015425640b27935621
+85b7fbf815db4b23ea39947692337cc23644e30f ae5395c688201e0d7bf7da697560ee268c7ea7d0
+d37c5095690de58376d90e3ad456ea58901de381 b3bb130e25bb279dd0abdaf8b553425e170624dd
+dace1057e8e58c158d2f0ab3724ec2fc998d9f39 f7615a5564f488c469a2278d508d8e0a7c169f4a
+ad70c07b05b673c9c0ba965bac18a4562c87e3ae 8c8244da5c421dfbfac05f83f05e897c3f467eff
+8a467691e6370c19503c18800ae4df4ee942e81d ffa7f72920cc1205f0b78d34575f3b5a39be96d0
+6c42ff14e601a8029e35d1963025aad580e148f9 74a89924a219a239ce8b22e0acaa4b432bd988ff
+0a68ad4110d27bf21cfc8194a6c4c8576f0d36c9 96be0ee996d54bc963c5e7cebefd7da3602543bb
+6c253f47d10cfffe9278b340748585a2f4232481 aadf8a5a0f286783afa90380dab830836ce49370
+6153934894899a1e1eef03c6643d2a208af4e882 cc307a9f6f204bd80f93ae0429c42be088ac364d
+aa60a23163573052b04b1eadf953f8c15afd650a 0c6c304e588d9cec99cd97c9735fc576209767b8
+711423eaf045be22df335b28f84ead4dfc799d2a 12e66c8be001c902dd8d186532c0117bfc5a919e
+9db2fb24f98124e8414552ec9538eb85d1e07bb0 b6cf6ed62b2425922c1b56ce19f9e9eef4b370ab
+0fabd46448874b7c536cf000805118d2f3190b1d 4a733bc42396b39d13e17e4017464ed91e4ddc5f
+7a1ad607d3ed7a5ba3e06ccfed8c3b17bef035ad 43afb49cea40b7b9c6483f2ccaa7615ec22b9281
+6a1646353d7216059efee92f98363e5bb5857ba5 ea6fe1a9b3cbf89a1ffd1178074c51c45c6dac1f
+b75ab41c9c309ccc75df47c2aa2da3399e3d9bbf 510d8ad39ac2a9ac28206c58cccb136e383b9f48
+6b9af9df441c5085cbea80fba7c27318f59e6a3c 7b4be20537d0d2763dac58c304ca77924126b270
+ee7709319d51b5dab51143d5801d702b46af9700 1e219a7a361a72281e3ef197c2e3267a1a4d02b6
+9a2060c6d10a9fbedd99728596a183a2677cbbaf 4abf4c48055b890d3389dc55fc90ca7b44931191
+37ec0c187d895a29dc3e2156d50ad4ed0abb11ec 7f84ee825bd28c6701d2019ae1c72076796e42d5
+2ea72c26338b7213beaa4df4ecdfadd0b8a0b367 af4ed5c1f44086ae8025f39a6380be8f14f79fd6
+10d565cbab45028cc5fc997357543caf58405b12 4b7785cc50e49c79ae1edca91c09c23c3151793d
+b844d75c4fd7060b39bfbe0ed2ec156cc25adf65 3f74dac61cc6936258b9727af24f2a64a0087cda
+20a9404d6167910e61c0e3e34fb6229dc6062aa8 53b3a4053236d990605ff8b58a08eb5f36ab5182
+9e43f560cf71f7bbb834cc1b8ad5fece65828f5b b00af29f06a495bfcdd8728decaa6272347ba0d5
+e52d3f9ccab44eaa5238587f9a53a38c9923f463 154d4790f1cefbaf7626dbbdec92a8f9790e19b7
+4cefcb5d7af0799d160a8d4e9d3ae2722b044b67 3429557ddf29537754377c2f157984a0c14300ea
+473904ed53475b6d20d71dafce775a67a3ededc6 0579b8587e5b8b8801f9506aac071bd5b2509dc8
+9a2889fabb047ebd7244a40037b4021ee5ad154d 01403ee73a6076c9695713483ed1d3194d406953
+9f4acf802b8dc69daa31eb5d648752bc540e5f07 b24e1fd083c29f1c8538ae1e406bbdbb57e01d25
+6231cf0415c8ca2e6644727dcea1eba6ac53765b 1815a4fb4158d8e8f0ba02942b90fd256befe75b
+21d2af53e1fab0fc48624773225a5701c236d4d4 1815a4fb4158d8e8f0ba02942b90fd256befe75b
+94db78e7a0de7ece87ba430bde0b51bb1e1defec ffd44f4600a76c9c3a7b228494a0c1ef086a793f
+0977bc09f748f99507e2aa290713d296f87aa3f1 79dad3da978f674ed70424c124b038aa4d638f98
+71a51f80d6cd8347af53722870cd122102efdc31 3a8236bd5cf41236874b568cbfa44e4bd22870de
+3aa0cbb21c0228f7b0c1991a0e9c15fff2f4001b b3075cbd0650f18cdd7980043b802c15028a4fa3
+d23237d2567cc123e7f9b7f7daa1b326bde420e4 a49d2269528817f80f555086f07ba181020e2e16
+0230cdf67c4d29d05add72695b12b9c4f1517341 a49d2269528817f80f555086f07ba181020e2e16
+0b60a8f8d3e65d199ab22ccfd5add31bb8d68383 97b61ef037e84f069234641e8a7cd6859200324f
+b787e0136ed327b778e55f33ab94c82472c6b39c 129f22e27cc7f5281f6440fb036fc9398f724fd2
+16c980da3171e202d35198336d267c2612813f19 65032be44b74e3c3553d15caa7740afb3026b9ee
+e78feac91db92be5aba4cd1c37e8ef3799b36fa3 8c0773a8d002a56c2d4398a394fed716d10affad
+3438978a7682945cc7e08704ac6b4617d72f9345 ee6eec81561492d5a06ffdb0083b6fc981d00756
+5c958c691ec655aa99ce0f8fab7db7eca882a0b4 ee6eec81561492d5a06ffdb0083b6fc981d00756
+d55a76a8f87a7fd1753021a3e0f233fc8957ba9a ee6eec81561492d5a06ffdb0083b6fc981d00756
+3ad79ae54c353827b3045b12e2bec7f64c5bc298 38ea684719c3ce30eee9a64e241550b9d7d182d5
+f836ea0c1f6dae4d37840ff7014343b245ed4ce0 d44e1aa00601456e677379842386cc712c0827e3
+d2e483ab601489c80c04bbe2251eabe58f8910b9 41f094821895d731e09f2c31fa27c28913757734
+92018df13674ee304cb6410c6f35d307b550038d a83e82ea6eba0f3819c355412beccefc73439dc0
+dbb9015f6ae84d1a391393f19b28f2f4bcaf5e01 ab916a61b4b167306937f5ef70ffdbef182e3f71
+5db13bcc76559a30e2ecc8f19829ca0e55a9c180 8838b61ae0dccf5adca121899876a9a50f70882f
+db0c693c762a7b48adf457b6dd99df7b1d481597 6b0d64409e731a523f3626dc6073ca26cf57650a
+eb8ec28b822a1a300a6769d231829fb65867fd1f 8dba6a43918d122032363fd2bad8bbac66447e2f
+c2578a826e5b1f210e89229b4756be126ff22f3a 029844b040cb46a335bcc9875b61d07b41cdb0b3
+d1826d92ac164a5735714a25555e846baef411e2 ea524246696324322d1553375a932fd919c80f7d
+4a297d37b02842200dad9cb09b4f351f2f7e392a d965b9f197e0634d359878b44e6aa628c91f7506
+a9e1dc6cda23d55d11e711726164d5c780ec6ea9 fad2e4bad5dacf8cd7f34cfdeb2788d9684e8692
+a3eca77bd5bdd121e184bd8bb7f0ff893e158d63 459850bebf7de5096501611373b0165289f76c02
+93b6175fa23c7c4a48e010f99b58ed038cbeb1d1 459850bebf7de5096501611373b0165289f76c02
+51f32f17829c768a3732b9268b98194a2b1bd6fe 459850bebf7de5096501611373b0165289f76c02
+26a76454b03a3899df3f34fb26e02299d58867cd d4fe6d6f18e629875873826bb0aec2423fbff7dd
+f7ee1fda9d02842879e357c7f28653cff31c3df9 3d47652cdf558dadb3d1e000fb968118cbcc7791
+9077a9e91ef1facd2de9b89f0953ba3a66d5a87b 6d6b57c7381366417c6fba67d025960760985d52
+7d7141a3d19e015daa7acb707fff7fb527dd8b66 8750b918025f8acbd8e8f7532dcbd0a2d7ee93ec
+c42f92ac6cebb25b8230ea53ac4fcf611ba792fd 871c26656a22d50e16cd2f6ab56fbf0016e395bb
+b89cc1be7ffdbf167ca3e09db3032a34079683b4 ca51a788c43b80239df5c1dbcb5632c359b5f263
+0b61b745610b0d46f1fd0ac78c3a4d5967265638 9101ad740dab09c5f5e7a5cfaf6444b65cafe34b
+215c5ac6034a9e7d36ce663d58fbf7e5b3cc7f24 cd5e47ba08e9ef09077555febd238a04348064f1
+2b9a29c199b15024d78354e6cac8306ce086edb1 89a2e0c4d38bc56956d7c7946a0e273f2eccbf89
+c142df4ae31084f5a26fa71c85ac5ed4999d7d0a f1dea4e08b516c5000fb6c3063964192ac4e6116
+b504e16deee428d230957072b55f79f2d9162ba5 aed5f4979e6b61795b6b0e5fc41253c7a0d1a26d
+cf72d67852f0a8c292d429c1d56616de44108460 b0eb6b95fbc371906d0bc90b0a449a4fc3a6758b
+16c7f2f443ea8675a8e10cac056bed8469bf333a 8542c1d4ce9457c5df036f8f86737788cce94f10
+f29326ec9815e4c4bdbdfae0559f407754339e11 928184623ea126b3bd913db48f2897f2ec7cf230
+97b94d37c995323ab6bf2b185e8724a88f60477a 7de41812c09e8b7f4d5f7b36edf480e9c71ca0b6
+eb70c1cc1e0b86106bb5e2d664a6dd5c3fba21bd aa5d7bc5623c061e19b106d6d32a83b488803238
+517b66f05d8a8c05627dff7b931f52db9a5d4d51 0239eb9f58d38965a6e3470d371659c548e498b5
+efdf28087350950fa482ea3e3649f3119b64cb16 0239eb9f58d38965a6e3470d371659c548e498b5
+e103320aec0df81ab7b2f06d55c133b48ce27bb5 8edb0d09836d2d8450722ca0ae82dab980fe0230
+073d886b341465bd2a6565d4e149b826ad3300c2 ae5a95e86c166d51d4eb810732f2ee70242b38ce
+16b49dea58098feb721e498e66ce2d66294a6d34 2bba95c4cbdb56c36ff6385ead344e5174787483
+38cf452b9498b9e51e0ba80ac21badbc1fbff5ec fb26dc8178d71232a312ebc74a2d0900b677e51f
+701a45a6c448040f1598f23de4e2722a7342dbd2 86937b51f4076d3c2bf1872b6191e47e2dc03a31
+176278d808a13ca9522ef585f6d14fc50856d91c e60ff35dd693752b7fcde36f14caffe39542e9a2
+33430c29b47869bad1c2bb7ad773d76039666cab a65ed3a1471738d596064d79ae8b3590118023ec
+0a73e26f1c68d24ded8d4ffed47d33e23c3bc93e 1e5ac1103d569a047172321a74e5a116a9c54903
+8a0756c6cbc1b36b955b913d0475c7c1d0e6c1d0 6af35eefc094965b556a560b88924589ebbf4175
+039df7b0137a458e43b4b6342d16beb85ff061e4 3e976d75db995e30de53d5a7bfbf68283a7dc30c
+574881996ed5eb17825b3cc627404d703a57b7d3 3e242c713c0bc57a05c47b69943248a86e4be6b0
+81587eba76bd022d4aef843e6956de110cda32a9 3e242c713c0bc57a05c47b69943248a86e4be6b0
+569b2d0af9732458b74468306dc4491391e9ae71 5a7d693a516b2063d10288d6ea1df6d77030f558
+e54afd058cec1732636828fc5403b5b573b67d44 9ade01221972100a2f5fe43b83ac85608fa138db
+1afaef59607fc8a13ac86f15a3aa49c0320e6322 4e8626d06c837d7eee48206201971b7c7407211c
+f098371942c8b0cc772b0b29c68e5b76ca0c5055 5cc17ce177b13f90d291344ed0923ca780ff01ce
+86c840aeb75d1e23574dfd774d9ce29d47021ba7 a46a54cd90010f5b032658c9bc2f9b9fcc399740
+86212cd3c32cb1bd7b9de660bb3bbe4b53e51ae3 5be66f3e28b2e9c6362793850027d5d6deec4f7b
+7e9c236fff31d24cab195c4afb3c6837080cce47 24c58bbad89df995699cb71223f75617c2eced35
+eb159cfc676b5e3fb4e767805784f9f33f4ca2be 481ca18a59b6073c77e07a5e19bb8cb33f799fd3
+4680887cbb719658cb76469a18359662fe0fa3df 7722e4c1e4b2b81cd03170a21e8c4b5a16976ae3
+458076fa7b73c2be81d0666caa30d7847ad7ac4b 3e76240a487b31eb8e01de0a81af193ddb1a6fe6
+faeed50c2ef2160b9532c88758fe00d49455c79e 494eb669852b2ac9f7d2728da4770d7490005622
+83229de75dc77de77edf8093d340457e0142f4c0 e58b4b9b5734c7fad4fb667febcf0f7b17da2685
+7729c98d221a3809c14b4e2281f89303cec3a513 53fb5f3587ac631da59af9d842cafc9f0f5ebace
+79180d3898a9f689afe2a9b73461f3e31fa29fb7 29568c33fac9fe2eac5da8775a82f722a05e097c
+f980d93e804941a0da36dafc46085529b7d31904 a0cdde6438372423a078cb697789be34f056249f
+e122867f120cd2792b8aa22efa614029d21e60ba ea015b2d24a5d1101b880b2ddb7270c3bb97dd25
+a1c3f715373d0bbd01967ff18cde60be0569f9a6 dd56db23e8280e3dc96b5a3ce6686ba7e05340bd
+065c7819427e7425514920a7f79590a72aee4df0 9f74d980255cc457342eee09dd167a5dbb41bd67
+82a27b712cea498a038a7bf10ceb54f79ca177e6 9f74d980255cc457342eee09dd167a5dbb41bd67
+f479cd56a714b9c750711a4b7605def68d153184 b8d758cf455454d2e5b28b2c9f46f51f48a3a428
+b06a21bf9f1e7e28ed08fdcd1198e6806673f484 dd56db23e8280e3dc96b5a3ce6686ba7e05340bd
+aa3cb8812d4f6b1032b032eaeaea3dccd09a3cc6 6392091751bd355460170df66fadadaf413136d1
+fca95fd1fc47fbc048aee323b6599f257367f5e7 de3f88f5ce6106da8e91f871908c292db0acd021
+76099788ba39dec15069a5e5444be28f8463aac4 133e0244a65c079a1485a03a077279fa311f7624
+f8437a99e1bc9afa6544fb34155efbed114591e9 0bec6f0804e6461bbfa15d783edf2df6353d6fed
+8428c2db53855ffa8ea65f36dfc754aa5039661e 9dc93aa6b61dd11a58117507c685292fb35aa54f
+0f3c130dc9538f5f727a65a6ea9818b4b7451b5f 467c34ce4e88313c742911067f4267f1763b7cd3
+bee49d98e30458a371934272bc77ba56cee566e3 891f54e2bb21bf60efcece0658f9d8b2e8c954b9
+98285e9fb2bf8f1683194114d8cba8fb7d0151df 9c5ee76967d0dc139eb1133079e3632de6b8536d
+e30d2ead9c86a4d12d636f93216c582072b667fc eaec61c890b63036e22d01434916996ce25a46fe
+1e84dff30e9bee30eaa26cb42d05b5ab16cc3f2b e7f323c9995f94c5bf66834c78864ae49a0f79e3
+e83e550630215b5f9afa2e56a7853cae8009f20a aabe3df2827b303779b705044c38dd6c4b532a9d
+bfed4d9bfb615bb3ae8134efff62c0fb91e049f0 5a80d9a8b98a15a92f0355a130b40dbdb4d89284
+c944e0fd0130532a526531877aca0112d6712b5b 1d7b3bcab83041d21fb4c072d9ceaeb22917cf6d
+470a1b186259748c43271e49a18b70aa1c554c1a 467c34ce4e88313c742911067f4267f1763b7cd3
+8a8e4ad813f9fcce302f1d25045644a817d60738 1d7b3bcab83041d21fb4c072d9ceaeb22917cf6d
+27da5e7d2b818032c9f3029c073d42f9385164cf 23e9df7ef9a4f4bf3cab1807e9ed23a73d50997c
+d840a23af84dd2d08535394662ccc2a1236e73d3 bb8330059d30390c24dc72f54dab3155ed297c94
+4630a29737c02492a1ffe84741417429842657d1 e084cccf005f37e74ee86276aedf83896601ba01
+53794e371e1abd058ec02ac78c5e13645f801874 e084cccf005f37e74ee86276aedf83896601ba01
+060178b7f930369542b88a4fb184de0c785a7299 e084cccf005f37e74ee86276aedf83896601ba01
+e84bd98f9ae1740a5b18be620ba1f301a9ebfb2f 91174afd2526e59b563bf59b7c483ad5eefa0285
+319bfbb884e179a7c308f002cd0db7bc8051bad2 823979e4bd0734eb740168e5262f239549e82b13
+ae813241672e6ace123b135ad91bad1c4a2e650a 898488f7a4f4cbe2d37bca3901fd450d44d37000
+17e04740a14fd085fcbc7e162a4844d1f5668bac 54ed6e25f666d84c530cdbec4c5f1a6426c28d7b
+178976e4c40646ccf931ea0d0448b6e80bfcf2a4 bcf89a4b5828c3eb667174f1854586cc0172bef1
+8b60d42c75c77b6f664713861132688a6fb2833c a75f9956c94d59c60a148c02fe8f51dbfc6d666d
+c37dc9475b8bec19b3c6cf3ac5b29489e37cb637 b933fde1accac179665c9622a5659fc98f85dacf
+79959c67c1219fdc6740bd0974748d7825ce2984 634d6757c45658e38d73324dd1de2f69c42bd045
+3090e765271eb8638057dfa97212124954158383 274e0d12f03d754c0b11aa98413381f40635ee63
+d817afb76ce56fc81c53423e61e10c1decf40c25 d7716290047b2fa3092f22d4a80f61303c12aba2
+04441c7f84d95d6a054b71bbaa8550a95a5d7618 698b0d180d5ca391e47277dfb02b39c1ea3edee2
+a19d5f8ca97b5a03ae316ff9222b5bff6daf300c 3a55726071f20285bccb84417f2a7e940bb7e2fb
+c83a03e9d1e4008889c666fb04055f2472dc71bc 2286ea3aa8bfdebaf77b33b584c790d8dbb870f5
+4fa4f464d61a45173b792e582347f6d912254d87 f7a2f8f859973fd395fe2387bd9c185b3035a05a
+2f592b5f6602caa1b5954dface4636f75e00fa37 850efbb99d04fb3c86b2b0b6f5cf5b7ee62535f5
+decfe074a9e0c426296fe5c4123abc7eb9435833 a91e1320999d2b4ac9c6ed9344ea7aac071b30d5
+8e7bdd81dcb76063fdb39294130b13c043e67948 7f1dc756c72611294650d5fa63831d46aa8f71db
+094f0c13950279181a8df0033b2d4286c85d186f 01690169c879a4d01fdcabdd3384906f1ead8a3f
+b4cf1f0046306cba93fc81892372c9040fb41e36 df703f4f6eee79bb0ab33344a30775f0de1f15e0
+e6b8afa5ea1e967320a2217b95a1675d81dc5495 1def1272750b04af1bad6997fd8ff06faf96b8a7
+6ac6b155cb3d01d4f73376abe4186942f2bb52e0 1def1272750b04af1bad6997fd8ff06faf96b8a7
+4038ca51b5769d684bde1eb934ffa0cb4f6a3171 4e42b346dbebc0ba8d8a53f36d137be380bdcc62
+e0d5512a1b02e091f9d45a598e44ffcad9318dca 539fd61e0450db8560ca669df93dee96a3d51b12
+0dc66c0f90bb6d69b8816cd512a8828c29e889d8 8905c9b338558f22a41fc118ee970521cd7c0338
+335b08e92b66f804228cd24a0ab8805aee6b8cce 4698b0cdb3ab89c4ee827902661e63c2b074fdc9
+b258f4144996e70e66822224cf91280d7de0fc3d c8d40031ac859b6fb55862fac6607966eae02fc2
+be64c6cfed18c378ba3950ad43829fd1efc0d33d 76bb3e05f7604b3befff7207b94a9181e06c357a
+f5c789f21fcbf55492e29123c37347a999a51f18 46f823aa3bf9dffcb698bfaea57ac6e470dfc679
+afa631ed961f790877134cd3bba1264787be2a27 36204bd4b019f4c281efafe4b7ee321544277221
+b92ff032302b74c8583bc381a6f0847b7d8feaad 36204bd4b019f4c281efafe4b7ee321544277221
+a78a2e14ad0dc741e967c421b0c390db81a67719 445415ec9604af935ac5521da1f7b232f7a5b4e7
+54f9893bcf8ee7d23294f800a2fdb198e4beaf34 65bf99d86acc5681a00a5c52cb12f4f00aba81dc
+82e88ad5568e66d8d349f37f9e4d22b0301097d0 54418519412d0c40dce64b0beb3bce061f288621
+b777dfc988310ac7439e1d6c8d586a7dc693cc53 54418519412d0c40dce64b0beb3bce061f288621
+60da2fc952a067df8be1045201d8ef1e963d4246 bc9f41d6015f6ce604672f53a886cf96ae32e67c
+57dc52edbbc9acca9b1f26e1b3866b5b3f99aa1e 045fb244287fbafd6d56cd8343b11f9de325739a
+25cf965411016fcf3fd8d95c80f5507ba6fb6baf 045fb244287fbafd6d56cd8343b11f9de325739a
+8de1ec9f3c3f12161dd150ab751df058282af74c 59f9e867d3e0285c1fa1e5b8c0bd3aec2e9c0a4b
+677c68e911f43c9185dcd4a133c0be146b9ed413 8ecfc760dd38a29981cbd880f1f076291cff6fa2
+eb35d0f66fe4954a14037d7256f03332b22ffa05 8ecfc760dd38a29981cbd880f1f076291cff6fa2
+c6f4d8998411003f19e72659af60503bca5cc988 5b923a65f3dcb8ce783955d66a0392f87c641bb6
+a28b812cfa356df474bd90f362e111ae6acaa7bb 6d0bb43f4732539ee0d6b1d14d37ddcb50c7d500
+a6b543ae5cc55847e2602ab65065e9840e1098d9 9b4c5a5c0849c70d3b04a2af89996f3fd7c45d6f
+95f89bd175cfa2c15ce5dd9fc383d662f56fb1f7 1a044d944e6ffafad26664a590d909246c751b26
+311ef0defbbe120d06c446505a52dedd1063f2f4 ca6c6c47649de895b72277673c7eb2847ce57ab0
+9514264d59b2bdb95cb0c812895c5ba7d279a2e4 b5483dba0898bde1444b9980298ca0a7448f55de
+82d69a3c8f3e70b48dc9c72cb2c37adfb0766a73 e13ca4c89b835ed886c80089b0c78d9834188fec
+fbe7acd90a674ad4ac690ca6239413a677b5b1ee d4e37ff499b129263df60d2b2ba3b0aa25396b70
+0fedb9cddbd3b034ad5e7d34e027f41e52ce9dfe 9e092526169fd728a064eabdb3d88d2ef7b09815
+ee87d75a4e5dc146a33f0923a715df5cfcfeddf7 84a21d533cacf243e4a4033c5c5cb1388b6e163f
+f0fb0a05b50a68e9bc8cf81631006974ed9b9526 921e2e04af4081d2fd13570a9e4fb9e8961f6428
+6e9977ae2b307b56f2798481a5b2494f6f5dd059 b54d6ceb317fc86cde33c8c802c6af4a54062bfd
+c19b3f1c3a453c872165aa36386495094be99a38 e148a176a265447291dd456c1021a6a002609142
+59f8bf1a210bca4606309554bcb41526aee54cdd 331aa387b38551f01a135c1696d7bb8d331c59a2
+c8ac12bf7e9107edcbd14e8d5ae64c159dcf27c2 bd709982157df275aacea48b632e4370eb09b33f
+8607fcfd5cd355a1e2db6468a9e40d5da57df37c 436d9150bc93dcf6db4ef10cebd911b48756e306
+d34c61ffe98177cb24686045c0a604259e243420 c1762988d63472cfeac2bd95e780f4276dd26313
+cf2d35db779578c380162ec4747aa860c8c6f87a fe7484b8543e40894ef3951e7669ee078be1c157
+76fa55b82487f2c3170c3af11917376c6ebeb9cf 00bed359c071d5c78b828b5ffe84c65eecad7667
+513d4ad10bce696cafb6253a31e3642059274a40 00524ca6248dcb056ece08646bd1a56a081d5ab3
+ffc4b9c548545392e8a674c40cbdb9cbabe0e2f7 d1ddf69f541597fe4ddae955f0b27ffaeda1907d
+8ca4a4ef3746de5127ca119bd1691d462ac27f86 dc2a0f9754d1b1c0954f9d15fd2653704992d26c
+541c38300a0d10fd94ddaaaf91d92d23ee1df377 ea55b52317fc564cb624f6f0b469dc692617d483
+c5cd14bbdfc3287ce3fced1fffda09d7c7de4904 645599d201a01eb2da4c771bb39357bb9c3ed3e2
+862426eb31ba4bf53ba961e85c95ce857c6b2348 c12b4f7c417894016041499f7dd89999ca5cf726
+eda38865053a2608096d5d58e9f8951cc9a919f9 adc242e8ccdb98b83178775a88c38aaa1e9ea57b
+51d4d5d4d6a319c7704a0db318cb8f78747da648 9d832004d89cd9da29a136ec14e0deedcbdde325
+506bd51d1543a3854236b0db016d75ce9465f0fa 3551f44d6355dd6a54432ffb22809068cc8316f7
+9f7d754798795c42e2e01373a505b15a7c51c22b 23f97b13f15e46af6dbabf2b3a5acfd4855cc973
+1fa97bd4f7d995a304289005c6e49ccc370b053b 3fd142e26230a78a452382be59c3ae17cda1c833
+08407d567fdeaa1d241fc686ca4adf082640a17b 4d1c1b16073bf85c70db6600b5016678a8760418
+5cf221e017b8e7c805b01d34974579db359713ad 4d1c1b16073bf85c70db6600b5016678a8760418
+0fb09b4e17384989f6920166d12dea938318fb1f 3e0d7adcf40b3439b2d1b3a8e5bc85ddf19c5c33
+6e4a5d340cfb5f9a4c99e73e0ad36e1a62f28c1f efd6b1f49d7b3ce3983603003f6dd7f3050250f4
+a2aef794ba53d92cdcee1c511660cdb86a8780f2 483c77fc3770856c39fa5693d5b7aec181e9faca
+d14775298c0cf170b32917bbb6781e429a45d435 493ddc9f7c937d5a30d6a44e9de56a46d45d96cd
+e561b0c02dd436026fe64b036c5e854067781a4e 8305a9735f4bc58e0f58f4eadee45b9be8f69fe3
+8d57f8bbc2677965831d6e9498bc76dbaca02f95 fcfd2234fd325ad9aef68da9801abb6345332253
+9d377586e10f5856a88893364bc6c45620402ac8 69c3e883e0ad67dc9a28e46955db77824bf7836c
+186cb5b5eba158394d7b8f8ee57edce4ffd163b0 3ef03c7d119070662ae5e517b3cfd988bbab49a4
+31a00dda0f203be8e44e62a64983cb255688158c 35f67c05e4e91d360910db3040702826f64e0493
+48d2e012422d296eef7b211172af5e1cfaa75488 946d26a33f9a9d66cfd58220bd95d128fc1db4d4
+5cd1c365670f4656c77319f18a08a81fda8e3ba4 d40ac9dd949cba6dab1cc386da6a2027690c2519
+eac5bb41efa8db44d0b67bf4d8c0f1c5c9587434 113ab93f8fb008a76c8e23d7667fd80e3fa883c9
+a754e561050e2329952240a81e97fe59eadab63a 113ab93f8fb008a76c8e23d7667fd80e3fa883c9
+a8d04feb89bebe93a36eeec58af289da8d4045c7 3f4152bb7c350a3665419a07706695404724887e
+f05b8c16917a86ba7c6ff321a415b2ada7e52445 050e8ffe42b4ce97512c8de6e182a39f4a5373d2
+d3925ceb9b0a729b0e48229fca8228c79efe84e3 c5a4c4babe3b1ffcfaf6e7a9a178c79929cac38b
+6e8d8f90aa6035dbb3f1c2d6c7e002bc68a3b2f7 c5a4c4babe3b1ffcfaf6e7a9a178c79929cac38b
+3b4ec40ead9cdc91df712fcc1731ae1e6e0bc188 cc5133df54fa99ba9c7aaf45ab1b8a2132866d4e
+1b6866afebb36f01e02743e4158f1a4c35bfbd71 753e7c2857bcfe454f97dd941e2ab232f1922dba
+d6c3d16f3beba77525d934288adb389738fc474f a9d7438ddf1fe8e49ba2b3ceb08670b5f983e36a
+83099f3a6f05a0c681f58d9da6af58bb2a355ea1 e9d5e0344b1250fa43cb09d6976fea92cbca0b72
+df552f36f2d6fe783c9524ea202033680404df26 a13fa068f23f1512d47c3ac0ceae7311794fe5d2
+b58c39256b84f81cb3e23a998634fd6c032a4a6d c591fbb917d15cec39379719e2165d9a1f7a9c8e
+fe01ce21a156964bd6bed557a9a18183d115835f e41230b8cb41fe65950c6cdc0658892a809449fc
+ec84a7eb633fd2d838e2ea8ee3056f846758183f 89a031510a21ef2e73a274d36cd8bc8ff8fa3467
+649982ee271362ef08d668eddcd68fb4550e0414 89a031510a21ef2e73a274d36cd8bc8ff8fa3467
+97741626f36fc1c2fbf077b5274f3053d474a955 4b48b20fcabf6719312c857fb68a1fa2f99b4647
+0cdf72b7bcbc0c664e33d70457bb67aa758be5ca 9c0863a9f33e6d1c2ef83b99801b37dc7e2e1030
+86b26a972c9adb1cb620951afafd56f0c48d167d 2699067014cd15cc0b015fa53c2854f3c6bb5c11
+ea826f6b8f8e5264b591c933bf6056cc5c2829d7 3d93ee457dfe14bdbee38dd29b4b77c280b7cc04
+38f67aa148e5e1aa1a3bba5428bbc5744536eba8 d18e427625989e3cde8ec81540a7a54c820478d5
+f090e0ca0c5447757705d434a8313dcf570c3e6b 720e4acc620979560812ae10c1d832ab740fe44b
+05218363ba762ebd4e9955c132605f4c49c76802 669b132b2a484fd3a7b4c5735f0e8691f5c7ab9c
+13fc36ab3be59d79c15bd47fe6b8ae303106693b fb671ac97b79205a978c0e9c8ba4d78871196f44
+657c517a13ad4abf031850fbeb0bf3e58d968407 b6356865b20f6a504f9428735c898e8e3afdad2e
+0c37a9bae81864d8c7203d5465d0ed31a8f1a340 74b45c95c0465b0f98b38d3067c56f3968cf2e41
+5586e971a9844b5e094e8d37cb913e4828660bca 74b45c95c0465b0f98b38d3067c56f3968cf2e41
+e33d4d12d97c8ce021488a836ec8f9445e2ad0db 4e9706408b1485a3e95694da3764a76561eb6277
+42df31b19658801ca90a0c01390f355decba0374 78eec2281c99dc216b2423b030ee2d94d3aa2c85
+f6aa51caba638345dd02bd45dc1c9e689b3addec 78eec2281c99dc216b2423b030ee2d94d3aa2c85
+493ebb889da5383fcdf60d8f2161fcc8a5ca4d62 78eec2281c99dc216b2423b030ee2d94d3aa2c85
+332f4fe8cda7000fe029ae5f9bdbde3abf73a932 4ad9ac5ad4083972d8ac7420267d69d9c25e039a
+6606b9b00c61cc838509a0fe2336c90def960082 4ad9ac5ad4083972d8ac7420267d69d9c25e039a
+b520ef21c3d147055106a9af0e16d2381228fa7b 4ad9ac5ad4083972d8ac7420267d69d9c25e039a
+2e82bdcff5ce1c4d3f48e0afaa5b03a1561f4266 65483fcac1035c116920c7436a6ad94d830b6fee
+eea29f32d234ef6cdcee22f2ea752b5e12b34df2 f5efd8c6473ba6b02d457922d53b17aea6a2449d
+77cd4a6652d3c841d79735a82bec8a615dbe699d 5cdd45bf93c07f24767e2f23e4a79df579e41b41
+cc2195b93e2e972998519651c00617ce0c0a36b8 08a4ed93c758951394736578678ed29f997e1c2c
+63a85a87c9cc4ee90216795418ee13ad95641a48 904eb911104be4dcbbf32b65d7ce36fa7d664fcb
+33735d7f23efc1d629ce15f6c2f12d59ca314d5d b3878b18294e3abe6caa573169229c0b3d2699e8
+46a6cd303e5b04dedc2a912ec72b52d4db273fb0 6abdfcc30230ee200e44fee47ce51313bbf9b2db
+98ff8d76c2b0f107a8aaed2c646145c5f459dde1 7b13e3b1e3fdc7477186d26866128f7216f7f68c
+c8cd28a31c15a85e16310e6eff66863508492060 d8c500c70be639b298acbc002bcaae2d206e56be
+aeb9459d746faf3139f7de2ccd0b084d7db109f7 257bb212bb247f4d103592a410d61df48f33bd5d
+a3822f03bb1c0bd3396ba1f50dbf80bb311af667 9b86e0e3ddc1376db9d12eb0664ce8a54c9db80e
+1c038795ee33efbda9e7a3bef7476044d14962c8 67a42b18b8205e273bb825f80386b14fe49c37bc
+a9b70edc0431fb630bb4dbcc3238dcedfacc1b70 30a37e1c84d44a18453d1d146711f10be9e670f0
+99db0872d060263881795efa91530796d8929daf 3b79a587310607ee8eb73b4a73045f3098bbdefe
+2e4577b4cab055abd91e3082cc0e508daa7361c7 a8724de849894ba563fe82eb98571e8e3296c9e6
+a597a61e3050976634b9fa57fef91754a2b756ff 01d835467faf267063e65b637ae718f6fa9c41c7
+f7dc9c164e81e60336c93d0ac8d2fa05e82ce91a e3369491ebb321b511eeca67c241c4aa472d8212
+7151cc457ea685d83741b6895693a0c578ecfa83 532fa7cfa51a1f1c75f1c08fbe67a79bb272edbb
+a4975ab6865949818d1a62014ece30bc1427a198 30f1d1e54c0798b5dbd56e14675114b56bbf8fe3
+07a0f45f49df62a1be02e3a1ae5d85913261dfd3 3198bdd6f733767af6f688f0dc92d07a214853a0
+4390f2720829efa2a67d76ea3f9f10800eeccdb2 487aece7d41c0752fabaf2a5136192c120bff54d
+03a232f085fcf89bf202801af7e128f7a92ccbdc f920b60890d09f21b1cffe6405e1d9ee3d5e0efc
+684eb037bac68df91fc1682fd1582909189dec20 4fc9f7eea1f27c95195e5ed5fd53e33c5f8523a6
+7f4f60a149e9cb586f7a334165ca131102b9a587 c9100d31e36b8df7cfb48fec676f326c3b239cf1
+5c176b20c36f1e8d233d54aa2087622a04d00aa4 4a069cb67ee314d9c48eed225c7e4c35b6a88060
+65b2ac8ac983cfa3b8da4648906ff36d9624a770 62ab3a60f107b2d28637191a162f9fd7a93b0c39
+efcb36604c9a77e1701859af71a51a605f90779f fede28e2d319b264779e527647d96116e72d10f8
+8918e7f2046f9cbb54e44638ec035fe62c0e747f fede28e2d319b264779e527647d96116e72d10f8
+01df1642924a4a5f6d91604d61f00dc69264066f f7eb111083fe298a445e380a84b1dd829116787e
+ad5065cca11ab374dff4eb866ef58c0660b75fbe ade31b10b3f5e10dbfc201f278230fb5e79000a0
+b12cbb9a92bf617b4f01a67b7cf17564e471b5ff 9d18ece9675fee649fbc891d210d5c65960b13f0
+642ca35e36cc8cbceac2b45059c89e4567469ed3 daec51d61744a0c348af6bc16a1182615e597817
+5e330ba108e54648472c6ab7bd2508ebe4d17262 ba3023cb36a5612fa9986423b2777d6515bea984
+7f81f82747331ac15518713d59339c772683c21a b0a0391df2df87b14464341ee8d27b0320d7b3c2
+593bfe9f4c15aaa7a5d4513c4665ebeac85021dd 4c7255b731283f8a6e5c30c84a6f43568229ac4e
+5f92a15fd4be39fd7da88b289e9528a0c870ec08 4c7255b731283f8a6e5c30c84a6f43568229ac4e
+7760d061a2552f1ad4b5b88ecf12e5fa9c48c4f7 8ab692020a9a6e4b57770c0d746dc014080e872a
+b82aa2b6aec7acc5e7bc23569ed82b5fc11c47f7 6c42a28a216a425af52b223fe0225954588f7802
+f9b4d7ab35cb2604d71662f98977f279a2798cda cf2416a729e7b2bd30012bf406033c7589600f14
+11329f2353a279f17b40e27ba53ebfa333859a68 c567553c9cf174afe2c56a3cb243d6829168905e
+eca31476e2efe0ddadf956d166d70ad796ae001e ad57f49754c700bf8ff30a1ad851fcf9c84c2340
+22f54e88d89cef43daf62c54900ef7ef7d1e0d7a 2bd6950f1f10d3af46bf6294375180bfba5ad1cd
+9ab3cda7db9dba90891a6892be50e6c336350c19 0df8849ba460d942099eb1be979b5794b8f851fa
+c3760735426745c0f99800669207b1beffbcacd0 0df8849ba460d942099eb1be979b5794b8f851fa
+dcddba505aba7e694857483ca92ce06ac14e347c cdd7a53b21ab9c9ad1733cf44939ec7b81f5f5bb
+1b3a7082513ca4c70fa9047e56dcc4b7c71c2c8e 3c07f8c866e07452eef24d5d4d9479739fd18b8a
+49d86e127d8b3056a77651c059392f675c3ea509 8e69d6c67a54521712a2a9a4d43d7d020fc4a999
+40eabad87ac32b1fe26f79c1de3456a5fb7d6cb6 cd5b784c49f49ae9461b4f0b52c4f05ac6f6cc14
+4a03ce2e59654554f599cc4a44d4e71093da495d 2f3a8d45b0493f4e30ca6a7a4cca867d488928b8
+0fe278263447947d7aeecfb60fdfce06c7574758 502f8f0f27f29eb0a84d70794d2baeb3a6cb583f
+4db9d214a3e6809658b517e9a24f7636f6e047ec 502f8f0f27f29eb0a84d70794d2baeb3a6cb583f
+4c0ad94ab8fafd08fc17b7d0db057bdec49351a2 502f8f0f27f29eb0a84d70794d2baeb3a6cb583f
+a4dd6d2f657a21cfad447f4776a1c99562b58c21 20432152a753de44f61b65a2d44abc4ce46b98db
+9a075bc4de7881a76d9c4e9608c71ad629558238 c16af028db9b575da540f9434780f46492832e22
+0851c40513089626aaf18d41714d0d606d78da5b c16af028db9b575da540f9434780f46492832e22
+928d710f546b4fabbf756ddaf1a4f6c28b3fdead c29b9d632e3c907af311aa34d8baedcb10b5e92a
+43e923a35918e03d221dd8dff3c6d9a3e67d5d7f c16af028db9b575da540f9434780f46492832e22
+1871b227c1a3dbfbdc9846ee93cd0b61843147fe c16af028db9b575da540f9434780f46492832e22
+d71d8e0cbc371eb5e9ebaad88676bb4d9cf28707 c29b9d632e3c907af311aa34d8baedcb10b5e92a
+c6a758050aacc85d43a53647bf42218b2c78da87 e6baa7d9dd71f85304ffbb514ca3d953040a5eb9
+038629f98b5ac8b21236aabe602ca2d967af9fb7 bee4433c698bb70096afc4d66f7c3872d84b0ff5
+9c987a39b11b2b55cd2358b6a6677a9e75664f1e b450df4a5ad9f15e4490a1ee5fa14f22aa80220a
+57cfd018ca0d802f01659697bcc15184f4434d13 7fb716bd0ec0a1449d7c4fb01538dd521bfd145b
+eb45c423d042ed2c04427317666b97a87f978ea4 60f4abf0159f704a78e8fba9cd31ffea9db8f3cf
+e1eac441f4985797346f1cdb04698279942e42b5 58e63dbd99a6c199cdf52a3ace1b25ee6894024b
+8cd9e71d5708e49707c1d5c020b40753465a0b9b e2fafa7f3b18a0e3a585b9ab63f7224328eb98da
+f706be2cdc9c03f565ed512824eff0d7541151fd 04acfb4574fd479d4766487f5a65a641d9d41a3f
+2f1dd50d2a7bc2b46b904d8d962b82175edd18ee 3343310b8d722d7be90c474001dc6712e16f854f
+b6020d596664c2652b3cfca153f41d6ebd49f46b ed9a458dc6988639055eeabf8e8068ede4b31c59
+e5e8e6572bd7d734becf4374639eff582daa9969 da872d79049b8b7f5a0e0b720b2227c1b0840a0a
+f8668b6e81829c650e13d881c383e68c061b8f04 fa5e78ab41e934e82b95c7cf66a7a60dbcdc99c2
+36ec034135e97eb7249134935bcd8c602b9daeb1 a6a30ecddeffeacca390fa68da09133756ec065e
+af5243be642f94219f2029cfc63b63e4df4fe12f f1d2045c38fe626ad4d43fc759cf10ccbb9825a0
+7d0d73e52e4dba2cf802b41d2f0a66a101b625e5 fea81a92e6a1a64671bf6c384a45e78e7a622f66
+4c78550ba572a7ec560c418f168bff19fe643fb9 afbaa1db2c249436a649c5fc3b402a5ee4c52137
+e9a41c1877ec7ccbfb230fe4db0c56d943ef42fe afbaa1db2c249436a649c5fc3b402a5ee4c52137
+e11afd686aa805628237a9e357475485a400ecba 2bc84fdb81cd017f09f7bcb3ff8fb6e5bb76e601
+f395109418c28e81f00479b727cada8fd64a9a80 2eb35afd38c958039fa8aa6cc2ce26ca57127205
+5f4e592479b65c4ec56ac7f83bdb405ff4654d37 382d484e45d8989ecc7d2de5edc33817929b07c6
+70d50ede02d3b4885aee23fd43a8f6c7c9e4ec95 248d02169198d4fd6d2d5d8d69675c3ad3ea50fb
+6711bec6685ee685bb1a38726c66fb7d8e98987b d26d7bc892927b6ed3634310bf95177001aa0046
+22185344aab67d961b97e680b86a6e0e0aa28017 553d13bce3ce86020748f8c6a581ee4f26cd49fb
+d117a2033e288bf0026145d33873fc0890864be0 651e61c75dac9d577b6afd80c815096a0dbc5a0c
+20876fb27dca18e65df5e8660025a8fa68177bf7 7349cb32e1c32c6b1046d93e0072ec66cb30c159
+3b82247dc373d2c7997208efb57a670179726703 c5209a3a49a1da2b19689098215d84bd4d2383bb
+a274c9b2ed357b577bb136197a0f3a2dcf908a03 8466b8117d6d7f6d1ec7988b6f10d9ace248730f
+10eb26dfd442e87b886953fefea13586d8ec9c78 994e6c4f387649a9addfce358ca1e200539f97fe
+d6279cf94102f2e0784dd728d9ca5f5e83fd6063 9f78f0fad1f072d9b8bbe9a27327dbce3161e95c
+6e358fc3e4ad150c24edbcef5bf3fb5378855f58 974f3875025f1fefdf482ad3eef8c337ae5589af
+2f5e04dd9980e39862ff7270a44f898e045b1cca 2530ac15d3199c565abc13084c9b8a2baf551e48
+4543956ee2d0e7e3938d3693dd1f4cbbbdfe88dc 193d8ef0e172d1ace8926517b582b79308791cf2
+8e89d3ea10e5570a2b41bd8d17c3356c88f514d3 a1b36fcabeca56bd0a292080eddaf58cb863e63f
+742e31acf158c6840503c216a2a7d0eb84fa9ddb ffd537f2d517fdcddee861f2e3c26128f0734ba1
+d1c983a2e1502ddd00b8f720e9aade34c57026b2 1cfb611976d64ddb313d5a3beb8e4c2488af270f
+a778b4d969987ff04104b853726fcc4c1bc1189a 950d67b5910667c8991c95a188951a013c89b7e7
+162edb0cfee1f1c60af46faabfa6e14daf6c7548 f17deef502437d62c5a3bd60fe6f23bf252f1bcc
+ecd2b1d9a14e19be2176c1d230d578e8602661e7 fcfd2234fd325ad9aef68da9801abb6345332253
+9db15a215697857c78514e8b2fcb504b1cffd3d0 fcfd2234fd325ad9aef68da9801abb6345332253
+a0a2a48a03d2ce94e72a7df81dff6f9cc5b8dcf5 fcfd2234fd325ad9aef68da9801abb6345332253
+b54fe9d85f9143fee2cc7058fd6c6a9c7d34ab1c fcfd2234fd325ad9aef68da9801abb6345332253
+90ea6ac729b2042a8003d6716d931b16f9932db2 74b45c95c0465b0f98b38d3067c56f3968cf2e41
+68a1e0d2c21281d1e2c6629959db81c7a87ebe23 74b45c95c0465b0f98b38d3067c56f3968cf2e41
+ffd5f21cf316c24fd7ab336f10cba2f7c480fa48 d8c500c70be639b298acbc002bcaae2d206e56be
+d571d324bdfdd5c9a0e86ad99eca00f90ce1e222 241f8d01f90710d2ec72f5ece1681d8bd29afc35
+a2c5b4a3aa13ea2e5aa867713815b7e00f1af8a6 4af2da85ce0ad808abc8b57bdb8c52b36ef7e62f
+f2acefa5c707741229005c2dbaa11ba2758ee7d9 49f3cd399948da321758eaa318a4cdf689258ee0
+0db16c497394952b43e57f61c01cd61e70fa65e6 7d1d3e6c978cbd94ee8ec771c2be27179f039c19
+e39a09a4a1f4a4f38f9f27c11cae03227e00c580 9c3962d7ba3a60285bf9281f4e8a4d6e7f93427a
+351ac43d8f8d995b95c7e5c6e1d49bfd6a621017 add5febbe6a613664b0813c74347efeadc536b4a
+df5dac2f1bc67d2434001582dcf97ad7acd4750e 9655fea4dc7bc69ee227ef9eadbf53155ca5982a
+5c0969b5b4137a10f9bd17d95be2fa0f90ac0644 b4e5cc577c1b76bee580d7ec02a422d048199d7d
+89f6c674ff69ad6a15fa12cad8da78447693947a d62272cf9b8eb62e558a69515359e0c73232e548
+c3721196d1b9f6ba9321cf13cb4dc4bafac84828 2f1ec368a58d4abc0253023173eb0421b64e1565
+f7525aaeca979d001120e1260eb8bf08e0304229 c75091707510740c0a79a0e23040b5aa00426fa4
+268444f6104deb0b150e80337ccd079ceaee2313 92ea7909c1675835ad31c0ffd8a7834c0fec51d8
+bce2b65851aa9e60e5a449dda3fd64207c3beae2 82589f89ccc7e7e62a6d4d7732322b947e77f9a4
+32670d655fd969995fa32a72f152ae7c4b3fa3a1 273f5e810d8ee7169fbfc610d6d22ca044296945
+47bf9284e91c772f8adb8e8212f7d398d22aa587 c223ed1d731d2c5bbee1e5e73fe201571cb721f6
+a5fbd8507cd74978052348e48a9133cf25cc8e3c af9a08731a132b6d4503a31da061a32199fab56d
+97f55d7abce64a2732ab763b475077170c752fe4 128e54e3433efba80dee9c418b8f8621e62e5105
+40bc534ab6f5f168077e09dde20d9356fd432f05 4a6669c6f07eb7d4495ed2d87ddb516ea4608b29
+c7e2750c595596e2e9a165fd5d6da5d32c4d5d5a 23d5ae0c2181c86c52002de68e79bb55b00cae76
+c0acc4542065001e9f6db88f0c1c39db47384f87 feff337ea83c085744cf7e09f030dbb8faac0d5d
+b178f1c2ff35d34fb61b8997610f1baa73defb9f fdbf5dd46a20610494920c84a89e0f74f94cb10f
+6c3f7af27419192bd36e4775dbd769cf19c4af38 bf1430be23b7fb37e6636213fd0834304b43a815
+8a93e63fbe4a3f3f385ac39ebb131a16ade1c113 8b182429fa20ea20129474adf1122b278d661d3f
+d83269b033b5edeb3cea215c020bb9014e0fc5dc c115696449a023edb03663663ac50b89435bb197
+b1aa090671682a6f4e5b5e3d8c1abe764e4f1482 81cc1471b2fca0d399b82c96a13ab9d6624d7d4b
+99dfe9128a8e5bba380658646d44bffe6eb92186 ae8079dcddd9cecdf6331ab6d293b690d67c6aa1
+f0640969e4bd0e291d9c8197b7358bd1468488a5 bb960c004deb87dc4469b0590154ad413f081d5e
+3340045ec1b1e4cea4851e18e84a5a06142ba6cb 10f2ab95ff082800df51297254245319ef26e9ca
+83d50f63cf0e8e5d520e41087cbf406fd2cf74ad 900c2e6052902cd64572ed6fec242fefb227cafa
+1455b441e84b8c9cb77d4c62a492cfbb82908846 986599a98f4274f52491eed936f1c3d938dc50a7
+2a8e1e5d797ea1025e30b7af86b2e5b6b428d166 f24b39932d142ae21196ad71548e495a3fd9e72c
+1f317e62b488dac6cda2de1d795853c55c582797 9c60f52e2fbb7cb2ea1fb9fe07c5aa4d6dda2452
+f59a2dacf50af947be3c520e0674223b8a4dc745 955c58d50107ca6758d754c715938df585709e62
+0d87fd52af9672193189b7a8f44a6538bace419f 048688670fd92582f8c952c034674b8f5848f6f2
+5568b2ca7e2541a2789e13886b41a6c8a593d4b3 fa2b1ed7778bc31b0a17316e6b8e93cc5d1cbe75
+31d5b6f47f472b25157f9b6df7116681e53e0525 81f252145bc52d40ee6fc43a1ff1eb3d8f2aa142
+2dcb7963c5105a986e38ec181b5b88c29285b123 9d1640b0528f3b44155281833fead88b6a43b258
+ab7fac79db96c3e43ee5edd4387b0d6f6cba0eba d5fc2d6e9c65076520b8e6bc02caf3a8909813f6
+771509d38af22fa2cc0b843e7e7c8efd26ca2829 b11e6a21907c130e09cb8be0d090bec26322247d
+49e2e35aaa849dd6e82277c55f3eaf19c18a1ba2 743dffc78ab6872a5ca6731b16748bed9c66dd00
+97e846af3c812c355d43f995206c35851eec7bb2 b48cbad60d7c7a1fc6c3da8ded11ab221bc7c978
+209ff0f960950700a6904656b270cb352e65ba28 eb68ad72e468e4b5487344d44366695b535c6856
+9c2f1de1227eb7ae490b9c9ccd554c86191ea86e 02444d2ff9525e765a8f72677ebbfb79b8d987f7
+ccbbae18b38e088b75037bedd0fa1b112d340d73 e9ebc215c25221dad8021e8f6b2930519e0666bd
+be7aa34ea691b1279ba5930ff5b43b7f5055ffef 11753c27714feb7eea5935d8d825c0b0ca92e2a3
+5a68a657c8568e40ee04579620fd7d333ce1cb61 0c478b50f23c0362253bd405f78066bb5c512bb8
+dfdaf011e2ddddd247806d9388e03e400e71a3e9 10f2ab95ff082800df51297254245319ef26e9ca
+d9f68321cbf2277294813288f86f9d58a7faccc4 0c478b50f23c0362253bd405f78066bb5c512bb8
+81dd6e19bff6ab7e3650248d13974161383aef8a c2313bd9d53bb9f47762a8d0d691a67a8918d08d
+a09e1c8054ec1e73203de337ff9c94d7fe6e46dc fc54ddc383faf577de83656c53741f7f7e38c5e8
+36d9f0082c2dbad11ba1e6959baab70a1b84cbf8 16b0e8a45af051db62673984f740f16b5ba7d448
+50bcb4767d25de7c6ded22507fe105637de5567c b702744e6eb4c1d7a0baad4e5a61ec884ed68df4
+a3bba56bbbed8bca16bd79427b16babb1e99f0fa 4ea8489bb26c73ea5f68d1fd2073ffec432012d7
+9e51c0ca1463934f30a129c480323bf2defbfd11 b225e9673ab7b1a6e47c835a77d8f15b0d1bb880
+491d18176b953d8d7ad644e418cc45e80ca49564 a1c83a0f9d9e65ef2e224524df6fc8c85baebff0
+0d8f7d0bc402403cc31ba2f88a6a69f99cb34ec8 fd609d7d378c7f95c23adf040c504edf8dbbdc5c
+bf0ca4d1b788ceb6a1590692125c46108028fdd5 b50b60cb09d1cfafcfbcdc1101113e39c9962fc7
+eabb5f3ecee0588bf9998e06136651526152b1a5 860a7dd886b62760b2ef6e90a5c67fbbbdc7e651
+abcd3fb1f9082b0aa30d2cd2c5858e2f3b19a8c9 426181673c56d971c6fbdfe3045cb179d18e79bf
+8c6889811da99b79a05258d7de3b00a967554b05 a66eb583f04df127c1f2f38ff049932c008e22e9
+fa2b3f86b66c222cef3c31f0e4f4adce097a91cc 03cbb6cbf17985a5bfcf586e2ee3f5c2e1246d67
+a565b184ca41532b078ba0567dd2a0994d067d5b 37cda8dce2f2cc9b91d07fa5903ae338ae989412
+df150607132d75a0dac15ef4bf719acf37b99857 1b7b3a01900598bf5255fde53d92ac9d79d21f20
+e8f38a10e08216fb389d02c7c44a0ee5c582741f 5be4dd0e33bd6a1dccedbc184b611bc178a48765
+a9296502e3d417cc3061d8a1227d548686803ef5 1479a5b8a73c2cb3d0188c6f064999522fff0f2c
+00a1f7ba8234cdd6f8536eeaad2bd495cc7bf6d6 bad2aae96662d6694c6173a8cadf42001c8740ef
+45170e11b57a88e16f51f0a944d10ec2d96408b2 9d81eb477a1a26ddcb3d3f33cf47045ac2ec4f97
+96fbf24c48f5dd96c7aaa9c3cad3cf32b4d27e7d 37bb09580b1a45bfa66e67d652c11a907c55f514
+9e8f0d1382239d74c3cf3b77c90746b91c37132b 1a53544a8f6f7563695e901384d0ddecaf88f554
+fc157d5a629f10fc487c8fec14cecbbb856b6f48 e473755b7c2e31c8182e92db7489702b89e366fc
+855c62e0b4420c9a0885804bdef1b0987697c564 3e4074a580727f013f439af7ae5c9bceda59db4c
+26a128d90316f311abfadb1503f35e0555740827 3f3478440610b7ed4018e835b98ce58768003761
+5f4807b54568cc4cc9a29f383d5031b270da2d64 fa80799b6d1d898eb5e72b6226126552945d16c6
+b567d2613f1fb06b445ad51205fd23a3b2195bc5 1c8a5f72c603da8c544e9fabde8d48c0a050b17c
+7b78c80f1ccd43d763d6179e85dd5af3868c6dc9 004a160faa2da75d461e348f2caec3110712a312
+cae9d650d1ff8228f072e7fa5f150a9ee58fd7ce 5a445e3311ace1ebfeded4f469784fafbcb138d2
+d7b8b2c0db96fa086041afd0fa309ffab0f3a5e0 06f4dab1cf26829a3f9179081a79100b7738e646
+d6f3b5b9f3038fd078ca207cd510fb2734e0d277 70dbec75a7cf83fded2c32c7b9f751e3f00dcff4
+e1658ba1cbb2794647f1bc8f79abc35f93f6d018 31f42b01ab3199bf58705d65a0d3456b7cacd07d
+1d4e0667be3a28414e27d5ee378cdb9caf26fa8b 506d13d00ecb9abfc8559bf6735e7f4b30654694
+b43247715389fbba9a803b25951443179191a008 6c7261882e841faa168297cbee816a02d79bd85a
+29c4ff514ac3291948b64a4f378be8053843b279 4d20110819e919c153c4b0aa17a11806edc6715e
+ecfe0c256893603920c04709c75153c50098e3f0 94d1ff392c1d2c483d0bbc473b6211dde6a60bd1
+e2b15297a871cf526931f5075c82ef5c0af8aec0 62769a4c267d88c5d7c306ca332824e8a78c2d39
+ecaf2cda04e5b31ef99b07e008d02d996f517742 c5c89f8ed6435802bb335deee34dc2085d7e887a
+e72ce841239b8b1b2e735415ea30d47e1c1b93d0 4b9c84a4c891c273690bdc1815e1ce020b60ddf9
+d1f67c0df9f720fe6c564a8b864a2ac8d36438ee 21ff460d81a59da7e5540fc7a72f81e6e24d60eb
+ffc529c8054d1e3b4747743ea3ada1cb2c9b7477 0217f48d694c1e049280c5bbb957550666a1ac6a
+1a4aa9bbc854f6a158d21b10e55ec4d2284de0fc 38708c55c3aeb4a6f24d531b04ffe27dea9c372d
+93cbd867a34c5c85d89d9f14892df36ef6587daa 7a6b9879920051e6d86face7d759ad7ea8d1c739
+2a64227640d0feecdafa3f27ef9ce4f206eead64 0d6ccd6f63b0b4d0cdab9b22d0f98ce58f4b3450
+12ed39e9f03825eecbf2b2f5b783011d59924931 3368d901144087243741522b7fa0e3b36ef24ced
+9d203422125e5adb745c88cb2d82264e5b9a00a4 638c8d6777dfa41bc278248ce9ec90383f4e928e
+e0dc24e45c3fd737bf2ee38174fd0a65a3520d44 6f4348497ade321c8fcb7fe0c8889ecf7103632d
+2fe6649fdcbb4af93eb35b06b6005da58f2616d4 8adc79cbc4fc8fab6c9e28f8dce24deea677d33e
+b6044ab0ebfbd3912ecb2676f5f793c798ac7258 f545d323d1d58a72900d54402459cafe8b0bde4c
+bc41cc8b94ae580c16ce30431054b88d3bcc0110 622b5cc661897de4eb84c92ffca92ee2a07e4fc6
+1bb2f67550d3008f60e369e774363ae100e39a93 3e2797189542ee21da50a20cec4f173a987a0adb
+0d91b51b7ea0e4d41d01196c8486508bd14954fc 210b43b39ab015acdb460af35326c0301d8e8fa0
+f7c656a803bb9244e88457b6926f9f6a9fcac233 e08ed05ec0d253100df6b2f8eceeb137e82d68dc
+d10ed82d478e7bc44adef7e817705873f3fc11b1 b836fab53db5d7d1b790291e1cda1aedc95ff930
+7ad524a12356d3d6b21df07301d3adae36600b4f 9e384550c3718778e44661d205aa8a269c77428f
+0ce74d30339abf5523823926eb4fa986ead897a7 aa3db5a98fed132aef1005b7b8dd8d342d7c46ae
+9d71c82a7eeb0ac424b6e9ed9674f0ddf9a0876b 9a577d8e8cb80e732a0011e3e198c61a1a2714d5
+ab91dfbef876813fed79496f3510a07fb981187f 423d7b91932960207d5af6de2fcd5cb33ca059bc
+e38cf58a01a99bc87c9d2f4a72a5bf901c2c49c2 416286c0bf69e0655312c0aa4fda3870fc565542
+d79405a930429caea7c57d5b65b222dfbb0cee52 43669ff9b9b3a42a7f45dc306831b5a424148ad3
+219d82c8a1a90494c847daa03c05c52de7f0226f cb5525364ba2d59e728d7182547dcda1622df44a
+f242086d834901faeb8033975526cf480622d6a8 3d3c65458b9d3a00b0b4f3a5d990ea5f3af72999
+0d36e4ad418bdd90a0e29f1dd74b0ca8d7c3de33 ab208e673396b3ddb66cba324475e0a93074f945
+1fbdf69a3bea173908abb30b47bc1f92f285ef88 1c66b61496846b2119b7f1983c2a522d24359002
+b123de2303a66359951d40d228c2c48941935584 09eb5f54b4ec1e26b3a59069353f616429eb3b8d
+6769421661e8087f9e2d34a379e6dbe1f4c17672 3d8806dac938e90c9b3cdb78169aa418a0b48443
+e4274ff702644c1868072bce1be066714631612c 6f8111649c318bf24f8946057b109645d692031b
+9aae77ae78cdbdf8adf60f2238ba2754060b2024 c64ec36e9ae23ef0d0e465d11baeadb48d9cc5d4
+e00347b16d96abebcc39ec2c7dbcaf8fce0b63cb cdc7f993cca017738d8ebd006980dcddda1cf335
+d5dba29a667f3183c747d470c1852fc10763a0bb 35a7e59047bc79178a5a6e5397ee6d220e1cb74d
+f902cf7fa44c4b5108abe82178a57c22311e443b d2b79ad54b08a4778e99ed86f02504b883084b73
+a7bf90cddcdb8d79fc3bba86457c55444c609874 922f0cbf32a870160b39fde26504e788aaed752a
+8d83f81a05cf899cef881b85555d0d3ffd5287f3 e01413540550e39d27d79c32b32fe5a18d9f1196
+18fb45ba82b817c8b63b434694c76c450b4f8841 3c98401c05db14ff97eed45b680fd9014a8fa8d9
+c61bd0389b004c2d2371a69095ef6f56d23ded49 5f57c1740d9b8fff0fc85c3eb3fc8043c2a53131
+2eb1f77b0040bd0a7f9c3b37317f0dc45345fd5d e7fbdd0cba2c9dacd96af2123a8a146f75a2717c
+e3049ca4604d961e99868e56120bdb7c7b524f03 6f326bf3e998982ada9a6be5fb0bd8876111a667
+4b4d611ab63b3eac1bd65f3b278232081bcd5990 e0d08e17ed26de3d3df79af7c0382e40972f8b3d
+ce907e464ce5ceb82564045591e563baed7a2eba 0816380914b57f07420bc93505640849b1f0ebe8
+4b98626707636c26d67599def3d433962b95570d a9f3e48f2e0c268b755770cf174c1881634defcf
+a0e26786f938f39737adce18117b58831a7416c9 fe3525bae72672683fe92cd4c069ef94f512886e
+57670ba7e868e3bbd14ba1f90b73f1f27c748311 0a0f850ccceabafd83465182acfab370c0ee8394
+fd22f6005bc651376df9269b23b77c2841a5dc5b 0d9ceba1a6c33541fb47137d85879b97827ad228
+ab505f1fbb1e67c5b762f76fc31712636f92e6b0 0c93d9d0a09a21c882b0d20188fbd9486b11a279
+7d5519adabee22899f21363f4c151314f5709396 6bc7bf9c599bfc32897b2c5d99f2d63ddf740d58
+0ad03fbf0745b0ebf378718b3b97d78ce816e974 344a754d36aeb28611a8b785ebd0a79a838226e8
+524e55f4a4c6953c8f2f15a4c611f28e7c876e53 3a59c710d1bed56c5448da38f17b8985f3e82c2e
+6fa3db1b06a6f059ad0f854937c709f66e19fb83 e38d7d2bd571388805cdc6a4227e0ec9c2d4ec15
+0a223ce81d014eadc0dcea56faa62ff8d686d35e 1483b63d9bf046f6290a549486faa89622900de5
+d138da774e89980455f2fcefaaf5b629d57ec285 c2e4628b54c10771b395a654060bdad35b53ec9d
+ace76d23bfda7d9f50e05896e7b55b8d0190b1c9 141a7d621396be1dd1bafde585ca033dd644cfd4
+9b3e061d47c642c41d5c3ff5eff418148639938b 89730472a7279935a3c1ecc7939f3684c2404373
+ef2888e3b72dc4679aaa040eb86d7f708fd02569 dac90b58874570aa74535e7b80f2384efe999d5a
+da3e1ca36589e13f9d25d60a8bbdbc4bdf78392a 83889b84022646f0e3170487c241e97990b40d12
+09e808b9e48509f03ccb60bf82370136a6a91562 36e2de50f7b7511ce95bd2c191f2e35e672665b3
+65caf0c3141031e0065b5e7d5126cc284f81f896 187020f9bbc353ac5f9251cc18357deb69cf51b8
+73c8fbf508ba1d4f9425c4d57e0caa79bdc6ce3a 3e66e037743a7ff971f078c1544856289ac4c9d9
+73b3f679608b32cc04fd3bad99b0186c1e827553 e92dcaf33fe76a417020ffb77410b98f51c7b113
+61fcfc98f14fd4aa1e5f940e2938f31c23f54611 7e33d0ab3d35eebd4be2ce29fef4563ec8fabaed
+54dec4a783e64663a68f2f023cae6cc74af95508 3af2b32d8e2170ef4f3daa075ab57c123b84759a
+9919ec1529c828f8c4951555a49486592bab5507 aecb5dcbea3b87944e8925f0dd5cb9b04442c4ac
+1147788f15c40ac4cfe7dc046df7017b600c09ad 0bcc4a7513b6ac2fa7d5e4ae0da995431fd44314
+9f2c22d052b1f3cc9c8cc03345de61dd9abcdc46 a6c91e3f96f90dc7f63d8f59f8bda6335c4ccb74
+1c59c81366d2c568c3f1c00dd9388730db69764f cd255fb45949b0c3f4c1910835a611b17abfee88
+299befe39596217dea052c9b1667154f26be5277 a3e3442480b19b6beb3ca8675e172c621bf7414a
+0139c3fb161fe06bc43591707b193841f9d23645 4e5e9c3b1c4cb4253837b0e90e433adf1b614a8e
+c122d56703eed92ebadb3b28796db6ee5f875215 912fa0fc03db108247937c5410eda7af6008b3c5
+7c68a23b832f75d2f6983f82b27b662a8686066c 59545c5bfe1b2b356556ad413e3e57f14f188323
+368658130581bd17a0b27a10d64cef2ac4ef1a13 d137ae1ff4a3668258cb1b65d5a51b7e344a42a9
+93aade55e17c9d2e868603e8540119bc87181f1f e488ac42f85fa65c8f89e5b4224b7011cfd87445
+924950826db8e1bc69dd61692e1b90ad2b3e53d6 c993a5ee284131ec47d6b698a756799fc1e8c921
+efdbbb808909d16903dcd881d3de41b5c1a595bc e0ceeba56388185acb28aa537cc2d259739969b5
+36bbbbbfffdd7125041f541993a351bc0cdbfec5 720ef3a63050a334cceed33a844c691aeb6d13bf
+238eaaec15ece5abc2b8d2affe58c33fef1f2f9d 1314789bf8d55c36b1a457951c60a4164f0be127
+34e3ea83fed7ff1f607cf1f0381560923dfe05af 454a64cb3727ac381aed21ce311fe42ae2f452ff
+fce74d06e12bbea95b5dc0febe8a6cbd4072ca16 f94d71bed3ef27a1277085a399c18e2d8a396801
+367157f74856981fbb472eae072ffd25775fd33e a53096fa2e4e768331e10a4796f24ab486066fd7
+38118e38b830d99752a0bd8e126f47a964f63bb3 cba2d6a31d4c8dd89ee7da87960d15ff6ec9edf1
+55c327edd8c95cb069505812ffd4f8f0ed1edaff 0de3706aef6af798bbc71a42c66e008741c11cfa
+fdcda6c208b422f9a88462ce3212e8efb932b278 d08fca3030b2f0e4af38f8cd78ba239e5a771e58
+20922facd2a4c435688b41631a63faa4c786980a 8b468818cde5173f1861b6789108d4887e0d368c
+750a77f9c0b93c7f5c2c4f41833fd488cb65305c 1df60fdc51d4d763839b63d94a0993de680b4356
+00ab0d463ecd9947efb2b7fa9ff4bf2d44d19c5d a64c971f3af42b6e050278de91c058670cfbe058
+6ad17ada690ae721703c71719671fdc103e51568 4bb385c071ba2b4ef5b03f9f89b891d9e29ed7d8
+ce5b58964115c6a51a452302df57c2bd60337a3a 9629f975e7d3f963b8dd2d6801a3166a7d4f1970
+a24759a978bfc6988755239c6321fbd3c3ed575d 1d0008e219f17b261db01f4bb108471879bbd1a4
+4921540b09cee1f7cbde361e3348455e5342fe26 d6642698ce419c45094c26d870bfd873e58fc274
+c63436907d1c9bc7409ac77028a9655f317e43cb f78f7a1d8dfd7f6b51f29e1277bc9072a5a542f1
+2cac3d11657f9e91b0fe06c632301d1a19082ad8 ba699c7c8739ed950ef3a4099565a67c29126d30
+1e5ce0298a5e7e5b9f4d08f7fce95abac455c939 1f3f538cc90dd758ea651f9b476bf0ac4a8717a7
+69229eca385234b6150e7aa1f49b66fedfac430e badd2571b5a9a5a1416973c6e23a120ed80a5bac
+60e2be0b000afbd8b8c7c803ae0129c16a5c3fa9 8509e8f203f40a2f8c7e10fe82beca7dc0a4b95c
+5dd55a1032c70c9be0780ac5319fd5cd34d200e7 a4a90058a6c1622d7e64903b434f2a6ba4fe889b
+755066c0b02c2e5ab72962105796a3b0edaf8ab3 0a5a27c7a4a3dcb34677538acd2b729647cea47d
+cdb70c4ae27213bf25b7ce8462449065090ba31d c513082fcd5a7aaf54e42ef1da9b7e035da2b0e2
+da667bfb1b701e7418d6b1b7027e2a10eeaed18b 3ee173f3c25821b5f5b7381f09526f7a7dbd36cd
+af9a3acd7fe02178aba1fed8e7c8549179955f63 48ed5d6b1b55ac395554e526d7ec22532871e80b
+df500e22dc5982297a63bda944a35aecf15f664d c6f7f71cee786d563559c026565d63a0866f2b79
+d3dd0aa1e575e6322ad7f50df62181b3492be1e5 3836b94a4088c2fb38eae696cd22c82853f78f3b
+175caf3a16ffd4da319d55a3a280f11adae2045f e9ea785f109c120b32c22d67ce9188a7c3ae172a
+184b06ec2ef27aae0a015187882cc4239e73647c be340458cdad0af45105a1e08164f477954b4305
+ba55d96e00febaad89f7f9f9c828dd86430cdf2d 610197a21b04a89070a6c150c0553423fca5af02
+cd10b932805406c5f5082fda555c69814f9df62b f4b9515e5c318ee6533e508ea8899a28aafcb3d5
+d63247625e997e9a0262773a65830d3c9ca132a4 ff294bfbfccc0f184346917daf395c389e460029
+500ed19337982e2f4a114aca89a7e6b5481e1f38 808f0ea2472d224a143c08e585e7ffe71af6fedf
+59d4b29bc332cd02613286500ecac23ed4ba22f7 33a0eff9c59ea1232fd5fa770a4e8d2b9f455f55
+8a775ca51e2e66ac931a9d8f62aa84281da1384a 80972b58c82d267658ff6785b27213fe3b11612b
+28a88e0e10cbb4335680165d3882529cd500fe76 ab88820f8e7bb7ff82b7037615ac1e56ee2f7fdd
+3f14894877393db4b4b57a5a730271bb848b241b 7bccd908625462d5c4fa78df8ccb45924ab11195
+b731975ae15fc793dfcd5eebade342b42066e87a 8379e4641e773ac945df9dec9d4003bb7b5e3cbb
+4aafc0420860cafec3e74aea39bf4fa2f4927cb3 8379e4641e773ac945df9dec9d4003bb7b5e3cbb
+b2b2c5398d30243b4ea01da5fe90dedc06809d8a 3933459a9e2b114e78f4d07dbc6c84e10d3e8b64
+e1552b29694ba62cae002bb356a743316d33e3da 51974fb2e61eec865e75e2e287aebcbf45dc4379
+c70bb7af0020091497e51b39dba0343d53d97080 01776438caef8171f1986b2987df8bd7447be721
+663123ec47bb2b91a40c664206f6cf4cafee3bb7 1a7f42d42afcf90706e502e77475f0bebdfde77e
+ba685d5a985760cf3ae72aa1e96fd45d509daebb 633c465453a9840b458702956ae1306b36140e7a
+e66c16cf812664d073d8529d7cd6ab2fb8f0ff95 ab1e8fe3a246bf683675591ef8810650fac728e2
+2b6996f500fe9935ff7b66e474bf6a8fec4adc84 2b11ba48dad8ecd8d3655b0a7f6dd7930bdf8a1e
+f13f1c4351348d3068e5a672f0f2b9c5058d7b2f 1470317a6292ec6b6e304b05478721e9fbaca75c
+396fe38ccddeac582b6aae2617042ce43d6a6869 b7c65a23d3fd614d8bc74575547b732f74aefa1a
+a48537502e061d303229395ec63ab156ac791a50 663b70e588575b32fd45c2b15e071e9a3157e376
+731ce0ae7a05a96792bc21e14e22f59f31f8a506 ede77838d451728d540a90aaa7562445be206403
+6bbd4708e923be2ef79759cfe118a098cf6c5dec db72cb5c24e791027b2fcb25376c3355e2cae671
+f2a5108c5916f20e051ce12403094cda17266a23 db72cb5c24e791027b2fcb25376c3355e2cae671
+86a44495c0965d068c2fa7b462717a57aa0d1b6a 29b904e2ddf9a21402889ec20c202a7bc81e62b5
+20e02aec535aa1be01c2dfba352fd86b98a5c65e cf687a969e1e7dd5351451d30a19ae56309155da
+748e76c8eb4b35ad158e848752e01ce38a5e29e2 b3832846c2a4ce6d26e8a5dfa506df217bd9066f
+84b96cf3451ddfc81a099c2b6900df081ebcb95a 73d2d2ae7a8fe0294e539af05009fa97541e0fd2
+98daf39740aefa55f87419ebe6f765a899cc9472 b8ada9ba825f696a673838a6c450138bbf19e7c5
+9100ad590d8f3b49d0f8dee7dec5b72e8794e312 11b8472cd3f65000d792db437abbc2e24c8e8af6
+79ca3de67dc4f0cb9598e2fa256f8b80da5b4df1 11b8472cd3f65000d792db437abbc2e24c8e8af6
+1182767501b2c17d821b6310a744cac33959ffae 569796ce149cefe844de8cf6b643e40fd213b84b
+22b6e91340f143a596f9fe9a2004ccccdb0a29bc 179e257435c6b6bec19baafe8faf62d9a0e49231
+c75812accc8f485b1841b2529c60d1121e97600d 03c1708d9fd1a076afd5cea9d87964dde1f3fd73
+ada9e3331e3b3656d14ca9cd1ffad560f3c5e25f c72e21f09ab27b9620738faabdb278e4db36c470
+505f48d1dfabd4d2252cd6f6beca543f9baa118d eaff41caf33933f834c2f92baaa44f15b178f67a
+fa4a0063a5c5b9d317ce44825250027e50a7f415 c54836688be4e2cff302fdd1c5cc21ec5904c43f
+bdecfc42768e22afd16961532f3c9c1cb9603478 067a99516ccbe38b354640850ff4aa8738a731c8
+53fcc9d002ddab455b20b0c3c4c2e3e3e2afafa0 1034843d9d6ac59c6ee635e73961aa9c381c91e2
+05589d0b680ceee97ac1ddcc8194859c0b87ca66 d7411b39c706d82b30d02c6372ffee22f1ef8d75
+bcf61612fc81f3d8cf39d23a872c48c3330c5fb6 f78b0c0ed89f236f138ad48575c79dad9b03cebb
+c00aeb2b7cfea6abe02ed6869b0abbec3c92ed8f e91053124c57e14e6f3ef121998f7fb1802e1754
+c98995e04c61f5c9cd32a10a42513b1b60eb6e61 af7ee734c57219565781e836535f76565675bf53
+bc61949befef6b47d38bd5be67e62544207f6538 91a64da92bf06e14c3536572a4d3bd13ac04d6a4
+628d82d003ff29eee77908486112b9b87f4b60a9 91a64da92bf06e14c3536572a4d3bd13ac04d6a4
+519fb88cc8c3a3e730bb8e8b29149cbaa711f850 91a64da92bf06e14c3536572a4d3bd13ac04d6a4
+a5d8a65b0c94d4edf4d99f4e384597557ee3b75e dc0110edd3a9c4ffeb9355be81570f29755f72aa
+7b81c08c038f73255fec36b43ff8aa3ff5947e25 adaa33e68b75503b220fee25c89f639d6b624361
+0b6a4c546d757ae480904a031fd5b2290b3e8f76 168c0e38e99442637a4969bc9b6b833d5ec815d0
+0a980670b20d6f30673ccc5a35b1466003df0b30 55962f8755ba4962dcde4a1180add9ee7ee7cd05
+84efa34095baf70c8af42c75a5b74c76dabd53fd 36461faff14b64ccef645f49fb3bc0aa85c9c2ff
+776659dcdc1058dd016db1e45b08591bdebc6b46 38075172a689ef6cd31d24de5311bdf2baf68f28
+b29d51cde24c798414ce8c5c810916e1602dfaa3 633f1df7e22495fd8e45ab22c4e6d9bfd9fa2d5d
+41f5b92c9ea63ce843146982b5e2801b49a7ea2a 3e2ae3ad006b6784fe75a1ae6cab5f3b66653daf
+4eaeac947e07e49ab732b45b8ae17a99a51cef91 641a76760ffd350e42339b421e1306402ed81692
+e6a7d1f75bd6f7132fce9851a592b4cd6e4c1997 71382d53cca4f2c489b4449b83a038b49084b1b5
+fef395bd39400ada3c143872f5d3c8a0b5d231ff 8632fbca7275ad950856c5790de2937311b1e627
+a3eb6179d1e56c2c15268b1781522f7c3b044d72 6678816ad72403f01806b552be75b1030a613588
+5288261067371d216013a02b741a5866045251bc ee65c8036418e3a3d9df8e418085623270bba567
+c0aa8271681bf92ba6ed9de86a12140601ab23c2 a8d2e8a9f90638b1de5645c8996243d57c6a2f3a
+4d3e8b3ed7e0df164d26c125e4e9fa283909ba6a 9923b3d4c10d108c92c3ba986f8e83c69514edbb
+bcd5eafd8e29f513781679d44819b420484ab519 974f3875025f1fefdf482ad3eef8c337ae5589af
+d741300930aac978ac109e234f2bc06cb11b300c 974f3875025f1fefdf482ad3eef8c337ae5589af
+17442624add3dfa566a49303a132fdfd5782768e 49959d5c09ce5a4227324c3d6325642506f3970d
+7dc16b5b1cf20831280a0165075f7b0a792b22a7 98795e2ae5a97fc32ca506a7fee568f9d86adc74
+7d077c75a7a3eee0e42341811de5a6650c3b0f37 ac0c83b8d1dcd28f72d11dafd6f8c1b45b83a0ad
+debb5b7567145f91bbce14344b03602fa60abb78 19b0b329166b211f7d326d5637cbf3b6c85f8992
+fbc18bf6bec37df98f50f8650f8e0d842a95618b b8b68f21b3cb1e9dcc1917deebdba865d7898f0a
+becfaedb5543c920fd6dfc211fd1ccb3ea4fc0e0 76a05c0d74fcff49da8a4322c37964ebed18851d
+59ec38b95bc7e6de7f9d4c43c7b27717f3649127 1cd72f055b6da9f7b260bd68e2dc3ccb80f69344
+bc93235c977a13c05a637136d165d836ea786d0e 54682414032c4f21589a75fc254f5703778a0251
+237a28a16250c9e2a943f0c332f89f256f5429bd 89df9219409df4767861ec2a302891418f8aacf7
+23664fedbacb1a638bfa28930a651e7f2ce7f9eb 965e477b6244065e3061c8a375aa481803e618d1
+59a619741e03477973a6dda586f70204e34bac30 3c5acda14e44e14ee6246b419cf74b069d814574
+c822d9e5ec369408deda97e464d3e4a81e1f81a8 7ed76e2bf79eec558de31ca3c1a853aa4f73fda2
+12dd95d17d4ed4878675591f1563ec17b982fe35 100623ab951c4812b947e1dcb91bdae4cc913cda
+986fff89bd4ab2c0821213cdf4a55ae6b27aa4ce c17230f4d6852e4cfbab7b2e8116071aabbe3c51
+f714db16d0e9bb54f974b6522d6de2fb4208260c df31fd3f5b261ee3493715527e24d754d3eac0b0
+70c9df8d2681ac46a3bad3af6ab751d30dcae0e2 fe7d7528ca3d3f7b7b5125c3fe9995ae38c3eace
+1c420d1d997f114c2106cad1f65d58d3ed14bd54 65b79d9b05607b974cd66daf8043e7b024ad9d17
+702ec1708c3792037302631c0e69b8e2d773db55 449e04ab6042b2523a66ffde7bd1c5b0d09b669b
+6e0029313f56511dcd9ba7d01f42f1a3a2f46d8b f18f631c81896338a1b4f19788f4c0b622845a26
+af361d8dbd0ffbc0e85e64d653e345d8833fabdc 4401ec1abada36809b4d22b947524fff0ee641c8
+2ea069b0aad1c0036ac724cea1283df92977917e 35c10431dcddfb24b24a2a902d439f80c56304ad
+04b26972fa9aa96ac5a392866dd4fca9419f3a61 449e04ab6042b2523a66ffde7bd1c5b0d09b669b
+41b0c8422805a1d234c30424e3626b306c856576 35c10431dcddfb24b24a2a902d439f80c56304ad
+0630543a27f769d3996a97dcc91022c229df37d3 86df1ac650ef0a3954b6062745408b33e054990d
+5cb5f6cdb8c2f442e8bfa4c3dcb22d8619c1ab3c d1fd7e0ab0a61d7b68c2eeaba4d1c1614fdb1bce
+249939572340075eaee05177b1d143d095f2e535 396fd0516265d1fff2627bf4f23980f6c327263b
+dbde18a68b53adbf108122e888619d33b33a5dc2 5e0e413dab5920541ff66a1538b5ea6bc45cb99c
+92bbef0b7696919746eb3a24fce5a6ea4d43e713 ce4db58936937a994f245c5ba6431cb5af77f0fb
+3f740344eecff5f48b639ee04374c37a165b351e e8df2f34b3662e7e6d99c499cf64957a9c531854
+59fe72f78a2a0140882e629baefdfedd76cb50c2 34a0fef14db21d7e47db50a6d9fdc9ab2c8b6c5d
+aeea1cb022756f3fbad33b1d8fbffc0506363f90 37ae0158c36e5b84ea85c1294137a4aa0862b82c
+1cf7224837af2f41bb3b6ed47730833f9c84d4bc 9d393825a8bad463a9e3855a379d17cfae8cd347
+363928d9c020358c9dae56e0dc8a917735295bfe 18251e43e415c480ac435b4083109473a44e23e4
+7b480d5200d470578a64719e73d0f423511b0f50 981a9eed3b41a2fb08faf8b47a86b909745496eb
+61f0527f9d85538357d34957a358bbfd4aae1d5e aff64abc2dcf35c0a880499deff9009635d9b775
+e876591c3cffdb01f68f5d2d8bcff2f3d1110e1e 0393c373d73f72ffc045a081a63b5adb62842945
+876331fd4d04899faeab70077775a22f0641770d 6d6ab95d14702e6f9431d26a8bb4cb16e88141a4
+832e81f40bb7aa304b654f81072606c847bbf928 c34b3b9237861bb8672e7330ca5640443e5e54e8
+d241f0b2253f8985cc41ea4047874cdc0c05b290 599145a9a9ced48c586bdaed4835fcdcf4bbc3be
+482b32e45c611ce49cc6f6ee20b07cce5017b292 d065426762c4dfa9685eabe0beb449504b6c9f99
+5f9b2ed11fa210852ab0287f2f3a8fdd09c9e01f 33c1689fd719d189eac154bfcb19def88a91204a
+6864e32fae5b76c6a70bc856a521abc8ff72dca2 f8349bff3f96a9ea644dca1d9e1fa6a2ce302b77
+78bcfe41dc10d5aef41805587de8fefdcea07287 21bd164f81c9d19ea16180568f1a127988eef58e
+dd1b9027278da6d7ae15a29d8ffeebe56baba854 4d4f32fa50e88ff1d12112127f086743864c33ee
+4409a32cdc55f1b5e08e96c77e2959d634fc35e7 c6b6a62d2fc8abc58b21b60e46532b305aa8b985
+1b9d4cd8ff0933f1d34b35d5f23f0b1d45773b63 0add0c98e8ef039dc07a5eb770e6743208c7e0dc
+69b9cde20a78f2e1b38c2d9edd83a015d2ba616b ba44297ff1cf8605ac43a35da5c133fefed31c9b
+b49892d6e9c9fa0ad832f96c59cc53065a5b2874 ce21cfe75c2f27f20029d192e26950769a1f9b87
+c6aff42f04c1becd3148e2d14b01e3ca201cae7e ac0c83b8d1dcd28f72d11dafd6f8c1b45b83a0ad
+1e4e13ac7887af2fd0394d43f55ae349efb6487e ce21cfe75c2f27f20029d192e26950769a1f9b87
+dac33e614bbc28d3a32502809c0ce257e5deac66 86cfcd418cfae34aed379a1fc004497f655e6ba7
+d7937480a4c2c010df98041526ba1b0794985cb9 d94cd0cdef213808cf6430aeaf36fa19ecc92a03
+cb98877626a0ce3801d72ec88b3453047712c5de 8318e5ac0c556eb428bb49814ea1a831ddd7ed1a
+a9ee5c7f5bab2ec8cfb7f827f7b40ff14d0e3ade 8318e5ac0c556eb428bb49814ea1a831ddd7ed1a
+55cf15fc5dad94c0b1aec6c9bbaeb10f49cc0762 72dbd88d25d83b322af1991e6221d47587a0aa93
+9f7fd46d516d8d93301b7582e5309a6547aa07fb 32e216f2f18e4821e506df2233a7398c4d521f85
+929b4b16ea61c8a242154e1873fb24f533a56d63 6c1dfa79775840cfe638a10c841c42a0a111cf5f
+b7d40ddc8141ec52de8494d41570127fe9c31515 d4b2f3e066e028fcdc839dfa02afe505d106089d
+0632630eb5e76ee046a39f649c08b86fc4094cbc 8816edaf52ce54f36a569ae5d5e18129b5e4f5ec
+49f9b6c5ff850261bfa9a0168dded994529f1aef ee2b1f2ad82cfc4c2e59976624f284748c586693
+b251e4a8c3f22c953586052ddfecd22a9c904eb3 d5e44301295eacd4f7aa69bb01a644940298903a
+69b6fdbd5923c139b491c22fd12b307a714a77b7 d5e44301295eacd4f7aa69bb01a644940298903a
+7c92613c11b5c87ffe5c8e6168d6483e4b3dda11 9b3de0d99b9f1384066fba4f53fee7efeb4ec5b1
+c08e469cc32b5d0122198aeca91e6c58b4ae0486 facfc92512641eeb972191d9d8c4437b8a201308
+6536653ef572f706e29653beef858228c7c019c6 fa7aceaa9a7441f6bb245c61ca3031ca191f2526
+b7dafc018c53f93d6f410b364f14ed01bcb368d9 8e329aeb9b3b40f91b3173e9966f94680105f4c7
+bc8f841d8b044f846eec4161a969d936730b74ff 316f3b2967cf5947df1f3f522f3f05b780887790
+3879e4b1702c5a5de804a1e84edf09a970d80a49 9d627e3530fdb8f41df8ac814621bacfe632c0fd
+0b94e1573db38a28bc1694aaf63547f20aa3d4b0 422f44369edfd090578072bc278a3c6535745f1f
+ee2e8cd19fc2f585e12723ba9ab1ee0887398a73 254dcdb9fc6e99da8f0b96adf61c9935ad049a31
+4860ed6fff0927a23fa85331d92b9c5275ea9fb1 1349f074b143bb3609375a9801ba892d94a730bf
+ba150ce614d0caf26b31e2b48b34491754c51090 861de68af7c4436a4e8fa7076c579dfd2568e49b
+7767034332184184867eb183a37285430ad33802 da22e92cadb833a149226704e8504ae4e7a09916
+30592b61e45277d7d751a9be7113024697b7c739 65320b8e2bb64092c043570f27319bdf98955a7b
+8bb55c0994a2e8828dbeb8b1a70aa8b83ec907e1 62855508123472d754258b21b1203e5889736c90
+8d2ba8bb62a55774dd56484474330407046698c0 14ca364e945a96464844b0e5e9a279612ce104c3
+8467bd6addf2ef5d11b06557c16046ce97adcb37 2948ff825ef311a2d3a6f4ee94d2fe000405e27d
+b8c6c7f8497cc0f17b8a0d636312e9636eaffb8b 2948ff825ef311a2d3a6f4ee94d2fe000405e27d
+6d79d4c86cd72cfd42d45b676b4ed1b6459ab043 f2c2f8fc539fc79c53fd1b4c64f10ee72fb0310a
+327a7954e15801b50002ad873808a0129b9ac8a6 cef43af3eba730709b5a8a3fa8a779696f4cafcd
+fd81200db1cd79a7e5d3c473dcfcef7db238e9fc 6eed91226d614ef54911eb47f0ffa4139f365532
+0fe2348366e90c24200bffd82799daa6b3e31353 2c11e9a9eff4730ca1def13daf2438c27943c83c
+ddd672ec364064ec7e7578b765819515311f0fb6 baca9e5b616b6372fc8d18da6adb3d4a61fcd5bc
+86c9cec6ccca2572881c982e9b5913d37cba2126 762a3edd1d31cb59e0ed05918854e58dd7335705
+60979d3c7cfec808048f0736038a452ea4afa339 bf2ddc498b67d75a8da3d26340b397a44700d010
+6fafbc1e55d1e0c2bb6e2a0e78f2b6d65590a71f 961e1ac0c15bc014f5ba469791b17682f88a254e
+098b69c2d92bc820c53d5637fbadca06ff77fa9d 5222e7bf9a876767487c0d229f59a8bc984a2b56
+0c096d3b23782e37b2f078fb6a0f59eca0dc314f 3c4d3cf0aa57037bdc2c9e22d868e568726990c3
+66aad97d2a5171b8e3655a2e3056dcc4374dc391 2dfc86883859f613f8e6dc743580b154a4670e33
+442b7eab7e31c14fa38236119f4078ac1e904a5a 2dfc86883859f613f8e6dc743580b154a4670e33
+92843263a905a04a9663dd1f64133beda86128d0 2dfc86883859f613f8e6dc743580b154a4670e33
+2ae50f2ba8858eacc0ec1b224adaeebf71aa3abf 2dfc86883859f613f8e6dc743580b154a4670e33
+73015d2bb4f305b347e7684636bc06b88cd51467 cee18ec2f0fd446c319c0f2bd425f8c7ffba7dc3
+5ee8ee27a5a2db63d498df0b75e10bd6c56ae259 22867e736ad25c9163789dc032d05b657b326c1e
+40c46b5efb0944bc74cf6c81d82c8794f38151dd 29c46d29b2dca921423b8fcb9c7877f28f5e6aa8
+2e44ac0219250b04df6a81a975aac997ebd79999 1ff756ce50ed6d92278f7bb0afd5b2704b68afe5
+861c5d7b235e9ca710b297c1e818ead3a7c43ba9 262a89a5cd91515784ea1d5d22562b1df8fb97f5
+8ef530a4060128aae26def8f41412747c7ef5916 0be0fa93ce7bebe1b327c02257bb6fae065298f8
+20fe258726356a71446cd33961cadd0fbc09556e 278141f412faac5f3d3797e68ed95700aa408248
+216df7fecda66870c02f53eb78d8224873c4dc35 6dd1698ba1ce26792c5042e69581d56fcc6e2707
+7bd019ecea082f3a5195ed0e9e545e1cd7002dcd aed45698cf97b65ea66d3969e4db093abe6c91d1
+85c42e6cb0eb340f8b1cf6bdb84d217b88d95827 f714142c5bd6e04480ce5f5e291574ded3a58636
+4cb6be35a1031f23f18fa04cdee06748d1978a46 e2c9bbad46967d5efc422bc643213f05cd8d5bb2
+c81d99d5ed8635271031a694e503c1bef30b89ce 09187729a9d0eee16ee7c376070d47f4fcde878a
+4cee956d9be8d7f34f5d9f4d1c8a8425f4b5cbe1 5ad4b0767e379afe5eb71494139c8dab6a299f76
+7f6254c28bfaec20a0c30bb949781b1cfa342fc2 6578e1c3b05f70b75f7316beb7270a403646eb75
+601f813ae59d419127ff8bd884bb27db26304768 c7ce9cb22652360e8aebb4e7257896c1016a37e8
+990e8c8a183c0272d05c76c479d8a363989ff888 db72cb5c24e791027b2fcb25376c3355e2cae671
+88f6d8aab0a0fb77302c3b1d88343f3b1fd426e2 037a5664cae1d5a0a390e880e97261bcde3f06a5
+7a523353f2314b8ff4bea830b2c2acaae29b96b3 037a5664cae1d5a0a390e880e97261bcde3f06a5
+583b179b3c2b62b64ca27d474ad2331d2f60ac7d 633c9927c7c2ff15ab32b3aefe23b1bd70f7a722
+c76e6c6a4d45d8b91a110c0805875008e9cbe2cb dc9dabc54b1ce1ad22ec2632b50617961ba3c335
+de6d09478adfbaf61fc095dbce0fcdb8c4419bcf 854bcd02f8c53d7893370b5c58da323fca516eaa
+e2002dd1e1b72fa522008861693df3d3791587c0 abe39ffa57a9e9f7fe2d2f140238f1269fee3345
+a1c08ae60695f754168c17bb35393defc6a082a6 1c64513780b496f4ce652f04470e1ec7691d9b27
+cfabc931759c4c8bc0461267d982b79ac3226b69 c352572b3eb3f00f48d3218603d98c3eb713d173
+f8dfaf6af0755e0ac323fea83fbaf585fdf1a593 939a101bfa9e98d42fcf801a9003e355e5222662
+284d8ddfbbe55fe01ab15d50fd22474d2f5f2729 f22177a784b54624fac0104f8b1ee0b972e4c099
+6c2efb9415292d02e2df6bea5bef7c1340f49e17 00ee0f173239960b5a2d4da58b1c6d6d565cdf89
+2aa6791a34e19079df0b1c807139e487e23f41a7 287982c3e93e02a4029d0e51aab13120b88cab3f
+c1dc6f43bb8616eff52ab766c23b3830cc1fde2f 62e8ccf8879f191271bd6f5ee908fe3e788f5739
+a09697c9c2d3153e3e3f8e7e494ca94795c2ba7e 99147f44c3b2d30291d99f6019c615320780ff74
+ada5ad7b70e44d2e8c08a5e94c2b8687d040c5cb a2e8f2fe4f3eac54dfa01cd9f0f72bf5ee38375a
+cb76448cdfa49c4872639907b91a69f9be851202 aef091353a23034c0f05110ae4797cb57fc9dd84
+bc2b4d5a4027a408de3e7d7c168bd3328c11e883 e48d699c0a3240d5a9db5eeadc52bd7e12ff8d62
+fe967bf2fca964107cff9fbe908e0b4538894714 8d82ea14d6044cf3b435dd81c7e521d0fcbfd63a
+ba9417d691c73fe7346274568e7c133f712b0036 89e9f5702bac436c1427e1527499ac4a5dbc2580
+b9bbc8a1217f5d13a86ce704c26344a909be59b2 89e9f5702bac436c1427e1527499ac4a5dbc2580
+281f6c5f103d7a67a05b73d87fdf0025016ccaaa 082d8a921ce75f8c72b77031eae2de4f735f48ca
+cccdf66f394da0976fb9610af32208177e6be67c be7707647758926c06ffd5fbd36cf56cd9e27024
+d1149d726edf2ba5c625a1a5e394133a53ca555f 152dca76e4d961b340e2092203ad69ae6b0fe70c
+bac8d5e499907ebd5a96766ceba220ba83b31be8 fc8f7e1daef4fd508dd7f153f08671892bb05efd
+8eae8696260375ad28de2d190092e59df3867ab0 b940104d674722ba9f588b4ad97e248728abc8dc
+367dd31e164c7db260054bcebf7cab2e453bc6ec 47b8952f53ee6ac252c792bfc532d5aa34fa57b4
+a9972dd34c7529578f3a20dc788234b41b88fd9b 7929a8319b0f52f5e0100313c39e695becb5df69
+bd8dc0313c12d031f5258e0690fe186488f44dde 0cb9579d5515fa22238bd1085adea0f448447580
+4b00a338cd0e99159044eb3f6fbdbeb86556a33a 16cb6d5e8f40312c5c2f584eddcb269bc0c0804b
+56cddcc84cf1e3299c17f5f7432a05321c69809b 195888e4367afe4542ed51bfb1d477ce74f80e72
+240a64ff143376a9d43482ae90c4ec6e414bf005 17d75b3da618d4db2953c3fb2135ddc5c24a9dfc
+72d3a66fc8c7a1e0ed4660a293d9763dd3bd0d7a d971aeaca3991bffcd3a47fa171638e11372329a
+dceae5224531edd2e7ceb61dc4190dfa7deee69e 8ef2974ea3055b24a143652b7b0d706f8d262022
+98d41c866708b9134f4dd4d3b3509b3968b77a9a f5ae8eb1d0eddf68aa7a3473bb17d17110183c97
+83383ec385b0677e67a0e61d16fa3a313ddf1913 ae65e556c28bdcf8f6a7583e013be67e63193aea
+f1567f393520e17b527b59d0fe8102fd2a95911b 0390a9d3c87e4440f5b093f975a87efac4446a5a
+1f7b7c1c88ef0bd9c073790b6cbd46611b99daf3 a5545db629cbdbdea50ebc2a573f1e753d4a83c7
+30a1234b1740794668fe147e83a50c0a130ab915 17d75b3da618d4db2953c3fb2135ddc5c24a9dfc
+d404ec115a7e436fdd36fa66235c02e4aae726c6 f9023b960a67d89366bad1aa7ea42c89afe2a8fb
+90402ffb83bda8a2c9c7dd0041877130da528ed8 adb4c8d0b846e564e1e656244196cafa6f698980
+8b76d6175b77f03238a2cdaa6ac56ee92041687f b9b676b039d8657dd74036e58a98755677307662
+8b1d73174dc78f9bdc3f556ca8dade262153776f b850533c01e376daa8e2f78072c12b06c97cb0b3
+4bd600b3749069d98e0ee248ef9865dffe596b3b 76cb92e72af3c7442893ad959e3fe0110d63f210
+1da4fcd2dac6f7739f36779b7ed74c326a216aff d5e69d04a21a9a6912f96b744242768d4b4fa369
+651c99b827ef8a2eaac741ff2d28bfa72931b606 da030b4651fcac4a79588b20da1c27b586a4e8c2
+2bad8f7ea4fed2af8305916cbdceb9f7f86c79d5 77451c6127f7f037944dc18df86ecacadefaf1cf
+e7a4182446a7c211cb215af330aecd44aca711e6 4109196e5ec4169e3a51c138e1e25b57fdf87f22
+34159d13ea46eb246b0e4be8c4412ef45d8a6572 aa9889fd005379fb03c8dd44c1c86593b252754d
+c370b80c3acd391be0232a52b3635288424dd6a1 dd9580fd9b5751299f821c2f7f4c2147d0bbd92e
+40421db2dc0cdb83af17452d33b1169fcc4748c1 efaf151e528aa59557e50c515c3cea4f81c5ae00
+39b7d16d54d1a7d56024be4cab678d02fc10c58f b387ab8778c49077460fafcb819db19e391a4caf
+3307e00046ac5405cc8b142273637a4f815ceec2 09bf22bae4bdc1a27f3d053442d067bc890f1aa0
+eec024982b516cb1828ac8cdde11280bd1414378 99ac1fb6d1923e1af65e4a7948a347fb0629f3ec
+a160d0dfb897a39f9d9e4a5733d7950ddfcab89d 630472b0b90453e557dc5828cd871de0ae60b645
+27de2d6a36aaf216baad66ef61b009a0f9d94056 cd01f94ec250fd4d70e6abc611acb7db89d1c2e6
+0c2a125fce6ea314c003c5e777a77762f0f82b71 f9283e976b5dadcb262ae5f2725ce6779f27bcf7
+d4479f4638ca9bae2be5d90c2b2deafb864e3f2b f007efbf14fe300910e70e22229ef74ae05cebb6
+b1bd99e7b3ee656b1f1ceb8339fdf7c352073fbc 23ec7d3bf61747755b6a6f87372853c174f883be
+d52790ef2c9a5dd2003d7734d32ca5aeded6f763 681c7b323f12f62e59e30aed8c5ff1c08dd1ffcf
+d729598d9ed868a00ccdd65670bfba246fe57297 7a3b919d950eb19571cb065d8c9132458a9ac0e3
+07bd92642fbefe85d407a9af830aabc84cfcbdeb 4a9e9a601fcd446196e72507ce91ec195f5e98fa
+f887a2fdc371c8682a03576285eea03614ea4498 c0bc1a0cc08b07918817538b836dc8e76239e4b8
+b2ea37ade36f92b44c7e4c34e4ce848dce084813 56d2da23321074d3b3aff8fbf7110fd6d6f0ee16
+14ab3b7f6f1ccdd501bfe639dcfb5c15f363fee0 803ca90cd40943a842a3c0250e8c570b5d130a4f
+ca3009dd40611aa00f26e7f190872e597a02f15b bbdd73848565114cf3508dc5a44d8590d2055200
+b94b40d94f270ac67f669d1c0812a015b25d5add b14533b1a40874de1826883587161dfe68837d73
+462cdc6e2a05e0c3141cd65afedcf12fe7cd0e3d 9a47318748d7c027363c1349952d219eb57701e1
+76efb3615b60ed6d93ca5efef6af9ec1585bd7fa 4c64a8b2d4e7e8d5e0457748e494affb05d66090
+698ac0866792f21441dc577a25304a4d54bee255 c977a2e793ef7bf67fc22b2ff441c55371720116
+ca3f5483a8b87884041b1165e7cd5a9f6e9cb954 d727854986254a85753753e29cfc9689af766edc
+ff5ce10edd69aba8849d1bbfa9807fe9a8637d67 019017929aeabfe7944f169832b74ddba423d3c0
+11282b98fbe68f6eb4eeb46c877d29029b50ae45 61e4389bed81c50a2663343e58f85ea0556f11cf
+569a2f503ee301032f7c340b3af5f796f4133812 fd805ea47676053c9ea1da4f0ec4e3a002b1c5fe
+125907f81d8f1ebaca9dd0d53342832b804b900d fbd7cadcaae4f40283feea73fbd1b5b085a065cb
+45ece11eb7d83f37d9b3514840c4e451540ec999 76e9208f0376ed04031a38549c964249214e0ffe
+fcc1a5f44ee8203d8f692fcf4b5e30da08a39795 c7c2ea5fd229f41888b0dc809721df1cc69e9496
+28786b97c5f56e8d71dcdd62b11329e90e624c34 fb39d8fdbcbb12600737193160bba8a20d0eb59c
+b4cf2beabd87b99e5899fb6f38f9cbaa752163ce 9b47fdbe5e51173d1382550574093d190947f8cc
+5c5693f632d476d8c3e7e65e293ae7706968fb1f 50e10a62c6956421e4b67180d1ad2a47551f604d
+e9735e3e9af98938b6f95755422433f6a1061b84 10dd14ab6a91c44a56dd84e998fdab1d7af16a82
+bd359ff636036dee26bd66a49442cad343d530f1 7448f9b7acc318c2597a84a32ad9dc680a056b9d
+63949ca833007659fe240c58aba2907735666d9c d2e8849597d0c0011bb997d62c671ff7bd8e4090
+f7c47ed58193b19b4337fff7d33c2286caece6e2 957a016e2d3fb8fdbf77606070a53a0a59818cf5
+4028abcc945752b2a4d00be43bb8051cb4d49882 b5ffb9d665732aeff9a021f5b10df273015c5fbb
+49c9461937df7ed7ee8fca234ad33749a7f6fdc5 cdc516231b4cb939c0cfad1361229cffc550ea9a
+85a5ee78bc03093976db536d51066306423cfc1b 1575911c7b39a5dfed181bc30ee05fe2dd0b97b7
+6c65ccb44c0d2b8806050b34ee68551795523242 3fa7aa636a123690cf43dc91855416e5892444e8
+abab49ae744f2b37b683671abeb1e139977bb5f4 9d5f03fcbc17abbfb3eafbcd097f70a6dc97a0f5
+c3ad9ab32597e12969e1dc00dfcc30260e8d21de 576c71ea9a2f2ebad2372728f61ecc3e745c77d1
+538c216966221b574cc97b16d03f75624ecefd72 602e3b9482076db39736db9b2e0c9136f42908b6
+43cdf436c6e5e9055efc60a5ca180b5132a0d2e6 e911882dfcf1d0394446193c0559792d076825b6
+034f4f0e7894f101093dd9f46472f6cdddfe7bd8 65444f12550051a3a76f2299460ce3bbde18d506
+113704d7de4564d33b5b115530f1289f98634d27 05181cd825878c663412ff4c1a03957762379721
+03067d2648a882a66ba4f2185d04807a5f685f28 eedc36fd4450780f107557674694002798b1fe0c
+b98f468049b80f5114a50476c8f1fafa66c09563 555fa35da748351b639916bbec8d10aa973c58cd
+bdf7f6cb58c072b583a114be5e3c7fed67df2f11 9ff6481bd611985ddf7c04b4141a7dec038db6bf
+51cd31773bba4a6ca183db2124682f835dacb4f0 15e5c350848dcf8aaa97901a1fbf7e1fb5e3a40f
+72ac131ea69c1b8c0be82b9c0df8c9beb7d8c1f5 db0c2a8a3577eab151f6c8f02ef7bbd25e7bbab9
+1540f59da86d7a54746ec3196af3c14a8553a6f7 99fc08ad9ce605b623883ed2e7e75390c0e7a783
+f3d0800558946340a4501b131196d7c950fd2562 cc2e36b2a6cdad165194456e558e9b267af6b1c9
+693fdcffd7cca5148225a1ae6f7fc8e8feb9b4b2 8dfcfcde39646c791565af8f2a1d9c83d61d49e6
+335da67b20bb85acdce02bb211d71ea0807abc81 9e88c5866734fa31e44425e4b0b236bc115c5037
+7db5ad3e8ec281eb813329a65f386e013c0c3984 479d11738d5cb4530093427087bc80b641e7fdab
+db43c5e7d385e888b767cfe35d64d40f90b22b63 923da9141bc2538347cecd3bc489aea72d717a67
+5a0052b1817eaa528229ebe769c556cfbe00edbe 7ad14e9532906057f6870fc2946e6d5cc37a8c4a
+94d1e7cca8734c99ed6d6ab65a3661c3fb3f90e9 b07ca4c6c2bcd960da41207418d4ebedb584b19d
+57d670ecc71d4f48d7d41210cdeaf1905a5badea f75182a20aae0c9ceeb38b6bb6e45d48dbe6f3df
+d0de4eb00c4e20a51880fd40275417bef03f65fa 479d11738d5cb4530093427087bc80b641e7fdab
+3956f74568f966722cd82901f658a6c884b229c4 f75182a20aae0c9ceeb38b6bb6e45d48dbe6f3df
+2ec74172952d59e7240fc52036afb702298d1300 beb9a0e0b6e3d2344909b18f8c97314535adc20a
+fab88cc4d9fb1d47642745bb289f033ff9d4c478 3fe364d527bccf6e54e92bda06d4b0da2ec184d8
+7f736a780f3aead7d63aba21956c6ecdc655aec5 4d0ff89523f4d99e9c0d24282590a2d560845fc0
+e6a1e774206a832016f91c4b737099d8db9a9d0b b51f1e7f3a9b0a25956f97c3ca8f499930dc2831
+51c812f6ee1090249cdd752ad880fe63f70779bb e160bb31dd3d39b5555ed18f762509723deb1b24
+3d691204343e998802522902feea1ddccfd1b456 550f899876559a0626e54881e942ab7b5bf27226
+3da7289ba9fb472f626e0c2cad7a9bb6a2fc5091 658aee1cc145c758228dd85ce9f410807fcfa296
+c44f012615abaf88f9daac66b6ecd3eb5ad84635 f3a63b188b82f335684e1fdba6f08ade31c0ef40
+64718c1dc0ea7a266149dd81d6929c04d63d0d9e 92e91616a8f9e15cdf512e34b7f36f3a2869a5b6
+9618c8f56668e914d86a5fc7cc1a3fed5355f713 e293f4348bdee211a359f580b812fb945ec80c17
+686cda2b74d80ced1b40dd421ed282e51bdb28b9 0a1266f460e5f9b0023f71895514e2087efa54a0
+7f2bd6921906e02dccf95bdbb6afec3e228f4f59 71edbc969507c4177c3c71e38071da32c68a125b
+e0b29c0765d70ece2ac2d2724f50b50f0c8116ef a219f05ce89f6d3b56c6bf240c7e283185ad7e48
+98539afc3f356582a494e626c47bbe3ad0ef687b 8be5702bef79c32192b700cda95acc4f87224195
+ffba4948abef1823c262d7e49507a3568f41e7e7 d0b42026e220db2024831ed9134832766fd5b8be
+15726f091fbb701fa0bc78c4c007df90036c7a1d 4f7518d36cfbfcdd7054afa7f2f2c8b634a92c88
+8b9141b0401ec4cdff5c1e81ed03129cec7e78cd b87561a148b6c8b6d8a991792f529170c39a9efb
+cf76f0a98a5cba8e6cc648756070eeff2e05fe74 1a91271844dd6bdac6925e238172541ae0b950d9
+e88c089d195b061bfe646e39ae27e674700fdf65 d40bfe2b6395676995cac054c3ece36df24f5125
+c531296d325cfbef4408ef86c3c1adc4e8890e4d 143263e3b6a4549eff0bcc04ba81fc4dce038f2e
+5149dee4800be6893d8781c7332490005abbed0a b4af5e03dc0dbe0b1db1e9afa35729666c29e070
+d2fb91d870cc4baf79401f2b4861f5e70f3c6bed b81c9a62c0488bd59c6c546f4f3851339301ad73
+018f95c05e5dbc129829f61e384475eb4694cb51 ba5e9dbbda738c7d0c5eb55564909a33f8410c43
+11b7897a141756bab37ee1cd0fb65a3565239e06 6e4f22d29ead909b30cdeb403f6e5b01e81c9d65
+800c55c66eef84c9a4f34e731ac796071e5dc185 39ddb449cbada428ce12fe0c9a4af20c7de219a6
+39fcb156e050009d4209b9f47ded638c9ad2bce3 4a9e9a601fcd446196e72507ce91ec195f5e98fa
+6dc9f56e6d2027600bd2e2f7b2b26975461844db 7448f9b7acc318c2597a84a32ad9dc680a056b9d
+8f3db070f2a27245ddff285a6452689e0e0202eb 93ee634688c2ee2e61b8513848d645804a999d0f
+119a0bc5b6cdf1b0eaea63ac69ff5830979befa2 9f7b685fc7058bb401860b751a8b9b066e5b58d7
+25089a0513c607d4aa935b632ac318c790e5d33d 1aad3d7ad4864623b0bde667042667f4937694b2
+82c3c23acf0402bef895fc88ee0479237d5f116e 90cdbd10e2a70338e6b8416a304fdea6943c1228
+4d231f60f1e62df5be90886f28a4ef1f10303149 0a523aefa450f8d4df68ecd854adbd40e9c86d75
+50188781b12ab4bca212c39eda283d8487dedd4f e327264e5ef54a449c0e8cca592e787d69c80d27
+a18e20298e3af47db130d2abe45f0b9cf91eefed 4d9b07b6e152580c1b4d4bffe9f3a009f6d401e4
+ebb985ae744a0eed8f58fad5403416ec0b9ede40 48f5b0ed6e4447d9117ccdeab85b1680dd615bf7
+fd8112e22449446533c67e276a3b32b81fc8bd55 f6f77e34873575c56b60813de7d096ec9942bb62
+2071722812ef78d1674b7ab9189dc3b3715f1d59 c5e26ab71ac26402ce70b4caca1751b3a60b99c5
+7b90835e73bac169087be6ef968a6d3bc3df987c 8c778de94e391098ddda12f866cc6d5a4b1c9121
+9ac8799ffc9f8d22bc9d6bb4d1f0064a90e560cf 06533d9cf4f10446aecd7be1104c3bc04a98bedb
+6aef492e84c1e2022a3bf92309f683d7240565e7 edbb59ad8ee3a2a8f1db577f191f72d79e6be000
+5e5032487dc3625dee2410e5e8f052a9e738e286 858e0c8cb47dcba935823e9b94dfcb61da0c71b2
+c5dabc899899b5c9a90a86a2f0e4997c76a63251 3f30f8df3c46147916f0a78d3133008143c4902f
+cff6b4f0dd0015bfdf1bd7e4a51df53dd77b24e1 942a44a4476f4d32fbc01e6da2a2098f5d74214a
+b5f47cce1a2d1b60fa61b79b536c0caac595e278 e36c97d1ff3ab3bb8aee7cdd4b14d77b09404b11
+d757939df19d041c36996dce9eba9a56487c14ba e36c97d1ff3ab3bb8aee7cdd4b14d77b09404b11
+67eea8032476035244fbbc55edfa902b63185884 7aa734e615907d8e2e5ceade939a9b04e7282b57
+523ab52676116046ca427adf85579acd77e8e797 2a3f37bc5ea63416637d6e7be3d755583b4440a9
+3d35bc1f0cc6b1c65ef84b446a41f27c046403f0 3b6c12a260f95c5bc43e73a7f910618e542ccb40
+7e3ad643c00201f8dba046f0a4be970fba61c3c9 ee8eca2700eb23aa082f310893b0705303d9195b
+fc75d595697f8612253e39328e8e6d50d4e657a9 65c900cfeea68735753043a85aaf2dc2d58d1104
+7733db17b66aa8f8c6142c4dbec760c813c4e8bc 1faf6ca9aca9ed88ed78c0d9e1184ad2af1af50d
+e296d3b09e73a72ac92400bdac710deaca42c5cb b5947bbdfd343b3608839d0c67b0f8edf7a18088
+dfacf5887295d4fcd9df06d782496b82972b9d5a 35d95f9085bdfcfbb649fdede51d97d082f38e8d
+b2da89fba13bcc686be819b1a14e7fa4a1de1daa 06b556431334bdc58d6702ccee29f81a914c2289
+0eb51d9aabbed28c5d869a8ce70bd7e93af2bf77 606ec7159caf03aecacf5558d00abc4ce31ffec7
+59bcbbdf255005181f9ee9a599d8c369b8f624ac 479d11738d5cb4530093427087bc80b641e7fdab
+1e6a4d47845b56ed1c37aa7bb41d1c77b403d86a 85f4645e201663a58d601ff79026593ebb5f83e1
+c7c5b877277b3c1503e7d3f33eb6e5d5a1a1f5d5 ce1093484e94abe94f18696e14901c688c636a74
+a62e8cdbc6f69911ac5761a80e1b95ea8b2e8965 96ba319f535df065202f2463e9372611fb09b7c8
+502f57209cebb0c39e33bcfcea4d755c2bf951b2 5ac20cdb988f27f7b6c2d358904c3437f84c6800
+a185a0e7b62c6703aa7108db5e4379ef2da8c53d 5ac20cdb988f27f7b6c2d358904c3437f84c6800
+80df2e0e3f04bfb05f49f6700050dd66a12e83f7 5ac20cdb988f27f7b6c2d358904c3437f84c6800
+e547b8bfa2cd667d5383966df275717d524544ff 0fc796978817c38c82c43aa964bff16c373dc739
+4200dea82f3a4aef38041ea986371848bc470436 c711dbcb3fb3ccd7ecad6cb7145227a3dd101e60
+217805c598db78319924581e7213027b875bd4c1 8ba3efb620933c1c6f4a80b1b2bfdb19bb1c6506
+c875e46ceb17aa3a61e056f4ca90097ef0c330a0 84bfd71e6a641a559b90590419ec86fd5490ce4b
+11a48dac402567b22282ba9b02f3d518d53022d4 9dae10dbbc99e599f2ed4a28cf1e6a73488a0a5e
+787b7b8ff478ad807d2776d01b09b5c6c01a7627 b290089097fcf7c3f7fdc67de447bf146c8e6e67
+f538d1438339b1eb9b2467c95c1c697cd18b67a1 2098a052c559aed812e39fa10f2032a08901c576
+e923b5732c56642182da4f3007a03b29ba163426 519d1951a980ad6bfe7fb40492aaa166817cc367
+de33fd7eb3769a48e098d87ca1506decda337a41 34253813ba83d30ed86111908acdbcb0a2fc0fcc
+3625931e47657245c1e11a6cbe012a09e8e2fe78 85ad068c396ba79460f5787a94f0ab86e41b4e98
+3334574db34843fa149968c7bc98657426c55540 85ad068c396ba79460f5787a94f0ab86e41b4e98
+d54cc42bdb3116af9bbf8eff8531f00019a2e424 35cd40226060beb45cc777479823108e0fe4bc61
+ea0bdc8bcb13dce5f3bf6be2701afa18eb83c79d 44830c730a6c3d3d577027d1a6f7d9f5bb6f78b2
+9b4b734f6f9a356613667e274924e3189fe2ed2d cb940550a422902f0ae118814a38f48e354e0f85
+db3955175835488df0b3678a08fc7b1c0644d436 d69b9d61f8cfc4fae41eec63b5520b7892ca8218
+e26de1819cb0e0a084c48d5cbf1dd8d85f4684bd 70adad72100f1d83297d9b8f5935e006a9caa7c3
+22b165d1265712befe3c883c3d560e17bdcd981d 21bfd5f442c643999f3556d155f0b76913851f34
+f806865942af6dc91dc8165a8489bca48e4a3b9f 6945d9312143ef564db56ce506972dd6fe19f51d
+ec02cc6ec2c6dce76bd5b6ea9addf4a9ed2d5755 9fcbe2a71a1e43b3161aeb443260f4061f7150e3
+2c46cd2ea4713c46cb16aee3544e012dc9c4ee01 d16b8e8cd4b9bc4207a9856e57d9def3d245995c
+b85ff7cd8bf2751b3eebd375eac04de6c053670c 2aa65adc2ab7e4a3d8f6f08236b61dfea5426297
+43e59a90dc0c0094024e943b54261ef3c8a28b12 aff6f1c71f538e577ab353a0d4c40d3f4f81c842
+416b8a6512285f05b8f3fde840ce3243158a3ced 6427b178c4dc884605894cb2a770f12fdd7f05fe
+e2568f2f5c193665edfc8ee9d86885458c236417 cf40eb5f77a37991f6d7afeaa1c859f3719e9c13
+8e5bf363a2ec23a3c8a14ea5f9b7a085492a53f0 80d560c331eaeef5a13716e211eaed503eb1e430
+ff66b74996f8ea1d26d55baec3399936f6549ced c44aad0b45cb1ce081aade3338586e1a16c0a1c3
+e18f44d98335551347b41cd62510b97610a00f4d 686397b926a7d433945ea4a893b7aff692f0aaf8
+5237ffca9f660dbd3ebd948a5d121b8d6a27d8cc 92580360e67e6a121f3b2b5a4af32a2ac8b27590
+f652d4cbaa3ed357c3bd278a68808a9acdda71ca 219f6656c97ac6bf924d0b1f38f2ce364a607bd8
+95b9e2888a3ed5bb45b5f42873fa2398ad539b01 fdf6d7e46135081a94725a1f2be132cf72283c89
+fcc64bf8be722204aefb2c22730001c76905ea06 c81bc9a7d490e7dbb540f0c66360f11b50c3ecf6
+acbb652e66b3624d6fbdbb6128ae7a1087aa9354 ea50c7bdcec1e5a1d71240c31bfa6fa81db74c27
+64583a40e65d28549a92b6a28e034e8878154055 849682fd21a4fd473bfd4814ff5511ca5051f620
+4d9286ab161b48b74581148e4ac5beb425550422 979f3a611a887194416ec3a4e71c54b26e976599
+78c5cc90a39f3e6a49c770b91442885180275083 59eab6fedaa080e17b1144f3d4428be9aa26b5bf
+539ad754876d090488499f1008c1b9c098eba24d 6366407f9689053331140c883dcb1b7a152de3fe
+55896fb427ab03f469dbbe2713ab64597aca43e6 2e4986fee29bed1ffb9f4b886a3c3bbab757d735
+5d0bfc5d0cb2398832b67a8b923efb0568fa61ef d12daffd2f1e42a2a201a70a4388ae91fd2de3e8
+b581b1dae0706abc9e98e5a2968c4bfe7c01fd2d 5d1de0239a7a1d8ed6bebef8079e695d3a61fed4
+be41d86debed56fef5f217ec38d168655253db1e 490f91a22d0bd64a11b06b1e8f5aad53f56dfb3e
+73642f55b2be86cac244402389aeee0bd6d17605 f3440678b1817061dbd91cff5f39435defe6609f
+ffadc756ee654e2feca2948a9e364a23d7f04fee 8808e60e580d4fef9183935c01233da0c55b6069
+46559501eba10eea4aaef2b09e6ff12ef925833b 44ecc93ff30eaceefb5b32cfa4631bf38bf099a6
+fe85fc72161da7f7680d4210b1b7989f7318f658 ecaaf5f9584cea67b605cd4cb4af779235f1813d
+e197853e9536ca8f9933f7c1bb0839fa2a252f8f a9456d94133c676f39d6e9a90ca4b47c20c97670
+1638d540ff2a97e004fb7e2c22215f05b20ae5a7 c8f09c7559dc423a7f7d00a7a8e83aaaa3cc15ec
+46f06e11f43c758b3c33a69c7082154c43f927fd aabad5cf01d07eb533083e3819f0e7f2ee865592
+004af8b695e637ae4ce8db963ec2aaf4be5c375f 91d15e8da0f61c6300085de0eed9ec8cf7f9437a
+75e7f8c6468bf40c6aade19cdafaf03f61ab00b2 7d3a30ca5a47b6778802cb5b630332f820d35e64
+8e9dd2cbba4588707b3d07366c5fd95d1c82f6ac 8fe17feee943fa2c52ffbb9075ad7b9e6169c41f
+9edbd67b838bc43d7d07b5a34daa5e5d745119f4 71fea65f47c376f992fd0402e300fe5ebf55df07
+5433ae4748f4c376a6680d5a026c5d11d412e214 77462767b63d187addcd196f609bd5f9b34bfcea
+0ee5a251393b00c9c443319ed1067190acf65568 55f680dced0370a1c603f00d0a3e31ff32d0ca8c
+122accb499a3eb1fb897be9cc33629f251cb258b feb26be0f7ab335e72d5b40d50df9fbced7044d1
+bc81661ef14e8c08cec90764a449bd78c7c3ac0d 0c6cde6b9caf5d774cb7d7f9c09596f6eee47d25
+7dc3e4c93314c292499d72c17d81b8549f1186ea cc2c11ff63a8bae69a71b48416ecb76f537a270c
+9446375084bca9106a112c1e62dd9076033bfad9 b2e6ebeca39112b5f6389d44b18f8e6305f6b104
+89d8b5a8fb6c16428a419d6fe1d651514365391a 3918ac0b2b2fcf4fe633f9d6915b62ebf83dafbf
+eaf20983b704cbb65ed87e5d8963a8c1b65f31a8 8993b35fede6e93a6c5c72fe0600c3b40bd7f958
+872a0016f55a453c70f56bf472d4026f0f84745c b27e3fadb3c98888a5a4dfc5a8a651e38116d8c2
+57ad2def137881ed81749c7d9eb3055ecaf6bcaf 5f4bfbcfb9d56d5145e3a507592061937b066e9a
+dc988d77ac6c5dd1ada77bc321e2726f4778778d 98d108e47ff57f4bd7d17d6902cf710dc14acf75
+93d5fcc70dc6c863cdd607b08600cbc064d4724a 0bad18fb77826197c85b4f091ef040777fd4b03e
+c4c55f417b68c20d2b8ca79ca3787c53ae1c9d81 206cf7c53f2439e0872c917bbd9fcee54e5e3b05
+957f9ddcd0fa04fe9266dc1d6d06f0a9ed62f20c 65555c792aa6fbce5ee0c4be9df086ffed1d4eb0
+a0d42105e7caf3c0f181b63deb19336af862ec14 afe3fe499d4a6a67e0e2e6d9483affabcb6e177c
+cbc13dc5150a12c812b9a0cdc54192ffbb949874 7ca4276af56c15ae2a2084434fe2d140c1670138
+460de028b39e005022a406cc03e6a61b627e05bc cbf3896b4999ca839a68fc7d8a71242fb206b3ba
+f0a49388fc0c48c0b87d65c86382cd15b38259b7 20a804a24b4638de1e585b459074242b68d5847d
+febc5c329fdf4dc8b45fd2885425138caeaa0d52 c992177c79e525bd21eb514b8d9d71e7b7d276b6
+ec30abd170c455052ddd104dc47592dba664a365 bbc0d81fb9e68034af7aff0197e46089e857a576
+13efefbed2d935083151ba578c842d39bdd3c8a7 02aa0fdd3fe53b96bb7147f58a13d4a7125a0919
+36ffc8be8b06d107073e34766e39d08c5b7323be 74d47d57389cefb3731eebf12d9f1e5bc105416f
+b09afbe7a762932a9ce811c58ec169d591ea327c 6e689c3cf431dc6abf740171529b9da1fb5c321f
+4e53ef71e03f7f0e9e09c6d8c23afba5458b6e0a 3b7b32940717f550d383ce7ecca65ba0e953cb58
+c2eece766edbfa05d1457c5d8b09190a7db9cb46 031275d9e43670e754433d4d508c101f6633cbe7
+f2d63feaace30de046669bd8fca85298e0238f6e 372bea0e173ebe982fed0521813d7aa7fea4630e
+78f9ee09bc2feee598b51cf124227b020a4947dc 920d4525d8d71b25c866db0079fcd4e7bf76abc5
+bf67626e81ec2722a391ebfb60c52da981a3492c b2bb7c4161edeae0b0abfd827315ca814cd27299
+8ea9b906b3097a97f7a6ddd4a10fa462e309d9ca 127ee9767392b7f6492f73c95312eec0a7fdb245
+27adb09c002bee037b2885df2028dce6186d76da d2382d374139850efa5bb6adfb229e3e656cfc40
+818bac05ed603ae603d5a7b61277801d74302258 ef51e85e581d7fb0caec8af5c25712e513d4723a
+37975c7d0d73e0ba44371f2c32f98ce4b4353976 e675841013826c83c4f4d0c1772cca243577ea5f
+84460c046ffeb8d097d5c2534e599a9bddf05ba5 146e00a04df5c22b3e0ce307b157e8997a45aedc
+65b8315b1b44801d94129c1644b7bb88a4a4d0f8 ada2b74076af6eaab6fa6ef9a1ed86fea4042782
+df20b7e525e74f908e73dd06577ca501c82666e8 f80d9e620425116de7d643dc6335b4146e817d4d
+900adeeeae917966c41c2f86c179ec9dfa3e6b21 f557f6ca8143ff6281dfba0482185e1caac91e27
+d149331084e5c29af611b2300e4a8134df16e08f b0b2ae58437eafebd4b4f00f9f4654a5dc1161f8
+3294e56c014180396337d7c6abe8eb302d8c9c1b 63432a2077e3ca451373538c73644e7d09c1015d
+f04c9cef46d5b5150a48f6702360ccc4fef62461 8f911d80ab58aa4c8c9d58020ba53ef610379b25
+2db30f89ea54c6f050fa1bec5ea23077bf2b3df6 49f842b764d4ed3e9a861d5a4e232d41a986c4d2
+391dbaa934ff31c995ac3ef4e40aab6dd5824ccf 0bf447f2ea1939618e3f16032b019d19c55968d0
+c37c6038899a17e9156fc0afc3e37bc21ea6ced4 60e310ca7be953d7deb140087c4ad5a09bd0a900
+eaec78558234b001a938b61c0be5b880dbcbbe1f 29e110ace81eaef6c12d5b548930a159954c53e6
+8843b2cbcb4e6da280e60797074c832c0e0bdd05 a60068f1c5ce753255680594a802bcebd8ef8a56
+f35862fb0bb033aa19ad9b50a4591ef09b4ce49c 35df09d568b361d6683dd2bb6bfe6ea435b83123
+5681c76576c86f6f0cf638cb0c6375d04e0a80f9 b9693244f38b6c0a3df988b142b81e82d0ef2246
+82a8caab314112add1a3f665d3a266363853713d 63945e23928249b4a7822a7e47919779ead1fab6
+ad1ddaed1933f9d61fd882c286ff30734a078e8a bce8e555669e831c31aa22f97ba05a08fff035e8
+c752ee23dbef53ad84f56b752a7be987a3cc9ee9 e3f87073395624af559c19282e0e1723fe09c116
+3f744311e668b450988519c0d7971e693504735d b553966c53efe248c57272d22cf5bc9a4c2f10a4
+7efbcad2ce6b6f540edeb628af8a7e172e92f825 5f3cf9507eb2d0e037d1a9b07c364441cec6ebbd
+6a574811bc41b85de1e90218aa0f5b36b9aac8d1 940d782f486934378d9db487f7f6b143916552b5
+2dd8a270470def64a0c8d0529b0e41dd2896cad6 a88638d8deb1bb4e3b47381f430dfee40451bb13
+09bbdab209d442e90e869dd43c7e617dc5c68a2a 2ea4b380fc28b1ea0195a47e66dc9c54b50d312e
+8a7dff881562c71f794b8ef3b9993cf58f30748f 8b822e596f16c036cc3948b97a09276cc5df753d
+a870587664e6c65a2d432e1a639c8c9a231e6872 a01ca1b1c148cef4d34cad0f0271577970b85eb6
+6073486e1cc6b75356cd91c54f86121324f3b1a5 290371766c0354545244ca35d97653de8389eea5
+67b77c385b5371463837c38649126399d31495d2 985f412e33402c14826ec8a348a833accd0c18f0
+c4056e6e4aca5c4b7e4b7826e5c5253a08efb778 1edbd5fd6ad6d9d03346d92db38829add1962300
+1ace3f6a40ef175025430d059a7a8896b8e882cf 1edbd5fd6ad6d9d03346d92db38829add1962300
+fd71ab51062d4b3a5675b02c5ec6170edf96d3f1 b9ba8a4107877b0d9a51eb3682ad7eed958ed380
+966e5e32573febd5ef31e90079ef5f60fe1905de b9ba8a4107877b0d9a51eb3682ad7eed958ed380
+6d0cc57c2d2a10a98c08733f99756cb500d2a676 a83864a0a57a468df18cd44c060233af3fc24778
+c61b0bc5ee665fec5da5beb10fd7062f27c42abd 0519d91488302ceb1e12474a95fb32f90016ec11
+6ec86ad012f464c8c818240d183405e712664a88 d37cfef0c540eda723a27b60c74f971835eda568
+625ce7a204f557ae2fc6959534904cfd5a03180b 1ee0d0a115098d186d07b39ff6a1537a1082040a
+1f05671b6b22853be9e40a0fb36b412b6b1b1da0 77d652b16d8e4befe2133397c8726beace644e44
+840e862134b1de0d70f3171dbbf413fb239a62f5 b9ba8a4107877b0d9a51eb3682ad7eed958ed380
+31576cb9bb4de394fd462395843d06cc9677ea6f 77d652b16d8e4befe2133397c8726beace644e44
+9190d58d6edd57c79b3e54748beb8e0608ae1f12 67d466a6a63598ea3844da6bbdd1bb2aae7cd616
+23aa96b729f0cb500d184bcfc72b091a12adbb6d 81b40d286fad3e62b8816d0b2429617211f58ae0
+415cb334e15137d63750e59010953b9aa0f65e09 666da26e937295366f2cf920de4e31f170f7d3a8
+0f1a6d3f9c0e0fbe60b9e002614645abe4a44c8a c3db28828f0c7002ff61fdc9b4d5cd4ff5c0219c
+c856e18d635db9664f8fb8bcec41a49111ff2db0 0f02b293346f30a3a78514a658aac15913e8b3cb
+abbd6839d172441ca4af084db7a99197e2be99e6 f165a0dae3016062a29816c961b98a5e8da596d5
+fccb0b7b0f2830dafabaa1563115cfa7227b2a24 538940d222e3bbaca9e25c9c379da288e90a178c
+4ffc5ea0517d15bedb61ec2882f38d153b4d2c7d a7bb28f358300ad89c37bb631eb3b113341f1db2
+ae527f1eb238c7b5c42863e8ca95d51fa0fad40a e20f52bf5fc2638161863c4de80b85241618f079
+9b2b41046b1b446f688f2026434712cbd9ffd448 b1f06f5bd7e8911cc17c95a7f0735cd43f38c622
+ecbd94c2c41181c33ca922cef69c2d85d9aa023b a6b123ed80b832ae6bbe2e47045ee7114240a106
+196de7061b4573818c478d4c2949aeb62e01069b 01042fcec2e14bc0e4b1c0b13bb282e53339f1f6
+954d6aa2b57ad8ba72b61eca91aef4b7c41d10b5 cef5b38d0bb27514216b0556f47574a52ab60942
+c4cae529f5fe8581a3db9ee9005894c8afa53c3e bc84e42d55c3aa55f42dbf39ae06ad7b86be867f
+d44de8f2126ecbc9a69c73c593c39e40d245ed2e b60694ffa7f7cf47740843d11ca7c3fcafa79e19
+315cc9ffc3df008ee112d345a2c6ca48172206e9 d4f2a2777e17685a97e7e09cb1173037e1ce44dd
+6236f44a550795ff62760b9d6f9e70e685c470d6 ef74e3463fcfaba4b615d1fa21a3ac44b3a509e8
+235173d0ea573229e18203ee39cc0887e4526746 7152b4e57c5ec0b098993cac61af317440e76cd9
+bb6fe9b0cf23595c6b7126a8c8545487f49ce263 de0bdcf9361df93f504d231e4ab458ba5c5206d7
+1a620c34dc4e941bdc4d71e3edf9954c70f6da7e c2a0bbc7841c2f62288a229049ae1fd92a93e774
+1bdf1770eabf153c7da3f0ac5a8e162ffa42e747 908b3d1e0062dd1da83045f5ace5165053a0e289
+2873b514517c2a0e8159a9d49069e02ba0048350 f8d37d5ff911973f6602181bc3731d8689a16347
+e36b26d54343ef646f0c0d8fe0d6bb60c1bea3d6 719430eb370cf643136a2be57f210f903ae01b3f
+15be465dd6a7be171404f9fa213f704b3a7b27b2 c95ab6028023a829367c992ea773026ebd01feca
+cf8572d48e29230d9b1f44b150f8634929db76c2 4430dce4cfbe2c0abccf43683d581ba45642f06e
+fac6c3b4064bec2f1e50dcd3d093e9caca034848 5f6849632bcc8c67679b5e64d8d1db134498cf0d
+84cc9fe7ed29b1c977625edf49c72c579d640297 4e07ae3a07f9209f70363ccc4cde2545b8846bf1
+13828ba500eac2821d9ce732ebe063444669cf1e adbd9f1ce3117b107146a3f3f1bb7f23e65cfda3
+0fcbfd65ec63d160eab7948be4160ec0fe9f5c72 4d086c574a90b6cec523b64265b00ca4dd4f7719
+fe71b899e4943eba71f8f72fb0edc92582cd2d43 d31bc0c8ee847d60b1aa5fcc52c86a80fa23a4d6
+5f9766732787e211492b897103c3b2aaab1b80b7 d49f8d76da3fd6dc0d2df481b8fcfac63d92c568
+7c4b8bb611cc708071decb437022a30d362f7052 d49f8d76da3fd6dc0d2df481b8fcfac63d92c568
+15c260289796f6fedae25d29334dc3d30cd3ebdd 9bf8bb3d258924789e35819fd1bce20b6f177c61
+f667feaa41136251004a394da942f7bdd6030f6a 72c8abe029c1e7776e49c61918c578bfc6481f32
+238ab3926c1c9886d638ddf9d73450604ed03f29 83f8b80f636a989a8906f3a19e9f46c8cf0f3699
+c2b9e5cc627cc02c2a680b25c96ae793dee2e3c1 83f8b80f636a989a8906f3a19e9f46c8cf0f3699
+d1e8572a2cc8a3fe820de9608598f6dd01a2a247 362de53f4ac149f4b81f9624cbbf53248d4783b4
+2f0819d82a42c183d30797678bb20420cf4d90bb 362de53f4ac149f4b81f9624cbbf53248d4783b4
+a2b984e5a3c5ea16dcd914265535fb725ce09904 3704962e0c0f9e83775ef7d7b441b5ea2d8586bb
+c92527fe9d14d8ee49532988b6cb0b4e726a6027 922004fb77e6e56efba4e27c89042274ee00a1ad
+90e1569f13f3513d35097918e47c81a9493a81da 6b7056cc1178d928a9bf024be22d533178f15198
+109eb560b3a2e7f3bf45c9a1e8510a4e2e99f2f3 6734a14eae6fcc98aecba9e9c41d1c88168679c2
+3fbfa39bfd2c7a4582d99c7c8208ff0f039e6cd0 f2d54c27f14e76c16d8eea9a1a648e7e13de7ffc
+d9e91d8e30a724746ea0ec3c09b42b8af0ddca68 bd81e1b65463deb6aaf47f6b694446148bd7c12d
+de049f1b176e1fc4cfbdcfd473bd52b244c3bbb6 189a5279e92523f6542279209d99463543f32873
+5342904155502af261035f0f0e8bc4d4155db620 c8e0a5e65e52c79a95260b26c8a338110d752fba
+7c05c843bc934d1a9ab1f881635a4a9cefc3efd4 cdb89b3c489d7b8b5414cc4e5142041b7882c99e
+aef8a56b56b226c68dd7174b67c8f2ab69853ee7 a01fad77a5ac71901f2ff0eb4da75780ba3a2587
+0071c05899a8c26a269743d180ea62436211ade4 7e3d886093d497981b191c2944188cbfc88bc53c
+d6f00acc3499fff8bbf5e19b60d1e07d63230737 67cbe9600e863f5a4f8450a08cad4420f6c80933
+72e4c0003917149caaa2e602c658c6259a5ea57f 22ad3a7f7844eed210420f12140adac301c16bbe
+c3b8509f465a4d775e388a8cb9499b5b5054839b 51d01722e18c71c1b1d00f8111ef7d3276cab1cb
+5aab91ac396f39cf418f8550073f968bd13dae85 4feedf6933e7e2c57aea7ffe75ec2821d61b6bf9
+169798cf432eb67b570268e58cdf0f4b6495b27d a8d04c663ef6fe15f62bdcc18ae8241597df12f0
+e99c984b1601a7eba8540ede9d086794ee51eabf bad88556f9d340d791ed3e690e57d8c163830dd8
+8d0e27b7e3907ede2a25b60a61f32f5271ba5e55 eea8ce4fd2537be675f3f7607efbdc56ecaf5da4
+b7a8e3345d49730a490a5b2929785d7e12bcacd7 fd2d4c284ec1b0184942602ee5a03a6ac91ade75
+17a137a8264c631503fa481f8df6b075abda1adc ebeef58c1bb534f41fbd2f793a97c087c1b6f3ba
+ab84be3bd0903436da712af37302cd9367d7d00f e43ea19722da1c202cb1d2593cb2f83e829effea
+c77ed180f52d259b60c47f4f6d4d7d39c9a143f1 d5608e3b1d3180094cd767b97727289339dc7aca
+8f43234a1b5a1a5d3979b055c8c55a2a809e40ea 40795ffcb1f6812fe0bfd57d888d8a9b3cde098f
+4dd10e1f3757d618aa46e3e1edd1119c68c7f9d5 1e2449a86446d417de8d7c2a6d5bd6c37346969d
+53a7dcdf841a34281868eec13205b30a03ba3273 315f1ea92ce6a84aef274f64b4c4af9ae627a149
+b57caa111c1c07523a407989a22ad58f20d6d7dc 543e90d74ce5c1efefbdde74f89355ee8aa0a7ed
+2c377a310f410d28f93a74bbb52a14c8a80ff792 b00736c236775611100d7b36d5843f0fed215ef1
+6bdd95115ecad84aa8527760a1ba7e2ee53363bd b00736c236775611100d7b36d5843f0fed215ef1
+74ccfecdebad840586f8041325f74ae6d6b5e54b fdaf2efccaae7724dbee0d70f603361308fcd62f
+f4ce21265d6683bcb7ed8904f3b052f784f47cce f4dd98916014e6f911dadd58f04dce39093be4bc
+a3847c84e32533a20362d5d4843ec50f0631c8e4 f4dd98916014e6f911dadd58f04dce39093be4bc
+ae9b73e34635591b1969013b29d6ad3cbd144949 7842a390c6e23c790e4e2ff2bdaa1da44d5c7620
+f55b440eaec26988cdeab0f2fa3e7021a8440b2e 65c13d3f97c60496a2d84c7ac0e94efc446e4d71
+5b14008f74f58047989f45331b7e996fd4ac096b 4422347b28b3743417fcbebc907303fb6ee519c5
+52fad6e9671feef2bdb04eca3423174fcee2d24c 848153a227efafe9cc2dbdad10fb87317be3d94c
+fa757897b3484e49dbbdd9bc2785834a09579436 89c90ec978dc4c0aaaa2685d8af1f0cb570834e6
+a05f68ad011bc054f98c6ee41b18a19191a45f27 87c255e7ff3269df481016daf53c078e8e874162
+8930bf5d29a5a4072699e4cbee02e78b779b4449 c63e4f8322c1035d117508f1dbd14e7287623137
+36cae35bdfca072ad656b72872f55d019ca5b810 8d8594a7c3755229d1c106ec00b2876b0ced213d
+eff64adeb09789c5c0996c1ac0f3d6abede90f96 4850c2b8f9f3d8a08bf89bae453f381178caf534
+973ac4974beb706ccd5c7880f443e0f4a3a760d1 fec74e36cd32986e5b3f55e7c0bddd3d6ac9a05b
+84efc68b52b6eb53cbb01e1d885a509efe9a9e53 bf556d557a539adc6286eb65ad30674efe5a99c1
+8c83f19af531ef3a5931593a30d13581c769f3c5 eff0db5c056be59e10c02865268af7b28cb202d6
+c559950de28b4f378b7424f7c240b2dda3c3f85d 8e2ffdcf0e8a56d5d261413e767a6e9693860c29
+5afe73a0e4d25455c0840ffe49162ae0e7b5e057 e21e90db552e7ecfbe6b5a748b198269dbbb18f1
+1fbfc3bb08a8cf92883182c450748cbf7d452619 3ffa87f5a32fb51d2363c02555a9fc862bea0632
+2825d756b09a97761a48ead720a454362fe51a56 afa4eb3abc55a9864670395d25638139952f15f3
+b7296082e09c253222883eae310b36c1f5e2a98d 557b6abdfba2769cc8bbfaf1314c936544582954
+bc538b1f30d55f1a1313d412427419ba9c9138e2 d85eab9823df04e172fafff98cc52cc0a2597e56
+0f83a7fc5be42d74ee6407d430df3941d8a0d21c f07942305590d4c66e4acaa7f871495e0470e806
+f846a5a3443f80678f05f895188cc22923beb9f0 f07942305590d4c66e4acaa7f871495e0470e806
+21a93eca6355d3364570a5411e99c8c8c3ab0c01 32a20ae97519e1a5ccb517b66b552f2a4c37d010
+4362f0d3fb9428d7e50520a15f760d395982fd37 8265ef341b613e4ae321cd74a83d2853bd6a0b5d
+9d2a0cf2de2d78d30c280e7477444040ca661ca5 afa4eb3abc55a9864670395d25638139952f15f3
+8c1f8411361e6194724d2c74e420311084b20c7d 8265ef341b613e4ae321cd74a83d2853bd6a0b5d
+465eb420a71a1f565a384cb2f8bde4209702da2e 0b163b2f7e320e44a0f7cd6a6b2256c7f02b344e
+bdb33aaf3e7c2b8bf60c7460b90752a01f064047 6d9bd8a407fed6a7193c97aacf6059ccaab8a64b
+de4223cd4fc7959d6b218e724a1d24fad0999126 b48f3a2b86a69ee8feb7a180f19efb0ed3f7a7c1
+ba79c5934516af27fff01a2b9db6d98d6d2709af 457cc6998a78e069600289dfd6bcb5629c51edc6
+566c9ce51a427a98d2e62acc9e0001e0f90c1e6d 65f148935ef432b2101fd9cc1b5e51ed90b5bf93
+19994d211755a33958a173f6ef7c1486f27607bb 83fe95abcdd7451ecb24cfc8c3d188571be08716
+89ccadfd47bd400e812a3abae4c13d28da3fb303 10527520a12535ab1ca2aa4dd3e25199f3a4e292
+bddd02da779d57e9952a5715e39511ca5314ee12 e0f16ca6cc0622b1678658f612f9e59445656a9a
+97672799431aad3e537ca192c4c4827c03ecc229 426795e433dfa1fde566d04b474063d31ef93eba
+9f3db231cb02026a69ad7972a3eae228c4881cdf 686ae6623a0bf196ea2fe10ac7db32e7d5e88d46
+d9e92a47f8781a6a5bcfc72098ad69ed156cb80c f1dc4c657f9b5001b755c667415e1bfdba5a15dd
+e546a936f13831791eeeaa4c3013a1b44eb69e23 43f2bcaf83b19752aa019e03498765a5af6b5b76
+0d6eecd8c7a9be66909d4765971c174dfba1d18e 765ab05cab70bfdef33113cd0c5d52d0f469d1d9
+592e162c3b87fe2471983d98db96d9d7d77234df 3e6f03d4c999993c19a71c72a767dd1851d0ca50
+767a61ab7b287176154be48fde1ff54ee151f832 d20a155599c73626cd956d4485386c4ad0d15f48
+00c350385eafe2e1a543db3e116f1b0bc734c8ba 0d7678c3af30b1a9c07097e0b9cc3c34d12e9ff9
+a248bf4d5ba0b511027c0c5273fcdd5e680063bb e18d2538f58e025e06d583596d8630c1eff6e285
+de96f4c40d8e65dbfafc090913c3c7056d682b78 6f1b566b01224ebee5a5bebd6ec693523d898c7e
+dcb8ea55fa6c76d5d858127282b57dfaa4c3c0fa 3844ec6bcf7ccd9735448325e47039b637bb5130
+a28e241974399052e80e800257586a1603316a12 3844ec6bcf7ccd9735448325e47039b637bb5130
+7705e45e171bb245b2210e98901e7ee9b02ff9f9 0c08eec88a3d89d675de5e7add14f4915365a319
+6a859e2bd73a6ff4988f361f1755001e915db0a9 3e2072a2c2a01c2b1db6affa1c04bed2c5dab8cb
+fbaa663e7d7b26bbe3f00476d121f0b91772b97f 6cdf0975d59bee4f3e5df6dc53b5fbb22557fc77
+0784b74b3f5a65aa9306cedcc0458d6d065d5b1d d9436e3befa3522f33a04628ad59ac02517a89d1
+59ba125d99bb82d12731d8da57e88e62e5195cc1 442b69b6d5011df2bcbe60a2069fb3bf6274e267
+60efb3ee114fe4086abf0580964a4d308c43b2d4 65511703c747342c0d1b966de26dcc486ac08955
+9246c325e44ea8bca58eb9bc0088f04fb34424b8 74c2596fd5d8e679c7d17ea25d1a09a39d17bd82
+1deeb1909a413d92224ef1c22ff7b65d45ae05ae 91b4507b2e4219cfb6964260e2b32262c82f74a9
+1926e24bad6eaecd4239bdc56a892c7e0b69a74f 42819414f1b683a879770d145a9c49f7d7dbf0a8
+bff0fa86ed1954bca138b26cc81ce197cc8a93e2 402bedfa640eeb4d5b9ded0cfe2cd30bd1ffe3f8
+fd43d0837d955eac7bbe2cd356192836a0db762d 54c944d55d6a47e46471978c35d44dd155ebfe43
+32d8fae6aacda9a2b184effcdbfd45bb10f2405e 54c944d55d6a47e46471978c35d44dd155ebfe43
+e89f624241232359146aed380852641e7b93fb23 f542eea5fcf17f0ed45b0ca0cd765046544a17b8
+e73bd1ac7f61b3d099e50e44bbae5e5f1605a1da 6d05e1b8d777c2ded50ef3cc475fe7988d3ad811
+ccf5405a080e4d0bf3db42fb835ea6467b8d2e41 1b1d411b2ecaa759004a04b50d01bf50c831dc2a
+2d991bccee29df6aa2ce387e05be4ba434be555a 5b26eaf096d50f394eae6946b3335c71bb57df20
+7c0538a44afda024f7c3bace50f0c4f74cb93c3c 8b4ac186e70436ba5bb51645adcb25599468ae3f
+6941d30f7cbf7a477a7e66798749c1c855380a44 66495dfed9b42476945e9a2b51c24336503afc3c
+227272881dd5552634b4111dbc1cdda666563e9d 8ffc23b66edfcd9c5ff318eebca99b127e8b3ea7
+2d96ead1edd740c18efbd7c53e687b50087efb4a 84cb0c0c2b8883bb82db04a740e455846db85c34
+577d5868f2f555245fc821af64a1e8d27df5ff1e af8888a72ff0d3685a62ec40b6efd80bc701654b
+db286891668848d126db1added4187f4111a9e77 599becc0b4ba2fc27dbaae7340538c3d569b6714
+f2f9339dd82ceb1ec01d7db8943cbdf91a15f921 44466101a44bd4bce5f198e5b7ba743d88e33003
+089af359fed8042c1c75bc30fcdc1089831a7b97 5c1b813a4671afc208fc018ea313bd3bc63a5dae
+c818012aaaa7a28d2bb7df69b228e5d6e08551ba a6ca5ab016d726eb7af37bac2d74a031118cebe7
+cd4df668d17af1bf6ebdb0921fb1e8ca92087724 ebf31a27eec80339fff668d8f6d3f8f9f82734b1
+c8de8f4a9c1cd5ad3a1c3a15ac1bacbec471d1f2 7dcdcc82cec3db5225c1f9bd1cffeb4e4ee4d771
+ce680808a86024f1fb151e5eb6a517c3940e43be 9a6ec9c090bd8db007a420390f542076ecf02959
+485ad17d490aa9c8ea27f91af98bc6c470950497 34d1f8f6a99470a210d8f72cfcf0957f361180f3
+296e6a45f49b99d43420f424ec0a11f88602caef 4149c9252646e16768f772e08a494c8a990048c3
+5ab8d2168fe51abec138756de39ac259f240aebb a61b637074d69a0b783acaa69f43be09d65a02ba
+0bf5d5f12ca81a403c4ef201fcbc9d8e7c6a7ee0 1faf7b5c0403ba3a8e94d59e3f80cbab1c1be970
+643654198778e07973aa3fc4ae32d6c90082792d 0fc1faf13d7cb30f7159cc4d459da6ebe338e97a
+c8609b59f08b0a75b07059abe165be9c90c7f6bb fc24f6428ca489840b6d2eeeb9048b8b6a323ea7
+c6eb2672b50cdab0fa8c40b3492660b66749e1c7 599becc0b4ba2fc27dbaae7340538c3d569b6714
+e3b072fbdaa3897d72b45732746188d6ebf42a95 fc24f6428ca489840b6d2eeeb9048b8b6a323ea7
+b87ff960ec98b22a5e0388a4f4aa536deb4e432a 31ade6e8e54bd5bef8ea28d8f9fc4163c9ef4e70
+b1c0e05cbede7bb286af3de33cc6c360860cd33c b70775989e687c9cf0f86523bacded2346454896
+8b61c175ed4473dd19c65312677698d4c90817b8 b70775989e687c9cf0f86523bacded2346454896
+76dbc4583396f7c7ec7f1739a5e64c080e139325 07304583316d00c056818df885e55671bcaf62e9
+9189dcc58778580e00bf8e9e62e5bf2ce3aac62c 626c60c4ccd894ce5a3e824c4bebb0ec8d65e137
+ad79c2ba4b4b3838f5a65bb9358cb0d0fafca0f4 fe2fcf64fdaf2dd7fc6572133f9feb4fcd0d2026
+f5da145749433fe840df320da0410e9a3037b559 f08f661818aefe857572d2a4bc94fac031ae53f4
+4d06825d3663d16fdee356ec73ec7f6dc36a7517 8f9c53959f4c2f4fb4239a86621778e2a7128f82
+0ad7338aa244de0d3004c6e627f1df4a7b81d0b7 c53a8d06bf8da05b8b8fbd9e9a784f0ffbfea70d
+d691cb921e00a4696ace92ac8eb61433ae88a6d5 662c9cf03c7bb0dc0c682728d4cd595e9a120ade
+40ac426b39d85457c1992b070055b0fabec5de13 b236631047748d5335f4a4e1e3c1404d9a60aeb6
+7b6b58e83d21dcf2c0755ed6b4b57ef94750704d 7428efe715e1cfe4fdf21c0515e5ccdd0231510d
+eccc1dff5f7ffef27cd032a6573f7eccb4c69f6c c72a96980f2e849446cd58d943087dd532c5747d
+2043966f64bd84675c16719e52d3d71f30c7098d 30150ef7f72bd4d5bd7e980df9e958b43aeb9b44
+b74aa3b8da5d91f037eb06cef4faaf038dcc12cd 9b7574808beaeedf95535b029cb851b6b372502d
+4d182e469d6b4d64f8f5fa8f4a170c23431568dc 9b2269b8d9d7adfc924ed65c15ffc0f334bec621
+64380692dc0bbf064f5e3f09656bba65e00555c0 ad08b9c7913970f77bdcd553f435fee7b00e7135
+f919e64131630db8e5b009c2f32bdb5a7e0c8755 01c2c6ff3cd5bac7230ec3a1ca511fff15073b54
+a5f25c4c91462bfecd921a5d308b9606e81395f0 e03d92574b6bb66d46e8f2abc2b5ff7556e710ec
+c251bffa21c82eee5bf7543e4d4b6e2cb42dff67 8b6f4327152aea1d317e9bb42eaef5091c705bc0
+ba1c0c8b2b3d78a90f5c6aa1fa4dcfd65bde311e 769d1ca29b3a3705723deb6d0beefb94fb96db82
+d85210bc6163defedcd497dfd8acd5068c761408 e20eeb01d32357ed56eaf70c5ec39fb85f800161
+3dfa9b41f521cc1dc2c24bc8be4bff084a4e1de6 65521a8786e9a559112e389aa4fd4840d862219d
+e0b6ac16e6ecae4529a81f9b8a2f34b59aa41781 65521a8786e9a559112e389aa4fd4840d862219d
+9ea34d4dfeee8509824951b5a47fb304e5ac4df4 c770e6783aa614e6c40fc885a5f6d60cc677c717
+06906d4671cbad38f1e8e86f8b465bc181d7d487 ae549bcc8f15abf7555a2ed678a5408873c4abd5
+784fb6e9be5a8aa14aa00dba701561f8f4b9d4bf 34d4fbea5d6a175fed3d3e22c9fd535f0741b2dd
+056ab032429473103e07a1521de3108040e4b8e6 badc9d4779f30fce7f9891c9b8e2b7b9114833c7
+064c71d9617b3135bba90968e073831a8dd6cd6a b00cca90eb8ef2a0100e343ddd7d4811f27dc30e
+1a7553a174396e05d4de5e13ac7eaaa1b4b8ba5e 550c47b361141b9ef3fcf823bec87df52eeef2ff
+c8cb20bf3c4732faeb71f6d9db4da1cdd3eb1927 8b4ac186e70436ba5bb51645adcb25599468ae3f
+31cbe59866c4bcd8648fea8e28c7a57daeced7a1 b70775989e687c9cf0f86523bacded2346454896
+e084754b54007a83c578fa0729e48e93b36f9871 550c47b361141b9ef3fcf823bec87df52eeef2ff
+44334910dd6695d30476650542298b2a6b9845f8 c37ccc6b67e0d5136ef6a7890fba02a9035ae765
+b9efe3ee8afb35a6f3d6cdec02ebf3388a634c4e e5c487dd1b3d1249b479bf0ece6e72b17d977192
+7933c0fa695892c37a7e4fbd0309152c7b550e60 5ecac4a702afd981a9699a1e5793135f7edf77d2
+0d09cbce92a3af50373e8438469c2356c66a5152 ee887411542678481869ab90a2404af82249dc4f
+cbad93a9864a7eeb6a6162d92eb6ccd64303fb91 9f39d310992c4dd40bd1310314e2f1d6c846e874
+d0832cfa71c698e8001ac164cf8f1a4a469722d5 480854c03ef3f094498d182979ccc5198daa7586
+343298e8db32682c28a39ea245a7acc13b11bf41 a89580c0228a02564c7f01ffd03d38a514792a25
+2f725e0fc2b7c15e8b34ad513dc1fe49e36e6d09 08259e1f7e9331e2e4a5d9ad80b2a627dd3abcc1
+5585c0f9fee5f5c950518c0ee01a8ac5f1fd55fe 378a4bcbe1b96d65e5c3488f23c0f65bea65ad21
+0fd2267ca1dd70b2f4de9daff3975f56a4d8dfb9 ec30051c8cabc83732abf05359facbea94414259
+8c4491917cd2fbf9fce13408c96f3a0598b0fe6f c0bc6e09ea873d32d4ad245c999df8f64310cfc9
+5dcdb66f404946e512103e5b3bf04200383544e6 114f1288e83b85a39e598156aaac5a67d39ad0ea
+b73f47ba2e097ec1dcd9709d39ddd1dfd67b5697 9d4977b3a5eacd1540e48e2bbd1d1c80b1614b5d
+8201ceef62c9ac8505ff5549ccaa9ffdc0643159 d34c3555b26358e7bccab5482d5906d828cbe8a6
+36b6c2f5b0127e8b7f0bf29931cbb2e8592bf356 7e9ddf10cb962875f172300f82798131e8f60bac
+bc475cc1b195f492dddf1c7cf254d5b83f3c1a01 eb0ec7552a05a279c60046a388f9df1f98d3702b
+2177a5bf30c8a50db8a9dc91e2af228c3d24490f f4e3bdc595357c0cd23f36c661624f47e8a45e73
+6df4797dd4fe39a8ad584f63d5b8761ac78f8749 b58e7c46ab4a9cd1c15128caaba037b3e7cf20d0
+3d4972136b0923ff8a30a3d08caecd41ca06e780 7f900c921c421dd067715fc5323f0eb41043d4cd
+9e9d18241742b1d68c236256af522c0a81028e64 1beabec393903e521b900cc684c26180dad7b467
+613d15352705cf0882714300523ee1c86466ba8c 939cb1a792da3d2065543d4220d6e1d54cb23d8f
+f1eca3d4cd8ea7bf9b967d75bb5abd6572954c9a c68991c4f350e856fd28add7e61c2f4d68fbe734
+6d9d50c277e5111f96d778322594471487fa86aa 33db7fc74f32776882c959f4f30cd8e8fd091140
+24aede2d55d733047335912f9931801e17ef09e5 6527ee2a69015fcc270e4cf6be7776325016847b
+4c9b0ca89dcb34b0f57f7b5ae94483e1340c5c46 e126f0af65707cc482714988ac9f154dd0e2eadc
+f9acb0e7a350b3ce2dc67366e35ec52a66e4e016 0d35096555c2cf827500836e12a400e98968f379
+0310151df1f6ad2b471d1d038f723b275cbf0ff6 a4464eb9bd08d56da1ba30e0bb21b7fa2622579f
+f49378384ecb14c2f830ea1f916c360dd226aa39 57e86cb0713c55f61e75855bf6b8763bb36c1177
+c27f1bc7657320995d29926d3f447734b712d0fe 238328de2cd0564df2e74cb147c351a29069a48e
+2a2f3d6eb751a9342bc6f74383c16b4ac4ff2d8b 51997e6744e574fdce0c7ba599037a23136a3c3f
+a70dfc4a41df0b4a4feb1fa51e0aaf960ea2b910 45f901f62cde3537a443885506fbd4851d45109e
+df08c88ea9e208db6872c2ca6d00ec9c95719dda efc9c586161db822c3cb3c207145011b9564bcbe
+908eda5d52ebc2dd7beb6423fbcbff1676f69ddc 699fa81198635044a1c9b0bf4a6a9099649f0ee3
+071fcf821b76ba3b41eef806c45522e4cb50158c 22f326a2fd311216f42eb5972eb8011d15683aaf
+61beeca9cfc535395138d75e24812e6d4cd3dc6a 801511ec8c6d62d6e6fd8bffd2f2c2f1a7b214ea
+74ce1a96b761a0c266363168ca0718ae13447e1e 01814c6ad472e50d14b80fc85dc06c25d0a49f0b
+9f1855c5812794097df374d96411a50fe880a630 965267c72a5b5da9e9f450aff2c95feac7f9dbda
+2504253ea950b0d1759727b475091b868f02bb13 54c78f3ef2ddbff5e5d7ef6aef98445b199cbfb5
+9114aceb245622f3b7dd6b24547a656139b7ed18 508733db24879ee71a86343dbffa55f5c03b1463
+d605d2bce112954c36bb5967ed3eb11ea0d7e6f5 4d31b2d35f85937fde81a3b02151718ed7139251
+87096606adbc84cfc577e33b5b14fb76229cd69d 925fcaadd76b2c1158631576efcb4ee5ecd3d7be
+3ad0401e16a55284563ec29c6e29dcea70d5311f d99bdd17b6af2dcd045ba637875171fd38b37d31
+35dd6bda7f24630d17b009cefc4ed551b8bec616 89224b02aff56dda0fd2a48bb577ed504e34f641
+0807a6c3cd064ee42d873a7a420ceb1c0d066d53 34fa131f3aaaa156f1734c92e7b9f2470ce22138
+bb8be528fb572d77cf4371857bfd94b8a8b4c36e 46aa83f3307dfc5cbb47eb47d4ef6472b86653d9
+be38dcd75001513b193d64e2c2e504d336416a65 9001fb41f7d7ef34479d6651941a58479d14f253
+4df44e70aa9dae9ae86cc37a591147c53663228c 1bdfee6eb5340843b7a663cffead6a1110d3ddcb
+7127e9a83337e3656e2a15927fedccd1bc61d9e9 414a85ccbd9ada124382f490743a7f723ac9b3d1
+ac6794abefe55902ac63156c189140f56037fbd2 c7e02c7d733ae4e82c96e417f6d024c3f14407b1
+6840670f4f4b5f1db02dfa7fe3d24df920babe64 a793969fe9d4fb579ec0d551a8874f7e23157575
+55401d0e4c297342c9609f1f464021814e239777 e13b06fc149d5ef6aa811571c2e1c3e1d67fccd5
+66af9c110022ecbe12be97a5cc5543de598e6466 2fbefcc544695a60aba712346a90f154f30e533a
+9e7c17ac307c92928bec12dd7ac53d126aeca879 7484f7468c6cb7e62a73d871d475d538b6842f3c
+aa9ea9f2c17f26cc9724720507b1f3ea1eb653ed b18bd46a8a7c75dcef2cded996a2101ef87afb91
+1db2661b684cae4a44de6222acc8fc082724d62f df9e51e42745cc3ce99936a3a3fc328e731eb707
+ccd8cd3bf27226c7b552f4b26462d0d822c1946c 335a43d8b17b7a4490e11245e41a0f539b25c355
+02a885b907593a1d7354b4d2d6df85d2bc56ff1a 71dedca89e067621f77347f9096a990921d5fc2d
+caa4e3fdef7a4ebe7ccdc48ac0e912ca924f700e be5c6c7515b89d48cc6906105d05410a2de2a0e2
+0239f2ab11c4b0e634641dbec2dca480f67367e3 f084866030eb7a2351615fcf925b55dc18ed98f2
+10ed92e68aee8f61655d188279c5fc4aaf76c603 1ea52b90d7b00dd6750ccce0a14c5eba97fade26
+d4965d8c0c904a9fb60b4aedd25ecdb9e878f03e 41d160a3d9521407ce3459905a6d71ed45cc6b2a
+c1047aefee5476fb24f6ef42a2d3f00f13c95374 e07900106c35307288fa3b67dbeaa6d750028854
+b25aabe369597e902a96539f0666228f2c470d8c ab2b8ebe237d3a53dec40c1ef9648d60a8dad3fc
+35bb30b91d698d0f2337eccf06d0bce8995fed0b 81b7885988703a6b57557c60b2f80d0927334c90
+dc989c002ea7e579df248a4c89490a844095b971 d9da175245e7f1251680b555d574b575ff7a7acd
+3c63da0cef9f6873af1c4a67d423806980aebeaa 0af87897b1a976d693858818e2cc85621bc2f3e9
+92b51ed17bac45ccd3abd42791dad7534170a486 473d1506214743eec4dacc9bca6b5c799d7a0200
+efda781d3ce28098b5f45198790dce31d073050e 31419757784f497cdaf973d926211655a3129406
+060e67e954c65c1550253526dcee815ff5be4f96 7b7b840af0c81354579983cd1e971bd2bf5695c7
+431cab9e0c024b6c0826e1bac749c563dd0a4175 414a85ccbd9ada124382f490743a7f723ac9b3d1
+cc793bc99521da3cdae92f24f712a3552e22ce50 4f8952f7771a28503121ae376b53b6558309f246
+502c622331cc7a2d19f8181b1ad04324f12f4791 4f8952f7771a28503121ae376b53b6558309f246
+898a363dd9aeb5d8dc70231487e0c3150e7fe797 c9abab2ca237760c09c1560a946f40aab2dcfc5e
+82214c16d34839daf7393e204c3691aa649fbd29 d2be12af843a219ee3130b44c9e71f23ce744f7b
+65d90395097c480f59ed1a80ef0e3dae244feda6 0d8000bda1392d51c8b57a878ba4645c19e5a1e4
+30fad9ec5b8418fd8521bbc6f4db667c51d72a9b 68fd86e7eca1cdec9d7116b7c9f16032d9a96710
+04f722e5180efa4f7338321248f2ea634f69c8b0 4f3b69472fbf91a28d3751dee6cda95c941603be
+19a15f4b7d2f2fc552d4d95906aec0e2f3156449 9865792d27b2ecb28b20b955aaf6dd80436bb731
+36be29605acb201af1c82b0c0c68e6ca6b39b410 03fa926f17a2e88e90720025be4c0b934942af0c
+423c0258f59b385cbccfb435e1e0f4632a1dac7a ea9212ab499c828ed3a2e77c5641650989fade5c
+51bf3e9ad3f78e16adaf9935aa8b42dcacec1659 cff108a7e9ac58b7c6fe241ed4e01c193bb158f4
+b2461e9cacc91889a648d4fc55ba4efbcc52ba89 37ace35a78166f642c6b1332d28c33bb629f7b4d
+d70a78549f8f5a32ca5a99a8f924eb1b6baee8e3 cfeef646130b543dd46edb7bd1799e7c35fc046d
+42f606f9370e56e2fd9f29de607e27e3c86d44b1 91403cf02e90df21b6730e6d45af385bd5f13de4
+c235b7543c2ec1282d3a2810753f8c34ef7639f8 de31646260ebd7032d7cf8a76a031938b5b1c3bd
+f987ab53f9b557e742e36102f515b0b90c902f6c 191ab233d95b2571abcc7d44425a8b6242a584f0
+dab9f5623c11ad6ef425caad9f55ec922b216420 8a764d430334c4eaa7d1aa78bbe4b06a6977792b
+747a7f4a71047d583f964a2aa79e1a2a4dc289b1 d9763e00f33bbbc888c3224fbafec279beff449d
+d58bb2ff1c34927809d0a75df62d0e5508b3e47b 3c2fa5bc64f97dfe580d05b81400639a39710ff2
+55cddb473e3157181f6cd6fe982c8a050adf6a09 30586e5d8339f53ec04b36f2cada1cdcca7d2f88
+a3cd35cfe370369207e26da2bb1e90154c7ff89c 935657cc136ee68d031f650b976d5c62a148f18c
+02465c6b7874fb83f4ed09dde4486fe8dcf5b97d 935657cc136ee68d031f650b976d5c62a148f18c
+a56d12768d05f78238a0dfe469b13b04d1feac7f 4f7f2089d56ab07aeaccc319c1bdb61cd1365ae9
+f93b52e6089957a0b2cb75ca0bb1daac2ae86ec9 5fa2dd44a4d039fade856e0b94546b05b842b23c
+675f799ed62e84a4de398539ce020507c509114f 1929b829c4a5017e9dec05009260d5226db8533c
+4faf143633bc6e54a5fdef12927fca5801e13bb8 b3aaee110ef087f6a4ebeed84b4cdb1f3cba379c
+0e3edb2c8275a1ce52cea213ac3b6aa39db03d01 cf00a665539bd3c97bec12ef1b3fd7190671c5fa
+05a7eebb86adab59812d227035f61bd9c45c55f8 e85871ae98b50b9a2eed2bf3b54ecb7727edb2f9
+b7ba87a107333551ad7ceeff11d9dd32da926a0f d951ab808cfa14d6c1cf7779bd2a81d0c61bad75
+c0f7e2cf8c3006762fe28808ce4e1baa70da6ebb a88616ddc3ea1cc236d01aa5490e4f84610333bb
+b386bd816d53a78bda802a404e210c28b0d2b22a 04e2c0363738e2d8639ee9db734a980ab7365599
+d43b09baf3d05cad925bd4c037b2483f80432f43 c9acf067655119f28d03c4772d7b694cf275351f
+697eda5aeb35e65be2404ee232c9d2910224d4f8 a4d8af95cd3692682b7f4b0eaf623f08d9950060
+30881364281ee66351ed70cef43c8bf05d9c1038 a236920aa8f7b329b7f508918c7e861af0b345c2
+391d979efea86bce1df83362c7fa8a1d4b086e0f 8cae4d741b6c730d499073a4bee2315616fc73e6
+8d878ec11db02153e29d73c4dd697bfaa778b2ff c155ca75bd5fdc89f9043996ccee479bdcc3e70c
+31bee170762a21d0a0b4deeaca56faaeb791b52f de94051c83e2a80ca8a618ca77016ac3d92bc317
+fd140b93ab12a1abb40782af04a0f80b6ba71d31 c658a75aaaa564981d7e81930940b2b63a3428ab
+78174ec8c49559218eedb4f979397fd245abc014 e8aa49a08a756c228606768abd536afaf965e2a7
+a858a8ac4718f2649fffce58478b5232fdc58ea8 be2f102f71e3487d06cbdc82fe0ed61c6232ee68
+69b159bdd5c4fe8b490ef15d23038287ebbf03d5 1dacdf3f54d15e592bd1630cc13bb6286c4107bb
+3e7e3a4f80bf167e0728f4cf9a3d53374850be23 1a5bb66b13d693e08a709430ade30ef4cf78f712
+e0b29c08547cfd9fa93143120967a7200cb7c0bd 1fc6d2d289470e92da8d993ecac30a4a05f9e0b3
+ec7f6f4bd9080fd7d0ef9418880f3345f295688f bf944b5f02dfcd527bcd2aa8d00f55ff98c451a6
+17b3b42c70aa41295733b44aca30c394825b9337 d2dd7901db0b46a1caf4756b97f6d97e2735ce8c
+4d974478c570ab39174213c071dea6e8aa06c7db c0b32da727d1b0fc00ed70748c30740190b2d4df
+d189734e73b671ece058692c8779e2ae22344354 7ee7e24d0f760ac2ae37bd3db9007afbec9b14ae
+e34bea8c3b3851207b15be9f1c893b3bd4c48a43 98862be72476d77021788a048fc46397242db49c
+7e69019ca8671bcff65acd9a847c15194053eb97 af1e40d8d9abb7bdf4fe40ac82bf797b245d871f
+954ec935afbc027bed36b32758beb24a402626b6 aef72d95c737ed83fae5607883a267201381dff8
+b249a2d18c2c0fa64b64b9e7a09ba2616dcd52ee 5f54ac5640deec78705eb1918ad3632f8070a50d
+8829bde2aee92edb2657b37b12853e2f7d5f308a b0895db8fffdd9443c4a0b5fc00c4478f185569e
+4b4e8377b7208c6afe6ddf0a5c041024fb9f6e66 e406f60ae0d023783374b21f07933d3be0ff62a2
+851a3695fc26d9465c9d64d4b800c5ab27296507 f1eda9ff55da00bac4c44bbd24e5c51d85b9b7de
+e18452f2e3b69911f51eba8f994616180573ce91 e98bd3b28ce34987639b07031503a2242dd82c71
+2564631cfe2b9dc8eccff4c3f423e21ac2bbb745 98862be72476d77021788a048fc46397242db49c
+1f27bcb9efa59f5e99ea51a47b5e202eb8576fe7 98862be72476d77021788a048fc46397242db49c
+ae67786b943fddac6c499870f146bac5b216e288 e406f60ae0d023783374b21f07933d3be0ff62a2
+23a9d1d56b0c5fa8eeb36d104b5e666ac6521d6e e98bd3b28ce34987639b07031503a2242dd82c71
+44e72389f9b72408ae3b90c260a597c9b5100447 b9becdc7defb6c9b3e50142b4d1b3b47db55a54d
+9d37106a7af99903b5779874ab3526684b820afd 40d3ca05893812d4c4f78770d05820fe2fb57b67
+1f67a787e78d08985a9e032b6fbbd2126e056e8f e22e1cba11df224bda05893e14b824834109eb2c
+5cb616734d8b91c7ed8b3ce95fa47f4ab070b4c1 d70ebec88a881e5828fd8e06b4f6a9f5b0a358bf
+a6a20e8baee442954617203a60dd9a76c6a5dc3c 21adeafdc5b697ad4658c22b70a9692b2e693916
+0ce5ecd629d4b99e933fd303dfdf89dfbff9665c 3f420bd39f3b7ca571a482c1b412eb288aca305a
+2d60fcc9a906a9674114b48766b72b6dcecfeb23 cc8c464e660dc38ec3ccd40888450039443fe0b8
+55a885166afc2de7d511cb6a1b20572a3b18bbe9 52c10c34fcd6139d70571ceaa2da7fe550548d06
+bfff36d7d782114afdf6edcaf7db07317c1051cd 662c8393e48bdbafb748f26c6ba125f11adc14c3
+88575d947e5a47d979314e3f82b1278bd7b3e9a4 09f69498ae2fa8a728ec697c094cbbe833f7303f
+7083036801f450cd5bada3f898df7212edc37c93 9404d7e274ffb95fcc3106f34291335a27d4ad80
+91c88d234b97df86144477f0947bfb3549a919c4 671c626b7658bc99bd9b190476cf3ff41478c92d
+8fe573b1428f84af029a9e4afd3dcb75a28eb0b4 108f2e559e81c0b094c4a914603cce0186d3b5b5
+9a34c75b11ca33bfbe1800d6e569dfa31e3cf014 e7cf2539d138b64a2590e1117fdee0ab9f207d0e
+c6378a1cc8a794e5be1a6258ac60d8ef3412ec46 d26fe9892eef0aefb0234e97c2974927be286dbe
+ccb2d3f75195980ad6cedee51e60ebe8496076c4 4fd007afe644938fba19d29bd6e1ed8ec68e2f33
+9512a9b3be9874738af9995f2cfc07f6e65124ad ea2774d9e6a5f8d8756ad651ad729edbbaa0cd98
+9ddc9c5a47fe1ebdfd26456bad808c80eef20d63 38436210f9079950ed05cc69b11c611d07635bc0
+889126c07eceddaaa792600bac74cf07fdd3c8d2 4ffda6d7c8511eebeea4d95b9933b0a626879af5
+56dc5ac59573cfb98380760188805911918d1aa6 5970e8a61733030dbbdbb9366a60b77dc7f06294
+b60bf0946c11ed7791b07be3a8ddef896d51cc22 a389c9356e9860a84a37d15a18064a58b2a17a4c
+d01b2fdbef9b1e761b8495c3ce4a9a31710d7f6d 419be58658adc3ef976e4249ca840d56a4a63405
+249f6f867ec98341add7a28b6659a0a437bb4ef9 d3b7a953607fe592452d64d73cd8981a4e0fa729
+b1a24df1133b73633353d44c3edea6326c4a4ac2 e6cc642711818398e398c3ca09f5b886d1c99ff0
+10e25871632e7e024fa408e34cb66cff4cefcd5b 07e733559ba64b7b8a07253214c85890182c48f4
+eb0b5f6b12f3fed5bc0fc9720ee41263bbfeffd5 fced475597db098d823b4ac75f71657d8c7b2938
+96124655c4fcf6ac497c8009f251eb6943346de7 2acaf383b926c7ac254082c1190ed610700999a1
+56ac0661eebacbb61a8d3bf649eb030d6f498b55 955b2c1e9502f0731c561d5c3ebe2f6698af0fe9
+f20a73401e7b92a31c8b4a7219decca93a913354 7eb8de7c0bd3692e816d847bf076090b58fd2e33
+d24f4ff63a924c8a672acbf5ce5e7d9b895a85c1 e894042a592afe78600d809949fbe2460afd9a38
+26332aec09024c3e6616264a0ebbc6732c8b48c2 1986c11410c71fac17c4752f0b4520c1deb4a42b
+ba8cb8f2b8969a3c7b3244a9c0b91257eab99190 a4fb2609320e3fb2c93fb216a5053c8bd24b1354
+5d7b4a3db45bd30bc0008d3f7df8d1c595de40b5 326334df2a6eef663c7799bdf33a58d324191779
+16c2b1f5d52da32a87e7bacfbc23f0f12d08b0dc 477edf50ea8f58db1ce588293526614e3c3f773e
+088d281a064ecd669ecea38ba79b38c34e3bb030 d0fa4f4bc351da78005127efbd7c5aac87da635b
+79122fac8c0f7f9244a10fde22795480ea9beb1d 0ced0c8b93f255f36e1af531436621a3df8142c4
+728a572b2808dd42aa1f743e4d2cbc1ad6ccd9e9 848b63b914519a7e52f64c3211886e9374942f33
+45112f17b70f5111648cbf1d9ed05c77fe5ec4f2 26b4794a566592a510273ef155460f4529447a40
+dfce202effe70c87e4594d676b42a81b930d8cb4 225f62d242967a16556b6da7bd3bd04629dc6c94
+161d49a516b7373ceb5c3ec419d7342ee97d3629 72092c369dcde88f021c925ed7e9776dcd5cecdd
+0f006c4a9981ba0c6e5b4faa66db4b90040e9936 e1bc1d7a2c4a0910c6d707dd087325bbf00512f9
+fe84e3d26bb0728ad5e3bab8457fbacf6ee842ee a446238793317cfae0921a75c4981a415c3f8d18
+d13b4b81c8a3188e04475c84982234a3f4c0d7fa a7cbdf25f1c20d7357ca0b9777bb096bc1f7fa63
+73cd9b25e001c6ea5cd60b0d93060ef153bcff95 2ad6e99778961bd9f1ae286afeb059e23d3eea7a
+5dae7154bef022dcd2fab2a6e2096e28bdd35284 c02a78e97ca76be0ceab384413da76f88fea0722
+86a6e1535cfae6f070f95bd5a8fa160804648f15 0606f7b0e1be1651ac7ee49636af50cdfbc9f557
+84f160c318230789c087212db88aefa899b4b520 68fd86e7eca1cdec9d7116b7c9f16032d9a96710
+eb6ac8ae8e1762122755581361722407571bbd16 68fd86e7eca1cdec9d7116b7c9f16032d9a96710
+dae5c4c7a85967b976d95c423865294decbb5888 386a1c9b01b2074c4d1f789eba3cbc8092c1cdfc
+1eadc0a1b0cff2e7ac5742c2fd885444d708ddbd 1553f8055f039faa157e0179433870098cda52a5
+7311a7b4a68b8741cc68aa6b1f528e15fcee02b9 2df3cb4c41b14ccb8b4d8ee27a64ec98099955d5
+07ab8ad45d1a501d6f058d72982454b894f1f98c eeba538a01a5f438f96270ae55ad991bba9209db
+99b85cf712b0eed9e188184145311e90d5b2a054 eeba538a01a5f438f96270ae55ad991bba9209db
+9ab84176d2e8781bbaa677e8fe20a5178bb8fedd eeba538a01a5f438f96270ae55ad991bba9209db
+8669cc960d0ea28a094375f42c1108d86f0af213 7f69458cf20c93693257ec7b1e6cdfec2660b66e
+6a1c5adaf545b14feac138ac209d95349401b7bb fcf2aec7cf8da78133c59f37c4eb00e9ec573c5b
+22800d6216b8bc81182f21f4bb4bb6ca37e13be1 2a6e4a66ed02f59d917f6bec3895923f541d45bf
+7ee3b5fe101082f8397384f243448baaef2b9539 7a5cf67209a647461076c219d5b896fa873e6003
+3dd050373f4418601f56a91a7536f7c7505803f3 e204118146867b81130a6af4f9c902bc235e6dda
+e3b0aa5fc8637c6df7e986cd5d479baf64dc8158 826831f8adcdabaec5222b6f570712452dd11566
+d62957ba5d98ce56b40e72042adfbbb2b3366973 06de59cfdba7ab61a47e12ad38fff32171e5dbca
+d13858b121c8965ee509cd3b0b69c5c7f8a502e5 944ec73ab7a7c88bb8c3b3098e6ca6323d79c7f0
+2614592b2c8a3c79a09ff0da851c60dd2e73d968 2707a3a20b5b49ac956648c39ecdbe46c393dc11
+c757976a5c6983cc45e619a3ee3a77467f0a8277 25d788bc6e1c0be0c54690840fb4e9483f64e4ae
+b4a42e8b0bf941d0e907ee58b6d61667c4cfecc7 aabaa62be700a73efd5c1869e085c64d53e70e25
+89dbfbf4c81d668a5091af5ffb5d9bad499bae13 44ce12c4b371c8c395198fb1091b661df278fb5e
+05dd9fb0a2b47a67c156867b6f645d8f2f085182 b184909b24accb92e52076ed42bfee1395d81793
+18d90d9fa65c41f67d9e4732e32a0cbc52af6bd0 e2eb2d7383d70f6bce7b973703b1cb6d989298f0
+fa820c6d137d6712e63a5bdf0c931d19e1ef74ff f22e47548d8ea41ecfdbbf92136345251176e737
+91de637079d82174b7ddb4cd2c45a78563b705b5 f8b49e21f984039a151d72f3f2da54d3025233a0
+83bf6f50a00177d055349db9a92321a8d7a663a4 e8d5209cd21cf21e61fccc9054d1ce7aa1a78e4f
+128976a1f8c18334db55458857df314d811c7dc0 8a5e18c12e493e0e93f3ed409e1aef0884159b4c
+ef95dfda3bd4889663c89ca9604d7a632b0293c9 8f69454c0494a67172021be535bad2bac3c62077
+3eafaab5a2cf631a5c11dc1374742e4d6dc7cb8f 0daade8594f67ea24fbd67ed5c3d386f61da1004
+b28ebbcf8a379fb49a2c227fa8c2bb8aa0a51f12 21a183476e0acf61205771e1baab4d95d2cce83f
+7f06153e00738340e3786f72f5edcd8764f48157 d23928b1e2e531c42c0c41f1689c5f2f8b4d0c37
+6e4b56c11ce6cafb5025f7881d5ad45a736f5128 64c78b878fde6de9e5315e3e43ef688cbdb5dade
+631f58f09cc44cc86ee64d235a8552e935034af4 db2cd32fd5f243ed29b40732b65ea9dd8296cb85
+e63c67b4aa0eefc94da60dc0c8bf2da2089eaea7 e9a8c71fcc8837da3040c65bf94285488eaa127e
+8b9476d57e872715a22791ef73c05ba8e1b33e78 b16c17d1152252976f5187976cf7670f8ed6692b
+fe067f4843036076237b67938675edbfa2e91dd0 50bd092522af580993338722b6abe6ce61beadcd
+c63217db101c052ac2ca17026782e35977874abf 718b2e569539e29a168468e32b1fc27b1905667b
+58c3f80c36d3d5dcbd2455cc0a81f817694df553 1414a21c22c34d3ad2d582c4ace8f3f418d8db79
+80ff4a07ab19d32e31079a4566ae41e21aa2bfd4 a616b095ea5847ae482fa82e04501ed573e99a54
+54854edf847c9499b731de8bb63c2314efb0f59b 7eb0a88a58c1974ba64e9898aed6d5f3196daea9
+6283667ed6c28053396253bd0522e8602b38b9c9 8295edf8553a96748f2c6b249880bd39dae783a5
+4023c601c0be8e20fd918d0c1fde40ea69b06fa0 cf7d6605e63b15dacc66baf98fcecb5496ab6352
+20d27fd844176e328462446bdbc6b4c722d47142 b04ac20be84275133f0264a3ea85821a834290c2
+1b2d64d1a5cd9f074f1c9a2bfc081d62e35dfec3 2e052406967aba9750345853e81f9f6cc3936fc0
+72fb551e2d48b1605fc7df576fbadda6cbde9cdd 072587baa7e5530913407c4c7f0ab6f0225d0222
+31b4b0603f99a949ff94db424321b7e09dff1b6b 68a34c4f97b5f779eb5af332278a8c6a440ec4d4
+44089f8ed3e2d8de9ac9dde5d980e3f821ced449 1c4aed30f50c5d4b2e87d2d3c7c01fc4ddad131e
+3fa77be49af69923ad50964adf2c9c278a3cf121 1e75544854f5e8f47740757356ce285c508a8128
+469ff387aa633a1c115efede8c92c46146eb8260 7291a2e7b01590b79e6a9026cfd5b23dd174322d
+d1180adafc996e0424cbeb3f9ff07357ab6391cc e2c2da64a70fb796c19cc68f308f2dcc5dba9279
+c4e163b3cbaab2940874ac2e96cc2198e91a7cec 9be71a6f0a4ce8f822578a4f86c6964f28fe67b3
+cfe775c48a785a19eae08297365da1d51f9d6970 a4329f16a0546ae5c3620f5495c3b9e83b63c343
+aba2439b1bc235148dfa280eb415c6fcf54fcf59 25756c31e425471f19e1d21c02491d9c41978455
+957a6cbbcba807ca01cfb26d10b96ac2ffad36f6 119fa853c0a61f3f4bdb40d9f9f5de89b8f5663f
+13237a3c61f6c0a6ccd750a65ac3fec104d1a9d5 854da6c6e7028f0d674fd6bc1f4997280120c308
+911718af7f2632b7232281cd5ca1c96979b2b956 0e2479bc6da2fb86c86e450d56b0e14ce92a2883
+92fe33471da76d2a980a9e4eb830fc7af317e5bd 2e499fb1396a020b2a428fae51a1acf556feb9b0
+85e9ac2d5dab8188457821978acbaaea35dc2a39 69710a97e6c4fb61ad362ddf2b4114193d85369a
+d4bb07b7b2dedc0613e6411d63850194658f64da 4648f22c92a0b04e8338250e2a4b205725ba1baf
+12b4987ea148ecd133dadac5c8cdf1a3cebb98e8 73c6e7b053035d986aebac9dbaa222129d731bd0
+0670de72c49ff967bc528d98528e0712c5c5470f 1b0562c2c9170a84bc86acfd3cdc7dea2fb0d56f
+5c760e3360c9bce26bbffcc385dd5f784888fa7c 06bebaad54d8d967e39c16729ff081dfccbbb72c
+6b129334bde40b088f57fbb9a5bdae84a2957528 75a09878d9ddf476f9255da76e30052888566c20
+daaa1ca0e1891df0e600110102ba9bf67663436b 77e1ff77d46fc240c8d8c0f615982682a5c6952b
+9f271ad62926ab526f4bc77e4ec501d196e45fe5 fe3346761a21f31cfc0b6fac72dd568e4e999495
+e8a372606d97db8df1a639e95890a7db07af38c4 6936ead02b62be87e72e4bbfaf941c74af548742
+3d302ff2a805527461083e28b6d712276c1b1791 28ff7ea5b13999a61a6d3383b421f5c886489eac
+983fbcffb9b6e07192bff44ba196ad8e0ce546d3 14447d9249c578e3e0aa3fd5cddfd5ca75b6ba1c
+944711a1629fc742fa0fcb9eaec09c4e26c98682 f39f0b897c0a054043478f18e5bf3e43a689b6c6
+c95d3007fd990546c2e2a02f92af0b9537273821 5566d6c7e56c8c25de325acbd97224c8fa80f1aa
+c29600026e1eddbf014241a3a4954919fd103a98 a61886148cf651cd9c55fd5224b7b329f2b7788c
+e33bb404dafcc13ac1f194edab4982201cdaa0ea f804a7fffb11f79affafaab815982410e513be6f
+f03986c1b4f3fda845e1d670ccfbfe13b9cd558c 9ea48dc1ce62f13af1cd793328dddc57e7d17a77
+28b9cc80b0801abff28490278e718ac7c81cad18 82ed0f4253b917f88e126a4eaf4f3ec1cd69ff24
+4b42d6a30c8b5006a3f8192761ef79f1a7c5fdac 94619cc3d296b912c6ee3c0cfb3fe0989d817529
+478805c17a518cec7f1d180340b2bd08b52cc066 de4366b53c3ff764d9d36321f2bedb5dc0fb15eb
+4d057349b13befc21b977d3e186eb587cdfc856d 131058dfb27bee743ef16a710a1d204ce5211341
+6bcab4a78b51f00504b7cfdb9c78c97be09b2829 1e5bfc408e80faf0437f9bc8e3fbc92d39a3eff4
+92b82c5c85d3bc5be50de059df773233e387d405 a24e1ac360ec33acec6debdfc5e1e685a7a1adbf
+f2c0765b70570f1cdd9fc73773f558332cff53d2 9929ac023c15aaf9d62b67fef5caca4e5098b11a
+a17b9b1013a74e09730f2ab44460bb93842356bd d27f4f4dbcdcb1deb5c616d45f5dca88d537e776
+ad5acc0fe2f68daa961f82865092fd0574d3a286 729164fc41367c787fb1fc85dd72620b808b5f09
+e2e03c08bd47996d409c792571f5c15e8418eceb 1e9422f49a3faa35cfbf3815e388fa8880ff0cc1
+f83d9155beec32d9e71da5988bbb1c7de6c40108 a839cffbb18c76b270724bd8b25e4c5b0bbf2869
+2ea78586986c93409f42c1fa6f854ba49d78d8ab fa07fe94f09ac55eb1ab052e80bbd2eb49a491c5
+e6e21b053ea771b7ed1b8dad46ee2c5471bc8df9 1c3d3e3dba141e5a72dc7625da91626c8e84d7d2
+7996c37138cd430fa40c086e280ddb0b41eeb642 f4951d7be115cc3fab16e8e0fe36bee0c8d8e3fd
+ca077544da0d4c107fda71e2489adef2a5a0dfa7 ca33d91b657491ef35a26578f3a94349548c9897
+703336f9316e5e4e3a471690933425c1f2ede91c a0fbaf478d6e952ec25c7e3d3341a75662805905
+77a8da6978ce83dbc47fbf38e2b72815ae9ffc83 ee704065d90deb87ed3030d3b59327b6d01c97d5
+b527165ade8277695941dcf09ba310b59c5bb38b 4508adf8d5acd7e94fd9c3dbf0b7bea29c8b63ae
+2a0249abce8316c6139841ff06cc09328e189376 71dce2e155683588934ee01a152971ae44684974
+f866d2244f5af6d5f3cefb94672a1e400976b101 c0215f1b2c1b7487b021e18dd15ab416b632a7a6
+03316ce8896d4dd3f8d87dd374adc9b27eab0cde 5dd1e7985a0b0ea9f1773e6ee42049fb97dd55da
+80ccf01b6b9dd1481b2d878df09a22c4e28be8c6 6b444b5fe68044f234a5b5ef5005b9d54543b3c4
+f5cda5a1e748c1d36c25e07656215463d921cddb ab092048de5e48003c8dd1031b17713f0284ecdd
+a6dfdadee9e3ba4ffbb9a6143e82f679d1cc8585 9c06338b7c40b2ad99b50be54c9f7811816b8f01
+c51f8062e911edc0ef30f83402f6df484a3071cf 733720ddf99739bb95fbc4db46ccce4e7f88895d
+942c14d4170fd7fbac2f5c5529c80c45c4801bf9 907e5c6b8ddef0f0df6428b85c5f4b7abe6fc9ad
+d5c68bd99fcc0b67264b8f462849e29490b4f1b4 6a59f6ae22aacfd723fa37ccca515b4fc716727e
+db6b14da5b24b9ba59af3e5d39f0b8e09846276b cc27dcb3da6e90c1ca30805956cb1c6097b65ae7
+d8876e35474ce9ccad3acaf29ab22bf2e7c81cef 6d083e611c5df8b9d5300b62359bbc8d17e0ea36
+77e15ccb228b5d69da97f4a5f8a0c681a1deb26b 087cc008623fe0257d52d0e3f9c92d16d225fcd0
+3e6ac2901869abb9724b2f95c5a5518bf0ab4a77 7a8980823d9ad0e8157fa55f63a439ce692d037f
+958473e1129ae6f6728d5d30ed7ed1100f841906 52e03deca338a742e75a69c065cc6bbb31168131
+506fab7a1a33743198db035beb2e87898898a63d 8f25f2a26e03afbc01630acd3029168207a688a8
+516f2131782744346129278ff3f102175a534cc7 987016f6886f8221431e6de3b9279dfc9c87db47
+3916800128174933da1a98f174f382fe4d9fc483 e96f4903dd6d00755d1ad6324062cd7c2a0b4b73
+3098e1ad634126e66a34d140db1447eef21308fd 2abbcccbd42b8b53a5ba94b940652ee23b4b0a2b
+b86b60e3dfe54714d2ea83abebc17b8b217bcd92 41ba94d6b998d03aa1701aea837a28e343b80d1d
+19f1b0d499f215b8b87961feb360dbbc1962a01e e47f30125ddfc1686624f359feb0f05e1b7169d4
+fbfeb2a44f32aef9214933cf3dbad846a42250c0 602c9ae706e22842c9a90137f8651c8eb6b72ece
+022d8b90d8beededb02f726615365a2fe21370e8 601d1f86ce8ffcbdb2d931435d197d0be624c69c
+89b46eba3075ed5180ae4290368a66cb82a19913 85493e511acef73a975385c53e064829423f642b
+1e9f2caa9c16dcb7dc83d60c3632b3d09e10646c bd321533d53b8952b1671f25d4e3743c1ea0dfc8
+7ec99ad7b61419e3f7f548bdc2fede9f261e892a 854ab5b6b85e9b9e3016454c6dc2c8771eb61899
+02cc07c34a09fe55a84b46b983cc0cbc05c75dd3 ed110b03a453cac712cd636df817be9664b785b4
+cf4253780872a1783125b238155a180f2ed1b16b de70f40b36f02803e72fa0c1f9c9561218038296
+86c2d4c59acb4554ee1bd90ebbb1b4a7d5eaa720 339bca13d8c48276a062eabe50dddb3a2690a11c
+b388d8be251354e44d5029594e47939caaedd5ab cd2ca837011f1f4991e680b08591087e1838685a
+0d8100c6e64f9913423102a890ad30c538e85b56 acb06b7fe118014e75055f2ac7088a1314343b6f
+bfd53c3574956995679dd6c2c50a074cadc6eb1c 15ea37a4ccb2d964bde2e05da3187c9f5ee7f6a8
+a52842ce1fa9676b86a7b68410fa5cd7e3184398 93759f9bf7df3079ee0b02819568a21ae976ef0a
+e28e9a118245b0c23fb04ee3a83cdb7281c9cf87 558fa30f35c9a938bc7639bc8ab9c03e181a01e3
+397293a1542583d0bb4f348eaf4cac0e49e36fa2 70e68577dc0d8fdb85fe3bd0baf414f2362709e2
+c56e2487145779b37e98dd750abe28af69571ec8 788d2f327a5abde909560dccde6da1a9dac9c2ae
+2b4f2de3b320fea26441addf4fcf1c809dc45ced 22a5be5a5eb5d6691f32fbf4169cb7ecc23a1195
+71d00d67e98590933d3162600c6b9e5cd5d6c31d 89402970b3b2cfda086ba9f6cfe78cbad1598801
+fb21e02f8f08e7f26acea4ffe85a29bc049a4032 2763d10d2f24a85d4120e979400d9b265c68b731
+c330cd0b0b81f00b1b30a0bf2472264de283d628 06aa280682b599ebc2dc36cd7dc6bc4fdb5faaa8
+a51c2b2c677a2cffc74cb0974ea5b8f229343c47 f404d28bbbd4dba08b060882d3ff8839539d7822
+53328f9ac5d383e353e899f0e17466c80ec5f68f ab97eeb0a5825f61edefb4a6bdba3a62465b6a06
+cbea81038a9923145c6cd1792931ca1453464e02 2ccf8e06290062a3a38d3648f32f63ee01a2ca27
+5d6fe1a0e72a869fb3afd29319549f858f8b4c1e 8f73d49e58a599e4609f1c5615a9485c3775b5cd
+e56fa9b5466736e150e9096897c079ce0c629693 8b64a4ce377f0616190df6d6604622f0f8d8f26f
+67eb11771f43b409189df5b6d99cbc36c1b3ddb2 a1d91de1346169850504e47b902005790e195069
+80f5e5db2847ea357e7bd47c5afcc05370648978 cc4019a01d5044affff3c68bdd9ad924a3036a17
+a86253548a08f3715216b81485e7d4ad2dde6e48 1bce83ffe3a0ffe070b2b51c6d3bb34c12eb7e09
+9f1ea1310cc5e346d8d6f58f613be28ece3a58e2 8fde750a94a5320fd055da28df59c194036ddef5
+f389c8d8968b59bbdd2127aeb12557fef339c831 7dbe0dbe55b039a91beb3c2cabf0073a6d20f15e
+4ff2d51dabb1b4fdf6b72e6bafdd5eb0b137ba28 4640442e85023854b6481a5fad79306368f41c69
+c9abc11fcdb41c8f0fa0147b802cbefee61fc18c 2a33588a3ae5ac8ee01218ad12c72f886cd23c15
+8a04b777ce9565f8d58aee253bd28c4801badffa 6484c10bce9a323fd2d70b792cbfc47fd7e742cb
+808b0e3141a083a667d17e3fdee62c5e9c16b004 457d50939a35d34c10c39fe0c7356d798d45ac29
+8c3ad9d75ac5e83e95c558eed299b9205381ba86 36d343db77dd3532b4e8406b10decde1adc3c22f
+e57f6260a97a644687243aa20f27c834e43526ce 4578736494eb288da7d1bdf414d632f52278cefa
+dca224b26e778ff4d6b5e1f792f5af28fb934e06 17ccc3b2aed9096c8883d988f6d7192a00eeb65f
+5db818d7d3d222ce2a3294840dafda906c30489e e572e8322b1918d3c11cf50ec9f5d8dcbfd4c11f
+07542a6d537b9d78a1f3f6f314795482f9226afb f399df8878b066c207f842a293442fa584e03550
+dfd56780bbcb8e3e9f7de8b9621d72bcb5a37234 765ad4a8e74e6aab37259cba5a25ca3c5a754922
+c7355eb34285ce27c43b8a6a4f7f68ad71f3c305 c34701c0a7c330c0e65d0a17626b817287ee3309
+ee62cd150e878f56f80299440cf925615e89d48d 49a1e686b32e369939c8250e7f3469bf7870d187
+a9444d94467ea55c8273843d8d45e2fea98d2ae0 ba2dea0eabc28ae56dc529b2c8867e2e62b005b6
+0abc510b664cb2228f35a6acb871fb99cb1254ad a194b9ca63463f45e008a4a836c660645d30924a
+db8e08f8ba36300210ffce22dcc062435fb51a44 e0988a86c84e618445f6d894fac5a9456a557c5d
+8f3a76f9377a185f30fa278ba2e306ba7f62f477 04a26c5e1d0b7f270f209ae69927e7bb3389b278
+7eeecd6c35b954fe16a806bde92672a8d9a09fb3 67b7572b3042e77de77c547ab2f609e7c13c365b
+c24696bcac95b98e371241627cb3952e696f0570 c21055cf5e8ceff9f3f41fd7413fc44eff4b40b5
+bf130b7e81f1ac2400f09fa453bcbbc510855393 a8f910ecfc6fae5660945ca0fd267ccf46e2ac62
+f4e6cf6ed133794c13b6fb6ef05d610543bc5c08 58cbb433af9e7929c5cca9df7c6f2e440e06be22
+ef79910119fdbba27246e1d5d197b23fba85df93 ec9c3c2cab92dc1f5d90c7f64bc83fc68e0b9a7e
+3a29a72b926802b39b1e11a38c05e10ac7ad1d43 d7fe10977f79e20ca5782c74d19cf8430e7a67fb
+5b0788f42b91455f34d33cc0de14342ca7e97541 7e3748063f128be4d9652e5883b7d905e7916b95
+f3506386220c91aeb167309dfc3a97c1f44d2d2e b50c5ee1343d3c86a82676d17033e2fc3ad94afa
+cf8bb38f91dc8e725c997ad729d9f72d545d9b15 d98636bcd0101e254ed8a1f1006309a80bedad73
+fd294259516f3dbdf3030670704b930c2b6ed365 8757040ff4af9f2e9453704775c90a3102b0b9dd
+83126f0ae6e7f5d16649b8bfc4e8bddb54d7d7f8 8704da3dde2a9585064b98781f241ad95d3427e3
+5535bd502f7c77eca6c35e91f87f223af6ecbae7 491a8548f7c898b5df1e6ed7043bd47c984226b8
+3cd3a21b85c77bf7df4f3c2c79484da41a3aa93d 530beaea3ff86cfe9e20ac3dd0aabaff46119cae
+3bec37f2216c6a9b60cdfcce73a25b5185dfe0ef a8a18d063618040732cc9f86694bc19813978a1c
+f223e321663ce9bd3b65cc91895864130fea18af 5885ac3d134540db2493391dc36296986789fd9e
+e0611ba5107064dfec93b09a4d232f464d9fd695 041ec0bb3d0f79e1b1a0dd4ad03ea48d3f20b74b
+6bdca011d646029f80da969745f0e48588583a2d 543c1c555c654cacf7b419c21adbfd529fe8dcde
+f7cf1d3e6ed8b6545f308744861c795ed3e463e3 0b109ef104a2c3a634983bf37052095cfcf170f4
+433bf308b1cf4ac256538b31c5ae6c75beb9d34e ecdc937a7abd4dcc27af93369bf315f08fa0d433
+adec4980cb43a60763f34a3c5dd1192418c9fce6 f693427a935c8369e89380e5cedcc0bd406f2f70
+0d065bd0e982d63dd1a6f693cced82fa44707180 acf4029aa74171ed583b7254f9d5b3e921224d16
+9a4883cc8d64f368d7fbceb4782ba41ef8b7303e 6548efffee867d90704d061d024a97925d6e2213
+14349cb9febe7ef2ac9b6b53fd83ef1a471ac9ed 6127c2bd38f08a5ac55811f0063af9dcfb22a3c5
+32c4835d470bfb1759b8655b7564bc06a5e8d7a5 8c5170d3273a8184fdf253277e2b17a527462baa
+1dec6d88510f990657d7234c01fff8d4058548f2 c9b76d3eb9360a39a382151912f2804ecff57586
+db0556dba7f11861cadf10ead92891b225c6aa7b f336da706e3c10c3d0a6d444d0c676a40137901b
+87e24aafa513240a6c1f80a6fcc119bd1b01cad3 ec99d185da9f215ba20dd4af0a009fb1f707aab3
+c63047a5bf60146b2c342534da3dd787cbe88f5d 9447b53b00bff63a72be24a6c22062c4fedc1b62
+62030d606ab54f3c93fdeef6ea95b1661efff8ac 536b9f5f647c3f8107ba5ccb794d6961469d846c
+7409758466d6016c227c48736228861fef1fc75d 5a7a1b5cb8997b52ade489211188f2033ca28838
+2516c1ad247e65e0e7570e069571666aab3953a9 ef4a6c86a9b9d130426c3bcf274987f2de67dd3c
+acee79e16451e9b15dff50fbdaedb5f39f3b757e bf676243f820e2c039abaed6004e0d97cf5a57a6
+84539dd2806f0cc11fdd73bf9eec27b6c39ffefe 867754b7de6b34cf6e66ea9f8ac60144fb89f9aa
+7dc4f66a3b9f3ff9553c6a70fc2317acdb7d8fc9 7b685831b007400b5ce0a72490621bf4e63d7e87
+e688c57d628006502883955331f7d06dd6fa5688 99cf0d8b74e9eaf2580ec55c665279c446ac196a
+8f98b8e60438b233bc36bb1b9d65587114c614c5 737badaf46b07a72807401b6895238255839aecf
+25e6c9c5463a2c6f7da71b2c9cbfac216834d639 737badaf46b07a72807401b6895238255839aecf
+791ce92c43d7fb0587fc8f04a388716f68fb52b6 3462af28e9d4f145c5fe4449b6b46f9a37814997
+5d3e3db6e8ef7f98da866243a5797c65f711e7a1 9ead357ff1e79c5ba5fdf2fdb161176d13afccdc
+834652c6656eb42192745164f1548a2b931a0573 0e18c83e50139a33a982f4ac7536e2cf14d35d3e
+1287de7ae85cbdf459b2a44389f174cd0aeba1d5 2e69802a710bde6482ead438dbc61bb81902bc8f
+0de2a2f047428ffa9e2f909f3cabde80725b215f 6502dc0a8ee7ed80760372978e3d2fd0a8713290
+e714b3edb9cf98ec27ab28d3c369aa3c83633fae a7cbdf25f1c20d7357ca0b9777bb096bc1f7fa63
+cd53bd5802fce4ddd57d172b82601a66b9af4584 6502dc0a8ee7ed80760372978e3d2fd0a8713290
+a33cffc72d47cc0fcd2e3a55296d16ee6ea76834 c0215f1b2c1b7487b021e18dd15ab416b632a7a6
+bf1ab14330e05d91ed1318a0f58f008ab02a2efc 6502dc0a8ee7ed80760372978e3d2fd0a8713290
+8d9ac784ce3d2bdd37dfaa830c384511aa4d809e 9bcf15229ec34540a16b552e128f3a053e9bd57e
+d614341df93811c56b3c13b6b2fac03605a9f5ff 48e55cc57f5791630790467c3818ecc5a6721394
+9a206c067f4d3d58b95bc4e2640b1dd09c272e5c 48e55cc57f5791630790467c3818ecc5a6721394
+9e7ab3b5dffa9095a5a366c0fd5672e6398a6003 de1ee93fe2f52f2a92ecd7202d4415ed640ba657
+8a3395caf203e34912e042308fca13f61faea913 bc65ad8e75fd302316bdcb0510c6072ba1b23e6e
+594962dfe0f6c02326196cff71bdf0dd469cde16 801e278b5e73714b00c790c5b2c96a66338b768b
+09f314ce3a105cb04e4ade2b69a1fedb81772d3c b05da7c0287ca3cbc52d1548c941acca9d0375a0
+cf2ff9c4833caf19499a6b58e6146dea9c93db8c c5b24021b5f71538c45daea94c2fb3fa532dfc22
+fd9e3c78b3af5282d285955e3bae609d1d9070da c1e6d019f78f1d32b03e517feeb2ff1bad5bf9b0
+86cc0828d429476d0a60888eab559e6cb6190753 9d7f5999bb5dc8a7db1c53dc087c77a50dc2812e
+6713d107c997fc4a94041efb1de3d3e09ee53cf8 0a21f51af8c876bbd111abc432dfeb909743edf7
+f87476e5be9111ef92f9b0a9fab73d25209c0896 99b7452d9dfae86afa7d121da874bba7d022f70e
+b27361e41a5a4fbb078f3c814c0f1bae19b26f86 27b2dbf3753fd51a08beb411443dce04e57a94f3
+490dbccf90c719ff12e0a5134bb9a8c983917e5d 2a27d2e25ff6d3196d770390e4d72901f95a90cc
+1c28aeb96205444c787998c617db949fdd3448c3 86491680ac2fbed556289cf20692863113431f77
+a2a04a30fad39ecfb5f91047a6d9c9161b7c878b c79ab7d87010fa675b99a095e45786373e5da0ee
+ebab63cdf4eca665a052ab7ff40f6c307145886a c79ab7d87010fa675b99a095e45786373e5da0ee
+83f5e5c02236972f18955a9284d8bfe27c48109a 7ba46eac33bf048044cc3b90200f58c0155dd60e
+e498bfe90808cbb82683eef054d173a901ff1005 d49f8d76da3fd6dc0d2df481b8fcfac63d92c568
+717638689f8f3fd73b9b734601b3cfb92e446ce9 4422347b28b3743417fcbebc907303fb6ee519c5
+61343fb43f3a61a2811b13616e53ea5e232bf306 cf7d6605e63b15dacc66baf98fcecb5496ab6352
+91e87a320923a3465c28546fa70b5bf874359c8f f804a7fffb11f79affafaab815982410e513be6f
+f06c05fe3ade18c024534918c094dfff16b45098 f049436cc6fa843e60d6d3a3c40daf0f3e461ffd
+05d787c32956369d19315cd848e773eacd07b8b1 2692b918078668c004cb707098dd43b99880ed16
+c85a34221013f56399dcb027d16908e0aee8362e 4127587efcb161281cd0402275a27fa23c578a09
+19e5e9cbc909fb6ec2e8132f3c6e21f79c69ee05 e432c8279394d69fa2796f1595713450da3d7262
+267e220098dd268f7d320adf85db037a5f10b5d6 5a3c202b8818f85bec24b4ce1a75659d33307d5e
+b55c92a793e24488c71bafe4daf6299f432b5241 bf3cd62f7f41e295dc3187ea34c73ee331d46598
+051e1c09dda77aad5cb2ee67dbc6218ffc12c93e 47411e0d0604bc87734e73de5b49d6c0cca4ed9c
+322b6c7bdf658f01a8e18e5f7f82f2605c0ab10c 88fbb7219be6c29444bb7b4e4084d0c384cf5462
+1135f5c68bf182798e770a973d87f6198b3f1fe2 9c786368222b42b5b8cdff5707d7d735fcff8f10
+ad94751ea0114086f4bf190de6cdc87c86216aa5 edd5f48749a6ab8c49040ef26875d9393dbdb268
+b4c6f7f9390471ae21e17c99211b75a6e329b216 4b8b6d760101f7e0a5660e1bff9e4f48e999377f
+7d7fdc406a355068b56805c1ca142d7b1665aa31 b1815cc5029aa1ccb7ec16f4f4bfef7c856881db
+abb99731e020fadb5c336a72e97185f4d8d9ca2a 8fcc476f38acf09b94890c6e345f9113c257dd00
+255593e9dec1b16b82cf772c90d3b77bdfe3ef53 89959c21db326fbd5544f5b9a3859ddcd8449d97
+aca615aa6242bae0375cb8770884d3ae869cdc94 b2284e39291398be597acaff25e98d2a91a5875b
+55efa8b963e5747aec915b3bc9dc3f5078e6198d 44c7ab01754516bf5a80c7a547b7c6a7f933f3b8
+e330fd696a8356432d783b4b84967a2c7a5ad536 4511841a7342f664d39753a4ee4c0f6102654399
+153709ddee866bfaac88b1d5cb9b5498131445a1 14504863530349d518d94f770496b566d89260e3
+2b5e961656819bd7dcb7c606aaa17fb0fb6f85f8 8a03ca11d794c7ab180fbe6bcd646b930c00fe74
+600dc904839557924cea729c99241dac78ec69d4 ef90d13c9a35702c3327e5a6c2c33de223b1d1bc
+1152be6885e18b9aa842e9f0682ae1308756b1f5 379a781ee06f58dacaf2de91f8e049cf907022a7
+c050d06a0b24a406a806572ff6eb7436a3b3903c 4b08015405cf7a882dc12d7c202428761311e4ec
+8a015aa8f7770b10be2ebdd45cac5a7e42622111 ebf82b2385a3c957c101dfc7f8de4c6e78428f2f
+b1a7825481e6ec3f01ebbe7e16bae14d3fd07ab7 16ac908630cae0ab625359d3dca43564823af3ef
+2122830e940c5cb3cd2a65699f42df393c6c096a 821e3698f9962d9088df850a8a60c337b45afe7d
+56061f8d26182235a16ee3499ffa7d974bd1c96e 86caad1c58a69fc24b3d65c2941380bea5e39a38
+a47a8c8903fb77a45d422ed01b74d557d2db3317 385d45ec3bd6630a8286b2fb4cdede1f06107f9b
+223e4989b35b0a2f2b1bdd2d0fe09a17f2bafb78 e91d451acba98e7e39c5c494cb504746c3b47f45
+59b3f0a6adfd9c9039e8c39dbf92a076e62a2a31 d07326212226ed86311f3608842cff2d7b9099ba
+8f65f6487ecfbe61cdcb8d86797e4b91f67bdfc1 54f5fcf64586ace902a9ec56d24e7bff51520b23
+311f95907425df5defcf6ea7fd7d2fe0a556abc8 55ffc33402fd00000f9d852316d7a992442010c1
+f48d8142b4d3b722a77466bb95a9c0f3cae92d3e 9cafdb755f05604eb2ed360618d9ad59964dc85f
+a39c639f6e35fd150ab862f58c6d6ecd6df52793 d3bace25164b55b60836b651b1bcc6b1de98cd94
+44401005b8049296fe73a4a0d1ac8f0d74d9b872 dfb69197cdc9950cd6832f946511b3de1e11d969
+53c57ff78171ce40ac72674952a8a3bfc70dbc5b 9dd996e14ae9ac7f154688f714daf0f4bf3db3d1
+e60577d9157219ec28e491ce012d71ae237c9ad6 011262d03787e227407bade47864ff8463d44d0e
+a052a4a64bd8535bd4c892b24489bdc242d1075b 0efa57294bdd200044d5108085d54968cca23460
+036ae57aa3602a0a51f60026417eeaa838875611 a0345220c9960290a380540ceb18a9e603e7fef2
+43a2205b2dccd9e8365d0519c280ea890181bc56 03eec98d7d7da41f04ee656315c2b76236523571
+ecd6af0a9e00523a8bb2405757a2b9f4cfa91831 fafa0fa4936628f3b059bc6dc7ed4ed7d71fed06
+c4fb97814a67094e3bcc4ba81414f14a73ae8446 0b7950c937662cae43759077af44564e320c9f35
+a92ee8b626b132c57e087421ebcb88766e01fac7 0b7950c937662cae43759077af44564e320c9f35
+ff13630727411a6c430b6c5fe2e35f1e64a999cd 510b1db066d4a670c3b6d9dc846ff79423d58ae7
+04073ce6bb910b4d5a9d56d7f817dc25094832c1 459e17c7ebcf86b5a22fd5a5b2420a32cc5b235b
+21c452e3036ffc80295f13e267146d9bf3dfb8a6 1dac28bdeca44d525793cea4149f9b4766bc2d72
+0b3dafd2b593294c85c74549c6f96552fb9e8e59 3733db1d43ea180cc010bc4073d5046f93107682
+83986113d14fcc59704eabe9e428b3aa00f4b15b 0b7950c937662cae43759077af44564e320c9f35
+5038da0035f09b9aa97dc3897fcf3d8df07d3cf9 3733db1d43ea180cc010bc4073d5046f93107682
+3f111cc8b70e3d84c859c7833c8e610c0f0b141c 88bae70951f785fd48d815ba01881eb37a4c8aa2
+56bd507d96dee138e4271706204f2911186d3e8a 1ed4a90553b23ddd996a13e478aa3f0d0d22cdab
+1a4db62977b352fcb3297f329b942c712c527ba7 08f465556aa17b7b6a5f37eb00419965b11adff6
+2e1dc4043cfc4ec3ab313bfa07b90fbafe035393 08f465556aa17b7b6a5f37eb00419965b11adff6
+fbbb86965fd22969213228668f7da8d7f0926053 89fdcc9057782c0283970781d9e92a9023700333
+a8139fed5e3c4166d5211c063d99f399600292f9 b21481f43cddc3ca322c4fe1ce5ed6d061cc0332
+c5a58f01bf583ad5a4160f15c7bc1b0270f25603 f9a21a378cfa54efbb1da2d3d80387564845fc55
+73569f59123f170c64b41a4162165e7c45cfa8fa b3f74ccb35a0096724313a9d4785194073f14fc6
+932c99ca25be07095892728063c0d16d81cda8ec 709fcdabeee5b7d58c327961b57386014b251227
+fba9640b51f844629f6c5f2105db7c20c8f472c2 0c1a25dcd9bc45988fb7b5ce2e3b55ce994b52b8
+c2e338d999924a213ed12b7ca5b09c4132b02fc8 2def259aba4ef029f926cfc83eb14a111f52ca00
+2491d8871750b39a4aef02a84383223dd8369190 3202bdc7e81afa298012227b5b6311ab83f6bfe7
+e4c37e24e842ac807b924452582c1fb5c84acfa3 17ff331c1da03ffa3263fd6cedb91bb96d8ba6cc
+dd5ca14a8733d7f91d6e256a7da1ae86861bac68 57d8ed25521c461530fe72925bc13fcd1953ba3d
+1527f42e0ad200790e0cbb4441b8c97afe2f1e8a d387a502a242bae1fb4c03194956f453b2e8ece7
+4bec4a6945425be1b38c10fe5d2143e84c889302 1d84e65b4c7268a78dc500825c48e6a5f007f08f
+b450f4c4af38a2f1765090d8ecfbff5fcf41cfab 9feca4bc3982463f2d9a655b749903975ebd0f97
+825ff1a98f8d5ea31bdfc4462439824086d4309c 9feca4bc3982463f2d9a655b749903975ebd0f97
+e5d2789da3bdc3afbd8cbd33124e9b83054c7a2a f2d7918f55b48c43cee3f6caf56a876b9dc61735
+92fbe51dd4f8d41918048a0bc97b1725e6e1b7df 4f3c9e2ab62177fbe1e841dcc1c6e2101273d058
+b33102d061b8f621538e6353d8907d73fa4146a1 77b3914578a7612e47de1e11f59a9e64ed530e63
+841198770029b34196807f227c55d15fac3f9ea9 b328228062c670ecf9c7cb131628ca133fe0e995
+308e8d32b1a98008046fb935690cf9afaaa02bfd 0f5ddfb7325b23aab1a8ff73894de96efdeac127
+2a5b70683dd767aaf530029afd8daec88c378123 c34b9f3dfadb8fb52187b8f362d7138108b59c05
+3e7e0d9595fdd5c0411ab9c1eb807833323575c5 3cd8ee16e30529e260f2e22de43c972cfdca85aa
+2ccdf8361042c6d63111c1b1f1c850d41fafab90 32aea2019bc5ef3117e7ed15ee8d1c2482e5bda4
+79fa8a6643205620a0a3e8a96e8383f31ed7dc5c 5118dc16f54d46b1a55d088b6fc923cfe2efc876
+2807de0e00e995c4755887d4dfdb47f9ea2b122b c53b518eff2a31d643c16f2d89be7468632999d5
+1cfbf15b4d037264bfbd52f8da2a5bd62e74e753 60db407716fd4f93715785a56cf5d9ee9c228b14
+5a74c6a97128f041befb323a22e9b4bae8d299d2 8b46b0b25ec33a723ce02f82cdb6cdf3e8d49045
+4b4a446d6142b6f6388d754683459277edca02f4 57b1864beb3f81ba231312de111a32bc680a13d6
+f83a04f05ad097b855b73e28439bdff4b35d181b 2dd8f4f338606c4aa6971e7a42b2926573d9fdb2
+b2025513bc2d8da61abe81ce9f7e0732dfd8880a 70822de00cf83835c091d87706dafb33c55cdf33
+46690a965dcab9ce439450f74ec4ed662d3742fe fe6512dc04f17a6c2d4cae7e68f1fe3cee44ecaa
+94fd25d8d5d7eaf347683c8ebd56e877036c362c 5fce4cdf92410167b00df47f048260aa2d1639a2
+39ff32c95200f46c53a6156a00d8f76180dcea41 f60f0028c1c24d40bb5062e859a9e2c950caf732
+169b1b212141a20b96416c059e924520a95e857c 31ddd2aeb19cd19f13e31b0cc748a636da1140ec
+a37e4e72df0b3202e4d7e1eb8e38568d596ad9b8 c62d77db57749ff9170b71b0f05b5a2ba859ce90
+597e27cfad3c3f919a4204a169ba1bf2b0a78a58 fd64bc0660a6f190d69070703a52b01487860524
+4730f66ff0811c5742230191e5a7d07b1919f9d5 151df40ea7dfbbc2d8b13aa36400bc978a7934e9
+b31ed2288119fbb1fbcfcf9836f9ad31c1b181ad ae1a8f1098ce89e48705178c2ec5ef9c3c3383b5
+b2b39f16e462cf9c3e93388c401498182dd9dad5 889f10e844b6a1fdb41211e52c82ae71e9cb126a
+e6b3b31c801c4a3022e3a4731894957ff1b57562 de2889dd35b1965184f55546a8736a3571a86f68
+cc6ecc3ebb1cc33bca5b5f24f663e1e7e0a4f550 beb6dd0fba7d3782616b67f6958516472787468e
+68046e643fa618d76799d876f7a28b7a82409fc3 7a34439de5a0c26b9083b4ef7b56ccfd41bacebf
+8b9bfc4e648adcc8673785d73c65e8a6412163dc 0aaa12e3d2fda035f9e88e3155a5d29f6fdd9ef8
+334dc41620720d02cc2d86e5bc13fd002ec30616 34361413919f7bb9a43c723e54b1439292a4449c
+1e26077ae6b6694e37a5f13e2d4001dd6a47d970 2a19f323916e9914771e62d006bdd395a9009aba
+bff8128b3555ac5c0fa5d324362c024fb4999d35 b03cf3f39dff6bd78570556603fafdce59f59c6e
+65561f2cfe976c06334e38362da6612d569b1552 00da5ac8f955b5dc0f28c544adc2a618a56af8de
+54ca8cdf87232859aec1af57f751a855255cad81 b4e9d9037b34765782544de8b660549b5e9c396f
+1d7e1ad5f33c93101cdeb63b17b09bd78d2a4265 8a5d042920670199bbebf67aeee59afcb101587d
+6053425574d84ac76ebac659573cd9403b32246a e2babefe95fa4463057c7d7dc021f6511c353c13
+879d7ed98fd60d27fba4ae661ba58802b95751c6 142c9d85397803f96de56fb7b04931d4b7679ca1
+751ee3d141025127e7db12f4a00d427a13d16128 c7470317272192b10b4117259cd111bebc8882e1
+04192cde1fcc45a5dbb6253518e47ab4994e3c3b 4f244b9d28e2191531c91157e50ca7e2676569b9
+87c03ce44a91f595142908ffd0cf1bca25c1868f 435c09a0e67fe1fd5a3a95938260c3a4a05aca3f
+736139f1797dee5cf6620f7fa9eeff977a4b9235 c81902c9f687d32b878aeb57d437cd9acf02350a
+c5cc5fc45c60b3a0aca8a61f82d138590b810d0d 7a8f7b9d5bedbd882a0fc4f72b8438270afb9b1c
+d2317ca1c8ac9a52d7e0ad61c74dc715b79fa923 b4631036df4c10585c6c7913f0caa7239ac777a1
+6f36b729584c7cef19bf71410617128f5dde22b5 edd996beacc48ded9ad9493d8b6ce34387393603
+ce08ac4450350e3fa3aba8638afe62e2245853c8 9bf37b15ee1b6da4ce7105901c1a4fa14172a07b
+8dadb8a822082a301d6cc353e12918c34afaaf64 7684cf8a7c2a5f3d0ab395a33271d83aad7a59a2
+2bb54e57cbd8f6f03028f273716f657e60fc6160 e8aad920e2ec389cbfb32cbec9c0b4488e4a3c3d
+10f44700f38cbdc0112a9201d0aa277ec26e6f92 10407a78c343f2d72fbbdd31e6882e4ad4ed9c70
+a66efce5165e7ef37466662305476747185ceaaa fcee71382ef69ef1264fd655cb1e1d99e3b7311a
+5a081e14e84c0dd4a30b5e3317822e66475ccda9 f059bb3ed036f1bc17c9d10bdcf096a5ef7c6d40
+007e129638684fa320cb3a275b39ffbdf2b8cd3c 8ec85affe466af3cebbfdc382e1a03aece29c021
+dbe9b78e28428a062f41e8774995470f854ffb7e 25d65aafcbdc80af70c65fab5887bad9e01f2a56
+cc4de0bee1dc04ae403923bc7d6b33e788f87b50 09aae980f0518854c6e187264c91ce6c8c9c32c1
+1576c267120895425b15a79d8386cf1b8444a95b b085fe82679eae94587bdf2535c7f8b141104454
+2423e70c96f3f966d4c1051ae7593d08420793c7 21fa6534ccc0db2ce296a3e8bc100c6ed6b1b467
+b46597954dcc45f5890a07fa8a4c9669ab04add6 868ceac6707886afaa5ef1a7a78727ac3a443e9d
+3bfeb3094494e15e1c6e7ee9f27d1c79a6e5d74a 4d78f36764c1098fc80161c8ff48227d5307fc5b
+56d9e13269925f895a10b3007d908e4b20385886 0a20779bb79b75c1073ff32caf367c58eddf523b
+7a1e918f10e1711df9356056efcc68e93b08ec4c d9e8d409a0a54a59ef1afd3fbed8cfce5729c56d
+85181bc92cbee0ee506900ab00c3547c75f8b33a f2f1fdcd22b25021f47cef5696be8bee1f60395a
+235f4a5d3b1de02e8aea2b59903f71d96650618d 59a04edf1863998b887f59cb5f61d421d62522de
+188fa040694c6b688478e06f0b068dddd0b128b9 98e1273eaca5d8baa3c285236ce12f3b7ba0bd7a
+894f88134cc2e6aad904f080a052ac02fdd37100 e104af48aa6dd3b15bc54466e97e7ab2b54230e4
+5f173d5f271041c286c1e947db5086a07bca0da0 4cb4074722ef2f089ea5fdb0ecafcdea575c9e05
+fc67e1d649820b295a7ceb791bf8ea8843481fd5 625ac9f77dd51bba1c4a0384673b46327538c8b3
+80cad4209a95366afc0a4074f2c8053098b20324 de08d22a395897f4e1c4ebf5934e917269a00066
+931206772c28001b7a4f0fc916d4699999ce8c0b 300825ee6a19871e99aff8b7e219a7985ab9ce57
+5f15548991d17075a6e7d10020f4c1527e846dab f55d1bb0a43de2e6d22990f277c176796122eddd
+29fe86eff0aeaafc3525505544e53c18370caad3 f55d1bb0a43de2e6d22990f277c176796122eddd
+bf5a6f90aac72c65de0c8d509f3b12063a03cd1f 64fd3cb6c3401657fffe00acf7d6a0f20300e9d9
+873b8d76b04d6f0f860f4cb138411aa1bdd1637c 64fd3cb6c3401657fffe00acf7d6a0f20300e9d9
+dcb0804e63497b8678b5c2def0ffacc7a0b13eeb c24b495b860524d5136b95659100b290b6445663
+40985078a8fbdee7733ce43b58a1df2799b83276 decabc3ac15a4f201e6733022af2f70b6d2238e8
+b23115a90138b0d5c3775a10f67394409eb81195 0cd0e1f1f10edb94c74a6c5d48df71ec0a291567
+ef311f5b5cb9e1cf6e4fb57f918d50930a355116 aeccfac578797bdc65ebccd978853305177d5068
+a53a01c3b8bac8b68ad82c36124e3eb717a71474 f70c5688ca97ca21042230d745e288fdb597e875
+428ad30636450c30c2b337f15f12f7d54c1744e3 5189d911e5ce3e19269e6ad0749be734bb7aa2d9
+9c3bc3a094f11cbbf47bd358d857212ce1728148 ea1f8977aeefe877a37808fcc20838d336777f69
+47e8cd945a242a2a7426e6ee18b66387ca512cd0 dccf89a24a59495b088094272f554452cd537a87
+f8e901fd669f6df3ece2b93703643ab612892d7f d37b09c7ea36fac63d1d5ef11d8dd534833fc2b5
+e4be75d2dda3339cf66d7d90d74de99fec5283e1 00ed1b7c244a41098dbb9ea6a9d5e02606f42702
+05809d36de7d3f800a0c09d6b70adf4a1dac2a50 49d426058ebf38a7aad53bf65b39ce09f5d6cf3e
+2c78dd486096b798cab0055cb6c46380284a79db a17c8d79e8e1c1c2222e039314826bce198abf52
+f1087a4ea801b746d9dfc8c515221e7f68dd81f6 85dd54134a990932cd229a2e353b5c25f7075368
+07b361517d966f26546e3c3c9ea702adf8090f04 eedaea5b76d7fc2f70294c425dbb5e8a36d772ce
+21a7b340bf53d29730bba24c8bf97f874c3608d4 3afb3f47f1a7e31a29b63e0c58a8d01a94df487d
+6094b23e137c1c07f1d0f52ccda3db339c38e455 1729589a7e1579e4d7f19acd43eea6a6075fb3ba
+d18a8494ced52e57bca6d15fe8e0e9d597e59417 5a344d91cfc6af8954db4737f8507130c542788b
+cf9393f188a3158d260f36772cb16a1746b97838 13730bb231ecf08508a66b22897da437a5559b7b
+88fa93980a5d7f9f005d4c5f84753efd7e57e1a9 7f8912ce30d4e021b58989ffdb0748311191a35f
+731db6cd27eb2593f8ffc1367bf5ad0af7718ef4 718d1c64f570bb8533cacd1d6d8b38dc9325ee05
+8e2096e142d3a1e9b87fc89442eea0f399648cc8 1cfa2af962b2ad17861215c0b32b27b10d4eec45
+222a67508f4c2ebdd63a38c6441044f854bd36ee 50d394272709858d47247a63147036a7ea556f9a
+ea02b8ccb7b91a8834b4516122b5437d84de21a6 59f3031b8e0454049134d1290e03c15792b7dcc3
+2ec20740c6d9dffdcdbfe736cc999d1b12949d8b 11d0fb8be7317ddb6715ca9d6c0d5afb9d755bab
+939fd733ba7f1b10223cea4ca724db8b2d54db35 15b2c506ff0a27af6dbea8b7f41964cfc779d4ef
+3104b586f94073bf2150dfc1386e77579b2eacfa 73662af6e4e0e40552fb4ca5ee4420f9a2ab1c76
+8356607bea6271049cc8ed68d8691322f512d544 904b75cd856a1ab5b531b9ca34f42bea00ff7411
+d1ea4383b9917ace7d645604cc7c78edc52873e0 0e512ee0a397ab04cae38eb5dbc45fbfab0bca30
+03c49326f8b8b2c40e97392dea0a7b280413990f 6767f5b2b0669d01b25a533a23037e36d4e79cc6
+218a31d116014eb9348e64c226065acc12c84e60 dfa9268b3c641dcba5e83f80fbf08a83f6b41247
+310fc21ef31c6624b75e830bdd22f31e9a008ad0 ce40ea55f848b332b58e4eb0c8288570b57c053d
+5e343e9bcdf9b397b406adf9e5bd185fa64a7cbd b81fa73373004bb804a912cc5247e2a90a00639d
+d9e52aaa87ec782c0ac743faf006944050609f21 5dc8cf2b5eada691696e651d1c5177bfd3dfdcb2
+755f6aa65ff19e1b4004391253f2ebe6ee45fe64 76fb446fa93c5691fe2802c4f23e819a1fb1159c
+9c286dacd6369f858c51b514adec01ad9d043801 708ce062bdb1e26f49486d4333c3b2b8b0ef178c
+b7e6b8601f095113baeb8be456ca08b849887639 f0086d041058812b527a0851309d2a230c95efd5
+8b966574bd669cc6e8cfa30d06edc481c2a04751 f683020b1c38861ef08b29dd9384048fceb29ab0
+185fe1dfa2e51cf47650e80d3ecaf503ccc0cfe7 6c0ca871f441a41cf57d089895742f35d882699f
+9d79a2cb81adda58ee1eda7c4c7f0224d80ca5c7 e610fb1577754889c8ebb01be064d725c20b058c
+c354992152217861d3c7e0a5110b3156f000a8b1 bf0fb6a1c0c65bcddefa6314fd16978d55022735
+9e80b33e59d5705ad5f9eb6995165cc2fd430074 866ab46ec3adb22f94c7ea7d4f88f601b90ec9b4
+4d85fa1f6115e01142c793055109c7527b1061e4 dae3050fbf0ed8775449e92cbf9ef513592430f9
+2633cf8f7763c8fc7db40dbc73dd363e7ca9e663 e662dc21d55c214bf8b5f184f39329d75472df32
+3b39cf5e9cf19f91d8d62a04e6512c48740a1435 99c9fbced19edd78a3939a3fa591805780370ece
+4e87ef2c415e9c4bfd960eaacd68a620313bf9bc 9e8b276b5addbefc3af3784b349c3ea72d243712
+6ec16110931e77018748c0d46f01a8326490d1e6 6b4ebb43be25b5d2e090135e94e993fe69879d4c
+cc3ef5f5dc1f65dc9446a9911709333a331e05d5 74b1d2b0a96bb6ada3c8c9f3e2256b8c8a03854a
+0e8c8958a48855397b87eb48894ecfa1370b2764 320ef40c415d139e9a91bcf0355e796364996153
+25ddbf8982c3805e548dba90fe8591d4335fb921 471d60413bdcbce1bfac18538c6e1d1477dc40de
+226ccdc70f17c15c0bafd3c2281b304545cd7e49 7a9a5be7c2b506f8924125ab43acabd6ed64b2f9
+a3fcbbf6536bda070f071dfd385fae5d125ca8f0 346423537a6c95f6e81ea1c372c96dbd2842d21c
+2e5792af09ba073521e90ba440bd8e6ffbf378a4 28b7752d1e2be959e74a3d83ea7951e03e0e7bd0
+6116c57d3537e3888c36847a29d29ce4e5d7fc27 9252e128a4d9883ac4522034e6f39782f2e8de68
+a224b43b5c58d29420ca9889279a3f771d792c87 5d6befc3109f8fcd9fb380168f36fbdd850ea527
+3f0692187831b18b92dba68975cd97280e6b5fdb d64bd3b9e6b79ad5deddd83e1ef213b1c2328893
+07fe8c6fbea6a0898fa9ea2d77e3b1c12ceea6b6 bb56257e3df2517a5c19827117761737d89759a9
+a541ef1563845f72dbb6c05d9a847d8d23c17635 988c5fe02ee1451e03a5fd0f9dfa4329c62adea9
+3e987101cfec17f0f9809eb957509bd0d92f09e3 6fd2b7653a0672db9ef670aceb04fd3f9fdfae45
+77fc5f22d16eb873786e942cdf54aff94a6d7515 631ae74eca2d70f316d627f44e47a36894f51898
+4d1bb5abe5a05b72a9d676a758f69b939a42e039 80a449bf6e14b24ea111a11ba53e388af5b2e3ff
+a77208f1d1760921c67be5a0376f18bd63ba161d 576c09d1f906c354eafd2bca8233ff729a21f34c
+bb5f83c32aa75f2d01f59cb1b5af63efed0e168b b961006ed380f9e62bf7b6fc1d257315244bb59c
+23b28a8aa2245ad65030eb063d01c9bb3568be89 b4e24ccce8a0027d0d2aaa12b1a9f0bd07e6a903
+96291a7a374483456bcb16fe42223dc3d10e6e3a 9cc60a794e66330c9c4c3c8c58e5ff4694f14258
+55e0d2ab3463bd2e8c018362a286f1340c982c6e 86d00e10936e7b61b312d6669df0af04738e93ff
+7898508a2b86f05d35b2a6b3c82e0b068eaf8852 02d4ff8e3ff7870f0d99db6c44cafc04e41c6565
+a68c1279758368ce4441ce2aa65c6129624f50d3 56356de071386cc0ffa0bd311d26173eecf0fb76
+d4a334b3c72441ad02c9a829026c5a7922b11057 d904a6e8253d2be064d48886d8c39838c380a81c
+1399b906367df18ccb902754c0644bcadbe9c97e 907368508dc3ba38f785661ce29b5990efc540c8
+0f3b7bced6decd0d605fdf00bce1e7324e7b4286 80b3b19ce1b48e11ccff879a83559250ed33f43b
+a802cb13eb9669ff437e29c93bb64d3ed2aea24b 7c3be904feb1db5a76698d4395742bc016147bef
+98fca8d5de6caa57d9f0774d31cccbb7d1eae5e4 4392d86eaaeb4beab540990983a9ec1f2569e127
+4be559fbafe4b9be819413d3c0948e5566257735 62a2f7a6d583489c05af0cda1a54d17c300230b7
+c6edc018b955174703bd79ea636a7572d5ba83b9 0ff0de1b5619b4ee292daa6f5c49f51ad9cdf306
+c8b5881a4a47c294efcf0f686cacf6b8645bd419 22e27e4f44a387687e813c3e44a117f1bcfd6754
+eca960fd7047060497b46730b32dec92093d0646 877939dee39490eb9d664a8849b95d2a8dc7fc22
+1a8b2e282d71cb905bf318f2f2515e6789ef59b8 671571c150e140a8fb266c1c8791b47dcda2de05
+b75229624bc56b89824184b3531259e2cf7071fa 7aaf0a2b9f08f402afc22b2ec0f9679670eb2e2b
+23194bd109846994a6ee6d376aa9e1122830f26f 71ac7ffccb429e1e63373e75ac235f05cdcd1dfe
+4d0f253e029e3965de1fac69337aba660004d48b b4e4e5df5e46abc4cc785536299bd396780e0e43
+e980d829dca1ce6e87819289636fd7f2461b4dce 92a4327acfa9e32b4bcf43977fdf1fa0c460340f
+d9642db7ee07107a6204cc11450a6c70a6f08dc2 32862a3d2b72629493642c5bd31ff6402d158125
+93e3ba6a500db38c6f00ef1e8ed8c087f4dfae94 6720cb47893862a4055965d3ae30e2e13445f1fb
+4f142a3ce169525804b02157a1f685e708e13e43 6720cb47893862a4055965d3ae30e2e13445f1fb
+4e34992cba9f5fedd75d617cd546a20c0210965a 64f59aca841569321f0cd9ba62b5316a60778773
+a005124749a12ed09452ac516b4bfd5250bbdd2c ca259ecfa2f130811b4cc594f3d48dac8d6dddf4
+b0d53c0a4b01da8d7f29e3ed60c94873eaff9336 221311c734d497018f7fb02c54d7e5e87263ed6f
+6ebe0bd5f5c84d47ea4bcdf237217f78c9f82a2b 7c6f1dce5dc49f8ae9f8e77c07d187cb65a8fb7d
+5e01c594c86d634a0a7be824d856bc7a9668d5b1 bdf0654732056ef6e16e5bc3bd1f0a7e7fd96f54
+611e28a8d7ae1e3e3af0dd8e96c33713ddb4c773 4c4bce08287b755f98f97478fa604322e69721c7
+01749f381834b839f9afb881d8a0c7ee6a887bd4 eef275d58ef936e5afac5fd6b0f306292258d2cb
+935bfb6727688b523c04c8dc81d84377b26efc71 6b9ba58c1100fa593b599f92a9ed1ba9c64e011e
+f920eb2e5a432289e216fc9709db5c5e6a3d7ffc 2b1eb6d89aaf7d2932b13d31a9954de320c5a440
+82036f48114a3fadbe25ad5150365f5ab3fcf6e6 5aadaf8fd3cc0dd2e28adc083c71bc61ee31ed59
+1fa2b0067be01b2644ca1dc3b4bd2019a2c69ed5 9f954a291350f08e09128f0eaa899a4bdd5a5b01
+046cdda87c1eb25c021948fcb475e72c466871de ef75b755caf97516edac12fb54fd824a4925f3fa
+bc6628990863cb47e8b71fb31ff5427d8109b8ac ef3078aada57e72a71315f7f082f7c721ff3b60a
+0b535217e96b57f6c71d6d7528c4d6978b453fae ac51aab237d4b538631945ec0700ea0b4002df03
+69c1c12126b66a95a720c8dc1ca796d12d59287e 11ea13b9acb9e685413de22afab54425387cb156
+ecd0f5ec7072551fcead81d3c925a7841534b425 a59564f4e39fffee3e1b44fd456b2a5c684a57a1
+6e0a35fc9b852a0977f5bee057086f37a62226d2 aa0ba8dce9ae2c4756ffeb5fa99495f88b4a136f
+9e5f02394c57d3b69670090af962a78cd92d1b2f c7eaca25d89a0d25e4beac9264c12981d7bf9a5d
+9e121b2820a17c7df41669fa2ee87e289a6e6d4c 576b52dc7f12b5e72170a47e77defc7de1c43ad6
+17bfa42d6161bffc1a177b9beb8852d64878f581 fcbbe6d1e4c627f889cd5f6903bf776e6ba74bfa
+cf25c893672f98b542b67db8eb28977be3599c00 49729492dab41c1bb52de6ba620a28d0d57779e9
+03801dbe686cfa2fecd114014d46326d74c639e1 68bcfa65eb5a8c080701a6ce110bf4c5dec9a6de
+695deb436d27143570176b9b3fe446da39d373f3 c564270c9b1e0c06655b9daf89becdd21021fff0
+a2e65b0399f3db99bef96b14d24e99a7f61bd108 07a6e3b440a9d09e9c4ffc09307932f7732e0966
+b1a368188514394e1cc8477a44034adde92ee709 4bde3b80ff168e8a447575ce027eb44d426ea632
+83dbaf6b5764a66ae559270090cc78eba28eecff 1c683d7e21b7633a2ea8c052bb21390907f48cab
+0d73100fd07b38435e24ecc1fb209ce63230f5ef 3ead040ce5191dd7e2008cf238dc366b9497ce25
+c75b4dbf04975dbdbc4eb6b2fd2d608687812507 eed8d7be79893aaca8d7262b382788a114d7f539
+da0789d544b4a69e861612804e6a0aa7bb06d7d0 802eca71a902d77fe04b70693d6ec93492ed36d7
+9e429ea9c72330fa08282d2cda490b6bd95efe75 b926f3d812445f2041e66f6d09419a657237f1b8
+3acb1885a7a3a2d801f879c82872542f56df041a 5713c74ade769a9ab7cdca456646ca9e9247019b
+afded734796ab548571f10483a70231083d6dd5c f0f929d1fcd3c2123b32cd1a607de979b232ef37
+f57ab1fbf6e7dc1b0f61cbcbe0eabebf37be2c63 17eb8f8a8578d585ccb20e2143e8c43214c5963c
+be4f5892ffcb764b4b3251d50eb7edae7374396a f6802a27edb083bb26f6f004f57f89c6be0e5c93
+16c911019959f5eca45aeea4e5307a960ddc9a11 0687f8737d1d78bb572fc57e5a5111a030927bc9
+2e573e572a2d6a4f03f40b694fc01917106bc4f0 e09b65b58fa7a2e268ebf6820b6bd51c5ced6f0a
+68835cc054b207bcea7cf7e676a26cff0d80740c 01fb8d7fcf52e5302e7cd1a480b005c4aaf013c6
+08b3f684aeca0b875272563ffbc1b2e961d41607 23dd47e661ba778d4b74b21320c6c1bb6c570eda
+4d9511b3f0b06b9b9ccdfc41fad547d7d4e25f59 347090cc521239395362a294d1773f6b1cd5c712
+a75bb0600e2734c9ac3604b2b00450405f11dc54 bf4d172f99cbe22b66ac88b32cd0b94ab8ab3b26
+b4dfef58a16754b849646bc1043a80070323a6bd 9bc56729a3cbc276dc8e4b5293810906a42b3744
+4806595928947872e4b819e7fba3b5fe3b57e0a2 5a703efbeb7bfecf29814d2f8caff688722065f9
+78ab3d8dbc774b7e156ca6de598b9240f7813d10 e582ec89472d49069e9db8ccb528f8db92262931
+c0a13885965c2e4cc584b32ad7ea25486df9a060 c1b1d044b7d2a6473c85e421084a9e4932a65cf9
+57570e14992ab6ab32b05237b1ee87a6772ddd08 53fd9c6580003e3a6dd17c8e8904942579b84572
+964589cf622289fdb0da86d388f4a8fbbed09071 292040c2a2dcb49086db6155e7a6248b992889d2
+edebfbd91f41d424f9af810fcfe28331b5458fb9 a6e403906fdfea4c0bbb1da1f34a944e1f37e8d9
+7361ac95c1e02829db279121ec81b788c8d34f39 e901322504e05c44550a44829a6bedcebf4cd677
+4673d33240c4dfe5ebfaee5e1125330439815b12 f32d3cf187776c4518d2ca023ee6dd462ed77569
+b35647b50685424e20d782b3a6a26b9b460adea8 7caaf2718cc0c71c92820027d93441371a5743f1
+20975bca818caac786d6ccea15b1423e019b2287 d4b97131db42ac6b0e51c6eeda5381e74ee997fa
+e1a9cd8f82b6343617344754def5778437cdd8da 0e5cbbb55708e39777c8fece59d1b8bee9e7e8fb
+7c077dea547d7eed5e1182638bdf03cfdb915ba1 efc13b82b1f639959cda786a160840364b45932a
+fac50c74ec2c2275b5e893993d610c31e0a452bf 4841a58611198af1d34b3df8970c08d25a671b00
+646612ab6532c3a16db6cc3e9b4c6c6c6af48b68 2d30157d2a67eb95d66e665a35f9176b2d794553
+64441c06ca03b2675b882922b07bed52ab96f825 996f6654aea17014d3982e3635e27e602fb3d029
+f2ae39f7fe5fe6c689200ff5a449c784fdb12cd2 789fd40c95f89288f44fae2c27e366fec6186111
+17e3cb91a2db8494709540106263023a4c2a7a5a 92058ebbf9328715a6afc14b2c46652f634e303f
+f8d1c226af96cc8de8cc0188e92f697164060970 75f3fcbb17ad3564370c9e47b74031495e7b4d70
+0116cbebc70e6812f95813835c541fdc8809d192 45b45a2c437361713574a119e932bca09b50c3bd
+2015b5cc32adeaba5d64191103953e1f54244434 12d14332707b24ad88815798df3d31dd24fdc6ad
+ffc400277ce2362df544411dec8a36ed8496d94c 89acfdb5a7b569994901af44bcf541294870ade4
+5c18df749033499fff6f827ab9ee267472fbcd48 1a6a2e276a8c1475fb59e95c176c0752f17e694b
+2284c2e3ea5d95185ee1ac650a8eabc6d45d7e4f 4f8cc69f01efd40b926bdd2f91279c7826efa582
+a2de4721f4f033d3db0fcb0b6ac37cb7683a99b4 86c9b175565ef2dcefc9bc1305389ff8fe507e76
+a81581e190a49c25a77f6623e57dab3ebdb3bb64 80775b668af0b037f82d47a03ff3ca7446802beb
+47953f7d540c7a89cb77adaf87afbfef4c41a5cd 8eed00fb094b40f9b65b46dfd81ea3a4c1cae0b6
+e16e8936b466323febd5311dc0197b7e4e10a0eb 2e6b102e3a9204441f7d03c9d84ef25e0c2e5328
+99094a08d61eb35befe6d5a5d5bb797d1c461f90 0b54214a741a3e55b810956ae486fbec98fca163
+1d63ee075207badc24ffa76e12e9d69fc8176815 82c4843f84a9739c81b4701cf485df70a7051b56
+3227463eebfb34c65e64e9a649fa8de0a7c929f5 8f60c1ba3e93a7c484069ee4061b79593895aab3
+955c21aabd8c675c48d3e1d0053be59d05e3539a b8419565906e4feb434426d8d9b17dd1458e24b2
+91e1e2929e27e0f3b8148d877db6601767281180 16be69c79440996ccaf8dce7dc9e44c7934692bf
+060893c5be7283136e9d733ca6bfdadf1db08dd8 3627dd7a95cc041685a21dbbebd5f8fe377df753
+402f2b0173490e4d65d26a2cdbd8de666c3524bb 0e95e1051cbefba3b2dfef6cced1d458ec2569d9
+0620f731de145f0b13b9e0a2606ee3b6c281b6aa ae11d64eb447dd8811bbe49860f2e6dc2762c720
+0c79b9c1aff07d37b4e573141729af102233b0e7 9e73fe591b23886060849f23d5e54beb28fc9ab6
+8532fc3aabb6532e5d935dfb4b3dff85a83433ef f0edfd83cf9bc9ba3de96222606c240af2ea2ff2
+6e857556d15e64bddcab0f85f2702116ee4fd758 c0b4768919bf817c7539e1a297f2ef2825d8753a
+7c1facb68a4c091ee548c3d0bc2381fd62c126df 798c4e688219c0cbd867f43d2241ad855b9cd498
+a73023ada11350b42abdc5cebb0285c70ec3506d 72b5247cd2c6898d7fb783cf39bf9728ef68f939
+771a8b65def6b1d39d49f6ff5dceb8a47e19e05f 6a80c1154744c0e18f69dbdaed60520fcf99fefe
+989eeb3a6d9ae9efb1501c06c827fa5db4091063 b3a33f3679629f830441c7258ce1f3e468abda68
+15f28d52ebcfc60c5e18a70e52a8ea91471479f4 4bd76b7a21e1c1af84726cfd04bfc1996b1b6ed8
+04a5fd9777b17519deb7c259638c41bd9b132a46 5584e376ad5c4655b220259b8fede3e34496a509
+1a560a94148846e15b9c230bf16bf08a67544650 81477a19fafd111ce474a81d54f674bb33d71931
+ddcabd52ed4257d35b739f33c5d46f14ac4c68ea 03a49821e7df8ee711428e5e92792221820399f8
+5540b5121dbdf0406d156d565402dd2f7970e748 929d47d516ff1b91096e5560896896be3e62ff25
+4ce0460e531721c82f12deeeb12c2930b16114f9 f0edfd83cf9bc9ba3de96222606c240af2ea2ff2
+69b262eac381de731278519bbc336de4d9b5625d 929d47d516ff1b91096e5560896896be3e62ff25
+ed012e9c32b0d00904a3925e0e62883e991f0777 890845390703df3029b237255cdba5839b258e5e
+487402b5ffa2ef6dd6522527677d166fa034abff 566b0c4fde409d0a7e4061a743e20316951801f2
+acb64840b2678947fd95b9afeb5d33d934ca3194 c18152207f52dde7fde8e4d8cac0541fb0891270
+687885aa3d70430fc220d5a37b772cf8f3c2662f 890845390703df3029b237255cdba5839b258e5e
+3fb3b3b9f61c69b59e299371f0ded0f535d343aa 3f7104f44dd0c6d22fecaa08128b923d13f3582d
+9354502770cbfd5039cc5e48fc3aec794349336a 1b4a7c81592158ea60b9cb5940abc50b856025de
+36ccde76e9b2120355d639b4dd9cac94f5a04cfe 368cf2d28fb045fe7e86da47bd6b528d36f3803a
+e432fcd2c36df8eeaebfd7abbc49becda93e18a9 d9b3eafd14baa7cc1d4d33adedd69304f8761670
+eea68855859b8ee3af60d667a91202fc9a57290b 78afdc7dcdd8682f73b34d841a3de736ab9796f9
+7effac0895daaee1a2a96e61477ae149f9785d5c f50591b118fa60f8725a036db00dde2cc4c88a42
+a54a9265738d619a4beddae8d96b9111ea906161 6be63b80080525c33882b97e4ab577e1c00c0b68
+052248f77cfb128e20946b87177b4f6dcdf2c344 d42a56063b8599d450b71d3d6055193720848c3b
+3e3cf61ec6fa8f3f9b9de2a02de3b7ba85e445ee 9192a27156a22f6ff5243fe3c12d74c666a8e315
+edfa8111f0b66201cefb910eefc47bec736ddce5 345e4637cd741c2ae9d499ef54e34dcffe3449d5
+1afe3fbe2b007623e9a92941515daa0d1b015d37 4252f56e04600aac5fb1d71109a484a98da0f852
+bb6dcb6732f4dc1a31febf30f11846e7df54ddb5 debd02934f9f9fb15eaa2ae70472143c9dc54c41
+d5b496d91825e802c64ceacc3cfc1e97fc4d73e7 c712050624d507fa81f866b26120ae0ad832c45d
+eea97c6af7ae3aa4b1d90f686bf37c334cb8f6f7 3623b2ee5ff14328f795ea83ff55196ea7ce6ee4
+9f3ec61f3b093de6e7928d00ed16f771e81bdb1d 1423462c91b350a30e2198c015ff3cc78c2a3403
+f3574da2e7165b462ed13b61245b5d8880e5abad d2a1f4dc3a8f7fef75da1027e48f52845b52a55a
+593cadffdb92168e98907a5181931c25a30f924b ced7ae8b1ef3ddc6b3b3b8a7bc8cb3046427e319
+d92638c5fa56695dd3e3a3f841f666d78be498dc 62c5710923bebcec8c9f84ebe9c602304596b638
+8b934a221b7356fa9409b5dbf7a3a48279470af1 fc4fdbb31ca369c60240a57499ee6f92ddef444e
+082589ecbbcadfcb68c14cceede61ff4ff6188dc c58e50b34ab3b359e317b0b17f326e57275fda4d
+a7402ab48c3a3066c0aac80fdf999a66f525d06f 34621798ef1585394b44638924b09450d1e1975a
+999c91ef4cb297b5ccec0f00cc32047d785d3989 c74533381d4bd34ba5c8a96d53259f3c4b57d695
+d7c5003bd066198763cfd1c9853d8e617ed175a5 c26f236da722d1fb97b48f0d558cb95f9b1fd1db
+5d449f03a9796a67fe1923a8f20a21fb601ecb57 17d72421167eefb4677e82acc7e56f566b720283
+762fc9610deefe982df85b3ab2b1b9217db086ba 522cdf24b57678f02a8f0c3ed9350f36e388cb48
+c2f9438572e3643472c49ede22b997adf29309cb 6b8b02037aa67b02ab875383bd3e25abf4e5b45f
+3bdd8d4194db04c236b95ae6a436af3a220b961e 846c00dfebc8b72c1b4a343fab241adf4342fee0
+34e65a5c9b43db2a2976c7e20624f425912791b6 05c77cbf461b4b044648645ac41f970c00e5fa65
+f9e144e3e0434d62472e26bd79d031a9baf8c3b5 141692317097d1c12fc42aed31db7ed846d66428
+05072ab1f5ebf2966cb021564529746aac018bc5 5c35e1d57428c74333953ac699c0026f320e231b
+069ebddbf8579f6464c933ed134dfc5352241a64 b4141a95791a5b189403b7781b9ce55f321231a8
+67c93691321b5358dda947092cab8517c3271c8a 9d5870022fdd2d7986986b7d8eb7369571e00251
+de17a4227281025612a254fea77ec8e18faf70d9 e44cbc65abea4c2c1f182005aa3a866b09461cab
+21d3b16c00a52d29b4899d45a4b965e8f2c3a196 95e4c323402b790d8ce3a91252a388f1f065c657
+a237e5ea9285229025a40cd6da9cf771efefb19a c712050624d507fa81f866b26120ae0ad832c45d
+23381a77d60d5e5600fca6364c7776cddcb43930 502ca097b91df009272179f317439564f72a833d
+fce14e66fe673e557749bc0a094112875d14b1f9 3f8caac84f28e5b3acdcda5415d36e40e76dd971
+ca671e897f7d56a99a92a280598d6addd696f669 d85330964110693a884d959267292d612cfab272
+15e319fb6318b41747c0c22fb8cd70c0475e3b8d 323848532dee4b4b27219d6907c8c8a02fce1efe
+e3453d1545bb4dec98a904cc35f037b15b44704c f3f556ab4cb4f5e07ec5c36ce6bc8a15e8ee9c90
+17e211bba6ef7e7aeb1e16c9a012cda14b6f545a 38aecf70ecf7ba52e6e20e714322ea4b127323e2
+d6fab82672a445769eb2b3a43e15adb6c66e40e6 e4e1f3de2050cb3542f523a8ba2e3d82d4834986
+12519da964b8022c10c70926594a53de8a74f4bf f0b8698a12e48bb93a67b5c5dd470ae63926b55e
+981a3a7d6c10a2165a6a9b47aed98f26c0260550 fc850f04ac284457992db9777e4a0806dcff490f
+78b77e6ecb88cceae277b5e6e4043586041a3f00 49c1a1cc8a921e71ee872b42248ce58bb7c538d0
+b5547224697d3e72a6f2a99bbad79f0f4bbeb253 d6012d090b58f2400583fc15043b917c33f03f67
+28398bea5b75264afa443836cd6ba35087e6508e a4d02c73e93047f805e4c660354d4f2447514c8b
+ff146b565427c2859536f16c1671e3b1ec508b9c b6a1ac764ddaa4ba3ef2d4c08a69eb230256c44b
+777c563a08e8524c7636d558c60579c9be821a6f f174e45bd59f911cb4a33d135a7e8468f58e7d8e
+b8b3f59f417eb28f59e23e6b75fb973536f0e3e9 c3a15797c7b9547ca1b2914d991e9a31286a6e0a
+6089f5c94a1fa6d310517ad5fdd273a54fe717fc db5ea7950ab23ccbd6c00d69141b681799ac2d95
+1c06a78146d3424ef451653471bbd10a2d4306d2 947b48effd9b989a01657f318b3dbad1f55667c2
+8730f06e74de262373dd08a0a16a272d562a788b 2620e2992391b26d471ea48326bea6210684e287
+4682e84c10f1ca72a4096b71361df73c4a3c026d a55b6aa4fd8d24c34e45fd346e38c9511f39345a
+adcaee88f145ae17f2f162ce1290b2ba5e7688a7 7eae694f1a9796403f960f92e923c64cb8da32fa
+fc53a14f4e4f9d5b986e67c3c5cadc4dd87d2091 4e05dabd194665938c484c0071d0a3e00be0eef3
+4b0aafe5fe1386166cce087e62688fc60219277b 4ce36296c847221e5b2cdb2ef3c868d939e48963
+18d98e6697722b98956b9196ebb7c63308db265c 7838e6e51d73feb75fc4babafbf1b17f0d9f3543
+31e3c103f760140c3e9b382fae0036d641e67e81 0f214490b6cc1cc11dd0b1ed2349711cd949b74e
+42976c5f3a2db0947c2269afd03c07f1e6b07ee9 6fe09edaa3629d35bd3df4e86ded83f0f1d123eb
+220d3c9c2e3af318d0de01d7b389611b133e6d38 a341c88aba2365647cf96e930c49dbcc85d6d0ed
+8a1e553bbf20be4ef91970a94eae2791aff0c5bc b1df6bb8dc496f44af6ac43768885e6ebe48119c
+daf587c544cac787aa3ae39deb816cf63bdd6c5d 9b84510d8b9f113d7daf2c2e9c1a19a4d03b507e
+d509fd990f0c96ae7d1359eb0891e071ed6cc1eb 830eedef477ee00f2bd7cc2dbe8237c4e69dab09
+f6c3bcb15cdaa2c379dc6c17b33b93d9a97022a2 b38f0e08a1ae610a2b6a0fddc5b6926604a20f36
+7cc5d508cd1a2b1ac9f183ed5197b1d935a55afd 2d7d03249e56bc364b739e0da7da8e2b101e74b9
+3554dc5ec7e0b5d1c5c5252e5477ed38b1be3f9a 259476e2b7f5d8d63dc5c5b8c773ea844374e4f0
+ac8b03d587849ed82e96040182205cc3ef582791 7ee284fc3f92215c5bae9aff53aac5caa6f43a06
+230bd7aaf14f86221f475b85cbc67cc6b73a43ec 28fe89ee69752ae3ee0fc6d3a942174bae883d3b
+bab353113d8a783e9a01d83f7eb7670f844a6ba8 8f45f1de44d8f6afca590e5b2c4676e0aafa7a85
+5dca2d8d6c05392cafa18909a441516dc6bed1aa 0fecb45704663f84d6e18ac1a22560ec180dde16
+d43d56ace49045bcb5b60581d29b7b4cb4eab692 830eedef477ee00f2bd7cc2dbe8237c4e69dab09
+39adbd3bd8235d9385f7094fe77f57119483fc4f 6b098245fff75a44dab8279d38d75ae7c1cae408
+59713b77e4aa4c629250fc2c8e6ab9ba4a228c88 2687f1d9e0212b08b64b3bd8730e18c9ffe5799b
+c305e075cc8d0ded0809b6761fcba2c5e4450d82 bddde3fac30f663c50dd2a238a9344894a24062c
+aa2bb582c0a745167f237b73fb8f1fe771cfe996 527c50261054d74f9402dce1622d2e81dc2a5def
+4073f1ebe2412a98a3dc7164617d8390259d858d c3cc836403f294d6279e2dbf2a99edfa7e1f0d83
+b426ed14a8557944f141c39f92726c780af13bbb c98b534898ed58dfb90710e1f91aca337a9d9bab
+7026ff80f180f2bcbdeceb89c65257115a43ff04 667c3f0e8a67df09b7c4b5e653eb7cf44545fe2a
+3301c41ca898567c205344118b5e8e4c4918a807 b8f7f2bc464ac0ab1e49c88a49a7436e907f6547
+a21fa2b100f16d673241045fea2f29c7f0b54ae8 4d6a8f37c79db5eb6609d5f598d8876817de354b
+1add416009117c959d21c9681c50e49c60b7b9cc ecbd6bc55f51b70e449f552eba54fe890b0f07a3
+f5c97004084c30f73cd3f928ed58971e2ee55534 1249acea1cba4252af7a07702fc5086d0ab26df5
+10a692b540731242c5ad85a8123126088c23887f 7b370129503fb3bb6e3339baa0981f8814b7e0a5
+39d226bd48b641d6a6860f5cd41e1a89d66f6bda 0c45aba8ba2d4bfe53ce4693a16d790ef6cd13fe
+997af8740e0d4c3f6008e2868fdc05fbbd05839e 88b7c07627d0e1e51a4f8d2eee95d1586ca1f25b
+658e7eb8d92198f12a8f220fc3890b401fe10695 2bbde0eb5071a1b946568d77b8444d1f2c52a3cd
+8ee832ba0cc4f5d0a55bd3675d85d8b40b507131 04eeb42590d858ddd1f004e811c0b502dfafba67
+76fb9d2138d3cce751adcada6e384445368b5923 88eff3fb6ae73ecb2163f51bb6545b3468e288d3
+bd3f78cc1c420363cf0d2f1201a3ff9acc2a7ed0 8f7d19e3b0595ab426b3de4d2d34387f59e461e1
+4d8ec5cf09a58347120021adef96617d2c474ef7 ee5d93ca66df63bf917f9d3e07d4c0f47d8ae662
+122638a471a6ac03fc19d9a413ae9c992e3aab9b acc1918882013effe9686b98ea3cd3307cf352e0
+5e94e09dc682ce56a2e9240a8a7a8cb76b18b234 4462545ce263c30a10dd4f886691ad33fec3a32f
+5023a4346d1588274929401310e03f5897400c07 791345c142e61cc97c9829430dd25ba8bcf342e4
+574a5dc0671469011e5f1ec7902321c5306c01b3 e1a905cf88f544a23e1da72b60ad78ed89284f97
+79a0ca9e59941797e773cb756623ee9ee3329269 7a9ecb49184a0ec9b138a25873896df43262dae1
+a3b1818b7f81a400cd3a5a93a28c3a8a76ebf682 a3dbfd6d9e3bdc008ae0b2f123765bed9b15c823
+ad5ffbf49a72e07a73ae524318da734e93eee5c5 8b25fcb02c3ff539741e7132820e6df9a3253288
+d267f098c16b261168cf92febb2dbc6aa389014f 32bb7c9ec7db4c3e1d22f604ccf2def835a6e25a
+67f46a6ad512d30e42c9e176ffccbb12f63d4099 01cd489c050036d9ed814c9ad3066c9824967154
+24d5d0be53308f60f863651a489be6a8f2841f72 f2d1791ef756647abb3290bd571dea4c936c4a84
+142a1f7cb15c9a27915ef5630a8fac13d29a668f 180a9ad49ca828c3e7489c78623d750547cbdd20
+014e61df51187ac1ff4cd8038e707356c4c4d997 6690d4ccf0040e353f6e79b2219de0a63f54cbff
+c8781ab363f4d3e41572a21e599067714a89105d 867cd7b768b5a4a86ea372a5ea80137cd8f81ffa
+237eb6426865064e2bc453f0cc67cf6cb957e173 e82e8850420a5767787734b63cc26d92bb99fc11
+eeb4da899412fcec7d67aece974f0ab980c9ebb9 539e3fef479c257fe1e2fd5b7b9f03d06b5b9efa
+9797c146ecc960256068865e916c193d17e4dd19 458fdfbd552f7bbe10c77b2f621acc658f35ac5c
+7e2ccee8b3d7a134fa0f918ec1cf1c49eb267e70 88ae6bb9b6e60d0a86527829ddf06971f762504f
+5d88a55761b183ec80f45d26a2f7f64215c2906c 71180a988e17316bd9f02f44977df8b0d4798b01
+ef56cb7114e87dffd1ab560c4b1e91e9fc4fbb6a 62a791dd3c9d85437c59e8b9952293748ec58b48
+79438df2643ac406ff7b45e8a0e64e43e943ad98 139edc439b589a4b03cc3ccc877cc54d91de8d24
+4d1427c4a829e8148c037754920dd6c948dd1ca7 1bb71abc6cc01036f4a61889bcfba93823183253
+39e3f92dfdad2508775f4f8827e1f24881963335 6ea393f3f922f9368dbda20267d0ec840970b290
+059d40e695ef4c2e831ddc35a48983d952cec104 7eed86143c07079c52dc934da7f707505a8381c8
+8bd18e68c15b21fc80c9e13ceb53d6e51e935060 cb9a407895f38afd3bed52eb72f2d285b8da0f59
+f017d90c4c8639ca31707ba9039e0ed4a04e05f6 c7043d164c3b12f89b0c854d610c3176d8d89d58
+773143da5a6ba68237b05a5d19130d9b45742920 84a4df0600f102519038e611733036cf86f9be18
+22ebf166a796fef709700a092017c4f7190e53bb 4024cb70736af7e509791942b61e50e469033073
+bbb0a28e36c83593aa8fdff611129c1e901a5ed6 a57d13153c54c50cae1c62e7d5e9de258fb206ef
+11ac9029c4b4e77715bcc4cbfe309dd593c4514f 8f9efed7f4c61186944d115aac3574c10dfcce77
+e8436a7fcabd6021573526ef205b45ae84395ff5 fdd94a62d793755d1c78f231b2de92f44ece8b02
+e26efe6b684c31b57b031946ae56d794727f6b7a 7f8e5991ba0753b2cb3c93c635462d16a4b38998
+6c16b58117b8d2fa61614aab5a2c8e6b5a28dae4 c643bda1e88e6a21451ee133635ac3e19eea3911
+f5d858a5f2332bf7c2f5b2c5222daa6b9885c112 63f304e644a7a767909fd72b16a0cc4203fd6f8a
+c057cec460b71c49b4dd5c3a2f271aa126a768b2 6d1b8ccced7a32bcd1913d82eda1df576962852e
+26fb03afbba30dcf7a70e9a42239d875321580de bd7b69142d13abd08e1d0b8a43f076cec92a9bf1
+9e76f721029a13079c0715f7fed7a7619c36555b 0585938ddca7b5280b8ba7617517d39799b4dd18
+db6a57b3cc50f69fcd692cf1bc78d9044a961cb2 44e901954bb1eaa8b5b44ee6ffeb239e82b7058f
+f855ce9a9e9cd2f92666e518bcc8ac0f339cff0a c5340f3df33dcede75b4d1e6b4360d0128ed8485
+a96870ee4d1781a2689fe59296e66354b6d36560 2c187a7915f775439541caf954a566dd0a68dc12
+45068af622a8665946be59549c319a1c99330449 c076ddbc4907a6f779008af333cebe38ead7e5f9
+15bd7e8e9a8a83fec25281a08372855a87591d8c 688e1e057331af4496b0137422534cd77a66e265
+e84e8fed96b47564e0b36df6a1e9dc4f81455bf2 58b965453b9cb703696a8756e4c0783c1e50b8ed
+9db12ee991df0a39cab85b736775a9d5b58d3211 74e185c3f8d6dfe1c5820e15d0f8c40ef24b9e5b
+b10ad9f51d0796e32244b3f2d0c020ad9d765877 7430a527497f177d8c1e961ffb17e22b6e4070a1
+8116f343135262046a6c43dbf4b00aaf4fc6b988 54112d2bf2c6681a6b6d594ea8282d977e37841b
+59c12a235665e68516f9a0f87bfd83d529266dee 7f88f63c8f414d8b0fa562b63230c588fed3e109
+4af8aaab07e43007197725a1052c3c2e3858425c 51dbf9b4157e905aa5e2aef52dccf9ae75a147b9
+4fff00b77146e1bab40b2b47360062a3307ca25e e69f23e17f223a274c6b81e01fe66c70990d72be
+ca028f2b4278da5fa2fdc521c9f320ab2e2e425e 5fbf45b6dff5443f2c03d2bfec7fd0a9fbb72391
+8cf5ed222aeef42ccb85676ed85571f27d92842a 0b2e816f0e84963c012d30f377326c43f54c5440
+67ec07e52dde5c844a554ee103b863ef8bef4b3d 8e7380bc734eb561215a679eb4db9d4121a75b0f
+a81e6102ee24e72b2409f516d55ac72c79d02983 dbd42b0a072972b178fafb2e191a6eb589313446
+30061f05ffc291206608c1b81b4d4cf21791fcfc 11de79697d2805abc5f9d1ef025b3cf7cabdbdc2
+cf0273129a986772c44d5d719e245c2a20c9c3e1 7d3237d0f1229a608dc298fb6529b4943f191231
+94d378a0a333d2e377230b49e7bae1ddf6fb35bf 874dddf022b587166ff95ecb1d27af623d8111fd
+f3ec527d42e53b625f5eaf2ea7862e0c3f61cc14 8b85ec1a74153003a066499676da326f4cc7ce5d
+bfed6e16330346c6f82364cab8dba6d8b0aacdfc bd24944ae4193b4eb19c505f145930efef812f39
+710e18acb66ee9a1b0a6d33af5ab5f914a75dea8 35c21d1a3e739ddf4c3098c51600dfc8b041fbcf
+46469de5e994d891bcae16fb76f644204ca71bcf 2ea909bbb160d50905e2752903df2554912c15ce
+2593295cd518412dc17473c3861205fbd1bdc0e7 ad7404a4dc04865be9e7a63eb92f7eb04229ad6e
+1eebeadebe7f06218e8380e66f63f1b7f487823a de3f3c5285409a5a9641e055c4d4f7cd73745bbd
+70ab8b4cf577a4b07180cd6117acf8dd8340d309 164f84e5af594c429179d7e5167e38df489d73d6
+76d2505dbd0cebcb26e8b80931b25e2ff590d5f2 c9dfa6c293284eedc0f8743e1caa28a26acc55f3
+98dfdfe960d39852d67e058f5be1f16586bd5b98 7f78c4cbb9b49cf01517c6089d284cecd1b58644
+9b85e3a3c1c531d7ea90a82514c8b96123f3a511 2c818d749ca03f1d08f0414140697afc69de25bb
+e6eeacac30a908e5c7751122b177cd1e23d0e545 8f8b81100446de6df05ca488375284949c0c8e8b
+c33180a447cd83e9ca77a8eb68bf7d7378dfdccc d3e5d1469af7f174ab111664fad3309dbdc7e182
+e765b820ac2a85bb3fdfcdc53ed897795e10189f d6b621b015875ea9eb4844081e183b5b6f94d8e6
+88f28a6476d1f28439e73af9f6e56d553f8a8cb7 a483489d269e26372db2af829a7b283b04b75620
+68f7be622d37ef741ee44d6900f7843b7b0ab901 a7ae7d3e9a35fbcea8ff8c8019a1f8d328452fe0
+f3869af954703968a57e0a16a1f97999a4d79c54 812ec19cc1f0a26969ed86370c5a003b39409b92
+f2f82b02663a5edf8fb30a3259ecec4ba91b152c 2e6beaa88e381b51748dde1aa097b7edd6454c52
+8d67f8eac104ce04ba4c0c12a505818c6db3d067 4e5f0b8c1ef422a4952e9bd03c83c55abee2657e
+f99482322b4ee17f9e99f22042b72ce87cb52877 18ebabf2c1ea0629076ac28952e9c439cde87893
+1f2e10958f2e1000b4d6fc86b435f746ab02318d dbf475dd7da750eafb9041916d03f4b35eea7796
+4c24af36b28864682e11601e5279981096116713 f1e8fc6356f5d818edb0433fca7f261a78f5914b
+f1a3fcb039d3b4e1a612510be595772965711036 60050d5b378842a22ab37a2e9ef89f0e4c9a3226
+4d62e2c6f09851ca8958c66324949e747ef3461a 3de821ceb13afe0a51b9a6f03f1eb6ca332acc60
+922bde267de06dace04356a027bf8583c87ead74 679bb9a8893ec78003ce85df4ef525c81dc7fd5e
+3b8dd33b29c84acaa04bc0660233713f8a0f01d7 85026b4d79c9af119fdf3fd87d7a60980c6618cf
+63bd0e673c6f03957d8c92b75632a1e4f3d285d0 e23c625738aa4cc2cfaedbacd58c54ff1242c86e
+aa38767328c325de9a21d6a580daea0e8057e74f d8293967eacab2aa439ea8a4acec4709a6a6fe38
+349bb564f675e842eb47672d4f0b9c489a21ed96 99a485253b77d439bb2397d71637b403f32efda8
+f99e5ccb5f5ea836207624709411e503e8ec5250 1ed3a0d5c05c2f6bed0ef8c4df20e12be5d73711
+00d7023e5afd02044e5fcb1b48c14f641bf90ed5 ebdd0a04bea9955e1a8d6fc49278af0fb31e76d5
+ce30beb6e36dadfac4fd5d66d5b675aa4a547b3b 35665acc147525d03d18966c91e66dd219fca790
+8fc3a67db1a0df554f8accc00de0e4e26c94fd28 99a485253b77d439bb2397d71637b403f32efda8
+05c31f99a5f395036eaf05b20c27695db0075f03 35665acc147525d03d18966c91e66dd219fca790
+77c7ceaf3605dde8dd8d18c5891a4eb1d4ad1a70 35665acc147525d03d18966c91e66dd219fca790
+50740ce4fb21875c7a5e165ce9454c34035da21b 86f29c46386540789b8bd9809e709a43adfbbf7e
+7fac35e4b537a4fe3bcc410f435f3af5324e5958 75dfa07fc5e1fd27ab422f644e3c79769df71eb3
+7e8a09eea5e9c5770ec604e4d2e3d75cf428cab2 9d5104c1423e2ca12e400cddfada747802f7d4f7
+b487d35e74bf375559111c63bef5e72625b1e6ba 57f5a78259e330ca2395bf8dd3bd530a7608031d
+2f9874ffefb84f2657b2275c6fd09cafd15d12b9 7b937d513253c64a9541d4ea451cc276b1ec1f82
+a635f3ec97dff8b11d2f84481faf870babd6b8c3 2b8cbdd0d08661250772e0f36b9f0f55adc352eb
+802d8507cf15008d618909ea4284877cd73b7644 d99eb958139440fc4de48be5a46e5429b34f99f4
+fc10b7ff07a63b8bbfe53def717ec116f6246e8d d2b2f6ddff67e4af31af183e9f1dec1ecfe48465
+686762258759e9cf1b9ff823334fd51408d65e26 111cef9db1a9d8f7eea7e891f1cb593a4b49aee8
+802d11e5befe8a57fbeaf20ef87e04b63009ba0e 0bc27d397dcd2067497de6b6f9e53f678c5b695a
+ee942ea0995d06c2cc51fb69b620fc1838767621 dd8d5fa83710a5b2826cfd002e6da80c23a0ae12
+4f743c77e18ff9ed572b708296c4f553ac24d135 eb80adb946b031c1faad4008ee8ba3201676e177
+0b6b1f28616623ebf83981c258b61c19315da671 bf0c677f04e893236f62c697ef2a72dfac4fc5cf
+aab8d16aff35e1fbab7127ee8a80bc55b7f8a4c7 33a17bbf265266e753b17b49cc36517b9c2e8a7d
+480da4cb0b44326a32dafd6f2e1e88f97077e174 1fd2cc705591e79700b6a89c64b0b231bf58f029
+6a317e6d2bd01522d2256a6eb1fd1572ea044fd0 8266d02821238c3ec16988f47e1007e1aded6d02
+180a4748555807278c8c96997bffbea7cc1ad41a efa8b31a168a8dec7b68b95ddaf16e08404a2de2
+1ebab563c2ad6066b0a801254c9ddb91bb4656da 7fa1ab7aad5ab7af13c77ed8a25fc4ca4c848bbe
+7891e1d0822cc2c86e97619a691f8da36364e53e 5e0166ef965860875e09ba1d574baceffe598228
+774bad0806b324a26bf23dea897906606187a542 5b62d894c420f0f095fe141fabf8bede3dd2a03e
+feada858200c140593cffe63b14e58f6ae5f472a 0f620f8315756ce60fd343bfb15374503580bdc4
+d8756de74fbbed217d1fd27306b53e2446dba858 c4de8ae0cb833c2e79bc6d97ecf023342c75e9ee
+b72e5d052e609a3fa5cb7be872e21869fd71027e 13acce89f45e0403616750c20c5f96074eafb4c8
+ec1bfa595a79d828205ba6eb1d855609cdeb8291 1b7b3bb28d47a700138b1ea7a8d772278b2d7b81
+12e29e291a5468ae91d49e2bac66deb38f3ae761 8c1c8822778d5dfff34eaa1cbb325a4711acf436
+cd1c1b987b74ae23a709193eaa33a753f765e9cb ab6d059028fc57bec59a49c8169d8ef603f6f47b
+07faeb390e8ecab5a8bba7c04d973852600bd576 e7153f0eb22f752c14ca1f93d1272fb570e66297
+29c96945f4e3d311ac30094189e2d08b942f143b aef79b739a114a8fa5aae3fb229682666853dd43
+3054bae2bf21ced4aa15f5122e90d90973031d90 043ded33b36741a1a6e5c1b2fc7770ff2d2d0c52
+fb5768df4ad01f44e2aa89bb230945017e11ab42 3c26e3c8d3e743f431d4aecff3778bdd01f1a1a6
+dcc420c4d3f0bd950512fa6d8400b38023ffd773 18ea7e43c0bc455c978cf18008bc5eda4b9869b9
+05341c33f01e17dc3ab6c696a6c6187b1e304116 580cce4d917077203fcdcf86f33c385f40d35f7f
+d9cb3bf709f81c493045ce4f64d4718276dce291 9ca130543603de526f87394ce9623bc2a24007f0
+dad4281217d3fdca91177f0bef6cd5305b246543 1022359159f06514a7f5a478679db7fcd9102b2c
+f1d887a950ba201a45175a5cad5f14b391f8e5b1 148f76891e6f294e122ee5374badf9bbf27a245d
+b4f4ccbed2ce97b41b63ff5f0dbbf7e1a0166506 cbcdcee4171d550e4087f0ce042acbc695fe8a41
+82367b9cd9b37fb1d1d6c65b8a99d5ff628fadf0 eb6765dd9a3219805eb3aeb23facd45c1640d570
+0b0013cf77986b340f78d7b995c55ae0d67558d0 51539e37d4bf31dd32eac7e1182db35f8c5136d1
+d96627db0e3af97502027e4cedc33c5fce80b08e c1eb821c9a497350f13609787b769545482e7f75
+3a7f9985a09aaae1d2a993654c8726a71d7641ba d0142f9ad744ca6895a19d818e4fb0d57672f2e3
+01413a021b1fcff822ba93f17b70d16441526d86 1a13fa7237c94c85668f3a0575dff2d11ee4a947
+ca290cb86e7ae620676d2bd492cf06c38d75aee4 c98b8bc439c59ea8e99ff8aa2f0e544910bff8c8
+d066db5e1c46d0f7b903b7c997e6448f109ab05d f43813566d7f9afe6e2ff9cf85764d8c1216b190
+8166023275abaef8049fa653327a24e35b61c790 b1b1740f388334c446ce2a76270e3725c335ad96
+e15d7d103efad2d7e7b7d350326c669c01665c9b 7b787c242f7bcd12217c4941bf73c68e31f53242
+6bb377e9574d27dc6460c13bc7d859f5785c1476 e03b1a32129fdae13d73c2de19054397fe7bb68f
+b7c690fd40bb1c3d96abd1d52a720195aab92316 ec418ab7aa50a66114235b62547f57812ac469ca
+d3f83435621a3d7b57972e7a85ba564ad2581619 0a29b38412ca9eaf1d83f9b3e7042246e72a8cc8
+898782c9c21a9031e1e85c587c4f0786472c0a62 1b49bbe11bdbfd0f5c96753d9d4b2de4b9b5ad18
+d5625c93b3aa84be3522a4c6b36d107e0c48b4a8 24431bee96e118b727d0d64e75b750b6265cf1dd
+1ee2a750150ebc8d083606c58da1ae564b709b95 610256832bb56576cb879791e361cef4bf74c699
+53bd88752096a0a1c0caf594cad355e0fcce5561 6ff0c037dcdaf14e944d81ab7739548fb4c19caf
+2cd0a8c0a1f69160ebfa77c66c0aecb48e0f15c2 0252bc2877d8e3f4db76a9a364b7397dea7696f4
+5f206e4ad1f3b82111d82f1184866ab786df198b 45b884adaf791655ab75c2649d0142c983f06b15
+49a86a8d2880b556094ad730c8b509220e0ecfc6 e8055993073dc72168bd8603d323e58cb6d52cc2
+756dfa94692811a02b7e8ee8366b40384c707f2f d4c1ebc225cc57d006f3dd36d212784022fbf7e5
+626157189d89748ecbe57e470c7757362d462d6e 2b799a263b8fc1367872a34d15b652b222d2e1be
+d37ce078648b4316535946243f4d2938525bae6c 33961ebf5ea03341c772419036cfde4d905744a3
+53dc405ad35ce7378dbab8af497effdf0fcea340 33961ebf5ea03341c772419036cfde4d905744a3
+c94fdea670e5a36aec7afec4f764ea98b85b14bc 0555d80b5d26b27be7250e2e35d9bc8877a5c1b5
+8c79368c5bc52af9983d7cf5c61725163df74f29 e4a118bc46a2e9fa59305202aee7eec2fddd1994
+8f48d5fe8e88a2c445030b3ae8086fd2d1c2fff1 33961ebf5ea03341c772419036cfde4d905744a3
+bb508091dfe8ab2d910a6a8a408d7d1d0ea39201 e4a118bc46a2e9fa59305202aee7eec2fddd1994
+3ef9d74905487b2a7718b6d2177bb9925a743c4a e4a118bc46a2e9fa59305202aee7eec2fddd1994
+f647d3e987fd050d0211b4e2b76e2851a5c4207f 1d8297d95b328d06fc6e5f66185cddfbbe341b12
+ace1de019775321a9d734bb01ba8807fcbcae9c9 f65803c8b6ed37562163db5c44b30fa8520689b7
+3d5d4a57138392fc000414062200a96364f99ebb 0982ff6d1394065bade1c2533aa6c11752e5f902
+0412de07e47310bffe45ee57a4cb66d5dd7c032b 384b8d736ebf41188c7c2dd55fc1ba09fef2812e
+cb113ba482d95dc057d610ded4fd501b95921795 416613df024f03146e7609c845e7582904c5a103
+5b56c1e6ad8603614e17e96b00ed3a6a3cdb1133 6c8a4f3c2c1dc9f6db89f3bf3764571edf036964
+a8672fd032ac2cd4a52a189823c490dd982fbdef 79f2f81bc32e5a00ad1758cb2f4b82f02ed8a323
+038db068a50a71a62eb567143af7a05a29ae6b18 d4741791a157f91f84ff26a2b2ff6f2466f670a0
+97f64b3768bf57e6914ab16b92675dc93e70475d 5e50a88d7fe800ee03a3bc4cec15c740ca874d6f
+09124079d18c74538abce36600ffe3b221e65067 e6cda97feacf44850485ea8dbcaf1b3eaf9e1957
+75235befa276d31abc81fa4aa85b414e8eed97d3 4e6a42e22372180d7821c10287ed297f6cfb2f35
+637d1f2e081b7bed7962f64449415af27503fa45 d175f8d7a069ab4848e2ee06a5d56e4fad1ebeb0
+a322b0cb34b4a1182d9799aba8ed6e7656d2e20c fea9d5f8de37aa98a183ff88d078c7c6075ecea5
+2c70856efddee38ece91a59cf5e33cfddbc27436 2c8b0f620f7aa6adb4ca48d6020d197ff7e89ccd
+b876b23fdc49993ec0fb12a149b71fe5532affb4 9259b00ab64275f5c850cbba0df827be65457a84
+39fb805235eb00ad08a27fab503780e4dd05aad7 1b2cc13e968c2941481e378147d0ea5fb4ef091e
+9abf078b0be887a2f9893d523cfa80ad0e439cb0 6260ac720bc0f61a17eb02536486f10e3d3ed8fa
+896de7f1d88739c5518ce49ee0231f8ea33e3f30 1288476ea6f3d12f8e7552d12129132a3072d505
+845b02ffcdcc4f85d72820d595e9db805f8d8eba e085ba8ef271d7faf083e778626dc0c156cfd379
+adaa86447a7ac1bcd8bac83e78a1e469ff7600cf 99a82ffe11b178a00801f1fcff002dc1cde4698e
+135a6e5d84790c41271f0c92c9a8f6a05011b012 dc7e6eb61ab666a9119a4bf2ed741eb819bdf1ab
+6c5b071e4ec235c38062148846b00ef9963366d0 ca25d99ad351e2771dca5c4e1564c7b2f363e93f
+70cdf722d764befd7703e2e346d5c37c2b13c3d1 0af2c925a146277bae10590bfaeb2a00e9ffe9d6
+dca3154e0047f8f9c65a81677e8ed195f5b74e9a 733ec1ce65b202deab7a9f156bd65626ee827771
+110fb9741482297d2a7254d2de7895c361dcc615 8b314d70e9e617c48c5fc8ac939f39ee7dc616bb
+825dab1327ca76dba3c1e5bc091ba3a280343038 e4a118bc46a2e9fa59305202aee7eec2fddd1994
+63fe6098f9d3380bb3cec74587dab8ca64545908 1d8297d95b328d06fc6e5f66185cddfbbe341b12
+53eaef5cb16932b562f808c2e9b38fe2b5c46d94 8b314d70e9e617c48c5fc8ac939f39ee7dc616bb
+ea92fd39b043fb494dca96bf5d54ed9a2640db9a 42292bf49789f979cec482a487e7cc5691ece0ea
+32b60cb50c1830986a3462ca250277d8e7cb7934 9bb37096bab7fbddc05d95c14559c8ca3b0656ba
+80d00cb594617315c4696d594ec81d3fc14a7507 2ceae70a36727c7141261c8c1916fd24edd0b8af
+81bb66422074a91a7f16207cea47d10afc2ad2ff a233390e0188c19d56d85a2e1bd990ff7d7796ad
+7c40f3828a805337fc3350156196642c31a823be 9d1cb0264601778182d1ca27aac896d4c5ed2d1f
+f65b4e9925405921ee50601926deb693e8c1aadc 3d7c271f33f6078b16a240fe38b4ea9c7b4d6ed6
+62a4d499ba15e8b81ea5724172539a7b65fafa17 cf6f55184065c4d9c64176ff7570b0bc4809fe18
+b3d40927847e8c050f10b6196656c81f1897a19b a8de9934b064073eee4b8b922fde7e20fc9b4b53
+9ba65416ad7f34fe7253d55c6278aa55b8591fc1 331d0e6577ef5178ffdd7ff7edaf88031069f608
+56469f97b8bed9097c051d17930e9b2b6edcd319 72d32eaf100ab1aa39353f3871342cd75587a7e1
+e0683eb833e4d3e74aab5d25bee550ec6d2e4fc4 1ad1e05fab88007d68c1b12ea9f5539bd2cac2a4
+4eb6bfaab7578a2956c1690d064f7b74c696e857 1ad1e05fab88007d68c1b12ea9f5539bd2cac2a4
+4c84d72f16cae17eab5e9777a733138c678ee8f3 940fb33ae65282e67ca5892b33704e6366cf715a
+da5d644c0e04f407e5920d0988befaa56d4c411a ed13cada1e1f19482531b44607d550d8ce26b5bd
+30886eff05498f54d4f318618cc76ad099df0336 402afce88545796365a5abe8a6cc9a86f002b577
+eaf7448ffebd84a26dd48026c2aa6d53f364fd52 402afce88545796365a5abe8a6cc9a86f002b577
+7ebcd23664d6537d47396ab75dfdd40cab9423ac 5ed16aa91bc9ae281b0cdf8eebe0b033a377660f
+7d1e5b26723cde920e98c33dad52a4d541cdd0af 6e7fdd8c984a3d419dd1d6256d7c679661253bdc
+6bb30bf28f03a7944cae15ba33f9b8618566ea53 b0119501cf6fff383866b67f2755c1d0bcf43773
+6e9f30198f48d8a5e5bbb8568b73d1babfcf0e3d 40dc03334feb17374d4efbf31004d3cb20625445
+45b03852ce3e902a96eeed4f536a6995421bf455 7d52a201abe4a6b1846227eedd0a8a28fa173dd4
+46bdb93083c34f59fac10d796d144ae142143232 edcac19d55fc3438277dbf7fac65d62248a4aeb2
+a4eccd2eeac6138dc45c8d2e124d41081f0662dc e6860b9e97d9676ad73bb67b41db0cc35f1b28d0
+3cc590488a08d5a1503f89f7fbaa69f49b970dfb 8b748eecbbd3bf779d4bb63e0accf9067af1bff1
+0f5c432590f2ed9ee62fccb3ec4ad3e3c6e05ac2 c22374e15bc0392a7a1f30d2c98b514bb7d0fee7
+bd391b2fe4d78e47c2f63bf676ba86af05dabf90 f30e94bc065428788d5c3f25490234969e6f60f4
+4db06022b15afd24727f00e9f8614ce3bba36e34 6bae018717af23f5568a0b45fccc64b7b6b36acd
+1d6124bb3625e2b68eec73d8c13a5c0212e122b6 0849668b319899c4d8159f0c318af1ef9246194e
+9a7d6c8bbb43db4262d93badb7236eb20f79b110 196b0a00a4eb82d56c4d86068d403b120c92cb11
+44e7079fcaf2f024b1e4949e059dbec58d6a169b 302b4f4d0212f9b988f40ad822638a38c161390b
+347237bfac1e441e408b576f11100b694d1cbbf2 c14b2ae81abd8d29fe7d711fcacc271928f5b7ed
+ff98da6678da547b306870fc729fe31d9ee63911 8e21994f432d8b89b3f91b560bca2c4f5e346704
+803b744ded5a4666ab7fe4c8375adca085a605f4 8fcdb1c3e3a1854a05e137c15f1a4093ca0ae554
+6c055677fa7bfb032c3119d4bf997a6f61e79d25 baff7295e97116b2d5a1d779c58553fb42038cec
+abeff3184d1fb787a11b98787c1dc1719d98dc57 7ace6af9ae3cae763799d95583c9e560b9d0d998
+f092b86403698131a47a0026d14945d4bc3504fc 27ac1cb8c907624bd9b530eaa213754afe6c74f2
+fd75db5ffcf8a6eac788329780d11902aeada85e 1f21e13794e8e3b71295fce5925da0552731d1ac
+5cf5b22b31649a4ace090618b3b4d60ed7d9ce3c 3e4ff8ce68f2b01318d3c86f8489f7ad06d0c5a9
+8e3f9472fb263f4a9733e3fb9aa2b79a284b352d 6f05b15f992773149b65d3d4ea13a2a36af5ea6f
+321b9bf845cbb18c4b46b5c0818e82f701eccb7e af1e54e8e2d075f07ab6059793e4f30f9508c36c
+d2ecd0fba2dbca5c151928161e6cc49c5a17e8a6 29052bc6414012f8d6e12a4fbe57970af2b0bc6e
+c13704cd5e621d1a9c7990adda2f6b3d402933fe c77bc4b70e0acb62cecab2644e0ef878bbd0340b
+b463c80ca272d17869d665644e0ede69f29fc432 5675d375112b4c72181bca02238f05057d8816e2
+e4fd28568de9560d6fa76066a9a2cc34df593c3b d62ff8cc72d532cc482f948c13e3b61c0ad8ca8d
+2142ea3320cc280f2a430e0da4f3c49c475f970e 62bab44c567f9c73eaca7807658fb9488a7d647d
+593f504c70dceac3621f8669d1aaae2b370596ea 2ca77bb2b471e0d533b85b30689b23f456dbdf0f
+8555baf7a759f5be2e3103d883075e877a7c3882 204712ef1b81b3e22d70eacf1c10ba8c457318bd
+884747a432222fd0b7a16085a2a0309658c45eba 7fda5891a602532d94cc1149d48eae003afd2f86
+85eb57c5e5a48cf6d364c0855b6e86f868e4ca7f e72c47675a66d0728a871cea218626f0343316a7
+463332b884c567021cd2f62f32c689cd9c4706fc 575816e106e360b0ee8d9d161dad9ec2fec3590f
+924b40c53a086c3aaeedcb50964831caf0adae4a 2e6f8b44bf0ae8c95912c4cdd8e79820498de99c
+b95f507d64e05518525a1b4200fe2f8bb34e42c7 effa67173a0e3c32566dc429e2d12a82a13c3683
+b65f408e0ea3ffe28915f1a1bd8ce167719083ff 55d3696ac5bf13968f5e6570941b8b180c1ae956
+3a38a8a86d0741ab0ece65ff7ffae85fb5fbb2ce 8716b60b883c01d4077ee5e5a68b9f6df1c7ddb3
+e38642e0c21c72b8dba38bdc61e3d10ca4a2bc12 9f2d9babc1bd43e73acfe5c2ef6f639929871de9
+69c391e8becd0700cd4cd766bb72578868ef9fab 654e0b0110dc1f4e4426294e474e0e02a7e001ce
+b8988b67964bd5ece09aa0e96e9255e3312ace1d 4754574b8fa1ee0bfd087a3a3e78c6b3e0676f25
+d2c73c694b9f15321cfec36a0b354ff1cbe0c32b 54c0f509e41f8190d632b1ea902d2798a556ff84
+7498b6d88ea5352bfced19f36ec11d46f38b88d9 37f8560e93bd62820b94f68a5ba35c78637b8832
+f28d8aed98d1e821755fbae91e64c81277e60c1d 3be7cc9a0fdf9cc6fc1c1335012a2970c645c3f6
+b1f5cd91f6e3f3f5028d1119220e022b26e9c724 771c1ec6e21136df5a014ca61fbc7db86d0d0289
+6594c303f0bbca248d33c47210412e802cfd86e7 4e47c03753de3a5fbd91aa4ce8310d85110abd08
+e43c205d02681dc5adbe0ae154ad4b4aed65a3d8 ce9fce8a330ed31d69ebb4664927da5c0fb0ad74
+f7c5002e481a6747ba223f97241022f802ee0f60 119d0c2ed86b8095928cd6f5de8b118fe026258a
+57871ee741b208a12e14b3a6caad230ce687e712 1f6207da710d378d43eebeb9fb5b8430c764c063
+0c85c9a839d7af565c83d3ef157ed352e66dda8f 83e24b7bdfe02b69ac6e3305aa84e1906dbe3b72
+4220d4971f8cbc906c2fd5a5c7bde97f63b95f5f 016c5c94ec702dc5d4326f85887c72c01db59285
+8cce890b6b55fd5a86b0e7393bb1d10f6ffb88d0 ddcf2196d02e05b8e9fcb2dcfe351cf9c5ec05f8
+aa8a17c755fe207af90e6bb32e0de8681082a141 6e99b1eba4b442038ce4b4f7fabf99039b5e8f30
+8dffb5899485b4e3f2f69daa7773776d3dfd5664 cc746100454e12f8c3ee92069c92159b8463bccb
+a6949a5c575229a726d74c845826877b29470a59 008b2ce2b68f685632bcb62f5c60661cafa5f3d8
+fe9595c415e77b8e8e3fdce33f6440ad905b53bf 43a95e49f84de4f1b4fd9717b1321b4aae36f877
+78d80a87c1df63cba7408e9a8a4b105b9d034085 75e594f7dbc854342f116035dda9d8a673eb32eb
+bdd1e3dbc3227df9684d0eca096bee24c53edf59 0788417bb4863baee40302e15b9dd07fc006bb50
+84ee8b49463c7fc9dd60b88e3357bb0afa6f32d5 ec089fa0ea76d477771d08330e73ad49ff62b6b5
+67fe4001387b97a8a72a0254b4d071a243690703 bce4ec477d8e0b0739186382aa26e09ef2f584b5
+a205f6db4131b381d6161f1b05a058cdfbe122e2 e197296eda501294ade166c91a7ce0a0f6b61f2a
+53d6598be0c65c8a65036dd8dc113619bf70ba27 40df6505905c59db248ecd4ce41c755fc40ee27c
+6def5b0d803aaa24b8d01e0a49759d7d9277904c b936f6854293014ec285f00ed7323e3b28cc179a
+e428d373e0298fc44d38ce1292aaa55bb155986c b936f6854293014ec285f00ed7323e3b28cc179a
+cb5422bacbab86e06a62a65bc154481e720ef8e2 8d2750938661f1266ed4dc390487729f35e42c87
+d5d7e01466720d890059e1c8c6be7dc63c42dda8 00af3227f183a3e17280caf508d4250bbff20ff9
+996c2d2705f5d3e28a51e002cc81225f89b15cc7 89a0a35daeb075a71796d5fc40a27db166ec5ce0
+1df04bf0fb75e762cd44b069ad41f1e14019d265 905c111088ecd0e376724703507cdcd805a71cb7
+fc489264dcc1293be19857b3ac0a90e17e74bffb 5eadff4fc1117b6f24bbbc3b412dc7e136a02a00
+d172713b53c518ebd40af2921d7d90d6e5ef150a 098218f121c4f111da34e1155261b1a991f7cd91
+85895a394d12c4bc7afa69829b7ffb2af6817574 f4319333361e31d6a9df38e5430b2b1ad7871b35
+ce1f6165431098bb10d36970decbd9c85632ff07 ed15b1c154d64feba392c5807ed77cfff2b10857
+cda23729e84cfe35af455e68847f4639fb7f0c5c eb9ca13eaf2caa0cea870a95a6544e2d1a2e424c
+ac747375fe11dcf2d56485b80ca30b866bd102a0 e658ba5293ae6a8404cb2aeede6ac757e8ffac72
+1ec61f27a44538d585e8b81685e287b16c2948c3 2b0d0a94ff87b0e6f3df37314aa041aa6aaff927
+23fe51ef63fd31511cb5c2c8af0fd91f775bd470 afb61e6a1567623e22d43a060cd32e5e5cc9c435
+98591915f3a1a0b32216d9d99e2a2bbe0c45290d 830eedef477ee00f2bd7cc2dbe8237c4e69dab09
+62a020c6770f7c272c04299fa35fcff4de4dd68c 830eedef477ee00f2bd7cc2dbe8237c4e69dab09
+ae4ca267f5f30c69b14b9467da81ace4303f4ea9 830eedef477ee00f2bd7cc2dbe8237c4e69dab09
+aa98c5ca7c9193dfc4aecaa4580c7d6d2c7b2df0 eb6f34b3ebe0d9e207ef9017c53855e1506d9efa
+9b4f4a31b76ab1866be50795e242dca0bff05c74 7ccc7eb5c049fc364f4addc8e376916876150941
+619d2f1dffe47ef9f331bfda808c73ea9b480224 0996f058ccb1dc0c69ef4ef6ecdb33202008006d
+05714a8329b0db7c47dcd9add5c24082dd2cfc64 05f43d55e04c6e77e0d33124db496d8af3727c9e
+6614bb89ba64f865ce38f800ecf0e4e9290ade68 4c71ad8c769fcc348e382bc3c44ebcc6e638aaba
+35295f46b78f8572ed0da89e78de3186dcc009c7 749fb37f1896cefd5898935db652d6816e3d4d0a
+5f6ddbbc3104dc145f4d23ad164f9566fca2da76 fd046bc0012cf5e8c00a3cfa93c5400d55ade8a3
+50dd3c560b5017b696f4fe9877598eb8aa14ec95 30a8f52f60407590b0d55ce75fb18ea05493f118
+32b852aada1d584be6d0188f49445044d355c573 c6963637056b90557b68987f9e46cdafc2f56bb3
+5c6774214a2860cdca8ef2bfda756874a941291a 6878efd7bd64ca7d5c8df829f17f2c0e6a8d5913
+383088c70ba309f21c9df652e0f216a80895f5ca 8ace9f2aaa126c35b8fb0559d169f0e34beb7fb2
+ec2ea3db516b36cac45bd59ac990022d64a9a9cd 7497de39e68a9be77a0cf85e4bd592ca9777fc25
+286cd78b4dabff92366f7bce680f086a8594eaa0 fc447824f8e3eacf1e831603e1a55b894dfe6938
+84e986af8eccfa4e0a5641a9025a0e07ece43f10 bbd9402e584e13c9b0334bd48ac18a9d00f16cc9
+0de50c74c3b892078f83eb9407f0086443b13d19 84d130fd451b841f530e0958204c39f10015a8c3
+675e30965fe12a9c16d163cd83c83662de3d1b50 6a11b7e045855eaca78d27b071d2f4400321dc51
+b6c5e326de3599feda3506b036a00e5b288e45db a1539d71b6e105de5273176f1555b6d5f4a16e9b
+bcb9333af5cb7bb2c0075615462e2fba291938d3 c48fcb01aa61fe575e255b5b91b8fb1771b94cb7
+3697c80860d5ee3b4f1792bba6f5268c0a2c6dd4 e7b460bc2642aa2cfcf7dc8fe894671c1de056e0
+59d28d7b63596126ecb4078b48ca52cae768399f ae58a2ce748ceaf42ff8e180d826a06d5df58e92
+25b67016557af3c79cf5fce5d647f9f92f09a484 eb3cb57f032e7bf572fab28a47c089f315029dde
+e094573588e42e270e096b23d650a47ea7cb4d6f eb3cb57f032e7bf572fab28a47c089f315029dde
+2455426ff8b24f2ebd28c2efcfa06d462aefd179 eb3cb57f032e7bf572fab28a47c089f315029dde
+4fc8fea48c0f6767590c35f2cbae990e9d41accc eb3cb57f032e7bf572fab28a47c089f315029dde
+3b13edb1dfc7bc43ab740c15e0535bb7cc92bd88 eb3cb57f032e7bf572fab28a47c089f315029dde
+93b7db4fc776fd8ce50a22e7d7c37a6e56a59851 eb3cb57f032e7bf572fab28a47c089f315029dde
+9e3073d39b7a155ec8d86ad45dcb35f9202ea6e3 7eee534f14cb6a66657d38716c3415908a5dd30e
+93d2c7ddb75a795d152f79f3f5c00d3e4cdf048d 98b9ab9a496de87a01e0a1f4b6b1f2e85a052974
+03a3907d936051f6b49519c2f6996f4e9f67ddc0 98b9ab9a496de87a01e0a1f4b6b1f2e85a052974
+16f1d5d4f8c828ca99ceeec734763f3f395f3230 98b9ab9a496de87a01e0a1f4b6b1f2e85a052974
+289f82735b668e00d4c79f064c25644ef8f0cca3 98b9ab9a496de87a01e0a1f4b6b1f2e85a052974
+2eaf2f1dc0f576b95fd3f337207419e334ff19c3 98b9ab9a496de87a01e0a1f4b6b1f2e85a052974
+951bb1a488489764dfc9bdd61de2fd6a59ee8c47 05f1a111959149a3758a7ff9b83129fd10ec9f3f
+a76e895aed55fe2e58cd49b1c01c9880c3c735b8 05f1a111959149a3758a7ff9b83129fd10ec9f3f
+e2ededd599d78358c1f35d4eddc69f712c40198d fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+3ca29b688f09f6f091248181519dc13974c04cc4 fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+559721f59cc3a772dd2de99029035259421195ae fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+0a51d3fe86be55a24dcccfc4a0a7b697b712ace7 fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+f8246f409280795f7f6d5a44c895a53c09649b70 fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+89142802fa2076e43cf9f870af0d0870509a3054 fcd96ccef7824fb0df9a75cc2a10e90b0390953a
+74bc9cb27ee8fd97a3d1ac0a7bfd9816fda50158 3d1661bb5933eaf9693827be10e01370ef490124
+33d5e28c4fdcdcefaffd8a4341888f81b75b5704 e1f8bb15f2f30dbcc76f3b6c1b7d5eb25f852b9c
+d89a2cb230f5cedaf72ed7275383d3dd6d8db42a e1f8bb15f2f30dbcc76f3b6c1b7d5eb25f852b9c
+5c540cfcb64f8df2b061769d3e4b8da97ccfc3a9 e1f8bb15f2f30dbcc76f3b6c1b7d5eb25f852b9c
+d317f60b882f8521cd9afa5a55aa42bf5b6d110e e1f8bb15f2f30dbcc76f3b6c1b7d5eb25f852b9c
+fe928cf9f7ab97412f22b8b7928ad276889c717e 5e233889df13e9156ba5b2311834a42a9d81f107
+1de3de1a2a8968a167315d603999261c21cee1a4 73fe1b5d91d2c18f812473668c648cf63957061d
+f664a390a31671d8c991ca048e475cef65e7fa83 73fe1b5d91d2c18f812473668c648cf63957061d
+7e42417571f232e65e0d34b1fb6ed8f259873ea2 f0f26155ef023ba7eab56f997d7181bb0e50e6b5
+7959c5512b2b8c4ff4f4868fcfbf9a180f5a3b63 96fbed165a5d051167ed7c6ea3e49367d536112a
+a34bd81d9a033cbfe1164f30db457f9e116d0051 96fbed165a5d051167ed7c6ea3e49367d536112a
+767b49ff4d5ba328078027c396b3e7418de6a848 96fbed165a5d051167ed7c6ea3e49367d536112a
+eef92602c77689a407b26adc8dedcb90d4525299 9e020af60428468ce4364eb4af6a85d3c42a3cf7
+393a04833496b245a8f9191f0fa635af483b91b4 9e020af60428468ce4364eb4af6a85d3c42a3cf7
+781c95d413481e467693ee8107b2666fa31c8485 cee44850a114d0d52c23a3b3bef97c04277b4e78
+a521241956ff762516bbe7f7eb0d4f5746ac22c4 6d484ae975b4705b9bc2d2d4f9396c28d0d4e5f6
+d6cd1752eb62250a9cfd30f0f622fd2c2ff39b5e 77a90d8a1b9c1aae4e1f9a4b907e24339736fc49
+735ad8f59de04e3a53499a0565e0529796e55e57 2f90f188794ebb7f88e2f8b0697c5bfaeeb1dc40
+b138c2c7000fd77730f875585ee363ca0c6668a7 6fe046815346e463f4968de8431af46d476cd0a5
+b8196a4fe788a805f088e8ce6e10872b75a77caf 5d5eea2fbbc380e449230939213f024cf125defa
+154978e979ad72962163db63434179c19bdda9c4 82196e1cec0f0ab28efabcd22067ff905615b834
+3e749ba5607807ffe94dee1b9b9a64360faade79 174f1f7aa1271983deb7aa5317353b0b9e0886d5
+dd0b9b0bae7fe1b97a8b8a366715401d8f81a51c 104be8b1c3f4f16495b800776b6b2e106b9e2234
+37b484c352f61b7cfe58e743a9e82bb94bf567a5 e23e2be02f2e55b7bd4a0f92d0a89f6b6decd46b
+88202722425a6daa68cd12b1b59158875a2946e1 75faf9c5f87cb44f20a358ab5c1feb3f57adc188
+61d729c851c91a0900d3960aa0b0f4c73fbe6773 b608cc4b0d4b63a4164af4c61f28f3342ccaecae
+afc472a80c623ca043bd0bf8890448fb6d5f2c9e 749c9fadc46c740b07941fdf081774efaede0b10
+204f55c00e467503d9de1843e4ddb35448590007 a51af7befdc37122ebfc37f80e2babbf677a245f
+b91503659b14775c470c78dfde7dbcadaf7f9791 4de20fb7d9ed54c6c5140c605bc0ccfb7ce7c862
+75ea72fb3181c141a4456eb9ccbacb533771517b e474513a0d0968671e4ca2760ca8f51101e4c08b
+8cd3ff49aadde38c34dcd498cb0c8ada57bcbd52 73ef56169bc0a5c30788f22fcb859a91bff9f571
+4311d7f96c47b7fafa491a53241665770689cc9a b96662eedd22c35ba3c092af08af2d61f6038c49
+e81a77dd28c310339178bf9844b19703a8323420 5fac2f2e936f0312e335c2981efb11231b3ab577
+9c66358548cf6fed2c7e58ca027d0da86f3761bd 8d699e95ede46969de5976cf5da3f90230fd50f2
+99cdd1d47334a9f30386857b95265c2758d7c63a 9c27235c9f21a38a91ecf5a534655317f9bc4ad4
+e774b4e509dc824057fb5066b30c691cbfa1f267 5b11d9c376823509ead9d7d4205c164ad71cf8d1
+68670ce92ed1d01651615055b30c63ee2adf20a9 02034815e738b23acb179f86d34a79079a7e90a4
+65d7acab2f54de6f5bbe506ec82a4aa9b7d09522 3533c7854d175ebb2c01b8d0ee5f7912b1b6a65a
+8e961091afa54a5d98a37d7c7ff9cac45bd864ca cde806638cb5eaf3777398f80ac535730d922164
+71946d1e2a90d5cd4e9adcb1b606e173eb4c6c9e 76310353f51d2ef6d66423987caa29bb11539835
+857b3977d04ee07203ee940f0bcbe7f71ac52fa2 2fc5428878a731b257678cd0dd59a22e5df581c8
+6707cf167f36ca5bb00ad9ee065c26de5bedea8c 4801376f24147157af439585d2a86ce9b8b1cbc2
+b5646aef161ea7ed9d82b15c968da167d4d8e8f3 0bb77d6ad2407e01c4d74aa163635869e484ae34
+75b1b380a7ce5c0688e3ca92d96c13721259832f 3c5c0fc9e3003591828a6e31f457e716e6562088
+08760fcfb4698eaec0c71b71ab9790313d986154 fdbb4a3fd606caed4861916c71467ff273b1080c
+3893ce3cce349b7772be9ae7c93b8c34db092ba6 1d5dbd97b0cd2c1df964f94d5988a2464f2c9a5e
+facc2b8434da83110b83f350aef00faaafb3a6e1 7f8c0aa73dd1c95249166d83fe754988a61aa1b5
+253f8dbfc21313fd6dc4a42b459b11f1dbc751ee f7bb62036bde3582efa970b71aefcae1e99a7312
+3ec324bfb29054e1bd8ae00e422de6a7d3c6b76d f39d2cb0efe67524c3ae53bf37b4dac0c0d0a58a
+9b1047a7c7dcba4dd2f6910f9803c72a9802a780 b123ba2abb85f8de891f70be26e7af62d3bef2fa
+2436b9bb33fa88cbbc8d50786c50b69143a808ff c5d684e0efc5f2cdf626a96c47e72241a89b83e9
+4c5c3285ac81d040fae8dec38388dcba755e4ebd ff9a25aa210b10626506406ea27139ba56904882
+4ff86043e49ef958f769dd79d28f77a09510dbd0 5d405dcfef6f17870e2e7f3a59cc44b4cb090da5
+05bf0914ce79713115b07440b32f09c14efd0800 6e14b555dcaac0ad21082c59843407dd7e7b1d1e
+601018c507c99d7893838c83e62b60ca41907db0 d5793fada65ea84b7a36803c209e6f65218fa963
+86d89fddbef3707463ddeca47db8fb43b98edb6e 0644568de014307f1b7d95cff7a7e3200e20475a
+07c0c720d18aa3de4004d4de852cbe0536928800 5a595969223c9b59ee1a2a356482e685ada7c5df
+19dc0ca58f152658b78a9d0ec7a64ea2d4ea9525 94cf9873d418b50df755b38fbfb423734e8b589b
+ad920a1febc5b5ce0eb8ab3af4feeb854d5b13b0 d1671fd5bedaa447fbdbdb4e3363e266df1545fc
+10d6233c29e7654d7b04d393c895ae81d47e1ade a2a0c595da95dc8bb3c41eda93d4b7ccc771f18c
+6d5f1817bea9175f2b0fe03b5b506fae928716cd f0cb3de8ce6953450a8a6bf6628685220cd23e63
+a38c9717c8909b4720a2abd341d6c4a2609db27b 791345c142e61cc97c9829430dd25ba8bcf342e4
+369cb2fac002821f7a73a64c922ce5b530823374 7ca5ff4ab41164f853b099f05c44643fcb039e4e
+64493bd2f9e40603c7cd65ff936c74b814c429d1 7453930e70bb1a2bc728bd42b12a42a666f154f9
+a6a1a9058de6123ee0e8cfec7bf1e5d015da3ff2 f20f0cd680ac81690a96c91a0ff9f02c69a8e163
+159694fa43e9e9f61d5933093dea92055b64844e f089a2eb8f61535d9b7b96b7a8fa69b03db1c4bf
+02f110d8eae3a7f4df3820b7ff1d062ac2b6d013 7681f12f37e7969d99553093f026155eacfac9ce
+c0f0dd03871bd898a7fb0544ce5f1cd464bc11ae 9936492a988682031e7006e03c34cf067cdebc5e
+a8abebd71341cd69f1d6e0353f874a79b3d384ac 9936492a988682031e7006e03c34cf067cdebc5e
+8daa6b7452f4c25e297dcba4d312e49cf36656ba dca76c960a034fb34abf3fb05ee1190fed74ce95
+13a7f8d0c035cc8cf7cf13807714e0199bf4b692 b071c85aa14ccb2e595317043ff093eeafad05cf
+b193011447224bb7f7e9c492a7cafe45ec34970e 35dee2e6b5f248ba53fdb094a5fc934624954be7
+6f4b3d7bc481b3dbde4049e11f54db2e20f87586 108de243fe1bddaea3731b6f00d5e0079607b525
+8347021e11a52b0dcc78ff31685a0eb0a2d18a4e 7baf4a76098294e7066aec781011efc3b23e3b4f
+dcd951cd96b2a76d45a30acbae5721e07a49e0fd 80d0a20f3644f2969fc24d76f484c04275bb8b4c
+e40a2ddf46a080d068bbd040f9c2e20484a37ebc 85bee0f5f48d08e25c7c4d76521a708976560475
+988e3ad3659f216e9069511d7ff293ce11623e92 e26a3db79ba8445158394ed6f95b50269cb40f55
+55f5f0b336ab6293dfe65fefe5bfae79177ef202 93db4a5476ccd10adb7945331ef34c2a65800277
+597c301240082388bbe2f5cf3e5006bfa3476c14 80cc6aca0a885fa6b1abe4c2ef5533c5f0af324b
+0d7b1352a8e4821e6aa3bcc758112e204495ae8c 78360b2d02532d14f64b18476958cd76cdf9b334
+0e03eb17662385138edaad0fec9691c99a811800 6d95f41d53a6b25458bd8d20da9750470e74700a
+49e14579a3a4b80633db0f333f0c310d99439889 30867c9621f9c88680b6271da3658e18145dc460
+db9b0426a490fa2cf6fd0814c56ca20522fb8a54 aa25edd54ff56747f213d6eadad1e84ced82a37f
+2614e00222e7dcf5ce81b884bafb9275f7526e3f 70d916408a51e751074162791d6edadafac6a37b
+dfd9fa4965f65545fe931bd0eb69206f05b7665b b1a4c57f8577c337f3077fc6453f57200fad2738
+1678c25d779ec591a67f20da91a23e5d5dfd72b1 e5107ed0495a03a7e0d327b843feee009a996e86
+193050b23c8f76c606198517a668443f3b3fd76e 79bac099353bc1dc6c99faee5a3faf293b7a6ff4
+ccfba021c2bfae61e4d73e6b781d65881d1dfd92 ae871a923b5b8601c0af3f93966d5658bb959378
+03d69d929bd6759e436166551320eac919468ad6 ae871a923b5b8601c0af3f93966d5658bb959378
+dca61297580e9c83b9ec96dd7cd187955cddcbce 098a46416c333f6be3ef8270af84803f0cb09b67
+51b3cf5e88d35582bcccbeb110bfe4a3e5ee4f9a 1377e3756899179d66642ff819146739b833b824
+645ac78ac8b0fd1bfa3123b91c4b2e4f53a154a2 3b7a6f54cda64713a2806ceffc9cf4fdda23233d
+56906a9aae8d793453f6731ccd6546ae4c7075c6 e53188807ff39fb7ddede3d120cd81251303d266
+2898dcaacda20c323cbdd585b72bb398c6f02fff e8685fa4045ad2758793ab7f4f6570cb7e1c8970
+d36799e7432505f988cde7cb1ab0c09ed3e6e18e e0fe5d37b69e550838ae26ca20d05106e73cca72
+4d39ebe8510ddb67641001ab35bf40102ee2d870 b19decf12a367e4960d5324654cfedb6907e0760
+26b83627df32da8fd4c7b35b6ab42ed3e165a712 ce21b2c0106b08dc0e214b7d002e347f69ffe995
+2d8803998214b00fbbcfb346a9a5e134d10ff439 6f72fc80f2e1ecbef82616c27d9db3d3aaba2095
+7ca4968838e7832ee956b440be5f01e4f3f42b29 7d8df0ed8314c8ffbe78a49d27a436d3be006ffb
+61e91cba0492c0484aed46a70fc45ee70cc6f2e3 cd4813831c21a640b95ef0188a47422fd3d87fef
+1e96c18c11e1f149638624fe15bae01939befcd2 40db709c2529bf0d00d898fad05bf248fc4494da
+d65b82135faf4a6b24deb388d8793c947a21857a 37cc37b3d17bb662a8a168922d2dd0df818cf3b8
+ae8264f66504a36f820d22d0d3b36af5d072feec 0ca4bcb32910ea9903684b03ce44ad60b0a35577
+8d9cd6f55c714567947a36674904ed2cc4e082c7 545fe83fc1f8a8418a9fe9fd5507b42be41a6d5d
+968ba1dee56bcbdf02c626d38f46712348457114 01dc9c28e7ecaab2592b76a68fb130db2bbdf033
+1bccab5901a3a895f330e21ca8dc055cb877766a aa5fe466fd2a4918d60fc69ba12095bb6093f27b
+ba22c58807ae495efe74231153bee54c3fe7f4ae 2a4619dfbbdcad0b8f89d6f8f648c52d8d8d6eec
+cf4caf82827d5130eef55ad90b4eeae648c2bcd8 71f8426682eb10007f08c18b4d40423509f2f6c8
+628821f9cd1be1f3e6ea78cf2033d68310ad6587 7bc9f2fd568bfd13624ec4c7fba1f4d5ab2a5c48
+f13858c653635c3143d7c5b4d382d3b94939e17a 4f8c00ae6c0405880b280e8cc03b0086e0f79afe
+e31e6eeb5221196e4e56acf049494e3b1dddabe2 45390d6a7b27958d93daabda34674660265a9683
+77dc4b70fc7f520e6b409896acc8ab0e554fe5a2 02b8ad705343e003434a02b7fad2d91822d670fd
+f99454c44992675012b549ac4dde0af7f802d85a c9bd9cbade6d7480da0df6663aaa6181684d06c4
+619b57f401c7771b406ca7f636b102a93ebf878c f842237ed5902d421bb99344191b212cc5567489
+3c86b9a214800601e7bcad570a2a9e1929312e38 c3f8832dc0bf942e9d37804c151bf24f778896b2
+77834edfbf88c0e892c7975d6b7484918ba05a60 7ea91116b52068b679bfed7598b04fe53d8fe34b
+a97db09c9953b22fc31cc28aab5641516ece2f02 cb9a8822a920de9579f21c12d4ea61726e160b25
+9f383bedf4d13bd6853c3cb58f5fcfd204957d3f c77a485ad3bb3612b731880b72f35999fd759187
+79a0399a59d3c1af789b38ac2ce3e340cd14d3f6 eb4f2d699324a5ba5ec5e87ab6f0207eedf502a5
+fbb5a5f65b272a20729f25ec4a6b40a62444afa1 46642120ab84b3027d45932a1e14c37d26c498b3
+5c1d73d9e24162e49a77c8624d4c825472da3938 d7ef2d8f4edddd139ff2668bb1bfe4626a3f69f2
+aacb9a6be27dc4eb8b92d5c6b6bb805cd370cffb 5e20bfe98c7e22b0d347d4b3fecb3cb2dc746f14
+7aa8e532e6e04874d9dbf56ab25fb2e9f4481949 268e75d5b72dfdde1137193244eee87f15822ebf
+85c809c2d0a9a924fef56e4e4f466ac77ccbc35d 9fbf05220cbb9f9faaafb1760ed943517f05bd24
+c119c0cc33952064135ed7d2cb645a4c35897d06 5945fc7f80e7e3490b067ff5f77936bd9b9d354e
+6fdd647723f1f9c49daf01b5bfe587e54c09d1df 0ac96d08ef71e0fe87ba6728ac3da0e658a8802e
+af64f79e6bc068354c74490679440f4e4d51c8a4 1936859178d6d32a338109f8326069d9a955024f
+3fb26ee470e670d1a3849ca01c400444b84147ba 308e615b3155a97e3f6afada410b30df18a9bdf3
+c9e6788d2eec43d525a175e4d399a0818c3c01fc e457f883462be37734fa7208ac19345f542b74ca
+ee75738edb3e912bc335385cc2b09e1dda756905 8ceaf04002a4944dd76a234dd3429cd692b29e1d
+12da7c4e348db7b67a70b074ce7b7315987ac1a3 894ca20d87833f08edc8d383d073a0d068b4a663
+056edb0ebfc1af1496f2804e58563d7bb7392106 00f1b0042786d9d83bbeacb942f7ef6fd34500a7
+15f828a78882f7594bdee6159f4e4bfac0f6f5a5 c28bd9c2ee113b8bb9a789bf50db13069257620c
+1648375f63b467e912151b07f73c3ab916240473 97bb6d3fc52b9ee77fcc2ce7a41f5143c813aaa6
+d64d90c85fe7884b7fea0bded08854e41056491d ac9d93a4fbc6cd2794bdd4b6543877b8727ba2ec
+09c3ab5e7d4aa05a871e11ef3dba6b18207f6d94 239c2fc0a06d1b7e97a9821c9179f978969af834
+5b6ebb00d68d58c7f45d6fe34f22ac129a6101ad b922f44856bc284b8e4bfd7735db437acdb30339
+691ac862f8b96c41ff24933b1689d685c5010d07 3be5bb07c37c8c06f6b24d06a5a4d878e7c772f7
+961c4f8d5f1d1e81a70ba5848702c8c29e31d0f5 06a81816f5e02353425ca93416cfe1e6a7bfc03c
+2ce7ed3df4c04adf2513458f6d1967fe6796fde0 5d0e8d5cb5f5c9ed6b31bcd2c1a2396e211d4371
+55aff21d0c3e9ba01594d3b2aa5b8bd1dc882085 46db2161b54e5e4aeef50b872128169b631da25e
+6497a512b70215b453186c8cb557b375eb1498e0 ccb05f8a3aa226993d86126d4bd9fbfbd164443e
+ed54b86845c57e5084012a9b1e84bfa1e606a2d1 d3ef154c7f91a0aed0378be75867aa83383d3fff
+6673a22e4ec7bb5e036b78871ee9a8f9108d8cb4 812ec19cc1f0a26969ed86370c5a003b39409b92
+f009d70bae40c227130e860fae7e7b44dd839be2 812ec19cc1f0a26969ed86370c5a003b39409b92
+f7ee562db92b8c66d7967b5f989642e952434cc8 812ec19cc1f0a26969ed86370c5a003b39409b92
+5fcf6ae1f3926e53191cab64bad8d73322a1b935 812ec19cc1f0a26969ed86370c5a003b39409b92
+40d525505d7491d325da6e67809c310c5fa05b65 812ec19cc1f0a26969ed86370c5a003b39409b92
+4d8698fd2808b9f5416e7376e3c605b74c8add8c 812ec19cc1f0a26969ed86370c5a003b39409b92
+7c3a7aee7b9d90cbd8581e71597b5d51272d34da d3ef154c7f91a0aed0378be75867aa83383d3fff
+bae985b401073134deecc3448b17b9ad34a388cd a6eecb8e54530f13ac8490d42fe4dfb4a677ce5c
+3dd4d1fea7bac16bd8ce7f4aa62698873058c7f8 c6f214ae2cc47d0b9c572d0ac8a01ac89cd64714
+950ce18f20218adac3776084b84ae2705d36f2b5 6d219f3a82037a7861ebe03dcfb33738b0ca8144
+1b7af0e6e480054ba61c30b8f4dc34757cb35e02 be902840f3a4aba5228a7c029374fc449ba7cff4
+64af1dea7319136b5c44cffdbca41d8a008b01f4 28bb6228d4741d804adeba7ca83c6431c8b23485
+626eaf997495d3ecf79d9504ab5e612561737d5c c090476d9e29ddbd7a2bb17dd25b9405b674f6a1
+28cb14808b5fa4342f3f87d2e1deaf51dd84a860 d3ef154c7f91a0aed0378be75867aa83383d3fff
+4b961e7484a40eeac804ccff50d23ad63d390f68 c090476d9e29ddbd7a2bb17dd25b9405b674f6a1
+79e25b98cc0e5f7bd5ad4d08da96ec64b281468c 6b8320faa836c78c960d1198135a1ee7d88ce46f
+8e9cb53a21df71c5a58ea399618c29ecb91ed7b4 ee0eb5571b24ab04093b2113d3262b304c7e941d
+f5a7aad8f45649f9b7ad34a040b29f4c68442a8c 8ac7e1844d8afec3786335aa8c2e421ad2045e4d
+3c163fc367e09b8d751223c71b924d70b7e1b246 befe94b8afb45c08643dfec14220fa151612828d
+9f1ad8f64616de90b34b66620d988fb546471d1b 4df230c64930a8a3a50f1c948d6c84dad491310e
+c902eff7f1033fd8d4f3776d45f478d37f341744 57fb72829696921d012479492c2ef79bf399b026
+0e799cb746d4a7c9b7db213750277343d70c6295 e5fd5e1c0c6c68ab05299147f61aecc228765ac0
+492e8d36be213a7cc94ff6877d3148ae1a7578ad 751d3a1a1a484e09138d3a91bcff36fc6e9b223a
+b27b3ca99fbeaa128303280fd37f7ba9da40bdf8 f7e49623bf12cd3eb25747788343c3ec52e9d5f0
+3141cf7cdfed3667a65cbb106c9987cf6fd526d5 8a2d2a138d6d3d38bdb698efd3e2f847a7f9351c
+50a90ba0261f2f5304f094af89e1914b415dadcc d7f9149d5fe3247d74f316a4f1ac3049f9ac1ed0
+2751c4a3a118d8f77d3c403cd2792bdcb2a067b6 942e0af15ed2b3b03be6a47699b3ad77b5731ca4
+5839bb0010d5cfb15f3672092b2e7ad42707437c 4245b466960a7feb510a3cb04ead499f4eefbafa
+84b6c279726055e850a9c5f4cf7d21106e5c3b9b 2bbbfef9127437a1c74b40011c0a4179b697bd25
+517fab8a1f14a783a3c9650fc37ec6680d4c6282 a2ad1e9d96d549f88c7da7da69ed79669c923246
+a563f3605dcaaad9c007770b2750e5e49fce95ad 1333f090b9287bf9b4c5f80e9dc5a0ff8c8b1ed0
+6df58c86fcd97f338ea561830ca735ae02d29560 fa9e050b7776aa5856edf7c505cf30a86d63dfe9
+040c9106dd6bed567b3d79e89f061c5ee5514df6 fa9e050b7776aa5856edf7c505cf30a86d63dfe9
+06da32814e20eecf5b8ce421092bf5f0a729e87f f7eb1d40ab0870885c602d8fdd19390abf157a68
+b67721b8cf28f6dee9179fee7a4ba465eb355231 be582b50f6a6230c4cb4cd99ccdd5b754beb6ee9
+d2683328b81da252783060e616e5325076f03ae1 d8b76b01ed5cd2d5bb20723d1972fa7d0a88cb0c
+ed99663a90b738a816dd284d864060fb057ba975 00ad3b6d9ceb43ef630089d21d2c15930f47b769
+bb443dfacf961ca9fb1a3cc86bb5fb3bb372dac5 97c870a0e2339b8103471c50bf4297de1696de2e
+6608a4873d9348046e123458741ec5842f85aef5 70f1f1d1f8204ada3818c80e43756bdfffadbe18
+59d147a77446eb800a122a9ba91f153e67688ace 1896970e9cc84811b2d22d34880c701c8d862321
+230111249c1694483d71da5cb66cf541caf144b3 84e1494141697cf3be5fc7981b6ad76d89afa9b4
+d47cbdf382628df22866d9590186d08670be1a79 33b612d6be61f29987a4f2fbd57d53fb680c066f
+5d997b700b43be0d912da4fa2a5df9c7b26f44dc 113fe47f00d5db4a02c73acf137415a822b913f4
+274a3b7f6da9ebb2d9295662e60ebc81b0044158 df7c92c3146f0af1878ff4f8f76582f96ba174a9
+37ee6829fa00acfd29e4d6e22a54054433a556a9 138c76d7eb61379127d1a7bd59d27972aabc6537
+4fdf7594b68b1259a55b86729cc022f12ff87fa7 c6e6c0ba35c33fccc8ff5a61aa340e07e8d4a788
+b19099d227851e3c4594f2eaee53ddd8ac776d36 d127aebee409636952c04f267cf019aca467a130
+dc0282cfb0ba9dcc6fbc84f490c1209a1445613f 68dabeb86a95a913aed50f44f43e92c65d2416f6
+3983c45742bedde802a630e864e04410b62676c0 f4319333361e31d6a9df38e5430b2b1ad7871b35
+6d732860b0a4246dc2221a63faefc731e640abf5 aaaafa9b34220d9c96d1e81f38d58020e5f7bddd
+b100225b54767f02a3a5ec449f62d8bacc27a0d2 fbc136b2a5920847cfcc2643124ba669525164bb
+11940d9dd13d4c185f792d92acc1ccb1e0605f2b 29b9096aaedd98a70fcc2abaf983f222bcf3092b
+f6eba998245be8732d315039f5a75a69f8a88bde 5a273e08425a9f274c11c3b1a546b8895ab51629
+9452604d61c3b2541203a3d783dfe98de94cc2af a0fea8112b06d0774adfa57696e4f4f73944544b
+13febcc81bbfbd074a8a159f489d928c31f2c69b 1ab20b2ba56dbf292a1c45b6bc168e94c56c90d1
+3721523b27ab558d2fc839d7d73ea04a2a0d08cd 990f88d89e5703a8fc9000c0d2ad2cab4b048782
+4919db45899ab270a9ff46f09bca0df061e4757e 9eef4c187ccc8f83066ead5dea95fd180dcc16b0
+afb25c2b3a7735474768582d289bbb452366563b 338064f2769cded8c943a8371eac6674aa5efc06
+c7216af2e9cf45d32adbeab34216387297bebe0f 6906ddc7b50052d1c39aa51285767f5b3f5b86da
+3c45ed874c025fe24b41c51d38774f4b8dfe053f 9c0c963918ee925626039b56fdf504fd869b7471
+93be7bee74548184327775e5992fc03abd8ac927 6120c311b47b7b8516f22f2efecf90b37ffb6a12
+35c05f2f21a31fd1e4c06853b0dbb841707f5970 8edf3477ee3ea99ca305babcc98808d8ba8450a1
+bc19f7771e083a7628bfc0f8a78b0311103a0cf4 5ae7d1b50452d02f36080b8c705e7a56f948111b
+b0b42f2ba8af4e31936d3f07779b0d06dd6494b9 7be8aed40cafba0ba3bb687ff397ae8ffd038889
+2b833061717756fc428b1187f6f92cc323436b60 5fef7c27fbe0cd089549fddede145d53c52ae9f2
+7c0a578405cea370388c014f62978a938d2e4ca4 c836782c10cbea67889a21ee95424f5b11306b46
+485f358e5e3bf4fee8e13d4cb9b296c9a310b4f2 69711ce014a405e485e416a07673e635fbc1f18b
+892e187ff4fbba4bb64d9ff2b180d54c62ef1385 5cec5a9e51406f4b1580f5295b86906806ec721c
+04907e92feb5d92cf33ff0f0b8197f53eaf9d4f1 070239a3b2b91c991cbadb1eab42d301265061d5
+f0e1824231c90da5c0537dda77038334389c2f98 c1cdfd8193fd73fddf9f040fbdfa26bf680ae43d
+6d8ef5160042152059491de1d9230ea461111e59 1e547bf6cb7c71c34fc631284464e1fb79a0de65
+fc51e064f4ce74fb2a92afd0a698ec06710b870e 48d3b1db7e56c4cf6dc08ca53a1b53217e9bf6fe
+6bab663be936834a796df94c9e78d0089b90a795 a134b7f9eeebd128c9b733d3578f80af9a8e8d2f
+3bbd7235129cf1b5cf81a71694622441b8faf770 891cee730f7e1824517bd8b20204dedd32c588f4
+15516faa31b2074b2c0a66312bcbf158df87bca2 400b5d65b553580ff12566a2a59acb8caffb1d59
+15524f411a317162bb26c75fc77b4cb813c1223e 310529d717f4f982a6dfa2596922969f1750a52f
+79dc861434d88e75e329e1e9876ffc136776083f 80754af60f00b899b4e5ccb6a8a60bd4542f1cf9
+45d83cb496796ced02b1d6d6cbfa7ba95fe23fa5 df3b854845e1fa2749e81869c7ce3bccf363cbeb
+24a5b0405d0c3b8ee14c24fe0687e9f0f7d695b8 d09dbc2c1e0b0eb1f0713941d2d32113a24386db
+49b0c8f62cb811581c1b156915420929b59deea9 91e2de44294ea3c64f25265729a40e70d67678c8
+e28f30d5baff6e0d745a23aa6e4be503a29f53cf 63123ff5685eab09a057ccd1d4b131ffdd72cefa
+9032dcb95050eaeb9bfcdfff669dc58fe681248d a1d137db5c420ecac5482911da95875f4edcf72d
+ad0e90c54f9be9578cd7a2813664240fce7d7360 b2b593966e9ad82846846865e6de9c6c85dd2162
+2f2870c2bd4bc054f2c033c876f6195188884869 97dcd00b9c1f7a67e40835376ca2e19669a46315
+105028b1fdb39827eb294da85ee7d9c6b3e900df 7691b9d508a7f688086774effc5211a4a88aa60c
+3fc2a8e92f86b86df97908d59174359d3abe4c99 ffcb5a997ed028393997043444081f2b777c42c0
+5e7791652c0ccfdb2776a274f7988106e4a1838e b9b845fb58e009c19b54ffb2db488a73d3a5a8d2
+5474470e2009468436675317f81739e92a432724 99991d22a2f57a9ecb905095e51e422974374513
+421b70c5e85120d34a67902c31071c46cb4ec08a d4693e64fc47407c4c977aefba8a6c0eb3047f45
+61aa546fd5371273eec4c554d0b52f76cc14428f 799e2a5a8027455049ad2466f52083b24fc3096b
+a19a937e2ec72a0935639e57425f99130b7d2739 cfa648fe44414279fc40fd05c50b4768ea421b05
+b853318f0e1fe6246ec108a73c1ce5bead6a3323 63a03f34f7ae19f45268b3405b69158d9b3fc0f5
+8f64e191866b19ea2a083c85b84a927bee1853de c6d1495ec6f21691a1154ea3c873cab2bb7478d7
+ad28992790cbc8e2f13508c9f155588f788fa636 3478fe4ed8e3c4305885b849bd0006cbdf899a51
+7b5f614755198a8593e12435d1891e9c19c83cf4 ddd262d402153c6911ec8031eb44da98e685934d
+b24676c4797f68599bbf236a66baa94d8c056159 1b4945bebc564a50f95757fcdb9dcc24a516e695
+d4725717f9b6da59a60a43d350ef3c8d6fac317b 3aa19fc3a106f93749f737003aaf84abdbedc5cb
+b2ecc4592eeb0d2f6da9f748edddf7b110fb9a26 1c2209ae39410bc59780d9de4726d08093c4452a
+2e61b93397faec90293b8ab2a40e13e294d0cfb3 e81ef0bdfebeb0bd6b257d599d3a864d3f9650a6
+56d39139c7ff11e5537fc06071e6bb40059b0cb6 bd43ce83c18a37ff197877b9528780ad811a8e76
+022405e1e5bd54a89de1d03fd276a6b1f20472d1 20da0fa96aa5f75527a2404a5156c24b2e3bcd07
+31f123a059e3fb894b35c9b4c72b14c4a9dbd393 f1212bff1c560495aba972b8ffc3055b47ab670e
+c72c1ee4690ce16a1c647d0c6a54aedbcc650a8d aa4b8e3ee6a3977a5a4c2e38038eaf18974a5b27
+1f34aad5a0259fc4a8ae47323dd8db2f6cdc6503 e8b01e611e8a0638ce74aaad418005ae4464893a
+29461fc9363ee59b93abd8c693e1ee0ef0f2547d 0ae57cb2d2202714c6e2913e7a1a84b693bc0d2f
+ad6a2a8ba2f148f6bb9b68ef48b5445a144f60a0 ae8ab82c7aa0a6bb42891d8df35c0ff3d7b3f7a0
+7fb177294818be44d1d8f6ac697dcfdf9655b1f7 4f88d9b42f8bbbf18229152c2da9fef81b1b55a6
+b67e354647798d64e19528330d67ec04509cc0bc 5344d569e308de4f1371f52568c44e1ec6ff009e
+a220baa07f9742a31c3e253be6819d193805a390 eb19496ad5c6ca1ed0ea93d90cb7b45c975b401a
+5d8090d7899501e4cf42f9273736e54ffe939d80 8faff128eb2a8cf02c1f0d99275f54e7e40cc4ca
+b6456fa21251357f052374286a69e7dac9bb4b7d 8faff128eb2a8cf02c1f0d99275f54e7e40cc4ca
+e324c9239bda26e7806b951dc0a6a86308d8ae6a 6170174e41d0bc2486ef9bad4ec60509376784b9
+7f32a8b345e5eae78539a75f670c8d14802c9ae4 335e0c995ac8087fed3487709652d792fbd7c15c
+aa49c9817ba38040e45243184c190b84120d1c43 dff3cca8e64b19676be2680f269e83b31799b638
+4f86da6fb3cb5ab26cb1c07f68824aa3fdab075b 30360fcc78a8e63521f69c769d9f2239df18a039
+fa0499245c130e4b415e7d19c0434adb157ae9d5 30360fcc78a8e63521f69c769d9f2239df18a039
+1dc845af24e1ff9a5c99c064e846f08be0c0b1db 432463d7cb2fe87790113a55c1a11941f6dd4890
+17c2a0f8cb949af55355713cf901719d75c5a855 5b9a3a620b536239ebce07be0676578517a607de
+b806d9152c3def19eac99940bb9507df923dbb8e 5b9a3a620b536239ebce07be0676578517a607de
+6faeb686d9197785141c310b94f3b34c5a49c992 5b9a3a620b536239ebce07be0676578517a607de
+19b43c57235ab6ee9f83c99d279eb5e2ca2b4fef 0a27a212c631bbf2bdd5f04cf2c66566b2773a67
+59ed1e1656d99ea98e8f481fb90e55c21bd12db5 4ed68e9490afeebb8a4518b366f3362cd0f6d8fd
+a5fd74ccc3f648ca5268c6613ae7992c1f619f55 7ac15bfdbfb2cb34e32ee1722a4453c8d736193f
+4dea267c4e458de01cc4a3050e55e7c7bc38c4ac 25f04c12f96eb69db62643cdc0fe9c7888e5f2a5
+f54ff394236e424c55f81e9825dfee63cbeac03d cdb568a81e28acdb03a8cb6927cc75d4d065e172
+da7c6bbbe379f1b3a1d7ee1e3af9c16d2c20db54 96be263370445110a2f0509d1feee52cc85046e6
+b054839fccac1ec25f0e4f43a5a2b559c5289dbd d250adc45fc0cd3294a7c885605881cf7707fd3a
+3e5c2692603aeb2baa66abdeb009fb9092dba747 7a5bc492bb1c1ef248d818ff1bc22346ad916c21
+dd59327b760bee3a84e54a5fbcbdc2d0c5b405d4 b800d8a6e7f31b8e6d9fd919916fb9b5f168f434
+794dc933276a19a7034d06f9770b67a176bfb221 c815605db9a8629cf0cfef574ada2e29edefceea
+6b1d9781fb7acd48b6d8f4372178eb7363acb455 4fbddb71830ef49097221fbe7612a42947c00c1d
+2efbea122a4063a25cd685b224fca94ab825a7b7 b83ec574d5270fe3af1e11c154f2e617056026f8
+8efc2e775c9ec6939518746a6e474092d6db787e 5c9e7e4f003ebf5b9dad2054ae2c8a0f6701450d
+418aaecebfa8d12c6f0ea6b273a35d5615436bb9 f54262241d53bb9546ad9c025517066036dc3d5e
+5e8db1ca0ef765e73c80e5ef4bceea2d215b4543 380706d2c1d3015cbfb53c3f25e62274a06913bb
+996bb8ac913132521578a9d1895da2d018a5e403 239c2fc0a06d1b7e97a9821c9179f978969af834
+ccad6525a9335259e43b17dc42ed2c246ed2cc3e f7e03447b7b827e8b6b02099aa27c6d64d44c63a
+b162724ba06a233a414c78a0006e8f028de2efb0 6383c843e5ba2f5b4c60db6eae8b4f07ccde8039
+4128487059bf4fd9028611d74b4c0ffc85e86d2c da72882f0ba477c269340ccb445e964e591e3034
+6b3a7815a8c9eff576b7c5c1ea0795025a012605 69027752d07f50730a262ed2ef588d4ed014dfc4
+79f4c3fcb2982aad59d456a99e2ad792947403ab 107808066473c609665400aacee9126efeeb00a2
+a6214d1c80b6dfa2af1cf891aee3571d946a278b eefc33bae89d4fd9b73252128e57939782e04b5e
+ea9583439d39404673d6ee6b38e4359db678a334 f2b77c6bc24cff70ea5a3a666da218ccaac79267
+91c41dcb1cdf9df3822640504ceaf4c523f5e351 6b795aa50fc434bd859077a3d6e46f7b4e8ae486
+f507ea5f3277d711b0efa08c65b16bdab1fc9a19 5d59850bb4a276e9f1662ace6a1ddf93ae9bf97e
+8c3760d7cff2f6dafc9d8a8f42aeac05324e1d2e 36274dc7f53c658f9642b7f86a2668e0b6c581f6
+3e24ca75b73803ec02623c5417aa3e3eb5c25152 41f5245ef846f25d2c53744d31c3f630cff59120
+47a57581640881985ada038651d6bbb9cd7e66c8 4896f6642c076695f443d53b1999a04c55e02ee2
+9ad230d14078ce8188eaeac4e33c47efb85aed42 6787b1c68b37f021d1ebc22dc57eb2e5c4795fb6
+15a1a53361f8ce9410868a04df3aac9db2021512 343788f67706d92a76f880a31e3947199096d33b
+15d7e1527cb0b852dd5e368d5ee902900a863c8e 355747fdc3b8b13bb54c2b6fdd401644d05942e5
+95a52950b6d12978563e57992d91e6aaa2cc5ed0 4c8df9768e06543ab95a13bb990e7cd71f47f3c0
+8dde9f72df7555cd8ded188ea5d608c3c79cfd98 cd015c480d64d078fe23235da7ffd1be23a1f89c
+29410f2c242a9c5b99cc5d55160f1985c0717cb8 c3d8b1ef5dfa88c27f10b38539b3f6fd2a1f284c
+662a36bc5a2bbf136d6a5c679b816644a92905ff c3d8b1ef5dfa88c27f10b38539b3f6fd2a1f284c
+961aa61f0d50208bc81caed2e688769ca99c7e3a a1f0c95011d7104b44dc7975dd0d2ba98851736e
+41b4b7310fa27f46ffe783866afb8f046fc839ad d5f168b6cfcbd0e527e882a8e9769ddd9acd6e37
+6907a3cea4f936bfbec914a4f0e8c76c38a5a666 0246002d0962e6afc573613138e3ae2a546d67c0
+659f1c9171cfe46931f58ead3f23c1bcb4b0ad1d 3720e90c445d1d68298abdca585692f8b81b3c13
+76351f3b21123658ad161b6873b72d3931d7c81b 8b2656bcfae053314638ad23bd4929e4439c8da7
+5de7e89c7ea968d032be9ddf3dfcbe1255749c0b 7facd1a529e0701c5024e448011e2759f972834f
+1293dd59ff6ea1fcaa550d0f22b696ccd258ff7d 3c21a8253820981c835564ad66ceeeac75a434f7
+607b2b7f1b45fa67bae586f472a90a3e59a69340 4da61f34770d87731270a55b6da79146ca042f7c
+8987aefb8b9189e2da338d95f74e0c012477bc15 e381f15991460caeb767ff80e51d45cfa7a28e07
+f9bc4f349ff715416bf0295e9613ae67e767b33a 9b249b733cfbd8186322c6f82be787e4237eb39b
+957971f8fcfbdfa6dbb60961c7b94abf424d76ae 0688149cc4a94f3ceff683e98fbec88eeab60a5b
+2f7e09ff49aef4b4e6abe4c1354f95f0621bb3de 2fb1819f5aa00c3d12e82c4c38a7da6d8f1bfa13
+7dfdee2d265d15e1f3326d397aeebb2a9e9a4242 4fce72874d8a41f16dfcbd62165b766490b3e1fc
+cccdc7c50a2030140c2a612981a58f5cff8c1419 e28d49296766ee52a4dc10edc02958ad3e06477e
+4f5058b9b29438bdc6d4d15b42b9f6b6355630d7 ec0dbf8f050a689af284539f8a5e3d76a542de21
+71bf383e279e9dc805755c8592867ba2a0c2a8c4 6f31764691aa20b43c1a95c8980c82e2e8d3059d
+d47ebba0a038818876525bfa19e064b7b639d402 6f31764691aa20b43c1a95c8980c82e2e8d3059d
+8e19c9c5da5cc1dd0528d51002345d3fd09ad740 9b7264215b4707f49dc59dc8ec6bc90ee05959c9
+fbb83e918a21406665d4e117aafa9c6c5a6fd123 f04172856da4ad1131c1f0118a3a82de47f7a6c2
+acade9a19aba3780c07528ca92044b4843fe06e7 2b91cdd967dc9f65eed8f5e5785476938db88f96
+48a9afdcf7a55a32463aff1bd5f8eb29e27311e2 224de9dfdf1b94529a681e9e20b53fa479bacd00
+75b1be129cdf4e2f6f18ae36f83c914d175fa756 e74b335f6ae9f6cf80db092ec81aa26da16a976b
+b96252451557e2a5fb5c8a28d8619927750e51f8 cf619524e85a75182ef62e7349c5c775cec0524e
+09b3bde40f2796a7f17576745acc565b29bab178 0ec634cce0e02ebe474a22c0512845406eb4ee23
+52d34b444f547e11dceb3048c77ce0c3a7bc20c6 87349233df00d00237b1ab62afeb202574c5ccba
+d1ea6bcebe60bf8dbac2f8d991874bb46f58118f 944854ef3621ae02360310ca70807825e98c3dfa
+055a1d77ff7bd9bb0c39bd7101c52e9faf83cab3 36e302b775c38fcd8474229f4d8abdd546f90bb0
+56a29564b813bdcf851b425a0e066d0ca948711a b69c39bce07f1244d5a97b713f28f9847658db18
+3594a8e26046579acb5f410ac6f2e0453177de6b 4c5eeeeac455416a741d1074006b9c772da7d099
+8fc8729ee09a38a1ae71eaaba59eae8f992d75ba e64746fabe6dac65ae16bcdeb09ae3faacb078da
+caab111fc92e88edf26a8b3e686b7bd5cade77d4 7f992425d7c71be4309b7438fd46a0b69f95d885
+db900a77b1c814b51d1e7db4ef3f0227a8c15a60 c7f6d3f87f826fe9320ef3392ee8656c8c06b1c6
+50c96f95ea3af235d71639f04dad41927b0bd8a0 2780a0395a30fd95e22e5043c902734ceecfb335
+f7950697107904c6fe8fd43812d72ae61ab84ebe 28a51e5ae9cdf0f81466b2992d52e60a804c1382
+48a1bd3b71d887777667af3fcf21710a1878c1ec 28a51e5ae9cdf0f81466b2992d52e60a804c1382
+9821d05aa833c17b8944fb68edb66d00f67c2e27 28a51e5ae9cdf0f81466b2992d52e60a804c1382
+a589070d9b8765fd4d9c4adf70e7e7c467cb3e75 8fd3a3bd9a0624d22ac926d78f2251f0bc82f710
+a9484065395c0a76a9ec46d60204a7b506131ab6 8fd3a3bd9a0624d22ac926d78f2251f0bc82f710
+328014fb59548e28a59d77341f57ef18216112a9 f4ac1a265dfbf04882bb2c0d29cf9ffdfe8dc70f
+8cdd08b5eb68f495f21a4d868700f1a45df438aa dd55561c60a00ce646a3f38c7c716be1d6b95555
+15283ca8674ddfb5ec907dd317b9e3b8234b174e dd55561c60a00ce646a3f38c7c716be1d6b95555
+e6e8c8a95d7cd1b467874c8158274d761ee3f7c4 39768dacd8c9dbfacdd139583fd4c83bad43be35
+09053ca87912c0245d6cd487656d3184f7bf8dd5 39768dacd8c9dbfacdd139583fd4c83bad43be35
+178af1253918beb0f7013da562cd3a50f70d1677 7976c7651f8dabca73afd8a4da0a0f1467219878
+00c63dc07d38adcdf2fac1cf06bf672fc1e4e6a7 df5d221c2d9ef5f37da26671e747bc38edc1e4a1
+564d4708c9faaa7049dbb0d476a92385880a6dcd af609e8005149c7334a560423374c49819acc4e5
+e525cc7f366e7368eeb28318fd951a896e46267a 71d6aec59a523721bb99a71c50d692f1c7c979ef
+a6faf9008f77b71ee9b04ac6fa0e2e7cefe72806 7aa5af1d60f7a5e66059503fc1582473caa28959
+0b4cd55fcce6f1f4314047e27f97ba4c88377b1e 71d6aec59a523721bb99a71c50d692f1c7c979ef
+c389b0de4b1f3452e296fef3ec041ddf955b6ad5 7aa5af1d60f7a5e66059503fc1582473caa28959
+db750354eb372acc9d5f3469d2d47b9923afb708 086c9ad3f1611c557df951709077691050580c2b
+91c670bfd10fd1d5fa8fe5620384a4996ee04e9d 7d6f26816b1878cb55207e227948c012e6d7cbdd
+4c8152ebb6b18aa6c3171c681f8a27e62f6be002 638fc7bd3b61d86bb1feb39eafd995bab4043a89
+94ea6cdbeaae8d702edb3a8b11f356c62ac20011 78a4a84ab11833fbaba69bb40f2534b118e9aa0d
+701caf7190a1f612e975951afbb56e1d85cf6fdb 426f7220d5cc675932c385ff4b1113985882d068
+8e8367b3e5a0455f5d530362b448cdb9e9ac74d2 bccbdc44bbd3fd9dff2a1d382b1940d097b59862
+26f8b6c8e690117e0087683942750c7a95861fa3 7fdba71b50a3c591da35810157f9b57b142bed50
+2b68946eb77d0887aaf8e7bcef8d7416acac77c7 27edf629ecb64b746babbd6e7308101818566f2d
+1dc7fd95f1c3b6b279169febc9cd4e1b52d7bdc5 cd6e18e828fbffe37a88e7b98ee07fe5d216fcbe
+7001c7e212c3d1875a989679e68faed27fcb1f21 34f9f41e463e2e65946962a1484512662cd20873
+424dcd7680998df20bf1d9ae8c3047b0257aec32 316d3c8b5bd4d269a9f18d195807ea5126559783
+69fdd7267838f346d6467a6f75b3af3fb12ef75d fb28691e0487432b84d7726a4a58d574ec2d4417
+cbc9439ce0c46f435b8848feeb30889a62c8d15b 744c7dd6855d7e93f7bc49b9abfe84f9dae4fcbc
+df383b5a9b4547bbd3130a26ae8826940e7a87e6 fbcdde48a97705186b27c841f3aee81813338531
+a24e57f1857200ca3ff3633ab3136d66a801404f c5c3a721a42de7e468880b4a48923e8f8212bb36
+b88a58ad1258f5df7cadb42f081e9ff8c0e72a55 7013587efa9a8637394566bbac9c5d537f8d85cc
+9a900120a16b72a3f8e643e043201f88af1d06a0 f947b7d6f9f9b4eb4b09a0bb2f70396b071b7f92
+928f4fe1d6d793b8e43522558b21216906f8ce27 5c317e77763ba54c4dfeb37589b8f440fa753b1d
+8f09d735e4af06a8c70e2918c3d1f4f9d094e039 97476a4f05cf841d9e35d87bea86e68de4d94751
+54c054f80d3973d599ece0736b9f6fda28b53559 c3cb5ad0dd9d5e0887572b89151ec920f2a13d8b
+99a5e6f085584134dbd46f54247cccae0f30667d bd6f4416889462e918f58671110716b453c67a7d
+13bb9b169821328aeea580ebe350fe4087dbf88a 4982d2767091fb38e28b4516fe0f67f22d3b7a08
+9366fa3848fb2ac2354b70d82d71fafb1a1dc3da f670c0d2af715c93c92f61953b93dcd1fbf4e907
+ea1a96f4501b3ec403c7eb0e87191d053b70762f e9ebc15b0ca53ef0ec4666f1ab41157d963949cd
+42c14aee8e3c29edb1934143e7efb2bca1d97238 bd6f4416889462e918f58671110716b453c67a7d
+2e059db2a33cfc6954d13f7e4681e7f99fcddbcd e9ebc15b0ca53ef0ec4666f1ab41157d963949cd
+6a569012a5d489af9f54e214d2106f0227a4d261 24e3594ee9da20cefbbd6c9ce3b752245b69359b
+a1813322082648d63f1ccef7acd5c9df4729af9c 12c5e164547449c074ab3554c703e4160ddedd5b
+395ee1714aaa9f76c0476a9e9e2af2d0a3480026 165606d6400df74022e62ebff103431a0ec152b0
+3fad545fa30495e56b19b5c807bdd36417774896 bd1c66cfe6f4cbaf58dbaa32bbe62afffe8e3040
+f9345dc302aff7681abaaf3e006308b915df5c75 34222821fa922db9a15bd9899e0082b57da29565
+70dd28bc822a03d9b3935acb16c93deeb2ae60cd 40047560b4abdc0b96b239e5972195a7ed8b9c0f
+c2174d53ce1116e1a74195dc43859da9fb36113c 72e6fe8dee59becf9daf8bf37ae43a564c7eabfc
+82432a7d536b96c45b316cf5bbf98b9fb805851b bb0d7ec7bca1048b96f0ab21db5635e25666a62a
+ef4c32d8ae3f5c3d34fc3ccb26ef9d21644d2731 007bca63e3a67a7ad34bf73f4122bac8778ee442
+3f36b11ab228da396a73b18968bd980c5bbbdb33 ac5c93e27eca34f9002d454bd912d217d3a9b71d
+2fece38ec329bc3bf6fad8a2b830a776e1f7c747 a6ade0a8441ccb34d0cd51c672c4bbab03a3413b
+77efd91b996c139bd1374d2b9a82ac40f3f44e2d 45c37e3e1421fea901418e9143f8026ddc38c889
+c52794a641a070251929336a09924c5730463c12 5e6897ba67acf4f398803c9983e07f93f61a1696
+c3ce69a9bba9a65c87a84333a4d84664a1194584 4d586cc384b0fb213d28dff59481b4241a6455cc
+5b16c86286d07d305623f389c6003d8c8fce71ed 3c065192beedf385edda955ce42083fcaaf899c5
+31d2483fbd8132e5f9fe7c74a18a395f55c25ffa f4df6d7d948eaf36591c46f5d0f5968e16a2ae92
+5fb0976c304b020635efae8146565958364268d0 319f6dfc5e5edecafc5a30bc88aa3c05a2fb8c84
+d589daa4ad43c342fcce0e2324f7d1f2a117af32 67d605f869c4cb9261f17f61782c6a18e0ac2e0e
+952b52108152d27d68b99a7e1f2767bb35f53cb5 520d83a0b025e94d7fcaa8520bd7abb120d8e934
+157f7fe9c2945023493eae51e58b3639623c99c3 520d83a0b025e94d7fcaa8520bd7abb120d8e934
+51774d9f3728e1a379e10c25a6beb763521e486e 7aa5af1d60f7a5e66059503fc1582473caa28959
+68b15e626ac4d0897e571337068ce1ea44b305be 520d83a0b025e94d7fcaa8520bd7abb120d8e934
+3344b99f85da483478cf66ac8441bc0c17b9407e 639de2dc54c9a7f3f010569126714e08d8fd97d6
+37062bccf8ebc01633714ec7fd2bdc41f92f6f60 639de2dc54c9a7f3f010569126714e08d8fd97d6
+2e26796b090f42216e0574cbab19723f5c3e0b6f 5ae311eb4550879a95edecd60ae4c71bfbae2d64
+1eb3783d47360dc8249dc3fa3e19de2cfe93c043 3bc96e72384508ec23f8fb857415d1458c8da9b3
+894e32a8f90377d335cd88b316a39a08c8a4f083 13f0ac4bf0a401e67707154454871200338b1481
+75356e768ebbeeb72a8a1f10a2443ad98cac92ea bccc457455441f6bd021681307cc3865bc92b867
+40615c0113c3f3e215520701a7bb1dbc103fa552 1591ff32051807af639b0af3b9c86ea03f304597
+c8aa141aab3c5ce8fe1541836cbfd879b5d23185 ffd6aae6586a24d682342635e52664cc206879ea
+89c72eb8ccb2e39e53b953c680e6a68df4a0dd40 3dfa6501dd5a35f065dce9a6098537f15399157a
+c62e564b7630a2df88f1898ff4128eaff9d9d865 1fc06c51ec10a7d2881dd1ccf116246b182829cc
+ee86f71563eb4dacb633c52c77a36f9d2a9a4f3b 5f61ed58fe885f126cca48df3281499205e0f1cc
+3af7936295553e137fb8fb4eb8e3c77c00ba8623 a0b8c7e853953ada1c2396b3ab2db8bca34ad762
+c6da9077de6638bebeba2a30058b388b8d6d4275 fa7729c377ccd02536b1884697a77e41437219f0
+50b37c2568aa9429bc6f52885e4af2d1a598294e fd48812b7a367ac223175b52df028f60fe39f412
+9992652f25eb4a3cb6072c8f1aa7ac6ccc12582d aa57fe47305cb8329d57c7b8f82ccb597823aef9
+0b94eae66a239b2e63e965c0802bd4b095a64c61 7cadef10dae4986cd5ceac913460e6eadb4d58d2
+cf58e4361922e47f8e28836922088e9a1d9c01fe f99c87018a900eaa1e470deb37251ae37a355880
+3a2f459e6454116d3f84804f5581b67007f52e50 01c4a4d631cea787b732d80a05a49e917cb01f22
+bf913f872269e53ab20be003529de34c13848ab5 c7ff1122a23c001f5722414d9724e666e7cf9c5e
+ce4e89d54c8c9f3dbc7ec5ebd97af6edaf1ac29d bd937f5f148c3f07c26b1b34cbbb055b4655c299
+9724eca8c4c8929a0423a0b1fc48dade9130d31a 531281afc1c0162cd178d22b5f05b56e7aa8e319
+700697ce5cc78eb05bcaeb5d9a03f49a6f4203e9 10a75d41345c971b3eea4d630c60636acc3f3db4
+0b7429a970214616b6701de5ab1464a45c048bfb 9612f4eb8e9a79c6e8f6d41c3117c68f49db0427
+e2a859c5c735ddcd528f9631d07070702910bc8a a5de18c1f68e885d2f05210a9093bd7f6812c087
+2dec1fdba11eee9c1cab4e350c33293b76c7622e 7709919f31a99d2c2acd67f3a2527887709d944e
+c1a240cea1a649a5bfd4b6578d56d88510acdcb5 3148b59dc0f808cb1c2a815f2c18ab86e6ea6b7a
+9ca7b6900a96fb78d92d0bac573c1c47ebc31e5b 6b5683165f537cbe4dcca7664f402550f868fb3e
+8f7b1fe504aa2614d5f84fa5effeb70bf435c007 2bf7df6f31f478026f3fbeacbe08b1d0b131f441
+12320551603f7239cf2ad2c88f118f3ae881423f 1b19557ee39bcc8c563247a41bd3fbc6223baeef
+869fa6c67338069932667a0bd4dcf99251721798 7dabfc26944eb0d5dd1633addf17cefffb5ed48b
+99c26b5782bb5aa2bfa0df46f040d742d7464d6c ab930564dfdd85e31cc27677398f571e778c8606
+fcba68ae013eaa5ec47a3d0b064314f453fc1fd4 a8063f4f0e05fa5c9910f3d995c997b748a41e18
+d5831c2892249c89059be9ccb9cc2ffc7cb01a9e 04249204ec3942c17b382223f011c8c492014235
+c37f777389cd3e25784dfce5c04c4617795fc8a0 ce3ce6e263686e72e07b65083830ceae31ede3c0
+42b63e9a0eba0375d6b70247de5e1a3992a1b35f 3c48509550229863f79ebf50ecd4a47802895cf5
+fc21644ea29ca7bcb7040d234bbacc12126bdb1a 1208f5c9f1a0b2dfa450066d17bcdfacf4f9517c
+29d950988de96514d862ee3cb42cbe0add5d52ed 9f5e76c8d37afa1e1d248a036385dff48f0952a5
+170ed6a590de49ad0f265e8e40b9ff7abaf33a06 270bba1c392ba555d979a86ff79febb3dcd76469
+6dda7ad838a9d4663d9801f1104d057dbe0c8a2a bc4e5dab29dd3452655b8c2fc4bee9dd83d80d02
+686c941558620c4c222fb2b691b816a800055953 39421d16554b798581885cc45a8e6f177aa08168
+20522fb3b990d8cddfc3da7585a96922415c6d7b 94cb02016b1ee04e5d1c84e0259282008c78082c
+a3dca52ee037eece4ba619e134e8aecafab4106c 9f8f869354690541f732d19577e7e2d446587c0a
+70b22fce75f7849f86e1cf559bdd9aa0bb3ce2b4 5ab3d2339c1007625fe5af30c32e09bdd0726059
+ef5d16c99dffd309605b491f36a9ecc5d7116796 5eff5060ba90d2b22940290104249e67ce067907
+d6602de06e43f1e6b4eb01b56adb12aeb3c7e63f 46704c5beaac69762e8fe61ffee25c87e7aceb28
+618ff1c5ae6fa1b45139cd566981b7a15f457a78 2e29b85e7fc2e1bda687027fcf42592644ace629
+c033f927e49bd31358824cb49692e3bf9b11ad28 f25dde3250536abd774daa14214c9faf801d0b2b
+43b98426e203b69f19028a179b4dbcc5ff752512 b9f2730cbaca785cc16cd5573af2bef6274c234c
+ff6bc7146271dbc7be09f99bbe4396965ca8e083 1c9bbfa3a8780d653f724cf6382067f0e1f43e64
+fe82a488d208d6130b84f3725b496110f8c6ac70 6aa49801707b55c29cd38035710848388985ab97
+85e43c5d2622ad1047f94162a4dac8190fdd7cf5 d7381dd56213ece4c0b389047eb6d13e01eb5dcf
+a16ce75c1b241c261ddb2f838070166278dfd3fe 2031f558235a740197971af72124a748bb63caf8
+f1127306469ebd1cba45d88a6ca09040e41c06bb 39b308b56d527bab52e89ff800db6153fd9df348
+703863cba04364e79ce497eea733a95a0d4c41e8 236adb5f52ab748fc195e6c2b07fc7e5527af2f1
+36d2509389ae50ea0d19f6f041dab9ee554cbeea 3c4a551eef7aeaf81355c4a4205bf3e8e3b80f3b
+8a5d8949a7f5a28ff3bebc0be6530dab92e7a247 74257b525df78e4452dd78db3d7dbeac796b9f99
+d3d96210ef4db6a4def7699234ac2161545d77b1 6bc91328a07101dc574ef91484b5b9a898d31771
+4123706b3ebeffbea418185f95ee8d63db4ff876 2e43cf1f1d071e58b28154c953486a5d7b07b615
+619495be98f7a21695dfb85e26c38ed652107864 362fb169110d241e4d6f1cd33202b94bdc63e8b2
+720e7732add6507cc0473152e98eb807d18dd8c7 f1f1778a41365b3deedce46cfe87628bd52e4516
+f8b0212250985691f4fc569fa9838cbbebc67779 dcc2c83dd8ff8a4e8a0b2013ced8ae797e880889
+c127687e7df0819b3c0b29bd400a6bec6b8aeb5b 3dd5ac22f123370b6b1d27961e3894451ff229d3
+8242f29c8d68e6b416c5020797f7e4c802c8132b 4e9ac5a58c830f687bf89faf30f6110661d8bd1b
+6b3612e3a10d955b91f5b3cb8db14ce5b2203646 cfc4369a4c268c46ba10a304b7fe54d704136818
+99341f3a39a5b24a8afd55c664785d67514c0017 0fb9ff161c49ee70ad7fc88e1e21b3acb4e0b4a5
+54d67eac7b8c8220081d22634f3add3850498ebf 85bd6add18fb3fb4be4b3cac4911bc911b68496d
+2052c05449d1b4d785ba3f710eb6719d0c1331ec 4944ff4abc014016b0f66e9016360718c9b7d374
+5bc483e7f3b905c4a1df63d2192359f943a686be b4d30ab8dfc13160e048c06c9dd2e5c373125057
+310ccbef8b51d1b42f171c42bcbd6af2834bc43d 89477b6725b8aae624a0a8e1283a849319e9c07e
+658d958057307f21d0e583037607b2f14c94c065 3003a9502f7e716fea9765faf601e08ffb8b5e3a
+161c020cc6b8dbb49b207e373f535b4a04df741a 3d5a77d30ed95184649ba46059769052d7d2a04d
+dde4f23ea82bc4e96240a78b0dbf1c34c1f9ac1f 7bc1fc0e1b49ccbd126cfec24ae1e307b0b21e1a
+09a920ee85aa2392d68c0a71b817aa330db7b867 c63f2367fea8d54fc45aa537e601e7590b5fcd84
+aab63a422109fb488666501c573c674d20b18e84 50b2467f68074fd759e9bfe214c6bf7ace572cc3
+bed1db50ef60203d2005e72eff9e900c79810fac 0037e3a698228dfae8f56f42570da5a61b335a9c
+bfafe9cdf33a153cc030e6820564c054f4bb48b7 fb0f029a57b67fe587b5ca812f392eff87998bda
+f0931dcb0481a7bbe6ffa788c41d65b418be83e3 6f793500420edaaa16494b71c9aacfdc6d168bc2
+f9c0162d553ad293552ba27daf4a3d543c02f78c b4c2a101be40fb6da004f7831d3334f292e4566c
+3c7d05a40708f11252f37e5dd840d45edd2a7a1c bf3db9db7da3a8592d3338b107039c3e69114f51
+3f3d943086d543dfbe34fbdeee56b014885d7376 72aebba255b400b7d6fa60678dac1afd396c4e1d
+27c264b61844a6e920acf0f3124f7fdf5e8eb28c b480bbdc0fe4ea859c189fcb9b96efaf6ea66a6c
+6c08c42cef871974a4aacd32f61e6be88d81a7d3 f8ea15026db8871395d11668f6348d7d08d9da34
+86e5a28a155b64521a397f13d50143143d5c8f9d 6b012687d0097b683f3bb195a63f0331ac70c977
+9814d241fc2ef8fdfdd56c0e0d6889e578b3c7c0 3209486644649157d541433b97729a388cc45807
+814f2fabc4474f725b3421923325d00356f90a89 3209486644649157d541433b97729a388cc45807
+15a6091dda0104d758ddcbfc57793c5f49426f60 851cb3ab58fbd47ab9bbb22ec7799de5373120f1
+fd28639b9807d1ac76d1627ff92fe95b99e110be b65b42e99fd16799a5968e755b3d56bf2cead10e
+5398e4c47e0cd795b20490a740a95e52cc391881 b65b42e99fd16799a5968e755b3d56bf2cead10e
+98a98541f121c35812fecacc17276699112dca0e 80e9bf1388c80d71e25a636fe2a36f5fdb9463c7
+4eff5bf4e23f7cb423f63517a8392e1f8b95c60f e8c23cda11653076c31d8ae31887c79da99572c3
+d1a0ab5d186eb4453aec50afe51c0a4b3aa452da 1f0b3ae1170965b0d932aec16e85309de3aeb148
+4fe98e3ebf888d3cc805fdfe12e86a5407b7073d 2f1b2901d280785eb4a61c7e4c75851c577b424c
+7ccb5d13f288e92a8d80cdaa302eaddeae98f9cc f4938c8dd4fe78ba4c68722815a839ea7c2edaa6
+96531db43dacf5e2544ae36ac6c0116ff16af98c e9605707f6597d75970ae5dc2fc668f1162d2896
+8406c59bf83a69849585d86af783267190ddb928 62bcf2bec17f31ce1c1dc6a8873410e0174a6df5
+826c4dd81bc2266d6650c302cac7be3be88c082b 28b195e85b430389c86d89cdd674b8150fcb7840
+a79878a635c1cc4d4f8628536430ac4aa3dc024d 33604b9e555ed4b191b770e9cf4464aff0c1dd92
+4c9f1e231a292ae64489b5a7d4bdb736ace8ad50 9df5cdeca138a1a1efff58eca1e835de959b714b
+156496ce7d3f902ec857ba73b49d0aa9d0e5a192 145d18c3cb77b27ab746c5c59e7d6c14a7040585
+edd9e62ba7a713b0b1450567d7563931c279c9ac 54125b1a375a18750ad606e6ebf38c78a3a54570
+0d7d6e4bd2f8cd56dde540bc39185fe5bf40ee7f ba52f0566063abddfc3a76bad4e2a341f8b747f9
+f5c4dfebaf0a5c5e4d538b39bb70ab1eff1f60ac 8e36c35ef74115cf7aaefd64014dfc140b2f4270
+6622a96a40567d61cc30c6bacc7f02fa6b29eaf7 920b4519af323f60e3e6ecf4bec8479f9ed3ec5e
+8cb44d1ba39d2c013357091139d7eae6e357fbbc bafa417328633f8dce4b3275ee485abc0eb7c52d
+0c2b81ff1b091cc0d0afc91ef5ee65d9e387db88 735665339da0b3d3876fadb2ee6ee25fbede7b31
+66cd1d920763900ffd0126cf85568a7914da2aa0 f45b88f5ebde3c5f3228e397216ed5af519fcfc7
+2ffba672ee71d6c3deac690790c783d41e2ac1aa e5c98bcfe874363877102a75d61deb0d4f85383f
+bd88123873ae652ec145c8b5acff3f9088d99c19 57be5f25168bd8813de8cd844fadb33ba97cfeda
+01b26ac9a7bc538313fa00187cc652a5ac957a19 568a12c89c7f1b487da3d228221341b393dcd67c
+35004695d34889ea5863d928760f9f8528710d1d 4230395b4787a46c94a72fbaecdcd03de738456c
+e39bbfdddc2360ab78dcd656c46f2e39a4589f9a bdcf79bcdbfff4471d38e15c39284c454b98de74
+02ed8758a752293b6f3a8e917a04e795c6f3074f e4647d4c97fd9debb739fb703f7ecf0b13292a52
+74215d854057a5f6d263ea14bae1517f8a362801 e4647d4c97fd9debb739fb703f7ecf0b13292a52
+368d629477159f3dae204df270159ea6d0782fc2 b3b0ab98f2a952345f240d473cc062f6ea9407d2
+dbaeb80991517f82b8b2c56003cfbac64639e649 483edf9eda38adecdd26e35fbc6cefc4b96d0a58
+0d74910e027a114c1ac117da4862e4d5a4d3c95a defcdb079482acaa1dd4e73b42f040468607b814
+733dd2841131329bb288cc1430c8ff381f7cf5d5 4db44e8bc4c91e9e4326c69de226ebc22a257c21
+3c693974e5cd55c87ca3a08b9272d37b3175d342 fe6a5859381bf06699ca0c3b6c30c6c70e40471f
+1fb627f653bc5d7d98f019095f17ccddc66c3c87 33013b242af7285af6edc4dd76605e29811f8cf7
+dac113bd31dda1aa9037b7245885908bbfedfc32 19ad46d1e4311eb084f1228a1f034452659ee8b6
+5d84974c5437823af3757ec190f730ea235c0b02 a4c8dfd630d7ce34fa2de505cb9576d227931ebf
+ef09d91c0572536ff73d5f734ddaebd9040975eb 7ed157cc91b1f34e3b9b1ec94cea490162ab858d
+4c2e25e5358b0010b77ad96399064eebb9d26a74 5cf3122bda2b163a2396604b4909aae1884d36c0
+73cdb646702791e29b49f1c1d06d0832a96cfe48 13976b7e4bf8ebacc1a1427e4e230b6fe133286d
+e236532391aed1fd6c3c2584b41beed6cdc66955 3c2e0addcaef29891a48dfb69050e0d729cf5805
+3e1a59d6243428e9cf39e56ee748c0aa01d4ff4f 417ad5b458ccb01ff2ef5348558686f4be116ebd
+1f8e1e73f9f4e4e6c913a6f009530d220f030044 a47dbdde396289157bc5f91fe3ddaaf7d8b89498
+de2c81b0fa4763cc455c6034f254248697122968 4478ec0783f55de19937cb83cf64112c36ce68d7
+a1ae74cf23e4622f394b3cd9d5ca2c1270132f4c 0b9fd1ed8e79813f2e8247c67ef0ce87588f6e4d
+34260e746e589a4ed45c30f08c398f694f673cd6 0b9fd1ed8e79813f2e8247c67ef0ce87588f6e4d
+48399e7cd729b4cf5e007577c98c2cb8f018a645 d7be0594045381e5fdf80ca476752f18fa2a566d
+f66b39d48bdb612936ea29148d909bc5511ed281 5d6f616d43f81e559d96f578e9318595bfc889b1
+21ac84ac895e659790d5b76120f853bdf7ac952f 4403215ed1f671082d430f78756cbad9e21a17cc
+2fc6eb694ffbdf9cc58d6dd353ed10b1519bd02c 4e8351fb2436763f1b857b8bddbb99c2e8f48cb2
+a7e1dd0c7cdff28649a4a4f1be28b893b433f2f0 14956319bd62547b26f5c6638c59648816af0f9c
+c98a9d7154333a5431ca889474988565f78a2763 649fea464113fbc757d73e661dd61278bcde22a0
+8d838def25f8c506e1e943388bd688d8c7d50f9b 8919b700985c63a369f7f094fc2090b96202c35d
+bb93d10c51558e7fe3765c16b07fa9a57c4474b7 da411aa10796ac137228295487e0cf61271952af
+9fb377faa426b78b12d7fb15ca5ed6664cff4f11 0430b993b28a0f64799d796df38082cfbc50dba1
+e429e83b8b70672ce2b7cc6b06ff8ae274996cb2 a56977fc8a1c778cb7a4c25c2f17014b49d4b454
+ebe5df15774be65cba7999871b6e66ec087bcbaf 23bb3317da992a97d2c0859902b659ec27156258
+6d8e38240190d067056666b46c0a9de421426188 25259e26157910010b52c16101091e543a31cd2c
+70d4aa463ba279a80dce8533c692ae21d60bf00a 466a78bd9a9121bce1ca2e05b997c7d39d16c82b
+c84adc6796d060e790bcb4b26a7c0edb2de91f50 f51da7da442621d1c705ae939ec7babc5dd1c317
+a1c58d763e2ed888e3a23b5a72bb296a1daaa95d 7e4b95dec7dceb70a92fbf7d74230a52f289488f
+8f38637492e7ee6f706efe55c71befb7c1543d4f 55aa25f399c16d7851137707766782b7568d999b
+179bb2520833e281c0ba1aa65fb1476900e25f8c e5b6491be90b3ee16478ef9c35eaea85f49094af
+4e6e507a9c651c9f7c0d9ee44605045b6cef2665 3e2373217cea77c10b6f229c3356627e49dd817a
+ff4692c76d3b8d5b1cb6a5927e003d10c322d3a6 55aa25f399c16d7851137707766782b7568d999b
+d6d034c7eaddcd4e96e94bac7265fd8f77fa01fa b968d1946a5019a17f18cce513d9d7aac880f8b2
+51f270bd1cd5b3fb052a4a9506425f50ba7d56de efe14ff1ae270cffb8e6ba05c5dc844f2d7fd790
+584f3beefdfd1b0383d4f52039f48f69a8b6a5d4 efe14ff1ae270cffb8e6ba05c5dc844f2d7fd790
+1e872e2a3582110906913b0083928f21b69ad3d4 efe14ff1ae270cffb8e6ba05c5dc844f2d7fd790
+2bca47fc50fd19834aed3a7b9b9f82ef2c3841cb 0a01332b92a016efb3b82d67fbd2cc0ce3c75817
+9e719b3b48fb3e51b95ab4779f55877334e7bc53 07d47d65c5ce3cbd904eadbb6f314cbada7b646f
+e2f2c14629764998edc4c055e80fab13eb178221 9cb8710b1cdfb868dbc3ed6164a242da21afb120
+532fcf36c8300090655e4dbc8f93541a87d579d0 2e24cb42af168834408c595eeebe12d73edb1348
+d657466fd74df41a8823e4d21146bac580c78d16 0c85915397e4d9f108e51018070250cbf99c446e
+d681d2807aa69d27a530f70251cfc692b26b31ff 8826bf74cae85ebd3ed7573ffe1c94425999606a
+342506ea4cf74ef8c9e196ddd74693ae888eec76 8a49f7d348262557d38ff4e41d7f9467781bf084
+96e783322b3259ffa51f565836b8606576a5c900 8947235f8540e0e538e83422bbc05d5b4d429f11
+834b312bf91116cc8023b43f8c531cdaad1cfb26 6019e9a0ac880a5e3efd2cc9a1465ea1ff6a0058
+2d286311ab4510ac8aef2df189cfa69b42425ea0 5dc6f0a2288a9f9e270870e2634108848cfd1fb4
+1986f7b92ccf3c6e647d00184f12e549696eba45 5dc6f0a2288a9f9e270870e2634108848cfd1fb4
+9b138e8bb99ff9ea63590f8d970509b63903079b fb0c5546148f06eae909270fe9c91c5617c4e56b
+085205bfadfcbee612a2096d8605c94c3eb0ec3b baf02623aadc141cf35e1ac481fa6f0542c49764
+5e024815dcf3203f51c53eb0c1b373e7c425eaf6 6f14e7f6de366f84d8c06b33f9fb059149e7fea9
+956a0e4f7dbe9ec4259874b88f9ab6577a592ee8 3efc94684b4427b75a4f718d9082026102ed38b5
+97332a0a2862eab47e4d482df85f7a0a29f5d323 90f102381007acc4d034dd429c8f20034fa6a2c4
+0f53aef43979d1e12472392065547ff34a01e5d0 23048ab494deb5432e9c066cea068812f71c3933
+61336c6ab3171b61f9d96e54b3b4c82a5a419413 8cc4bf3486faabf4d87c19c8a85d99372e27650b
+b06ed27fab1106e390ebd3e1a4ad1c00ca1bfbcb b98c348bf257ea26edfc160bb0f8a8a7d9448119
+312ce443113b01d79bd75e341f7d47d17e6d886e 516f8b80a5edcfe941bf4299ba8444a881400577
+2f92a90f7d6a7f816ff40ccf8b9278dca1dbcf6d 44d041c30ef29fd0369dc944d2093aaee5725c4f
+654db5062dcc405bfb6f3f60b93a867635db89bc 2dbb6c143ef1379c43429463a1c96ad807575ee0
+a42a99481d9f850091acb362ccbc6d1cf954456c 6442d992b447d31d9ecb048f98c518e5a3848752
+561839adc968e3bf4a6370b9c61465ee640c3c27 fb56a1c6f855d5e789a46c28183527ebc9a9d890
+a7fc4759eb704613b150e18b262ef2951245acb7 9cde374da7e36e5853612620a8d09f0285a3cb21
+9b2f2ec2a07d153d9c74170226c9b108a3f73f07 c2f777911e37dc6fb022714f3cb54b14c1f8beac
+ea1058d1b21997b37a14370daeb0f372d6af1b28 fc4e808f1cf734e22d10ef21fd2cc7742cae9a0f
+ab2028985aa7484fda544f46a645b44982cd28e7 77559fbb73566fdd64155df03c6acf0b73ef20eb
+fd0889dbb23dd5ffb8a683d072c718de34755520 b9dd799d91ba01f52e7b4070eee8b166c1589308
+6e8ca69b7bbdd661dd4324eaddd88f141772e623 8c4502e3728f3bc325d81fd5b04d0fc33160a484
+f65ef7b3caced6437b414a9cb065523c47914eb9 0630af0016bb027dc19c9c467af1e368e17dc1ae
+77ba1e5e8a03e7e5af22de74353cd86eb66b0add 4bf277ceb72e811b63316b022bbbe38d33a54010
+bcd5d529f25f3bc6f39de74cdc97a180596e5560 8f843f854779db1f92f3e24dd44c373942b0f595
+e5efbe1bbfd716daae32b4d4a5f5d05f657dcb21 3cff3122c783a87eafe52d25bca56282177915b8
+1dfa00b6f8dabcae7798df8ab447063ba0dc813d d9003bdf90039d9e1a06603169972d5148fcdbab
+cbcc5527b38f25ad575c47700eee05a4328eae93 84629c11ffe13bd1fa3c0b2fe6818dff8067e5eb
+9b6424b07fda73d2c08f0de0b43e0e4b78b12221 0c9d810b8956756042a0ab7b494a0e01c8a1bb98
+f96931adbe6de4214538c8d133550a1a5fd6f449 d4005bade31dee512e28786f6498436832091453
+a8254340b8d24e2e8a0581e80d4f14b2cd1b3cf4 7b2fb0da35f981d28e79bd8915aedf1f7045fffa
+99bd9edbef174f44c3b87fd8045d3af7b93c67b1 48ccde767dcf206024b50dbab3edc7bdaf17914c
+26684b0aab80404644ec794315c0386fe3e4513a f25dde3250536abd774daa14214c9faf801d0b2b
+87e370829746b952d11cfdd9606ffc117d3bd3a3 ad4f9b81429387ca654c075b02b9a26f620ca21b
+acafb6c4656ae2f2a1cb6d0d8ff7e3f769f48603 13fd82e49efe99c0ecedd886c5eb6eb081fc4284
+1ebbdec36ce4d9af515a7edd3791d120578d131d 6f1afe6e07a7b32f21e874958ab071f6df0b8970
+db0cac328f04413d14c1fe212e903f69c30956e0 df7a30e27281a562e4631636c43dd6895ba5ee9d
+5c6c8cea080469941665aa5c82cb6f38eb735da9 2a6ca3c14f422f5a34eab4b65168ba93294e07e6
+31719bab65fe7137c802c6bcf741f1de92ce72b1 777ad1de16b8f44de91a43cd3cb57f396bd4d220
+0f05a8e70d0084f44dd7c134ea26def683f76706 d5b7b3b500775bcec38edc62cab9c985b1101a46
+22da9138b32e3a7b665ceea9978dce02e34274f1 eb16fd773072e877f00a69a5992f6464ae20d026
+a686c6395c20ddd26ef7c757c7142302066c386e b5e04321714862601fda4f72588b830bf7b7c68b
+60a0397aea4af23c5db9037a9699506a55a39940 f556fe0dd69cdc533c2f6dc12df1447a33a221f1
+4fc11a6f3a99df374068c233b09620f1cfa794bf 40dcdb2fb1155df69fc2f7c49aa82240f5113339
+c9a0277763e3fc4f6449be66924eea0013416ad3 a8a397ab2aee7e38608ca6a03dd389b0a29a8add
+7278c273fb80dfc6591d15ed33cc55b13c61c127 3a313c5f1d5c58015319953c095cdf7075d53b54
+1afaa7132769f17178fecfa10e8ecde4e5f69ab4 07c06eb2437efe27ad049d7e6d1d1c56a5cb83a2
+699be2f2d03139a7bafa022c1f49243c5f673b2b ce967fe6df3559282b467e42294759ff56aa700d
+fa0dce8efa1c8da004bce6754afc4eb8bf4fc8a7 2a4abb309d48c960ee09ee9d7fea8f4ddf656ec7
+84ed6374f40824b154b05b7f464370841c7912f0 f3c320104a584da10403416221eaef48daeae344
+286d4e09ed808bf700ef343a90109490244433af e05705601fd7d19f9cefd19fb1350277eec287e1
+1aa4063cbe4a2a81aea6595432df3a769e21c067 c94dca6d95230854f3ca252f20501dc56b23439c
+814bf7b6cab8604fd6c5efb452f62ba76e2196df 9b46a9b3798cd2db059af6bc8eb2d7feb1d05895
+e32de9ad13b78d5dca6d737bfab64b4e0429f0af 2827033696c184cd39292651d796265646a31308
+3304d48bf9cf776851c4a31f3d64703bad173439 66d1c4da1e67e3437e0b280ba0ac3a3a24eae76f
+c9c6d7731b023914f0ff8647d31b6e0c4ef8e815 d63d70475796a4831f14f32e9a090af033503037
+cf2bebc15866f03b4fad1c0dd4efd609c170c245 5c0ced2acf641380a69abdccb1e25ed5563cc2cb
+ea77f34daefbee94e7d9c38eb755b0339206c077 96bf1673300e8c18e907dccf7a41d00c16907f07
+9ae8ba25d220fdf58db5ab78dfca910e41600766 691ff6ff7baf8bf8a30bfad50581dea31ba5debd
+8ff3861c224d9636e7600e7be2cfda6b64804f59 8d40613f782ffb59d14634ca8ce7b9ccea23a463
+52411b1cf226c2e34f931109db8bd682d3759d0f bff9a09cc8431436733b1fd9b28beeaf6727245c
+374bf04f3f63286ec204d2e507217209eda7c471 bff9a09cc8431436733b1fd9b28beeaf6727245c
+ab78999f8bd8edd1ee1fe852a64ea5e9cd2b5dad 56776d2407762291f78e33e90b9f58e8b99b118d
+3cec4f767f843daf41d44b9f48d422d3412ffe03 17166c20e28efb1666c100612c4fa86c2e5e23cc
+255d1944159017343772acb34ac04185ec301302 81118424bc3eb1267eaff6de6971991081108d45
+d0ee5d60af54b147f8cc08418888ae04798f159e 8a34d847ef1a6c1b4defb75db0aa3ba9f47d7e1a
+d145eb79b047d9614510a6b90c52d7bccc0b570a 587ceb3c6353f6d6d3943188084ec31ca7079722
+ea970f6fa546e23a902d64249af3a2e45e526bbc 587ceb3c6353f6d6d3943188084ec31ca7079722
+190ecbabbd0cf22e0bbbcaa16621cd47103d8241 587ceb3c6353f6d6d3943188084ec31ca7079722
+64ad164e79d1734e43a37398962aa4093fb0896c 587ceb3c6353f6d6d3943188084ec31ca7079722
+72a894bddaa7c742fd6f868c20df98b7c60dd67d 587ceb3c6353f6d6d3943188084ec31ca7079722
+0baba0514ed89c57f8f3255e38839bd09224ac99 7c7582236fe06602cfcb4041d3094e336f6d7820
+a5958246fb390e66aeca7d8ef166122752f3209c 83ec34a7c9659cba40ac614839db0492787b4301
+bf66f8cae6fe1d0af1155563f763d446b247d212 83ec34a7c9659cba40ac614839db0492787b4301
+1c06e205b8a5a6519b2c4852245e15702c5b5d2c d9d06e85446c18920e204b051a1d371aa7bb5f3f
+c206adaf2d72f056f068879ad92ae66b841837bc 9be34c2c6b9fdc644b5d1f42d574096b0be548e1
+ab3cd1821c01c90bef8c80c7300488c10bcc77a0 a06043ad194ce001cdcda50b22fe0d04d59debd9
+0d96a9ae49d61689fd5dd26abc450a6bbafde755 246e4a194200523f19df7bf1b63d841fadd298b7
+805644a4c439b129dbc103c745d12753fe674542 de0ef8ce0fa00ff449c582bbda2802574c665d09
+795255bf58e1eaf4b282636c2ccb4ca7fb712bad 559eda1ecdf741517567540800d8345b2b12d945
+0c54c477ccfbe13db5f769f6f0998770d6a40353 1b411664c4601dae7fb806960f573df27cb0c65e
+65b1acb09e16a21aa4c9e6dcaa3e1dc3498bcab6 ad387438a7f45565803b6e6b0df1e36d69ea506a
+2b2b67a9caa9f47fe5a82aa010ce984a5da34870 5e4d9cd07c0a1e9b682bf025d08f8f468d176ce4
+09ef8106e9ea817c3d340e5b5b2b9248beec2ad9 23302c0d1d7f0bac4c8e8c50f06ed31da0942f82
+2a8cd07df8be1234276a05d0ddff11da376d2e20 895d34435e7d0bd86de702544d9bb21a9bf9b6ab
+0c3f0d8ee0c1478a1b4b6abadc6da165bb342e29 d03b347845fb5a8ac9faf2789f5a15308eda82ba
+86ea14a72f26cb56ac107400a71367aeb062f320 3813fbc41acd078c20141544ef1cc86365a48761
+a7edced18f41697a7f3a001552631bd7a13cb294 fe402c4690eb898112b6fd874f6c043ffd23c1cb
+78f142a1b489db7035fe397c019a7883a9732fb2 728a54dd0a4c737d5fe291a2fcca327b54edc682
+a783de6d6aa858366da9f4183c954ba35f53ef7f 5123980671e6695cbfc4b08b6de53a994aa01ce5
+42c4ea3e56c74895bf9e003629dd78d97cd366b3 4d2a0c35bf0b5c1708a39ac9d7d6ad20c2d8b425
+8a8331504a7de10d19df3bfd32afac2cda1c7b76 382624f188b43e0fd8be5e407764d619807bb9bc
+eac5db16168be364984e4da041db0387ccebec99 2c0dabdfef9767dd89eb2017cac47ac9833bdeaa
+2373a0ec4fa89eba891a01f82e0f49546c67d469 3a7382f4e194dd9a5b1bc4544421cb41150ca263
+9d800d2d5105e8c416902a493a189273569118a7 66c63bc85622ce6dccc60d1af37f441ee21abac1
+fd75df9fe1054838c5c1260cb6c8048a7a22ba74 90137be9416e2e4b9bbfaecef828c6ff9e371006
+9a24616e87ce47b35ff1dc228bf71bcd084f082c 66c63bc85622ce6dccc60d1af37f441ee21abac1
+86149a1992347cedf7a9f6c952da4af27c80a616 90137be9416e2e4b9bbfaecef828c6ff9e371006
+b787a3556dd54b34769644823b7a2cf05c1ae146 a1b842723d4741a0322f066646395f76e4e7cb34
+6ae0355a9e990a20cd19fe099b2cb3eedbb0d8d2 682d43346fd51fbd4daee64663f87656db10b812
+461e256107172c7e4d971a37e26c40cf15139bcd f1c16b6f0ccad4d325bc1e370d5fa52704dea8a9
+71bfd4411a9c3ca9839fce941c3319df7c336341 8b269456c6bb4820f9fd706ff10c287344d98076
+1dd319317499c957e068cea8848f37850bf43b2b 219e1d0ae09ba84d1e7f0687da0cf4978f927446
+cf325235662aae523d78b58f230e666840cde8c6 404fb50cf1ba04b6431750b36bb397784419c37c
+b373a7b5ed5f0689e8a9df17b9f916ad7bfb49cc ea6f1affb72ade4a763b3eaec90d2f8931b90d07
+eb8409ed497b89ce5a72c5d88207c9a55683330d 5ec880c9a657dd2235e3fe37490fc13196bfffdc
+1e9d28f72d052a69f90425b5be3405c02597b7ad b125799351c1be3370ab9ac08c2cee93e7fa1ce9
+f0ba49d62cc670670a3ad80fedf36e1c547ad3e3 dde0e8df2458e7fadefaa841c81a84e3fa6e8a26
+a0fb38e7b32e0bc4749616739d88c9a488e12dd9 7a1511283adf45b7595619909ed069264346eea2
+b18b27392349d81ab8551ab505aa3913a32222df 13fd82e49efe99c0ecedd886c5eb6eb081fc4284
+05087f4eacac42c53acb56d41ca6e48dcd2c8ffd 7a1511283adf45b7595619909ed069264346eea2
+67f4bb0909b5d5acb8b0524e8d46335176d4c200 3f5eb8f56f90ee96306b6ffdf4d34c42fa6f5d95
+edce264be4107fd500ab395aaee331c6d4cad300 72ee47e691dd492a92874b6507546e9f166bcdad
+9ffdbf1c5957888d87fe2f5326bedc23cebd3093 4d42df4f49ae1e895a07aa6284cb406328c83688
+32b8dcff3b67b0ded1047464731e373510ef4487 7c6cc32d8ce879cd119eafc89b7dd49b753fc7f0
+faa5711a18e10832080cb341e88b4598eedc5ed5 8d8a97555f59aaaabee721488cf9ac6a503c323d
+02c84a199fdc79f204c4fd63fb19fd3cd70ad3c9 ac55f542b0bf4f62f7f3879df34e48bbf1bf584d
+5a2f2ac4613bd532a3d1d7664b1e34d282269e17 b73ac4512de3dc8a6acf26ba482176aa9b6f349e
+2a82de203c63159b43711c6c3be7b7a1f3a413ed b1c1fa64c92390239a1f2c456e10a9075d5a01e7
+88a092c7a08cadcd47a338953351613f59486a9d fea4b6ce6aabd4f774cca567aaf29e656abcca34
+f2c176833735e5ad60461d166d687844f38d1010 7013d380d5d444d919844c252f6e9c25c57d39a3
+95236cbb6616bcb14349c7ee2f38383729bcce81 0539a6f6c0b71b512272ce74f813bb366eb4c885
+718b2ef93e13e607cf26e27e0a303a83374bc63e 8a95dec94e1688e9f01692f21062f96455b4f68b
+8d174b0c92e7e2f0e2435c1e9b326c527f658e16 e9bb19857dcc43b6ef9956625b446d63a93de1cb
+b27fd02db41d5b560668e2e138fa00eafdfc4cfb 45172abd01e4cb8555026294b7c1f474e08d4728
+e46084b4937ef65cfc02c7ac6d88e003a394145b 5ef87a514ec54ca668b51abe9f41d2e5d3ac3a31
+e60599542c70495f11c3d99772a1ce6a1b1cca3e 129afb1fd7aff33f0b2257e5535051dccaf3a14e
+e5029ec0a8166a8cdba62f8bb6ff45e04d39bc4e e1a9f5616767e851514aaec2c54d5026e1516757
+da6f690589a2fa83fc45cb816079104ee1baf035 eb5d1eaa885ca8c54dbecb90c0e2a9e9e2e16ff9
+b4d5c8d8ce6711923ace6a316a632502f0a1484b e28956ce9afcfcc515b29e0f42bf690b4aff89cd
+aa1b90b013e9b460cae18627d1cc93f7c7aec768 56930192bc5836ca0f81aa2b5bba2b5fa39bd2e8
+7f71d9ba570f7beb979c59a730cd7c2d00de3bc1 1db104b0ea8e7afb3a13002a28ecf0f5034c7f50
+d1e1aa682931ad7464e9cf453eda8df66b475bed cb35a017262893913717d96008ddb4319cfca6dd
+4910b656c8c2c1f909c327947f625db24808a142 35c0d4be2a89740d8ee1390941a8c8ef14f75728
+cfc65f623bd6c0f9a04bd173c3154ccff9f8e5a1 284c3c488d0ed6faaed746c32d33e20bc20e487c
+f9f414eea90f9efc9638a877dfc3f3397aef0123 b24d0b397af5fc1d38b02e6858dd15626c4c7aee
+228791868cfc4ba9aaf8608b6edafdec286721b5 75923665702416ce5415498cb0c379d5bc3f5c10
+4fa17d3e74ac9fb4da959e006dd6cdf2719fd582 feef1725f2346506017eaf6785dca1c1abb19f79
+9ea124d90c1cb262baf2f9fe9d2986f42d4268f8 93846e0bf16b88ec2b4066d0e71695c1c3155dfa
+19ee32f10e3caef29a432202ddcb77b54b2c00d1 3ab4a3bf5f523eb5a3cd324c9521f8c309ef2671
+f3222e563944c01f1d1eb41687ef122d8cbd6b30 83c41208d0c535ac5031365bc4317ba26dec49b3
+0e8b95e637b07735df83ee7ceb6b0a992faf5a10 2765d9f1e6329051097652fba4686bb3e5595ee9
+6cf2e765182ee80674ff2aceb558ed4f35b99192 334b8b4d1e1a33114a2a276ae57da4e2e92ddab2
+555d0f44eaffca138ec55d76832b5f579a7dceec 3e1484189be75506343757a1e751f5a140aa54ab
+3b801e702096d360afa5b4f1ee940be93ce3060b 7f3fe4ccef779a2b7486a71ee4436a492c0331d2
+d828fa7293b5c29c0e066dc3e6fb32130d6ec2ac c0c0d591779fd1f2069876e48ed46c436344a4a1
+e1ddd10adab51bdf3de5847d124dd1978cf6d80a 85d59e15a116e8986a394bd15e4977a3a40bac06
+44435823a75892ecfd664d23ce10cafdc2984798 85d59e15a116e8986a394bd15e4977a3a40bac06
+d779cc0578f8c5c2f9f43e43a87644660e3c371a ba5ae4e1f0b1327ab579ba8380c7a5dfc611d77d
+81804d7f0779d79ea07688f5d60a53671f822b3e 6e2a54d633298debd15f45fdcde4bdb90311af61
+c52f2c567f3ae650629ff6dffd6f9f5ab651f7f7 c34061f38fa7ed17bde06b0bd1d0d0173c5be29b
+7a8e328059b263d5d1b7dc352fb39c2631bfe2bf 158f1b2b58b5ce72c53238910ca93ed1cd12bf7b
+8195061ccb039e6bb3ba20538f876b8b78c818a8 9a00e99a96fab0458b2959893cb8366b0a92f1d2
+54f4ae97e3fa53f13281470e346d315fe15d7364 b48502e886335703f41398bafe952738a52641e7
+b8b268436c9049aa1e50a87941f2a67bb1db40ac ab52b3246cb745255ab5892b53a287c8df647c1a
+37af2717749c0023b19a454c8d72c06ef14b2823 58c3bd6fce8d61fd2d59781d85a790fbf3d5a9ac
+96b6a59a86753ec43d3e2ce80a4ccadce1c356ca ba31f0e53f52158bda948dee4a36eca9227779ea
+2feba25998c0d8416694d5fc8e454edf2d179b41 a785ff771f063a1aa4da9217bf95bd05c09ff949
+89e779e744945210ef6c223198693131e980c6b5 b700e37e400c884561ab836a04ce96927b9caf8e
+345aab33736988070903f89ce2f1edc6f6d09c86 b105852d701b30b256b60eba1adb93d2736e18ac
+611009a4073b2eb13d510c9d9cbff30feaed2701 b477b97ad543dd54b2cee001445d161ff17d1c55
+20e8e2ab83d95e4f751fa4121e288ae9adfca691 857fa3ef2e69f2b3fc479518eae5d2938cf84eb4
+21cbcfbd9fc6849774a35a662116de0d40329e0d e53d87afcc3425e3ac9d3b09dddb9bd5f4bbe700
+98a0b5f80b58b883f2f099c2185942b2d0c795e1 a6e0ad517fbb6b20c4cd60c99437cffaf0d6bde2
+62e327b06ab87e2a1fe5c0261e3497d47738d760 63d78e586d211efadac8540b02461a3610d60cfd
+06b189d24aa3cb4c96ea9c0a8f352b5031217f7e f49c0a0ac853d134a3b70a9d6fa75b58f23bd364
+4d2e2cb9b94028a2aff665cbe8218d0b0db22b79 dfb3365e0234960068f4c1746d3dc306bd3d5ab7
+e090e8c11781d6acf08c45888e07a509bf73f71d 94dee6dd40cf549c60e40470b29c5bb3852700fe
+a9f7f843bf189fcb0a5fad80ce1206f572d16b25 e90e05e3507be249debb9b257f6db225950dd883
+886e1e3bb33fdda5e5def1c40bdebb9bdab757ed 5eb0d065c6e5d346093e43fc10101e0b5ae37e26
+40bedc15a050ce1c898ace6651f4ff1c4b2b8e50 14010fbdb743ff02baa46ecdc264d0a9eccc13e8
+1a4c0e9c4f9db0ccd0079b2dd400f591159ce2ef 91123f11a081ec93075187beef4bcd800b0f9e25
+ae632adfcb0edf3942623350216be166962cfecd 66fd25c1dc44ad592f81818127afbc12ced7e0fe
+d281e29816b863b831e4db9d8b202a19ac3f4395 f5faad4c5a9caa09015654393b5a68dbb8429e0c
+6ff56686a0bbb0bb0bb26d58fe4322a97ac17a5c 4518c54ef68188e73668de22be6ffec3be3fac8a
+f3fdc0c28c027b05a5a08bf27eade79a2de401a8 03eefe5a64964d0801758ab5d30b716009e2dca8
+f19e48bf061b36741331fc6c0f4286e9ffd45ed1 82b34b15f9a690eaebe1d8ecaef202f6cbf45615
+30dca189a1da89ea6f3d44f433e6435c67cc31c4 4a5984ee7e030ecd2003f0f9ac5b3cfb5ac6f71d
+9dc8e21b4ddda9e58aeaa4ff14583bd6f669f909 902f6e446b79a4fe15c05e39cd45b2aff9fbf95f
+56271870ce0b1854495c19809fbe940fa964fb78 d28b9d4a88d57bd103c5e962cf7ac1a41280557f
+e4cebc18a5aa682b0cb9c886ad7390892e433dcb 38375925fce6acbcad1b9adf930d82b1ceb57649
+0ae3c06f7c1439ff5d9428e6c69d0228373abe98 7da26dd80da0cbe5fa4442f8877659c330b42aa2
+820774af5b11776469713c07195aad62317c9ef4 60376d2788934d531c4ab2668a77a1149015f057
+e8ac075090f2ed3d27f86c337a9063d6386071cf 60b9d153b01a09cb0f39cb379b64f6c925ef5507
+976d4f5494d317fdcfee8a402eab89d38183a9cf 5e07e429c5c5af8920d8ee6badb6f220ccf735e3
+0cf6cf5c766b44780c9847557448a580c704bd17 5c7effc6d1fbcfcb8b59614ef5272612027f62a5
+39a900eee363161446a53cf1d975cdb501b1079a 83688721cd60d2ceb86dd5056ae61b75b5f960bf
+3200b35d34f192ef62c0bcbeacd03d2263505173 0d92ac05b4fe008e5dfe4738b1edec072222f1fa
+88daf390716daf6676ef06e59562caa67cabd5e5 7221fa4de4f320fa55202ed90761046baf1ca3bb
+1b9c4981df084533e3db6589ce97bccf3f87b1f3 fdae5655ae2a57d39794ad1a17dacc66f7642ce9
+faa1965646e014c86bbedf1f8c2944662bab2c32 1047b878d164adb14d44b05c2c11d3882960ea49
+9ea79ad5fa81153a549a4d7a0b18fb2ea8263bd2 d168ebc26ab23f83702fa7ec445a738627383a9c
+f644132c06d0e4e8de97e00318b8c782fae6767e bb6124d87544a754c73a1e8eedd77a78eec668bd
+6f7272c66d57321691ca77f0806944df249f1076 bd5f6d973717fe9502a4e80c1d705f349dba371e
+e01e495574afb0f64ead581595145d61eeec8f8f f246fe2d40d44f70749498536d7bc46f5fe87f3c
+7f798a4c8ac232e0ec4493f1c320f30af3f68aa4 014b40f03673227aeb7d4677ffc3a61e4f0ac96d
+5fa38533ea2b84c25ffa8c7a75351a678578d708 e6a810caf584eaf2ab8a384d5e0317a0367dc07a
+07fa94f9f8ccc081fba938659b74fc29bae034f5 2a64c23adbb1418cb44b75445ba1cab05a499c85
+32675084e2869dd17c0caad329291c48f9c56121 2e9442f3427f4b95e06d4e384ae911cd00c68bd1
+4feb9c85b0fe49e9c1fb2d41b732ca58b64c21a7 955b1954ddb8de0a7efa41815a44f0a879869637
+a2d79af797f5358781328c6c9e0ee9c6100abc4a e4f5718d21fbc17112fd40232054f9f9418763c3
+b4bea9b46dddefcec2199340792a0dcdbea4a4df e5dbdd02918d1aeae32613b3924300a003a65f84
+814554a627dc5b8b44e3d28f87510126c068c5a9 20babd16589cb3b94b6eea182c52667ec4571864
+95ad855043964e58e10ac7289bdddab123d66c4f 20babd16589cb3b94b6eea182c52667ec4571864
+8c1cbe204a048441fadb262eaf8671f3fd4009d8 8b0b46d15cab82ef5f2b1e58234a7085a97446c2
+a4e285a5fe68254f6ef069b13b61a83fba8b7f44 8b0b46d15cab82ef5f2b1e58234a7085a97446c2
+4535b0cab29d98ae0b1dd5e20db19861322a976d 8b0b46d15cab82ef5f2b1e58234a7085a97446c2
+ddbbd24d7f5a93f035e4dbfb5aa9989ef00a7ad0 08bba2e16e4dca0eac795b0d5031c70b5253e7e1
+4b4609351866095d66ca04040f58a957d8a839f4 95ea402f8ecee3f0a7c1cba9f1eb93846ed590f4
+c5afa8c5a37fe8bdeb05424661121e42d39fbe73 2684ac0b8a95204c25230db7547d6c160c257ce7
+32c006323ec8be669517737576d5edaca2d4713b 2684ac0b8a95204c25230db7547d6c160c257ce7
+e038c02119686a4f24a683550f2b071bf8fb08b3 9ee5b2c3b08cdc80f4b5385564ac1d384d2883dc
+31f65d852e5bceabea86d84076cf3b145e447bc4 15637e61e46b8209df68446d8d2d6bb6c1a327d1
+ed4f6ac8e2c64e96ac13dadb0dbbf6b7a57dbe6e 89a52c9c9a1a363f1982af2aa459aaa1dc54626e
+4653f500a83644969f197a13bbf1c2fa63da0691 9bbe5d9715562cfd33f1103cdfa4092039bce4bd
+30c0ebed9d61eeb38d2e0c0630a6eab8080923fd cba45437b0d635e53a90a4f6e6f970917e0379fb
+c3277c7ee7e48f2a596d59083194413632a13a7d f8f6afde3e45a08b73a1856bcfb688a1c638ceab
+12c5342f6e7e1d7f038b5027ff75a5b1cd6d2027 cd07ff87d5b22aab96a15a80308f537b52af8752
+343f1d25042358d4d2c6b48619000b30f4a875f9 7c6f8c4b31d59ef4cc680fb7c8a544ab76d2ff33
+b0975226c7f821b90d1319ff31b18e1121dbe230 9d340863b70cd721907cadad16dbe2fdbc373067
+158eb6bfc8a345da211dc09d1e08f4bf2c4b31d8 b2f0d6424d2cb865187c3646f8bf8b24a6cdad9f
+1270634726151b35e9e96b5e0b3ce2de67db1df0 27102293fe4527ae873701ef6ce64bd1fbb8100a
+54ed2ae622b2db7633d73176e0a046d67068e838 3e8bec2912befc241ed8340c93f3e67e0a5a05a7
+20245471fe7f0cb4262a510281a6808572c60fd3 7bca10fb1b86605bb5d9308f8d4f58beacc87c55
+ff70347dc87fc9e1fc7eca76fabfca2beaa4312c adb24e6f2f8c657f1138d5e945995d466009c5da
+0180e5c31b873c156ad09306f1b052f5d66fc0f9 ac2bcfc9f421159846841622db18dd66e9cf4001
+ef8f4e7226803b44e724f60bbf44338ac067e0ea 1096e4f9b6622dcbf6e382d2fd282a57b76bc205
+4b8a501f7f31e382bb6f62eb6db54132a8f20743 23668e8a40cf4313428c718e7b1fa6d789b5fcd8
+7046828108182b55d999310445502dd89de23f39 fecd2d6c62c89bfdd48739bf7ac186b222f69a58
+d2060bb3f941fa0a547845be4292ed35cde8a99b fecd2d6c62c89bfdd48739bf7ac186b222f69a58
+7a6a601ce013f5213b674a30467102ed40653feb 7cc307f5e0c34e2d6b026fd845f4ee71b73c213d
+ec2426d00e982d2e74b2327b4f68ea36820175a2 800b0061386c3de3a1d316a03dc1c0f384c2b3c9
+50f8674fb5d991b18d6a83daeb7f6129596b7124 b01e40f4fa8d314da910236ea5da2ffd5bb4e497
+db2aa77a19c8b201430363917f26bfcb3f0c9742 ce8c4511c2c94096958445f334442e7583e1849f
+9fbdd940f126c7fbb7f01cd2e043e47dabea5ab3 0213d08ed00bb40a42b8ff56a81115970127eb3a
+a1e279ade2e67741abc08787bd7345cd88d4faee 31b5d5cd4fd1d6af3c5a7259a86132e8b5a272ca
+4705c0b40bde22c4590c136ef20a5e191ea7117f f6e0446866b7cab9ae2b55e85eab3af8d21f05b1
+871068a8495d64b57b0ac89014481a6b2c7ac16a 1c4a4d3d487ceac0855620c0d9e70a1d8140c003
+ddb193a5817628a10a9c5adc39ed0015cb530aca 5b4812ec5d257dba37af6758a09054d5159db3ae
+c974807ca0924f8ffb2affd0cb42a8b5b597d80c df3cdbd04fd61e341070c00c394e92706fb98878
+96e13954f8e35ea8e0d5f7157f7eea996bacce28 0748657716c0489947f4f52bfe735fcfd7e8158b
+536795eff73b78c27b75daa1f113c228fd45b875 df3cdbd04fd61e341070c00c394e92706fb98878
+45808a1e8201e16670f62152923b60073aba0d42 60ed20cdf66042680255981c44120d374dba5f19
+d46878bf1830fc3390fde56eccd827b8c54bf753 3d9ce13b2557d8b3b3c3c3da57964ac2c1b4bddc
+f23648648dd89e8468ea4eae63e81fe87e03606f 9535aa519997486207a7eba8f3b0a68f622a3d0c
+5945766875078485d53f912a6a3672f07fa27593 2da362e649fb2ae4d51b6cbf2993047d31fbe3be
+09ec217d017591fce05c92908a82d8cd92846064 071c09ac455ddf4dd8a9cd2e64a878f98c4fecf0
+ca569e2bae4ad730724fd31d4637279ee63d0a70 d1aede4e1d4dc3fefea4c16a663a47cc3cfd6832
+1367892ab67523c8c93825993953ef9c3bb91c5e fbbbd1cfce785b70889ce1d5e734ae9a5a0ce9b0
+9aa19504a190cf0de95103f8f60bc6e0c6a82027 1e1d8082ff6d22a58fb4404cad0dc90921ad8e63
+3b94c8649d2c11f7ef2d6ef88c93481fb20b3ede 87f025f1fad98326e41aeeb1b589cc9033ee6969
+5e1e5bbcc5024fb3f18994f123e7c1f0e21caf4c d933c3acefa4d1465d05ef179c0ba223f0442cb6
+9c94dc0a6eef259bbd3ea984fd6abc9aaf5a8f9d 04b4317e8b6719a69e6c9433882dc0af14d97049
+d60d3f52d1e49872c3fca2dde74230cfdf508a8e 1ef29351ef87f1112f7ad411b9a1e2532e29c4b8
+26b736a66810eb068ea10fbe1ff26f674badb769 b344974c0c9a5834a10a48cd73504b6e6ea65916
+1ad7bc8d961d6d041a537add2d178f7a036181e4 87308934d5a9627fb29edfcf843dba337b3ca014
+8e9680e04ab63e698c99213a95a08cfd02bf952a 4079ce7213272c746adc6f2d7fb4be640e9c6067
+8a1497620853920b69da1806222fb4b18ca1c9db 90335a137f0e9f568f91e5fc6be5b983cfd17644
+ab09b65593cb36371c70e48cd382d83401b0d969 0e623536d2e13894d0ebf80fde0418d11d1a125d
+46b7438e04f9e545edafd64821a5d94b05e5fc8f 0832a5d4a360b87e7ed5756f904c4544bb2af21a
+717b5a0ef2ed8d026edc7f0c4088bf0306d6a448 90335a137f0e9f568f91e5fc6be5b983cfd17644
+fdaccba399b9ede7a747465f5cda2bc5a829ee6a 90335a137f0e9f568f91e5fc6be5b983cfd17644
+bcc933bc6849659fc7576a471337acc87c1e6214 90335a137f0e9f568f91e5fc6be5b983cfd17644
+45c60b1d19577506974a619b1a637cde4912ea28 0832a5d4a360b87e7ed5756f904c4544bb2af21a
+9cf6677bbcbf20dd8b13351cc941f74021e830d3 0832a5d4a360b87e7ed5756f904c4544bb2af21a
+1b3a3cd29acc2da62c7b5c972c9d819e740de3f0 0832a5d4a360b87e7ed5756f904c4544bb2af21a
+49027bddad138f693545fa815428c4f42af7c35e 5ea725e8a795caf13bafecc1b1b07b5ca136e565
+2b02172a33a6778f3ee77b055ae37746015df473 c898f4ea353660bbdda14a76d8a9aa9889bccfb3
+2e1861059ed438c39c0b44f942fb40298a4f107e 9e7723e70a844126c395f4a07fad96aab13cb5b2
+0289b5f16f4e09af523b4bb0ea3d5bd9361a04c1 5fef1723821e0a67338d81f4ba951212f011dded
+f11e16e68e098d8aa4e526c861d1ae17676ec366 d0ff7f54f302488b6156fab22d7ed487b244bc66
+d9059803981cb83f531c8b639b1c6c05174d8f7f d1e718b1bd6327a735baec0b46dd3f8907ea403f
+7da42cc9ba5220ae76032c2e375f15eb541da473 2740fed57d4e551c5f2ccca2050705d6318e12f2
+28da6eab1740300c398d513c037fcc47bda3e157 791bf811275570d1bc38cae05855c51459a3b791
+d2151cc5e8d523bc77b836e165d308c85bc24051 4937a2688fe51cad102788a99b81235962d8b95d
+ac7c65cb2fbc6cbe6be45a74113d408517815a7d b04b79220a01d03907939063e43b8990198e3c9c
+40cc0169ab99223f15bff55da649b6173856277f 81ca9a01947da9dd8c3dc8d1b3f039ee59f30646
+c317ca8f1e43a15bd28f2ac5623db74887d3bc3a c226c32bda5b429bf13346739fe5a0f6a433d7f8
+796f02b2a894e0c29612f6a1001664f0285a4c9e 2e69117df86f92eaf25127279b0c01867a7ec4f3
+28d8d9426e4119c480e74f8ee3b14728ea83e68e dcf89a1bbfe23c2201186bae2adc3f1ecfe1c24c
+38255efb67f8e19455339997bc3496dbaa06b40b 107142b091437e76f6ff566781601c47d915e8fe
+60c81fec305371192b03c27966fa83dd0d0ce0db d7e9e156ec1c1623754fdeb4b66d4b6076aa7bb8
+602b869a1f84d538adb66e93b5a1b30a6d27097e 4b29fccc3b356b5bfd9912daa995ad0b786fcfb2
+0f1fa19f070db40663ffda53a6fb14bcbc128966 d5f7d7c803f781df5927a13a1b988a072e1d2303
+1204ad89b5dd4d4c33b43c9fc479a8726d4c0d5d 56e5a2048e754fc3aa12019a1dfb24456d1b785a
+75f3ed853c633426507f1092b540e0d2146882eb 4088909949c4d436c5766041f4991a6d07b16ce8
+553979bf2ed869ac15d13ac570d9d807d1ef4fb4 12e68b468e31728b8055b491709f96608348c2e4
+0c3f29e8c23efad47dd505593c0a6837d06a263b b15f52bd0a981e38ed7dee9832136afd47e78e3a
+53c6d73f525c9cc0f6520845afe03d51fff673cd 0b0972253f20f8a2bc936a87dab2db9e67517bfa
+3c222393daf01495b8b98180a3a66a8f3ae5b2a1 9e8c91183221c8a22047c1d1f953e0150cdabf28
+6ca8e3947a9d927eade7ec14e732a03be3bdd1da 6a91b70891d92d45b9124910bc387a2fc5b5ce56
+7b55984cd9d0c70182e575d3fa05a1ff4c4dd790 399a6fd667e1a7a11310e3c7a0caebaa44d89e2d
+8c0ea7fa58d34ba801ba423d4aaabdcba58881a2 16d209750c6b62b9729738c55ce808556c1c67f7
+ad89d52b2d93824da6308281c4111abbc0a37c7b c19d946ec97164359541691ac335206b36d29610
+a2a154534c1c2d853a76ec43299951355313ef98 bea6f9888c7fe3e450e0f42c18a5f21a734b3f0a
+32363e1f98cf8a4eb5446450cb2a831ca060a712 d314561a64fe965b0afc5e7a8b03f61ee2c585d5
+87ca17fd661c7284035d5622cf871424ffb8e81d 923e67b39b1b0206be2099774171c00ebfe62b4e
+df466620c94ed8574dc85ea559f470a5c3a7d54e 49f6cac36efd68fe1230e4c442aae3b368bdd4ce
+a90d8d4b269b8c94b3be53524b3bab9c540f5298 925f905332b6873f40c54c10b2b2051612ec0e50
+dd59f2b5b2918c52562b01a560899410cfe582e4 a91cce31f574bc2efd6c736083a001323273e3b2
+5b45395c664c3712cde3097bb3b765022b197f81 fd9ec743ec0a3ae1481f017e1577b0a8395326ae
+8c1c44682ace152aabc8a02cd96302172ebbaca9 58ab2ca15f71917adb7dc15fc4329d577bc63e61
+5d94188182917da1029c99e4ae9bdd1dadd0b5a0 a3b5200a59b023c9a0c6380652dcf0301f24d42a
+49dd5e902f8db0a3d43839b8708c43688bec2ca8 e48284c0fac3c58f355254589bde0b671b65c105
+ed2fb5f3f4d5a199ad6f6fb8e5240f4c6b37bfbb 7751ba99d574d55174bcf548a35314c2a23161c7
+2fab544f095a66d46f63f054e68259dff0fe4565 9b82900dc05294fe5dcf7d2961544d1f313089a7
+35ebc971a06cabdf10be9d5454e2711a6c6754f0 e719d1d0890d9920d5c2a3d7acd03b8519e373c8
+05adf48423278d6e2706b2707a212fde31db1db2 8c222bb92766b722223e5a69cfc4afa125fd3783
+6f954996eef280ce2f57728b8cff356ca53f2f8b 802ac79f345d240c57aa67ca386ee7a6dea220eb
+80127345dac86e586be4594fced405ec74fbe9ec d3b164df86ea126f4714833401437803787cbb4e
+ccbece2b74f9c15310262ba9cbff7462d19af8e6 9ffa3a2787a095755407658297492ef7501db31a
+0f4f35a358766b4e4bd2cbed7e9b79d1285547ea 5a016e7eaa4edf41d395a935cf8b1b3469f8293e
+66cc276504c1320a04ade87236470232e520c369 18056b45982eb862120b3d0e68ae4a986d2153da
+de30728a57a4f9f5c640acdbfb6d029c85dd7ba8 73a134f58014b3bf815fe9d18ade88e056b571eb
+b0658329fe63885fb3b25b9ca60254ca526b14ae 9f72fdb4af8efcc27a2058559f4e327452b6a615
+ab0b95752335b4d8d475a259dec6c3d02db78680 25187e0c4f696949f1ac9f12f6349409f05cb074
+7d21fe89c600a8351cb8b645f658a09fef869182 69f5837946b16ca9f59845442cc9b9c7202893c8
+28102140875a9e400e16f3a9544f80895ebc1639 76eb1bee3a0da1f876205055cfa96aa0a94295b8
+c27c06d637bc684e35c1f42c96ba2495a1a2d057 0c4b31914ac3b50a9497e4a0e6b4963368c1a87a
+5828d6d92e0b1b5c0debdf52d15747f5255b6d38 faa5ef40d6d698dc8fcebb78af976babdb4af0f2
+190a17667772dc018c885dc9329903c76db03415 2567c709e43a060bc82e532e4563f9fa77195172
+06426616bb922d8c321df3b49edf3e10f2d5bab1 bc494d1c5eb0ae1e8f449a46faf876cbe187981f
+26543afffacd2b8aa0c8f033902429a1db31878e 539a9dffc7bb1459bcd53f9bf18bf2b35796d949
+c709e24cf132f8b9a82c6dcb366097fa6bc50c0a c3ef6949a8ba7e8d993f55a60a81f32727f2aba7
+6f78f4f34fb469246ea5eb377a9dbf3adab26cff 06166f314e0019bbf20f5a64f328e32dceeacabd
+5f51954c04b3797774738f137137f447e3b945ef bf255147e722b0c6b98c556f986c4cd3678380e2
+63251d0cb7cbdf2767dbfad8a1588a74864c52a7 3c83a1dcc5a1ee42c5d9d8ad144dc5f873bad4c5
+8730938922191556b05e5f3cfae39a8d1638a9bd 29fb8c86dcf29421c83a6ba65f5d1b8da7b857a7
+9be6db8e7ff7777acce18a82902ebd877997b151 4a1640c79756a532e52cd2669302bb3d61add02d
+d5def805674edcea802504f5ccb468c1bb03102e ac8e7d0561cf0ab86270b912b8f5ca6f44b5a8db
+4377d606ee49908f6607269e77e6d740d85a177d d1bfd16632d8d6517cc78c954ed66e5f0ed2b72f
+584e4f2c64fd073c67823e1ec487cff689d3514f ecb061789d2c034b93294f9e3c049981cb2f7e1e
+e5aee9985d69ae378e12641f46af7ab181cbb617 2ce1d5cbe29131ea1c3e25afeec8d33488bc1e65
+35b653603d990fabfbbf904159375ebed5f82a1e b9d31d5554805b9e1539ab7745c21e4ce3bb6c61
+9356d92271ca72d6165e2bc4f6b4e563cc299e9d 4c199b1fca56cd42a07bc4e2aee6977e4f87c590
+81dac971b255ca49596c1dace1197e51dcbbd12b d73645b8cd4575cc997d8fb920d14934e439a3f5
+2c248c29e6eda3f22d07b1eef0e681e1d292bbf5 b70e342138d0fc3f1456906297528fc068d1a48d
+012d381a96ff588ef781ab30a1456d1d1288439d 8322025a36fec721e29330f8cc5cf6cc75a629dc
+cbba3ad5a485eca5117edf7df015d11410478eac cc45ea26e9a50affe808e101415cafded1b385a3
+d08ae93c5c4debf6e05bc2122d37eac942763131 78727b5ca57064779beb9521e7f1433e9975e995
+01f499e19246a75828745c7bf2aa019184a07b98 a2d5d35984882a118c0a5f7e923ceae588a7799d
+498cc744aa3ceb36c2aba966935383f19b49f911 714cce5760b36c35963f6d62dab1a4b82d76e5ed
+44e376c73f51e2270185d4100a8f70e213efd93d 46598bb80fa151ee3554a4edbd3ac0fcbaeff3dc
+427ada6cacefb9fdd1892ea751c9c4489bf59144 126867d6258f374305648da5e8498479f7c89e25
+03d6f9d061ce591e1bcdb027871ada79dd22401f 599c7793b754aadaca6603964a8a6e8b3f7f41d2
+2ca3e6b9284c2d506ee1984056a52bf369f5dad1 beb1b44da91c354b61b3d6b6fb29652d91c981ee
+47a318352e3ff7ce8c03e5e7abc592d7a763a893 a0b1ab04339678f6557375a1c431d7eb956ad072
+8523b20bbe4ffe73b3644ce115f0ddff5ddefd0b f63f92d8d50fc5484bdab99d06a7f107a5b8d0a6
+49fe92b1a2708a740bce82c0d84ab5d65464b17f 38e295b40722766de15c0be9a2581a7659fab81b
+7e92ae2ce47687a162f427b930eba9a0b76ecafe 83a54a44f548b67a19603cf02abcc91a486bcca7
+22510c62fe51f9adc9b403de81e1375816729838 ae43f0743d4994518319a2ed2d965d14b8b43820
+1bb63c39903959f524ac5667bfaa192a2371b567 c19d946ec97164359541691ac335206b36d29610
+6d0b28a05e6cd625bbe4057d1f85c4df13ce8f7c f273705d6d69045ace9053d75a34adc890ad9798
+d79b093992f1157261c5441d29a7ee70aecf67b1 614d1a236f4bde837a6d8afd9247356651e08c58
+67750600d237c5cf00936088bff680cdf52d3032 99376dbc7345e435590edab88bb52a9ebc4a0524
+d75e46b90b4dd816965d133c19567ef0e5d8bfe3 7503ee56a57ccdd98f1c7f53ac7ecd840a1c1070
+504df75c3a67d28c94e044764e696127a45651ff f01cd447d825c6781bb854eb15abab1f420c0114
+d17bc79bd77deb968bb3de9616ace37c5ec91a54 99a9ea0366c53696aade0afed2114b325b11e99e
+9daa40dc212350b108e9713c06973c0e7b18f557 59cebf9c501cad77054cafeb9fda6e0cba8b4d2b
+53c253bda12bb67bda3a9bda3e858ff2d711c875 5af6f7247b2f9a2a08eee561b127c2ad7d212b7e
+86abaf7b3cd243e2fde5de76766a19f7c9942e24 64ba5f3df8ccee9fadaf3c41840e6246b718eace
+7c03dd079f54c50c0f5a6c7fb8c23e16cd8395ec a6873dd67c304af6ff6b6f4429a795716d91c583
+ccea9cf4b4cd9d9e4a17fafb60c5a60ae60bc592 b8aaad196ca4f090124bb272ae22d360812841bd
+b064a2733ccb7a5354c9370f8795452d9afa8f82 d6487652b74bab5c78db8ffe6bfdb2d9c3ce70cd
+27d7f0d377138d87291afade9b98514893119ba3 fb37b0bf4e39faeab5151b29a909c649067151fc
+717d0e984d821a406f4e975c489ae10573a4f34d 6d4afa24546b2187e22efc1247bcd40127cbf2d4
+96a5cf5cb0b0035b5436067be7ee45b4ac6bdbc0 28ebbdbb1a54a4f958610040ad5746ff8d718250
+79bcd75797fb3ac9589ced4f81f23755b9787314 3e602e20476f462d70743ea11e761946918b1401
+8b0af39aa0b3a20f30428938377da85ec49f6396 f6aeed31b43891a10719e56f007b075e8abc7292
+a7691dcae2b849974d29722ffb04efceba78ce17 c3e9a67026055d2b545fe0e25fefed7d55f82eed
+838a7b1af85356e3436361d60dcd9ce859c9393b e0b31ebf2039830e24d258ec2e6c0d4032b0ccc5
+92ca2e7fc33fbf9ffc73da275eb4d0a60e091f8d c372ca00a9337f93fc533430db20e54d395eec1c
+8c8c4f9f03917c51acaf1443a57057cae8e20c71 f4cec7ff050cb5e593ea0a05d419a261adf4b801
+a1f242558b0b497a5fc271ed84839019dd25f9e6 9a798111823426ec3da3bf6b645fe4a35dea06b4
+c00efca2e9e63c148f7d19b0f836b3b4ec6f4d65 feaa95ebda0967b73334c83d65af0015f1385e30
+1c0541062b9c2cc88d906e9884f08fb647618a9d 61c5e71bb20f367f373710640c8103e5f3e5db67
+3a530c67128661680414d38f2dd14c815fa39512 2ea0ca9c5b4c429117debd8d5756e0eb68229f2a
+1fdfaa2a5247ec27bec241ee4b875dbbbadd8cdc 358799fa94bc6d08f8b22078ff1fe7a5db51cb5e
+1f88b6749231754ca325a1b313b97285a1d4edfc 01e80c39a11f23fa5220a7a554a630623dc8e1bb
+cb516050f3329623c30329483e104c05e1a351ab 9129e08116d63a09f287da152720557cb7c06d62
+6e5c37da0f331d267235556a524c9531dda231c4 247af094ae7e8a19890ae1572bafe1d42eac921b
+300a30c0bc1897414347f0c38cd416fa78af630c 050c10f1e6bccc862b68032b0c03a4a7da348d7b
+f1552977270ce4d9f3d7aa3184a2bb071b8af529 d3265f47e515754bd733d5780d1e9019eeb5eb5b
+ae09acb234de9f86c97678d817ec8e9271c79ad1 b0fb7bf74a32354934977f434063dcd886f76fd0
+83ce41e8e02faebe1713d12d0c4f799c603405f9 38c98b255244aa15a8852a07a3d61b7e76def0a1
+6e00997e0eb749f5050f9ba9eda65fdf84a420d6 8956323d4b9f859174981a5f06e5d29137482ac7
+6cd3652d845c21752b59ca2978f18fa790e7a991 bf9b8688409030428257f266c71166c896eb0722
+29d011bf68a186aa9115913d738e96ab220f470e 0458d7c37f59ec353fb36c143494c5fe70065ce8
+86ad0b3336622fd50690153f56fb8cee54b117dd a5ee26b44ced67efa0317439088713e26a395dee
+d299b3baa942cb0162d0e61bf5228760e8882fb5 e7ee859501021e31b95150771d7b2fd3b8f9d182
+56fd0630676069bcd9fd80b320df84b995f00c9d 8e7ee092835a35d1fa6ad34e259813b992ac091b
+b29efc8e61dd6e39fb0ea6dd3c5c52c05438c681 36a152f728316189d502a1bbd0df6d7eefb0bab8
+66ef6b467a55a9e661e37e2d74a95e2e783ae114 7e941ea18beed7eb31eb3afa5ccf35afa7cdbcfd
+1c7fea407bc544aaf563018d1824fdc7eed24022 0869fbbb436252bfcdd4eeffe7c06c88d8c7a449
+a36bb7a5a42b5ee7d1115132f87da911d200af96 c1ad1fcb57c044c91993fc15281cc807016591e3
+5f8f5ff77a7d17ad7fa9d956c845799472135e76 7e5908ba1e0cfd06f565992f2fd2d1e8b974c499
+370359f60c790d2be0c193a980c9eb0a53106c7c 73d51ba2a3c00ece65a85fcd70161fb8c06f063d
+60fdf23931ba6c1c5befe36ffd3ced8aad7f805a 0adce7c3712aba539fb66bf460e8ff7e3b9c5085
+b31ee59c28148b09878bc38f92d42cc966cadd07 f34e80607eab3e04e446a2ec6cbd4f0f9fada392
+3625a7b78e6b60078c1c8b8d509cbb8828d6e225 66c7626fded2993627caeb45dadeba74cd4250e7
+05df7805071bb44af500df8bb760f24c1b861e01 533737b58a8840dbe046d4ccc5d85fd174e06ed3
+f408a886bfef63d9cac096873e670d6a841dc658 447ce30e3617dc9125017d30b682a7f8841af78b
+c53703517d90f6562111aff1bd4f544417592c03 d333130926b928dfb246c28d83b43feb2abfa1b8
+f65a1b6bda6b2b89c28fb6fd9b7e31f7de1f8bf7 fe0cf447a123720910c9c22956f0157e7ae87ba1
+1b6de1aa37a57e2589e1d98cfbec2e4fee581193 e451d5f26d2bb440f8d0db93caa69fd2909ae4f4
+6ec06d3f3003748d8dec02f3cfa19b38bb08836e 4938395467640a19744b4e7c254aeba96d1a8e02
+e210bb113ea75c373e7efc52c9e3755e96e06f2c fc2bea3c5756b9dcc2a7f2869006059792587d81
+82f5b7d89aef8b4174c7fe101f72580fd204d5ed 52e58d2b40d9dddf8b058105c347fc7c5b6192b6
+eda56a404c5579ad1548ca5470908f959db8558b 4e6aa93e40fda0c0b32a25d1de2e1a8a392fad6e
+3c459bfbd03eaecf0b19ea5d98931ee00c71422c e36c7c2b19dd6d8a35d63b4f96f88cb8b496e5c2
+9f656f296db7e13bd997e663c84305441362156b 37fbe0fdd438ec4a9bc26541d3494b6738ddb570
+b78aec70232c3004b20bbb05bcb117ef7c0bd87f ae4ac9dc7536503935e28d63159b96cf3063b76f
+9ae63ae00783049e7b2540cfc296dd0e1ae156e1 4037b8b763c885ece4dcc56b342a9abc72b27bdf
+bc42d3e2116016d9f244a7531706aa7fa91c53e8 f0150f666e7807e7b46c805564ccbc4dd63db1ad
+3936cc5e89413eacbb159da1e8df72867507be0e 7a9a83fed4f1f5ab345efe87337d0bfd2d2fe093
+22f3e1b9851ed538cda93a57d2c267af46a4c71c cad894489c80fe4d1f4e83c30715bcfc413d58c2
+1153684702ac699957df121198b116b255f25b76 aad4c1dd5a891ca8c7e80d120a6280d9da588ddb
+03aeda85279d431ad6f303c4370f8abec0b0562b 48e0e44320347c2a71f3e20858d0f55ea8ddcfd9
+cb82bc3fd1781bdf22e0c21479db7f86df622ed5 13c3f56269806685c89fc21222ed1540e476bc14
+78b913570a66f3f2655593402570e950a81bf97b 06e73e4bc1beb27265b323c4a9423c47c93b8939
+fc408ebf178dd71340a6723710eaaf18d0764cd1 ea4914fa5b29e5f8ef4821866fb17f4dd90c1ecc
+9a8f0f044a84ba1bab872f12c6956f321b6eac5b ee484183237473a320fbb7f376f94cb6fe1b24cf
+d56c81b5cb848f9bc1b6ec26c46544dab7d35192 4bd29618b591cd1df9b8ca0d71b420c424a39193
+5efe1e0adeececdf6be791d4e43bf8a16ae12816 400ca1b8cabe34780a70369f0f1c4994d1de99f5
+6a7714959726c595ac04533bd10db3c3471adccb 9825fad43b7dffaf849aaa1d83ea350e6c8cb772
+1ef9a20961203323aea6fc3ecbea2ae0bf62d52d de35c481c727d34c475e0469633396a92a2833c8
+cda3b26c6f820ac3431ed3d8892331984b9def3b d497d2e053203595a7523b95f6dd203b69e324c9
+04371a8c581af07b3e0ca981eceff1537527e3e8 6c90587b08df1f5aa519cd29de076625d56c9558
+ab6ccd8fc00c175d652ada13879dd11c838488f5 50bfa7d1ae4d129b270afaa687b6d310201b369b
+0fc877fddd1b5f3ada625af272d2faefc0ccd9c7 c5ecb6272ee981283657bc93394a4e860829dd92
+fd2b1f16ee413a82af4fc2f507863ab078f1827a 7a6ce3ed4683e76d2bc862e9dd7baf284e7a24cd
+c760a3af2eeed5504230beea2e48284716c002a0 02a3adaa8914914f1c0cbad7fd8e632819299886
+491f523397ca622a066644da2b4ee83bbde6a302 9c93d45e96c1313b735effa6dd1cf965ac5bbaf8
+2ce602873497262970dd0aa3b2c63c87aa42b955 1eb7beb999384e4d2fbd2584487fb674c4bc9d95
+04b98972790eaf64200560cf5904f50ec7761581 2e0f4e3ee90ad4a22a1c6f0d11b158b256ff92fb
+02726f98aa3622a4af7cc0e1a3ff2d6065ba4cf5 a386588b6c95a1763e5c0c587a0af3f4d4c38284
+b19bd083adc013ed3931d3db784cb01c8cf2709f 72162a832577be44028c060a668d5f753e4c4e99
+4f2fef75f0b6a98cc56665e1c5f1b63ab59c5197 b7380d0152abeb8f869f726919b974b618caa921
+40ede784c111d7453c719e5807ad96dba3eae779 aa595651b768252d3a3fc2850ad2b51e3ab278a8
+f2b02f346f66ec29c2e4f07eafb8e2bc09ff84cb 70422f069c8b28d4250daa69baf8081adf3d6ae9
+6faa92f3d52d1e9ed6ad43282dba8814d587e838 d3da8481ef08f0c44c28307d85f614609eda28b4
+42e976a568f28bba866a87ed891895b7d92244ca d2f609917bc0772458ca1ace1e61ba71f6436aea
+2434f6e748f2a3ce94255bc5eddf0bb412213d52 22407091aad7b0ddbb3f489e2d74a95a6dcdba25
+876fc4752d5602d855ea6b540ef9e3a3da97290d b567dc93d4ff3a0c7d0c31e87449dcad9da4b516
+a1c883b842d2b28db266109818637fbf100c4280 eeeaa2e61bd9b438e8d06473f65eb2d26ae5019f
+81a7617954115df8119245b32070893a6e1106e5 07190334fd8b2361421068b473f003dc5d89e0b9
+f28b87edd7424d6e60687267c2b4bb137084bcb7 207020a791a5e3c847bd3f3e8f3d1df6faee9a1e
+0ec38501e95fa584ea52d8df388a1256f0a46e0a 9f038dbe1565ccc6c1e845edeeed32894c97203d
+a0c5de5fdee03a712f9f8eb3b3f1f42ee1382d36 c7184b84f4b941af0c3491433fbe760a3ab1fb40
+70b12bf86e421040110688f7e12aaab7331e0acd 0885a77319a844ba70a852f13a34a50812018006
+43871fcaeb657e24155b75b8281187a38ee1b08b a2552ee3c07e9cc4292694528b6c0422522c8e99
+c56fbbf5cb722455dcd8c92a5b3c42f1fb0bc61f a7d16868f1c82f0f2662a9f4b25caa72bd18f5f9
+69c93cda06af772d88f9093d96440849b421b56a d08910476358a9d043bbbbf7eb4343725267d44d
+0af4fc96d5554230e1de92cd5445e498f8ee034a 1043c7bf5f9fea9e93da985d3694a2db42215693
+296e733d2d3483066168d391492045f1eb02c0bb be0ecc9d9c4291b756fc9e44377cd91e5f87375e
+f07fe6517a6cfdf52c4088e26fa928bd3a6cb810 584e0fe50eb3c70d8c83e01478595df9f19a588e
+372ab77e2c5b3cb7688c1254472cf5a2eafa783b cad9b8167a279d38254b0d08de7934ce5a4c35c9
+ec69eb7b87463098dab8414fc8740a2e6807b66d d2966667b45b0f78112405b674ade0b1aa48b3de
+ee7b41ff2e6b343c798356c1b9ffdd1fefec2c8d 0c01269be0238bf7eebdd1ed3b1ea0f9fc55925e
+65a8368fb17091c24411a3c4c9ff7ed3668eaa7a fe70a65e34a64468cc0f7201d1e00a0f6a39bae6
+701e8e7c4b513dd8aa5c260f27da26defded7e03 c2be9166bf8a3205537749c18f7e34f505a72776
+953b0c66ff0c35c1802076009d45867baae6545e 768b65dc53b93b600dcaeb26f637a59778a8fc99
+00bdeab704209d30a8740cebd904c69fb81ea179 49e941fbd7872b6e45e7a6a78c49563ff2a90d7c
+9b88fd11e783cba23844c58af4441619555c2fcd 801aaa7e86afebc3e676b81d51ccf14cbb4c4f9f
+afa5994d51816b254873db44b8c45e359f0d7764 a819ea7812bde73196b3274fb9315a51d01d49bf
+3d83199a153fd411a02c6f426d0202ce210d69f5 f1551838bb96ca9959779450363d3fbf528d661b
+cfd0913f771d22f05ee824092fbb0192f10b3bed 3652bb3cca6025c6eaf56b1e3e2d76a4e9d4ed21
+3a9bdeabd5e1b85f3aafbadd8adaf33954803438 dbcedeb1b8af5a86904e357d310b0b7e986eead5
+7a28b2f08d3186742a63c9b180b31031282fe5c9 6be262afdcea94195173cc8a5ab4a271bea6520d
+d45307ed280a27d57a6b62b86d8e791b30361ae6 150447bf470bdf98b9bf676a93b14bd9b3999287
+b0329d6f33b37809149532f4356caaaabd5ce991 f1551838bb96ca9959779450363d3fbf528d661b
+158fcd981183121157e67ca400119606f22d8d78 cad6311d48b92da3cc3ca505c7582c351a3c5163
+d39f97facf0022bfb62d1b641cf88d83e6adc6ae e2193f18e47f518fb36f36d92eb575f73f3efa6c
+a74cc6c1919176b617b92cdd251596a6704cbf97 6c74efc20c10c3c80b73cce741af90105d3e33c2
+5dcfd66ce510dda66503654457a574c689316038 e04fc67faffc2a17b74adfd8d6d6496866e47806
+c9152cb6d3eed859d24749acc9b7993dc9a656fd 76cbe05c30d1c91e68d8d876462883a105f23e88
+c550aaa58cb7de60fe059dfdeda3d69bea8933d8 14e89550361899b62ffa37797f7cb09b6ab2b839
+06a69a554d7dd47fe24319a27d30c2128368edda c59dfbd9599eca88c9338b389678972f846d1da9
+f7f5b901049a9348538a547bae9bdc3e35b5b1c2 0b0ddb3a7633ae3a4fff4be97f755ee4d00f9d16
+6d411804d9a90a239fc73bdb718f0a8f654868b5 3a89b57d77da436919ae94ff8b875daf11382cbd
+975a44864e6a7a808c28a22ac3e858d640229fed 82572ea82aac1e7377617157b88172221125efda
+a83326dbb2a107fc199110427b36af6e512a6af7 7d9b166c5d68cfd4cf79244c277d4167ed7d3302
+84331c7b156630bc88cf1314591077e0391ade83 4453dd0311ed430791a4694c72811d6c8847cb14
+f3efb62592dde8878045ceefc101a27cbd089a56 cf3e597da63633375ff16050212dee147f78b0aa
+658e4bcb1522f8cb878d87a0d87994108d7eb17b 8c63548f1eccd89ff1e262039f2934efe81f54bf
+dbcf2ddc48d86d0b916d6fc83680975b6697c4b3 6d3b8ee201b5331f346c676391530033c6096aff
+0a74e77351c84ce98010700da091d4e6eb5ebd14 0c6c47deb679c8a1d21af1441acff6e5e4ee1117
+62242c59de8bfc9eb406132bb710a38aeaf5b50e c93e731bffdf36d538212498d703948e78d91d26
+174110fb3b19ae14f4563ea81d33c3081d809a15 da0efe850d4605182bca77f0bf3e9c5e72496054
+b8f14bb596ac1e561666f1cc90e18f45801368fa 7cf2c0e2e6eb09203df270f698af1bf4c821bc51
+91ac762fdab822957a090a28a6d9a3c6c1daef86 7f22929649aaaeeee3f30fa5deaf2c4118f77eb9
+8820234eae43275e1d7645f7adeb127b448e59fb cfa33d4585f74875f537a01f3a6bca477541316f
+5902cd731bd47f84e3eb52b26caaec656cdc7ed1 57304c68f7bc6031f1bb7fb5500b8d0a62e091fc
+989c5b493fe8b6aa267dc69d16f15d350788dfff e348b6e016fabdfd4149a3be65348dd06f863a62
+503f014cb292b185eb8822922edea77e0ca6559b 429b4b4afa66b2fdaebb4e713497012445d4127f
+ae2ff4be9334505e30340bebd904a311c9535701 6ec7f52dbcd740d685c2a660dff9f94829590833
+1fa0e1ef830ff529828cd75de7a80312510a2e24 7813f7385df4ed02c3be744ff79e6fafc00fb7f4
+454c60ce6cf0f21b4b270f319c495d2cf4049f29 bdd65da8908874027ec96c57b50df6b8df4e5ba3
+50f34ca16c7c84a1576c149526a516d1cacf2e9f 85fd6cb426a24bd754a36625530f2296846f2b41
+2597cdef97ef0b4f311377799a61660203b20d1e c05f1de1af50a21ee0b0767af3af3d261eaea25b
+f948d92a3138d32cf6c23a99aa9085dd45f06764 cfcefadbe13e5e5e10aa93cb8a9dc9527a95b283
+2e0eb73c618a908c4c9fff4fa74179fa69c5e517 e018478dd8c8bac9f5fe2a9db54df194d1b2986c
+99c84605cdab3d77799e11772a15712f2395fb93 269fff1ce72d4966a94eeaac2e6878b1cec420b6
+e8015d6fd583ed90783a8b7cfaf7bc9c08ef0a17 b11320d74b5f08c029901f4d3756d88203cda040
+e0c42a02af30338f44fed989588dada305353191 a4748644b39613ad9ff4848d493dd4f1e152c4ea
+1064fb5e80085f9dbb4ad798afc9f114267d1447 38904d59d9f9198a71c78a8b2f4f9ef6cd640e10
+75b9d5d24ed0d5cacc9310097e375b9eab6233a6 d8dd9c574792f64250cdc1c02dc9f682909db7fb
+b85e9375f405ea53d68f0dae29296bb562fd5c79 043860338d84ea40bece3adf1d0bd817a569aec6
+64aa6ea7ef5540a02479c135512f471af3d57354 8df8068f9d9b13a7bf1bda4a6544c122d259ea26
+cd0975de57cd5dd4cd157ae372399b241ee0c2c3 6e2919cffa0817dda94dd3350409165f2d9d7a1d
+be52dba3ae60796b0a85f824c071f1b690c5ab59 f4cba316d59f00093bb465ba5b2b54310b629bde
+5d7909d3a23cd27e821d2cdd092b956470b95bf3 4e48c4a735b7758943f9ae06c2d9735774d5990e
+40aad764dcea6c24a1752b97db2f5ce748720a86 420bf2f88d7cfe68189d4332f46c1a5cfefd7b6c
+3e496680ca4d670be784299581845b1f59e36680 3f44049961a8fda1498212afe27d9fd26e16ebdd
+7c403f48a2a7fff0699690e35e41fe7ac0aceb54 0c51ec976b879dcc09615376baa4bab7796129f8
+d4b1dacf569502ea2eb1c2cb4cc00faf3556efb7 06d059c7d90448d0ecb0044b3a2d32988eee65a5
+07d6f9b482129355bbab0ae0270401da115e3873 a455cdc3f0c68a03d50344d0b5cae6a77d886de2
+cb9448eb711700b9d83745ab8c7ed25d5cd94f2b c47cc81d7eae62e0e0e442402ff0606b0da5967c
+6bf2bfd098713be7aa2e6da692be043037093b5a 52cc5d755e6c00faa03aebada44acfa7e4ad99a0
+d2eb09154e26ba647a3fb6465947a051df159c75 7ed294968889139fba7c11a6c8f0e663a1e6f2d4
+ba7ae130face5fcbd8dc622a7891be00714e51a5 6e6159f80298c4af513c375d7b0d9986783edcdd
+4332bdba6e2a710f1a6c7fad5e48751bbc7a2a3a da3335b6050865a9152055c844bb438bf77dc9ae
+9842c31e818938941fdf63b8b93ce4eb26282bc9 d8dd9c574792f64250cdc1c02dc9f682909db7fb
+a5e3b2affd90520e8f1e021e3f5452d5cc1c79bc 1acfb437e138612bc89fda85ca839eb53efb806f
+2636a4e43b13bff6a9e1abd439c868da73d18b96 0552145710d247ae31e2d7ee3e6f2d201f8895e9
+b37ad15c8234dd24e6e52ae1e48f468524df5ce4 616ed07338cd13d36b9129399bdbca838af9c384
+16fa42eca00af782a136c88bc2d037d55388f2dd 55a11a44e58a3ab9170ea85269bb6e462cb12c85
+0e70422bbc4b4970aa4bf42d9b43986b3d192d71 6971b114db512ef09f77fb6d6fad903612304242
+1beba947fbe12ab13f42cf2b40453c4a37e870b6 8738a6c9ad425d815a7834c62623f9e13d468391
+ddf4d7d82bb9e016d4c321378c166d503160dd78 22556d549e98ef643b344048238c4c68d1d158ad
+09bf0bc8f318e814d9539a9a3ade01556714b42f cd3d17f34c7e8977fc838b8c2aeb90ead33222a5
+4efb377f9b99a351074a91a4827aea42af95cd83 123972aca0af1fb7cc3587fadf3ea96956765714
+d1a75141155d061510e54654724e5e59ce0b7bfb 025ab312f0abf68a317e7a9dd314bbc081cfd04f
+187821286ea1eb218981e7fe192666881c6b4363 fb0f8abed9d9567d73019474afd928c56289224c
+6db625e347408c3322557f438584e351ff79ebf0 10c772f214c897b52a01abddcb13dd9ef5dd368d
+cf549282a5a059e8976a5567afa6d244b6b874e6 ffa1279fd5d7bb99f7cca216e20306bdb5152059
+49c6a3ec482ef5d9f96fa263a0b601d1c121c285 18f63961a290ac87a6b2e99aa9d19f9e54a0ac58
+4bba019aa13d35a655da3c5e94cea8353f14a4ea f6d1739f377e81d5a73680378d7427a01817a94a
+84dc638679ff2095af9f1d3be1cf0a996c5d2c73 42952c320f60226a09b56cd6d1fa37418591f8ec
+94d0915d4155769c2e1053cf33ad0f1cc7ea88c9 739cef16d5cd50c7aaa2f2e993efde8b4afb7995
+5c82e2f1ed5e15450574c329cef9b105efead3b1 a073a5595e97681379473854c68cef685669a01f
+0bdd8f6e6cbb01b41a5f75e6bf2051d73a07b25d 3d6d7af6d13e07f4ba8e9eac3b34204abf2e7a4d
+72cbead6a64eb71d7e3586cef42e049ac26144e5 d59b031331f85334221e40fe2b29fc9d556719ad
+bbf98fa5da4b68bcd531a2e12a2240f2cdb11a7b bd202438d75b713e49130e4e56757f9e5fbb7c79
+76aaac8691f5ecc18fa911150607acf1c18defbe 2751814c949500632fe6d0d27b04a87e94e57d81
+e097a793467ed253738ddc3d5234ea92ce8b386e b8b9a71705e736b0678f70eeb061357b513bb361
+579da912b2a4838b53a831a54ea4ddf21d25a3ce 12e0fedd5de84829478ad6c45c5c8734f023c19c
+c2797432b44c1c4bc85827ca738c4ed40ed29792 97e2018c5be620bd61a867648e504a0d4d271bd2
+973222f2b7735cbe5386753e71148a9e6734d6db a5481669beca6aeeab438938e2f21ae7ad8c788d
+e5ad53e28d7cf0e6ef445c9ec6117abeeb976f87 fdf1cf73bd7de94614f1264073e5666becd317e0
+f7636318f8abc19d02dcea313056dfd840839ba9 0cb9a705381f3b8402707d9af35c1c9698f5fbb9
+6369d1e9d12e9df8cf46b1a5f347449771d89445 7cde8246d91b6319bc2edc67061cb4b34337963f
+1412cdfe9495b77b3ef5df60888e7f4bcdaf6803 8c8d84fa18fdb87b6041b0bfa2d3bd4e76c5d664
+3ba24d25b751a43599f58cb4b75998e2bccb4f58 01de2bc1d11c5069bd60efe4258d78710ae35430
+ffbb6a290796cf006b522ca18c568d3224130fbf 0b0697c6711e7d17ac451b4d542101e04cb550b9
+194f8b358c8ec13bbf71922485877561c64b9e26 ab25ff31fde1c07a0b116b8f6194b14474931660
+857bde0b470a64c2bb3e2491903c761324d7dcd8 df9ec2de941d61dbaaee3fe2c1f0a693fbef6d20
+d31c719719dc859afd18c48efa02da5c39f312bf 7e508d47565f15dce3577bf433892ca6bb5cf305
+e23819bab5dcc4d31ba8f0e5f89deab2713b1d87 f991788df60cd3844b1ddcae7d84a4f03857e1b3
+624edc26722d8338ed76e9bcf71418e8a1d7bd78 ae7ab994c04e48e35de25c496d5cfffe0b05f9ad
+6ec652d0ede3f1a3f59a21ba9156c6ac84d12487 c4d48a09047373bc2e75bc3bcf9dd5e4b6902bb6
+95617e6433eeb407e8c8fa2f42c297f74a2956ce 59e48e472638cc2400b755aae869fcb31bebbcba
+8f42231000c513ce75b2e698067d3b65101cbab9 ff321e5cb9f44bd0109c7475c9790c0392eb8ac1
+b5dd77b575f55ba443d7a264cafa00ba0b1a8380 d7ab716744820e591c7948e9cf42aa25b2f78a2d
+fc71f34c20221b411a0f49d1614318c77c0e6449 4a7132103d82888ef60376e3b539593d06aca220
+0740ced6bae3941afae2197b3cd9f1184c6a81e5 ec9d30a772cc1e7e67bf29b81ecdbfafafbbf2d5
+6de3c32436f1cf1052291f8b00ca063c2b3fc684 8b8cd9245cb58f6690446b0f4f1242dd39603189
+cb8e1930bfde741027d2ba11882651fbac75698d 4130d842bcfc79aab6e2b476404ad22791ef4e8f
+cf1773e11f037dbb23156d89c8a4f3b0e4a16531 111d2a709732497619f24ede54154f709936a274
+732c9127ae2397565f9ea8d5872612f1e20f1077 e24a1160faf7c75833862b6bb89e981044007033
+1b9401f22b94eaeef70dd65de21d5cd1a01cf0a6 e43a13a11d10ebd9b5c255f255cbb842dbb0da8e
+d2f8c30bcc4d5ba8f9eef6a6227f4b313d4ee9f6 e6958c96e899444f1104e430c6b9dfdd8c0809ce
+b92ebd59addda1eee7893ec8036535f1bb670a90 11d4a8895ec59441fae235cf7239dfe402c5d865
+3d9104b257f95f87c7922dfe306d0838f9f8b3a7 d35fdc73bb9bc33562060940c8c029d217425d4a
+df5dff4089694483d2bff1baef3b56000a2724be 65f6dd76c2acac36f675e69934b706c66d8c1c95
+cb89cb1c41245a8ab19275c050c5835e74dcde3a d2ab7ea8a787bc92ba38320cb014974d2bd65fdf
+1df02ed83d6368265b5f5fd1711edc48924fcf88 f796c0ab8ef7584cb950f1d957e40c8fc3b494bf
+b7ba51ee00781498e8b59aa0e378aedbbaab2bb8 0b07a31fd2d7626ae1aff8b55fd8c03b1276052b
+10abd803aa6cbce23a5aaea44d0fc9d4eb502809 40eb871c4a284794aac0bf4c0d688e681e68c0b4
+39780093e5bd2d87877510649735fcc3a1004c84 e6174e71623206aa2c7891dd9c69c2390ebf9185
+93ac6e661e0a67c78226dce31c8012bd3835c36b 70f840dc1bb455f4bcb61125ca56de957c6a36d9
+498e8233e313674aed3c08e3183a1f717946bed3 e88f0d4f1ac4569ec08ca1e021d454015b113e6b
+408594725a1f71cd1b4f3e4e46ab0c7ec031f140 d07466d2fdec05dce0425306e3301e68cd2122bb
+81d8fc27d4d96bb0d23d5da87d62a5ae3b04a72a 90aeb41b950db88cf079cfd3ec7772bed9cf907e
+e4350bc46eeb5a8e3e0572d0a09cad13208e13b7 ab25ff31fde1c07a0b116b8f6194b14474931660
+2e90c58f06ec8fd901c286412ca9a5e61730bec4 a981bb4e11c595aa6a4b1d16a519445bae522ba4
+f4e1175044aeaa673c73e61280561000b570feff 18bad4b70a96a76ef5aca8d7eb5c3665404045dc
+e04254badb1e6b2559b8c344b11bbd80a8390db0 872fd80b2b316f98da6ac4cfa8f1eb7e1f948bf4
+c794ece2ba4a0ead4ef6389a3428280a9df5acb9 b704f967a052e202d8cb8628240eb26293e568e4
+0fe67d2229d994193321ead8fa64d0d0d1eefc86 c7a07559abedf40b72a82bd83acfd6a54affb852
+0a06ed30fc0c9972ba13e31bd21a0da7b224e364 d77baca0ae8313a8385ed35489522d7cd1955ae6
+69c4286b1a883bace32748dd6b0b18f4711f1104 833bed1fd315874321db194161b4d855a1d64eb5
+b0fa5502928eff283fc3801fed1ca8c5a5ac20a7 68234aab512c8c875f19e8949228487204fc0821
+0aba66bd3c8a7e43d2e7b2c57d43ce7198d991d2 dcd8ca6c7b57ca17099a64daec611073684b7804
+eea9467def0621901bf31c25154d0e858b4a3563 15002740fdf6df64016332faa37e9fb048a0d292
+2c6e9e6608f9c42aa82ea5f4a46056696225a6ce 9f3c884e84420f69e1f81a342e62154bc14fdffc
+2629f2d089c2b1298ae89bb259d0b4d765099543 623cb253c68b2c8a1bffbdea4bfaadfa67e681eb
+a5006d90c096243e8188ba0b6ee31e2a4578ea57 4d8723c6b27e0b84be78c35137c2bce959515f68
+93c8030a8d33e9a13051891eac3529b4423156cc 19a47054b2a7ea034e897c47bfc9ff20f8de839f
+b9b04fa6c264fd3cdc703dc4b7a99630f1a0a7cd 94de17ac8c04e940ea701bc0c37cf477729baf49
+bca28a1318684f2960844673f8005e7d6a747ec8 ff9fbb73c8ed6c0f40c225b03a741dee2cbfc7dc
+6c24cdd1bae6e98fd9dd2e742749207bc4a4fdad cae029ad97ebc1ee5802d77dfaca9c59d37fc013
+aefd97f26049e4d019b5fd525eb2aac41314fff6 a3fc931c9d6748fc520bf8673103d72484a7e02a
+8b6d289daf7201815c27a18d15e0398337f60ee8 723613726d4e831dc93fee58a3195332542aff97
+6d08636b0e6789fadd137d70e91dfce97a64689b 475b7e273e123e6a903a832e62afceaec7545276
+1883646f1e7a10e827a0913bde563574fca54a13 2cb8ebbd48a5162667875abfd7dc57e3039f5200
+c3edac53acc01ee1f06125213f0646315efee613 b42b69a4449fe163906503b2755cd4451138dfc8
+c42c6be658990e773fb25d027d71259a44ae35cb 048d8f8b39a6f6a62c5743566a03dbffcf468bec
+7452f5c33d2f48cce1274228a7ba3cf045c69574 d3a4d423c2b87c8cd2d9cb21967a3792b53b103a
+498dcaa1608c0a460c560eef888da686f4c1d677 0e5b05264e4d4f87dd66765172ee5409d0d7208f
+3e7c271ef07985b3e69d90c7d93b7676467eafed 050ea594c0876ca05a6ca7c67eade65594744a39
+93e93510b24e30394180721aa69012784e74a4cc 81be5e3960adf28ab72e155b3f389fed2229267f
+c278c968b186912444047c6d3851bbcc7495e1a2 e08a45724e67692bb757d5be9c1da9155e691032
+091748ee6aaa5c5b59a98a642d51d642dc8334bf cd1e245f5e09298eb2817114b730d911fe7f78c3
+61d6d6fcc2372ff8a00400a3c4abe37d0dc6ced3 739b39668c61c51a9c245e895d979d68aa6228bd
+37badc531556c10312a64d2939dc0c90166be378 ac1e7c821c3cd154c3e34ab1398b65ff494e16c8
+20d89c24f27607defef3a368b0762ac4fb46e1e9 57fb0ba541228b568f98a6f7054308e75ae3d9b7
+b7476a4c880db121fb0fb8c62e57e10befbe3aea fb2246f5b3fdfb7a7438788b941de8013813de27
+e900f37d99b96aa72a18c6b38a264ea6b313466a c305f7a3429fa71538200d0bf4b3e76ec8d4439b
+6b4cf3065d58010bf810199000db6eaa373f5c55 8566553e735cb96803f105bb5d47faaa7ea53803
+919e271fdc51a37aab57a4e7ebbb73e9d1b967cc 920ddffbbd7e294f1919c757ae87ce72576cbe8c
+7d53b2c3a71717b3d5cf71b14da8dc6fb0c62a6c ddc012ccf7e31d0aea88cbbac472ff9be1b9547e
+df7e6e607dd4377c16865e20e90e9dff8faea7a9 77400f310f4ad82909244c673ca63f7a1bf642ef
+d9730ce0a54417ef218e843531830a3d08219130 3e8ab15d88ab2c32d6a58f786d4d4f4043e3dfc7
+8af81ddf415672225430c778cbd3bf28120d92a8 c3af33b2f4813f4080e5f9629b4ccb551db5cf61
+fd6675507663c32ecf616ff1a8c246f10ff8482a 9d5d0d5eee2ca6f43b592494fe9396832b2a4b3b
+2aeef7c8848e20c6d2dba32cf40df242e520f9b1 6ac3dc91c9cc89a0681f2aa39e5286d7e7c62e35
+8178ea3cef21929f41ffc42fb7d652893b43b55a 5575a85555035d2072aa690378ee1cd34a9a49de
+58fdbde4fe946b3fc47793e6f7b4d384aa584391 37f85fa73a5943a0970e73356726925ad4374ff9
+f7f854fe2360ae78d9842536693978967e6cc81b 2d8b86a82562c15115f8054cea103328bbee40c1
+f688d2e6167883848d203985c0846360e87fbe4b 21a810216aa88fd33cb2e56a6fbc8885c9ca5f96
+c371d90b7aecd8e139bbfddf0cf58b01e465bde2 4357d8ac0b6657a48114e1c3f7ba3d54ef500227
+8fd55ccce1db383adfbfc8286de2f2fa66975362 2b28ebd2e9bb6a4465a69328d91359183aa349b2
+dbf490fa49356ccdc4fefed07c33e541e0f68c5b e0228f00ff1af998a72c21b16f1d81ed92bb6cc4
+668aaf48ced5c0988f1b65c103d24425c92a3b59 4e2ed73b75ebc040a958ad9791d51177ff557807
+fb1d063c6e561bd18e0d43c2939b87d754a1248c 3cae55933cd65b39354425ea3c05e4a4d514b0ca
+4e36b400ef7cd6ec44d3a971d7472f544b84ca52 016d3eacdbf0c305c24794cb574b90781a589a4b
+52d99061057a08305c1b0eb835b74fe2cd8e6a1b ae14f0ef20d8906b91a956cd047ed5e30e7469c9
+196036def962306a8bae0390145ea98132c95d02 1015d9c1017f9a45a946c540a867ce477a895605
+96d01727991692783cd2e19df3e2bf0c856fadd0 6ffa6b4b6f5dd34e84e3615d5e149bff951be1b2
+62657efecfcd577a63ad0a4e0732b0a19fc449f6 cd4947bb8d1a5675e51b07cbead3f66ac8530ec2
+968314ca1ba62c3c2227c1371900924c3e81e7fd b2ed94f715bfa7bdc6bb55e1818befc647fb1fe3
+c06d06ad51f8177973c06823524e719bfbe89af1 4e2ed73b75ebc040a958ad9791d51177ff557807
+f0600fa30390b18136e5dc9e9c3b2ee043e9d4b7 30e899e262cea9cee9c6e15f569d7594081db870
+95e4b32a099e6db9106c0c4faa3c402a23a08f13 66e007a3490044f96089fccb9f649a4342a7b324
+e977f9f25e3023a9c3f7a6a0093bf4cadbca1aeb 3903768b960ebc5625ce7a86808265b7e2f83f0a
+c69a8eb17a40c99432f4c52cb3612a24a3892eaa 141f828767fdcc96f61f77da20e10fba596988e8
+ad88a721f5d66c973eeab839137aba3b2f0a295f e8f91a356515ec8c4160f44d39deb6b5e32680c7
+916cf410b8c791999f9290becc97ab4e02008ebf b252cea10ffa9b0a8c48c48fc3e0e5cf3afb9726
+3283361a35893a32922f7e0a1a735bac2ab57063 f0038c68de569430aed2878a35a789bd02a805db
+ab990f4f86cff0ea68ef2f2aedd1d8924e29cba8 6f887f9f7cf4005be877b737d4338d102cbc0553
+cfa60aef80612aaa633b014dd377b0bd1229177e 4d1f849088ac76184564ca2bb1832ce73076d650
+1baefdb8c0f5fc29136d2607d54ebc5b8f0216c3 909e21039f5d9db45da37efa5afee3313a722734
+b4f654294d030a3bb104ac7e5ea0ac355d213739 27a41810e782142cb4f255e11c6fc2f13177fcd3
+31befb5f1ea0a84029eea1c33e036c7bf70f24bd bc68c409978696c9260446e165be7e241fe29666
+71fa29ba12581c31bf2160220fd95033f1a3c5e7 e1301fbc553cc52d8435aeef87662aa2038a60f3
+0eebffcf2ad87ef7352287cc9346947f6e204a9a 3137862813ca8186949af83853f890357f6acf87
+f7fa81994ec85f7d7f89f2485f70b52e8e0f0b59 7001209bfaa2148a7d773b1a38f09abaf43b0e32
+d7f8cba4451da0f9e3849142e75d28c664cddbcf 34c7ccc8ee5d12a24c60f40ffe60a5e4f531eb8b
+5a4165225b330ed0d1ab042d735f624db9e84457 c978b13287dd7ea3c4a791bfac5133cc7f4a04bb
+cffc801cbdf6af2ae569c80c1c107568d7213e1d 73fea209a12dc436e462026f15e8adc1b4ca5fe0
+8fc902373f9d7d2dd66ccb5d822d1c4866a78034 6aedddc22d4c2eefc99011bb62d40da6106d5174
+d70f897a7ec26b5c62305b4406c78a3f2f0bb58a e4943f3688b67fb3b7b369fef783931cc5354f0d
+fd96fc0aab64c63b64782a9685a82e6b899e1d40 4d0f7756e77e4402fd1d948d2d51adb6d84add71
+4d482c1ed0418373953307ac0b1a8b3f74cfa087 8917c60b61673f1e75119a773846133f39c7d956
+f39317b1285ff5542a5b350edf9ffcd7e9f9b546 67b845f5a4d202cd789209e147b9be58a49b86c6
+88a57da067907edb06847e2f95c955d07ff23552 4dd77b38eeea7ff33e3886187477af98e575ac2b
+502dd5d4bf92acae2ac590f5682e2672448178a6 89f65beb612909e25c6b2ade44e34a6c09ed69b0
+79b64c80b088d34862d30b6f8c47b32e3f9b65c2 60e703d4b96a47c56f4c0bb62ddff8e87b54254d
+fda42fb1792e678da7a23a81adcebebcfe6ca8f1 a6286560b0bdadf00b74f7667647465c46dae36d
+ac8228f1029fe28dc0f19495832803d060de152d 35d686bea37c83ac0db09ce0f4a1e74b20f2e46d
+ed8a86bd4e98d0a934716291be143840dca4e10e 3f007f9e9aa4a8e151b23b061fd0f915a46b637b
+dc1de70383debee017b994f6af241c1e6c3470ae b4ca0db0b1a5bec7bc2b0b1cfe778a4ee2593ced
+2a1c21a395640d4a385f4166a2046b94a8fa54ec c97a9dc989a0b3987cac451e1c8e8e0f045d41f0
+eff9f33ce77d0d19381cb51dca76bc28c4844140 558f64d2138e90fe8b7f6b821121fbb20d7f1d9d
+30c8def68fb1b8ebe430ec2072363450fc301ce7 a7e83240d20f802d9916cb50a7d310f9baaa1e0a
+d0462dbe67d10cd92aa17cfe810acda5c3eb71be 4af7bc1a86d02eaddaf3db3e9203754223fa4938
+cbbca38ca2c0622df94970d9c1b92d78ed362c2a b06ef03691e7ea150fdd364dc01c319b4840cf8b
+a634f2bb9057bfe777dac731d882deb6fa0af56d b7dba0e19f4d5474e184b492ba12afd24e951c6d
+cf5510a36240a5c4dee3962628da835dbd0442ea fb1d2433675cef2c51da8c24947c77d00d11a910
+50335bc32c044d539ee4d1dac3a2cf26d0f6378a a119a451c4981193632eb24daa4997d989df6ed2
+90d55d50e9719e1876721458a75cf1d6297ad0e2 049e9216339fc9443bb927fac89245cafc884495
+04aacc6e4d669cbad0638ab7b3109c3bddf5c678 c4349ba0ad68273c6f265f64732aa3de1c8d199d
+d18bc720b2d268f6aa57091e336e4e9750ab260b 6c47c9c3ed9548ef90b3e62e2c6d762d7d3fafee
+c8c5938cf9b5e02103ff8f54a5d0eab51440a2fa 7f140c04878a86a6a31017c3f1e51e2c3fafcfee
+d10496a7939e713a2c1e27d91e5b62a08a8f8a3c 3f947b99c0e5b687fba40e072c123e6587880037
+dcea903b2faa9fda76e530885f1c824de665de5b 5f2f033d1ce8b194bf77c0cdc3e16b3300c36880
+ab75ce7b28f89512946e6f2b6fff19610fa14454 5faa5af8ecd8513e748724eeea43db86fa21b205
+e122dbe0d6743bea15015d5e32187115e0d8c150 fbf9589247c1dbf2342a06916f02f4edbd18d80b
+538877c7c6c31ae8ddfe27e7606e513bba88fef4 9aba0e62ed040bca4c2d6a88230e696b0a9794e6
+656b44ec7036dc7bca92ed9a065d13596d57981e 641a560f6bee2c2d4081581fe07e361761115d70
+346607fc4baf030b4a3fca8ec79105a9be17b3a0 66e2978cba5c3f7c27efd5c60cee0f868390a1ce
+08c7489b09ce496c367eb4776e9e22e68ee73a0e a4121b099832ab8c69466fcb485878db1d335a6d
+cdd52d9a80f6bd655b1313bf076cf83eee8d2f86 1aac562edb844480f622d8ac5a5cf39c93f9215a
+124d20a23fe53077013f8c8561ff3fc2470381bf bab26f213b3fb9edcc39f496d16f0bb0f64338e1
+a023d3462cd98c254565debd76b4e4de3a997c09 8ff38ef91349d66907e0c1113e00c05eb9b035f6
+595f3959b2c4ea3a6ad08481f7d17d2ef04f87b6 03806bc11e0360298fa6d0ad135eb6b53f9af4bd
+3c1b0908ac10fd6ba7968e3c10ae119f888a41ff 7dfdc396cf01b282b230cdd4e62a6f564d9b3649
+bbaf291fac444cb7a8efc95135145dbec5043c44 7d5908808913cf36d05d974b9c481bd288bf7f9b
+bfac357d7109ad83ecf2ad41932b847cae063c64 5ac3e92ee1e35c3d096d9ce16dbeb7e6a601f6a7
+9358fb102f6ef046cd4a74362cad92750c3c5feb dba83f40cbec1cb012382185a56a06ab1511dc09
+292638f35b96256a3323d3657b242bc420f1043f c3d9823eeac47cfa1dae57fc16c395b10237404d
+e1e1fa50ac5ec7a9ef317c7ffa95fee651dadd77 0e4f810341007a4ef21f1dd11b07ba078d738ee5
+bda4d3e18dc32ea2257a1ebf8125701287eebb21 e667c4a0ad63eb6c8a85596b2a5e23b7884c7e0d
+b36345f647473f1d04f3b7569aa0cf9fd77082ee ba6ac2233581f2848a0ac3124bfe7a817996e0ea
+aa768b1a408432883e3f8585bf6ad8654f3dbac3 1f85f1806eb2bbf70b9012f92041e4d917ef4fe6
+ce40b51fcda7f28b856f5787af281cd870b439bd bfd5b3f6142907a4c07238653af3609bd67e9b1e
+f3cc655f16bf53a618267595f6284236aab0e971 1be7c1d47323e66421d0d5c466b55d1bc2a40178
+8ae7097be88658a781eb9af6c1128e768d853789 2b99032170e68d0adec0a1ac15b8aec305b856d0
+80b6576fbd99daebb78f726cebb9f10654c74942 aaece0cc85f4c4bb9bf8f693c7c4bf621ab7cd95
+fb789a5d4915403a67759049d3bc61142878fa34 e159e9faedf97d5bbae1b7a0186271c99b2617fa
+c74639478a739e14d6b891282df2a97b17055503 363bac410f0b12492854aff8540e6980480d62b1
+4783102fa30ce7e04143b7ee3aa9766eb5322243 38890d0764aba96373141bf1fc2cbcb31898889f
+e7d63d3811f7a1431416c828beaca2ee31c7d683 495376969b367ad29c161e2fb45e39e8a0bd1d8e
+f9ccabe3a1ce85c3a71fb50902f8d2c5547cf18d 0e148d3e4bd17d3efb1cbe9c2093f7af9ca47332
+ad08a6f71b370e82abfd7327f41023df919b77ad a6d626c1d5839e0b894fb244ca7a71fc6d32ddb6
+b2fc0e5c722c1d5ba502ac7c4b73d4d0aac0af08 f63ba06971a8346cb152c9181bc5af0032daf07c
+cda322cd76299de466da6ae6db9503710826f804 bfe45c9375f3d7d9d437dcae8c0263cf319104e0
+8f13f1823b56cdda9605f3a01935e3c3c9127490 1436c75207b12165b809bf0ba4bb1d6af978cf43
+6b0b5f6372c3cb8e7fc142d3e806afa62c79c51e 6a92ba530892191e092da0769f30eda8252c8134
+61df1f509b04680d7730c29ba6682772509e908c ccfbefd042c5c1edc6ee6fce4a378e8a433f2be3
+08c3d302ddb2fe93663126b5b984078bda753334 604682b99d235a9573e111d2a248129b9bae7698
+ccbefe063d16d97e2a0d85406057fc40611a6450 e3173743221a64f7cdac0e5aa9caca11087969e0
+723445aca3a682b5179ff5e4ff806d94f4b05b65 139a9065712f3f89e47ec55197891e5895a7ff76
+2df66dea2e73e50f8d9846e21823f54feb81b108 d2d3e0a9b7f03866939162808afec911c68f8cd4
+c1a50f33f0c2c4d1d7dc9a03d1e20ae77f7190fa 1178481b469d063924ef43cabeaaf6278f30ee4e
+210b28ab98d3bc1327777e0b484c3da9ccfca589 e017c3842a54dd1b20356509b72f628fc21fe981
+713d1511c3f591ae5deb657e817012fa7e0bf7cd fd7f2d75e33ff133f38388c55c00fb1ca60ff3cf
+ef13b8add8b72895ffc9faec5fe95fa30e872b01 80f9371ab7df62447ef056476d59ccbbf128ed1d
+b7f04dafbe9592e217eb0f0833a0e5a5f2a73824 a7e85605fab92346afcc069240ffcb8b61d03774
+02cb6f00a78a9ac48585bb8f4f90ca628764c6ea 2ab48d6103be2a60f21f159221009e3e71ce8102
+b19bfcd07dd847b5dc884a8922ac703f0dbb2ec1 18638d30536dd3a99332f0b4af3dee2a11c2667d
+1a0a5d0c38c1d677418befb39a5ef4321c47ffa6 fbea36f04d3be008c1fca73df18c0e7058694625
+9dc1742b8605a54d2026f8cc2305905a4c2e7e40 814997b6c4c79008d3bc76a8f8da216856b11798
+1ef8ac89f2b2c0cc10f7d44950d8a886c7ad9260 db1105211e47d7c7732c589722c95cb36a3706ba
+5f2969e43a1939ab0833add6974d1627f422cb50 187300935542c1ff187bf28ec2633ae0b7cd79b5
+c6e7ea80173dbb990bf343f85efb2f785e424e3e 0d4e490f57d83503409640a51a8b88eaa79e30f3
+a04ecab584756f06698b03b3ba34fb5e76a8f419 65ecd28d93ce8a08d5dd876478b11ba878bf0951
+b53b6046ac7f41f669f6fbbe52edec19e8e4d9fb 0edd58dfea3a5ad3368bc109a88d54c54b33c6fc
+68d04f201b9240ffcf89248a9eb262bfce9c356c e8d512e9d60e5d66afb7e7b2f29576b76c16a360
+34c2351bc5da1952501412c368e265eb83ee1cb1 9fb2d6e63b5362c9b820dca562902c083d39683d
+a698dc386e261053ef1eb503416a5a365c6dbb98 ea7ea11dba4f022f995203eecf472e6e1a44558c
+bfe9fd72a031a8ca3b2a94980be5702307b7ed8e f6507238f7cc30e3ffcbe46fa5f7306a4568b2b2
+3028725176770a74928d5eae99712bdbf6178db0 db5bbd729ad572881b3b17ab4c805ce2e4e4b2ba
+8a09047526ee5721947c37b630497b07a42d1b45 c5b9a65720640dfc839891fc1de31efe339ba65d
+efd1039b45e07d02c17c39a9a9f717ce1e8c6ff6 93b89083ea290ab013eb7209a46b364d11a2aaf4
+415975a6dad51da65cc73d4b4ce2154d9b81e583 85ede94e3a0166c0b2556a08471f78758b79d872
+1a383d469d57de913a61094835da798b897a439d c4cef74958a364c96381e3763778476619fe664a
+6ac98cc28b9a2798b3697071dcd5e9d7327280db c4cef74958a364c96381e3763778476619fe664a
+ebb442ace455b3c529ad129588b2364163ebf497 c4cef74958a364c96381e3763778476619fe664a
+5e10bf430e77bb5b34033b6a0dfc73d2b399bdea 8c2132891758e9e7a93956acc11b1a8008cc284e
+6295db1af770d048d8364af78c07ec8a61459828 b6d24c5006803951da7ee84fc0546236d601aaf0
+29cfe7b04dedb4d2d4af66e24b677dfec1386f97 2d39503d5c8d39320a2ad1aacf882e03eac1daa0
+f59970c7f3f9287c2688122a50c84371c06465bf 1d5a3fbd2494c336af984f75ce273155427f15df
+c93e3b9d28568a9ac2f97bd9d4d7cc1b05d6a0c4 37521557be31fa13cfceac636bc98c50dd8da884
+d94cfb8b10b2c686cddcfad2601c2823207bd06e a213e12916b61eca420c854a6b44d1368c8eb17a
+402233cb215e646fa728a3abd1ddb2b133e08df0 53a3a7bf2b82fad4e92dfc52aa7a0d2817694406
+9362e94aa50b32091f40a00fa3475ba13e830fec 25f04b026d5fa186d73268dc3d41d851b1a225bd
+6281994eb88b439e0340c63cc96a6ce028fee849 4cfd2a38c57623c3d044da5236e43f1372721608
+a2d28852c4f5a598147e87b7026e24c00b5a772d 7c91d109e087c5ae3a9a6565aa5aab80ad57f3ad
+7c078099b3eb9ff6c65bb9d0a437dc59bedd5dbb d43412d5e086fc8428c5150e961bf9fc0784bd2f
+22de286d6e435b91ee6681d30e20b64b3284c467 7881659c02099b25e9c4a17668b4ed5ca716b0e8
+062f073c331b76be225743ddfd343ce94929ab38 067895c89f93e9ed0871ff90b82397ec53874526
+2c4874a8b5a6e454a3262167ed8ea85df5b0b60f 706a1b17972c027b1934af5b66f303dd23135592
+b1eee0cb95a21efff7b0eedf929df34af17140c3 77695c7f33e62e4108e1163afd05df823a4fe889
+3e24e0d7860fb5dda6a988dd7455eb0105e3848e db8d67fab0f3b281cb578698a4a73dd41893c8d0
+d9d54d018c4d71e4096d340e0dc2f6ad392c41f0 c61b8bd194b021cb495e2e9145d7342d7ad3a085
+9d824ee929944f7bbf21e50615264e6c104be940 da06dfba2f391a8ec410f1fe700f4c25a56a9600
+74d5726851119b8318c7db9341252f11efa9d904 367f8bef00fc0917d5cb7257cea9ddc10da09a67
+7810ca4be196b8c17ef57a030651a442b51d6120 2d0a647eb9762befe4dbfd47f4e3a739be249fb4
+370cfb36805c500a45486732dba066beda7f441e 93b89083ea290ab013eb7209a46b364d11a2aaf4
+da4dc2ba6919b9b6ac4136013e9cb7343d3230bf 34859d26573c6a90ef12f30071b371fb53f03c0c
+fa9ba312a7fb03ede3954711fcd52af278d3f540 e9c1922cb10ed06745a9788e0dc5e9d5000dcccb
+fbc5efce40fa52e30114728fe318f3a49376eec6 4b7fec99d12aacdc868bf70a2fb3c0e8f22051d8
+71f49191cd8a7662d88730314cf95c8184e9cf70 a3d7f471b8e7b903d54810be07395fef8c2df0dd
+fe758b5498a785f185dba02650cbdc13e367c6d2 b10a3742144792904ad25e42ad988bfe480c19a3
+6da983aadb55789b0df093fe1f5f5953093ee4c7 20e9e2e00ff524aafa3938bb8c21bd7ba1ad375e
+a072fb2455a55aad2500cfd0dd6b9902e48991c3 6295cf77d9cdb7f1dce8a0e49512f1afd85b3b8a
+f08f0f536ada13ae0752e33010ff388966ddfbfa f64e04e2172728b883884065f37184ef13390589
+d3be3fa514d20cd03464bb644033a701678fd1a3 43904d9b1878b1d557b192a64c795ad43edc321b
+ca5bd3012624e7af5512a53cca97375d49d583d9 f96dd9c5cea002aba9670caf66ed37b4ee4c6d7e
+06bfa49cc30e608691f0d6ece06ea049d159dbd0 81cd95a9e09f5c1607b5312d63321632cbfab14e
+9eb17c5e6a9636d55d40e7a7a9684270eccbb29b 13fcdcf8f1d26468dd7888212a25b3d3124115ac
+ae94546e85ecacb654e74ac08fd8e3afe754f5a7 ed7119c1a4f9762b41bb5e2d7678b3bee6080ca1
+8c0f957629014b7eb41dfeb964b755174e0c6a3d 2269502900333692f8c6db4b4aa486dc883a6d45
+5d5f45b4526b06c22a5f84351198b1ce69ec2d7f 43904d9b1878b1d557b192a64c795ad43edc321b
+21448402a1873768af175dbf7c34fae1d9b2d105 2269502900333692f8c6db4b4aa486dc883a6d45
+9d2a2c90cfa077fbf1a2e18a2925656edf2a9664 9494ab81d3a940daca6751a104a8e4ef605f2441
+3bc973c2b87bb34b1afb4f5c816b4b8d79276256 2269502900333692f8c6db4b4aa486dc883a6d45
+441ed5bbe30a4d6dbeed8f1d356e820ef63e49f5 9494ab81d3a940daca6751a104a8e4ef605f2441
+82b6cbe08944dd3bd84d0b0575fb18e70220a389 8ad75986254a889cafbbb798b77f7f1564e06f8e
+6803fe1a9ffdb30afe4f02e6335fbea489cc8577 ca22add07eb5f9c705d80187d975f1350ffdc756
+fb90a62de7febd2dbf94dae6054860deb5fb48f2 eb6b8bcad772f7544244225d0e15a31f1921cd0d
+c39907a1da91047f7f6327721606466837e479f7 cb4690e1e5a77aeaa6b09cc8fecf7a517435946b
+d394741d3d02d6cf5f7b0df270d49d049a7ba498 a23b8a6a2297c7f756fa3fd70c8de117470295d5
+daba4cd23fdc09c3d831b9dd16e3e850228cf721 d4eb11e98f75c7953b462b4ea7e88fbbc75b12b3
+6eef888d0c7b8681848be2b6e9fa545e407d4e60 64297b0373121e021237720582494994d01f8b22
+c58771ee94bac0b99fe55e9b70202f94b13f4dbf e6e0aa9366c6f37a0a306d220a915427c6b539c8
+d988d2911227adcb6e2b453760c545d14c92c273 b95f81f42bf560530a1ba7c75826408701d335b2
+6f88aa60b6c2fd36dce8dc5732b03b4a0f97c68c db80d8a83ecb42500e9584b4093c7029895d9da5
+702eaeab362480141d91db4765c22315c2ce4486 d282c8b625d1b3357e80b790e7db52b041a77dad
+bfc409903a8dac21718b810fd5e00b0deb4293ee f551c09384fe38070574656ac0e9816466bd12bb
+eb6b84bfe20f4cfcf30f0ecd668e4a7efc0250ef 5b3817b369edcdd5414091d759389651b3fd0c81
+a891c91f355ed71d8fec1606a751701fdf2ed5da bcad1c558cad0f33b94e97710cfd2b55f69d1e2f
+25af75a9ebb3baffd8faa139db3339073d40a5eb 808ef23f59573169a32f536686307f627193cfea
+22c3eba050210112745f05b3049aafaf79443ce2 edcdbff873dfcaa772668f6ff5b8ae7a6f5a2259
+d1addca31adfc14556a1c06ad072e286def5de69 f1aa0be720182804e556466ba26da0ddf69e518e
+5c7c73d3d2d0a0c53a0700fef1390c5ab798b7b2 e5f40402b457a47aa4350b8bc2d06ddeb0af6467
+4ba5fa3de6c6bc2f75b2133715341b0d9c10fef5 2a649a342eff09d8c8867fad261038780245b4c2
+de69a9907b5d6abfbf2346bb00d23a0e30047faf d3aa8d0c8af7d8bc55ab852965d3d79d5831e013
+c826b4fd509e971d04eebbcaa600e63cd9ec7160 c1b147c28d8558125b1f75d6ad923608de52ead4
+affae05148b8c1f0078e782e941cb1beae99c212 d96cf76da7e44338535743fe6f7e221193ba9301
+3c96efeaeca15aa4c640c9b02f7abb71919d1c74 2dbdd68ffe152b00012194dde99525a2dcf44761
+e14caa87d57b76c1ef3c4e6f34070332399dc025 accd029614e24362b4ba67e7809f8ecff3a88b64
+4f1a71f45eb97aec3c54d9e5a62aaeaa0c77068a 1ac443a0d5cc7def0815792d3932e7cadfc5f8a7
+8d2c5e557aac174c92fa0429efd8e68fdc966a18 5d3eca6bd2e5df053506486af1cd96aff25347c4
+3d550a700f415d37d436618de7b17a20902ee1b5 f2b951e080edfdc4e9a5c21aefb9ae0894cbedae
+ca0272251a0db1c6adad4ac66268a4bdec29cfe2 fe039705747d5a414170de9898b96f076542ddf5
+726e671762535cd4b42924fc61f820464d992358 6a5fa4d28e915b4e4c0f2b2c1e1c6e573fe031ff
+23e1f9e1f54da98f6558c9c75aa45bd8eb913947 c8960fd3e7bf14a7299d8323c9a401b208f32cc8
+35d6e78c1860fcdfd5c2c39cb5a3aa5346aa7596 cb961d7cce8d9172744d171fb176750cd971b8b7
+3788986d42c494fe6190782ab8d4b8841da66fcf 32692d394a288a7bd53190eb821ee2358c0fa717
+ec821b5abd89e545fda7e6812b7d7a9aa0a223c4 0f4c5a5898814bceb259067f72e756fa5c452f4b
+318b77a26509af4ba4492af795eef44a58df1045 e976ef1b5720ec19839188e67d4db8e9420dce74
+d638ae2ec77a5ef0e241d9bc2a1391a506ee2652 eafe1f2c7f99dbed5bbdee23f33e7f67785d352b
+b05e1dfe74fa596e604a3a9b827a76ca46cfbfac cac4eb41cbac182da4e040190a190facb3f06c1a
+026fec2ce2a56b9f94ee02b90aa2576c860d5bcb b1c73840fff9b94ee99a732d5ed96f67e846daf8
+733948bd2637a4a1e03ad6cb440cce8ba1661d0f 30fbbeb9b2773df0acd7e3c0356e11880f6a8e64
+89cbdfbd45b160309167a0db12bf1d4af4e48eaa af742ca9dda74bd19e2687d967bf9a9eecf4fb91
+487bfb851f09e8287863b159dbbb12882c7fe3e2 762f79256da97e9934983bee059a88efdad21770
+bb58c63bfd2ad57501557fd2b5b24eefbd89bdfe 855719c847d8c9fae60a6f705bff4b78343f7a9a
+09e1316e38c3cd479c2621fde3859984cf6720f0 996eadfa493e3d253d3000c84d76be619e089834
+f8fd9217e6c6053cbfb6793856a112a70952a0b5 d0584dd66a4e37168bdd9b0ee3cccf1d4abd10ba
+a01aac57a1024caff8ee820ff6a219c0173f4d3d 394a9a5c70bbbe64de0932cf285c3d273407c95a
+618807ff7903c229c2f22abfb8f33374d8d6fd3e 2631c6db36a7372dd6095d03b1e223b22db963c7
+497bad51e5d571adf364924f8f32c0109c5ef29b b4dec2b7a5bf67adb8b2acb1602fa84079581701
+5b0d689e393aefd461721f4e9921109d8e9e022b 544fafeaca4becb533260baebeb69a5a2ecbf207
+ec897a1dc550c6ccc09b9b0a438e594e82872fc4 a420bfa36e368c4a3d1cd39435d8155065d4a48f
+dfb5cbe6fb5d376b8ee1f4c2770413c66271860f 2a796571dfb2b34575f2cef279a6b2c05a80e66b
+9b7b1fa634001f938c20918668325baf8e9561e5 4eec7df237b745867dac91ce53ed8b1d10adf3c5
+c35786aeaedc44b6e012602b169204d5de86b2bd dee3202cf6660171ed3aa325a7e587798874cec3
+98ed7851d739a5f99737e2b2171da29ffec2d239 f2429995a8c0d81b744d65b246fddd19b57e4b99
+b8f222e491c90986fc1472d212f3d8e2f71c4cf4 74a86a500f7b2a2e2ed02a2bbf28d570327711ee
+f7cd9a0fbc41302c66691e040ffa85e12d5951d5 aa5f1bb631ceb84cef1dc69f2143e3e121a9af13
+8171e7a4a9315b9f0c8e4ac9f1f4e594c1759f4a 169c65ea825313ba2572187bbfb2e10daa88015d
+ebd4c22d99a46b50686eb61f82a57f52e6bac6ec 88c1fac007565279cab1cda68d812c24e9a753cd
+c3cc8279e200d667f832972e21478966d2f5679f 3a016902ab28a4e63d5782fe2679a6ebe35c9d43
+c086a49da6df81ec20f8cee02e1e8250c650204f f8de72797b31bfc6f292a47e99cad944f9ec3ada
+3495749d6fb11cbe9911a20fdc4e34a50d704863 6463eb25bdd64c6b6102728e315be44408ebb5ee
+d4416cc800aa81ad834a0f68cbcbe74613f11ef4 44628feee7a7e180c18a86095f0ac2e8e2a06c70
+487f651a6e1dd67813349449410b3e3f4a788ea4 4d47deabf7d46db97e59769a8de1832aad093910
+c530986d54256f638898619b0791d97b33c36aaa c4cef74958a364c96381e3763778476619fe664a
+6a25166209a8320ec37b35c3baeaa1c1d35ee2f6 f1aa0be720182804e556466ba26da0ddf69e518e
+55bdbddcc19f14b101cea98c9e7775f9e6d497fe f1aa0be720182804e556466ba26da0ddf69e518e
+e1dc1f0defed003d6deee760dc742d676d934ae6 2a649a342eff09d8c8867fad261038780245b4c2
+e0cf93e6fd78b70eb1172ea17cf98c17ef6d3cc0 4d47deabf7d46db97e59769a8de1832aad093910
+7d722b9785bf86664fde076f3ff0008675ecada4 7df1b30d3d3dd9e6e6d8eff503988c3900e57ee2
+7ef9c360080c08b35c87287054d175685436d48f 7df1b30d3d3dd9e6e6d8eff503988c3900e57ee2
+420bedfc0094eeedcdb169f26cb0a96ecad69f92 2a954cb8b93357025497485ff1df787ad1280fa5
+a6cdf20d0fd9b76388e2bd2186e735c3a332ce70 6a48ba33a8cfe9a577c3eae918af5ded287e4b2f
+491fd401d437ae7c59ead070d1ad94f3818a91ca f6418125c4638b1c682c5f18e0f30d580b8d0218
+f88b89a4241580f5aef67f50e906f8082b9167b6 cbe7afb327a019bcf09273f9bd08417a7953cf53
+74691f76d358a9ca51c04376c7aa4f02dd019216 c8933e1ed3336468bedc1cc41fdc1f3f32747e77
+4b2585838a0e4b77558a334ae93a17eb5291fabb cdd704cbc18605e537b86bdb346c2897960f18d5
+11566ee3aed3d854edcf3703fe92b28addbd91f3 b5ff65f72723e2738ca100c1895f098d69dae178
+eccf7256dfe84a14c95957a363cbf078e575e1bf 4d47deabf7d46db97e59769a8de1832aad093910
+f3a17cc87fc1ae3fd84c215698f3e5eba6822f77 d3ee6470df5fa910a012b0a921fc8705afdf14ad
+4bb9b2c204ea49548e733fb60f0fa9bd236019be 2bfcce5fab37e3595c598a61f8e98fefee6b4d97
+4b6226a4fe72427c1234de1a5f5b5a46bf663f65 ced3f5f05530f68641f60a1e704889d31b38648f
+92546a46387e5a27d69015fdf5cd51b8dd4d83d2 11277cfb7acd27ad527eef1e408d5afb0734fd37
+6e902e2bf714316b3e8abff7fd6f3ec527d165cc 353466a8c6bed8b57d4b26532ea1e4f1c92e755f
+2eb737e15ae1c26e02bfa4f1a18a4081591f6a6f a9b194d9fde3a1a3ec0478ecff71b77fdc332ed6
+a10886fe13e594572def60be2a928bd58822ab7d 7b7fee3232c166fb35c076cad8cb0113fa5e8684
+17f2826bc661876eec714e9e4ebe7ffe47416655 86c07327019f3adfde4faf781c519d76932dfdae
+c5decb191b4d79c798c07725847fb4111f7b8580 67ee0d1221310232bbdd5b4ec94a8affbd59c2d9
+e8f1156b09881353ff787db8ffc9976c4337c723 b4298d3fab5492dec7fcfb182c0366faccca58b0
+9517bf9e208581e73dea719845168ae6d608520f f43496566b5280c79b7ccd46a0cc43a1f1887cbe
+b184bcb31bcdfe170a5a918282f865baeeca158e 6893eebeb62f090b01cf8d7b8b2b61e10eed804d
+ccb6645ffe31439cd2b676d50f8adbf7a61c1879 704850e0dcac42aee450eb2c186a0b5eecaf8661
+859aa350ac9fd986bd9fcf54bf6e06b23ed51424 44ae8d8ce1aad47ad3a21d00677b6257b700be3a
+6df380e4d7f0dffa1fdd13dd6b169e0971267d86 3a62bdc661c668876c878fc175aa1706e56d3f63
+fb64c3648595e785168736b994e1c72442340ad0 3dc715e09b0c3123abbf1aadf3d3cd7888d17fdc
+e588fc1fe940d5406ad336d946d0f63c5e44d089 7df1b30d3d3dd9e6e6d8eff503988c3900e57ee2
+a4e46ae10d081b56dea13a9861843dfb8b16149b 7df1b30d3d3dd9e6e6d8eff503988c3900e57ee2
+add21f5d5f1d1dcdd046d54fa5c307155d9dfdd5 87e50f3a103b59dbcf52c1c2334fd501cc54540f
+1cd391103dd4721b562fd07a972d2a3cb4b04038 53e395f59fc689a9c78077bd3f9cf93462838200
+6b99586e89ef2caff108baf56c5f2680c7ca93d6 56989eaf965cdf18cc09e5c08ba59c5cadd2c3f7
+e0c0779b6cafcbf1a06cdb417c7780cefeac7106 77d27c66afebc8f85f0e8fc5ddd65be3ad7eb104
+59cd49098bbf38965337da91e61647401a627a75 8dc7a7e0d87c174edd96fec487da1eb4df89339b
+afefe6e49a2329c91ce28ffd2ad5c6c43e73aa7a b0a435ffbc534f0766850eaa7e8d834c579236ab
+5339ccc3778145232ff34227f3868f978663e2f2 d65664801a46d4b32c6c807e2f122ebc6ebeb55b
+88307eb87e1e8d748861e091efbc79d49279f4eb a2139f9f6324da67205e4b495f47a0908bf8bdde
+5e425f3510a008da307cc64416a98a0011e18a16 aa561f30046dc36053fe39f8cf67d67e4c5b1282
+b6c15687405331cbbbfae646b12b4b8ac589c6f2 8dd910db7dc4e0d969ddd1563a56975b06c06165
+bb3f11df191f1b7cd96d36c8eeedb179d1aa3a28 103174156595d4541ea0ef2e9088e74c313663d2
+f7135b0031e8e7de9c13556f28d5968997a004ea 594b9324d63d28f6ff42733eecacb6802186d740
+bf09790dd86748789ea8047096ccc4ab2ea5fb9f dcb0ff30a6c4020753a967fe530229496aeaa468
+b9df8417f7b514d92ff535abc422560ea11b8123 e3dd60e80a2dc30e47b3ccf3965621f6dd92c6d2
+3ac2000b579dd026ab899dc89c8fd49536a18014 40f70afdfa6062fe940f65b72acbb34d2e560632
+bd7ca1504fefedf6ec344205a0d9124aa85bc29e 6689123b821330db212d1508fe4d9c8459183b89
+c605588cd61371a60de81220325c4e8bef290d65 ca3690d88567d45f5d4898ce3ff39d884230a398
+bf145b8990d2893a84c44927e7c6a177e5c6e856 eeb745937db3d42739fba84956f966bb70ec31b8
+73075b8cab1fc9b6708334c0706a7bd40d1977ef 53e395f59fc689a9c78077bd3f9cf93462838200
+77a7923ca5c1dc0010b51728461c7b4c57a3961f 53e395f59fc689a9c78077bd3f9cf93462838200
+88d7ee4ebab60ab5293ee96c94a1d0bd53ab47d9 eeb745937db3d42739fba84956f966bb70ec31b8
+e0ab53a9e2d07b89700b45f8a62abccbfa303d35 ead161b35c424f6c9bbc9eaeacbe10c6656e7ec1
+1a7378e6ebc4703755f5c8ab3a47f46eee6e95ea 9d88172678e180c0aa6e36e8cf2ced7c174185df
+05e13b0e1a39a6636e9169c6d56051208b86590b 1446b72546314872748f4547473d31492c54d587
+35f8cc4fc50b3e97478ae7f1ee8ba5ad6cb6996d 4925933a1b1ff452831cd5418b401e8dac9d9bfa
+5489695a5e34a9b8ed70ebadffbaaaeeaea001aa 17ca015423f9be8d38a29c91d1977dd21e9f3c05
+0a02873537bbef356978410d59774e59a2cbb09b 57286d898975e17c91d269193f368195223582da
+4cd014b1cc4181dc7a2efb1b67902437c480b1d4 e3d7b389a6fa40296cf19311bcabbc6f909cd485
+7b3e2ff232af25552de562acdcc053c7bcb6b38c c247107706638529fd203888a936c8c6e46e8e1f
+262b56dda918c24e5a4f08646f072ce98b367d93 b89abcf7dea372c212b943e90312f514ba769e2d
+15bd6281787f10675b03ff856728b83d5bf81f94 9c59c83aaf3abdaf50ea136b2c03aaf11978b207
+dcc436d4d686586e1af84053f2b7f5ccaa9e866b b44e229811d34054f409d5cfd55a016053bf37e1
+9ea4a5b27d6b0e9242a03c356dca65b51123b796 192acdbc858ac644e73c0709efcd42356a41f9e0
+852489663584f205740a22229399b6bf81a795b7 c5cfe1fc7be8226c788bfea08756b7a38e8004b8
+4bd6235c140a4cb7de78530c0b60806484d10d0c e2301f85b9b3d5e0e64eddce5c4cfe97c120b9c9
+b37f6c411dbb54c35f5fb0dbd00347591169b12c da8e1a9fb38159fd251f2813f0c7aec0a77995be
+4a93e4630d6f10aea5881bfd65aacf0ffbc2f424 ca54adc858d9ff2922a796db1fabb886eb4b3b5b
+31f2532d0819bcb56f83e15257858883114f8dcf 061a63e8c9be0922cdb73cdf579c27a4137d2a72
+ff9efdde03b660190bee0b902094e7658d2337fb 31d188a4e56d3523c6111cd13151c5a06e25f033
+2dab9947f9120b89381b01227a1e148becacb43e b0c45a0b66899132749bf9233cb20886507214a3
+432be148ebfa0be3080e5e63a699a1dabaf95883 c440cb1f3d5009d077ca44aef2e6ea237bd140ed
+f99af6a15fb37815c5a2e4f98cf2d35449927102 712fbfa6a89c164d05d95d353693d1148b0c65d4
+5aed887f364da4dd7272bd71fa079673247f1145 ed91a44a2747ac4da19ed652ee45bd3dc4f46266
+2289e2dadb38e04ce5a04c83955c3d771cadd071 0233c7e93eff5fc47eb05c681748779bcfdd4dbe
+6bd7136e492da35182fd29d3c2a6c53d5f7e97fd fce0a2cbde64466bd1049dd479ad52e3694b46eb
+ad41d7d3d17ae130d58d9a882234cc2f6a4bffcf 40c61959c35d42c0a6cc18848bf1a9a547e7f293
+29d3042615344bf195a8ad8d95883221428c725c 46c618205f0080f1c74a2253708880ea25084ad3
+3b8a5844782bbba44eeedf9271921478558311a7 8839b68f18f649c41ee73e09e85d68be0385c8c1
+17de2c603da2a4cda82c8083f7300c3ffc3acf2c 4552d41af636a7c81ca11b9b51ddc3cb47b3e3f2
+5a83081cbff3e0c8cd3eb3b3ed77844d310ff6a7 3fa1fccb55ab99fdcf3f04afaa4de0ce71324b48
+f23a17cc83bdf1a6fb0d4a97dc2e082bcdfc147a 323e59ab0e2c84a711227cb447c8fafa85655656
+747996451cd713a8c1f623e5d89ac12bc9c04578 b51d68e190c5b3b45ca4750e04f5f79c3c177457
+e8f16fb2650265ea1a58aa253a6392f2df9ed6e3 e10a394897f350bcaf7080fef2aaaf4bd4c2f061
+51a9461952fe3a2020b97ea6165cbd17f68b566f 9c5a84abb9f472a470f2c050603f6383924905ef
+44e418755c393019047e68872861af339fdcf349 6f31f65ebeac78ece56299d15034dddcd623c54d
+1c25bc48a5abe6175c4ffcbfa97659e567845d6e c6d78d1f4960879383718603903a1483aa892da5
+c6a6bff6cfa6e5ded33cca2826ad17778066280b 7e0ab55ae66f025412da29496b5495ea22067849
+4ca6251a9e6786c76f325efcea802a686e0b1e56 fb55b94ca265cbfe7811183ce51f56d4aad45e92
+cf3f8749841d6bd3d50c3bc4547db5846057baad 1fcd0eb45d448273b4481f458f683c208ac6907c
+ba82fbadb24585b3dd2599e5363f8b9566ae7981 ab1855a1c10092a45b89b92a7091870fd37934cb
+d759cd85af33cf551745383bc805a460274bd5e4 64c532c31fa1968cfc6a7d333b01b283baf309af
+edfe4eaaafa3d8d6b76e62a660ab093d4e47b208 2f9ac7478ef489beca766268e4817925306f2644
+679139b0fa015ea6ea45328a6ce74a75851190b2 a7844a404d78a89fe43fec26e6bef504a1a4d5f3
+462f281b3824a3c959c1a8cd0b82e74fbcb8a0e3 82f311b228fcfd5dad8837b32218a495ab918325
+4a8fe40b7f07d98835958478b4295aa004a0ae44 3815d44081ecbad93327eea34f588fc48c23ec70
+880ab8d9377ee02791ec3126f86b2a2e10df8a4f 5d9cf9b5cb00db80aa54749d32b7895380af3b9e
+1f57fdec453864771676139c10cf45c4bce3ac41 af1edaa796d21182b6680b9ceb79f0ecef9d9143
+4ffedee98cad74d13d1f67100922faa7928731c8 63db0533e260eacfc571b4aa4fc0eb4d8f18e3f4
+c48511eb0dc206375a5247cb0e5ad256ad3faac4 e14289b15a841333e38c3895df4151fbfc96ea3e
+3111630dffe999d2240bda07b66208603413a720 10e1ba48c55fa35a37952bc7be16dc9ece52416d
+829341ba1e02b3953ea86fdbd9f9be533fdc012b 6086f690fcd6544ec7b4f2307cb040b1654c53a4
+4c64aded09328641c26107c24b564ece765d6aa7 6650a47d5d66fcb3e7987d368251cd1f7e7f312e
+7b4aa53dfa112adf7953fde674ce907ebd4ffe34 912f64155fe4654e3a42823a11cb47d534c8e485
+5a8fbe78c3708284614149c080a18d45caa06a31 e9e48c3f530535bafa282d3b6674201ec29101de
+dc7c72940892d8a8eb8e12eaa88d6f26e2bc8124 04f132fc542e2b6e6f892b808e11f7225d45b124
+ad4b55d2b9a7341edc23edc7bf59ebda8d656af1 379ce2220ea0f52b687e6b62cef79ca69ae8cec5
+30906191e2e13b575b6ac672ecaf5f0f9678f902 3321b46302400c121d1a07e57572818edd59059d
+4e7b24d032fb8b49da408a6e78e4a2b2ee071db4 5037c29e07a19e83c5b80c78dbfb6209c5e753b8
+03787ad3ec5ceefe4b69e218410473e309b9894d ccc6008aefed0cac8a8bb1d5dee8b61ca302923d
+09678f1bd37b8dd264a6b86405b660c8fe623ee6 5815dc17386577f3c9440a7b00e8f88b97901c09
+b9f6490038d03010f3db8121c03f9d5ee1e8846c 2216833c017b323edc0370119087251c34a1bb65
+c0b616778ef2b32e1bd709853b14412a566cd584 b085b7b75784b611e6c4d3bf3e16ffffc971704b
+391fee5d12a247e7559b4d0b88cabf1fc609090e dbe98a0fa62b18fdb6f4f3169be6bb15afeb1091
+8323e6d1f11b748830917fba3a3a989493e02b8c 47405fd2afb7fee7539745ac85ea34c9ec19e9ba
+71cf6fbdffad93378fde25206c1f09c541c386b6 1b0d58180a64afcf7daa9d0eb9a1dbc8291e89c0
+2a56718ad7d44bfec98ba0e15ea2a453a74f0c0f 16a4d6a1bae9883d22d96b3c9615f4df898c05ce
+9174688541ed8381bf51873ec9e85b8bb8dc1e9f 1cdf7718f97f2c3742f9d47d22bd66062a7b3a6c
+9ea0e8339d865540a4026cf37bd4085d173c163d 9ccf7139361f4bccc2ebb8a716e29a94927c2811
+fa067a42302f45075fd3d288806f5b9326e71f6e 08d7dfafc4264ac751e9c92ce901d88ed86c4203
+b493783c16e0b94a9aed6c1fa27171f0012e50cf 1281a71cade47b128bdd42cb773e47bcbc090122
+8f1498de700218efe98b61b136520e9d3e749403 1bf607c1a24726dc5079e313179f20fbd2ea9241
+019376e249bb629939e67330c403b0a88f946632 d08f235a36406cd653bc6b536c25af83d44a17e4
+a194bf6b8abbf323fb90c43e5395795c08456143 eb594ebd3af2d21e6f1989af0d84f0c26fce1ed6
+62a452bcea5539f646dac775e7917617c9fdf398 91ea700e1ee0c626726ac8a80c5039130e2a8d6a
+e2e3ca33a38941107ba072751fcbd71631b308b8 e41c0b62f64bdde0a095681872388b9aa4fbb3e2
+3bf0a7bd580d97229c53ec52334ef1d876c78ff8 da7516758e196777e54287a6bbfdeda19f702068
+606e2160a0420cabf741e7829c2e594821e86975 12f13291437e4fc848e237149abdc2bb8aa25afe
+5f7a8ccb79acc676eea998f0f3fd33d3b9a0dc78 78734bbbbaff31f499ad8b30049c411c91676b76
+d855fd3996bcc03ac9fe725d79366eb2082aac72 447a554896d23a959dcc24d54493032ec26984a2
+6f07f2b928bff40a33089105fe974811a4804dd0 c9fcadb588595b1882bc869b713b9621a299ef74
+2596a9fc454298c42694f2ca9359219df070780c bd33e8ba3853d6eb4530801938512f1fc5383b5b
+c94d7d7705219d4465997f882a962deda701303d 89208b8edd9401c22630f775555c0a7ebb01a519
+f8f89b052f735ebf2463ca5826075c08ca79b52a 2a9bff68f31b7b07879de1bfce738bc670894b02
+9c7ec1282d4369d313a4c4c6aba0f258f72550b4 f0d8192dcf52b3ec21cefa6a2573ee41ca2b730e
+3c50467dc3496daf86ab38977bf698c13915dcf4 9bdb338f8c8a92b773f250e9a27ad46b902bf442
+841a5e3627e96fb3a23eba86a5dfe6d42c9acca7 b090f7fd9a4a2749962b26cb4f40751a8cad274d
+a55539618997d8e2ee38422f91c5c29807f33543 8abf8a282a19018ef74a94a0ada2b4a6902fda80
+bc9384b05b7d63049ae67faca785e289c727383c 3e2e7570430a9addb4ab9697a219a3e3c14d8cb9
+f9ea508b3c71c0880045656e33dced48f9032796 d5a11dfb4eb4e359a1d22aebcdafbb670e366cb5
+e11a29a5bef18ca86f02756109271673f1764351 10b680e2661a0c7b528c9cc02c9daa9565731855
+0e5ca111f21a547701486f99d68de058f3734e55 7013192d36d598251ad0e101644aacf908440fb3
+556d071f60120e81ee335fc470234cbad9637dd6 3d2d9d3535519bd49e5567e23f66340cd9ffae04
+f088539819b597f688d26556ef813badfab1b953 bf12e0705246f4e21bfdafcddd86483b7b7a703f
+889dc3807b00481b606181de691cd09d473107fa 0c407824042266501dd95503383c54bbb4ac0bc7
+42a3040bc93ebb78d8b498e578d5294d7e81a88e 284c25f586aeb025c764b294e7fa11acb5e364f9
+15756b187fed2fadf6e0652b8b4543860aa5e000 9d1a0522cddce087783e9e7b1a523c8c7b644cd0
+95f861b5907143c11a3f3814c774fdff22ace297 8fb1ac5582d02332b1826e3fff967262d1192e04
+fc1389164a9440ddcafcd310d5ba1e5bde22cf4a ba8bcf6a69a3398b64a85e0c095007ded4e4fe82
+0d89f92790a2fe92a77002ef9b56c37b3965e698 eeb745937db3d42739fba84956f966bb70ec31b8
+fc6e6e000017a590d6070d8993641084c8265c42 e3d7b389a6fa40296cf19311bcabbc6f909cd485
+17fbc20c0b8b1844eaf9c21f2410b97d14bb3d96 2c499053a26936452aad9013ffd1c42ca500ba7a
+57d17d3e8a3abb19791be1e3cd6f235dfdb17c7c 2c499053a26936452aad9013ffd1c42ca500ba7a
+a7abefacbb85273e6684691b25db397968fd05c7 64ae3cde6d22dda5b33b3ca895063e3024254547
+8571e7061983f16474e688bc2a40f6728d236797 56cc1b4236f8cbdc0cf1e84d38b1eac91a5e7fb5
+0c6b470e9db5b1d9a4e0a194ba2b3ddd150c8ef0 0975f579cde19b4c86b4a9df4d33144503a5986e
+43f97ce2072363497c6dc4d206c43e44d760ab4c e3d7b389a6fa40296cf19311bcabbc6f909cd485
+0ed2d6e3d984d80f250f39903c255146d59c5597 ba8bcf6a69a3398b64a85e0c095007ded4e4fe82
+c519deaf2a2725a6796421c2e916adb458918dd9 0975f579cde19b4c86b4a9df4d33144503a5986e
+01926d2efa19b0f0eec35051c5aa36c8ff9d0458 1a1f7def6d9490e456d4ea9ed81e910df48a5570
+a153079bebabe2677620138467af6e47551dd0d0 671c9fd9e7b0de1672359e6314bc37f30a91f434
+62f205ef2ff664f45652ffc1553efe94cb986264 50cb4282eec660f947a2a1f4b3dce26f8b56d27b
+29ae4eb4530bf97e897d7a6590f7a43fef701756 5b23a48586cf8251c429211da8eb33fa0d800a5e
+24e2d28d9695fbec512ed595094833bc2c1bbba5 187300935542c1ff187bf28ec2633ae0b7cd79b5
+4fe3a8809c53490240f0ee70407788771451e605 64ae3cde6d22dda5b33b3ca895063e3024254547
+857a1c56dc3daf9e230dff3c7953b0a7892143ef 64ae3cde6d22dda5b33b3ca895063e3024254547
+8b0ee97dea41e5f732308fdf928dd2f649016482 50cb4282eec660f947a2a1f4b3dce26f8b56d27b
+0c4560d7c8a929fb7bf42552fb823d053e466a59 5b23a48586cf8251c429211da8eb33fa0d800a5e
+0035d7d949d8a092a3afb3fa2915f1b8829da351 26fa62aed9c5bf0dcf83cca1591f9d217e556f46
+1691f57cfa265e5b95490123eea1fd7c2aa62aff bc985fd13645cc0dfbb08a2218e725b09a21f99e
+8641df00478e7597b9bef241fc59cdf615222ad3 2998ca4a6639f4d48f6b1fc0d766c933afeb09de
+f0fa42ce02705f22805225615b43f09196998afd a5077a77be0062e8fb23771df0be551a0650e94f
+866cf4a61dff7f243393f836a6ef8c4dc9bdc118 b772853a360148b5a4fbe100b6591f828f5801c7
+86f0923db92469832a6b15155dcc600976a16ee2 4e9d83f671ebeac8379136e1be75ea2c1e91f082
+1b3d682a331f12e03364517fb8f1153b08371f25 622173c9eaca524c922add2dbbe6ce23cebc2324
+a2773c3da64b4bb4d15631c9d5773525482006dc 7ba4adcab043903e26ef1e7953d5b92d870ce6d9
+522f89685e814c9cc8be6e82f2fee20e3118e212 78305139dba539536987c6fb1feec89fdcb55226
+221f917b49ae48843e01ca9097077467495795ff a15c4bef0c4261ef4161dd1f0976f6c4ae29cd17
+be6344b876e458667d1b1100c39f34f190b99d9f d425b8f09038a3a1874d4cd589b80ef5b7d77fb4
+e4c4565315d27db2d801ebc3e037c76148bea658 538406b1de3d85a73cb5960ec3582e18c240f684
+adefc78f132a48e77c2fb6ed92069d7a08877ddf 24835f9c4c0adfd62f3074fc95b48b73cbfbb0a5
+eb57c06774591b81ee8ce9f97f29f7e7f8011efd 317b76a89881e67517a05867b3947f2a3eea1e29
+580a174258b0f9ad0b1d3dea2e32b5654678f1a1 7954c28973b166c35b9327db2f2dd5a23fc3bf56
+5053d96b83ab07d1d4ebe3b582a4715b07ecced1 ce52585c27d9447b2e1c0d19871ca5f37bdec458
+f9895c125383d2cdd425bc22c9f654a4b6bbc9c2 61cedfe8178d7e4ea0d3e0b0541b67dc80ddc732
+7f24ddb135388533b84bb291592e4048ac182657 f87c03a41339c0b353514b741ba2c9dc55e180b7
+08fdbe14372ba9795185fa146e6a6cdc4c7aff85 ade2adebf24c5985e109cc88553ae6bb947240c4
+f51329af5fed2de9eb6c98d880aefb84b140e549 7016f4f39f34f5dfd4aec49b77080c985d622a7a
+3010012ba8b858384bf4ab68e2148076fd3d2e4b 258a86170cecd4214070c669f6310bbc99ca69c3
+06282707bb7473e03e87cdcfeca53baabe3b00e2 53abb239309091f63f650b324fb5d27c22369e0e
+d6af18e3df040995fa919f633332087af4e3a5db 9ce0f328b082b522bd0d2bb5754fceb78c34057b
+23bb6cf326ee8f9f1014df3c8322926e8c293af3 7ef1b115a6a2d095c5c7d94cbd4c3f1e5ec1e706
+ba84a270dbb72b5e0bab6b801b1216698e1d17d4 87a99e912f648e6d9f3738873df115b819135fbc
+46655b7f18268849d659d171bfa70dc556303617 bacad527f9cbfa3effd0e419ab96a1903b2c525a
+607d6e4b7226df801476f607be72c83fd05800dd 5cbafa0674ae9fab6d9e62d0cb42668165827c85
+314749fd59da4fc6aec7929e8d90dbbeeb450ffb fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+377f3b8da1b9f6f1963caa4992b26201f9d853f3 2d4ffe50969f840c167d024e2eb138eb93fe617f
+8f3aaa18f4dbe0001b29088c685600a89434f504 0a4d99fdb85b6123c1a9574ae2b6b6a733be4690
+de4dfff450097eca78898fbe373b8cbafcc95276 d2a4e13756b51cf61e316395e455bcecf37ecc0d
+2f1b4c49c56b825473ea75db213882d62d85acea 5cf467a9eb28e9d3dade685e1e6bc3f826524698
+62b6dc881539ecb7db17dd4e44650d755e5a3e50 ceb333495ccc9a172a252c3ed6b07940fd97aa9e
+916ab00bb3c66fc5f5295e013d31e3578932f4a3 2755ded34f775ef0f2a17b8c26d1d16cea3d835b
+4c07cbcbb9475fe19dfd45eeda23292d232e385c 9e67040f073b2555d9f6ee979bf619231f26e87f
+ca5e4b31c9864bdb58cd4088afc94ef4693920fe 703f3d9aacd7f766be5a9b5697d19a57aa335bda
+02ed762b910345c3fca04de5f9cddcd4f88fd456 6ac5d0b0436f77e35e8095d82893497398db0962
+6b01cec2976d800a5918315421d3d87895ebc6cf e4a6a3ce75de31dd5f178cc6073e57d71931d566
+1a23e146774c75df46c1a2e8a7d3abc01b7d5c28 90d3a5c8f5d8f6c56482ddfec4c5f1e4cde46cd7
+99cb716ae616a256df163d81ea2100c88e3fc9d2 88a2cd56447bcdb6ef989b8765c19a72a631163f
+ca11e19bf2f4aba202835c954be1c639e56ae90f b4b7c7d6538c74fb08acb76f2456184702491e8c
+4dd67f30fa81b2791400e1adf15f3d6f3ced8133 42275392ce930fed8e52923dbf0dfebc83b15e8b
+81d70e95a9079e788144920c1eeed9882318f3d5 100f363e541f44c0358fb63f8c7f34a8a6c9a1d0
+038ed1c5d8deb357ced7fe04a0ab2c0703cf2095 57f840233358e7d9b733aa155e7e7a4fcdd29329
+cd3800eb31e573713474c7a546f70ffbf8454d35 4a1ed2d3cd89bea5960ebd517ac34e4df64eff62
+a7d4d05d1df270897cf37432c95e4b2ad89295f0 373eebd17164e10f00822f2179ee98dd0b6608c6
+50a4e3b3f54a2292b0663d8e8be31737a51a1851 fe407a70fab38a72b3ec7fbe1d39fb131cab756e
+59287e60d178486d8c44a66db177760527c9e776 53e683154c7480b47b3e82c945a28d80b687cf6e
+e0e2cc174d09d8a6da65e3739efe3d34b8450088 57843d75c1ea9cb43d2aa91b5bf50b52b0ae305b
+757197bf020d9bc2f0a62a814998ad474f98090f fcbf9b0d7cf72442aca6c0d71f1e939eb1a6ba38
+37dbe64dc0b828d2ef3e70faf52989c09ce91b6b 179e293190102f22fc875f0e64e053d238226ee7
+7518f5930f2573f51f8147fc1dfd57437f3ca2e9 83ee0e8921e05e09d0a2d42b89c720bc8c4160f5
+25f025b6f9f6c685585f23ee74c9f46ed96162ce 6bd49bc0f55cbea3fe24b614c06c447e25b98b80
+893045e1c3f9a896d974388367c5187225c496f8 f5dcd98a85cbdaadde3f93a1ccfa7a7967b03a2f
+43ac3dc2d8e27f64e941634b06bd66a0cbb25d8d 734bd8aed06bbf151b0c0111062fee337980cb1f
+62177b28c66371201d8db3b55a0674c619e02080 0b44d139f7a988e0f6810fee06535f5a3eb3c89d
+4d32260b812eef0ed95d92164f9e944cd96920d7 c12638faa448b48271ecaf65026e83e86b8678de
+86c4f5f927c9bc590d00109ec645be84dbdcdb86 0d8867fee2559baad77aa979e9a2e7fbd876e274
+071591ebcd19840e0eabbd33df43e13599eb87d3 2e29d576c02d69756b5462e9afb8dcc09943ad6a
+4382b6d1b86f814daafb2b6f1fd5ddd0c06d6f56 9940ae8a997cd66888fa11b24ab9945a8adce571
+e2b0e9c98d6407aa55d03987a20176b32e74dcdb 87cfdcbf3c93dba0db24eb2230d7b206b62c5012
+956589eea4b9ebee0ed35fabf809cb95f2e214ec 1d9c43bce7d3bd05d724ffaa63bcb4eaa1a20d38
+5491722d27fe6eeb1c50852a8abd000476d11cc0 e5463d13bc73e1e914b9be648ca856abf769fa66
+a8b4e41405fd6933aaa276d06df1f58f73b61ef3 5e04a6a24fe953abd43e4132dad668717cf71ac6
+d1af295249b2037e93d3f6ae5bacf8780d3e49b3 6ebe7e9a9bb1a7cbe862db14bda020b4b8c1af7b
+cdd512cb81ef9acc2e7406ef4ca6d853b186ae94 fa147cd52344b46872283c7a998da54ed9f25393
+7fb603e6a970aaae072d919c8875b197d45f78d0 554ff9ef962f74e794d57bf37608417e2ff63df5
+ad980a319e528fef87eae961633e1040484dbf97 be69c18375288b610e98aa0d7165d9dc5430f0cd
+2bbdd71e8ca454f0508a23a47b9f702863a15a15 88cf3d0db717cf7adb1dd474343b11c76438b773
+29a65bfb58a799b4e135605874ba6172959b5764 ebe84ad87caec2a0fa8ee2a1d9090723d000c5b4
+f8ac6b567c32f342a840d46220010bcc20a81660 bba52d70e9487e60c57a3ccb86d2c69edb3eda07
+1491c4f1a5a756f4bf11b08a40015e0a0cd9a2df 012835b8d2e5343178f4e1212896410320bd92f7
+7812a8024aa1d51a86d64bc44ca495bac29c8e16 baff71f7b36cce4961dce19a3ca6524e53b33c2f
+bca700232ef3f17746f974758b530882a6f5705c 6be1184309de224eb2fd1e884b3d1155d6c88b36
+eb6272ccec065745b784595424a32a982cedc8d0 36a3d08268d9efdb3f91e08b7144d9cae3bb48d7
+e8c192e5931363f57863ddc37c552753d0bac6d8 1581b0643a893920c4048e0cba5b22fb415ac565
+69b345685b6891fb60bde15490ff2558258ef9f1 bb407c6e741443ee2de4180ad27319ac5200467f
+3367a63600a37b604e4cd4e5e3eb9643e862768b 5f5d61934d48e437dc218d23d337ebd33010a029
+55a6210f92ffe869b09589dcd57d8c6b9244014b f06b0c55b435df84f8400b3e5b72df280ace3f97
+b58f871f62c8953786395045651682b62781cf2f d185d8d49fe73df8c43a732f5afd03e4908f237d
+e2c40268b936070d874a74c9e2896f7e8aa8df04 6d73836621b6d7cd5c112e784a9eee799969a9eb
+1f9572fd92ec7851a53a806aec9bf8061f0ee86b 2153c4dcec7a682dfd59a0cf130e092d828323c8
+b5d7b258fd7a0ad5c1aed49e5c17c29ca4ad40fa 9f04d5dab9df0aae983479a62f8f8fb22b5c6b8a
+f137a3f1383715a6ac9962df04df6d6a47f26456 3575c3ec73117fe54f3568a8edd0f7aa8f04ee28
+95356f7e1ce3e2f492a218dd426101974c0d0280 82e4eccc8ecc40130e28a788235bfcc4adb6f34e
+d8943fe6d1193c27e8d44c513cb00c36009a8028 1243c879a8e17759a5eafe7d2250d3adbba079ce
+bf380e5bf71045b1b8a0e19217b4e25de50875c9 5e2393466b2122d2190e440605217c96edd4d5a2
+39f04825031588f35ca6f4e5bd7c6bfdb37e0041 7ff6b4d3c9f481d4487a19ef5089c526656e0115
+045fb6e8c53001cc69120122305e2baf002c5778 0cc9d6b7b4664ae8bd02a05e63ad90d42f0f20b3
+21c52912bdaf7ffaa48c8206bc0e28c7974a7b03 8578e59d0c27b7e56da0e4ca7d0e90318eccc7e5
+9da1decd674015b81e2a98ace165055e927edb19 3bc82921c7674da17aa108bff3590c507bf89ff3
+f29c59963e570ea05f2a3928ac3e577ee4411087 46bab3b70a88bfd8228224dd2a38cb6af43f307f
+df1581ccfeb3476b2b3c8c481fe23d7581cb880d b966ae04b2879432b0ef461cb4b03f3e91fb0384
+868f66b106dfb107ca0343d6a1f717768df3a600 2343a73e0f6e261d317a8228dd1b96a2f32bf227
+d2a9a725cd6b8b99cbe7567b0e96d29a1831e507 51506493d3317a6a68f61a834dd0afcde33b6b5f
+ffb6f7e243bc626e70991a97f085d9c827b9a851 d4a755cde384e18514aaf884caeb973a1bde7c5d
+2da91a7f40370ad20c476ce008e64fa3c9246372 336dd91e1be1b39c8ba65d0f0c966fddf9d59e14
+2ad3b0a63b15b4e9a0e2e64dba2f12bb46357737 2ea42d301df2a0f9316afba5d1f6ff428a582fe8
+ecceedf559e0289186d2577c11e82b5836f9f92f 3cc2c32087b768fd0d774bbbc906fc51ee2c480f
+5e514b56e0ce6cc44b9ccc2d0fc8f7c2c28fa861 dd5338213e4b7367d8c59a34b42dbef28d7cf091
+5f32b248d010bc876c768db7afdcb4005e9e53d6 13892cdb255033a4b7e709d2e80695173eb3e7f9
+a397d03715b2a7ce9994097f274e15e72d6f0371 20a85c5a7ce9d71237e4c4e997354d031d55c2d3
+272ca1c54ce16b99c1d2118d70439514c89f095a 612b974158bd5ef9c4137a10976d60b98467cd23
+ad3a752d10ab6d515b0accc1fab9b96d92f3ddc1 c55d3ed60f3ee1b92705fc542dd36714142cad57
+183acc47f854296eba9e5b507273c8eab3d74b25 c2a51151ed36dcdf3353901e5de8b3611d06d702
+ee279650219343da45ccacc754bb31607e5383d3 ebe84ad87caec2a0fa8ee2a1d9090723d000c5b4
+c4ad5fefd0686be16887538403de6250e81a9c3b b2a6ddc2fc1fbb85544840827924335737dd5c3a
+2475b4102da0838a6af2baca27513c0480b93618 cd445f209388345ca352d7bfc20b5d30a9fb3e3f
+76ef47a03c5713e29e7b4f2335899051db3cceab 20ab4e560e378e11d8f87daa3a3fe8b87f12765a
+8b953394bf2644c06e4385a23abae377c07fe63e f8778a4fce6b710a9022fef492aabfd565666b90
+5f2d8fbbba6ceef76d69bf6f92407c8ba59b472f 906569fcc81e4e8ffe5d56bf7bf109785001ab0b
+cf3a6ee23e059b4819ba218283561f16fc16bd08 74d191a68054270548d4c7d93dd53cb7b1a78ae8
+11bf0a147a9b1fa3f7945007bdfc48fd7b14cb2c 5135700edea1a4ab19a524e882c58eb971a91b3b
+a37c32f32825256992776338c96f81ba7dd9f40f cc51660eb3c82daeef8f94740ac693b249570768
+2cdd5c65e3a74c0871bcdf2404858b4a1a3bf796 17cbebb4d2ca264e997e9d64125a36952316dcf9
+881b2433af0bd7934306a26e378049c517305ac8 8949fe97243cb17cd008bba583f98199d460fedc
+c7e2176c1209aec8887535541cffacb0e25e7464 5ab7c0e32c282519f2a860dedf9b4c605d4824a7
+c30dd3ad19cd1ca64545aefa9a40185e390205c9 d190e273621e06f7e606299ec97ff022818571f9
+e916f54fac815a6deb6175ecfda749aa1619f2e8 1ca9294b88bafcd8bc40f67f3cd03f4eea5c6679
+db3461cf99372b8c62e59fb91546da80aabf1547 2acfc2db629203faa66609f4977e6b767f0afb39
+6247ba738a6af57bfb9415171cdefc3e4be43190 0c3a5701ee5f7eaa71febb79548423c4865a302b
+fde0560ba9583c3793cd1d43bf1fce6e7254204d 3b3805b64cd3d4f78fe366900f853a8e9bb7a710
+24cdb348266c61872763e1b455fe8d17c8cb563d 901eabf5b0b0edc19475973c1a9b39bc348b4777
+874b1938f30c496a2d592977ec3262b8b35c79b0 d139601780a426d1404037cf4927b4b956d742f1
+3e47077cce77fc618eb4a82a9422f95c650cb2e8 f66b3716467d4967e780ce67edfdaa8da34e7b87
+d5aea9f6b8dc574c696c5a72fe501b9eb2ae709c 102c3a346308a76dfa13e390647855cec65a3441
+8134c8746239eb42ecf36f5f03ccbc911cba84cf 39deb518ae97eeb45dcb80ee0768f191de3ed55e
+bc0d8b65e13039f10a1ba945468ed68ad04b6232 a1ad0a919ee15f8fb6c610a072c1a27aa1a418c3
+d01f25828cf93c4348355fc853d3d87e04862199 481c1dab3e61addcea98c7730074509460020415
+72d35be36f9be2dbdffb9b92f74243a51d488637 dfc98178410c448632c9e9fcab2aa2ee842544e6
+809e8f7314b4256da38aa5fc26b47dbb99d2af16 8234ef542e0b65b827e2086c0a65e78770e73801
+07f21c92896f018b631d80bd793cab0f16edb12f 69957b00677281c7a57370a7b543faa36e60c9dc
+6158cfe05097d63463c133af9a30750e7f74f8c0 285f6f499ab3ee2cbcd2e6350d03f1c916c0b06a
+e816e9b016211c60b8adff6def3bdbd2c71ebfa4 9434370c24b91a47fd399ba75bfdfb2b73b1cac5
+54d6df30d3ee2ac3e426acb69c8ebe8a0f40223a 8849500f5fa184f0f31c3f9e4a31f592e0608f91
+3685ef4601816b859d7b7a151b2f02de468e2e29 3f93040253cb896a22e50cc62b9d125c9c63c8a2
+317082ea4701d168735f000c64299fca734cfe7b afc73f3a6e4d1bb5232306093e67e2d888ce365c
+bb26d008df37d0b1e5cdacc1be6ecb97c4c5a782 143d778f92186fe29820935787217dd931d52caa
+732af15526b3de922ad47f5019d689b341d5bdce 285c435c8e105867c9f3f1370e36387a5d1ef2c7
+d6f98bbae012d28a0932117ff40ef0ab194c702e 51c11a40820acfc6cd37b9ec6af29df4acbc0c6c
+2d36876b626d7ab631f4ab96672720102847abaa 0ee62ce55037988eb81a4f70f6351c393437ce7c
+09df5191e56ef198ebe2a4cc402aeb3984689ccb 7132099b11875f8f4cc99e61826e04eae115d0d4
+68bd1126731bbc1c4b0866149cdc21030d2b32ea 28a7f9e11b25272d2af8c0bb450013a617de3e25
+90bd5b199827526da11b34f06f875a50ce782820 6a71bca2b5027ca79351c8b23906ff810ae11a51
+0c7f4c628bb79ea484bed70f1aa54f458da80601 1b875525263dcf9ee75e903149a0f0d82fe49471
+51883ca4c84b06b2c14b6c9a724e875bad20c349 193f083bb4b5564c17615343edb7e8cccefafd35
+7785f0549f7403457c395d82526251ef5b95f025 d5242cd95b7d99c3fffd6321e15bf6b83661b314
+2a7c8a92b6c81f796edbb62db09e966380f6a2e0 21f99395e389249a5cb99e87bd822f1aa4057700
+86f160550f3153dca106b809bea3e53e375d25b9 21f99395e389249a5cb99e87bd822f1aa4057700
+62448cedadf304a1270b61c37638903704aedf74 a49b31d92b8664b72fd5547ffff2897cb1a99bcc
+29b53ced42903b25ad7158deb0f5eedb94529447 d84dad94b27e9bdb97694aaffddf3799d5908007
+1b0d5daf6ba87fc5885eefeb7ee392320687bca2 82d97cdb05003e536e888e0ee14f807c637b8a0f
+2438182b5ba3db0dd0b3aa038f65fa42516ec663 ecb364996c8099fa990035c430990f358279d9c4
+8d0e2e82869f448a11618efe702e866ce0a63d91 8ac6546cd38c903c5e57c808cd1b55c3244b330d
+ea77042c4e96ee47450b754e6df231044188bb91 9dd10fe62eb263df43f6a605e4ffcfbbb76de9e1
+62063836a0d37fb378b2df984f8ce0420c4f27ab 6f72cd42d64066f548114d2a3b0e32a041305c52
+fc50ece71f6d6c961cd7920d92d33d1742b442d0 9e6eabc49fbd042e5584de7d514253eea3ad7ea2
+0f659f667d47ad9cd9a72cd3cf572be19341a851 ebd1ea24d66f90097b62a79b373a88455482b66e
+ff38dbe7ea1363c20e90cb8fcbda00dee9c21bb7 dd4f1059be8e7f3ee13a3430de043015597f6cd2
+5a6363a744830a21627d691aa1540fa9a13f39c0 830cc9f56d9877856d6814ed842f26a6f94fe816
+a8127694afe74173d9e99d7b56e83a7ea4ccdcf9 830cc9f56d9877856d6814ed842f26a6f94fe816
+4fae0427d78a5cfa5e4dabefeb578a73c30c7527 aa72511f2b167a5dd9f21c86c6bcbf6f396fab30
+3a9c9126d0aab884ec3201b43965a744c3ea4d89 830cc9f56d9877856d6814ed842f26a6f94fe816
+9bb2532b90a95c45b7c2b19908331c000a396aef aa72511f2b167a5dd9f21c86c6bcbf6f396fab30
+50b6a136e266010b37e8359259ca0085d50bcd31 aa72511f2b167a5dd9f21c86c6bcbf6f396fab30
+3fdc60de2ea188778440d270e971b6c11771c281 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+bdef9b8387ddfe332da26a05afc62f9b21ba8a17 36a3d08268d9efdb3f91e08b7144d9cae3bb48d7
+88839f7c6b728b66892213e4fb1b3fb5ff0ddd26 e43acde099cd3d4c862c4be8dfebc38f1d8d2bce
+d6f390e49ea58e676a926333f1e41e183b5a7fe0 9ddee8377ff5c55603082df37c2127af4f2d23c3
+b1e4707a55cd86792db631619c048de0af62d561 f69726603667d10074597bb5e861ca0f44d27b40
+3802db7170e5e93441fed2f33e763b5e83d5b39e d2b83e4491538f933888cb36e65b35e42b84c31c
+39cdae4b6c2547c0db4ee81f0a571e506de8a540 d2b83e4491538f933888cb36e65b35e42b84c31c
+3198875e7813ada1e1611e7b1069b4b057038fa6 98661ff5fea486ee6ff34f59b4ef08726a2d9adf
+fa246756327773c9ace403c8e74dd482c41eab99 3bcfffa469994635313ae0152568731dfd6d7cf8
+01f2ef9508cab082689d15b860d08a46457be409 3c72c76617a4acb838958aa5e8bb926a65bec0eb
+b6b3a58fdb302ad8df87762e7be2d9a5a050bef3 e336cb8d08ad065ff7cc1928850b5a9c60a16b8c
+c003464d6c148da79743f83c1bd62c3b6c8d184b 439a90956cded139fe65d0f341b1126da40ded77
+201265ecd341b7d74c9d1497265e1f6557cafcb5 be69c18375288b610e98aa0d7165d9dc5430f0cd
+ce7605345775bbd9dc7311acfe23f8fac942b933 7ad2c196620bcaa507a563207c4855ed9a73a691
+2477808f459ae023c0fdb3a061aa691c75c8b9ca 62c4c5a5872a76c4f5d9e16eb43f9847ddfc0647
+4fc54856b548be0c1368bbaadc30706a1bf0f481 8ba5e9991fce2db3ea8521611bc33522467b40e4
+9edc40cf0ac6d3ab966e4e91962b2ff5456aafe9 79d2635c34418d91984bfa0efc9d3b8d06ac031c
+ad1957bb92b00b98978b2328ca042cd5809a0157 7cd0b676c3e3f876fae6e9829d089bfb8752dfa7
+64ac8bb300c75e4bb65f954a0b4523a0e25d82cc 0aa633f3c27565d469280b708a9a248533c9bb3a
+99b6495f9b581643e4929638ef276b7d4e2441d4 cc7c039c28cb2d631cef9028a6f673f585844b5b
+78868e6fc78c7b24878d556e69805d7b5f9aa378 38a6e922250a15d39d8159c3ffe9cde01bb0cc06
+655889d5101327f4917a5f64866f228d02a2b05b ce8266769e98713ebab8b6275ad671ed4cb99ce6
+24860496f2dd81ef89cdb9644b2a97e891e897ed b7ca4f217daa0e410104403fc8af8214f4cd1783
+b39ce7236ce520dfb2a346bcde6f467c12a63b2d ae6085d56400a6275f036a2f08eb7d9d24850fec
+1fc05b0e0a983b4177ac68579b433e54643add10 a3d070730cc49e1b716d1385d70da4265d9cce7e
+1eb528460ba4625f24ccc16a3e37c60bb9fdf8e7 dfede85eb4e692ffede0996a6a960c33a491c024
+9b641a1c32e3a5de86d5f8525b2c5946867dcba9 33ce951557cdb176410788ad0d2538bf673e3df2
+b9c42dbf0a8b991f855ead0cf507d1a2c1348862 951923647b1f6678939714a8e24e0af369a0d6db
+e0eaa3f58889aa873bdfc8a89d06dd41f82fc025 e7ffee18f942a2a317781043d217e946f5dde6de
+adb5717fa2db9828918e3c76c0495a0f4e67ccf7 9922a57f7ddaceb36c104428eb5564a7b6f301aa
+ac74d570a86923731d8b5834293aa56429dd9862 5805d65b5f6ef9a37c22c457d3834f89442ba337
+3eef5ce9ae1e6fc62b9b52ce859501dd4e70fadf df51c5c7f58bfb637f417948d4ac02588c8da041
+408251bc8a37a23340e87c5ebc075b321cfea4a5 45ae9ef1587985337771aad4aebbe79a555ec6aa
+27bc8b110452f9e6f51bc21f21e261fc82fd96a2 078ca84cc0f16cb707507f13f937af382f634d19
+45152f2adbcd0eabb4684cbd1fb50ad6a0f82851 54c1b3e03af6b82d9158568ef1f2223b52e3ab24
+164a913222839e87b4249d35112f678bfd88da4f 1f4ad3d29a8ebe6d56d8ac23e5ce81fa237d829a
+a1c673a1e3970ca41e185002f324deef327e1f9b e7d8611e51869b79c9477960c2dd3e39b5457e31
+3252ed38306ce610c6537bbf4773390987817395 77f79d6e3f2cc2c888128e26b59ffff1f0f0dc94
+985e520e4d93659e50303df033c3e29e305d03ff 61886cd89d2039eef43de82dc310620612fe421a
+40dbd7a7d4389c88c60039c2a2a1195424611489 e7335a72805e2d3e939504a972ca513966357538
+b529e0449045b07760d56d7c1c117731653aca01 4e8a2a0b216df1d2c2adb92d3657bc2bcd5b05f6
+9a6d75b2f2b2b1abd14908bb7782a4d3921d1523 a7213282e68aab205ecb7b1aecc22166bdd8f767
+79b76ebcb70443868ae0dabd3315e4698e5505d5 e1064cbd053a060984a645976fd55bee6ebd7a53
+16fb0eae89ab5ff4bbeab207aa6ec63fcc92f0ea d077ff818eccb5f3e3c3e6b6bb472e4afc4f737d
+337d6bd8e50405eae8d2a69d2f4a3e25f7e46ec1 d94d5b33215b512c0cc7f25150ff5cd2aa2a178b
+45465f1d90f4277dc918a79ad046ee273b5f08c7 f770f2f9975c871002b5c0b0caa7cb93f5018b8d
+b565925f0849fdf54535704cfc3febf63135fc06 c60f58d2fdd9307fcb68e02d68372881da416334
+745187c404ba2e6484e0ee68a11ab636319a0b29 0b1d6bf48f039c49505ede5c7bb3c9c52b962843
+13326f9c2b8cb1614ebf0baff5e02d17419fd0a3 50368965c78d55fa2054ff0d37c59b220fe2cb47
+8afbb03961db685b62b3cf3d97df3986d46a3f2c 4d602bee2ef84fda80032c1fef72629ca55974c7
+836039eacb640b4f804856c04e8327cafbb66c98 a2ed30fb0443633d5e2ba7f26a954c0e772b296a
+3e80f902c33944d83cf336e891a3e63ae4f56978 8b17c8f9b70edde5c264a00457f5939c1b740b51
+82bab9771af668441c6ae6796295c99063d9f0ea 7c6e375588ea3d471be8a55601fe78f8a165c67e
+d3dbe0fc0e92a0fd2a8008a8986a75e8c4bfa62e 2f4183c22d45a62f32138d52c700e4b8d65ee14f
+ba459b54e574b6a7335026b513998e9234a990fb ad7fde1b184bc0bf48ae73764fe8d555c7164adb
+70482d772fbea93ca30181327f46453e90d31c0e 05c77c7b7002a3ae05d7c95d3feb24390bea6a75
+1004c8af5b612a8b968223717bcf6d64709af0a1 42b804f4c72ff8c73372aa06d0c5bde01a39a53f
+31688920c07d3372625d5922d4c62fc600c58a82 934a3cdf5dbd28cec37949d5e0ff2dca8e65d804
+8115e8eacd479040136669ea1b59d0ef4f727e3d 03c9fb980265e75b1188248f303596c31e3d08fb
+32f3d7677697b8c48c5fa9b70d52bd4f7d1b3da2 d123bc1c6e8a394694dffd6ced4d5686467f2287
+44d2a15556eb31030cceba0130078676bee9f0ae 499cff14c0c1fe556a9e1b207e7efabcff5ea880
+079a4c00b45cd96d649cb92422dcc492f1395335 01022e8800dbc09a49abe87503c0572d65198e2c
+a233d2519e8c99c6258db31fd1edc621497800ef a1ec7e1a7e3675891500aea2c0e25c30f73258ae
+a8098e0c6c25cfcd75af94c9387c5369a69f4f84 e70981087eaa09ee1d3ace2976f13f820e515fba
+872568d12015f80170646e79af4f2bfa8e6a339d 06c0471277f8e5e5411543eda7168189d5c7bf10
+70566429a2c22c3164cfc4b727b30d1e0fce0f8b f28c1ecb08c60968e88e832bad9924aecc382727
+a2b0aecc46fb64649f892d2dfbb73fd2cb6dc451 8b4ab810da7b762cff18df0ca01d01a09b63ee5a
+6b9046a5d466980f01cb183e709f8edde122efcc 2e1cb4c7a3256c94323cc5765e24b57cca8e8ca2
+d5afdcc226160130917b47e91e8aacb54a451d26 a2139f9f6324da67205e4b495f47a0908bf8bdde
+7b410ece31136991256398f164816ff9cbc4a694 a2139f9f6324da67205e4b495f47a0908bf8bdde
+346a4f7d7594cb67d20fdcea5793d39b5faa385a 1446b72546314872748f4547473d31492c54d587
+2a996b89b4e3803fdd73301061927199af19c260 1446b72546314872748f4547473d31492c54d587
+c4aceda84888a6f92c3bd900221146007782470a e3d7b389a6fa40296cf19311bcabbc6f909cd485
+2804cdd9d2e7c5b1aa4d594d030b4bab7feef981 5b23a48586cf8251c429211da8eb33fa0d800a5e
+68cfa799770ac248b0a90c1144dc975c6e81d4c3 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+2636bf98f0f23aa2810deb89931f6aad8df7c898 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+02c889fdd04dadd7ca1d4344046df279aa17676f fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+33af2a12beef6828d833aba5e5fa0a057dfdc507 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+fd86da30fa7e77ad29512628af66eea72b88fc21 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+19b5819f4af7b7a668879baff1bde9e4dd1b0424 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+debb72814433f09eceab846efde77dc6a679223c d2b83e4491538f933888cb36e65b35e42b84c31c
+4928c496df7448dde7d3472ec6467b3e36b163f2 d2b83e4491538f933888cb36e65b35e42b84c31c
+af3e633af1136de272690e19004f32482ab5e8c7 d2b83e4491538f933888cb36e65b35e42b84c31c
+2e441ae635d7acb9e17b7418ce8335ea1aac321a d2b83e4491538f933888cb36e65b35e42b84c31c
+f44601154d531c000bc550ea2fe8eba68d6d9a25 d2b83e4491538f933888cb36e65b35e42b84c31c
+66cc1fa26c1f36d54ca173e748159b99d2cf0c80 2e1cb4c7a3256c94323cc5765e24b57cca8e8ca2
+725429b991d68bcf67c27d671722ab7e78ffc7b0 8e9382e52089b556ab95bb284e7472c5ac649d34
+899550827496682156f7e5ebff62289d0acdda7e 8cdef5d2eb8e75a71f7e00bb8c6c8e4b9840809d
+8aecaa630e4d164d5229c81d04a904b3b10e740b 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+3bd3ed56f913f97f46f0b32502490bb177449a16 e43acde099cd3d4c862c4be8dfebc38f1d8d2bce
+88d348e1603e50e0b7e3263621be41e4ca862707 fb6ba2f1c8f590301f8608d9a3933a6159fd318a
+3c16e16dd7d1098f40ab825edfedada688ab3152 d2b83e4491538f933888cb36e65b35e42b84c31c
+6f68ac52932eb58a97b1fdaa19712c3a2bcc8b7e 2e1cb4c7a3256c94323cc5765e24b57cca8e8ca2
+d4f1c0ec463c46841ebf54801bb0fd107fe0aa2c 2e1cb4c7a3256c94323cc5765e24b57cca8e8ca2
+cd492b6e01ff696c091188264dbdc1b25eeb45a9 2e1cb4c7a3256c94323cc5765e24b57cca8e8ca2
+3c4af41f5719c23a2a9c72dc4215cdc15cc23389 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+5ceb0c4cb53260468ed2d14eba385410f2464d7b 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+172f5654ecedb1bcd212aa7eca1acd9531d9ffab 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+e6ef5d147f6a8c4d11643a1afdcc59b9531a5018 4b37441458b1ff515e198a44f5e33c7ecfcd9cef
+813facbf2256dc0b901ba8cb233b1541bb1c1ba6 21b42bd1fa717fbc1c627463bd3c8491fd61bb7f
+120e5a1290f1f4e72b25df640444e2100aba381e 1a758e8e87429e5f9bc9220df3a3d793a3b0c442
+da7b1c89f29fad07f5945c0d74461fe7f2b34d24 73714661e19f1224600728dcf6127e7dc0826371
+53d0e2867cf0e78f876a3023dd1157114c218e06 be9d10c2dffafc078f7a01edf11fa2403f72b201
+9e753f6877f32d11a265be2a3fb7f7d15e5c1df5 31eea2e0b2c3ce6538f7f8d0a0053934625eada9
+9004db8327129b4d0ddc3e935a3a847d66af7e17 7a47d57f6b42d03192d08614fde6f7f0d58f8b70
+3e3968ad5dae36895a02f0ffbd6736ef7869e23a 5804436a9e1bb5df7652ba744e924043d256a222
+14b38c884abbb1947db0de49e62a1e3a5420e00a 88af7f715402b2c2f2580f11abd7fb848ff5e7b2
+4a0286d54de0c993c8024a4fe27704d290bb4258 0076f83afbca570d78edb9bbddd3171581fc3109
+a0087329f88bfc28e6aea68faf01b0585a495810 09a315bb4bac8db833cf2be96fec3f825fee7ac1
+802c3d33cfcf5d69120cdbaf1ad0251fbb0fd851 25a6cb1f4f7613a14a078f79b403bade604f2995
+6142436ff1d71be80f8c78dd163ed269919ece93 1c61a135b5efddf867c93fa468d7cccf4ffd45cc
+4bc9cf4f6423eb6468a3f754115775d4ee9a5706 2b623f6e0844bf6d3a9f54bd4bf1b694b8e5d847
+9dd115167656cf82c219f7b4646d54cea72a3953 beded123096a85e59e4c5269dc37e7b193a2b553
+705b76bac7adde32ce37d207a5d654e7017d5263 e873536e1e6e197d1d5c0207e714753f232c2a36
+ed64633956f2c729144f0b332e80877b02e23404 15ee116e86d41f5c0caec99f6da6fa3ced9f5094
+9290331fae7f4462b6d5b763b7ecbf74344905d4 78d547d7bc8152b9708e14a72df68713a7838051
+7463717e035fa3f181f620eebe60699db72be426 ec1e04519fe13951f5e073f655e9c6b20135e951
+966c60105727a227b497b9f4e2ab0ab1a860c5c5 f7466836c24353bee61df7b8fe7bc5621d1b5c74
+5b00a237296df4ce461e201f98e988b7cbd95d62 158f7fd17ed5ea4c58c1e4fa0f3556007d5bbdf4
+83550b73ac2527be37deb24578a778299dff14de 59d66712fafb4dce5bd60e2c73227188c001fb10
+a8cfe9ade06a317b19c1a372624dafe522e1856b 7678d36d17fe03868487c81df83b9278bb90eb4b
+2bd0bfe0c2622d33f1b17a180684693def5306c3 7e9e87ddeb4b4876dc050de012f4ec8c5a0fcfa8
+785cca8cfa51803c8d3e7d0ab812b539f8f934c7 9a2ebdc6bb725cc4209c6bcb9990d440c9847fee
+b5b9ac1c8c74d7586ebd41ec21073629dfeca0e3 230d400f5aa96ddeaf691e4a456a5b84cb53e085
+0e9a1ae562ea858eb50e8fcfae396667660342dd e4a7839c19060626251ac7363d5cc1277af50512
+b73cbf846ba24e1817fcc811a9acd1cd1517232c c5e240c0fe74d421db08a3a4684317f63661b585
+4fa24ac1e98d06c67c45d96955f8747daf34d19e e2079afc400a1ef54fc5e7b3de5f773add6877bd
+76c029090f492d1b0faf61693ee38ee4897bda38 27590ab6d21cc961dda11f09f6605fb1f9fe8a7e
+f499576c9b7b51af4a773732942b16a826efcc27 8467d6308539e1f35c09c303f96bdb56f4a1e389
+0441aa042bdd0c0925cfc926484ac566dd101f93 bbaa7780cbdc18511d1ba8b9aa2e681d2342a2ad
+9e354c4374cce74adf9f9f3cfca06be6ec77af27 7f19030bfad8d7eadb398718cb750e698786013f
+d57d2f141a921b2aae076fd6daa8d91312df4f7d 2ad302fedaa7aac0900c793211c87740bd04f573
+14fe005319e15ba6b2218ff894d6055c14ea493b 5c837d57671ad9e1f603099e65c92916684ef122
+e4adb9b86b5a5f0042022114fa9d323f6c529c9b f93499e32fa415c486ef1854319c2613cd32907d
+0755743272e624c96862f1273f319f5ca97c40dd 2706daac5ef502c2ae1d8c35c799dce852d0e2a3
+e848360bd82419150636ebdfc9bf88c92c64fa25 b57f98d14cc908880a70bae4e53cd6bb7eb896a2
+c0295bd77bbde28917bb2856ed6dfc7818271a68 a62f7c30e64e7ebbb73b4b7de513a37734493196
+74593fd7e15e47f2cd77120a0b3e39a73d2277e4 46de1070cac7ffd37c11b6e8c51a416250b48b61
+982e1b2804d3385092f0182643d555d166f7bec2 9c988f30a472c9745f27c3c05264d226a957b3ca
+eab2774558efdcaf4bd2af474a93a9fcf2f85457 2a3b583730833d42a00abc2a731d8a6facdde2b8
+1bc43862fa8ee31e7df316405a9347e6f90807e6 0fee1a2a3b06ee472e5b5497608807fca0459e8f
+747bf2fb662d3576c04be9bf52d4c4d6d46d21f3 add7a3f12c0b85a89112c7563a670d056d7c5d64
+9d55d260eda9fe135463a2b3f595ae85dea5b538 aabec4c701b0e2879d1906808c90fa6f7b999134
+2dd3a6714e992719560220451ef7b189e2965cc7 11c6889db6751168889d2b8ca166236873941664
+f82a3de21d0eaebc7a3a15fd3840c1bfe1158cfc 9b8eda474f991ed8dda2fcbdc768e2a70e5cf60a
+ba93e704bd4fc09fc565ddb7fc2ff0f9044e5742 5b150dc58fe5195528a6d3195caf6051ad06d0e1
+b6030bb6ff40f4fa7a0dbb3c791353ca263ab6e3 0e4e26510a2c9c338fdd97370f5d94d213917d7c
+a6fb2f76f952df6a8ff20dc9b705a4b08b83d7ec c9b8b8b65d5afb63acb00cc7766de304d7e674bd
+5ea2e23f9c70096a8bbdc9cd86452ee230517323 3092f272a346e415dce72fa28584be54603b2c3c
+ceff3b98c73f82380d98b9823de57ca52bd50c7a 815f7b85e01ab2c1ad0131a927c8b5ff38de8b8e
+eb3e5f7dd112b3a653b4d6b2c0fbe1d5181d7c1c aecd604321da09617f2c95f214a481f922811e33
+87cf5241129653e663b0c723b47889c4be9f4577 0a63c20e2165c9672389faeff236e62a576ef475
+244ee45a3404e1fc19f9fe3a89ed4e5c126985da 21311414c430f72a5403e2fe54c8b8e5660b7bc8
+32eecd9b0ec0c29ff793879fa74fa3c5c58d588e e6e833d7ea57c5cfa9e76c693efcb427427f94a0
+02038f79d503ccb44e1f6492f99ca9de502da7a4 edd825fddca81619abd1810b1b7b1576a248cd1a
+c40c016f0879e6ecfb55f8fcd74f2665274b5eb6 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+d3169774b0b982339fe47fcf9a4beee0e2fc7afb 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+b91cbf60baf470a65a1abc1ed409f4e3f6b081b5 edd825fddca81619abd1810b1b7b1576a248cd1a
+8c8317729d672a4f94f8d4de43287c8c7f932406 e03061fed3d11852fd9cdd61033e7a744891bb7e
+fde8ab4c14c56b68bfc9b201a4dd1271c52e1294 7e030028801efead440d8cc6175d050bd30ac9f9
+ec1163198d08a95b9df36fb73bb4d504f18b3c06 7e030028801efead440d8cc6175d050bd30ac9f9
+e996bd550e2ff28f063b577420e54b8adaa04091 866fa23b22c4c6bc0dafed844bd5372a977da59f
+ca6b93f5a145a19f4c9ba0a704082686850a0f31 5ec25ac7941b04fb054e2bb783111e7a30532b36
+3011787a9fa78157af9db344f383c04c3a874e0b 3cf6b265850b117dde12faf035eb9bb633e4a78f
+64bed59b1885b38192373af59b20c9c253926146 55481e758d9a2c2511f8eb95ec048f7752667093
+037a61b0319f68ef8b9b1b5f3f081dca97815743 c30f4a86a4971d1325e7fe51558efb1e29a36a0c
+421748bc1edde626178b894824ab21e253495903 5ee89d63695344ef50c13662302f237c6b2b2959
+17d988e3916bd69832ed32e958731df22531eb46 195499f9bb81c1800d4f7e356c899fb9fb7d5008
+335916ae3b7e338b4afe254e59065b48d77b2e76 69f5013be3c5c7b9ea06ba333d82dc4b27734935
+2abf2c1fbdbdbf24a3caa4184c8d02d810404014 4b50c338694d8d27aee0fc6106e4fb499e76c724
+c4f1dca467ade5138dd6c085a17f2f17cbd1fc6d ffc99b2017cf125fe1d95e42adb457e664c68cf9
+992b1fcafa3c2ed77cad8a128714cfbf7d00e1db bdfd82cd6480a79a527b8554638fa3ada4905441
+4671e51b193e2f65ac6608f0d7f0f5c1800c7a95 19a3367d131ae593693aa138608b15785c8f2645
+a952f6b64d33c34a5d8a7c2156e9af42d9e1f0d8 5e945efe11703db0780ef212fd8204b17e59a2bf
+5529f86a2f6afc2a8dbcac7f776644322dc6111a d30c579975a75bf6dac14b547041194d9a469d62
+e868fc0ace6c94144b28811b465a5ed342558bfb ec5d5b050507ae72aa74f59ebba2dfe662e199ec
+a22113c43d2fc962c13b8368e06f2431e15eb21b 0645953f09741ba3e61e37008f44b40038bc104f
+1b3014e7177d28f31e140908186d658d7267e9ed 8bb2221b43b521c1bcc3b5658d0e4217aafa395a
+dda41364d52fde24d09928707f98174375ae49ec 46762ff173472baef4602cce1fdc1eb6f1e78aa2
+741c59991047da858d452f5ecdd4f80243871a2f a9d4c9e077283ce3f404ef7c4b7cc2e5bee08148
+ffc201c947bdef57aa608f6e73ea0eaa5c97b5a3 9dd9d28d8127bb475b22386a94009c1c4820e47f
+79375f955afaacec89e3d335f846a816a3f58505 8aee7b86d27490876eff4e4be887148db62aabad
+7d984dc2e231f9f2e42a09888d6440c11f9738ef b4d49f941f0b91f921f3b78dc8f58f7c888acbf3
+ca2337658cfb450b3fd585466bef6f982bd391a5 5b7eaaeaf1fc07b93884a6562939443a9219137a
+e2d0fc20d9706944722823a9fc15a1dcc9bd42a1 340ddff4a8fe75879864f723b1826d77bef2c4b2
+a6a160a31f2aa60d3f1cfdd97db39112caddd3d7 dec7e5c8c6c60fb2634f35bb62466f5bf9f63efa
+6172883225d500edcc3be9ea05ecff7c6aa1859c 74be98a94f8046c6c83408dc190f6e4becabd9ce
+7616c7a76574637ff2f23f943351d647c0990ad6 402e0022ea56750527922c3ec939dc90393a080b
+ae33a9e2d4fdb68d7ae81a70272721bc90a55418 575458a68728a55cbd5a0591a0055143a7423171
+af6cf45bc7d9303a82faf133eaa17b3f4d3bc35b 608a614450ee685fd62a0b0aa9eefe4a67b35cc7
+a271364f3e6d31af9f02c0ffdc81fe8ef4814962 7e3304dbd34fcce92cb49d027b2aaabc8571ce90
+9ee5efb5577a55027765a56ca32caf11cb024ad0 023d0459ba951abfc00f9d276e214606906dba84
+c37c87952a24ebd58c0835543a01379244fa1bf7 92c8d41b8d6a233153ad35151187c2e22dfc3068
+d67383bfb157ea636dd99cc67afc8a0f54ec9f32 4074af0d5874ce4444033b9740065839b4ff9557
+75037fe6b26639c5adfd0b5381b2ca646cc6108b 649132b991734ef609246cf08847200ffe943f74
+514456e7c76b81666fd24322d37e0c394663b525 1ce9cc6473d1d05835a6a93065d830b0fb1b9093
+5ef93fc89320df5cc2865ee19ac09b36270b980f 553f415fda740bb2c6503d198e6adb587185428d
+6b911bfc51222a5e73dbc9faebd022b34f5d93e7 2f5eb06799c6b5d7a30369a3c36efcb31a8e402f
+b3a6cf3c25bc3aeeb40ef6a16ab63a78bee3949a 2b24e63b946ea56a435766cd865537ab52119afe
+c421986ca1dab9dc3db0bf5ae6c18aad25b155a3 552f081c77f71037ad6e3339a99a23752e9ee85c
+d9c1d1098f611e70556b17162f7e9fc0a9f6136a ceaa47643b4aa952020fca47cfd0542c0d1107f8
+d0790e1a5b45d3f42a10ca0bcf259562efc0bf68 fa1a45d59fd33f86515aad5a76da0e79a6cf142c
+abc275611b726637385e417ebd75c7efbcec34da 7470b6aed0ac762991973acdbabab59f9a2fc49a
+a080d24f4a8abae8252d11e9f722262ed7175a27 30af3a7ceb80cfeb55a0406331b7be350b0df1b0
+fa0816592bd4be968351c31d8bafe89d8bc305e9 9c01abfa39ddd70926e2eb79ebe0a5c0068eccd3
+41d619479b83acd2744745929c2b9ae8ab5977d9 d64eb453742154738a8d90d6f7909435b7b5af28
+a272a489d3f8cc13aa14bff2ced8185bcaf4a68f 9f82bec29d2458774dd85d377ad5adf899991d51
+116319de114d97ab8c3f630d8633596d8daa92cf edd825fddca81619abd1810b1b7b1576a248cd1a
+647d232852538e851e8f5a8acdf0d43dfcc623b8 edd825fddca81619abd1810b1b7b1576a248cd1a
+84b8374c8222cb76dff0c1d3e4294d102a2ba1a4 9f82bec29d2458774dd85d377ad5adf899991d51
+bdf0a60f62ae5f29b3896a15cfcf3c16bae5dea2 c94998ef6eb32e47b23a075d45865fff1d91fbdf
+f0f11e9707b91f90931a2bb46c2bac6e9e409cd8 59f1145e541ab194b08611f5e4386b0229598c59
+21b40ae3e7815bde7989c542c985701aebce6a27 30e5af7c2d11bf6eb288e6337b6c7d80ccdf5c7a
+1b1d7c1cbf49c0569f0c301100d0cc950170c552 f3c95ee230da256c7d25e174b8a9a38a2e418da8
+ccccea34c67166118e8d09588fdd11424a299d71 2fb43669750a310905abb9e753a941a668f22afe
+0526e8ee9047cc20392f4d1b272996c49384f54c 9a8d90bed6baa248abed8141d3f4e094be976946
+4d5d43ba6a516cdcb180b46df2878fe49b2e6a29 9a8d90bed6baa248abed8141d3f4e094be976946
+0de75b00658bf1801d5b24cdfbaab4dad03aad9b 87bfa4cc37857d172b4da579f7bb0883c6e25d3f
+73d956d756620b24faa4dd6f06c1077c63744ae2 6d73844815c493d43333dc63a4017188313fb88d
+209e0cb3e1ec3cc222f1ea736d1054bb63385050 84bcfa37b1b43371b7be72840946fd0488eeb22a
+39afb1a7ef82f6737b61c7bc6978f45ff862ea2c 9bf22b55a0a959c135bcee3920c9952acf363252
+b2fe7f13a1fc6688fffecb22d8a84a4ebab0fbb4 f4ca9fb2e7538f2a00d0a1da83040f5a8e26a6f4
+b62d06c6e159b9fd0f7a9b58787d1b80fa0fd040 bec7e7fab26112d856180c066d55e53bec0f54d8
+5b47b11e1968a78f6ead0b4a68737bc3c979642f de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+e1822f7e4f129350480a43a13e2bc1cb773b765d 87bfa4cc37857d172b4da579f7bb0883c6e25d3f
+161cf4aeebfec4a2b4459e2825a13322dbdb2813 de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+f687db68d4d69294cfbf8df617225753a1fd9616 11813b714daab1fdbc9271b5449612db532c9bbf
+3bf8adb7093e79bcb0a7c3f5a78ee2d25f44eccb 12e69d76e538e65bff282557d30a019d233e1869
+3c71d79d4491b1691cd06862c2f5f9cd5b70760c 15368ce213b2c188a7faea7717caea7bf38c6656
+f35a4d202f40bbb2d451aed76a5acea93984ebd2 8bcb9f8fcbe7bc2d1a5f625ede0abf6a30012c64
+0b6f25dc3cbe75c7342e34ff9bf5cdf8df973cf2 0fa3b304938ad1a7a16d754a0f3dad40dc612307
+c4866959bba74ff059628db9e1b9d94e9038a889 068573b35ca62b559e1e98051954b014a1640206
+aadfc0a01bbb3cdc3e4f2b11fd6438bce70ec12d 2dd65121c2dc5872d02dbdf5cbde2244245f7ac1
+35d7544337f82f3533f5bb892dbd76a01760aaec 6ebc78ea9584a85cfeb3e7496b77a724edd29eb5
+f1008bd0f1eef2610a9fba2e38630b3df44128b4 e3c982726a65e53befc5673bda53f53aeb61b708
+82e1e34d897ce063a881469721f43cb7a519d8b0 ef1de1379365931c8b22fbf1f41b2a02ff5935b4
+6cb6b1516139245a87a349196a28b0e29ca98ff3 5c55d995ca1223853e2226aaad59b6cd647949cc
+ca20bfddfd70126697d8b6931896956c0ba274a7 cedae9ce908ebac3a792c338ec874a31544c11ad
+10f0a9ecff905bc3f0277f37fc319a7b977e9ab0 7bc65fccbfbd7fad9808717e208c1a35e65e38c5
+87f9d0f0796a524d264c1448264b19141098a3c9 c4785de62264285a5e83b5b87c3757bfdb03d363
+f982a74d8e4c90273360c0a7f10c845bf59d75e2 2c638fed9a6f8f8de2f6d7019859bcca6b669bad
+6e66d484d610d1d250ca68b299a9744ff946067f dd5de3e6917d5e95f942ade227935edb65bbb376
+87e5f42c8f62e265b406359371c9fd1d4393f4b6 3347589b113564a7479b7804949ec73500b1e38c
+5f1d965898a03cb99950e889c4a4afae4a197e81 21303ae4c83d72bbcfc68abbefce5ce58bea7723
+8a1662bfb1f7c112a283d700d78c6e34f5ea10b1 0297c9758ec15e0b70bac28f46922f6d4b40e06e
+e17f1a251c0ae0cf377f4418455627867611138e 70aafbdcc887dd2c25b230c4c9d371c1a2523a91
+ed8d28016c33d0ef0cd7ac0246acf41bc622bc01 817631c6c737696bacf5f429468c19ba2d640e04
+593419054f7a2ec4de7a719bad3a015768b333ca 817631c6c737696bacf5f429468c19ba2d640e04
+93ed3da51226ab64dd39cccbe1196c7b37096591 a09fbd3d2a5de96b55aee6ff620213823d4b48da
+055d5189a227d28ec46276f11e0ea06b7a24d8e2 097f287ef80bcf6a065ea22dd2c745345528cb63
+be4443392e52685c03d7de1cbb7b5e732dd91565 e350721f2010486e9b7d2a20559705cdb0c5683f
+339fd18456850b68e2e52604a8491366c9d01a81 9257db40f55c4cb152ee873fe252cd9d8aa28014
+4bd1dde0077c3a72931fc12467ff8d653b6867f7 ab3d20152374e370ca26ec20170b4c9ff8d07d73
+53517c73d9a36039cab9120bcb6a08c91e5188de 750fb48f8b1125e24a5842ab4ad01649bd2d8eaf
+1948521fdac6ede6406dc253f6013e131656853e 6aa3ceae1fcb3dbbfbf1b005e712771171103000
+596fbd64938caf620e24e0ad890f42b25ae09a07 efc52b6321338ca73fb0fbc58f2f7fb12c5a05ba
+db5c5951603ddadcc3100ae3f18055bebf59b38c 011cf565596bf66a226b1ee0bb46fcde451bbeae
+9f75b5b07ccae0057660afa09962c9334414589d 3584946d327dd7ad0ca5480c1c9c1169e83bd56a
+3ba565ffa8bb1c23c459caeb7d33b0fcaae9c840 820fd8adee70ca89392d52903b125520b950ce75
+6a4526ff0da022f01cc85a2dff6bdc3d60e0092f efc1852650f0c2149f3b212054cbd5a6a3e86dd7
+e32a1caff395731f3c059b2510610d0e39ea39ee 55c60c2d8b47c80dc2eb24fad26f5195a7c5a3ab
+82296d69e546a0eea1a9f53c46c2bb751325bc6a 4bd6ce0459751ab75f969f14a91a0b7578b3ba89
+e771e8939de0a4623b13d480392f23a789641b17 dab8f04b60e9d3ab7339ec2e1f967c37e40f6acf
+2d1a5114ff60a32d82014151d142c7f067ed1390 0350a28748eca7eb9b52bb516f2d802b2e75ba0d
+629519293cf65bd45a6b91d8d7b5a1c61d88aa08 8041603e2272e70983b5ae7cd7835f6991533d37
+9de1b4298a09cca0a48fc7b52192d6134d47b266 194ea015341e9dbf664ac5bd0088e7138e479b80
+d05678bde88c0fd0388a459d58c51458f7a55fdc 2e4d8cbc55c875abf2f0eb254cc462dab00b01f8
+32e5e1c1e4c3ab1b8fea76061f96de245152a1ec 4136ffa80db7309dade34194b0a34c27ca497ad1
+409194ca48161500fd3faacf6a25851984a15c21 06469ee01613a256034162890bddacbadc1d7d12
+10c19da5db08c31df663c90acd2ea15c91a6183b 19a4b185d81365443c805840924b8cb7cb1513f2
+003a79306785e8f12e7b1dc3334c152615ee4a10 096223b9c704c0db1bd1c30c7824714d447048ca
+d232fa544b39e180557ca834998233a3f5bd3eda 438a8c716a13ed5b2faede772d7492538b323927
+2a1eba06f81036a21f7fd9ebe1081fe1a40c2e04 63bcfff42d94dd156ce6fae98efe117ccfae71b0
+6a134e062867f0e618261b27a25564bb6480e130 5336986628ed002da7a961c32b2ff0a6465c7861
+03b273d366f7f050f1e3a8ef9ddd8fd8f80848c8 c83818926242696d92d9f4b6117c6b84b3efdc7e
+19cc3ff23ecabb23c974cddc8530feae28244057 3523486eb4a3e4c6fc65cde5310a684f9f672430
+16142ec989409728f532f8546266af23721e3b0c 6361c0102ad12ff33fda6d4736ddd6f738053cff
+d6e67b6ceeb16bd075f9f2caf761d5eb8286ca71 20493917aa6aa0635eb6018d5b145d32f4c341f8
+8f4cb1a6031d51b875ba62f96268ac7d6461bac1 2772fc5144d5e7e5a7efc8d4f7f777acc192fdf5
+15581abba5a780484cd6e259cdd219f1fa7578cc 36020e2a87b35092d979e4183b666b262e06cc79
+0da2bda279c92ac483a89aef46749193012ffd7e 66ec3a6544f15008d46201da1e3a56d7af7f8b24
+18c7097d1aee8a7e1be53df29de2a19689baf82c a5c0f455599e051c9661e3376b0bd34230801aea
+4eeaaca3804ab449afbb21ce7dd955ae54d9dea3 b269f1ed86820149a3bc8c5430b7c77b618c9a0b
+ccab2b1aa67a66e30eb8aa7fcf2dc41d72e10238 15053afe2296e674bd2f89de790ff6a914af017d
+15f6c01342e6fcd31d7dc09e26863cef7ac52235 cec4fb8448ce8c5a191219536f67e63823e0f9d0
+f806182f7571ea858f84b126b22b5631937f0d65 bb6a97db325126643071a5a2db9b17a3c8741d23
+3b8a174a2581700c877b7b686e31d525ffac4a2a 47e292dfe83ee6f68ccea31e400b3a7192ebc04f
+99f3f91eb61cb9669f85602ae8a50ec3643aed20 29bf76560f634b5ef5b0b49c590603552558b2d2
+dde82d8dcf3e6bb243fe66f8a610781e6e2d3dc8 cc79cad64412f9b61f491333b71432860606cb24
+da01b277859c7a2dbc74c631e0158949ad1d581f 9374e233456d4021140380394985641ca6be67d0
+2a65cd05fa45026b31b60b567a762ab55dc7be87 2a24f98baca3f09e64ef86daf427a882fd4ca78d
+b47a266e0bab878b54dd8614c7da0117dba3c49b 9bfecabdd3c8886a5c032f49b801d4921965a800
+e2ccb75e4c661448413eda73c480c816216b8749 78363bb9390707bb6a65f02a273c925c3d8c75c7
+4e1f097e85b1d889fc53a6cec791f366ecd17986 922d98aec6fc5a187100e6d4e1a605c0da611c69
+09ed148ec4143c1c93be322bca21ff4aafb45a2c 6829d10a276a4ab8219570e74f185594cd6e53c4
+17fc778cb787a84e206348abb877d51d02122cb8 20a4feb5a596bd844bddfbad35c4ce85ac17f0f6
+3acee969361e3481a957fe15832676a11dc11d68 e89f727b04925c99b8d2b30f6b0ea51be635270a
+030169846a4be9125b20a0a81e2988f39f4ba2ae 2029500a63577104317075be281670d3dd012ec9
+0e0e524f71300e12d4d1d8fc4c24934c6e1571e4 741d9bd499e6e35c97335b60b9acd728a1fb051b
+a0571ec9c4622727d4eb7bec9cbbc69d8a5a5e69 67c8c49176818d0a058c9d8141bc69dffcb43cca
+71b1860c17aed081a2749f3acfb238b6576b9c48 9c8e85e038e1f297ea9cc51468709adce5600b70
+864bfb2b14b8f2f941f1404292001982c8e20c93 8763dd658cfeaae43ecbeaecc1d06370973ecfaa
+7e1c84517fb4122741e8556ca71413c7a5547a42 ec8283ce34f5f150149ce18bfa80ff5c22544943
+962e1febbff230bf20fd372af6bd6c8f686f569f 23425c50b0ff5d19aa27a5a83975a467a706099c
+5d9d1a6a084476e2621e818b1a3b106b400a1753 99478af00a737dbb08181eaf99c92c3c194c5f25
+eef04a3664b2c08b911d2011f1af063cc863416f e6ed5767d97b8be8400f1989e0adef8e5adc0d8f
+16aa4243798458ef975d7243ed947fb3192c06e8 e92116768205c44f43da7a4699ea3ace343842a9
+eae777c2f7590dd16ebaa2da40ce1eeb82a955d0 7a19b7fb3d3dc69f0bd633617ba9c699106c68fc
+d326823d0e90afc1df0f3a9ec158dd10acdbb56d 749c904d962300d4d214849d3d030187340e97ab
+5840699fb1b2f39ede31a7679dd317b10a106c4c 15854b5cc4d7bd6a12028ac3dd428d8f835385f6
+212c410769b5967d05fbe193648c2f8275048180 efde45724c1e5d3d5317a1feff18e9071749e09f
+cbfd6b114d434e1d464b164d3f02fb5824942ac0 78ab00abd37e3a0aa97c0b0a962a20c8de220a0c
+3e17c64d46cffbd51ac3c7fe561860a898b4edff 354dff7fe9cd83993fedc4509bfc8ff2e10d050a
+2ed808063e7c527dfb18a93b027b1fdd14561f37 4c2eb3a853b16e3cb6f0e2148ab85a9dd2cfa528
+bbd210bad6fae9c38c445e4592b340a2100c5956 93c4f1ebf83801150be052bb1da838303f220ede
+dc70841b7ab3131cfadd9289defd53afcfe73822 4e66da34db1f7b10c1042be3fa399f73402b13c5
+54d4a08f5ca4928b9636cfc65457aca561f67f82 7dfc17d1ba314a5636072203deeb776a5bcb338f
+513636c676f93076d02da66b1b58d75433358e40 355b7b99b24c94f3d76cd6d7af1ea2a24a003ab0
+c26e4653fe7471e1d239b1cea3cd15b38d0daf12 29479acede00081f13ec5cafa701f03fbbe38096
+16162104fbe70eb29cd2f4bf916be69991106820 2829c643b489f03b9e7b2ac19d703ad884c8e9e9
+62cdd97ca19fa7bb4bb778babd827111985b12db 755de3f8ca51c663e6cb804f7e7d1d0fee40454c
+a166d1bd606857141a10c5dc6049f65eeaf1b973 30953c1cfb7375f57045a1720e921927090f9d92
+5ed6aaf3dd618ca961e527b9c886e300e7df8488 fce4ca9f0d2f5ef4381dd98c446146849a77590b
+6a6196c4dccabb5258e728cf2b88df2c1627d55a aa612590e8e615481e48e9d1f4c7a8213017ef97
+54cd2765eea40d4c4edc2e051822ee4cf975d0b7 58b93096b47dc32c4a1636be7e1c9a0de434f72f
+b339728bd2f6d39c93c8a48f6ca343ab161d15f1 d15adbac3627090bf7f87f02a94b7c6db1d37050
+f8f9c829e301a0dd3715281d0a35ca66014fa8a6 4b0392c01a65522dad5a0c3872ba72f952c50baa
+a9154f9e8da2a0265438e627bd43c968e7c51939 84e94d417058e2804d00159bc8c2379900bcc81a
+eccb87ede22f2939fd46c0d2b20868065bc76f68 6632e83c83f873fabbc41aa95299c74021f753cf
+8b72432e1c7358f53651cde2bc79392ce0ea76a0 75efb2b329f6008206ce03080b05041892e02c3d
+5f6b03e4ed42847100d8d263125cc173cec5a286 041774b4590bb9fc6838112fc4824fe9c2cec034
+5a70b2ef7b66d3d209d9f11351e888ac8d751942 91c6688f34b55f38f909b8cf4ed907e9d8bcee42
+a60a66b9aac7ddaffc8b4f77a22bb56f1add0614 18a5b7cb685a32db6f6c1af397782f5e30b7355a
+6af046cf5e5418c3ad666da35ffddf8897c26b8a da6f6507c35a8066d0ff9bbcf3a4f381f95639ba
+ae96d0dbaaf19bea46f2cde9f9da3ac5830eef28 e7f1980900831d12bda64af0c76a2a8522980e78
+8e7379ad8759a46c2eb765e064dc367f0bdaf47a 76c15c82e398a8ca35ec572790adcccd70bba1d3
+108c014689602c82005b93f2c950ec4a36d30b80 faeb8c225b3aa96f11ba240756a2c28e89d7176f
+2e5a1a4ef47b2fe919e0de1f0cb522d54ff3ce80 7df4b31f9248d36981d1f672eb491f825018303c
+fb4fc1adeef5d9ae58a05357dca3dd20f0d3df79 fff9d58421db950b0e274ade382b2cde4dc23257
+614c0804e7c918aa95f2e238ff17ecfb61227c70 258bc5b1566fc6af9ba3c1e88b640d08c2f6a79a
+9a6fd9866fab6456e593f250139aa27693af3900 992023a9f3249a1244b3eee518f08f04a9223728
+c95d1d3b6f7880efb8323863c5cbd2910d95e711 2e88fcacb4f207cbd326a822a8c3b797f38947b8
+b0987e3501380276b7a20d5b32cd9d79a449c0fd 318e42c8784d289bfb648d47348b40ede85a7cd7
+fc61cebab337985683a79793df1d31b9e1cf6b51 5fdc3634cdd06ed74a893f99c71a5527f780a37e
+f59e73ad996ecedcc9fde98dc6a18d26ae0f84d1 418ea2421a5f650806cf56ee7ce5824c7c8da917
+61c4748d845f686c9c63096334ea8e06afc0c225 a1cf3babc484b7ebc21943369a5e7765a37ae5ef
+c5b72eddbd1ff1809a6a19ace5602cc15b9371fa a9da9bcda6b0cbd7672957555557aa7f873a5b42
+840d23ec592591288d3dd0c24e4b57d92039c5ec 9db0d02f914f11190ba5fabf893eb9f89460782b
+0db87c1f22a99e089121f3ab57170db7c706ab10 c451fe99e27e1f58e9c51ee75d085c42e49dc6dc
+f09865b2ac1bd6c2d03fb56ef4cdd77ff64ade49 4340eebea919a9d23373df20b46ca6688f48892f
+3a8d479132b28619e62c3b2e8bbaceaf6d8cf001 d1b536a7bb8223b30ec8afb2311ce3398358d425
+01f718a509b20aa9ac467bb7ab574e25ed022804 6cd38103b422f797eebce4f68f04a67392390093
+b111d0be7fa62870ce35bdb6e369dc21209d874b a9b4f88072ccd21d2ce34fd2b25c300e11bfc7ca
+e596481f584a52b18d829d158fb272939460ac79 3c52053442080a5ffb212c37edce83b63a19d27e
+caceb977480cbdbe6da11bd5f08489693ef7a05a 372b9b797e4ad3eec2993b2e70727295ca403861
+8004abb2cf1630923ebecbb379e65d88df687476 637f613b03db18b062c6975187a6a350865bbc36
+5fdc33dd9cd8d12c334d3900de00d03175cfd946 f07f1ec2ae7b85e44dff7e536d49f510a20a5f06
+ea68f04d50b91420e1e05009f6925f94f9920fc6 65d7aeec4e1d77c37e240165d269843e8c2dc1f2
+5f46d9468b8c20ab50cb4c1f8d5dc4d88f6952b2 a95819961582ee074b49dde79f776f099e25f465
+7aecfca4cff2e817a2f0e30ba7ca91f5316bb93c 1864f32b1987fe99f40b68c1e0b8ba2c09cbfdd9
+ed6885db769032fb41e29b7d09f7bde04d009572 74bb3f6718fd417fadcf9a8b543399fdd0003065
+b0048ff3e497dd3f233834a012d2db6eccd4f09f 8b814d9c8695acdfa81e39ceb61fe51805fb40d4
+4f433ee78e3826bdc018db2e4f440f5070b391f0 bacf41edc763bde57e9979061eaf426fdd8b7faf
+500c5d32c17974e935ef8085d6ca17dec57fa518 34fcd614c62467cef402f04fba6d1e1ebcc10c80
+6e6532abc34bbb4c043c11f11c828eea3ea3eb51 974b8d47e66a886fffe119f5abdff5439102b290
+2d69c3c257cdb7d06739aed95f09edd12bb389f8 1a2375cc4ccdb15e37f09b98bdee94756939041d
+f92940376b48c909ef19dce280f25c3cb8ad3dce a9103ab57f4539c742803705a6bb6e4d3007697a
+72be638de0b391379570aae6851e05ce769c3c6d c9ab2989ec9f0ce0bfd1b303fa5f3fd2f4a4c5ff
+e9f7e3682a739a8ca559c035769ec84fa4ae0ffc b692914a9b85392d2a340d3c99dd67677669e447
+daa40c04406afd6071c4590d245d52b4b6725368 871ca9b7958e7f086debd1ca8857f8ee25ba0183
+5c759478ab4cd438dadfa5304dcfe377bd0c1be9 03a931974629c4bd1fdb578178fbe1e83af7c5c1
+5048030e2b26f734a071efefbd6e64905f2f6b03 bdb4b5848775f9f3facc82413ff920fed34360cc
+eb56d011ef948a4483316e436d7e03f0011866db 2d651e4d39c96e3c5f34a295006487fd37678e43
+a591939da183e97284948aae45bd22ebd192e80e 634e82a8e960b0a3fa90daba02bf9c492c6a7190
+71df51442e6fd912b55b807b2e767f3f0c3f93e5 8a63643feceed7b52489bbaef3cfe92f92c718ba
+a768e1b23afddbd2f8799ff855420a227acc7127 db0a2abd3dab68d1a60a31742d0368d6965edd25
+007324765b2df8fe0b9e14ddf31c4a1958f916ee 46b638d8c04ecd1ba157bafb09c45b17c7740991
+e28a726daf2dccf28da62592181088b4ed86a7ba 0b4d1741b1ade876f421dd43ad50d6d07fe6284a
+e20ea1f5fe9ec097508ab5cf7fca95dd8dc4718d 72dfb1a1128a473103af4502b567b9f1daf55645
+240add3e8e967978bfefc5cf64e9ba52a7b2b91c b9ca4b8519c32290c8dd644f5bc44c25aec6551e
+2eeadbf1e9f5a83b1ea5dc14db15181437777ec9 53c7281cb92c8235d8bd891b4bf37594deba7411
+6ade74c667f071cc714f34b3a79831736c998ec5 ec7163e5dfb7cd6a4258ab5ed42f15df8fe06233
+73aad73f5496970ab5e8d36f4c2200cd7d3c70e6 f2f86c36ca0815a497854b595c063dfcef5b8f0d
+ee7b881118b71d68e452bcf857478d804fc12d8c f78cf9418cefbb0572d87ac269bec3ae6de9b142
+61a8ec2ef74a08baef4788d40473f591f5b835e2 97766a04159f7755ce83c8b8c42fe362679ff2db
+f82e46d0e21561c5a8697303aefa4c5d106772db b16bb43f7397a0a92c7ba83c45c0a37e3c419234
+8fdb176a6b2e98e3bfc33c679ebec7cf8be1a676 3e068a322a521109c62e1da44b96969482fb052c
+fe3153a5ceedc783bf69c2b46331ec9f4620231b ac2e0c6fdffb6e3e6cc2d23c0aff43e66620844b
+794bcde9af76b99560c26fac011575997b02ab1c 538e89f15d7aa918cccc663a43c0d038f77a3dc8
+8d2ddc425d1b66f3ba9d561599cbb8667503004f 336fd437ce766ec6323c4c41541174f5f47b6a31
+59bdc19d4d67fc4ca226c650e0a341d77e380b17 f03afce3f4d76d672e37e0b983ec54929a274031
+7d8206bc5961f17028f3d21456dd35e6d3a04da6 2bf778cce876a8d5c286a6db6a2de977c9f8816b
+bc61f47f9ca4751a98b77800cb47fbf355e7a383 457c08e3d8a0e7ad10e1ff987c1695aa4b970f37
+4d35e45c258306034659742db597a6c513bc2ba6 914ae4aaa2dd5eec997e1f21ba95b2ea76a953fc
+5686b8e4ad087d7ebca20eab9240e02ac7a83e0d 725f1230f3aa380e7b85d0f33a29b51a83053a14
+b7cce3522618a35aba4cb9b7e9ce3d2f77416b20 97dbc1f76e950ee447990b387050fbc5b465bf12
+a375ebbf55c1420453f4929ce0b442bee8b61bf9 6bc607627dfb037d48c165eeaf37712e9f102534
+9c48051cb8af8ea467917086fd23b1465d2f14e1 ad63207e51cf876c1f8747af8d520a74201b2a9e
+9f038d7e67ae2aa291dd3e90126f6a44ee40672c a2da0525c2338eeee71fafc61afb4830607063c1
+ab401ea0e7c936cb04ebca07ee5e2b7ccc698918 4a313010b2855dad27927f666acd48dcf43ecfcc
+ca5307e7052f0f263121d410f669af086490ee08 c4106fc064325615423e51be870f85ab2bf73ec9
+0c59eec67e9596a3283a142b42a5e66ffc756d2e cccbbeb3dccf1a0e9eeb6b315fa16e4c8ebecb5c
+b046c17cdca4bfa2e358d0e621bc8c2a1cce0459 d66faef18880a2c801a9db494e85a2d7ea091380
+608a8ecf9d4db23df0213e161a292a1726fa470b 650408ba2682af2c9e3b48b8e8a75b93af6167b6
+aee7eed9382769c7e8565f775af70db0f7a6a81e d00474fcad8ad9b41bd2bb1ee1fd5a5ce3d135dd
+1c8156585921693dcc2b7bec842039a0328378d4 43ec475e85a1f686e5609ada878d4d33a9f2c461
+feb8b890f9da9e6ed5aae6238f0289319e6fdef5 832bff5c177f0f6498aebcf0b536b96acb243df2
+d7163662ce5c5d50ae2c7c5a9a56e0a68b273c10 484b66d8941dd920ec5ea68b6ed7034e4e5eb340
+5ae51c511c54a46d319786029ecacb28cbef2c3d 331b6a182b191801bdbc38e1ebb8daf1c6a121d1
+5b3fd2b44b17b48ac399d459af08fb96808f05da c76da0e1778283dbceaaa27a314f92ad07e7e614
+b313abe3fea3074f5c965e85d752b3622c6b88c8 f8ab3ba3c14ff2ce12e5a200023a537aec83172b
+eae76d4337416d601f2598525fe22088fbed19da f62eff3801e46946e5d83b028f66c85f22688d48
+be7cd5f82407fc78d42c93e9bc2d3812c2b53874 c5598565a91d5d48b5dbb0881356c741ba0c0ea1
+36fb283ce231e86c9a4485f0072731eb1634c63f ad0356bfc663ac369f8a5db2d4c365d9e08207b4
+949ca4fabf1ff30e635e07ed8d8b0c1b7c51f253 1a43e2f27efc25c6e48fbcd23de96681997c246b
+e78c0cc15ee094acfa435989834bffc8178637e5 95f39fa07a091c1688cc122edf4835f01f47fd07
+1dea4e0e22157f9751edba2066cc074a63ca6700 262264e73894ad8ab651496e30b91035e31582ca
+25ec4675025110ef7a4991571f393efcd25dba68 0cf76af401e73bf383216d72b3a37d4480a749fa
+195c1d04b77f52df0ff6ab80d5b8327d69038433 a8b5e2ba2c80e1ff96861c93c3d712953cc7a375
+b47a4259494c76e62a8fea25ccb7ce077de53a12 49ef01b10a0f61eb797894c5ead20eef7310e9ab
+4e80d261c0b810028f4a153485a1c02a8d71ca96 5116233ae6743ae8222c077e78c827f7acda388e
+bf727da58ab6693f154f01f97b6bad0e4c8b9608 db2441fdb24cdeba366d00d23f919de254c8e851
+fb9287738acdbb3e14a02507bddfa887dcd5c740 70bdffb473634dee0ae80c2fdd3bde4e7acd4b32
+dad6dcfd2f486ba989684377d82fe3ccaf0f3ec7 35b004b27242b631827d4dcdeb4dc52250fa0264
+274e5dcbacbe3784ae4cf9606562d9bda7860385 8e97c295e66cbf7feefd8b59f9269552972207f7
+0b4430c4be52ef1b399dc3bb38bef7d033d2d83c 709b0d94da7ae31e011cf849d776f71be61bc556
+64cb360da87b29c1e9d55792f0a3ff924822cd10 309f12b90f55c736c89cd3eb196b6d886d46599b
+2e4b6778a801be7765e334bb93ba28e10929b2cd ed3d0f81953064946e4241cdcfdb3fc282a1fea5
+9c8dd357d7670b0110071a63849f216d2281afdb 2def3cfd74cf851bd2b4ab36068ac20530bbbaf1
+3984f4bf6a0787b4ec5ac6e95c01dfd2b6232d1f 3a13eb9aa94569804b479f659339fb1669285bc8
+0cbbce68e3748abec59a2dded9bc6f77876fa0d3 3242267014c33a569627b4934b2852be48644135
+49733467438b2940d58b54525e1f7eb7a90a2d82 9dabf0a23d5135d9cefd94ae0940878f1aef9316
+145cd34809ff22970bcbada2d1918d32d7c0577e 81eee3687090e4f263b2dbdc78d90e15e18449aa
+86afb9be4d02bf4ecbd16bfbcaeef2e949deed9c d9f36515d8ef9200f148bb2d186275171e4c41b6
+bc868255fa5f53330a24c2841d0faede9e7c34a0 a7d8d4e3c80339dde4ea0ee2f6ea9bcc8ccb13e8
+c1537995ca06d542e8c239fe71930d0e9cbfc36f 7d8693d39218a80267d842b99eaca50064393526
+28286204a10169202337fe96d41ed4a600d4af17 a47deb01868901ca6b26863ddb7d8bcd7c887fde
+4d9626fcdbd74829b18aac1232800fb012b6f15a 17069fc449013ddaabcf43b2be26d840f7427f90
+322c0e3aaae934ae677bc23fd3c757186e581280 1e0a0f28eb73879d4997496c752114c1a9244711
+996ec390ccfa96b1375517598edfedbfc47b82c7 7b82a0156b3fe298098fcaac586b0953016d3835
+c6d6aba002508106b46615d2bb20eb9bfbe56e26 eb772aa3a53ab0bb1c7e7e926b3b14f7f9428d61
+abe93e78e1ef69a56dff453f55a64b9fdbfc6729 457d98687f4efd0c3d1870af797bb0591e80e808
+29db8c2a00888b6a28be4990af8e018b55f37e35 3007d673588f0113d3effa63b4a4c0b21f08359b
+9d0b44aef955e69836927c515e1375c6da9f6b75 4be3c51bd6f8bb62077204b4ebbd2c00b57d010d
+6b8d640888f63cae41ec9a2d849088212aae0534 864d4a13a6ec35af05126be4bf9f62bee3cad209
+120cbcd6cf7fce65d711a372a9b7225da083483a 724e89b9d398b6ded411690ad838ffb2021f0624
+7e0d06f0836e4e961a3ca74c1b3f6447d118716c ffcdef28cfffb132f770d2f832fb284d15ff4a5c
+184aa4a8db0cdf016d954dedc41caff93eee081f 994f38cec1fc3ae610446649fd7811f57febad50
+1c465387a9d34723ca115adee1481339956fcc85 f2dd03d85a501a4e806824f8cdffed7d2fba7a81
+64b6d0aa9a83fc77968e24a4c1b601ddf8aedff6 7265356585c96c94f6cab53fff4eaf45b7d4b510
+300cdb79f8d33cca616c1537ac02c898941a96f3 d02fa4c95269b32ff1bcc36e2c3750e5f40b3db3
+426e4e9684efd1b3a4eefdf987947244e948c79a 6e7741f9b9975c82ad831a9a8d8eb0665dcc7650
+f8e72ce10ec789593c8f1df107ae7c62c02f6260 927169eb33ef64c3989c45788867f7fabccd9dc9
+caf9d310508cbad2040301803557de00226c6e87 6782c0fa478d9f5700a1708b9851f148b2a9d97f
+a90f541f013fdefbbf596320ec4749be520c02b7 d2de7a84247b75595644c4679f495c6f407c0ca5
+9f472448afc0c20c26b0816024f34b1d2594677d c92ad06884dfb4c073a3cf844578f47124f42b29
+a545af160abbb8ef265aa6619618277d7fdd2113 a238598a18fe9b75709f925381c504ca9151c83f
+d2677ce3b3b946df1a7803a9e38d0a38faae4066 974c754ffedf364957d7278c031d50c3584c9bf6
+26fda5ed2f973bfbbead85a9079753abe5d1a532 ff244dfed205a8cbb0c7a051b41c5e3f5627c119
+7c3d4c293a4fb5b287a4f233b86f8730d849fd82 a5582b32329b9ec87c09339e6de8026781689267
+2036d672a62405226ce1d166f58b373775a88400 5c2d6338e88993cacb8b2e6b3b9c0e6fb573e1dd
+4850eb1a74e5abb0bce41e5110943febeb722a1b c9202ddd1fd00eeef0ee213faaa6e71ad37532e2
+13aeb8dfb5d0020ddd5cf17be09a95837b828d29 30b9ded8de408875006fe529768b30237be225ee
+b7f0f3e9ce5868770b92c85d4c676b595c4e4bd6 fe5fd26e48f013b0c473d918cc344a5af10f44c8
+50d41623f17b1f28e09e271732655fccdbb3cbd4 d78c24d78da2e1670e58e9b2e95cc00918f490ab
+a5ae78bf4ede4f9e303e7dbef38300aceb7ad624 d3e0dd04f77935dd7921df086df517944eef2ca8
+10327aeeb44ecd053be2d303b1bcbc46ac28fa63 34e5eeebdbad569b8da109fbf5f81b73829e953d
+42a1b3115fbfbe18fe7111d68de487d4e5d73733 7d482cc3d2525bd8c387589e284fad491af519f7
+2890195d79d6e223e71e05716bde5eb049730c78 8db74bc687c4c69f4625f0c827ba5bfb7bb57183
+dd7081ef8859800073872d5807361cdf4271341f 7b017e7cb6b45d96a663473230390219fa55d11d
+6159345e624348d1cf9a7113a2425345aa3138ac ea05d945ee5bef36ce43b3224f08d57349a51628
+e460853bdcf338880fb3dd019f2a25d93e7d4052 62108e132479981cbc4815c0983d4ecb08ca2b79
+28bbf84861ed2f1c122af27833070840407ea03f 0c37313a538975ffdf744856a39023c9d8151b65
+246448a47376afeec56a6ced201fa388ae1d3ac2 a589cf0608e3b52bfda893d4b6ecc224cf294eba
+48ef0fe4168d4cea6ab88658fb333ac08c69fc21 6e9cacb9a4d8f6fbcfeaaba7344e121b7eb5931e
+19bbd77f92bd739f6d93d4a72ea5453811e690f3 b98e348bdae6635641f09c2eee7539a054a3539c
+60bc2952bad4de46eea535c8bbf4cf41a643cbc5 b98e348bdae6635641f09c2eee7539a054a3539c
+ccf238b8d861e542ccf49a383a3c0b3c0383ffff 6e7741f9b9975c82ad831a9a8d8eb0665dcc7650
+492060e44e05b7e6fd32a637982e4b897eb032a8 b98e348bdae6635641f09c2eee7539a054a3539c
+2986cf93bcdc369a1fe6d3f586e5821a93d7bb7b 871b6719b76cd76d27bfca5f088cee4c64fe2df2
+a4d131f9abfaac7f25b0cc063753e3ce5b43bf49 2e100ada604c0ec27203fdc4b949b9ccaab3faea
+43acaf550c67a5122f2b6e08273d1c480206e65b dac438d3807183c5a94df296d2a59a882f571128
+29d6c48ae955a3914a5e787858da581126b69f2b ae010d393baaea22dcd9aec9fd6224225457ee86
+0b71334a439e854e0763842f1ec726205981c2cb 864a72ab200fec1769ed6e0791e1dad18eb0df48
+385fdba81ecb54ae3bf5fe32959209a1724f8a24 c4d91e23fe72933c5c66619da6bb65597e01622c
+68b92e4a3bd87ae0fcaf79c1234122aca4dfa9b4 2f8f4aaff82cf6aa02ac143a7fd0a607608d93f3
+979884630d10100daac9575de46ec1ec2ea32f19 96f42ca1e4b7c431f8b67d6701ad4cbb3330b556
+368dec0ab9480b5d93499bb6d405035b4a22a0f4 546ca402c87d01b3502da97d1b9d3318dc92bd57
+784a9a3ff7c9af77073e86eeb079206701349706 cd0f8b6c1ff94db9cbd672763729df303c2e8448
+8ab672256483a79a5baa53fa1ddd09a936cf0d5d dd26c941a4b4b3543cd01bb706e8c420c8116d2d
+c3c8f9dbbf418fc93f02234fc272ec9817b4992a eded3197a1dc0ef812468a5b33fcc5a084700dee
+e28689f0b4ec3f3629e03c02254242bc4811ce04 7f9e9de7262f60b83303e4c2ff83016be37df20d
+d5cefae0c3130afb6a3402b2c57153c425a95647 8716823193cae598caa8e971d17dbc898599fe4c
+f9f82e4f6f56755395b09e1244816b5150d9c9a8 3853115c68efbaab0b1d37ffecc4d053ae53f2a4
+ebf0e02fd1de4f4eaaf9a753f1112cb59398c34c 025ecfc2efcd5f02d4cd66e04fb35121f5b5a54e
+c1647c68df1df75dd62149d9454dfd8dbff07072 46167ed423b58f89f75285e82f393198222e35aa
+118b584137c25bae9ece32b1ef64e5cbb3c3aa13 6dbf4eb6d6075cafc8e66f56c1aedc312b7b5b07
+f0663aa57134a5b7f2b2f36a4991f7ff59318b99 3c2e7f6875bece6098d95393e761d66ea150d4b7
+a837def731328bba09f20f317a2f769f9777f834 ee5d6323e00617d00e47e70c38f5427d621fd6ee
+95e1a611734e206a510d288ed2938c2c50c0127d eb3b927512fed131b56ef8e1cfcb35b7c5edcdae
+e3d862ae9511ac99a79f736035faa98db91bd2ab 9fd685c97fe2039fd8843848ecae0dc09dc91d7f
+61ad07dae223cba3f53ea6fa7830cff3a43d4f01 6e057b2d99a8c331de5cc5524f2f944135d05279
+f56a315628564242f08315cf2ffcd7017e60ced2 d1fef97fbcecd51ba400032cf4cb20f2a4eec9b9
+5090983a1e6c9ebaf3e7261f261317ca1d0cea78 391218b2c59b4d8d993aa73154a154deb51c0fd1
+b96c53e53f6e09d73cc904abe2ab21ad2648adf7 755f3831c79021a544fad5e2f091a40b1355436a
+66a69ab110b2efe13e2c68c788d9fb33079992a7 d9a026e751aae0aca3aac745eee3459aa042e9d8
+744bd7c535fa074e7cd0554625ff5e5695cd2174 a1334f02e9deeba975cef5f709dd86664c8bff6b
+d9f53fd513ddbc1bd0a9b7a7052a97935908b6b2 cd3e9f4b4a55b52642310132ecb27552d578e166
+15f33e950fd8bbf880bcee85747f40654f788772 4d73063dae3c91f409f57ea58c433c3f0e7e4c25
+43e97269a251303db48ea87ed7fb47f94fda682e c59e84a2dde8b2dabf9fcf9b491736fe858a5313
+256da629234cafff4353eb1b6859145e4de0769e a6e4117b35747f354051a39c6471de5f2b74b9e0
+830ac93e0f594db90118dd93e590d8feacd64f6a 8ca76ab80b0f84c5ddee474780ea2601c7b32c83
+0a75a5192975d145dd1f112f07de643d71597dc9 9d1fead1174b0d8851dccd5e81593fdb26969df6
+8737f8cffc5f5f7b86bd495a5af233bd9419276e bad9344fa83885c05b3d51060a06dd216142d919
+7b42770d18b415b45da248dc59063405fcc6f786 9248084207e1199a7e9c2e62c736cc9656391900
+6140f9b21b49f366f8155748dc4fea6787b5ddab 0ed7b50a15b0205754106ab4e73558e49a7a7a52
+de14e8323050c5c4d03152eb577d982a371fb872 28007a4b2986a5280c2300d3b5daa935f2c46d46
+727f09ba901a7ff07aa89dd1e6c970ed07c73f65 2bc2f6b7bfe19898bafcf4eeded7212768f44fc8
+4de9909cd3a0c73a42322335b520b1cf3186f94a 0867af18d177a487ab0406c53ef28e36aa3f3bfd
+a8556d7f627630b788be4b2076f28a3f7a7d6670 05d3f0383707c2f8096d7027c9f107111c58f79c
+ae2647688b21ed5ba00005146a785bb90698f4e2 bb1f7553008882d7197fddc65d86f92ede944b52
+f160d37b8bb04413f50cf41f49efe126c2dcbcf4 edc46bf13c42940e5dd711aac1c488f11e0987db
+1fe575a12747583ff975fc04f6974360ad81e840 be2671baa6fe2f57596b3fa95b57a35b133571e0
+b2e17ebafdca6883adff221d547f5bb6f13adf8b af508a16a3864b7f6d32281ee752bd23635a23fe
+af858db70e4dea1775b3519998925b8bb2a9aea3 43b00ccc04a702dd8f21cae68c6b3631d3aa34fb
+a0e834f082eb2cfbca7abb28466c2f9017d44b39 3488dc430135ac806e563603f24948a1e9592de5
+4e56e2d1f733a01c8a4cc7eb7f1fa1e121f06c1c ae188bcb2e46a36957efb656010974027c1d1f7a
+4c5b9f99a7bcc6eb9d261214592298fc01ebd336 e49f190cea191c57798cf611c395f75ca484227f
+059b083288d0131d1509b6f1ba148ae5e84d3e23 d4b4b6136ea70a9d82eccc4110c452f65ec45c60
+eeabc4a70a6f5708642bd388f5814a65c67e78a2 3e43939663c60cca0820d6c7d4e1d20d1de39c17
+be42ba397bdea52a7ce115e69d10810fa84a3437 07e5660ae2b34736a929a42ad091d7a1cbee026d
+5e552073bbe97fc36dce334de0b54dd30a93b86d 8d025bed05deba9e6b1aa498ff3101589db7e551
+371fa59b68e5a49179f187cc00c75ce637834e5a a7332b06fc309a7f59f316aca1bc53135bcaab74
+b9906fcb951758ca62891f2312be450796076e7e d3a488950a6382c4436664628154d75297f21fb5
+ef8778c9811fd8ef84bf7bc7eea3fe925dfddea9 e27db050fbd8a02ea04623a7890386b598e05063
+f0911fd5f7bcd245e596039376126eef4dd6ca3e c15d619e85ccc82552823a8066ea4ad7237f9dd8
+29eececb06a7c00fb311952c3ab55c863d08955a 6094f0cea7467026c86e023832711f18e7cc2bab
+d490999262caee44628c5e34b3f2ab6c7d5151de 6094f0cea7467026c86e023832711f18e7cc2bab
+265e31e1f12366c61823729e057a1c5c462473cc b2fee5de7205bdabecb83e0efc3e7bb3ce9188e2
+4717b68f695227885dbfd628341c0ea8758a639b e27db050fbd8a02ea04623a7890386b598e05063
+d01e037bb9deecad9609a9448254aa266305e4e4 1aeed2e6ca693534c634d21a99648fbc60e288e4
+5526c96d4ebddafb732cd92cd23ff36b21c221fd 421f36e7719589c70b66f3c85e5ee978fb13ddc2
+a5695c907c55b80205341425d63258a0acde8545 e13843737d89e399af0005fb745e9795a59b085c
+b86df422d72142268df7d412cf890f4e5a3a9aaf d15b57e13be593f26cb712287127f74ef704a253
+6bc3b24699b361d6128427e0fc98b71af31b7fbd a815c607b3fc8770eb21276edf5eb57ebfdcb7cc
+025a0ffc59a1ca9662ebf7a73f08ca4fb57be4c5 42ada9fd1dcad666adeeade0df59686748208b9e
+579501455d299408c3741ce024c66faf69e4b353 f8b8f253767a23f0ceabf43c88b7c74a113c79d1
+93f44153fbffdb1b9ba12f63f49db5b4296d15fb 1173e99f4fd1b67931189be370de948481976c99
+711ec022b197f23cc415ebe13a0b81d1dac65f2d e77ec5d5c1acd8cb805645ba2488b5f27438a602
+83a80090a477e78b800e8d7b6dbc808c11662c4f 148f077c8f019e18293d7b072989ae95ffc1dcf2
+36ee762f7da7a54506619c8876a61f68d5c2fae4 4eba9d23f300236963114b614c8d818bd604159f
+11056731b20d95e6d22a9f16b3e62b22b5bc96c6 fa6b37b4a108babd014ec031bc5947cac6c7f8fc
+fa851c643b122c435588d87afe5d5bb973a9c55e ceedd101d59d71c9d81cf7cf5495c08ea3f86c72
+9e363c0206b49e3a37c7e40b2cd65773f350bf83 e2f26306b81da13e54a8c93bf2e233d68f56b670
+ab22976520124ec7f32fb4ca5771f2c7a6cdef33 ecf0a54a47f9c538b3af6db12161d31383c945c3
+cecb065c1aee5550cdda4b642807eabdf856ec15 2afe2998527e07d97183f5e60e7120f8137a014e
+9b44fe66987ffc539c827152e60869cfa296e437 e1be4edaa55a8f22036d02233cbb024e3689d195
+2649a029b93f4a17e00632711ea9cac7bf543613 96a4bbc756556374d679b8bda9924765e01ab485
+05e58ca284fddfe0d3606ab150f627bc4be4a19e 12cbf2c6ca6e5a19faf95a1d69ce813ed31a5918
+c6efb334b5448433816e9574136b06eb582d8379 7c831909360d511f9c3bea37678500f7d8951d1e
+5bdb2a3966ed6df887fc283d19689da2f6aab6da ccc0f2965beb48a256aaf926d5497933307e7600
+13599b354dec0427791f19bc1624d64566487797 cfcc139ae709ca311dc6f7b3ebbd5790181456c7
+636b11637589b0fa773f78a5af033223468c0357 b282483de783b4093b4420c12e31cc26716a66ef
+5b3d0e190176d15079df4aad49e20178ae53ac68 0444ade632cdb0ae4eab24c7b4e458afe8c01db2
+e8a946b20eb6bfb5b243ab159a19c5bfb1856a36 23df8fd9f3a0468c0eb89a1c4734c3e44cdb6bf2
+99d45c413b257e6ab9be76d055e40ab25d91ae0e 16b879b779d56d897ce20bf69c7aacebca28fdd6
+7e1e5a864c4cde9297f1e2a766e04ba682d9aaf7 2dcce84ebb76cd3bb6cdd5c7d23db933a386cf51
+ca242104fb0fdd0a24551e85d45dbfec326d8c09 c15d619e85ccc82552823a8066ea4ad7237f9dd8
+bde3da497983e5b4a578ca5fd2a58482af8fdd9a 2dcce84ebb76cd3bb6cdd5c7d23db933a386cf51
+81668593e3dd0446665c1d97a7acb5243455b856 574ee594e3894a541da2b232a6fb64966987dfa7
+450a756f9ec9ea6e0af86d135a2276d371c683f5 c5add5548fe0dae5822278db687abb374c148539
+a226f16a580b1745440ea83c9f0927c601434e2d a826876277c293469f13fd7b80f81dd78720e4f2
+ac13715a56faadc6cb54ce6f0349818108285a0a 2a24003567fbcbccd5814b799280e764f5cca505
+640bebbe6852f1173a4c26b2491f14970d395cbb 3d47ae1e065a91b60629eee1f28959daa5b38b2e
+dc92eeee8700ed3dbadc09765ba03848853ba580 e7e643ec1b2a9556904d3b0c9dde7809d48d63dc
+8f971c2313572527db39c971b2ae4e5c81e9b4d6 611093fabce7c8ae375cf954bc568c4f89b65828
+4710ac57820b651f14db7a380677a32ec134674d d6f776f59d68f386414c59872dcd5caedc6898c8
+1be81a3e4a9d2e87d2de035a7d3dc35d632d89b4 7f5e0c5f37d27c6b58ca6745fe079f348f33fea2
+c7b829aa04f8fa1ab4d4012bd238556501259dcd 9f5b2216a962f26d3e75f6894a3171422af5b830
+1f16d2de6375180ced006845dda807e7f708e383 e347e2aa746f2e8da06b17a5e7138d2ecea14b65
+9488a816acfb0049a60e3a7359b6b270d4177c88 df001df6340230ea586442035ed171a92b1e80c2
+0649f390bd69a62c141321bfaa0ac6afb326bc22 7613cfa5bbf9c5cf0932bd8b6cd4a98eefb9f7c1
+0b9063a9e51351412a9d35e9f551aec17f28ca0a 25116f98e2d0cf6d05fc547c25507be887d1153d
+6129e3efd62eb62c2460055ac336831947d3cdc6 83ca125af8c4b50bf5b7beeb6b4acc2369eff38a
+aa25427b41121abdda0d3179465a8dc1db73b08b 83ca125af8c4b50bf5b7beeb6b4acc2369eff38a
+859e04c2808e931e1e1b5cfcb4b46ff60ebf0727 a1d44c00ccc1505b689076c484dc0b2d4a3e14e1
+e628227750274ff3a2d7de2e270211bfc9ab0809 8bcb8d25cb2859f4e6e994d31ff9271dfc35a08a
+b2e12cfecaf586e0b494d62c685d319179bd762a f4922f2ac1f544a5d17e45761397a7bebd99ee8f
+6d155439517c671cee2c47ac6ad2449c66d80922 881cc672e9a09d61e8351b8b3310c6ddacb24026
+512ee098f1dfcbc6a3744176d2cf79b7e4f75148 8c01000c073c6a23bf1edb08b76d7ba256f52f9b
+b4666273f9ae628a6e74316b2534778683973865 1833b012fd6dad1d7b86f11fc12e18a9d690fce9
+36a448a0073b932e74a5679fbb138dfa6942b852 f7b45c78af3d550eff8315d5224d2ba16b4d87b3
+daf13e7159d622301dfcee8f8124735693dd5f12 31f35ed41cddab3d2f263861ecb2d139677b66a4
+1f4dbb61e1a901dbe13e8d8f721d845a89dc14e8 a284820c24ca8d3207e579958d7dd3aef784a77b
+7d600b529ee801b1a681225e8ee2254535a8efbb 85d767b14d330840837cc4980092e0ad26ffe5a8
+97391caf89c38178cd4b2dcdd0a84e54f2508ca7 dc6fe8617081a3acd5465ae587dd26cee7abdeda
+3b4a49f65ed7655b5feb94bb85aacfefdb0b0f47 159d8a77724d19df3cfe3520bf62fbd3fec9f497
+0b97aa0f383f9f76283d6815cdbfbbadd4f20cf1 f6944fc23cf6f2efa1edc5345f55a853ad40eb89
+348aa0b6df13e6cee187a12ba26c7f35ec5800c5 c8be43864526f377ec8733c5dc111f4a3cb351ad
+26ee1fa0b40041a781dd493f0a71e16cfe5bbfd3 6c17e05692dff0265bf43f112320ec8c5606debb
+f31933d67f59f5c3942cd82f99d95f883c576a70 25b6bdd3999454f5986eaccbe7d862b0fff473fe
+53fa200cc435d5137f9f51782c3a47f7883a90b4 4de6173e11ead2fd3e18efe0604a04669521ab79
+4075dd1d052f7f41e74b576799000d26d6fe1313 fa8af8a9e4efbe89093c624cce0b38271d517749
+207d18732c162e09c0297b47689d26c34edebf74 63d876ff39716420255369bebbd872f66829389d
+d0cf3bd9241aaeec2c1b316e2621009055233148 9fc7a9e07479a382f2715e63878a6b2a1dd96e82
+44aec4426645b3573ce62f3fe9fa2a37da3e07de 86ac90c3da5e12cdefebcbeb02b67ee532402b80
+2a93b77a80a73d91342310a71bfb74789064ba41 7f4db79a8491020503cae839dbd9f757a5138bbb
+9e35746a03aaaff7ef4eb417f54044bb42ec4034 fa9e754ba2e5c9ecfb57b2d0fde3c3a20f2cd9ea
+24ae1d161b70a00a58d5c2fc5ec2a154f60b8d92 db47a4f52016237c9f727623ab9562b61f83c7c7
+dd984f22d245d5e73a42281f03e8ec568a5f73cd b23f145d0d07f31e45b9a30e77bd94e73c9d2d88
+c3d8ed8c78776be2ec9892cea4d08507d4044c06 2d889cee7f2b3c9c3ad621bfb77d6e07fc9276fb
+9ac49122560827fc43ba5d7f5b3df11f0ac3ec25 186a7f3eb4e6301303ddb7a1259c12443e1cf1b8
+17b5f309e126365eec42081511e5add9fe508254 711b62ca62dfdc30dc9d4feb5c03e43dccbc4a8e
+3ca43c9919f64641c0a9e18507e74df1e115a8ee 254834939ba7b4bac291ebf39afec3f36a26a9a4
+263d4857dd0aceee2f13b11e071a6dffd6cdde36 f904cc16619c07fad5b065f033ea18a25c454926
+769e39521b385ef1bfb8a39cde24674a1d21410e 45a5412cd0166fbd7791e0079f82c48ed042f8e0
+fe4d0f3f82a8870d6c8fe129607a12f0a9cc7700 5d178b78bb2e620037311bd6bc8c49712f9ac1e8
+7a1ebbd837c00cbd4cc15db18df018e4d72af44c 54fb393bda8c7b8f70cabbd971be5f72de4a6108
+a5a4a133a5a2dc12f779533ef9e8a7c7e66288fd 44bc6570899fe1953548d7487e52daadfdffc5ee
+4308442f39bd56d12b24f99e648c89dc4353d35e a24fa59a314feb3c0ef916842a6f648c04da2716
+3a812bf8b85a47673d838aec465007f32d9ccf84 507a1fecd1322a7feff471a6a2ba96dba63cf860
+d8b8469628e933d425eb99ec6a395edc245858ad b32e6491561256e86db7190d1c8df0cc8cbf065f
+17056ecd28911816a2d9d0250352eb5d7d676e99 a28c4e647c0c0dcae410d19ea31ac7508c264ecd
+cef5f1dacfb61f3341b5b87598e74f6c94f6e0fd ed1abec3b4ef30ae6faeb8db677141fcf41ec357
+b10e5bfa1bfd1a7c92b33684ebb4ad3006d689e8 d77896e87a24b8f42eea285f75da4ed9a193834a
+750c8d5d8e7a3399eb27ccb94fa59231362ae02d a8302ac3a3ea854877c243386d5cd2b029fb1f31
+0a95cfd0478bb89ee74b68db73db9faec2ed7f38 98a18a1a066798f77b7ecaf6724706cb233a31a5
+f43fb7bacc51b0795c3e51ebb6ecc6286e44573c f358b79dd6b91fa69faf28df7b5a0b91e2a7d5c2
+84df263912f1a29ecd193a2fdc5140dae9af1464 182e1cb54895f8ccca85ee6669c730163d78a63c
+2210e8510819a25d9cc15a590d80c69ed33e5a75 390e026bc0bae6bf5d3713495a9abe5460074e46
+c0eec53696afffa427e74d7bc3abe1f59d3b9281 09d120cba5d20585994c35cff4d1e8aa5026d00f
+f2fa0bb156c744015bc5b72a12ffcfbee7e29bb2 53fc89a765cef32d1edb602748717b28425990e3
+b2479c7fcb48e6e7ef69d8c69adb2032fef7e2c6 f51c60584f9cac2546dab5decdc48e0b8359dea1
+3cfd599cec76108d9230fa1d544c1c3260033249 cbd5fbffcf66328da67b6be1615587a018ff981b
+50432f63e34425f08e0071ce7eac664e90194467 2680e1cfecb52fde173985cb5fbb6a1f951f9ee0
+3f695d44b04843eeac0471199b304b403269938b 64f8bb3975fd7bca4abee6e9c50d22181fc1ad7e
+44156b29a531b622c0b7bb8b67a473b1463366c1 8a3ef98ed41e04e318d7adbb95c9d8ec4a70b688
+c3f00ae7b73bfee7c903b916ead8bea3ce42cfc5 0f2f0d1ee19a9cb357677e3b13e9240d32a04781
+e20fa2cc8f80bfa49b6ecbe1614bbfdcf920d367 769f49ab37d04b64a307a5f718b2785709ffb78e
+144154b03030b60987ac0f47acc4462cbd0a1b3a 13b400d0c6796e60b7b89385268a55fcc93bec9b
+816b43f283a7daa047208ef988154690b25bedbd b8fe2bd77d538a71e9eb4da26a0a3d7995807da9
+6df73abbfff89ce556fdc6927d784f723ad9d41f bf950039b286eb85ad4b3c0b9f5bb69952d07c58
+f906d55094c78abc00c6aaf332ce5887ab999f16 1ca21d14c04eeb29a605fc7bc1676aee921e8183
+5cf0960a8d163a2323ad08c6b31a2b893acd95f9 044906845c74c60b6709325723f5ba425d3e5383
+2fb68426dc0523f84a34600f64fe760d40bf772f e5d9ae88c9cdbab0e935e03ee6e77b18704b7dae
+56816e79c273c384eb47d82b64408f188330a102 1f9153bc8b89a796a3cdebc58b0ed1dd4fb33f31
+ee623a7d067d4f164cf40d7c8eff0f6c623515d3 b933d0f0c694432565d0be6b90a43e715cb3eac4
+991e63984a42ec9155187ad3a100e796ab3531d5 bb20d6c943c1f37bb8ebcdc37dd0a64968ebbc6c
+f3ec4700c6a3a93473b11ab4f6744069ef048aa7 f0f215200a4f492c3c3b9488ce1449282f8c0c82
+191ec27bc583c8c339e7fab3c7845a3717da41cf 06b3ce938c2f835b4b8cdab7fa0bb08efbe0a34e
+792f0d7057e8bf1b176809931d4dd51f30826ca2 3abf227456b9f17a5aeef3777fec8de8e8bef4f1
+aaffa0c5e372eee0dc7d96725772ec3f901e918b 3fb0d1e5e7e5c75d6efe0a6da35af1bbd666ffcc
+44bda0467175d5c1c4072b7706f57f74efaca24b f1429f465b0f2d876332dce984747205284f6885
+c4306c43a3efb3e3f10dfaa5d0e0e1ee7a32151b 959dbc32db38172defbc7e231a265d22670af277
+efcc38156c4575a4201c3c9709bf686066298de6 1c622c915d04566cf58af57650bf360ef38b0c3b
+ad50b41857a87018bd6d38115d5e7ce1225b8ddb 5d07bf8c5476d43a8e906167b34a971ff3c15e63
+bd16ff66c7e5377bb3dc054f8c870f5898eb1ecd 8016670774fa2b09fbb5cb08009ce6747fda6329
+ac642626ea8b8d74cc93682e85fa8c7f08adb29a 0b1da9f0b3fbf44494ec067e569ab72e977e3439
+4e1040e21499c22f3f86d26d597b700ecfb50527 c9dfea30a73084b15cb8071c2b4e8b9fd1189b83
+d52e4923399bdd68813e139e85daad3073edaad2 9a9372d49173652365dd24a707120019e87a5c98
+620a46b78270107444512ce61cc72a93825e4403 f802ff63d87277061aec5c577ee01f4f0f028310
+886f24d161e5ae73bd3253315941735becd7b0da 12f8b9718250d7806c14ddb77c1d2b75ac504a1d
+4d58d3a0d8b8543bffbdf56a7e71cb65a0e5557a bbde0a4afd71ae65ec3cc5a7f58891756d13aaee
+3fea42020cfe917dc42a96eb01d81a19389f8df9 5a9b1a5dbded9b4bfb53f9f60118cc0e111adb9f
+ba091f598dec89dd9a93ffc692ed3ab309523a0f 0f3cc6e94116c1ac9ef3a1d7a89935c3cb8f6561
+b9c3bc98b7e6eb0a0856eab69f157a2544a5a660 f6b1b3cd1f373210520b3fa092b9b98bd6514c6f
+943e8f7e1c082edcdd062fae3ce0a01145b51b58 4d75987dcd43f264f7d275a2a8f4815bb1838810
+73a6eab840e6c9411cfbb4116bf7e6a96d5e1af6 dd428d47117521cc6b6ea788e1cdd77930c2a7c5
+1f3549e813061a0fd77a45406f385a84e676c3a6 5b7f2b503a7aeb3a3bc92f6a39aa9296e4e9760b
+5aad89b4124c11c695f055312012c2a1f0bbc8f9 d7ffb198b74f1cb24c22f0f75fc99bc3024b59da
+e47d390f6dcce6a114ce9e4ec791d2d41850f664 f931bd9b5b519e63c1f158b93eebcae2d36ab4e3
+ec4191f2dd4d85ab6dfe35f95fb9668b1950cb80 05e7d87e6c8ed70f3258696128b18ef618ebb14e
+9076418a73cb3cb5c3d5a2222f95c343b1e47c70 c274d77785042d7df9a719ea9c449c6fc0d06e5d
+81e9688294374db89867c5dd3eda141383cf2bfd 4b2c6e9d9637d9420a10cf87438ff7276d61b2e0
+bc8ac580e407b9d714314f5eb8e66283fb39d1dc 2d0224ac9548b8e909f3ee5b98828686a6865484
+1db5a49cebb1686c7c616b2ac2dadde4ff7ac273 b66f7057ed7f205d7fb38ef7dbdd75eed6b152e3
+f48e7cc415017829aeab9f552fe8e66f55ed62f7 60abaabb839d8271a7a4490d62c6da177b103d3c
+8bf73bcc30ff76f7b7ad0db7a5189c343d2974a3 04c69b8e8f7ebaf804149be20ac86d7ad0d4dc4f
+2fa85bf556e78c9a0846740878de008e526eb28f 323f68cc2a82057a9ab79a6a05b85b52e13e2503
+c94fd07118c30b1a4bf84cc8490e727118ffc9c5 5e28110f0e666d3579fb7d7d2bec5f6e8c67ce12
+f59fb8a721b72cb29bd2872c07a4847be5e75e85 ca5eb1c30ac92d693b9eef4e4cd1a309f5ac9c26
+4f9f75afa75792c7034b384659ae3fb700ad0c9e 9fea2168f75f9146efa98cd3f618f1ef07621285
+0ef007f84b2895b156c87c86acd03e601f89d2a0 3e7ac6a750f3baaf74aee9e996610f1fb206271c
+ac23ba60903b9463c0eb867e07178c67620ba860 48048e02644899ac0a73f05c0ddfa62f84d51421
+cdc5aab756c488b2b9edf6de2bc1a074cd1406ec 2bccb6efca923cc942b6238d283ee1ceee5f6ae5
+b8d22f9839ce46a381d2360d63a058c921d9ae9a c9fa0287f03cdd3b4f21c983249d33a846c3a956
+35826603e21aa819b9bbceca79c005e85d8ca7f9 2466fd72fa2b6bec3da1be60b24e84b9a549fc4f
+44b2cf9c79dc919fa47fb57e6e1dfb389364a3c3 5d22dc0a8ad6ee2d17f6b02e3c79c8eabed8d93e
+b60e0326656f9c6cdd7aade2e881c5c1c335c420 cd2fdd63bcc8585c9095418f958da39d7feb79db
+3d50dc2d0947a64f0751a8f1d73f52cdeec7a82b 5445be6630f6af1caf10ce084d3a55b8c9e0784c
+9196ae7f9cc55ff1449acd0714bb844818f516f9 bdc3e4221d0bc21be8ff437de7c2441d94da8c67
+7d6dece296678c387110876826b372c548839154 4567adad19622ef9e340f5a1fb2d21fc46638873
+38829d15ae5acde638294f56f86ba4edd9220aff cbf639913d2755e365ff27c68bd3400492de65db
+54da3eedacc844708926331206f58bf450c121bd 83bc2d088edd04fc02568de68c0cdb8b07a0265a
+1b91bc0e4528bdf9a84c97ad9a3bde615360a307 5ad9d021d1684adcda75d1feff20bc61177a4cd7
+5f3f52267aef0623a9faa42db76919044b7feb40 4dabab142cb830bea8ee95d72d42f4a456ae99c6
+096b11aab5d67817a8147ac43e48d895203e5f5b 0573b5b0561ba2ea061545fd6796063933014f40
+3c1d420d21413c638affc3d8241bed1127a28427 0d97a64b811207b59e5142dfcc036995fa0cec6e
+0761b13622520982783df3d1ce53dcbac5dd43e2 b0e19bfa030bb0036037a58860c1b7b5e04747df
+0ef01166c9a3e612b714b4eb969993344b793aa1 8d26caa6a498da3b3fe19d10df71b9640dc6f520
+0e9aca0aa0e102292904644b99d6b9febc1c5170 b056550d982c42514f6b6172e1a1e68a9ed3c762
+dfddfb6acd5ac516e68c30eb3a211758b37ad5e6 0847830cf64a8289a104bf03474695c439719e8e
+0b2426d66f397792baf69a87470e24d78bd53063 9b4915d3f96cdfe78e51fe71021333fd7aae7702
+1f0d4d69a48c7f23a71bea9806939c13790192d5 2acb1f2c26a7e160db066d789e00d53e78528048
+dd969910eced10bb0b203c845b00c526119d871f c4ce0b064ff1af89888500c4d429f69699cacb30
+4e017904dffe8f244b2e92e44a771d70ce752aa0 26258757f20e88a2ac4ad1d706d8ab4057ee2c0d
+31f2072e38da8da16077e63d0ab09467a07f6a27 680e389df996735687f9751338ea4541a38a6060
+fa0ae22e3013ee57f9c0c3b86c4c2faff124847a 429e1489bea92918bc9b0ca7138ab836df21093e
+157e8a569254b55992643501ac2d7b2c1698c01f 45b61d59c6edac79e80b4a38024f334ceebcd75b
+2465218c0ce140b6378fb25326ed26db5994537e bd4aa6bc8f390c48fb0fd0a1f7c9c36000d7291b
+ae9865a2d1badfad2ebd4fc2c2fe589e1b954225 e4ac7a3a3a580e7fd444260945d3b84c4e6120d1
+b4231607d469c87f2069a0d3bedbb91c9ef67797 fa47ba0aabdb4d0e9aed17fd332fa99309007e04
+9e3cae6ee4f4d7cdcbfec337f4dfc5fb0bfdc671 5c1cd69c82af27db492eb178ada924e749a2f21d
+16d13c221481b16e2ebfa0e54947123f9b8c1ad6 2b3e6b7b4916047b43aa5dbb537492578197b8af
+6e1c03e024b23abd01e11f6f44fb540ad6240ef6 1224afc1c08943f9fc3687301d6ee2284c93f8cb
+9023a548f2ba1d5e73fd1ff7216b21376805e24c 5318f860e541afc915a5acd41fbdfc55940ea9d7
+b899bd275cce5aa6333cccc94772b14d139c834d e40b676c75c029e60ea5a831d89c19dd1b5c651a
+d40fcb4cdbd5c58738c17d21469ef9863917fa20 d81d6738d2e58a6bc32cc6731a76cf790a7a1ca6
+81ad8a6ca35722c0e8f3cde970f820c4ec2cd9b1 a937c19273ae5a01540c59712dd05ebd1919292c
+b3d1834e4705c998b64166514924d5b0a14b4ba8 230a37841cc8e7b3f2eb9131d2392f8d38c33369
+ec44cb636ec6d13748b8033187560a371b16e069 7ee894662a4efb45a134bc216d5428c61b2c1fb9
+bc6a6ab2ce5488647fe28312dc28b31ec719e253 7567b7d9529e1d71ca2666fb7933875919284aa7
+51e9b2047749daf32e133d48d0f9ac9270824ea3 9ecab4e802da66496e8b232858fc1dd007bcd6f2
+79ff0607bbe129bc6c8baf483cceb5e00f3c074e 7925bca0fa6449269a837554bdebfd742c8d88d0
+a01ff8ec0b49304588601046e62a5e23397e394e 15a654f5b3daba9843f537f6cbf904b0b79c40d2
+defe06a3c39b20a25c695fa00c30a23a6de10aec 17269506f1cb0d269a6720e276386b1e8641e3d9
+f9626e818c6be4804cd843fd2b9a6fb51837b838 0395b4d6db2d89c7350477eeb4b2ceb684d92814
+f7110f55f3434fbb91e7dfcfe36caa1eb4b2047a 0379f2ff54a5c0fd6c2e119c15cb31340f385deb
+3bc016eab11df78561dd24338ae065e457b02f40 f19c62c1ef8be3357c2d1509cc238eb854f508fe
+e845433cccb50a0d58c30935438aedcd36001e5e 9b0f9689f91ff1d3dd6239e5f572dee44c3bbffb
+6c13dc21c55f122a1cee074d74b73dbc19ef9d3f e73c1c7a2454b2a5137bbe1d612f1b123ace2d36
+51199a15743435e300894b00c308c7f2ee07ab1d 6bd0f2e3a033446241106e6c05600103584d9beb
+9c7578bf837318e751beed4d44424e38a4486f4a e8fc4139818440e26fd4d7de5ba00e27a81d03c8
+f0727fe1294a31f57bbdc73a8098c50fc4fd192b 6a3ef2259bac747e99783b9fff60350a22bfe328
+376d26c4db6b065ad8623d4e082e6520fb39064c 955139f970f903bb39aedae253976854e16e9da5
+00bca8c2c8a4e3ff63d1c8e07a6cd8c727e6eda3 7c8ae6e32b070ce49ac95d3bc5cf0c3bbacaea0a
+1396896450ca558097c1174833ad843c2fa81538 15c394c5e9ec6e9ab54e39920e59e02221d9c533
+d2d2651a86ee87f74dad4185d016c966c1379a2a 954dc1b7702ff245f8b4d778e46d3288efbae150
+e89bcf1c7150c9fdfaa838f82caee48b04c1d874 c027770da19fa49a2f9cffd70d2e1107400094a9
+123f55ce4e5cb553fcc144d80c1150cc84352b32 029cd879522c406fa2aae47a8a2d9739e6126443
+ae2e1752362a7bcb72f3ec846eff7bdd6cdca6b6 0ee6a17108d0ece910c8e9c685f0f3dcbb83d79c
+1df958655b21f2ca4e2f6f88df64c22f3cd1b0e9 d787020df40c244899fc7b0779e267b3a92b5a77
+9da7c8fb33baa7a7661271e7e7283483236041af bd6684584186867791cc17af02a26aa07fe6e154
+a3842358c0e435389b966ab458b269063f0b9f5b b9f235e5c05b85c52200413d63793475bef29211
+ebb6d86a3037c1192c03d91a3f85d0695d996eba 4796d016af2dcd9e179dcb3a256c427b24162b1e
+4bd4500130b79ecf0e26ea1ae97d0b5bd60c45ec b1135c1fb5b6dd4caa5110821c651cd1b7e8b573
+33dd25af2e160f4ddd56e0f01070ed0b506036b7 70eb44f324be0ad3877637d28749b92bb0e0a90a
+d658f08eae9d32443b8ba51e715c65e1e713a1b3 9d8e94fb1eb494020ce2e8de7fbed76ce63f8566
+b77b02a78f113e2f7068d92b969cbd3a109fdf49 2b1651d58bb7237b0ba664b6dbcc92af0ff52977
+c9dde54ebf14e768b0e77f7c36a9e0fb9d933b2e 5347481ce4e6d48788ee1be3e4d5f92b5fabb0d1
+a89c169b913cd0a896c9576691adca666dd43236 4706bf8281b06848a721c0e2c80e5b20a44df817
+2c60b77f0b48c6b0c22b7ab33d8023d8ac74c399 87ace25cb522085fe1a35da31245442fc3cf76bf
+9a49ee2493cfc34f4edfc473194938a0ce3823ec 9f301555a2dd973cde35cccdadacd1ca9ab47eac
+2a8fd7217d7e8ae71aae322395473e6e86336220 7dcb9e4e60e6daaf9ee165004af9419e54a1f270
+2f8eeade211f371214619164f38237fd923668b8 b8470a20bf5a857603b7c9f1501b13928d1bc355
+8b745e9c14115a8b49313a96dfaf59305d1e258e 02cf2d76103594dba5a46ad55d807b5b8d03a7ff
+c1912b757c828ac416c981305b618cceb5a98234 88b3973ec2eb9f2784882684ecd66a55fe85c28d
+07421c249efa21dc2b31da60a7d0994766a0ed5b 23527f65d5c92687becd4639b55b5432f9ceacdc
+9b7955fc7f4fb5a65743351a31ab6e9b51dee193 fd5e60a78e7e35b4cd8f3960dc93f4d9c6c2645d
+01eecb0b2ed9552a2c8066a182354371d9eb95c5 4e80867e9e82b891b9b9790e2da124fcdc8d36f2
+a14715827e91b120f0ddfb41253000063509628e 46df813ce4433596f97c0e7ae6bb583e3b607c24
+1d4c97fce5be9bc0a1c32a75792de0a95c37243a 43a192ccdc92b63d09960980b89a6600a293c3e1
+61da16de663b80757d5397588f76a2507df934c3 fb0d5bd161f4fba9e05bf422e30c56eda1a191c4
+4c62be7cb3dd4c697749b993745ba7579c6094ac 6f54b793125b96221d124dc2c74b1f20c8573677
+228f28c0d4dd0eeed33072bf663e1df071eac979 49ace9c3a122a9d3c8f9162c99c6abf06a12718d
+5ccf217f25137160518a1847e6c7baf5b539c9e4 59c1ccfc581c1f15e98403fc2df4ff4e52fd566d
+55a761363d02f14a96a54e3bd3a888a243254375 b3ca1edf978c9b54fb2f0371c3c6432e621a97ab
+cad0a16644d4b202fb79e031ead10adee8c852e0 ec7c0d00149f45812c7fcbb42bce7f93746d0310
+317443f4012db275674b7fb8e1c651bacfe0c3f7 f5da31366651af34d90fd52653b2c0cde42c9d09
+687d65e689cbe3536724dc87deacb345d4527cc7 840b94193ce80043d48b0041bd8bfedf9c0e4e03
+562d4ef84ed4bfab1076e9e80a0cd9d525c3fc6c a62737c4ffe36822fcdb26ef3dd84ae41e50d078
+2c1a95f697a4426481921f0239187ab473b9cd8e 73beca92d12f8e40bd5e1f23962c3b2cd57d8b35
+3129369da25eb9337fcb89860c48ee4d1b34a0eb 8d605da71dd46b4b2a9ce8d87d441de832600cc4
+0dc0621d74c47c3de29057f633bbef82673819b1 f071d18ccca5fe22ecfa7ba75e124c7f865d032f
+a22885eb091babec8c8caea4f1b4e4ae43810159 1d95e61f99ea381334c0e03384814a6ab308d9f7
+6169f9f4196e43b5727dd88c0a90e8444bbfddfc 0243c41392d8391b683d4d05296d33fc78d7a7d3
+2d3fada19748df28627034573570c5ada42d9d90 8f149b622b087c2e58c09e951ac9e2cd26d94b67
+f754a85a78f6854be3f3c1042841d999d505859e ab05aea76d1ef5ced914dcaf97963bf91b6e3e66
+184de612f245625cdbfe74c4aa6f0b6a1ca518ed 46e400d12d62203b8a3eae5815a412dda87cf712
+cdaa43477c8e65c5426036c8dff74222ba6cacd5 bc3a201dd8eac5736ef20d976bfe807255a9f418
+90420edee7deaf09d3a0d14db4351130014ee593 109a320f54894694b132333c34e35b3a4c2f6edf
+a0a369adac33d9e57e77f8feeed5047f520a2539 102bd9af096de0a81efbb797add328c6e9cc71ba
+020d5dea675f91fdad6391e65a25566f4b8d1260 bb62b55de9a5ffc768f1035d3471ab710f9062b3
+4a4e39db71b36e7eb0fbbf4a086b73d957b6dd7f 3619facc3d4f6fe79540acf17e8054125265e997
+889cce7fbf6f5117e37035d995c71b20498f5171 d9ac1e695a57bf50afceb1e9decd52b2c5b1ff34
+0fb50fa33d8ae876649bcb16a4534c479ebddbd1 3aea5a5cf822903e1a55eb50b9030779f08ea504
+fc0556cf910489d6c3a34256f8d8085842213f9b aac945168e3f4053f1b2c5b363f753179aa959e8
+8fa041cb2f441934405d62f74b73e123825f82b9 646adb7fa3465df03caf953c82b9298f54ea0271
+a1cf0d82e6b359bbf6275721089ce92540702dc3 813768d26d5c82e2e631e83ab65fea982eb0cbbf
+29cecd459a7118f59a843c06d4d0052bf259526b 9396ad94991ca02c4ce49e86bff22348aeca2d9f
+10ef72073e5a41d39a0607017cb47b2db719be29 f543884a6fa66e1e4556169dc099d74cf58154cd
+369f49712d83bab8fdd69b195346ee5b901b1f08 ee551be7f73a9333be33b56e15df050e3f9a0dd5
+3d206efd6604553a9779f2aaaa9f81ef7414c76e 817013ff709ed537063ec868170faf4c773cdc0a
+f0e76f1443f5d0db21254d2590c9ba070622f912 59b6a68b72292cb63f108dae7cbe0ddf2da73f6c
+c0d8e7dde21bcfa8c2d64f8f0d5658a009f8b5bf a8aca577522d6f532cd275fef43104a0476c6d2b
+d1e9333a6203aa8d8ecca6358edaf72e891c513c 2b1f879adc53031234925879a6b5e92fbd1cc00d
+1a72cc1397f6212843e9f4024c34b71384ccd20f eb66d412596a940b452ae2b591c981907a3073da
+6c0458f637b9e0b387f83396fab5e27a01689a39 308edd5c395f89849dafb680eb9f653889a06f69
+7428f2d2b4c627dedfc45e8db4148fc6816582d9 ed9cb814ba17357f533b5e8913de12490d3504e2
+1ed83044f23f90f5b8d006f5bf287fedadef01e3 9b8d6d2e667c7d9866c438cde3c533a977cde071
+0da96df3a9d56a46da5515a12618bd6ae21a4dd6 7391c665df5a3ce14451401ed53709adae50886f
+9cd5a894072b65cb681708f86bbc1509c0beb2fa 7c6fc9b9da2a528cb4aa76ce6d6e4902af3e9edd
+78cdc8aaf4c2056d7ff9e315f695ebee9c754011 00b3d0919376b4d709caec3a312ad447136f59af
+e7e44334b0bca9210cea5025b766ae2a0e346054 af94cb6cd04d716af64d97ff09569542edf36c13
+9215608fb6040c2d73e0f79e851a019d5f68e135 a21a00073b46e0106470c82e0080820ba221b162
+a4ddb804591d594aa35fc55afef394453ae377a9 75975654ee77c66443146f6daabcc90706d32110
+84be5363ddad1c37687605b711a879712a36ed50 fa6b19defad13463c7af0802c1fde62c4d6ac086
+d282b460b4d1b54721f51e778ecbb8a802fce7be b24afa113cab0d639a6abf867fc2476c5bdae8e2
+8ffa40c566df4952080129f20aea44abfe2f1ec0 b24afa113cab0d639a6abf867fc2476c5bdae8e2
+bdb6f6f26c4bbdccdd21cd5cb428434033d6de8f 5de3269b73f58908e531de1de41b07d2f2aae3c0
+a2019c2e9d98c15306b79d21332558863b5364d6 17f2e8f9b9446ebacf4c40de285f2c5016805197
+a97d13fa235b910797e86cc5e727d1af5eab5c67 d082750aa26a68493b29666532f3fcd1ea9e7116
+fad66b44e009f92284cf91a01f28b7015a233c98 eec3a903ac3f85da3032198ff9630ce3ff5a079d
+dfa44e114e323ba2efd1ba7963749623a659ab9f 8b83c409f63b6a1c54950646ad7f4865a61052e5
+69859df6edc6eff88721faede6ad9e247ee3676d 9159f569d1b6ed0ec09f99f0f8417dcc073e05db
+1f9f3552a4046fae0579a79014c3fcbfcf9ec047 4401928ab8847079f1314d376018d25441259357
+a98233df1aef0e35ef913b06bce1d7ace46b2727 4401928ab8847079f1314d376018d25441259357
+26f070b15c0e5e128093879b279c85f5977ef7f0 98eebfc1777c7a69732f4e8d82c353fd3ae0fcf2
+09c863ad3bb938151bf7e226d2495383bf5f2140 8ffa561fd85d9b965f7fd9e30d8a202fca5d4e3f
+28bfc5285ad2059d634b675b743a86c1c2130e9b c97ccf12db18d0f5d943e8afe59fd5bf0bbb619c
+5d27df607ca521039fdf55fa9c9c4f74b8b9f25e 4473980c858ec15a46426000988420d99af9e5e5
+a4c295364b2658f4c7bceda480ea6e6ab388b058 46ec6e73f79df794d056d1688f741c6efeb37609
+aad050716c2b86bfa34b6b6cc6c5f6c5ab5e60ae 3514a3d892c37a5e2724d50fbe7ffd73a921f43e
+11861572817988fd9ea724cdb59490c23bd95ab3 204ce681933175ef78dac50b32761d913b216e4b
+1050d4e809b6617ba6fc87f16ffbfe02d5ad4774 104042ecb1d2ca3060ed5c19139c1d1c77cea8b8
+3d01ab88080d7ad043dd2a1ae54bb5417bca2db6 d339641674028716e1d7e4723b75c4be9b8799f5
+b4efc1452dd6a05db3b2b5fa2a874fe704c097c4 7130ebf837806bca976ad14dd1a15f7615e80ae5
+adf04c8035243c013d0de4a0d7c080cf3033bef5 34e3a8678c5e699c43afe11b0ba57376f5cc6f72
+1eea85008843ff06d782bcf3ff86f5acbeb821c6 e156ab3fec7f6fb76ef277c4196b173b7a57df73
+b0a8d84c1a9ff25b007377881049e6e38008c275 e156ab3fec7f6fb76ef277c4196b173b7a57df73
+09c03ee4f562c37042b0f3b5b12c5069fd503008 2d24350ecf29a8cddd4cc9171dacd7c8e3a7672d
+84c217152cc830132d8eb0f02a633686f3813ee5 c72fcc0883abb0e5bdee16b7849861db91424a13
+58ebceb68c9b9a489b355034469b28b72bb585cd c72fcc0883abb0e5bdee16b7849861db91424a13
+97c1b2a0aeddf0a391bc186a9a2dc36ffd261333 b8fe646a90e26c64b6cc56d3c798af9424c357d5
+4d5360526510ec0bc6aa33bd25b4a552f8b8734c 00e25a99240a4a0a617f780eff2b88d4bcd3aae1
+45aebd001f3653f9e63868722ca5163ad264e5e8 ab46afee8aa9933b54ed6b4596e858cb90b1553d
+1313c8e770d880d38156d69f2b4352d779cae21a 46d41b15306714cf7ba6006ff62ebcf974a687f4
+f74b3456f35b7496ed1464f4465e8da7cc053357 36acfa9ef2d76bb2668fed3f1d986000c40542cf
+fa2d0eac91d6384f47364164f122e684593501e7 d6663ee38843c7a3b959d09d32db743fc6337eae
+292f9d40273ebcbdceeea78d2b14eaeebc804bb5 d4c1f127e441b3cd811c511d60d342728ba57564
+1d7c3317005d567887fd0a6f969a30df478e8466 7f84a857cabd064a7916b5a2c7ea32f7b92bec46
+68de53b7cc640ac84f3d216dcdac76fbeacb731f a1b645518a7337cc160f29b6d3db6d24f8e95129
+a25f958223ba1a933fb52033fdd3fa1cbbc89b3e 20fd7eb60872848e95da25690450ad7f5f5d958a
+1a7b746f2ac47c42affa3ca58a5359316228a6d3 3493355a9e27b50deb4b42149916efc8ebe57459
+39ba781d04341242f5cf332930a5af6671d41652 cf24da342b1b28459c8498a6312f072f8d42b1b1
+e4e0d62eb60356cb4a3ad88b0012e1ace444adc8 2571473979183679a9b9aecc82da06acc78bd027
+bbe8f7fd4a9b1968fd5a617a2aa7ce275c87f5b8 5a9ebe202a129f5dd26f2a6fe05b88cbf22cc991
+676af4ad3139eb31a6024518ecb6fd7ab56fdf0a bd9160548b5f8277a0ccdda94b1d563d215867ba
+a7045c117d05926b26e7f532c4885e02c670776a 85fdb1e5738c5789f72b093144d969abf9431494
+574ea1d8b4ada9c20ff1f9ae4950f18e4d27954d 5125c3eba443841cfc16ca38dbe3e6535697a577
+b749772d688edeb8365f44128a234f2d90c61c48 0706e4b443f71b3649cf58db1458f043d7eec789
+1160785487f772b63730959d7cdc2246f9da6ebf 10f878d2f3e627224d0bf5528696a4f9dcc761e8
+be4948bc49b552f8c9e2787ed88d361237d1f41f 6f7067c5968a1a87a0b88ce8a14b52368de3c0a9
+eaa56df572f8274716650508cc14e5ed81908223 dcc52a3e1487c6cf60d5b847e03459fffd097b0e
+21f79c84489dd6e2f072782572ee24b7c326885d 7e5c63c38e50fd325115c0314c93059d4d2c351c
+235893c184fb7a50f076fc1f74f7c6f34feaacb4 5931dc1a85d4a8e9be3328af1d8e5517b23ef2d8
+f0e8102f42227264096c18d7ab4d4aa1bcb19fb5 8fb45487b2ffdb60a34a07fcd729e24912562c34
+b9eccbdb2d8deae94fd6a4abf19d44aee5d74d35 31f3398c79570b984998ca1813656f5db32082fb
+150ace008c69a80fbebb3f0fd71e278a1264a1b8 c1fe9622b22e94ad1a9488725bea1223e5fdcd8b
+f8eb76702742ceac931ad51bbdfc941ee1144ad4 fbe25d5a8044bc878dc4a47d67764a6ce7bf577c
+54b94e1fe647a09dcbc81342de8d98489f9c49fd a0ca4c27fff4258186eab018def7983bbf09c1c0
+cae1b471f4bd7c1067f9d6ccd65ab852e935578a 5e4d37ef973f5b9a30471581f8a8c8cedd69c176
+102e5f104e10e03c418db2473722ab1a33d4e785 ff5eb3c0da88c41d0ad79e21128bed4e3c58041f
+5d4d643ab11cc8656693233c15a76934be866a99 dcfdf9782812e8d5a873132eee1b85b812330b89
+9dc826b1d2799ed4225d9647c7851a4895a239d9 c720206c6d8a977d39f1d1436c12ecb9691b1399
+cfba99724c0a58752c7318e9362cd6d94f747916 e068b3d672e6f797027c4e5cc377a36ddfcc4e02
+9a9fce9d3f3378750e088a03ade38c238006b6f7 614bfdb2f13c50d385c35fc947a76d8ab15bbca4
+470f7919158f878338ce4a26d596a790ed945506 8e51dbb8eca213b2839f1d48118c8a939ae97e74
+e1024d904640c9c19354e407107d1bc531ea9ddd 2cb698fd234559e5aa4c7b9421aa488284b2d15b
+38f6d9372ccb6801273d6ad73d4b5807a98def2c 7091ddefe7644e108f08e04a01d92c40537a902c
+f1cac2304dbc6d796c122ddb148987125b1405b0 a0901d6fc5289aa200e167d3d8bfe0e6a3612a45
+8d0d2dcb42f12a3da5e7650b2b15dbd9525abe61 87c8dde6a10416ccecd0447ee57693fe7232d6ab
+a8b364c492cd6cbfd64a9e81a659f92f026e7eb7 3bb19435258a5fd18815ae3edb650f77bb986e00
+3e462196cdda0c4ea36be07e2eb6da77b5f34d35 46bf05921f2c14996588d2a6b3678c9fb67bd120
+e1c5f7089f34e6716b7956611bb59da344ed58b7 a2746c77f9f98a3085d06db7f520f4a752a80a0f
+42887f640f15916cee09a8f7ff227d1db574b765 986f05c59c255fed4b2138783e292dd304339533
+97788563eeec53f1ac11e1da209150f9da3ef0cc 17fb69f06e0e4b74b15020b4073eb9426079105b
+89b6491fa4b3ee213a2285b1e4d67da454fd34a3 5bc94d6921b4c7de756ec0e9da1f6b6919083ae9
+fb1eb81125f76ac66cf4d643ac8908a80dd2f3e8 c9b3d179a3b37ad0bee4ed99c9861d0a4764d2bb
+b92b7d0dacfd154adcd8fe9474ed076bd9741e7f abd64be27147d5ab36b79263e9fa71d14815aa8c
+084039285897c50f0903a49434ded93cf02e2575 afd117653abc6888b654a359cac8a09671ca79f6
+c26ff1c14f0c0e9c13dfbed15c577533a5415c01 2042e5c302b4f63c5e118221255457d008d99f96
+7c666c31fff2772de5cb021b5a13dfa9897d77cd 80e36a4d619cfc4a7bcce50bc26292079d11a0e8
+96f081422e42b117604b0cba14801c3edb2530ba c6291f893129962f4e89343a1d8362792d45ccbd
+629f0094ac33b9f3e300a470a0c7ddcec0ca3813 68f636d6b4c0a82b03afc1ae741af12fb5f619ed
+40955d3dff0474b938bd76d4a305733202645ab5 56a3c1fb878593c4e15c95712d9e44aa6b43e5ce
+86d51316be10d04478dd5ba54718bbdeeef135c6 c9c64a72d1dd7f6801660556f0c1344e885bbe1a
+621f14ce07fa57eab16c3c2d7b880625e308b9ac f93f271f32e81fb122810f30e9e4d7254d111d22
+86ed22b8b87a3dcffdd69c4b375e0e92435376dc 479354b5b86928cecd19961111a4e69c4aacdc50
+b70aefcc724ab61b729e96f0118bf359a4d00e6d 9ec51d81fc8dbe79e490e3ed5da238e8c1ecbba7
+b3eba1e1214571ef4978d197fc125f25f915de62 7eb3fdff87dd950330cff22901a9c9a31c0479b5
+ac55c43af54cdb535717ef8bf14ac50857ee4c6c 5db6892f792fa107945e6e59bd9739ea0f2f6f32
+96983a4b5315862a8d639980bfaf1de6b9dec5df ac7ff0cc0f99f6e0a77fe690e82c1dd1150e39fb
+2fbe3d46a71a51e658b2435b873aa179d30fedca b95742971e3ecd385a5a6a706f68a1761bf29efd
+2a46c5688895a86f4594c54a68115d5c976261d7 24fd67406b66beba998a3081fab9a8339181fdc9
+9f60e77b8c96013cf92682a7ed28c398928cb501 135818ec9a7db27f6d8396f8f32880a56a38201c
+18c622e2e7f92d76ccded5142526fd360168ab6b 1edd2a6c87bb05e23acd43be8a0ccc1a6c382708
+fab7b3ebaffb41af502454c71d83f08d5a061a93 0df39eea0ab4b8a274e2abafb67164f65b98b323
+38ef70ae17d7c50389e15db3ef64181874e89632 732f3e715aaa83147502102c713cd585e69fa0ef
+93914135e4ed8b7fb0785235e177466994955e09 0b52d7a285f8665db72990a4a621a22eb77353ea
+f744a3a243501c9282ef11555f653d0997afa8cf c077b3c09745ab3203941f59391240cae9eea2df
+812b134125c1133cb19320a9111aaf05f751e688 abc970256bb84510cd37e4a3a5a337c1158d0823
+cdb8bca9dd3632040998857c7b6bf84e59ace097 ad47ec977d9d342b51e4680732d2ce9f7dc9f668
+687d5b7c57c8a70ba2d0abac8b004bb859828d11 0d437ff0a3ff39e983ca6e1ea07ffe226dd12fcd
+724a2f4b812456cc0a02373984a6f7e703ee2a6b be6be5d353da828f72cd8900a4fae683a8508106
+7903a60e0ca1251753f3a7db50aea71b0bd46fad 582c5dc863064ed7bc655dcf47a345bfa3fe221a
+4c2119ea3d253ed59e570f06c93012319147ad3d 2a8949952b4853128dff86631689d2f231892ed9
+fa3aada1750224f49ae5ad04dbdacda3a7e00bba f74cc1b56367b32a4f398a3e6afcfdfe98b0c5fe
+482b61bb3084f5ade6fd8c6dc2593ebd744cc7da d45d8af1701303642211f62921cc0ae0214d1349
+c6dd21a21a4db28721d03677e2dc6e84b7af7528 52cb9108e89988a9b361f8ee1895f0e352d27275
+0e93aea3a0205be8d3d68b96432ee7188ea02808 17d2274b1b8724cbce4e2a87afc51a156e589d21
+231d3e698232426de317ee89b7574de6217e1bf1 02b55dc75946613f8921ab235c2db54348f227bc
+dd53c33fabef65a64c94ccffd3246a435197cd2a 44cb42aa4a37de3cf8dfafc21825e13e0024f4f1
+05a3c9468d9180ab3cfee5fb8188193a64fa96da cefc4883b84956d2c4f15a4e0cb009c8cd3a273d
+b1540230d96d1b7ee25dd671586de9e1f5cf1273 d791068655ce9fc64ec017fcea27096ab42a1d55
+faf6be983eba514dce21bbc9b90e994550e6a9eb a6b7752b769203800d95d196b7f918faa94b8d67
+6f0e52ff4feb69d9413c2bf9a151f142062a9bab 06f446226bffdb3cf14628f7ac02836665688cdc
+722217edd3c670eab9dfdb2fa263ee9229a311d0 33e7ea5a0b0ae5bb3f4d7578fddf43daa80c69b4
+d4417336a33b30c06690e6defe21aa3e6374c371 3f0618e8cbdd7f7a62fd7a1ebd6c91591b3ee6c5
+e6c344578238a7e4ac223bc25b38bbd38f7db39e e1b48b83472b252a0179783a5309805528db416e
+2b216a4671fbb9a2cd920e1f1a141f8691fb2235 6cba4235af74857051ae63f93308dd5eed18e579
+9280a040de682ced152c432ec9a9628f74ecfcae 5dbb63549c15fa217d0d4e0d75dd736bce6bf4b5
+30d5dabacc5c1036af738e331e34e0015a7423f5 ab40bed1226744f1ae620857321363ed95e4d5b2
+f5c9565b69eff2c254bc53731a569bed27c9f815 62fba42709c9173d36accf04a58c716193d6f25b
+2e40ab253166f9cb2e8c780329b7b40f0f974e94 f1ec4f005c32c581eb2a42af30783c7dee272828
+5a202090a8356efc6177eb6701f0ba292ed0391e f4885816b89ab23247767a7019abe53bfd9aec5a
+1b1e1d46aa5b92081e08378ad725312291679400 1e044fb448739512a2d5cbc3e594159897553e1e
+bc00702bd34294fa30acec6cc5dd595e97fef9f2 12ded2c5c19b0b769faf9c5feff84f63273baf1d
+0df9fabbf14679d72acf4bc1394c5150e67a9d5a 1f98d5df6a12e5543c9f8fa77f0398749bd2c4d6
+eb1ed3ba6c3d02dc2150b42d080417dc0c7592dd 00dbd7b2dd57ed7ca75b172dd1bf01b5015cf969
+9076019f63366e02060ebbf49f8baddd4c58f124 fe339c029ff4b6331dc8fbfc9e2e3786d505bd85
+0e4e8e8f12d2e38ce9c6df53b8058cc2f0771769 6149801367c9a992e8c3c69ece32d3cc394c9733
+aa5c99cc2dfa9f5e497e90fce224fd49e0f8b5e0 da02ceaaa5756227522a86677b862b49d94d5d94
+1bd2c634e2a252e076839106745ed89179564a13 245ead0a31e894b1dab1e56611d01349ce752d61
+b545cda43ce8626927d106b7e4cba53edf9be2fe e09be0a716efa5b13f2aa114dfe7e72ea06dcf13
+491c658b772cd89668b9b2942fed8c501b258ef5 1df000df69127861cb8e05f13426492641683644
+c6be7976e10a27f1a0167fe91438d2fa0183de77 d28f7f15bc77949a1987cf28aaa7dab74e2f5769
+bd45b16ee5eaae8061e0f53b879d66dc707eff19 ce4ff200960c6637160df789301e57ebecfad6bb
+8f596a1973fb8d20de607ceba4c1e1b2564e9cfe 55be7a00f30e562e189a486dc02e85bd1b0d45c8
+6920fd2cd0400c88d6c49972bf120fed52547e28 cb17c35290c3b537a3ee6d7a9285a90f9109108a
+66d7943e8f15b9db6b712cc7d9120fe362bba9bf b8c552aab7d4f55d1ddacccc5cae9a108d407fef
+45066bcf3c3fb7991c32c356feaafa9c9342217e f91660e1581129116eea041687b6bc028ed9495e
+27a901415dc2f9e00ee83aea6d7279a516bc96ac 86bc8fbd9475d21f4b29512bc963130e1bb0caa9
+7d9ec5f58717ae072f7f6b844ea52f1f14793235 3d5f6d297906673f2855191e20599df7b032f362
+31bd9503bc3df818108b58706f0e790a8f9fc604 55e446ff231ca9315f111ef53ba53035c2618803
+6310252afafa1da98b44e4b4013a6121325e8157 fa5c560f5fd120e194d5e242f64959d1fcde893d
+f8ef473816401d69a92c91a2b1397316e8f0b4a9 4d9171a963ae44c12ebf7358c4775c2afe7f741f
+01436ffad84a86ac545855bd15e7125dca000f5b b3990fdda426c468bf6c6a96bca633dd5f6557e0
+45eb3d0392a57efc05ce328f18dcfd2838b7c4c8 2c52cd8580631ae56b090f6540b16cf9c4950ed8
+b6fb20c7eabba7f1e1577b8d3265b81dcfa038ec fcc155ccc821f159acae7252e06383407a7b3204
+9e763660b6f3b7e9f1effd0ce669b1d6a7af9b9b c79e0a5c5832845e15d0cc2cb9c9043a5b194ab8
+b3625596f07a18823e38421743454c746f75d3a9 5441c4b1c66bed3672a604ed8963ca10d8cc7920
+3d59569abb07326d7eb28fc6afc2b6dd88cdd874 c7d6d029ac2e48a41d8dc2305a5c4e3fc2b72e9b
+ff64d8af71f7f1d3ba07547a426c0a26cd8614ad 25da47b75b3c654f9c2919a864e38e0847b8d3d8
+3389918ed27264a1157e0b7dfa0aeff0ffcb3538 8f60cf96b2f225492ca7378d322e530fbb85dbf9
+312b9e06cac91c9638d056851062f6f105addd1f df2689e22b37aa3c859b7df932e86e5677d0cca1
+1cf158070ff48af9ce37459018a5e9dab72b8b3e e536ba04da9a2a0ca8f9bf76f340ffbcc3ec3d63
+f017e872c73b1ccd141b90e7f3d19b13817d79c4 ba417ec682fbaf84c19b92adf790b7b7662f0aa9
+2186a0bbf8d01c21db746e99d61771a4d9bb438d f679714f70850514d5b05498ec076cfa3e00bd0b
+4754b2b0afba119b278caece991a2bb2943a5780 1c45279a6f44128172fc3338ce6595f19c2c99a0
+9a9a45d1a866192115b66e8314fe557afc53d4ea fce0cb23161ed4dd1fa28968bb84ec14117a625e
+ebfb3db0f72931ead73bdfc9f1b172c1a1f67f48 42579166886528ec80d9e7cae65bc1025bf29ff0
+b3f64b876f9fb10764eb5fff4f54b93d73e9b2a5 3651e961af5bc477f3fbc2089181bc55fcf2e799
+9efaca8d36c9012456a991a2d1b1abc184869f75 4818dabf6645d61ab20f7fadd67a47d58b6f431d
+f68ebea04051071ad24dfca7bffae775ea6d5c20 954a302b718ef36ec5137029fb795f3bfdec854c
+ce9b75ed47106ecb4b169696c8f7622307bbb6c0 fa3311fc6c60afa5cb08cdc4a6e7cb13144b8233
+5add97e5b6cf5ee75ebcb970274a4b6ceae5c9b8 d83d6d4a1894b7e10b603cb26dc5bcbefb3702d6
+ea4b95381d8e29c2573ebddf57e129a78130a7b4 82b63fdd40a120726233827176c553346ffcb0bf
+1c27854bcd4b4aa8ababa56094fd81658a30fa89 42e30e1276405410d6546169b34e36410c0d0c8b
+50cb18c058c712b9fc2e0e3e72349a8feb21173d 5a475f3f5a3e02be1cc7402c022272982b955962
+812a01df217384d593b835f68870b48052761d28 102f41bed8ca49c7e5002635374e0a07fa2966b1
+bd9f4087f2e9a735aba9be9b557976334f68556f 9a8ba2deec70967684089ec5b7d9817e01e3708a
+2e7dce77aa839ac04db2d87edaa7fd1daef97ec0 ab28eaa1c78c8784112cc3b0bf12b7b8a10ca7be
+c6f1d572084812c70dce71cbd8a57ed5bf9eec36 603a13aa634ae170ee58bbabd2930ce755ccd587
+e1c8b3cdc105449c92d6f79d5afb6422299faadc 53823c6b4b1a1a848ba2856ea5e6da5edf941adb
+31450b2cf83c6c84368fac68e13776538a67e52c 33409a437e1255b872aa2dfdff0d6f66015be483
+6b577ae1478c6cdc4671ad354326d1303e1d323e bfdccba980b827ed594827b42ea9b3208610f444
+bd44ac2ad76659e8a9f99144d4bacf0218a1d07b 50e9a0cb5c738a5a720d1b08ee58f3d7789be724
+872eba58a5e5fe0311efcfd88e44f5a44bf8bac6 986dff71e775be43ea78a8401ea513c8353b108f
+3abef0b17d1bd486b22116eb3c4136576667b6dd 7f3ee83a2b13cd51a7609a52241be7b78369623f
+59516572cf9fa35e59166af4a47d99abbcde0f73 1ec74cce68095ca3af85ee53591a68839401b237
+545e2aaf374e3137121ea9e1fc6299541e1baa7c c7650e84297c5acb88e245f1fcb2c8b615e4052f
+63b28cc20988e55e0256f32a79bf597cdd418034 4c51a603fd494f928d433152fbc13ac62e625c6e
+4d74dde86bb724f68f0e95c8a7c35a981ec5e7b0 6d65e7064abde471f9aa395f1f354b1298a3c4fa
+ca955fa965eb0602519214552175e1782d7d431d bf0887521c814c760ab848136615b66f76140107
+853f88c41af918bbff1cf5f2bebf083b4d261724 d76044e248e4b8294a6bdb38b1048f83221b8c32
+fb7ba5f3c2c28f4887e1f5e61507d9d8ce7d51e5 e5ef98e5a9203873a879bf0264223e4c9361e9f0
+dad02ed84cad8a598d894762b550117410c68786 f0a8951f863ef8df5c72a075c3d1bd8a1b19d49c
+f9ca99d75986e17a2040b37f42f0d21c4ce2394a 6a249f50d9e05851dd103555f6655b5fbd7e3008
+b9261b9f67883455b59384b7fe17713dbeff291d 5d719b2e39a40e03db02b0211bb894e6399446c6
+ff742f036acb8c6ce20af4fd8fa56604de2ee618 4fcebc4d4bb7914ae6a8539ec3aca249969d2e1f
+0ee535883ed2d790b73daf96b05c006ab85c8494 54ab501819d8b71813c26cfa897dad92d05dd4cb
+097a68b6d073d90642cc4acd2308a1a7558666fd c04f7bf89b48a1bc94b2d000b63c19edfbb9b421
+97799effdea79d6e62ceda63f98bfbc450eb9590 dcd7607886d110c44603ab424c42105bd33f1c2e
+8ef4a204154adbf1b73ffbf4377c57fa35583abe 4cdd8fa56391ecb2576dd1065e3802bbd1a0d75a
+d56f10c2d9674019cd8592f4f9be92ecd5af88ff 9b445be1de24f33cc9843d1e30238f1e57a8cf20
+ef661cd14a5cb33f3ccef3154cb06038181b40ad 637c26761e38f66382b6e114fbf8fa643f9d015e
+997fe5f73dbbbff3d19f62dc2d13903dccc02bb7 635033acca5d8bab621f4b12a9a35166b3e8ba25
+b748a9dddf8a2bfbba3e89437baa212fa4595c20 4bf6045b4626f8ea571620b9558040ffe6d4fc07
+a59524cecb5c5bc36037006c92ae3c5398b3b5e6 f5d954f3ddd1f7e331ad5553864e78ff8be2a1fb
+414e93d711f4782620a4a2c326336624a0285a7f bab22b350dd4212d059b6b2571a94dded7781c28
+e69de65cfccc3498b24b0d503ff7937d61c2c6ea 9b4fb58f12cc8e1e57bc8a4ba1e47908413f581a
+ca65df81bf9ce4fdedba44f397825478c83f8ef4 cb13c5a6e94c490d8a850ead25d29910261e73fb
+77d7c0c7734b0fa7b1c55f3f3c293d0af03af333 10d78a40406882e541e73d92cc1f9d47532cb7c3
+2c05a054b4c6e22a902ad9c141bdc38208938a37 265d839d14b88a3e25610f7eb0c3091cc683d3de
+0cfdde280893169870eab2e036aa3588f4159a2b c1f4a3b90ebd8e1584b606eaf92b3ffc5d4b1e93
+0190ba0fa7b3b2e98cc5d88b3fe8f270e69911a5 411f1476e41dbef577dc341f569ebecf29c774e7
+5c09f7aa2d941d7132d7613afa870c74b5a58afd 2f9ce91af68999cfc7d78830067c76871db4b57b
+d9c832205b13f78ffac301f7d9bb12580455e16c 6c09e3aa68f3b8f8aa3d1a0b4e6f994ceb29b0aa
+e26764c4d94d6065621d2ba1b436613c3f40c197 bda5d4e501e8926ac6e61b22b2b16bebc2d52be4
+c48be1a6cad9b77280c2229dd9d0923b9e0a9ff8 96f20d358e3029eb18aefc3993e4f1085cb5841a
+1acf8a8211330b6ef7b65596a47a6366db4017e9 ee3fc4a74ad8749d76dcd38338ec1da827074290
+c88487e7c80b8665ed55ecee88a3b629271b5388 a69769c94c0f41cd665de889608b3d3ece8e1a7e
+298497c8090cfb95831ee698271fdefedb4d6400 53c21f0bebd325f8e74afc27517d969b18b69102
+36cf964d685657abaa148426670e9f82eb34a21f 0653d5d0558db2580836d25a9a0794d9fb1fad38
+f0c9ceaac4624caa32301f8a43e8df144eb6f3ce 47f90580172a59fdadfff0ad00352f8f13217751
+07321e545260891c0a662e4f4bd3b056de3cad89 df7c605368e256de06bc490078c8121a45479d65
+f8d035b265e2da4857bb698ebab34190f18b0347 1df8f2eaa44adcc3be232c1bc6e7f5c5c067df35
+a3b22b27d479e3efce01cbab57b86ad4623b551b 58c70d63434e6c4cf3126fad3acb790011feb661
+8f3fb9279ec5795a86cbc206092f705ee576b70c e5960bf0d45c4894f53ca35807a68b5105d122b3
+ba7b8b8056a7b3ac431f5a926fa7f4104609e0de 49fadbc44411f29d66ea8cdf84cdfdef2e6275aa
+109963a6ff3fb4e70ad7feb8439f878a32719539 7250b74b84e22b91e76452a1f632ad859e87ad6f
+00d23f39da095ef0424ab66c928e1bfc19472674 2ff637aa3f26f9fe3638003531b223e84d600f3c
+41474796aa13e5e0a90a2ffb299962552fb249ac 5ab82684ce1e46a7ab70e2a4d33156ef3b46d3a6
+030a7cf63c14e61db8fc0763f7c2e6d82a57c93c 6c4a64f9b232d5aab627bab46a076120cc195c2c
+387c0eccf3c9451c9ba76ffea40e9141d47c18ba 3f78cd75415c43c2d400ab382942c89917f5f333
+a1d28cc92544f73bff5f0eac1c24599674f78c7f c515ae7ce6fe632ddb9ad036ac3ad1e653786bdb
+43f77c6dbd1ebd9b19dcd72449d55fd5cbd9d94f b6c482c4c134950ab933d44494b59bbe1bac47ec
+bdaea20a0444a1a9887ab7f3f4b6823166f9292f 6da682ca193eaa87b9087a3f60ae67f8dfe3096e
+81000376f2ed4ecb5d7653b0ff8fdf4742947cc7 5501f02f5b0a3e5813d6fc1f595bec5f22d9d6fd
+262ec88d6536f2009583b51e5069e6168d6bc7d8 087b3f73d28ab1b88adb6265a8f977f01e07db0f
+fdf9ff26910bf08edd511833f39f17f814a60fe5 d54626a7ea1ac7025c18b5028c773d8d30869222
+7733ec4146a9c292916a24cef0564cfcb0bba2e1 5d2c1ddf8cd9942c191934421dbe0030131bd4fa
+fa583e7e2f38a9a3d9fadf1d60d6c04f9947d6f0 2aa15354604c0031685c144fade0fbe9f19d29af
+609b99e45cf50afe387a29579d36a5149ae78f6f 45d3bdf43b2244a830c91e7170d316229d1ed6e7
+309bc6de28daa05c2037682c3e48ddb96a8adf98 6fcaacbcbed4927217a73bb32aa36b794fbe34be
+5ba325249a01035098ccca622cc36cea5e8f379d 53771983b959f7ef2d5a425b1bb7822090aa14c4
+a75e76d7911b8c3846eb997832bdaec12f6bc002 d3e03e3961df492fb7dbe03e4fb1050cb1e76f90
+ca8276243a9ddd0d128d6e40902da1e04e11a27b 9eda5fa891c5b3675b6482f9ece071c30ec8fcf3
+450bb2969dad8caabc17bc594bdc2f2028fe5a68 2c4e24bfc7f709ad738c893720626f5b608ad3da
+4d472f5b9cb7cc6f92b0dc7e6dbc06f52391d0c7 8e894524c61b0bf6f88a402b6de8c9c471d38608
+b5595e01f33c221acfbde969718f0820fe611ced f109655aa58023a9c7c0270dab0ca28694442816
+28ec1c0845e6c4e10ac800ab74601387fd2736e7 62067958313b56b836711388b81d29903ee713ee
+fab22f697daa288951656140a482f61b8871eb4b dc7896338fa0572b169a8da64abef3acc2e0d1cb
+6d056df6de7203bb63467576db72ce3f0cc476dd b6633afe23147c2ae8b0b95bb0ba3003c5f254f6
+1062ed447e47744342ec4952b20690eec3244548 aa37d10b29a8053991d324b41a9d450fc26cf0c9
+a3b986db6820495a651f9b19142764b37462d192 081c7ec17d7005d71d7c35c70af9a01e59fbe7db
+4df7386329c85ca4a0e36625400359e229ec93e4 d3b5040927fc0f1c3e0d1ef96ab40e240d28d1f0
+6977bd2b0246db1be2091e79c40c23acbf3fb692 093dfc30901b98483b83ce990b6413a8af42ac1b
+7a44b6df04669cab8afd4df43d804aaf55310fb7 8b02c6654589529585011a9624e94b520cd40dae
+5702e17625e32d8fc29ac9ec401e9a0eb31c6d9c 8240fa0e20b7d88ea936fc225b4f3b5be82a10b2
+689789eed961c1c9a8e47bc3a67425ee4f2aea40 8240fa0e20b7d88ea936fc225b4f3b5be82a10b2
+73073e3be8b9c2325c5320bb9e50b0b8b177a2da 8240fa0e20b7d88ea936fc225b4f3b5be82a10b2
+da1ba27facf504e5aa7290a565f17b8c344479a4 8240fa0e20b7d88ea936fc225b4f3b5be82a10b2
+118592e78ec38974ea8ebd115fbf618abc20bd4a 3b1d37481d795745e91b6ff958c00387c8116ef5
+b4b4fc1359729c691cd19aac5ae1ccee1f1b7648 4f351c74cafd1358dd5cb33c610d3919bd2f6a92
+1c60a14fd541d00ee3fdf52f377f81d58fc88a5f fb1c6622f4db8de8378456569fefcaa0df00d9ea
+62a5cb4d6a905a670f22c3d4a2b42d8870e3a0e7 0724385b0d93eca96bf19651a5a40c1e9a74258f
+c80a1ae32a089fb74a1a0814f62e589dcee686df 3d55469932509106cdfb6a8fd6ce2ee3b9bc5c99
+0b2d4b08aa9f6aac286ac3de4c97fa2043eab5f6 11072d7e31f215ce508fcc27da846678684a8802
+ca6a395d0cdb5d84d78760bd6b41e0b6941fc856 6456c6e0163a87cc1cf32ce9815a743e579db9c4
+da8f5d1143391c9956476d9556c1a1f98964c37c 286f8cf120392b56e06c8635bdd32a4451219084
+63908b3aa338c12805f339709e3507f5857508e1 62a9d02e32d68a395a30a4fd70cdb4a6c58d6d06
+626919c99bc96dcd8013f9b8a1bf902b9b050f30 c2e041aeede031479eed3078f1623a3a00be859c
+39cdbedbb19bf6a83a68c779f0514e0556490ff8 9cd1392440487dbc30bbf07d5840f2f8d0353e70
+ac3ceacab4783f71a2aa846c28a88000e880a374 117fa96a91fb59905b498e20c1ceb6be3c2b3ad7
+19a0d99fe3850186f4fba8154ed2faa6d015e7ba 1c3865f14b1ed1c91148a4f8e8eec275bd6a05fd
+f0daf56a7ee7e847c96104b9dbabfc3d9f67a423 005bb7da6dab4d1439fb331381aa0c6ad9f7c4a0
+f9470048d0bc276a7398a0e6d5f7975d2547d15f be47bcecb3d838ccfd5cbb07aafe34a07f6272fa
+6b8015e921daab61ee81ecb32a2566ddd638de2c 676e67b4de3593f1331f4192f0288e2502632509
+0a6fc862fa0b75a72ba93cd9ec47dac643d8bd3e 5567799e95d1e67144cbf3a32695f287f2f5c80f
+228ad33096a79b69b29d81d1cdfcc4a24c279ac1 eca9c36e67b227ae137764ed3cc795b6cc7642ad
+f9f49343cce1dabeb6ed357e2951ecf51a0f358f a0149b73a64e731c3ec84b4cd61b27c4ccf01b07
+f8c602312c5c2cb9cdf28a4b07ac18d015c64867 405eee987c2fecf78ab0ed9d15c0a978466b96e8
+85db6e7cfe49f29c62f6bae1089dd660e00b40cc 55b56c4fc3ab602d8303c7c300d00d7a68962d29
+48e5582d8e49ba3efc797e8f0b5d69c9e5bbf9f6 b62defc647c142d6f86eaad57a612341c01b3dbb
+4945ff8a83a1ee1925cfae4123a8cb3627a4805a b936c6c0e00ece311e744ff4d76cd03a048b2c6c
+0426ba1e3747de3b1f8cf227f10411507b47b30b b936c6c0e00ece311e744ff4d76cd03a048b2c6c
+c7340745548e1e8a90e277f9735904741525b47f b936c6c0e00ece311e744ff4d76cd03a048b2c6c
+c405824047b008a882dd7cededba522e9979c199 77735f2844fc6915396b30a1b2c21104cd0cb662
+c93c414049d32e15b593e3f9185e7828e2be8c37 b2a62724f37e3a392d4fe4546b9b75a7b1ed5bd1
+eabf5c6e1bc6649e58b401c2f85d10fc55eb8503 7e074de4bbdd9488bc32da92cce8038a42b10dc2
+864d8db7079baa72d710f073f9e80870ba6f2aa0 0ad6edea4959b8d72599dd261d5fae392e19a75b
+6dac46ea35666e96724f2d029afa3f9840599c0e d96645844aecc1f40fe68902615198a7b164ed4e
+afa9990d87745184de4668dd6380158a1d8adf2b d96645844aecc1f40fe68902615198a7b164ed4e
+964d57519e046c1c290d914bafe1c4acb9f4b2a5 d96645844aecc1f40fe68902615198a7b164ed4e
+0a7145114c15c1baeb951141c14a0875c4f24fbd d96645844aecc1f40fe68902615198a7b164ed4e
+1629dcfc57dfcd44559b1d62d8576574391d5bee 92b58341bc389e1b11619df1c518ac628553c505
+42ee7cbdada800ec8fc2d8ea30a6855918f85bcb 46d7601e9212888c7cbcdf9d9eff28a31dd27cfe
+2f249c2778eb2158dc14d89657ab6b2babc79a78 407b3b1bd692e3976c27288433a953437462f629
+4167a8affe5ad29ab8efb74bdc151e6544264337 407b3b1bd692e3976c27288433a953437462f629
+0899b05dda77a65167b6ba90b9e7283b89b1416b 0b5e899c895314ae17d3bd3ca08f652d82d236a1
+4337aaa894f90eb3cf2126b6a31b097da7c47da7 0b5e899c895314ae17d3bd3ca08f652d82d236a1
+950265f485fa7c69d142cde107e6252a9bd5ee3f 16d6c0a25bfed41ba45a11763f0465f22a5346d5
+037e75e3482aca93a61a215209bbfe0afe222b73 debf1a09390458021d68519d80e5d6a12161df0d
+76c7b19ce0bc1624baebdf7032e17b328b5c6736 fe6d010f8a1d1f30a21b6902e3843aa38f30ab32
+69b622f97b0e81a91bd57ab9d07b9b27eb46fe7d 105032c1b13e4719fada483effb0775e1140c54c
+9d8923ddd3e2f189536277d19a671127258decc7 f9ff525e75b2965a3568ced36ab88e9b3f7f74d4
+bf78ba435ce3ee723df145ee0cee44a0cff76ddf 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+07dd36247dd70d0e96bbdbc3b9c13b00b5a2d3c2 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+1c2868b4ffa4191f28edf2edd3f80864bc51ab64 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+7a5d797c0c36fbaca172d364b975deff16adde81 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+98cc0a0a95f3cb793963afd7cae72b55645d8814 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+3303b5a0bd2166a461fbdd5bcfdbcae6343657b8 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+be09de9f01f43c784c900f25c241b8941a69bf6c 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+b335c00036ead4ba36ddc4fa64d58a888eeb3e25 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+76d790c391e3ec1628e9d44e49e751d50714aaa4 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+b2f9b351deef8e76832bf837df809b402f57d5d5 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+1a6f34c61e0c899c69db39d86b9e5eb4598cfab6 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+e48d022bb165daac1d36e4aab1068acf10848d29 0036c2a5e7c986612115aa7ede9a5e8b662bb4c7
+e783158d9d2da576d8523de5ee65b356d238e3ef e025fce9aa38047f22be5a98d42ae8d57bb55aaa
+3357583e0132b67734bbb1029134034d7fab23f9 e025fce9aa38047f22be5a98d42ae8d57bb55aaa
+8aca948271c668952ffc7646dd68a60957c2f5b9 34c1a4df47b1c1cb948241a41f5703eaec15aafd
+2b96299d8674caa3d8b9bd9319a92ff617372e3d 34c1a4df47b1c1cb948241a41f5703eaec15aafd
+e263ef18af9879ad1873becce0a33237849075ba 6a60ad3133461d041f74dd43633aa0f0be52fee5
+de677a8bb9c97476e37b4b9af9328dd299031571 6a60ad3133461d041f74dd43633aa0f0be52fee5
+71b92d6367e7297192750db38b0d6aca55358098 6a60ad3133461d041f74dd43633aa0f0be52fee5
+f94d2d2d311f7cf5aacd8236bac3bfa4b262954d 454d3727df48bf98d92e92c9daad8a12d98aad64
+83d2ec4d4a5e1accbe46632740b41fc2d756ec1c 052632758cca35c8845483cbaf60167a2cb3b644
+5eaaf91e0fcb1092236356f82256af179fb0ae3e a0c7cdc0572a2b64187b4db341d30383b240e3f7
+3923fa96c50f3a49d46a506d5b04fb587e077868 c924a917c38be3c0ee203a7e0a18e251b9f8fedc
+c817bbaa3ce8aa9dd0a25d5ae9c3fabbada072ab 414e8bd2c63f0fc7f3182bd94516d0c962a3fdc3
+8907a0d8ce3f8cced04fd0a3da48b72dc0c71666 de7fdde1d4d076b51f5d3f932cb9f3c1eedaa54b
+a4ff73c1d81d5f7e0de74b3b60c64bc1b3ebead3 5e8d9ab7982a33df9b6bb5a2cda987fced516365
+3a833a44c219f173d9ff03783ac6c74e07895e28 6306abbb43987dd631ddb14c367e1e93d659aac6
+31735a4315a4558d8de263b408b444934dcfa457 22f72e4037d7196566e776ca45b2a4851d8c748e
+8735981f7bcb631fb949ef33ab680a1db098a01d 9dcf94abe07cf5cb7fc83e3cb639ff98b6474ffe
+33d6bbceba2c71e9e666ac7260822e6c1c029756 b7b45be4af9c8c6cd59f47cc2f52ff9eef494125
+52025027ab9cdbcd7fce72e4f98bc3f634ca3060 f8284fbc6c9196acb1291a64e8664a8e3cb4509c
+e8a82ef50a3a4de6b1c3426ef15db945014edd6a 0030ffdf80e9372cd87175ed803f077b3777d01d
+14f7a0d6beb51269599b0129f1b034d877d761c0 155b4335f7f63074cdbd12544c10063a1255e0a6
+d1d8dd27592031efbe2c007aa056dab4cc0e193b 73b63950ba65aeddb65afdd418c39bf9325eec44
+bbb60593d2ee4a7bb742731cb3be82b3968e7947 2f85e4a019da3d0d0a8397dac4eb20a16ba99be9
+0069eeba1650af44c976d016c076cb817eb42750 139f58e4cc208b2bbda6b0062926ee9667ea078a
+b99d171cb49abbfb7bcca61d4ce7f117b27dde4f 315db93d01da3989b89c465f45d9368910ba90c8
+3021fc56e19651c1883c19f456af1baf9da84da8 355888ef0c2c5bafc03ab2dca0c87a9eb0491a0a
+99785a1ce0f5e413e4751c0206bc09f493d04252 b1bbe22ed2a0f8931bc4ff1626cf1a07db2755a4
+d120dcd874a9ac38df7408b76464722d53e1fa3d 45c4695a5aff5d02b6f2769c2ef97f1a1baad63a
+3368d8881456ed5195e0400dbf4b95e6aaf25361 7f3195b9aeabf440a8aeca8ec8bfa99809c50cf0
+b2bf3377fae17933b4265befe1e8396744f08dfa 7ce36f1fdf3fdca8868328cf9b0a5976bb03095f
+b11afda42397a75935b3683bfd44099c61578470 03657899b838ca9d4587e07413084c7840c4d134
+9dba20875ef723746ce8275b6c4493b062cf7791 e52cbc9d8238a8d6a63d8468087502db251c1033
+fc49f2ff97de11e412590bb260c7ed5eb4f482da d5703a6b1d0fd5c6735472df266bffcdd777d052
+e6d784386341a3ad4441b79f86bad46e97c9fe56 ffffee41d377aabd134c9fd0980eb7d180257f68
+70d7bea27fda5045c01be7da6c10932af43baf6a 3558c012e3bdccf9b1fa771ef90fbdabcb10f591
+339d8d851388fc528ea4e5ce5a810c695b1aeda4 b45eb7d086b61a48a0a0a24a040a44c300e942db
+01cef90d547095b16fe21f128e70a4b2a5987c71 4b9e21657e70a73f34353052c082e8fe4cac6adf
+91efacfda3df60cef8c341af0ad1560acb69bfbc 8a28054f6f0bb719614d8d7887fe57cb0b5b4211
+bdfe3648d5f9fec8d776780897bc0e2b5769202d 2b0254627d7299dab89bbce95323becfb84ecbcb
+9f4958b4b0540565ad347864e2353cfc7d4d275c 7ccd2e358430fdab1f2411768d8020578935b2d6
+bc329f2f2c92c8f8400ad87bcf9cb0bcf90b3e2e 12ab82d61d3b20c368e2f0823f382de0cee82182
+8cd8210529ed1d49d4ebd1602630362ddba78f46 3aeae7289c39537d5c3818df66147cf2eed0f95a
+38f0183dd263ba10d743c3725a33e03abf4493a4 4cff5e37d90c9694122652a2914d1445db22b029
+40148dc6abfde1d9a5b5467f3a0ad1292b722463 ba5f2d191db2997d1e1cd2652888e08c2a5dda09
+b99954dc5e2068e781d8c24f19aac05309b531c2 8a4465f81bd5ef461af8f5c9e5d093973bb2f01c
+7a7c764c87f001fc413b0bc5ba4883d21e2e602c f8061f06de849796d053444d7e99b46e3fd57392
+1243ce507aab0b51530d938af1e4f1426638b1fd edcbf42d409db83e6cfa664c13c7fc559ce19462
+7ef243bc61c0547d627a1e9376e77dc5af37d2e6 38531827b47a2b90e6df1bb62a96b5abe71d352a
+c4addfdcba81f04d822211ce9ae4ccac4a305444 c9c78cac9ec77a2fe118bd7cc945dd7e28737f6b
+e9e4e6a00dd76a15c90a2c4d0b56aadda92749e6 3aa537805f6792db911b97be04cc9f12d730f1fd
+6aa0c20937549615a391aef44f38a27fa6e6525f 1259ba68b4c5a377ae4f2a6f556968cbc76f0a40
+51424eeb13642b41d44f21beb83de21c86a32889 66e09b9f44671be55a77e9c0f33606afe755d1c3
+fddddb6c2c3a8e3fc457819965eb04fe8c4c6414 7651320fe595b78d942204d757953438b915ac98
+b9194f5f820a58c12b0925d044a36ec03a65e905 fdbc5bd2845aba5e49079a1c583f75f86dc7350e
+95cf53b9ce2c58544e844252bd6870971dcc7a9b a692a209f3875c5917e60d9df287ac97c7336e33
+fc72a58ff800dc5be2b1e9f31b46decae16f7bfb dae350e3872ab973f150984bcd91c04c42ed55c3
+d008b25eda2f1232bae24cfb8a45f51394cd090d 1b09bd23823f416fe4319e598454e9447fd0afc1
+9c74c03016eb4f7468eacaf93bc03b77739c7c82 50e6b0d48b84f0ea01f9f7cadda9e4a6c9f5b84d
+397c87a76ba37bbbb74c7b65a06bcdadd4b3847a 339f7960c50a4723fe95f23de4bd7bd69dfb988f
+024bbca29c648fd7261b467e26a024482af8c3e2 8c97bafd82e78b31ccf126b350aa07dd51a4079d
+ae6dccd91e019d003d4f738aa9b8a8287ae79660 917a3a281405d2952f63ecaf7c4603a4190449b4
+4f48b157604da2abc5a8f0d3bf56a2c75032b68a 8ab4b97895e3883cec0cdc08ac3a2f516571e016
+3f9f1fe5eae192c19f65617156a4359775a4ecd6 ef6a6663cc6b48cff14024404961c388926af332
+77343a9ca2bcc5b9af843c1d468cbb8a95e07adb 7dd60f82ff438c49f6c1bf0955348d6886600ad2
+9952ccb99c88ca4553e612c9bb8aa96ef4a9b512 168fe16215b76cfb2c593f1202d643806629507d
+1fa8ea5f0cf7fd4aa8b5588ec03623d6c8896037 ef020449639b5fae77d0e175ffc11135f9c690de
+465b207b153500bf378c7bb782949a0366e8da2e d057f8465a7f04eb24a9f703fd68ab7aba48a659
+b82a37cbf6b2ac5d7a0abdd18f1140352d36981d a24859536cd1eba1b42577b9da8b6cc144aa1efc
+f8ef1659403d5eed8ef4ef568ec08dc4ccf08e0e 8e5c9b94a64689434e0b14202a1ee7aadf00e5c5
+9a280006b120c6d509151d9af256abc550207ad1 57fe62a98eacfb70a9188cecd1fd67f71957a311
+7ba1cfe328339f5e282818a71773757727b0c26b de6260e6410a0cad4815e6e88fe2f93cadb9676b
+a75ee3f424f43ae0108123432070397ae1eed7bf bad0b541e1b24595c7c90e6933eaa62b01c91602
+221e84380b7262b896498496c6b7b19811beddaf 41d2d2d438f4d3da793982ceb8a6231a882b63c9
+d135047f1573dc7740840bbef0d59fb3f63ba6b1 4fcb275b62d58880bd02328d6a9a3f84b30402f8
+bc6e55bd45aad8781979e985de9ad10abf528285 48761f01b72127d1562f9123f8ec6e4d3d00e5a7
+7699f56555d1806b7dbb62380a7e2ebcbc909e2b 9181254db0bec07094a3d69856eaa66ca934398d
+43a1a30ae34c6bbdefe858d52c204fae2af4e4c2 50048cad535e828843e92346471ad66c8c048157
+0b45db36971a1747f1b099e93360719e21c6ec2a 9bd01acac8fe27d0b76ad613ab30c14a241139f2
+b3c41f8b968dac1793478409eba0e71a79e938bd f78d30e16527e53b507c482f68621100b4f7336d
+82a96b42b36c865dab938116b3dc1dbeeac344c6 d1b8f3b71a1130faab889c191c4d264c0dd9d846
+8a34796c2923c3b56dac1480026af29bf00f05e2 bd5774bdda550594d76f9c6a7759cfb7953227d2
+180369155ff8944e7d6c56e1e80ad4b780686c99 3890c61b7297fc246c0dc5c004bf72dc3f828670
+8b269d1c62ceb4a8fc655bd11759f5d27d119476 3b9069a95a3e36f47cc64ad3c03ab1022c409658
+9c3cf3d5e0faa8173fdbfd23b7f309307bc93764 8694a3951c13104e97128b49a326542a5816167f
+e4c126bb843b29ef0207cee72330beb904c5a4f7 71bc8f4ac68907694d29615a77d7a2ef0d512021
+5bd75e13350ab50814147da652423a918ee4a06b 4021b1e8e3db5809775ef08be8d92d50a4c0cca6
+259876136e154ea3f933c42e3be84b644ca3489f 8213f38b2d60d2af5060befe0870210cdfe3e9f2
+55d53a4e23bdb42866d04a16ac8298f4d391c40c 7ba50ef523e840829dbc4787624bd3fc4912e5df
+d4633aeca259e0a79f6ac3becdd0e4b197414a58 bd29dea66c6a6fed1cba6cb2c31e92c8fc1c6f36
+8cdc82b2ccca9361eb646616c52f126ff57bea03 35ac70075788675f2d4cd2416001979ed41dcc48
+b7ea7035ff8714d097b08748d4b53effd2a01c29 3b26733cfbaf84c39bdef7561885093a37e7db0a
+c864d40ebb860c0e2c92e3750213eb6486c35525 e096d9aae9cde059b7aced864c49776241a8dde2
+38e353cc6424c7c8c25e7fab70f1c406a8696a1d d20ec9f6d75ce24a0495381b497d8cfc019a512b
+5c586e6f4aefe1ede211e5335c7ff8d58c65d475 b61c2d806ab15599f1e83475bef82b33e4335f3e
+ea22dccd4a4c7aeef9a435e4b89b38384fb3da0d a7bb0cbde7eb00930e35bcdf293d1ccf5abdbce2
+7fa1a6c423c4baf74d276613521239f3c178de2b 2ffa7e8272e39ab225bafdb13ebef2a16a4a76a3
+9966f2119e7329dc9babe8c8400a7acca6375c9c 2aa8cfbfb2532161c7fd01975079797bdf719403
+18afe09d2a469ed233be1c9d812631761b834d93 b088cda439da58b446dcce466b0a822f536f72b9
+cac543060028972dabda6396e45e6650b6113635 b7865556bf8cf73a86cf0cf581583c508a6da993
+a9113ead38df308d3e996a856d306fb2f573fa16 a86afd61944e5392fd8a1bcaf56e00fbbc8cbb72
+9c4e98c7472c87f974dedd7e1f0b39d499b88ef7 017f8b03a846e9964c3fd92d04150836501f83fd
+fc8d9fb8f793a2064997d97dbc2344a224d38a08 c3628ea274c093ffb0262d8ccdf99d882cefc9a6
+d93b442f5cd6695776f49da72d99deb7a9c7b8dc 733d9342277ccc97edfb5719f42bc2a1e19700f7
+c27e014a93b8e29c8b72fc19a5bbae02419bbabc 478f9adb94d59045c152bd2fa8c59c3274994a39
+498bb893971cc793ba65cce1ea69cc6347870558 5cabcf2dcfb831bb031a3ff4a7de943220982801
+e6f61a8565282530e69b9b0bc49c7224bcbd07ee af9bff2f5a26e8ee901f45c3beb570815b7d940b
+8fa63455cb8ed1cb551db41b4cdd083c3955b458 edcb87c8b750ad1cdf399fd775ed1c052e801e51
+8db09db9c10550ca563ea548c9c371468f7e847c 82a61a0d7dc59189682744d7826f9ed36aa0a872
+017978cdbab2a640f95580f429e1865c03a484d9 ce83a9d746aba7a12d7ff1ebb34206cff7583c08
+4d75ba53b51a450d527856d814c31248ce0e3d14 86e316ca12e36b2e3784c905312d3931ac9f0f4a
+c2ea0b672416026a902540acdf5b8df27d7f05bd 5a94210050acacf510de66fa3677e2bfe82833bb
+720fb412df652d4f85beb29b42b98ff1031da46b 056305bbbb26e8e32f877ea28c4c1a366a8acdea
+08b3568db946845f3bdbc45a869f31dc7e4b753e 54c3412fd35f188cfc549b9e622aae8a724f50b7
+3407dd02723dfdc2b2482ca0514d2f27b51ad61f 92aeb7493bc6c3dafd33281d0fa9036bec0dff9e
+5ffe5c4b0b3ed2499ade3b20b43864ddaee7a816 76e6f8c789074b741bf637f00a7a5e5666a1f0bf
+3f4b879077e16cd3f45f76a1b499ba11698dab26 491b4109d28061b1a70709f8de58c59a80047a22
+7fe0fa96bf30e517312fd0063308b2114215349e 1036c0118ae27c4fcdf2e9d7680cab7644d7c399
+c91b97f1eac92015da47d1b1415347309f900818 172f19dd9e1ef24d3a4d70c9069a84b3df070450
+2773523f68dff2b312c5c0c353a1af09a01686ba 3719c91b18b9b3f77121a2165b15bcaa0bb84f44
+24feb328fa644d0ac108a64b9e25f550cd33fa55 8d19e8e0caf3efc2fbe7d7b3a8a603eec7c6f695
+8d350aea3934ae141ee104610ecaca2bcfc396a3 c1fe0fa79c0db599a2b37ea4a452c29d3a87affb
+739c3f14970cc127812e2477648b6c149a71eacd e25ddd7049518f61ea1cbbedd3950fc2567033ad
+c028441b935b35aee2b46faecce368ec871089b7 ec4ca1282de3ecb2ac7fd9d657b23a3614ffafd5
+f0986c5fab8398c4abe7ccdae03e3c9586273bda 49099ea21b4d0c993dc34a6e4c3e5f656970c3e2
+168f8831be14a767217f24db33aa9ab596d30697 c85406ea51f9673aa2e657aa82018e689f5430c8
+b4c9a37bb8c87ff451ac1da5d939ef2efb3745d6 a7340214191c164baa71fa0329a25b920fe0e3ab
+3a4122b1d4b19149087c885971286378d4c6369d 5fae847aa9f073b0bf030ac19ef2f3f0bd7df880
+620497bf6e76aac05678bcfd36cc002856199e83 85ef2e53a864dbdac71324e239c759c80ed01139
+7cd191541ab08859b8384e83a1ec7520ab3f3f91 e49d4711cc2e942a81843784022f774def813e6f
+8e38b59fa198c5b672484d1b8e21ec3dd288d821 3cbd4a7bb106cc9e6053c6b537f8fa7ce76fcbc3
+743c04eafea50a402ac9ff555b5b0f8c5cfb859e c284400d31f6209cae2ecdbeca88aa50fe602354
+ddac3d7b82ed1524720d56ae7215174cae4dbd60 e690f920493dd6e2ac7f896a51a4814df12d7cf3
+6aea0c564aec374e248e3f8ebf0323431389cfa7 caad448c4de2b15342517ece7644dda6ebd7ab99
+cd9978527bfb2a4b2d9c26709d415ac4ae8b29c6 075cc62d40ca67550771e0832da2d4dd0327b3f7
+4dcca3cf7c457f458568d6554a4e35e0d8a0171c 5e71b40ab471330e52c39ab7fc7ad7ed2d61ded5
+8da3bcff31f8bd9d7f43c4a01134d485e847e9ac e72443c132e6e21c80bda162586dd0333b532138
+c84a11473431540bfd87c81190715fe6da095aff 400978612d6c402d27d7aa2d8a33b15fe1e2ae86
+011ef9a08121c37ee97d696e4458988482e7a1ce 76a36b9175129ad00bed111b85d923ae584ee6c3
+eca70872411d087767b63dfcc57db6a56eafaa53 1af0f01c07c5dd0d9ae0ca3cd69d62795484cb57
+2174dcc9287ba3ba1913ce77548dc75d8faf8b5c 4b032077d6244d8fef53f2210fa067db8efef8eb
+d63636457ff009a5cb3e258be66d4c8474f51bf5 74eb07fc38197bd8e382f397e322965808f7fbe1
+b3545857aeb78330ae89ca3fa6fab66953bd946f 245c2bd655dc9698aef7dde77e4a756a8b10a301
+ca3f3843a20e5caa25bfd79ae11c01a020466bf5 02b8b2bedb6af7a94826910076448b170001d5e1
+1377d03b780429ee61c19ceb9b80e1c3102e9f1a bf1f32456741f0c3418cf410c27c50dfd89763a5
+8e938ae3e21abfc53f67a479cec9a325756b236a fd3b94009744c41b370140982128d88850323bc3
+9b03d67511ebf7aa195cebd69045302c7526ecdb 34be3977b7c8c4ee93b12e77eb809b646ab6fc90
+1b48d06c1a15dfc40c48c5e7e12ad0660219b3c2 93623f86caa7d8b3f013b53e91d468466fd37997
+0bd043fef8c29eaa2efe6bd62945fe8cb83a46ea 48ddf213740806b6ca24ad6e487062aad47f928b
+e5b2c0abfe00ea38e809f8506639fc18c0b54378 a7b5b764779325542efbc00bb4c2191d9ee9659a
+9064a4d596e451b0216e623433b5398ad80bac8d bd56beb10a268716557f9ca2845cad85575a3c65
+881358b531d3d1032c8bcca8d7036c64d2277e0d eb827dfeb9ef2898aeb19c4861623758205d1b4c
+55bfd20b7b137db6aa14ddac94a85c9bbb350b3d 6e9624f1feba7a66414f1434da689d1ddfcb9b3e
+4837252e2c983c8f91455377c8ba2f16d8553210 d8837ee4ef90518e9abb46877730bd985d638b72
+7728a3d30129ea9642ddd27631b173fd55bb96fc 8399a3632a562d4dd53d9161b711b2fb9e10cff4
+b6524f879d15ea7a4c04403f64cd8f5a8a612629 63e62d558f7e5e3a0fedeb4aa0c88b93ab6776ae
+a2b8705fd4fa05b23077d0ed89b4ee90d4bb2489 c2b67e1eb5edee285f5baea32b2921b2075dd246
+0244ada00a07a429c43b30e266b50d4ad689d3a0 0dda28b305e3292aaa132b9bb73f67b5c7fd362f
+de77cae5873cc817236e36ade13ccd718903a473 da1ec74ad86c04e7f94cb79bc04830aeb43705bd
+bc6aedc2daefb1c2c6d58bc0b31975b9fd9731ef 0401d61c186c268ecad32123e40452f2f8bdc34a
+56f9d130b595f3d6874fca15d20e37b3675ec1a8 6759181453a26ca66c348f53561b1301998277c4
+d5c1e2d7013ec8947a705598d644d47f143187ad 022c593d25052f6818892309443abee6650e11d4
+560834928bb7e34d36d3c03fe5f9c856ca62b251 96dd2f96b3e46bfedafd8cf5b13d8b6185b10dec
+d8200ad183a8bce66cfae411200c29bcc9b569ea 876c6a744088584cdccd84bcc0a9e8b9a3ddecd6
+87e1374bd826f917b305051a0197de2fcb9960e8 425b1eb5749499ea9c76d161a4d86e6dca659093
+04624a290171306795989c11758053807cf07fed d15cfdeb1d9c22794a0b2e839b52c64d8653cd04
+221ef6a8cdbe9243e5d59c7b19b6c31cab863fa0 8ea6a93b3a3263b8b71267660c5f0375d9dcd569
+c7e46db614748468e804d747f659d94b3cd619c6 bb5fd1232dddb30bb4b139031facbad52bfe8de8
+9f4684ab0f53ab4db263f892f3db36b65de67e7e d21657684515866c6eac15b4801605cc616ffd6f
+a27e10409664bb734313a5603d6fe4ea2404ffb4 9729b6908c30fe71a40cfb3fe67b26a6cf163c3f
+1b7a457388a75686458d6e0ecce96f070a2ffe22 5bd797ebeb6a21963ea73f838209330f2780c9fc
+88bb78d4172af21c2b36a7e1ff0363cd8ecb9233 ebf75566cc32b3cd220e1f5fb80876a079a44928
+466344b447dc7ad277ff81e65d2259e9f30bccf0 48f441bf1276473235fd18093138ee5edaf3fb9f
+5558091ab9b686dc4b3e36020bbf3581202ba53e 0b1f604d6cdebae30de0507e923df434eae16987
+99e67852f7b1474c5783683a402ed14deab2c87d 846b8170d3577951c78d1f8532f1bfe437f68b6b
+8148d0804d5dca5920a847815390a92f06868acb 3c1af7cfbbbbd67a7d3f0ea6c4a4f886ecf8fc91
+a276eadf0ede19bd924ca6ce031811daa4e4ab80 669f882769d9f35b56c167a8dfe32e7136d80cf3
+e927f611d27fd24e0fae1f6efa2041c521ec3d1e 6f36ef4119abc8c1478622a03e103a96db1dc463
+d7ee7c486a89d776379f6d9105c548d08b2e33ff e359fc0f8e6e7fe5eff93b7265399dfd233bf69b
+1a441f8d5282bfde25640dec9bed07695d42426b 8f6a2496332ea0b2565bcd2bda59b3d02988c8ee
+d45e627ae167da89de8f0d530fe441d90eed8702 d22642cb6d8f34e086f017e8beeef909fab819b0
+99c3875ac8fe6acbcb9573a9bf00a7f781bc035c 85e9fa15dbd764cad54af5d03da9cba437d82fb1
+eb04181edada76c91344b0df159f609e30d1aecd 5f6501de3b923e57a48ddabbaaa12fc305702fe0
+5f2f00b91cd87879aeb9e4f384081acc9aea0f0a 09a279fce8bb75d88003702b18fb52c08464cfed
+7642673c64809f94af5dcfe7986a8c5c1be7d91f 97ee46e346d85eb21a077a1032c8f5c3fb633487
+96e42336e250d0c3910b05444ebf423dee5dfcdb abe65b9af896f965020fc3eb5ad39d3891334397
+daef4e08600b24f63b3a70b6f49650adc38cd200 f06ce426ba632817cbdf68370e2576d86b17ee5b
+d5990bc98a41b0e7353472750f20a7b7b746bbc5 18b4ba86374ab698db6f7f2f9df657a03abfa099
+5ccc058cd9d76f13393c3c8a1670bd9991e9dd14 3015b1364118bbe56ec860a8a928e66f68e7c838
+efc4e9471843da2ae4c55986c2371a0fee77daac d68602dbe9c2e750cd4972140c9d24fd4393df15
+932ad19df5d6137b49821eaa800b3ca2ff7d9e77 c9f65982f492885750638db205b5c4492e719cde
+03c5a054587352327b7f25ce55424e1f72abf50d ef94a2b2410d13c0b669e370e93d54c99ba42736
+4d319d2747a7839d8083a28d7b31bfacc3ae5423 790a2ef9c5109d8bb5415872b3d89218aa5aebe2
+64c8341b0826cbdd535f9045ca43a2d0e8e18d38 feff0a5a6be1233318dc44b4d9d822ef4e11b92a
+c5f42cf597b066a89ac3201977787c1730036219 bfde1a38ab5da23b17ee1a18fe9dd943a4c9f170
+1ead8ee510dc7be6b97d75e27ff0d7228096b8aa 4abe7fce490bbbb5a6ee61d2fb3d4e9d00380482
+7c9d5b5a0e7c1dc0ec32ac0924f9a1b5887c0b90 01083b0519bc7113a890d4d8bdcf1bee3963e48c
+1a2878de687c6e607e4b6d590b754a84765fbfd4 ddf8c84a8f88ba421bf46ee4d86b6cf66df6586d
+52b39fbb468f93e81db1e492ab275916f424f162 a80dcda62062b62ad932dd2c82907f6b111a6b0f
+1934b845a6bea86deec2572db23f2264bc5eed23 97d5536ec67bc879c2627c45a48fb4d411bb29c5
+090da5785ce98ad9e3c2ff26baa8b9bab25318f7 699d24a487001a82b5d2a301814bc758e84da194
+d459ea6d9c1b03ccfed74d2ca793cc3533688d27 d764705b9f8da550bca619525b47f0b27fa6f7a6
+bb852f6edb83826221e2b1283f158a88218cd49e 9a446054e8e78dd50700f22c38dd6a064b4b2740
+62ae85a2bbb0cc10910c1c98eebb75884928b930 dd0778f8c11cb771d62347cf0b44423650f24af1
+06742b04cfef68254fe59bf87ec78fc07b6dfec0 99ee8027c0e74474da6967fe6b9ee11ddbb3d7df
+4c30dddae92ef6e0860e50e8bd867aeb2dd709ca 5c33924c980f6aa1660aadac55b59a2b38265cd6
+b0ccc761131d40c681c74556484e226c7c5a44dd e67932b1dc386a15aed03373de524f02653af10b
+7d2e42deef4c6214e63fe77ed8c9654934c603f8 4fff626a4db02b1c4f0f59f8bbb538600e5b72ce
+16c600b8993f8743f922d3c10d7826ca1e240d19 10d6c548fa24aca5c0fb9eef76807ab2a082a8e3
+4466f9ed8da2152304841b8bc13e03f5f2f5d2ba 563bb2a3e8ce0588bf58f09a78c93f3c8204c0c5
+610efc60057cb581ac604cfd8e789febd34f6c41 259bf80f301da0922af7b77e2bdb9bb68a450210
+6bd0e15da437f25883089215598d609ee6c2ec7d b962bfd275362499ced623332bb32f4df6623d35
+b7ff0e5e051961cb05256976791a343732d261c8 3b2c7b4d05200e513b637d3410b83aa1bdaac1fb
+0ef93d8208f063337533ba86f27c75de5eea655f ac25a328b57dd1b809b5e907861c506b8b3ca2e7
+e6cf22d8431814a22919ace8d0787b0019bf7a37 72fa38b3351f446a8aacc617dea5d4e5b7546f00
+0f245e0d2ab7832b3647c306e5441f82ad7e6d57 15bd40aa9a7cc9d50fa05e5ae86abd5f48cef0f3
+70f1962bda1c723739666b53f19e3dc7910d30ad 6707a75230f90a23531f1aaae0f49bfc0dae4ee5
+4990608f908e7712be3b1f04ceaefd6caee6b2d0 18bfc2667cf92a5bb61884208ffd0f336ee4ea20
+a7d928f62c3beef20fd1f30bf7b43509ec8134d7 84af2d92f2df5d345ffdd30fd2612ac9da72631c
+54566df501a3477870d2ec5da583e25d21b2fbe1 31694982ae3a8eba87910283382d355efd62ae46
+4cd44cad061b60e8cecb46b506a71f704d85bd5d e9094f1313ccd2f4220c8cc83d58f209f9078d69
+4336e7a5229596bd7079f4bb26e168141b99a5d7 d3698520d2f5d6729d4985428e75ad305c6365a8
+d4dcd6346e501c9b98024a0eb9e9cf390e3344a8 4388df854f6da43670d359c09a199c04c88da6f6
+df6940580ace329d4c4a627bcc9a5f97d0677231 d97db0c30be4b05a1f450149095e2921c6273393
+51149de8d2c113f99e717ce895e0a8a5990a887a bae3c6c981d422663bf6298eb4bd51de4c838e64
+4cf584988e55a3c32df8232d6226a06ea84f9ca8 34521b8512e73dd2d8aa7626dd1e896f381a5524
+4911485a09f88f3eb3d91d8e7442eafc727261a9 73338bd8b4111223f9a61b247f86592429297def
+d94ebfa0f6dcdb40d20cf9945ac032fe52541c3d 956b6da4a8a7a02c3950b3d288df193a4336aa22
+b146d8057b699cb6c8b17235c1e2e31459c0c91f 3416fef4e8adc7bbcf324fad6b89758cf74c1b55
+b85f5ccebe8d17fc6875d5d8471e8a5d783a6960 fa4a1dc1f6ff4aea0808db921b82befc26234437
+4ddddbfd985018f5bdc0fd70c929b1092fac81c3 ccc8db57e60a0da32f71b1f3c91dc023f3ffb969
+7f887cefd13fc7eaa3045a1570c25a9a53e54c17 c2efb1c92ea920c1ec0bcecfbeca08e8e126995b
+cf7bb4fd5f4eeea76ed9007855c31306882cce38 47e452a7e6cff45a3d3d3be42dd6c963de9026e2
+01e171fb40d7c1006a1d972e6e1be06b3a6b024d 04931d185b098b1239d54d318e14f040a234688c
+36be4596a2e076dfa32e40250145da70a8ba863b de690423e226b831f7574cb9f6b94233a1602f2f
+19682a688bde2851f5b660be7d3138f66d77e940 9018c8a03f9896a04c82382a27908060b678596b
+7db2b16b37e82aa91f9c01b535f4068c855b5895 6be441ab62a3f734c798f64c7446673470e7f64a
+c36756b00e169c1962e9b44976bc3328822caf03 9018c8a03f9896a04c82382a27908060b678596b
+fdac25f30b205461a4125d5a4f22a264a43f90c9 6be441ab62a3f734c798f64c7446673470e7f64a
+2a2cd2a4c3ad9ad0f6c6a2a0a9b65f3267d97593 d33a98e90ed6c1a7585ef01e000d4c0f5e6021d5
+f30f59dd672bc716260415d62afa1deb44deb0bf cd0805b20c1ca1cfad4c8961ab153ded14b4d6c2
+c77a021ff190e9306bdaa4f1aef20df2b2b956c2 830cc9f56d9877856d6814ed842f26a6f94fe816
+237c3d2df75a3acfb02947635e0269bb2ee47718 8dbfd23cde16681ef8db62fe5aa377b2e22584b2
+4fb0af2bc1a8f12cf87d8c2de9164171d05b76b2 59d66712fafb4dce5bd60e2c73227188c001fb10
+4c1ee3fec0ac1b03ee2f7cf0050dd5808272b9cf 2b24e63b946ea56a435766cd865537ab52119afe
+f9d4b920ed947ea724762c6359352786fa556125 cd0805b20c1ca1cfad4c8961ab153ded14b4d6c2
+b9c8e31d474b3c5704cd7baf24eaca836cf30593 920e12022ce403fad6d8e9f9bded5dfb9243b699
+da4efda12964ab95a3289bb5fd2b395c717c6181 aa2fb32f52077f83ea619ee7258315033c182971
+8876a8fa3a3dd47b424ab2044de2f76809745322 aa2fb32f52077f83ea619ee7258315033c182971
+25fde8e42b6a31968dd43285a584c860779f6a57 e94ce912630edc1d0ac5fdf7ab2173f56b446fb4
+91bcd8ace2118f4da7f07087d1d4a96b882c8979 91714d9e31beb3385e157ad3979e643cd52ba676
+1ca4ee31f62314822467d2fdccbf4ab8a2b73a19 afc933b6dee3205d7220fd0eb6e66d5350e6015f
+badab812afe92bd385ab0f7f2c0930a6a96a4ce6 8d079f3b7de8c32fc2718cc24b81f396a4e86c08
+065127d89a9c8e024d91646049c462772cd2a288 39c095378b375cca5b2f6b30a1f398c7ba47b84c
+e68b631e8d0c98c99c5ff16c9a7562b0e0875fcb be87f411827a19d4dbff1af2399590b607a8c153
+b7592d2d45bb29d29fe5f8ef3209d285236a25ab fd9e67ad6b6b61803ffbd792db2ba5c49d9bd810
+04570a037a0800b6cae30cdd5313c5d329d5d15a f3558ad46d04c808c60f925305026bb311e36a3e
+204f32eb8026e0d659002edd6af7ea9609d3f72d e94ce912630edc1d0ac5fdf7ab2173f56b446fb4
+673a6ff5a6b1dcbd9d3a69052a89f8fc88a48e92 e94ce912630edc1d0ac5fdf7ab2173f56b446fb4
+70cb66c781e910ec397df158c4696f043cfc6461 f3558ad46d04c808c60f925305026bb311e36a3e
+204ffdaf9d5e06723daafe2480e1e162d380691b f3558ad46d04c808c60f925305026bb311e36a3e
+cc4f1c2f579c34c0be977145c0f282674c707593 8f0bbf949cb6b5ec63c5ea250ff94a82d3a32a3b
+5d1608807c6f675b0c118ef60390d9ddf148f8a4 97af09fe65e715e97ed77ffa7a1a79e0a0bea4bd
+f73b34b6dc76b4bf9b670efb61efbea3567be88b 60c7c17c627a9ba02834b0fe39f64d429e4b59ac
+a7c58daf727c27f3cbf381f37e71222deb1269aa 2792ab2eb8bf26d6fbb563936c1f8761442fc7d0
+1c391b4dfb852340abb8f80066bc8a14de616806 833f593368c24ddc6717777eb8c89341869088c7
+fb247f321f81346a5be5350f3847330e05f0acbf 05cea5b51aca0e0bb8bed79cc014775a15859329
+c3e35f19b9e244fa52c34fe1894e086d43977e6f a8203d431d86e8c20c9324dfb35f2bd72e527745
+250eb52e6748f091821a1dfd0ab4a4924ec8d042 61eb883d75e386d4400f227ab35cfd0ab163cd18
+753da81961907362338f973f238f1457f9dba965 24c144cf9dfb25c3dd36891aa669176889090ce5
+376689df02de18f83667dc23095f5da9d5164f31 7c341f69102fef3328685dd1b8cb1a26e3045846
+0d5afa32cb65c4276430672560a2c66925b7b9c1 9b26854856bf56c6f5b29cb659b01abe035b362a
+accaf905adb19e4dadc4eda6becd9f05d354794e e7f80fed21b96e29dc57917ce15a1667b4e9ab6b
+526aa334438f7bac6db930b9d0061433d8de3027 22e3694c326dac68fd14d126b42994d471fe47ab
+2287655643bda632220bf3d84a7bcc98ac60b417 3393180c662a09ef28b3895b28412477c2dc0ea2
+6f35f5ca4ab28d1535489f3e457ec218b8d6f776 cb466ce042bbd4d7322aa10c5038efdfd6169b84
+3701042cda8ce6e6801657a26bf7ddd240632f84 da74fc0fe5498c4b8a6c188d61a804a121523985
+e4307aed0b5db156ed4992d342656e7ce51c2a82 3d9986a1b8ff1b02312aa560d1b324a91701ca28
+0bb4a556248332720e0074925f7c203152aeac03 9d4538386e6fd66b39db314fb94ee282a15ee1fe
+4aa96dc3be94c1978b930a9070553f52054ba819 8246c0d9205f8a26fdf688a39ad223069c660462
+35dfc89971564ba5fb4b17962d8ca7bdbcbef1d4 a4dfe4079f11142aedf418d07da7f3b5480ecd36
+9f4c9120a016cf6e0b9f0ee5c6b8b0773f35c35e 9384452696be9fd5286dcd7a35d5f1433787c8ab
+275b18069dbca3f528f3f2d41d83b04c3dc94b89 f39a4acd193d043b53ad20f7b19650a2ec84fb99
+c60f542d59f48a91e300f33251c7d22af10f1b98 4a880c334686ff440b9351ad5ddcd2abd38e58eb
+7fe4ecec140c479622854301ac6801d4a20734f8 dff56daa4ead1faa3621721dd83080bf48fdf24e
+e20811d9d4145710a2af05b148658624effb78e5 5c94a78386927deba232c495ad5b8764c96f7820
+c91a82c1a9c9bfbe0e4cc6551e9f0b8158fefd38 686cb273d40d74d243a5da0477f0b09d4cac7478
+5b0bdebfa79a99731a17044ac036a825b0bc89e6 f187a86ffe3bd5143ff70648ac02d9ddf41d1293
+28e4ad3dfa7e4ab8a3495f655686d312d1e8d45e 813c4ce2e33b877e87eb5da24dde91996474d772
+47dae52804ac93d1521e22bb3dccaa7897e44fbc b0616a04d99c90b7fd64117217980e4161c0aea3
+5cf9244159270c57b5af52b790817361a1dfcdc5 441a075a723dd5c013e3adf8db88c5d47395c282
+70b222cecb924bddab1225aaa32b7627b5d5c062 fca4dfeca6c1f66e15a5fd7135cafcef7b4588a4
+eb473d9ac67514425c3b2f4a2efff371a48b82a2 fca4dfeca6c1f66e15a5fd7135cafcef7b4588a4
+54e29fdee4f1446e4d3c0b369050f69d554f04e0 42146072cbb241b23c4a6979fb97a7387b12dce5
+9f54ff76ef66e11241a590a2299a2b84199c1ed5 08a01f8db1d40f4e8cf9065ffda70952606feb9c
+47f096742c63cd09d9e69af2c67c557e9b615bfe 5a425e5f83607c4a60347f5f294ed9fdc302ddf2
+24bcb377c3650d3a51889cc932a313740ec02530 46cb8584b5977ca09aa99fca3e2fe6c648d01ad9
+033e1bb29b86529371e1870e0480e44612e3f596 ce72384a6a04aecf95fc2af8c28d3ae9cb6c195d
+7bf96a04a9bb49fe63ee48601e609eef7b37bd71 8f5d658ea334534c8a752c9de625064eaf1f986a
+b6707ba716c7c7f9f4bd7c9356706ebc359568f2 a2dec615e77c9029ddc9b6a12859a32b24d89783
+36d0325ebf60d21bda5f81f2ba31a61c35bed28a 3420a6bb6f900ec2c5f0eead8474dc6c3c5f5b6d
+f27358b13170cf50a61318c752c60f933b01d8ae e908a6b3332793eaf3ac1ff1c23ae1e935068a61
+29a3db398306e85fc683e8d436ddcc6a9434b3d1 99c1f80ef2edc494db0bccbbadee46d93ce3f9d0
+8d880693faa9f6857489e7acdbfd5d90428cd9b1 ea0ff9d80296d257f2e3532ec533fc3ed76d16ad
+61e7fccec8a46b38561b0d4181a2afa317130f07 b330504fdbf38015ca6d494b1e719d4294f268b5
+dba88e899849c85dbd8147af53f42f9bd468e0e3 b48bcc49e993785adc85d6a68a23be61a8cc3a2d
+bbd04b06eb1aa6470cb213ef17d56f116cec0ca0 08e114e881786853c67af481523d109fe3e83349
+eab9a5b5615cd219e58edc544cbb34b38d08fcb9 9c82ceeb19e7101bfe286e9c3a29403772cb4c74
+4b2be6a6f88b871d0736342d4165e8ba8fd11c5d bfa40255006ee33b26e095137ced1f5990378f27
+4e2898e0cd0c7c9a13a596543390069481272af4 2439af8fa8ba66b26316512ce08a377907c1eee0
+d31427d5cc8a8ae0a968d8c8ab6320029521a042 bc729f738c5955ec6b96e87c5312b2a5e3ef3c08
+ec5fa866ad5933ee222c06f5d24c1e78ebb7cea6 0a2739277ac87ce104b650dcc3254f86dc809c22
+9493db8c1df603d5fc7a75188521e90ce96d5b2a eaa8301d24d3cae9e399aca64ff0a17cec3d958b
+16786628b0dc33fd9b5c0b16db7321dd367af462 a77ef5c0c14d74b1d325c419ec54fdb4eee2f307
+99fb6cf188526d8224af3ae1339c59a682457386 b89ce0f99578d5c2072040d03ea8a3b89b0da3cf
+e87ddefdaf31764fff77abcf8a5a812e79b9141a e89c722e32ad93d40081184ce7cc16ce433a1294
+8168f9c844886cec89622f6f1080c811d6ad35e8 a2a60bc1d61bf65654fd3bb2e75ef75a6b6cec8c
+b54eef4eff2d602a5716d333dd076b21e87f8943 84e8fc9cded9b382b7d40437e3f3279dfd611820
+95e699b4d00fac693898b36a8fd6ae09ddc30ced 907d14c78c5452f30c00fe68371ad371a14c87d7
+72917f1f76bcc17a23907513de7f8f2ee636a084 5b159c37de22b96fd3e221d90581b5682fc154e4
+790bfa26aa43273853f9f2167d946b53c7b5de4c f773390db8df4338053688f0a97faa735258798d
+a9004fb07651664839f1bda02d2f607ef401a853 60a0afaac5b7635b6db73da605553bd1fa709c3a
+240ae297a8d4c72e07cb96da15a0bf87987db38f e17ad5dd3698253765c5dc3588c21fc147fc10fe
+ac667b978839d482e55012c5ce8ff6670fbdb04b cfdebaa9af66c421e02aa9ea49bddbfc88ffabcf
+3aaabab76700c1f7cd3cf5266fed7aa5ff54493e 3c5c4d8aad9a7ed346b1f6847f97777c035a0a36
+ddc386908dc627376e2ee4a326b1e3992a95bd0e c823765d41692146e900016d53a8deed6bdc5067
+5b9368cfd33275a2c758cf08d61c23c7ee150ec8 6c332f0db63d78a3efdcd71f88fa3ab2a61c6d79
+719c426b16ac8d6bad3732412e01765379f7ed21 033e0d9768bada15e60e288b28f32d6cbb1401ac
+0dbcc48a48cc510c9b42c2e57d07cb75028a5c43 367bab80bacdba2a87ad9ee84fe1d547af072139
+0a8a6b47928c6e33d2f48fe83095d9bf2a6081ad 846a065fcda4b2e9c1861a9f922145d0e08cbfda
+7524b04b7a4ceb4601ddcb64f23b80cbb842fcdd 1913ed909152a8ec52a2b2b0f8033d4a06ebdbbf
+30cfc2472da3c0a0f409c0232c014e293ce47fb0 bf472c6406a3f6c43775bfeac1b690946c7db459
+5e2ee04a9dfbf49176def22c8406459aab1baaf6 cf96e403e4f04f70fba35fd73ce1a0f7ef121ac6
+7515c96f4b1cc40400368f292b90ad8d3856f9d6 b281dff7f06f779a1202616584960876fcc993e4
+e477ec92ee29d37f30f7fe40af98b88bc9ba5b0b 6719b1a502d63235e7e9814e824400e67f9ed1da
+c08540164798b46ea41b6fdb3788b907fc9937b0 8d237ba3e93ec2a6afa29d115892405a947d8c3e
+be961cdb97a3b0d2393a5a8dc87b21ab3bffbf67 a3d91a0fceefe3c4db448cab13ce0e65bad3bc4c
+3b463227d3f73717326cda98195575054fc361ea acea090e015655f62fdc4a618f8f8e6bc78ed3e8
+4943a38cd1daf989a212333990661aac68572f5b 3c865cd7505b4fc39bda5545ae99269fd631e623
+ffab310522ab9502f7e900b53ee5a52b7bdbac0c 019591b2fd37942457afefc5aad9311ce2cd6419
+0ab2c5dc8ca4887ffec0b69b8de603063e38812c 9536b9987e6bba769182c325826f7e381c6d891f
+b723e977ea254a8c4b16efd0a6dd27e007dd61aa 23fb6aab36961fd315202969f14581348f39288e
+a0c91201e1a75ec919e04b04f985be4adf0bf7bd e14e62e67d256fdc64ad3765b5cbd9c29b1ad20e
+0b552638f6280cda2ad715052d59bdd80213c98c 3c132dcd0cf1b2a8bb76701ded4524f4d89c62f5
+1a41db0fbedf63914e1c9947a25dd3e63aeca2ae ca481f4b2f159fe44e9d3b040a6a3d765a81e76b
+ff837b17b1ab4ffc2e4d2189baaa570470904ce0 d5feb88a2e6cfdc0f0c3c85084f081f07e2a0e10
+794c668a2a5bc421fcec17c4cd9c8c878c03db6f f0c4c1fa628467fea05bfac17ac8d99926c9158f
+b95afe51d368e32040a506679d4fa19b1339b3dd c114f7e294945c6c3510bf6743b52600b85aa1e3
+1a9391292e09fda3d261dffcfba04f46fe0e450d bbbd9e5af5d4f8c2f436c8cb11fefee12902ab40
+08cd8117f99ceeb570ced8ff9a400ac1ddb7fb71 eeb92295d3691cff3a63250fb4e01e031b73e9a7
+eae7adb219501f8c61a2152fafb154d0cac81b95 735a4363ba123cfa43488efe67772d0d4426c0f9
+06517f213049e2ee1353a90e8f2298a48ec61cf3 dc6055fb434288f79175f34a4d094899bdd57851
+bbfaec6b0748d967af862aa2a14c9faec0d90317 0796001055210119eabd7bc61b06059cf5bd111e
+0ce277d49e7514e32030f7dc452bb821058e4972 de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+393532563c674ba4c4034db77cf1def722f06058 b269f1ed86820149a3bc8c5430b7c77b618c9a0b
+05a377848be59375ec6713533371be979754b9c5 aa612590e8e615481e48e9d1f4c7a8213017ef97
+c59220fa926a1ba47a7904fc857d9d74ef1ae437 7265356585c96c94f6cab53fff4eaf45b7d4b510
+49a9d96267116e62272809a597304bf4ba94fa7b 1ab794aa78716a4507c0b8e36105e7286a3e27fa
+f8aa5ec4ffbd0a927b8e548306a6a4d13dc87fc5 9a4a8186727b1893114c972692d14e1a472a7d08
+dafc73a2be8f051060bdc40d90e716dac8512734 4534a3b3de6a3fd8e7b9ccb73bc3e3cf92a9d022
+8c63920051a18784948933c4e1945547a957342d de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+b05ccd948baf65b76b02c3b2a0e68b4b5a24e5e5 de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+8d8cebdfc7ef9d739003cf0eb50dc356d6bf594f de9d7430de4d600bf9ccc0c3bc06ee5539aacac8
+dd00f6fbe5d01d6f6823fd1266b6d73e005de8c6 4534a3b3de6a3fd8e7b9ccb73bc3e3cf92a9d022
+d3d932c3149ff6114c7a5ab1a9089d87004d22a6 f3845241e3560d87e3cd730dfd41115bb098246f
+39acf9b9e239a60ecb42cbeba9cd3db294215460 6c1576e97ff48fac85c8506584555e809a52d19f
+d101d961ed7548e0baaf75aaab8e8a1c5bfb0385 ca1198adb5ee25972e4f638e0c39d09c154cbf24
+2b694c3a813b078230025e86e370c373d4d7438f 415b28d7c6cb1e86ace78a6a66f5eb48e05bd83d
+84b2c2c60551bbdc5ce213b430e0fdeffd8f262d 362022dce67dc1f9af7b9d215477969dd0424a1f
+bc7cf69eee77a68206876d9cd03a77301c56623e 5634905236262ccbe3c807a6890e12e55cffdacf
+fb696bc0a6cf63a3de70f464d935622981b549fd a27447f6887a164cb7733f0eb849eea8621966d6
+351360e5864fe5003ed201be2d0b16b2e4f7cef9 53afe0e0e8421d7b984961cbc2713d98caa64bf0
+20b8411d79af315ada2b84f38b0a80fad5f9a6cd 43ad8b46897ae760b5be549b0e799dd306c8063a
+564061d5eebe9e29093dfa26807325320c746f6e 3853115c68efbaab0b1d37ffecc4d053ae53f2a4
+d60c09f2ce6f26ed8e2776c10dd4749e7e713b42 b330504fdbf38015ca6d494b1e719d4294f268b5
+a619cd61a77e3248ac1ec956088c7edb1c192502 43ad8b46897ae760b5be549b0e799dd306c8063a
+fa09f8fe5ed9ae1139b734a7a2356852dd82a30f 165b2fb76ed5fe6b9c3ab9303f93355f06c511a4
+55b5e459515dd773b5156924b9aa4e5e5c658224 c4877164323396f6f72f23fc8fe9a7f3d73f4a91
+fa41ad74509cbfaaca0cae06b129e8f43059d11a 3aec33f21ad900e8dc7fe30fcd1265ca10c416d4
+9ae470a5e33f37dc0e9a81b762868067e34af22e 3aec33f21ad900e8dc7fe30fcd1265ca10c416d4
+aab1144f6786ad81449ee4ebfd3cd79df9107eac 1f23624976add4911213a8f70496757e08478a04
+c86b591fac91199ccdab2626630969f16972c617 14d822f1b52762aea0e567b2624a1f491b13f9a4
+39567d898035b47b8ab5f55197de7b76a5d3b3df 8b9a3a61cdda66a06ae69ac23ed7c6b0b8c0293e
+f5ec9fe0bdd071c66036b0b1e60084b10d405716 0fb6805866145229622fdb43c63394f95f982070
+57678d29d6af693202a42bd318358abf7b729276 c9b839900b103d6104775d0a0ba3394c5453cc15
+320dbc0bcb7377b5f74cb01041ec0305dfe852d1 803d10c5f497df2e4a7462e4e1c611cb13da821d
+b7e3c9ca90f4f24d7fccd9871d728adb21acf6af d8a1033f3654ee27e3c4d37d05a22ef7c3641f19
+51c1a905ce9f8b9e9a2bfeea3e880105033e0993 ad3170182fa284e6d8820efae30387d5f3fe9209
+bde650778713b4b01752a2222879435b11a6b434 bee42ef9ad1f52dc0eca2de22967a3ba0cdac1f3
+34b8027b7e1c40053fd991ead3b5ca2c88cdd3d9 280940b08855c8eac1c7b26e8029cae6112aa5d7
+c9c3f003dcb18d96db7ceb16048322d328676be8 f475c6d63b947fabf066e761307477b5878b8732
+b579077ebc79fc4c33f5383f741e037436251359 2e21aa7049d4b2e1e8f21650738e72b1854098a5
+69a5ffa115dbdaf7d81013fd3d854b074e566fb7 bbb629d6a5ec445b8e7974717633044a6aef24ef
+c56932b660e239cdbc58d292b11637b0c0597eef ae91bd72c055c726d3eb67006ababba22d583955
+f24591dda876410791aecb4a9727de4b79d63c93 8138ac26e2a7a41f610486fcca3656396f668664
+3f759b5046374ae21cfced913b137b7afccf4c0c 239e448b4aee5a84167c9ce6f1b6d8ad7cb66542
+fdd1de51e9bbbde1cd57052481fdba3760055c49 02153d18bd37644498a803680904ee4b2416b10d
+99aa98e1bc9f984a69689ae1f43994cd019a4203 9642f4106a88a90b2adf9e54d720caab22179bbe
+bd1d5703a438d3ba8f192fed87cf950fb206b780 6d643da889074c013a86bfa67c9fd9b365da3e04
+dac539c1eba495c88a5f255e4874025bfd8df9ff b0bbdc5c6e29c93bf9df78996eb8e6808e0a2b41
+30da0483b391aea646280bd25dbc0e4218775cda 5b78f3a0909477fb2059636c331ee699c3499082
+5739126725af317acca8bd6ac6597510902866ef 5b78f3a0909477fb2059636c331ee699c3499082
+8c1db0428df1a232f6de489d73a082e042833fb7 1fa1725f8d7b2b6d1caa72854bacb31dbdfd0e81
+d0b85a2523b757bfa306750c0ce86876025f07da 4b8c718e86f395ff66f519b24eb708008e855f57
+a5c1997742877f0370645cfd2b06e0729331190f f6e0d071fdd2aaeca88cebb9cf5970b86cb24fbc
+5ae95749857954006fa02c5ec1e470ec4a3aeae4 707f0395f2765d38044a14409338f3cb0efcba65
+78fed7402f3bcc845baeb2cda853c5be76f42630 dcb0d54987e9ba5a2a0eb0f045c3e3bcbc7caded
+51a912bab2f6fdcab9ee7a6eb13c4473040a3fea f3558ad46d04c808c60f925305026bb311e36a3e
+5a2092bc0aa36cd19f030affee405fa374f009c4 dcb0d54987e9ba5a2a0eb0f045c3e3bcbc7caded
+aceb17ad08c7677ae5c8b4f9fbac83bf7228f57f 7eaadc7f598acc2a919ae5d7ac169471ad92719a
+29304e433a1756bec432ef18ee0893b0caf22687 2ac6aa7f9ac7aff7e85c0da480cfe06c78337b26
+d733946626d46f0fa30c84006f465c29f09e253f 1d8a01344428b03df74b2ecb2751147cbaf59284
+51dc3cf4a60bc36c707fec39577fc90be4f3a832 4d2d3a33f848f600eba189f97dc6e9863776f746
+9a62f53cf265717829c4f2f6cc0bf8a0d98f55a8 f1724a5976bdd4479c88e36dcd81664642dc2c2c
+831fdc41e2d3619454d45d3fb47316e6374d8653 99c00aca36253c85072fbc5b3a8368348336c2ea
+e5a27ae1420ef380d403e57cf4af424775683a5c 63e72ab211091095ba4fab47e5993d1c4e6e207a
+947d24b3b98205ff6d21e9448228ae2fd2211638 d0bcab748ef4123bb7ae38d33dad207f2b3cf1b2
+e2445ffa21da00dd7944b4aa63a088d3d8088536 0ff5533dc0b20a0808b9906a4dc160b3714332cd
+715bd72d67e1658c5cb98b9234e8e357113050be a14f27841af9dc9f7ea9d070c1b6815b10789b1a
+d4c3c4f25fc96a86e42eb28b56b9104e09a16620 ecb5b85aa8d17f31ce930300dbebd904a25b9969
+a3a2260da35e65b6cdecf07b3b5b09d9bcd1ec30 2daa0af612afd6a90bf4b691ec8819ae06ebcd0b
+067f65ff0d5fdbb40d8eecdd6e883891fbd0694c 998ef68ab57aa9e3cdea7d47c57670a31f4baa24
+7f4d0b757e78a49602dcf2b308b516ca26eb6ff1 a14f27841af9dc9f7ea9d070c1b6815b10789b1a
+d3816c19920cc92772cc26c3a72cc8e89f0b01c4 c4502914a115bc12a86b5c7b24a8575bbfe16fb9
+2e50cfc3df35c9dc6f19c65d0743dc2489ebdf23 03c4e3ba437a2180bc06dcd366bfaea50b5a621d
+78bddf5865a0f1cc46ecf8b6cdff7a90f36153e8 2278f0a98505d570bee9c8cce075d5525d54b3bf
+5ccf56a5c6773b7ff1e95a5d864dfcf1455af66a 1ee0235d3f273e314cf3329743cb75bc53a466b2
+930bef051fee6a46de8a6569002269ea9df29bc9 abb3b7c8edbb04a14d394a4e309bcbb1be3870b3
+acca5c22a6809fbec1b3f6d829b39a82552af9b4 e2154d2f8706bed950b65bc8090cf9db35686214
+3baa981830a1d73af064d64205e09fe9c6699008 c20bdd9ca432ad340c379ccd4a1abcc724f4d193
+8b0e15cef69bdc92a27c9093a9a79082bde2de67 a86713c23b4be97a01a2217945c32d4f4ede0a74
+fe572f89fa0820a55c21c4bb73a40e767b5f07e3 f8873effbd82db6a8ea9503dd0c0bef24fcb2534
+262f10830e23f6bf2048c359e09fcf43e3b5536c f344fc18919aa7d49f25392baf43fbaf54dc2f35
+3d25af7ad20115db4c5554f7b19f37651a047935 8dfa516133df67c8d6260c5a84b8a496edfd89af
+00656d51af83683545bcb189392541cad1dcf339 833843dad5072e8d6528a9e2c60a3f6a03f866ef
+9d272542dc48d5ccc85563437c88084ce41369f8 72e23c5ee6689be533453b8e7b19c7462f8297fa
+ce8b9c40a7a1bfd042ab23198d93d0ce57b8866d 7e7b378fd934b786993911c822515968a2448806
+fdae2a3ea6b609cf9d7be07c2cea3eaf681cda1c 03291996c3946755e4f694c5f5e70dcde62abcbb
+e594efb91714c1c6de01805fc9c0c386be2896cc 6820b8c3dcf04c033d5ba512c9197de22bcec6d2
+93ff0ea4d28bdd204618d2e19602f070d67f386d cf24567bdca8f43914e67337b5815b2bf5b3fe59
+758353a639da2f467e3a2fb06543d93676894fc1 e25ac0a71312a68a85e897d130f9578c75818d85
+45834fe2df466716c7c84a3c5db9cd0497ec0cde 93268e51857167eefb5b81da58813562f000195c
+5ea372be3a4cfd34540514d8c7e798b57e2edcbb 4575f0918778f5929a85199071186d84577a804d
+8908017029f5c46b4dc3c8517c798064444e3d1d 66644f5d6e69cba6b88a02dc50219b2997bae40c
+1a9452eae6fac6b8c933affacf5ef0ce3fb9bd84 1d6bcf6458e8cfb83274da85df9006b340a7bdf6
+dc58dd9b7de49aaba5ecffe976c26d0456eeb0ad 44b523ebed22c855a046d9d9e6b38963ee3fa1c7
+6813eaed9be29af0bba6b3077340b1ad8b45630a 0928f0f84a2aeb69107536e771b2cc53ea555094
+46d83d3e76aff60fb09d1a3125b8c3613e941557 ab2c425f330043b08ded73a89bbb45c88909e3ec
+2dbcbe0d46ec8c91fb58b1c3ab6a3a7fce5a1170 7957f4fc30c4cf80b3409ba5c108606ce36de3c3
+24dbba83ac10d5bcc083ff85af96b5453c3df9c2 1cf1b1022c28e432df51e0f03024a2d9a076b515
+dbed6bf6755460e45c79adcf55d3d56edf0a755a 996b4876876af93453554b9c018f18254aff078a
+f14dd1254e67fa58ef4f33af8a4db1c70b4dc6d8 da75aaab7e58420b13022e1fe47ba23176bb7e44
+377a88f7175355c53ce5cf4a97683668c8d7f26f 60553a4ae1558db2fc9692829adfdd51007c22fc
+3ba0782ceca26164fb9f6b0f56e8110ef23d78a8 5ecc087581478dde99ee07fd97a32ea568de4f9b
+04b0034a068b106c3db2a6005fe8597fe91e9537 cd8e2dc4eabb1ab2d0dd8e2ba6f13b5f0e863783
+4cf2e95c6afc7f1e959dad909d034a723cc9f7a4 130082e273405ba0cfb45e2c02e8312a672318b5
+bde9e2f951bf3e04dc5143ea78ce7aba8f079602 a0bb187a3fcb37462dca7e28aaeb925a23165711
+b1b290e5a6efd7cab728bb23fdeeeecb1c32c63a 79d9d69a4471fb76fd3a5b4349807b1def051676
+945fbdd9f9e09a75e667dd8143977cbd50af3997 6fe8502721a22d145eff304c250791a35ddbfea4
+512a6bae84fa6b10c28f9ad5e893af39075eb723 3fd44b2014af7b56d1cc971f06cf2f78e35d90b6
+dddb40b50424f617b354c614903a97a2fa2a5486 d5842b0651fb9d7f6a7e3f01e36ff842cc4f3207
+4ea884432736ac4eee4dadf0cde02dc6618a20a1 c8dcc7bcc7901f665787d138f48d5438877e23dd
+62e3f80cee9a768e6e746fdccbafd9413a81b58c 0f80fb4558dded6122a50ebbd201874642100c10
+ddacdffc78e181ff427d7a2e3411bfe1bff36fa5 e7aac148e616b4176f7c960ddd1d0f7fe648350b
+ff5c9cab88b6ac315df696d7469b25c7d75db8e6 e1aa725e0b8049c7927ffea6d3c04c841fd0d5e5
+a9cdef11395cf5e75f9f3a97d4708921f728c5fb 643f479b338f57c9e95fc37a910c4d50ce2ce5b9
+7bc3b59fdaf8a31631b9e6c2dd426fbde5ba3a35 5441e01bf5c99eea2f0a2191c2756c713384535b
+5fa26bebb41ee0a7a38a5368e4403ac20b4c2097 a3f781ebb91d93e7e7caec18724863ecd4732e74
+3f32fa2cc6580cdfbf9cb6c73b73438b2ce23158 f6c075ac203d50de2561104dc261d649c74c329d
+3e3758bd326ddff5f25db4d00349e3df98c4ea12 c5b229e9bdb325f2d6379123fa734f7d6f0953db
+2ef0d329d3c9de83e94737b24ffd9f3b991b1103 689802c8dfc51f617c28a629c0869c6fdcf5153a
+8c7dcb4528cfe476eef74ffc9a5266195a289d03 aba5aeed303e69a26a33cadd01c6a9531053d32e
+d1a9330ea34719e115478121bd37ab5fdcd28806 614a4b46aa650d8dd9b9f700614ae190cadae78a
+6e25f6692d0bdcb9e31a8ca24e7071c2ffbb5c48 f3375c0f5da3633cdc038af1285c3fcd5e1eff8b
+35dd747d12a3540cd0d9f2e4891e68d7836de40d 6b59f139ed9b78301dc7a2aa764032334732c9dc
+3369290531f711ec506ba2c073b50fcb8576dd24 cf7f1ab0be49e6af501425ce1772056645107ab1
+79ff11c95b5fa485ab9985be2bb78a40e9a544a6 3ca88949daa739630f9b7e8b053a6e88a4f2393a
+f1b659aa57dc5513b00cf1febb3c6a883cfd8724 7a61917fec505466c5aafbc14b6427a210f9b36c
+33095c9a12f44af3eea8dfffa445d97209a13d4c ee1863aff8d9bf231143618b505e295736c9f389
+113957091acdb3f23305d117ab459411a1c4ddfe 4f84e2d8b1947e1d22f295416f012dd05476bb36
+1bc514b6dba2d593f41bed30b893bac7f0f520d2 ae6c393937ef362940adc539890a20053499a05b
+49c62fb806050e585f43e097443a4d907607000d 97b531562e3988550c62a420f169d66aa0d388dc
+0664cf2c9edfd8d97235a97a60e2ae1e75659e3a 7b2ef2b5ebb160d2ec2a2c0c15ac7fe94d1da958
+9f0fc674c54483fb70f999b96f62b15b8f5b83b1 fe731752313c61d86fad845e39ef18b717dbd462
+88a46af9dc7a6ba24026b29bcb397f92b315ac75 e5bd6df07fca3a26542a51eb4ebcf44c155015cb
+0fb6c22b852928d58797bf38317d58416fe189c3 40e19d3f6cf367e189d5cffae3b51b87aad513ca
+654f3eb99d68422c0da5941205c417396f3f71e2 6c93ab95aeaf0ff0b6d6346a9aead9a586c53c59
+4aefba3fc4d3ef856f9bdd849279070765243551 da0b6fdaac02d4f14adbb157c5fe659e37ee593c
+bf27c3bcc9d681ee7d147255ce07e9cf257bf07b 15871ce8d24729d42e082737285938acba28879b
+82b7107d8e2f609b1569755a824d0d033b252c51 990ef725ab4a29d2635c772accfe837b90338b18
+d7dbc0685fefcc05994a177e6ad834f9bbc3f141 7be4d32d05aa7f5207d0854fee2b4c92219f9c23
+a9b7e3a12d24fef1c66a8c19cc59eb89c08e71b2 33ef52b11de4b3ba5bca6c42c147da5f8d39538f
+93519ef38ad03219085d2d54d76d40ae6cc72bb1 88e493c9498d49ddc0e1e3d6fed95af4f1247808
+88302fcb5523cfc25d37bb18bcb8b77a6c79b050 d9e31503f4e5a1f974447cea71f115bc116565f4
+cb0ea1c4eb96b7c3b268e562e97815a2d96d8b53 d7c634f3500b9bfa41a2031cff1b5abd1be81070
+8a6848d29d8ea646d6659685962c8aa6a86c1a6b a6b3a3368ca431627d3ab8f9c4b87a9d632e999e
+cc963bc1921142502da2e52aa8f930d7154ff8ed 046021561199835178f2829103110d2ee95426eb
+bc359a54c32d95b9e2ed8c64a156cc099595ef3a fc817d8d3fa995b9c6fd16a36bf54137aa77b5b9
+55d62b7c3851fa83f97c777965a9f6101e6bc1d8 a665eaf2954e88c17ce04c669dcd15675abb4894
+b698ae2a47064dab4b2c5ea941d2433312ac947f 95114c0344e0ace2dcda32a08c74cd3b25b945bf
+a9c5a48f5e403ecbf98bc67fdef2424bea29d8b2 f853201fa834c991ac674b2a295692827ac6f3b8
+27e846f7181e96900524dd3e3eeb3c0ac32d4686 3ce24554694880a2c13947d308663a9671b69f97
+7cb4caf7f8bb3e46af9dfeda9299f0911a638731 119c643a0c656e1a1752030e9c22835ab86a12b5
+81413b4ca8dd92fa073e7c22b0c137e911b7da78 2f6cb3b7f5cef46c4cb57adf5a59914c28b5be29
+48292f444bad59438300d37add3bbbf45319406c 6e94feedb41ba4b6df0817cf89fdba50c99573c2
+de4572f50b02cb84f336411f0b97815e34d69886 1af65d70c3216f9af00d5e719d22b9545a7a7988
+88919f703cd87cf0ad440b6db6bd662e1e7c15c4 0fb313e9421947eeadfc533ece80fa493b68a28d
+0d59441bdd83246ebacb643b8938b315e39760e5 8ee8736d3c1162623f6c3db3f4eda5b690a4e087
+6bb2b5b81a032058f3ddac6c6537d0ac89c9c6fa 8ee8736d3c1162623f6c3db3f4eda5b690a4e087
+62ba0909b486d61b3b04d9a236d4860c9d8215f1 6f36e36deb8908e775a02b30f798a1300af67228
+2a59ee75cd019cb1d4c7b08084a67ed29845d732 6f61663ca113598d051d3b5bf8e5112e75981d79
+163a591d1457eeb18ecde815e1348e57a0d43fd6 859ddfa79ac8adb3f00c945099037d3f9db2f78b
+83f64f5c6862d48d18cf791fcffb4317d8bbdb52 d985ff8ea831d5b3956fa86c692aac23c1f51443
+83ead968cff618b7b16b9b6cf79502040b6fe5bd 67cffc24420aa72ecf4a5855ac1e5aba3edb695d
+cc751697b487623d2981f1f1aa97b66453f26919 45b644f91a0c81d99abe161b06851310af9e9f23
+a3e8db21c136e9400e5ce693b3a8bb0c5912acb1 aecd921c270c26211a42eaa293507476f8298e5c
+26c099df624cf8f10cbf1aed86a44cda8821129c 3fc46eeb5ee77386d366e35b8a2d3e639484d8b3
+f6d88aecb0251fae8eceb57ee981acfaa6f7a161 b335d27a7896d1cdd1faf2b7309a21cd97b4018d
+336ae9ff834f4d35bbc4d04a0b8a0bc5f3ffe3e6 c937743aef8739140a2be83bb1284ff7090a6bb5
+3c045e7873e111f7dcd33790da3cd8a5a37018af c937743aef8739140a2be83bb1284ff7090a6bb5
+9cd8f9095d089cd9c6f8b98fa5eaaefcb96964ba 388e50c7070545da0bf39c6ffcfd5e1dc68a292b
+ad2d1317971d00315c201dcd7a6d9bb3a1960bce 7df9a16205fcceaa1a65d4abe94ae1b70b1dd4bc
+989fe840fcc198c6600ffceeb865e281d799cf78 aaf24e816229a1a1d83bdcfd3ffa163ccb7479c6
+e92e39a7a665d4786b8787effccd379e95b5602d 8c2a0daa05c87ef3b49484955820b115f05dc21f
+0501e92841e40129d60c9485c90d8a9223404be3 e58df12389d8aea5a37084b5acf49d8b766ccc95
+49c325241076ffad72047977ea5e49ab86ffd0af 19d0d020714242b8babc20df85b45d452656e491
+e9b46c19186a7f2dccb085c27314d79af0f016e3 216b5a191720d4b1cbb839942e80936f36be5040
+14ff91773eac5e19793dde077eb4e289fc2aa6e6 ee85f5d690747ab77d351c8c48db55f4e1ee8eb6
+bca4599147256ae675d9cab2c5ff7d689b9c62a9 c061a4274d6ee866813834e6c39f501e59aa8b64
+1aeba005ffd2280e75f37401c2740381d4bd5bc0 97b732b07a2cd6c975aa2e4825c952aca0171fae
+8477484d62c1f6eda86885e8cd0d3f867ad052fa 8e8f263cd89f7edb4630a5f73dee0b5fdff6fb71
+c91e724d4f155a6303cf32659a2e64ba1be16f83 8af0145f49f4e4bd9680228be27862f6c5ef2e9e
+ce787b5fb0c916921ac9dcad09d66c75e41d70d3 cc228bc4aa15ce88997028e12e520fb8a8f004f5
+31e1c2e83ee31227732ab849c56a27db42b4eeb2 438a288341e0273100f9455d650d90c5d2611379
+2d94da22ad3cb6acc5442c3de70be5e143bc66d3 6a478c659a8dec8f6bcf2ca5093cb175aca9a288
+9a9e00c5266a525e5d8e09afa62189ca2b68bb92 3aabc1aedbb8f74c8117602202bf907715ded3ab
+f0e6b6803604ddc12b025e5f9980311521fbcd21 863ea8595198617562d642c81db86fd064e40a11
+92a1f67a39664e6e7a9ba947f1bc594aa4da38fd f7ca10341b11c4e44d224a4f986a5836fd2a42a8
+fe36463644af4c12ec82ffc64c8fef45ca06f866 ceb69ae2b1e69a2badb10a0b6dd8829b9b049f78
+0a4d58dafb10c07103dde02d88a66f7926af8a31 64d0408f9bfaf7ac5521bff1f0fed57811bad159
+f73f1513196761c34400e9d1789dafb0ba1f7564 b3f89501a27d0b57c45d0822f2d1195d46718d0c
+1317457074c909c59853361e1df5a2300639c977 8314e1b16003905ec3203837597395743c5f4edb
+098e50d03f0175d126ea1c9235ca022ecd5ccaea 49d45abb03a609e71873de2d6da92c02e3f0e85c
+fe9ca55d67d9f03bfa04be76204db098ad578777 5094f5fc6e2e72cedaf0a1312ddc52e248497bf7
+b9b4f93c87e4d3beb4d683a70592f0137a142509 45b644f91a0c81d99abe161b06851310af9e9f23
+751dd378afc8d7bcca287a7186b43f420590469c 45b644f91a0c81d99abe161b06851310af9e9f23
+3895396fc72e819c5781deeffa0157434047062a 5094f5fc6e2e72cedaf0a1312ddc52e248497bf7
+aef354dace9e8d674f1763bde2296a1475e7daaa 0fa8ea1f3ba96171cbb7e6de4972f02b0a1901ca
+8cc422121bdd4e58f56c0dc21fa6e94ff65ed009 352301a2b8b2cf39c2e8dffa56ea2d3c2efe28d8
+dbb039d1e1a165d54c72dda51a55e148f3197e7f 325ed91f5fe3c3db9263f6eab130948ee9b84a86
+5a873451cfd6a3790ed1a3c24486106b2cdc140f 6be40c735b7103362b6b967bf2262f63bbf391df
+b10edd28077b3f4c6fd2f0e198ca03f2a1d618f7 42e08ac312014bb01e2aa3d891f7fe3cbf740f67
+edb53f3fc87b7ae51db808e168a47de3f3d6a6bb e66f1529638774c6506c174fb229e3986918d1a4
+bfb3a41711c79cc04ffc8eca6d8477a57e4640ee 28d8fb4be4477022ace3cec42f888bf6897afb1b
+a6992bfd57e5c20ae6aa499accc7856828d6ba9b 5094f5fc6e2e72cedaf0a1312ddc52e248497bf7
+8fed7bfe102ebd1f2ca48b7df21063f32fb50687 28d8fb4be4477022ace3cec42f888bf6897afb1b
+664fd5e447f7446225cb0637f89093535ac9ff4a 28d8fb4be4477022ace3cec42f888bf6897afb1b
+f2851ffbf8d3516f6e947b3b393493bdab90eb18 55fdcf7a6a9aa26480dca99b479dcd470216c581
+66d2398f260c0ca04ca4279f82079a23116fd5b9 a5fd5709759624fd5ce15425871e03179aaecd69
+b60e305d7c6c2faf869fda8d49e6762cc5f37795 4a15f23b409575b57a939ad0e30a9c17e63759b4
+7c5ca58d1b2fa9831b63f2d2296da7152b118558 fde9c4c0bcee8b0cb358f70ff52d01a27f87a304
+64af1191c7c02096c8775db7e141954786e2f110 2826a4bfbdfa340cadd3c64d580ba3a2dd8ead18
+5b4d00c1b05a3208120972c8813e88481a05bfcb 988fc9cf57649a13b1905913929bc79c3ee5a015
+38591a172019eb0d075329ffcb0677567a7db7f0 0cb308b39531fb702655139503357e2df7d9d24b
+229002c4415a08b4ce95532dc6679bb7eb3d7216 0cb308b39531fb702655139503357e2df7d9d24b
+42489c5a81536128188d79b499d784c7ebfaa45f 90aff8dc832972be45eb4539645c229ce3d51d59
+b89ba93568cea05f0d7194b8aab5e6dcbeae1741 90aff8dc832972be45eb4539645c229ce3d51d59
+03d8e2fcfb456d058a0a874a4b6f987a74a505ee a9b7c34f2b1461a308674444c23d48a2a8e666f1
+d6cc4b17f0ff36663827d334d52e3519e3da098a e92fe1b6a75495adf5ada2a8167afe9d6223619f
+eff4aa5e6347847396330640921d8800cc56307f 58d2e8952ce64f3cee9ec0a41e75a62341916155
+5077207d5aec4d8bdc9ee552b1ee02e56b31a529 225c32d7391b340bf70213790ed656654a0c8288
+97eae6ef262eb5ff65ea07482be6c1456ec96fe3 ffdc7f15bd89e8596646752f98e7124b641f5c62
+d89f6c6a625ad3b936daf367169965cf5e31a2fb d32606d50622150847509cf6cd96b017009a8680
+cb330fbf1fcc6baf55627f68ac95c93b02791909 a4e25b42bd14371ed74445dfcf12be733486c4ff
+50bb991c33a5d2a909dcbdd763d6e1da480e2cc3 24909bd9dbb8d259aa465cb851a0cef5a176c864
+a7695fe0f3c808770a6a0433f8e26ce6112aaacb 6ddd7e2e61e36e1a60d697512f5cf7568c26ceac
+4b3c945cd1d403a3db7441e6e4d3da1bf455e6da a030ebaf17cce9c9ffa32b05ee65f946b38006fc
+63fa8e1240fde5c7089506f594835b8c0a28db85 ebdd5a53425ddf0359eac872fe9ebcbbe0b4cedc
+b89c31c034935e7a5f105649db0847e6a83d8426 7967deeb3e6020ed5e08972fa23272461767ca8d
+3541479ed3852c601113a080307fa2561bfd46e0 75d7a13d297ccafecc473c6e42290c8fc544ae22
+3b4dd0d1eb5020fa3a78dfa0c1a33bc1389605bd a4075863569e9dae352fcffe93bcb5acc02ea0b1
+29925b0a5177cae629592e63e655608160f788ac df22d2402bb8b3d0f231929179120379a66805dc
+48cb1a6604c1679359f3066a91baec5b9fb6dee4 993e7657aa2cc51b47be8dddaaacba7284b6c4ce
+8f4e41d36924f350b0a94d49c069d4a40bc7a8a2 2422a70d9712190106330f83aa2fe966ecf68cf3
+a35906b57e4f5b888f71645c50938f7341d10d30 b1485e3eff784f83e75c17235abf9f30ae543b26
+6d2354f10e3c2fc2f73d279e4916d7a7b2e8a861 065f0772f1d6cf3554c172ba1de78a010aaa58e3
+798826377f71b46870e5dc9071b23be0cb0c946a bfd7379922a5e01efef477f77400515e009a1260
+a615567527dd9df41b3696e403ce3f7bb68f1580 d851d87b2045dfa17853edf299f42448e9319981
+911df12939f924563ae38b457fba0178a2c0c5f9 b574e46bd1b88e8649f0e1b47b796a6f216bd230
+e0fc722d125c0c556f8f8fd5dce614eca48cffda 87581d2b27294a6f6ee4c90f5153ac4f2e4caabe
+92aa851fb8cd271a84fdaac9319b47fac01a8b63 af60b62be9ba3939dc70c0cc45ff0f6dcf62c600
+9ecb50eda90c29e3c0a7c55d49fa5b3f856522fa 290419873eda4791d833b654961bd2e1b161eccd
+065fb0e3bf5a9b0fea52feb48012d67cbf3cdc1a 4ea5b195ab0b5ce43ee4bb3c26aff2b5dac3b8a4
+74eda0843025b78a171ce3deb2701829aa01a426 53fb9a9a253958003bb87e6ad80a04cca36753c2
+ada19421bcc77843eaffed65e9a73b6f411147b1 ef0aecb18d165417acef48144c15c067e0382496
+3c4fd7ff28fa5a39ee967dd87f358895a79ce960 b73557e27a7ec6f1a80e02bed67f189a0312b3c0
+e7f76f51f6056a8df4d60b7f7d455cfe91973a41 f4da108c371e3a06ca0e956c106087f673a9f19f
+0f9be4e851307f04e194cc950cef9f6e9af2a3f3 00f54a369a8383e4996f8d8310da2fe75553e433
+2e02fcb1ac32c8d710868464f327e4523c93f2e7 36228bd7b57ae1081478b8bd8e6b09a835d5f73b
+9bcfb6f3b4a9eb4ef7c16f0777221e4f07b9c77a 4397058aef50fc7be6e3361c12d2ef3aeb178c12
+6090b1da6b09babf1029fccdb57e9dfd02e573e7 bafc63d744fcf0c5881f6cbdb8e14b24e3d5dde5
+9a2f2e7135c18e476c929937e5fbd9cd3a070f84 cc656d9322357df79e68e6fead5f2d9c72210103
+c786047632fc834a6c6f2f5c283f8c15c0016fad 156f0870c66a7bfaa1717ae7ded5eaa2f9de0de4
+94410bf6ac44ba2b651a19d9f2fd29f863dc03f5 e2affe299653cdd32f8b7249d1d269bbd4685917
+88921b054fb8a65b2b6e7f7f3a07d49051e0d495 e8488bba59ba02124c405fbad6b3749ebdbe4202
+654f51f42810e60aa7b2d35f571e7d91e8fcc859 82d407d5b51516c361605e61c83f10fc00fdfd32
+26f27da10fede54022854fc212adf6ba8c4418fd 12f762faae403be98306dbafb8fbd24a9ee98deb
+92b7880aec4787ca1ae4e7f91e28aef9d3b7e2de 74e65f2c1f5d0414ecd693c7b4b2f2f23637764c
+bf1b23b0a54b869a8360caba8f9dff8a03fd37b1 1251b4484de48ddd47180d6aab01446d311ed2a5
+a4e441a2edace41ec91e22653c13a792eb3b6d6d f765e901c1f9913fd83e170ca3c29d316de72233
+0ad90422015004b7e99ca2759c5680510478851b 0ccabe32c3dc7016447eb08160b00e0db111c1ac
+4ae0f2153847c758d448f9b87dccb2dea412816d 1612d443de32e6dfa133663ed33deb6f4a1f0fb1
+199ae151e53f5a84964bbf9ae94601dcf082b7ee 1ce5201c9ca0022cfde674c52f26727d323daec3
+f6b61728a924da2369d13928f16358c45105c841 30de6c966e15c5124ccaca3cfe276e441eb509af
+764e10a37d8524ebdc6c7c9e40f583c60802fcb4 4445f748b802b3a660528a7daf9dc51bba73732d
+241025e6b87e008e5cd0951795ae55df200bdfe6 f5d5f7cc5a2b36c02a489618065a2497b3af4310
+86d76054cd7443dea1396b0c14c5941241846906 c2839e1cb892f75b09fff3652e17fb1c4fbdf24f
+5406b87890ef209a6f3b43cc551d8db57f9162d7 e5af61043023031c5de5326cf89195994669511f
+074d849f2a5cf6c9b1891ce0999dc3a3327eb1b9 f5e06009080f296278aa2233284ffa3442135d0e
+62845e8889cedc7e80ad1b41a3e6d8776415025b c6fffa76c3f74a0a9013a764ae1f1297a72a839a
+4dbb61c5a9268ff8521057614f112ffcc124dca5 8e3273da67bc50a29ff054eea2d90aee702611e1
+dd2f532e0e29e6cbe22ad5e37efe2c884d182330 1e6461a5e0d2ad65d4408cfa0d422c98abadd1fb
+30c4e1d4455b4ec86db26d229e4874800e9312ca 3d3cccb4c339f069bcde7a61dc66f36e750dd6ca
+f22286b489437b192405db2e9a3e380d42537483 691f9782fe4fc9f9cf983cce2caa9c0751336060
+d3b34e75947837086ad5b783b7b38adb0935194c 7523d48a57f4d4c5673a32207a66db40a1fc510f
+bc5e95e85023d04b082fe433f535aad7c608e48b 17db2fa0b6e6fe8fb9031bc04ccfedad86dd34aa
+992c2418b9009695af58e86458322d67cf47f881 18fe4bded3a7ec2ede5e077dc54dede8303801c0
+b1c24104075189421a5db3213d2678bee5fe9921 70a473734897576361f0e9d72807bf8657550e59
+c33184ed6207ab24dc26d36cfde34f414e88a3fa 79cd12478c5bc8f521429b0f4b63b6aade2d2b6b
+79e9c3c14d6aca2c9997e08ff55a6971ec8b4b2e 44c9f06b59a90f8d1983f8e155aebab48642fa24
+4c795fead2ac3c2d7be829b3d4e40a09e6a393b3 06acccdb8254c0efa07c56472af5b4dcbbc54063
+cf0e5df883b2ee3cc35bec38504afb059eb89b5b 18fe4bded3a7ec2ede5e077dc54dede8303801c0
+cef2561ec5b3c72822b44a4f31f4f6842e936feb f893cd4e8137abd3ca2ac2387c9dd3904c9571c4
+bf7989acb1f04659dbd9f9d0773ada17a2f6f041 51f6f0a74fe72d61b018204b7e90cdbc884b5570
+13cb654555a2e5fede77998b6f97580c8e034255 4970c6659aa5cab56fb57fe25c90ae9580aa7e46
+ae6b2140d1bc35dd15c8f0cd8bb26f2f1ca747e2 4a6de44d0e5950ced049efed2678e9ceba35e722
+cf7cd0d4ba8a50ef7118dff938c763518efe6f97 59052fecf7132523af71113d5857939e4994df99
+05e214ebee5c5d3f8756cff109a10cbfb4fb0e44 6e67c07003241156f96358fd0b5a1edfb36aafc4
+8beb23e682d1c7492359d0a0bb99dd7d8c43c995 6a7f8228ad4aaf6832d967fdc58945b8aa4db04a
+44b26b124894a6716a1901cc40cfa0722b618924 0e120283214897d74725dc2b854a7e4ec3b932d0
+acf77416dc996a6868466a97a876fba7033dc758 e92730b36a27f076d7a45464a2d6d411ad8004de
+edb2f0b88dfe51a0a0b81a404f6f941c83d7c66c fa5c743867889cf25d893f7ba54bb97dc2e4c5e1
+c5a235b1acc8a03b373dc81878073b9aba4c5428 70e767665ad578d99b7a6d07a1f15a5dad4e6935
+43d309ccc04f50bd8d2d051c11db6311f921c97a c540a06295073704b271303efaec5d165189bdae
+265a43febe564144cac5e0c35872af1a632e6b25 ade5c17fcbe9348232c2584201cd08acf3435063
+e543ca0e9f9d243d861a4870084b16f838b64739 b953dd9db2eab1167ce0f0c390244039cca5d1af
+e1202ad80d30b844e3e3c86f1ff2ed1089aae13b df65076809bb2eccfee0d686e4969a308b2aac4e
+e32e54664b73f32ce59cfc26fae9fb253d2bd4e2 45fc162f1bb16bca7398e95c6f0fb5142e605909
+f73de97fdc460c3aa5ec779f76128b89fe5f77b7 4165210dfff20574664f2d2a324d33e7c46b6dab
+ff86a9f5b9171ffce26ac148adc95e5e41d33900 64434e4357e1806e699f37bd4783731658b10953
+bc7d1ef4378f5bae6ca7911a3e0e5a392a9c7029 939b154934f7d17e8fe2201bc33614904b4a58a6
+1ffa757d3d9319d2631c45ae31ff9b14cc61995b 7155fd44d43dc2f277c8a51173fe2545586c2d74
+b9e342b3cd4056ce1396583a2f7565539ba3324a 750efcc7f274dd0bee5a7ea02d98851d226dabd5
+56e77bc6f2672c426cb8c77a465b12c443aa739b 2c7866688a75083d58700f32f2c82c7662d886b4
+9549b63dc5b17a6c0268c67fd7a22667c51e9bda 5ca6273d653e354db9dc3d100e068c3cafdcc202
+60db148dfd9b81e950908f6acbaff1a8db4bfe5f 5ca6273d653e354db9dc3d100e068c3cafdcc202
+c30865be48b8664e513c8790d3d4b2cccc4879cb 065f0772f1d6cf3554c172ba1de78a010aaa58e3
+ae4fecef1b1852d3092aa30c0116f93687798f32 5ca6273d653e354db9dc3d100e068c3cafdcc202
+b7cfb8f1b3465191e5785031ed95556df1d1e698 49d0402c08f4a2efabfbd25452251e870ca23282
+a647c15ceb9f7fd7ae156727f6c7bde8ad918e21 49d0402c08f4a2efabfbd25452251e870ca23282
+cb5bfb8dfb0b8b24b1eecded8fa914905898467e 5e8463b46f651f4df55395b76695b6d406bd5b03
+f345bcd98c2a2ad4dc5c5df12cbc71311bceb8bd 58c03867c3ec8589f55d502565d2a66f6f6a822f
+993ce094376954f3531b47a543325baeba827cca a15d8bed1b5c619fa6b90a6a8087341bf1007e3b
+00c16f147d763e8f934334e60c930aa322827ace 506008613bcc744adc1e632207ba9817d5ac7a4f
+8c2ba14efeb5d3c38082d4f53b3fead9659b2749 38fc178fc0ab18739e49307e1c5abd4d2ed3cd16
+ce2bea510ded42d3aafc4a93d3d0560f6e53e4cc e7695f6c91e43a0c35c935379b4c56571333534a
+25cedd51d8b6c6f02b43a8f647f3039168592dc6 d33dbc1f3bf9d9834c610940181c1a42b3380320
+d4c545b28f2e623fb5267d2ddbf886c4a6842609 15baa67812c4fb9cb2af0b8609035c47fe9997b4
+77d2c81c0268d018a790544236b7da2722bb5dec b0085714f835af15bf56bf1ee98ff30eb3791691
+3b4b105d9159862da3d641afa8713432b75c80c4 dc094d789f8936f5e30e7aa8f8db68bb286f7724
+aa295d69ff5d7d5119a145cefa078fdbeb50a964 3d5927970325824e41566ef104bf647cc801b2dc
+45659baa845dc5950d7cdd6b0579b5ba2e826560 3245e718a152bc97040b19a6340a10fb96aec2c1
+2d93b1d30fd5b3861b7e82a6eddd744022892777 f5c76dffb8eaef833f87bcea3788080c46b404ef
+d3b4108c41385fcbe258b9909ca4514fc9cba9b7 0f8ea2516b139559c73ea53549edb3595987aeeb
+e578de0f113ffa003cef3cd04aade756b5863438 ec4c29187dcaace53abb6598bf5c8a2ee9fe2a7d
+b4ad19703573874994693da66b81f87364ea1d78 a2aceff00306ab1d5b450c4dcc692542d66c70ef
+f2b3f1cf44dbf68c54afc1cd101526139e3fddde 527de21abad9c312bb8921ebde83c8006f0c63db
+cebdca8bd7d4324bfc5d79f10ac6e2d3fe2dd358 5ca6273d653e354db9dc3d100e068c3cafdcc202
+cfb5d0f5a170a464a43a549681f1e5caba43b617 527de21abad9c312bb8921ebde83c8006f0c63db
+cd13c619cff3bdcd4861db28ee90ac628f8f9927 faf42e506f901809161d0104db9ab88888c301aa
+49707b5ed5e660522578319a5451187a880b6eeb cab9e54c2a6d8fe7b45e6dd55510d8a1691fa496
+92c8944ffd040a036dda3e7265e0964031f7c9ab 50ea59d5643ed3812190f33e87c6766b58ac2299
+9d63853d20452e15e6cab1699bc5ed10cc850ce7 2310dc52efc27652cb1dbaab848812e39b0fe774
+24f3f86425a16d854044f17342941e5423c58003 08081ce835534820b1bcb6e116282bcd9b234a7b
+2f42bbe259a4e766521b9869d4d6d66cbb032a3d 59ae82e40189e26210948845635a6ca49a670f51
+9e06aebfa0d441636b0ca1657c41323575d34ac1 6e8be8d272b62d20580633e5bfc0450cbd32c7c6
+7373231f36a2d932602c3ee6962ee3a8445517d4 179f9d0b3bb60c3b1ce8ad455cb6bfbd47e3c26e
+3062d4b6eb6c53f1330a90e8b264c9ea5302e01a 8d998e30084e792ed65f242d64bb032c3cb474b0
+f3b4ced3f470f370370b718123a06fd45212fc9b 646bee7083699719c731e52890aff24d87efcfca
+503da419c23eee10cf3fc13be081a7cbd42666c2 538c3fb4c7e77a0239f7f6c01b8a812b87e8df93
+bc4cd0c5d1cef543de914cab204f5f50a71e978e 2b77786fc11005ef34df554f7a66ec3604f680bc
+d918bb77d9f03acce9c9d8518a6b6e32e1300aa3 7bb2328ada585f2fe7e54343c8a2a81724786996
+f6e3e1bc26a87a160978434ae0ac1632ef51c418 99d5f9f33fd4514bb929b877abe107e9e842cce1
+5424cf47c72e2af551a8996a98b3807062dcd954 49d7bb30f773768b8f5d0535e2cd9e5ccb5e071e
+c78de9691314b3fe71df503322aa43d8d1f8ebc1 7e96abc2eb724e42ebc57f018888df83ed69c9da
+ddba0b0da6f5c85068bcf23b35095974a7bb9b80 a87b0a069eb6c0f8ba87c4c4aa7a336f8f9fd68e
+55ec377f9ad65239c33034016e3e8a305bfce930 c06422848c2aecb6ee69611e76f3276176ca4e15
+0ba046f969b695a6c2304200d0d3ac057fef4169 d83d1aeb2463a87e74d25adda0fbd958a1b3a0e8
+bbb9427385265f312356226f57520e9171846d31 9d6ced3d35596de30a451041875a8d710ea350cb
+08f9e834311981e0a32ec58beafb3480f2e1bc9c eee9da5b60662dd959214601524d0ef3f01a02a3
+4d2ac86664e0c3613ce7ba2182222ac6239cba7c b99852d74a16bdc0c20d2c6235a43a492a9b8a12
+c5f75968374a466cad95379193756929b89b9ce6 9cc8062bc20bd6c3adc4853572bcc5d6eb588585
+00cdcab0cf3553ae1d2c97f9bded98aed3795608 1bb98f352a091a9375d3c0b321961bf36db01cd5
+f412475c145bc31ee583664c5e779e84ce2087db 3dc7590a4874174301888b197ce992bcfae9444b
+0d794d8f8e6103bad291ffbff934d0815f8b8be6 bd0dc95f692d1e927159369937287ae25c65fe91
+dc1bda52ee963ef25da7ede1574c5a4de9805b83 b3bbf57acf546f8977b14e3443e0393375fc93f4
+da695c1adb85685299298ed15e8cd6a9c14ae936 961d3252a0941d57b0c8f3225714a544e7b51270
+cae385e9f407d0d759d496ce5cd23b78d7d6c81a 44602fd9ddc23ba368a122a5fb34c50af570ce8a
+77472985ac5ec9ea34589beb38466082a8f14b7c 497cf4337627f2912f045ca4ab02374e0a902418
+fe0ba29810855c5dcf42d2f26d6ba6b286ae74da f3219c9b584e7457ab33df8829b28be9b6d2ee92
+6756348318b7aede24d6b80fb53ec7b4d3c2a3c7 8268680ab031b82164a20481123ee8e0727b7a38
+731cf4a8379793cf1f4cc4925b8b5a80a027a947 05475b2d336d0c9db51aa4fc95ee77177eb74ebb
+9b3af32a93d722d50aac99e0df24bb0ab9b3ab14 2ad3e48a217af2878a05bd248a56e55d0ded1c6a
+b023ed62d4ab588e41906e6920ec56d0dd57590c 5396dc826a326316c69b63c86cb542792932c4cf
+b2887cf8b8ed34124506c46a5cd68ee26fa1bd26 c4192730799dc8185e59080fbc4dd833a07a3a9f
+e814c43e0803ee277463d543b24175245ea72d28 d8d5f1f46c97f0640517f89b22b5cd0648c57f3d
+90cca3338b91381479daa35d72fe78c57d3c6c73 3638c7ed5bd066dedbc9cee25f2c433539d81df6
+c81803fecc739fe1b06f06e97e855189736620b2 61743a439b48ef69751d0a45c9db5e8f188f9843
+2f2e9604ba0acceec128b1da83ab993a312d7bcd 0f45e6688029149cda13398363f0d2c79d4f288b
+9161391f4f68c15b46fa141f67131ff5cd6421dc 8af73dde81df4bd2e2357a5a89a2cbb7400b87ab
+a909ebf3e5a3157f07ae3f96f1cb9213d7793958 51463cd88c274f9aa62dbcba107e2f7fa32f0a24
+4c81e4db1ffb5d700d273f7955aef6d77b8decf8 e6ff35f4f4ece2f89286ede984e75b443dfb542e
+2c7445adc8800c86ddfb65a047380276c7c414a1 5ab98c1788d632b0325779628f064dcec4402af6
+7c6fb3a20525250d7d556ea7569b082d1080d515 d9fddc2455a287118735d45e9b4f7b94aaf0d230
+68c66e3612501e5cfeb5450dcb53b8a330ae80eb 97c80c9f4441d2832b76c71f76c8c1bf83de919f
+f937564ee8f8c029ccc69964b73a60d2d7295180 b0305c05e71a02ff9b5375809f30b6a3893f77fc
+17711f6360df2ecd53ac92f319f0033b5a7b365e 8ad122da2d6b03ab47dcc5430906b285cb92d7ee
+0d7463e7f38c79752deb0a0c6b1348f871b18d2b 049e78872d256f7d4f7dc7fa9aee48ac09a4bc3c
+64736368a10ebcafa942701d1e7fe00806733e3a 1124d8743bcb07d92bd909fa412ac6b210f2596a
+29b93b2ec2c9744acceb0d354982e42537a117d4 e5a7b5b140dd9d64025b0ed752a92e4cd69d47ac
+57579c97ce521d41a2301dc8674c7f466ac34880 3bd66c0601ec7b3867eccf7bb55444a3a57b2e7e
+aea329052d06828ea240671bc82b54249510ff25 c57d3c688aca01aff97bc37ceb5bdc4c43a6f1a3
+3f98a54b8bc5b88874d2313afda279e51a1fe5b7 78f0cb1942fc3f7b8a026a1353b6178880b2e3f8
+872a5c95a70901aff93385b85178653cac56f70d 4c5f42567a403c620d6e058f62c4a44cf526fe5e
+ac329bdd89bd5b5b2a79b5f6f6caf103c1ab1ff3 5a4732713160f33dcdd3862b1e3aa56651fca704
+52a361576d266f9fb5940990890d29d91c705da2 0d97c2fcfb3e8fcb09e1c2e2c1e67049d64293ce
+7eefb8467c280de3a5ee20cd54fba2b648888d38 c07bd62d8e1a544ac9f6b7e10938a7e03e043781
+efa8ce29a502ecb3665f781ad8254dea17cf3a4d 6648934abaf934191c64ae221674c38abf8c90ae
+cb75ff099fdd72cb6791e201897267ac770564b8 f64b929e0cfa16ec83000a2c316210265d8754af
+c891144d55f0ded4d74f8d4fb5b9971e40a935ed efb901d27e230f6a229ab7bafc7a4735825ced1e
+f52f6232dfb50a363f61af8622329cf4cd83bb42 2f2675eaec813dce67be86f1d90db74668f0679a
+68de7f0e8a68ae19cae11ae203e8f20030b22deb 2838418eb07071072f3b0d4de46c9813df3de929
+4017e4bcffde5bdcebe14f14e25af06c11a49afa f68801875bbee3cc846d4b20d3e9d0c159394493
+a2cb49d33024352f3cf77dcbe888e172596b3e96 49af1b3b85ae93e36c4c2edfe6cbed146d3c8a13
+93ea502ec2fdc1ff10871dc8bb4051e27c0aed99 291a8cab9c33a1c3f9a391c2a5fed5eb05dfd862
+ec5347d5b16a9581e1bd3f830f8e8ff477fd9b50 8520b6d28268ff2c6394911a6ea0cb372fbbb9f0
+79eac7e6f644b52458819530c7e21fbeec68fb6e 666afc8dbb9a48ad2c13b55e47093c236ef872f2
+19e5d9812678060d570cd000be4496187dd4958e c97d9909e3a9fd30794026a96a1fd65c5591b3a2
+ac260c6e77a6f0e8c2389cc9f248b06a6afe05dd 8a447eb46f75959e7d8765a7a8319a447e3027bc
+9319f727c8cb30ee3e85e26e4d89001b057da8a9 9f696adddd2322017aa36fcfbe862595cd096262
+dddb21451547b2b16b321177df716ada23398be5 05d43586ed57271d4b9faa0ff010da95834f862f
+284433a9b30cedb8ac21e3daf3cd36f791ceeddf aaa38e8720a6ca3c9511b06ee5ee811812360296
+1d9dcaa4d2e694b0415e0a69b6e9f54af371ac63 65a69988189c5d5ad6957bfe8e0a537a14361f6e
+57ba65b876cbec15f8329b4c7978fde47779d498 c97d9909e3a9fd30794026a96a1fd65c5591b3a2
+e447ede28cb643359324cbb2ef8bcee6dad9be82 65a69988189c5d5ad6957bfe8e0a537a14361f6e
+2c6cb7e197ecea7c02aee0620fad6ac5da3f246c 2c4b00638f3e12bc5117d96e217b033801533414
+198f5db25bb77e5158fb09116236eb5aa059e247 2c4b00638f3e12bc5117d96e217b033801533414
+a46d1a1d41df6cb1b495f10113faed4b65b6664c 4280de677e400a764fc9784b3e43786bb7b2dfd2
+2f8b12732a12181fc19c7ec932d74a4ed8056fb2 dfb7888beb8182da09378c737d2fc4e155e7f5ea
+9bb53394ffbd5a76e47f7f79ef94f87fc6c97790 806c73af4adadcb78ed7222ae98758af5447bc88
+7fcf5ae91dba39ec22ba66c5861b9846e83ae9ce ceebc15131fb881ecfbe97fb2583795e9c2816f4
+1637b4c1898843a323d8400030728e013d108311 7b593b2766efe49a7e3cf958a6e4c6ca6635ae8d
+bc651a97431f58bc1eee7666a1dbfbbec710bca0 34f4070e75f735b857c5851b28a21da62659be27
+782102d09d8400ee66e73eaf46d8342a67c1ccaf 4adb0b3dadaab96ad8c2075bfb43a48de6f929bf
+4fe5ab4304caa72ce4707cf9e63930082674a415 4be8cd57688290b4d71932f9668d9b2401a7bd9a
+893376acf39cb41b4067b75793c5f5b2bae53c92 720f0703406aeec91a89cde60061537a50d16c35
+b048156543b6f9f87a23c116a15432027aee3dfa 73dc456c2d22665a21426f46d0e7fc283db448c7
+43959867d864dda867cd0faef53e4a55f0d2ebc8 4b58838b8b47058884d9e3204c62bf2729149659
+828249fd097f0637a8057281c7aaee7e3addd282 88f4c71cffe19862bb43a83498cd3ab6205c6ee2
+67ef839eee2853f3aad2fb1321dfb71c8871099b 991a8663ac7b7726c984e2bcb0b91f783f358dcc
+e8d846870a2939c6406e6864a6217d363e6217de e23ca3742730bb8b12cac57208723682565ed7d5
+b530e60bf5d64741c23a02509cd02930d223625d 3c8cbacaab5c0a37933e468fd8441552f937e7e5
+804c0d42e197e6d541ef30e60db2d0732d850f9d c53e57bf71ee8b2a4bb60b1e4faf0fcebe8b03e6
+5b0e62f567293307a3e121884b15aed936278c7b 7c739f964c121741a37772c069c6daab359d2666
+c400d985bd3f81c7ce24bf66ff3597c6bb51a1a6 c6b92cf891c543f6b4e87e7075f1999cd696f15c
+8c18f414fd3284eb41eb6079df36b7ec25d11377 2e8bbacbb99e6ee6e71742eba029ebe3b654164b
+3c2c21cdeb6633ac46998872bfdb8582784af7d1 5696c6965f45b02fc58696dbd833ff9d79bd65cd
+5f4b8748451de4a8a4ca1f8334193c046d8801fb b80d4faa536c91b5246c94e05f4d451d4e4bcdfc
+30c89f6b15e6ba637a6aebaf2a52668287b84754 c23edbbbe8cf55c963b76b9a3b68976135291f71
+e88f070b3a11b1734aea8afd598b5f5fc2561511 c23edbbbe8cf55c963b76b9a3b68976135291f71
+0ce77d670f2620732807a3db02fbae3a374bb9c5 60eec93e044ef9094c17915aa4337549cbd7f67d
+f3e080a3c4de4277f6471f611a7fd3db7b9a502f 0f0fe480f8e7026a38c168758f78759bbfef7e4d
+2c65ccdba3d6f16ef86176647878d76dcc60eda9 2a16f47db938033b2b5a78a49d9b9e1686faeefc
+7b99091440eec4b06b8b0b270979fa51240fd35b 02e17418aa90b3970e8cb7973053467b0c04e368
+83ac5c15571588e13798009e64b0ddacc5a4efed 58f18cc49bd5124e30b3c06c186900eea746d605
+75ebde9ec3ba224d0bc7e37cb6b9152d48dd808d 2b13de5912854939982c1039560a25b56de10ffb
+d844fc06ce7148f33c587be91654ae268c6285b9 9a41756c7068c3faae786ba4c5a04e9cb739f00a
+bfc2a10e4448264c50d193c36e62c550e97a9c95 06220bf13ff7a85810c10e9b264425468ba2b5a5
+40b4bf42c1bb713d9c8539cc114542d7fbf735b6 6eb9ced36f3cae9f012d560ddbbb85d98dc90729
+44d0fc6d4c3b6636690b0dbeba53216c30cc98e7 fbaa6392f499ea6022f6934bff9ca72a503a6248
+4534531caded66aa25b55b3041c853d40348fdf9 bcbb5043cb40b6b82997b934b15ab1f52f48b6ea
+22199f357de09d910980dec53cb0b18fa9770dbb 9499165fa3dddec7123806ec70b1ff3d0758aeb9
+fcfea645c0870fed9108325e8e839a34d99b916d 5ac5187207ba651b63a0a4c542659a4875d9016f
+571621d1125d0c8594ce67e8a94f2625a46499f9 9bda7b243e71b90373d54bff9c3af56f14e43cd5
+676519fda5e01aae0ba4760d9f37e18f89e4e97a caefa98bd88cc9717152d1981f15413360b0d600
+cd2d94bd81fa14591263022fa325773192514b9a 7015a3621258c8e7b027a94d07f2173b611e65de
+32cfa6a73e380934ca10084a75471c2a88a2c6f6 571e763dc391f52a272aff3bdf693e76ac89d662
+918f9c5d99d931fe9532d19fa43d1622ea82b3f5 5673378ebbc5855eff98b16e3759a708b08837af
+573aa0020ed692667a0a613e791dd5c697da092e 6b77703671bde33e99ad975f181c62a9db083972
+d1ab4398fe6048c508e4e3f074bc3f12da75fe40 188fe5ea25c72e12ffe79c9455b275dd0265ae84
+c05e2f283d284d1b9139208c70856e587190736a 738565bba8ace01a2585ed37cb9a90b61d308d9c
+a4df35cac94aa17c18f5a7b70b868693dc2115dc 22994b883040f346f65b34229a30078d614fee47
+f5c332c1ddcb9ea2d4439020eeeaad31c5fa541e d3f470d58b709819b4049ab42e80155c5bea9f73
+07136a638fdb938fd6b7282ade6ebd5e5d6253d7 b149f1ccbb599f3652976554427322170fea933f
+1333a823d30ea47ba7821212cdf92f1590692df4 6c586bfce53cfa3d65666260f0ec58c71c6cced5
+a00dfe476fed9ff9c1b3d8e110e997ac666b101f 73a6ab40628c49b0008853f83e8654c695f5b156
+e238371dea7d8022af28328d46f04faf43caab5c 74704b490fa4d0f1f7d162d1b5a6616878a2d924
+f3d4ad07c4d7109a10010841818f44de0d751ab8 4bf20b931756bba21eab55eccf3664ef12b9416c
+396874dbb3f0c1324011edb6d4035b514b5eb427 611910809ce5e1fbcfbf0052abd136fe23d23d25
+9eeb3d945cfea33ea0e6358570cea845e4d6b6a2 82310406aa77a63c1384ff2a8876cb0a89b26d55
+6c9afee9f486b39134a8c2eec15ad0132eda1172 50c88f09c7b5dc1eec89f3a1566113a5189819e8
+591d5800952cdbf54b771e51fb60e20bd43a19f0 f5eb6567214190876863988d803ebf58a17913da
+a617544ef57a3682fc0500efb434051cef608ecd 65849d13a17a34fd012632f2bc5bc3cdce27df03
+0abcc0c92aa459dc6efd337e0f6cf34906c24952 51fe0d8511f29dd41475225b42f9d9db8dd7690d
+428ba4f1f798182e1362f577f4791a837d400022 b025cca2c271855ad022b09b3fcaf0d43e4d45e6
+4d717c0eed2df1c36398a1a03537ab67411e6571 5a24b51d512b63f964f0ab20d408237e65fe8244
+a80765a09b88ebd0d0cc247d435a67115a252510 b9f7147d741a93e344bcb218520deacbd0067fca
+87e44026c4df0b50e73cedb4d3a4d9c2acba86b3 ca26acee06ed02012dd2c3c872f33017491b664c
+d9964c55383c6cd66b8acccca72c98dbcc7e2122 a520ad412f80f4a976183af054682e21097bb7b6
+268e5d9e70b49c7f2663d15e5b602caf56c0904e d4ea2d08f9c56498677d75de0f46e048649798fa
+887175871bbe2dfa6bf974e3e5d88b2fa622e6ef 31084bb79aaa02ad6585177d7238261e9d488eb3
+8fbf5e885dd34a2930d7d7fc8da4d2fe96fea98e 7c1ad136093d92764f73abeae05f8d67cdc86efb
+6783878cf77f9462722bcb133fef13aa9aac5ae3 30f5859e1c56e03151b295293e94e4d4cf7448ee
+f1c90ab7ad4c01b3b3bc2b6ca9f90f2e5eab7211 131d3dddef559331268826e3c77191acb0dcae4f
+1a1ecffd57ef3e92a04b2950a0b0bcf7c0aa2ecb f00450969e1b80f752d0f85a423b15c79a34af4f
+6b47dfc42ab870e5839a9e69e1812334fd965c6e ce2506a46f4ced0d336aef9f73c6abb8c58c737d
+7843d8a215043e0da608e868c01fce7a1c17cd4c 86790bd465db63371205085b138c3aff37787186
+55c8d9d2e8e7daae3f37b49e49b20e2124340e89 3999849288a61a28e4b7372a1233b6ef3174a92e
+456ab16af175f0a2992797147658fbf47833308e eaf16bd188956e3efb33e2d4806726c5f28a84d8
+ad4fbad9a3575082111a1514f6eae2ae7c1c95b1 2a1ef6c5da496932141dcc50e4ea94f6b243f81a
+746116cbe0300d71134dde575191e1c3fa3d8d6b 9d24e817ede5e6356ad1c5b70cd646a6f7164fd5
+7e5605889681a501b0a8fe4ccf6d6c3c82c0ea6f 7934d6ab4f2666838dddc0852e2b3da88b0a9a18
+232178eed00902c140da1df0e981b4574c59229b 2aaee010cd03a6fba7643eeefcfcc30df5ba6bdb
+45b6bca80bd250053bb3fc2804e45c88f2e1a87d 65725eccb96597ed6fc9aace491ce7bfaedc0b0d
+a405ccedddc2ddd6ca4e7049563f2e8c7770a46f 7ff624e2250644db2537071da115040b3a19e841
+c5cec47b1b7d43098ddbe12d686f92b9e838cbf4 5d4f0a74ad4fcc9098890ae30c8b7535c0a115cd
+c7a2fee64119ed391b3b288f00fcfd27f21155e4 bbc361eed3ed6993d4a5ee8a4e42c23fc5832af7
+3cbdbfd02ebb6b593541e514fafbcef2e56df0ca 00230326491b56605b15922178e6c8b0b69bec89
+23ecdddd9551551301ffa5268521df807f8922cb 711ba053be86b6790c58a0c0eee4eece46b86243
+18942dd85ec6fc4111ea314a3ae784a3fcdffe53 711ba053be86b6790c58a0c0eee4eece46b86243
+9b89ceb9ac603f4ed04253dc3c46c7573bf9b9a8 a95440838479c3110d1887a973d261297b9c4d64
+7d1b1995a3c5c9d58a29496364f835d644786c48 2a8ecfb6442a9463f836fa04b582e4420cd87136
+391ec5cd9368c2711e836415b21f8e8421226b10 a98f4dc995762942a7e0f645b19fa2052d0f29fa
+fb35243589922859f416a15a1dc757ad7c95b6da a671a0623f46d3ed94f2b4091d91dfff4d924a35
+c462af8f4a68d41515607ef73a70aa7cbd2490f5 a671a0623f46d3ed94f2b4091d91dfff4d924a35
+b0ded81d43cf44b5bf561b40da4eb38820fd1de4 6c561b3b86b5b8451efdb8a4d448e22fdaef51d8
+d6fd7b96d638bfc918134e4c28fc6accbc6d5db5 68d5064f09d2e33db7c0743086fdfad49282524f
+71ec5ddf0cd4b396920d81c488c3d571d0419c56 6146581337fa85f902044c9d91f36efb7d98fa90
+34cfd9988fc73840a5a1ba263ec4f355ba8d5534 b8eae2c41403ac2249fe6f81869b08288710dad2
+2dfbfbbf293460a15326780adb2827ed327b56e6 1152281c6a763c0cc96f8f05363a7664b2db31a7
+c964a7ff87a0dd6b5d0ed114c4f05f4d9a60ccb0 f835df8651f389d52b873f6e16efffb177213e42
+82caa0a5d876627d559b34b1d8a51031576372d2 c3db2fd297d04db9dc8d5f6a36d44ef006ec5f6b
+fc72ae49f12927294aa2198f8cf6a6e2ce921ccd c3db2fd297d04db9dc8d5f6a36d44ef006ec5f6b
+f442f4131661bd05e6dd0de1660631a5a08a19a8 f230439d0afeb110d57ca4fc93ab375d073c9294
+c2b3763e6ceaae7003d3fc90b2fd6cc94178da19 c0042cf2ab929082cbd9676269168ced024c79ce
+04ce46d0a29dd34b32fbb252aab4e28f41eb02d6 56227654812cb3a0cef019b56f649ef7063cc5a0
+92262b0cbfe6cf8989791bc1dbad976aa8cb270f 4b476528dee8575ef0d9808e11d19778dabf9596
+bf965efefd0f6963a1ea7fdc8bf13471d9fca1ec 895d5771fadffe16c37a2c7207b0137f8a379dad
+b9ff6f9b5851dbb7353fbae7ee6be021ceccb5f9 22a4c699b74d82aca6be64ec6d1d0c348351816e
+92296a0419464f04e59df5d546674f54e2a463a3 fc40685615048c60b5745ae68cac0b484d114d01
+4482c68969f97977bd453e7b126c712dae256ca0 f0c27b2781d47ca7cb240762a82bcf1199fa5da5
+201771539a3b83abd9ed03f3eca9884f66ede73a 5001a514442ce529130e941f4bc6b1baaf128d8b
+1a1b2e6f637a517612f3864ce1396d88524e3f85 9c231425c35866d20061af82e549fc5826bdff7a
+7e6559101368865df8fb5a0579090072a598f871 961b6bdeb175989796bbbd7fee04cdc1690fe522
+d28bec5a43511cf7575aaa07f9eed5c458d9a33b d944815ae1694180f8720309eb01dfced03ca9ed
+74cf364fb34fd04b825dee410023483db84c4d97 75360969720839090e3a3e6561e0a24ce5d3b86a
+c87cd0125d04531b9db23cd0ea3e935e8e27c573 0b81796221092ea6eae19d62b85d2d6d05c63a2b
+eb3c31a319ab01f6e444519c5822ebd5f334bb45 12267fefc43206c1b146d17cc16693d35d91df05
+9bf3589e6f9eff05d4eeaf901f96461e0a187b79 33e9163e012ec0b0e8111d39d526d255affaa646
+2074771b0c980c421954504902f8b7205d7df9d1 bf58528d90ffa7e1b80943ffdb4c9dc0148095c1
+27611524473ef560b69b6d744d8fd3bbd0c6b9f8 5d304157349fb320b1cb288286e37e57a034e70f
+f62246d3114b4028ff8e6b5aa39786eeaa13b7ad d7dc8214a5a5d579596bf20741fac02185b2ab85
+ddd4c5bcaf3500d39f7cdb700cc6bef6876b5689 5805a23920476590d4887322488a885e8c53c291
+978d3a9ca3fcdfcad935379bda5c226b6b6aba4a 88a413f14d93f134b3cf0b2891509cece7269b77
+a85edd65600baf89e6e1a948877618b88b5d912e 73bddd4569a7629bf07e19c18a66fb8337217b9e
+3f780dfef715a5389ef745dab9102820d63c03bb 38de4a61a8d1a0540318f3a7d937f26808936866
+e71211f716e0adbc10758a4f65a3840d1f54bea8 df28748931b519ebcce758c1b390ba15d1e585e5
+e02bb3bfdb81a298307737b1f1dfe905fb3aa068 875bc9d4bf4c4cc8029b60efa7aaf4708765f38b
+e20a830a87c011c36ff8de6cef0f9d7016c94730 212c118d7ec8fba181279a5e910e416b91378b50
+eaceb887312e5c0f55a19cb4348a4f3ae099a3e7 0b5ad3cffc1b0127cac79c12274fa23a9f8e5eb7
+eacae32bc94f4cf337a7bd54992ee0dafa824c75 bda329a67bbe35d46cc2a06bc6b62c43e7619d88
+8a8439ff995ae9cbb6916267765417f91b2392b9 cb96aae65019bde03c2d78e9759d89935f205bea
+4ebb9362b99c7fc86f11191206f88da4bdeddec8 e590f44f6d395a805c0891e26cb5f1e6e4647582
+1843b1189841331c3bca8e5aeb07b2c1880e3044 1ca05259128620896c9556d3f3d113b6a2ba445d
+d45b46cafb9898585102525be8a1f14258f92eb0 ae67109ed753445ea8426119c43dd9ade427494c
+1cce78077909b57452de56a86103672b78623b20 ae67109ed753445ea8426119c43dd9ade427494c
+3c3685de430a4ee4b9e117776c4b7ad3198d7d68 3d8a2a1a7414b5e8e3e886bc8122d1ceb57e054e
+3134cb7bb181a25f5c79f7cab7353ee9ffd99304 b3eeeb11ff5c05b622cd0f1e62348f884e8b27cc
+984ac2e7111f7dee8ea3ed0cc4331ffa5b551844 03d59d685cbabd6054cf517d3d2a63e098441345
+89f62bede16f85e9bf6bc741fa7d218e5e1150a4 a1622f50a53a9193945adeecff67f0b432b20cfc
+556b36612917de150c9d9ea1fd42fcfe310ac420 297fdfddfe97792b96a1b01370fafc28b61b9720
+043ba5caa26edbfd19f27438742bde42d11ce4ea 949ccc2be30a91faea4a65082ac83e7aaba6e294
+5ac2831021b3419e776b7a4a8967fbaeae047796 949ccc2be30a91faea4a65082ac83e7aaba6e294
+70a160d1d51ec7aec1757977eb33c4998547c00f 41394f590d92673bea34f71f1c537d001d82719e
+0b2e435d72c457b5aeddcec22544bec254f58262 6a65c1936dc8387265f27e08a2128f8317af02c5
+ae9bbbf181d9c2a17b510acec36a4c1e8a85fb15 bd63d0d62001312dc180688d97a3b7d6574ebb81
+cebec1b1ef46c9db3822dfa58201b9f01b577159 e6b385fa3f43d2e97d233afd181c880ecc03da77
+ddfac5970b711094b5c330181027ab1bf583a81f eacad2599f4457e2f4135510b526a8dbaa5ba014
+ac249fda538f2fd56248cbe8a329cac1f5e9edd1 8b9ccda2364d85d8ce3e64be192a50f6b4078a90
+db805b0085a49813c3bf52b9b443b6255309b60e 5752353d1029f7e85488ab65aafdd11683f9fe60
+f196197a816afe19c038d2265b462063a5ac5db5 21d9ad58687a2bf5d26cf5a32dc7d3d0dd79a01c
+49eeb1d40335029cf3dc046924e68d00e87006f1 35d3e4650f3432bfe471b64221eeb58621823d27
+6c161782dba3dc699b775673e95f9c5654cdcd77 c8a1cd23ff5f59b523721814c545c82f694850b7
+7e7aa114cd6c76ede9e51ed6a06246232ebb22d1 4744ef173f3e286338f756e4d004520d929c95bd
+d89b00b44ab6ccb71b27bee2c1fbc7417a7d0211 0135eeed1f192dc2088428806f8ec92e8b4779f6
+714cf87ad05890b3b8f8dfec40526b7f258328c3 8d12286b359cdefa671804da42bbfd3bf9c7663e
+83db0e981057ea8216c58c31e33aebbd5e6ac7d6 69b54ba4157ff057ab37d110e75cb95edb9e7adb
+7701d8d6401042740f4dde28e39cd2ed58c1c59a 64480cf3370c98b326661524f841eb2ba5790eb1
+581f461311eb8093e3c5e72f594f97e4feec0f3f 2386acf89cf9044df4645c0a344fce038209647e
+70ef30a15a28eab3ec98a41024180d67f1bfd65d 3c2f0626570e924d329539a10a2447aa7ef9f221
+fa1df630f4314cb6809eca36202df4f92dbc15df edd28d44dbadf65a399b98e3927d41f0ced17e8a
+7c463d3c5005619d7fcdc579f8261db1a89652b4 ac1c11483c54f258f0f8fd7dde21f7eab9d5b477
+b06f0ad69981d313b5bfaef17739fa41e9369616 ce6dda0ad1f828e785dc7583d21204b65755b021
+fe28d3894b58cad9861811a36025ae697bbb056e 9d05712aa32547fd9e48747f37373efb298fa5b3
+992c63542f33c77715128a1cb7200c2f41a5dac9 8f7e90045f2723a162baad2dda7d8f233ee86446
+ee23723eae87bd53d891d90b1e5948a36c45441e fc4a31074e96cdb0d3e56f0fc6feb706f67c8699
+166ab9da3f8f125f9b5e7406b75fb3698a51bf3c b2f12282fb0e1d9bf0a5d7a7a2b6ed85687a4db5
+af02053e1b9f6e6ee01c6bab636028fc574e811d d5cc358a260618161b1d5c495a06cfb40bb6e929
+1afbd90890d924e652e54c278ae1e2b56f48d2a3 00d975e3618e13bfeb0bf037e34af888fb1c7c79
+0941451e57d012c760bd1da2f984f5cf791aa9cf 27d6cc7914bcf338d911b78a1a0024abeb42a724
+a1d4c5095ae17857220c04cb5096dd15a2395cf8 77f1d43dbe7b95035ec28a26bd10c34488c64e0d
+8d219e9c53954612be0744ccf5e1d51fa41f8322 26d7b108a88ea04cf4c1258afc8610a7b76b6782
+4c8e0dd8e94f3a6f5ee3263dd457269a6ab383d2 e7686e00e4ec265b27c4ec5a0034b949e3306475
+251f989a6ce795a8edd56edc4ad276afa104ba30 61c1b9e3b907aac662c52b75ff8e4098127ad87a
+2507cde59c5582d2e0c58154c21fe72cc0a08b04 e9150de54644a025a2f1a52f423b2ab29647dacf
+f59be55fbbce4202090b4355974c2aa4446f1612 cbd7e77f8d033cacdb3a088c03f54e97196139ea
+554a445f70c0a87678539d538fd414f4c5d5373f 0db7ecf247d4d7cd882be5ba5843f66222d47d3f
+02e0ad50583233216270f4c9787ef2a09c51a528 b1cb595fb9bd99ee81a0b3eb2765f26671cd98a9
+b6d226d75b4866ab18721fe9bc11cdb537b3d852 b50bbf75bf016a7c869f26d575af06359585ea25
+7ae97f2163dd09eef7737cd7b8c25d8ce528f398 6fd1b1b0a48c7de0b132996de4319a57d665bff8
+43a2cd55a9a9a1afdaa5d3d4cddbaf6b7b5fea4d f7951d0e8522272bece8e187e06bdc75da319a80
+86681a7cc02522397ae91e52299cce67a840035c 446fa6d3e2a08c1e74bad5760510f451483ae0e3
+bfdc0e489fb5da9aa762165847f15c9a4a181c03 4059940e88c34c869e470e716ee5be3d4a8dc2b4
+9f617a7db4629de46f170793b671c19671d0b0aa a7669e30c3c32db78dad8d1cd6eca9394f843bef
+70bd8f9aeb9ee8e2bc546b83a36e05d952c64dfc d0c75e10323b3a31fc2964d651ecb9297b69b003
+dccb531ddf736c54345db8cead6c9a737bf90826 45cf1ca49f802408764338f4dd00f9096979e6c7
+6654431474f1348e3fa0dda58be6a87cc4909edd 323c59ae47c11875f41ec0202037787faf5fef21
+de38f314454a010a99bc0e8006591b3682d85184 1f948c0edde9d94dd9cec72418eaaa100c5b3ea2
+eb6f8dddfaf64867af109e3e6d22255b21b372c7 bb8b46ea46fbf7a5070c86c2ce4ea22344c1b826
+5fa213fb29e02fdc116c08608f3fa3d34f871de8 eca7af4272b6d101809cbaa421da111b9f73b454
+b1517c521c6a6c4cc077719bfc725f34db748f50 fae7f63d6043b6bb4088d92627ae1d6268bf3edd
+e99d04ef1d1154f5838eca9fe0d8dfaaa2b671b8 26057998b19c0e9d80a2b56c0d09f09b959ca8d2
+5ea4388d086cfbfc5b919cc2ed05d906f56c28d6 b546b0c8e3630bb6b25f24f62847bda0b629553c
+5d73dda94666d505a44e708821740786695f71f1 5103827dcc07158fd37f845e7888ec37b1b9e2c0
+78321292842564b2e3d2789c61e1c845e416599d 477935bc2622eb492d565931492005481896c1c9
+7f1f2554aaba1878902cbdba50e5b45fd5fe22ef f20ce3f3d061636138e3f9aaadd3b8f6d4cc30e4
+187efaed83b985c09b39e3f7b820ce873af62476 74933130553ad5873460911686f61cecccac7b8c
+d46093a9e3f7204341afa82e236d11d9ecf54609 da60b6224e433717b3ef798c0fd36c791f5305dc
+9b42a8db17f1261b25e7ade4b723df84926cda40 36dbefeee7169c5062886cd45f87215a7ec80867
+5d9ab62380681ff55de92fa180adff1b6ebc6560 f70d3f51e8a5a7ca3dd86bff5729d4674c7e182e
+7fc7f591a4d1cafadfd2220f4bcc06be68bca4d9 5c564be0b24e1020caf2e7f88845aad176358024
+1e2a07a82cabbfcbb2b6cc3b0688db4d675c07d8 20c915274c23ab5f8f37fc50d8f41fcf7d432b72
+bf3f563d5704689688c6340af623f943dcf2e99e 85f1d084f5c079eb951a80478a281512747a27be
+854ea0e13098c03d2a4ed9c0c7377b2a5bdedbb5 85f1d084f5c079eb951a80478a281512747a27be
+32de72a9e18e5a171990c242bdeb0e950ee87226 85f1d084f5c079eb951a80478a281512747a27be
+813bf987cf4380f2589d60aa1215cd36d4aaca3f 63fe9fa2dda52cc2c8dac8b4ae50bfa38710f8f6
+b7b4afc7ee14ee051ea102d00e093b4833ac9632 63fe9fa2dda52cc2c8dac8b4ae50bfa38710f8f6
+a8cad171bb25e81451c1b81d56f19e4b139d072b 0cc411437ae348dbea0de09b65863cce07a74d1c
+d23535702190b7ba72ae10b4f45d9a8f2779cb39 112b465002120dc30a83584d17e2193e26757526
+0543be22d695535af150875a99fe604e3d1bc3ae 27c30908744192fd37eab55232c65825ae8690ab
+95eb9678844f8274a00680ce0017e53d1611f85c 3ddac0abda067f78e2cfb1011cc9c3ff237c6c02
+43f903cf4d89e221c943388f7f4d1c3642831ce6 2074833206aec3a967658a49d6625ee7e33dbe16
+b4e7eb1849be49f038145f40a62e73cf193b7843 31d50ca25c26756eea2aad6a0dfc920d53d47a26
+b721f5cbd43eacd4852f895c6549406695638853 9b08e57412b5105cc916a2a5503d702a85babd0f
+e28969ec48b66a8d0e223b00ea672013ae019221 54b5e3a658b7cd21c70e518438b5b70b0d75cb94
+9bf9469f799adb422d249575f1491920e451920c a9faeb7231a23716337db70152af441a84136b7b
+1d0ecde25acff512e5705e0679fab279c4f580e2 8fd67815878d2bbf43353c9af02f5f8c4aad921d
+486c961e322031e05cf9f248acbfb0c96458eaf0 25d8352e8433a7afae8ece370b20a1c55478a22d
+73872fdc003944bd1188033d83f52ba5d6b3607b 59a510e851b5079d1cc682c55628a9ad7338500d
+78a43760524fbc7088716a92b71efb3bfb396a08 5dea5db6943a25582bf8015046f68e606c7d2ae1
+0505fdc03c2dc09cca615780dbee683a82e9589f e1c569b17c50d8f397f48d881cc0d92a12cbf940
+ce8f39dcd30fb5c3abca418887dee50f8c36f190 4609896f880614cda86fa56e68004d2ff437a042
+7d6bf8344d20c51602c90453f4b1413b7c67922a f1aa7231cabdcf8cba0e5125670693b499f1f4bb
+aad144cd0c1625283b403281e7547113309a112e 52c0b1daa3cb531196b3c7cd2693b2571c908319
+95fdbc08584e7b3b10add5637cdee304f8bb2aa5 aff0d24551d91d1ba64ad83e3496338ac1511877
+4413f501d4eb905b1d48e1423bcbdda09a957043 c7bd2046a8d7631af05ea8ed78228e9223e883dc
+db4f68bdc0c7220fbe218a02137d6d8309b335d5 dcf1a1fc3ef875d254224ccc48994cca1a797d9d
+260e52ab2668b03c58358005996eee151e3d2207 e0eaca50b29e6b8f69ea45049eb50d17ecdd7a69
+f51ea69dd942de5ab7d570438e4f9cedc214dc24 5e913f98a7991444ffe8ec1ca1b35f80e89bcde8
+fef1dbbaac464ab1c9c9bdf60d07970b84590511 1148d8e8d89a6421d31887506d7ab01d3ddae509
+42458468673c4b76c981e97ca1bac0ec1cbba35c a843573eae8f616a1355c8a05e992efc77880f6a
+c49be5f902d21c04d87c0e993aa20fe6b172918e 27044cbf6f948235905058ac939314e107311692
+5aeacfdaab20f56f106386331dff1f5a69b5cf2f 46c89c731d2ab9c5ec726edc360fee52952d9be2
+2c4fc641d298a857bfaf57089d2e211e67ab6218 cbbae43c12de4b2f2d626a68cb1df055e3ef1444
+2ea5dc26d4795343b7b4b917116c399a885e69ea baf62fc18710d39c2d2ea60bbd81f87baa8ac48b
+18ea0e1270b21a14f4c856ceed873ac61c60c819 4a1756fc1b242776fbd93410e62723233d083576
+d35ab1fbb7b852cd5d87336b8b43c81cb5ea608b a4cda68bd421b43a4db66102c7378dfd50bd79cd
+bc2fcd9df656aa80ee10ef0723b23a7e0c8e7e7c ffb3b6fb99e507277439e1b71bc86e11f6ec2548
+81fc7fe78ca68114969cc2bdef7ab069d50f8dd7 8070b8e6062752cd269735771f6bb02dc2be7dc9
+8531c214075c53831549ab5f5544ca7693a4c409 a3cd3bc682df337b1a93b8a8b699f1509ab12345
+61a8553c472b2a9ae2b0bcc9231eb12bbae7683d 6d3fc4bee5110098c161361aa278ab9d06c11cfd
+e922b0b14b4045f2c1514dcea5663b5cdf79eb75 2f59f1b533d30d2da21c679ebefa4d12e2185d69
+b49b04754202e0b102ac74a77541c8141ef5addb 7da84f992846a23b9a74fc890ecec4fc90e677f1
+1d68de98161180ce104b569b5963356208f61d89 870ae501808ee5a103b0d7b5619d93f573b36b40
+71010a81e74b75325f7ba9c6ec4096ea1e0315e2 27044cbf6f948235905058ac939314e107311692
+1d075999e56b1ca404511b1c18584e33578198e9 870ae501808ee5a103b0d7b5619d93f573b36b40
+89d1c38a086bd7738a67f8e830e131b371b9c3fa cde4bce94b930f714b91d8b49eaba929ef425f0e
+c56cb38b67019cf07ce86e3ad3b6f21f7334eb28 1ff2d5981d52ce4802f8afc1c1c56bcf12d3aa43
+86b0333a1e307afdd3dffd5767193e771b762cda 7cdafa71fddc80f0992eeef7c76633945bf26c18
+838f2fe398ee1a1c2324bf661f08425245b2742a 7cdafa71fddc80f0992eeef7c76633945bf26c18
+f2860e5be71a2b5a52d99705af42d426f8f9b6ed 7cdafa71fddc80f0992eeef7c76633945bf26c18
+2fd380841af62109e969c38b848ef2e884b930ef 4c9a398c6bc4cc6413866781cf75ac856451f623
+2de7370d77f122534bc718635cd9909f45d544c0 05d11a400bff0faf66b9994cad22e7dd6059954f
+de5854e027e1bdc74a172463f0915b5cef02b810 05d11a400bff0faf66b9994cad22e7dd6059954f
+ad0f63f4775aa8215ad099024a311c3cace913a2 6bf1ac6c9633346d6c3672c6649d125fa94386ec
+1a6a881c6cb7958f4658aae1d7e5a34f702c9c1f 89d31c3924bd5462b270a5ec7aa69dcd5bd60843
+e93148b73736371e6f707461f4f7ab4afeb6f677 05d11a400bff0faf66b9994cad22e7dd6059954f
+814b0db1e746de0d149d182ea9ba2e7edc8c115a f82a35e6cb5a2bb4419f85db16c1b7d2c21b443e
+53c474e3d1dc8422f8c32d42b07ebed3ddf6a7d5 f82a35e6cb5a2bb4419f85db16c1b7d2c21b443e
+576e4e6d0bbdb7e181598458cfe6e192bef06752 63312ea366ea51db78c113bc7b74876ec83960af
+90db53ad9020ba5a5677159da284a7a1d9266f6b 63312ea366ea51db78c113bc7b74876ec83960af
+65db2b4bb8bed4f555f57c7bbb879e13834c43f3 63312ea366ea51db78c113bc7b74876ec83960af
+e6799d2283985d31871c30d03873d36204f926c8 ebb8309154a6434b1b17ceea59c29b177d2f70a9
+a3e2a5eb194e8e4facc13ad0972b4ab6c7fdff74 ebb8309154a6434b1b17ceea59c29b177d2f70a9
+7783cb5ae03bfc452c271f2696c3f34b7fea3015 a70c2ae054014bd1398c3559d83533fd170ab9e3
+58be7f8b0d2409d41affbc3acb0349f140be7afd ce673e1e48a5476ffa2a74962e71107add770648
+559c45ea909fda637783a37bea584bc70dedf096 ce673e1e48a5476ffa2a74962e71107add770648
+8b3e654b3bd47f6d807d71156754cf1e32bc510c ce673e1e48a5476ffa2a74962e71107add770648
+df21f159965b73dd3a91088f460297aa942f49d9 848e5fceb62eb72c9e3458edf8906ff45fd8ddd6
+3ca9672776deac9ef1efe82ad417520202b00faa 170b60c22f15ce3fe245e0645bdaf1b37340188d
+7ce5dfd93e1b75769ae764cdf1028ac2171b6b61 b8f77e88a9408cbae14572d8f712310b59aecde5
+00c44a3f2fb6ed3266dfcf3337335c5efe19dda9 d671c8d5daa2cd0ded7b6a4bfee02e47f79514e2
+63c98e8c37fa36bd8c4f3b718f6272610fcb41b5 59dd1a217ee7f416650a1d982e90f1904dd4b5e5
+7d44e3d8be963f8289365639a59bd704511d9113 09b2c836f7bc51a79ca002fc18d67c9c9561f8bd
+0ee3aa1f9f277cfc2b01c4f7d2ed79d195faeffc 9f8d1be260f4e2b36b723e341ee2d6f0b448cb19
+0f90b51515e87806484b44667ccfd051601f7dbb ea0b6fdf769184d74e37e47e2fe1b3855cabe582
+2771f839e68700722a1084282d8673191a61c68b 6afda4bacae641a1fd261d0ff1ff2cda81ee448a
+d671f40ebd76d48f63146aa48b4a6cb1eef1c7eb 66f4d1710c1604ac04a58fbdbe49e90da6c57071
+baf28259ae07e66988c1ef596861a88ccac48568 1921c806d5a2ceb8d0101619b9fe1c89a0863e24
+179f13f5e5e9d039eb3c23a02555d14b8291a2ea 85eceedd443d19371ad261f3c92a1e80f1bbfb1e
+8b9ee49da0185a6ff99a1140d57447104e31cc51 ebd1d2a6667c51c9cc1e6ec74a14b7bbab09db22
+ea5937cf6cf30fd659690f85e3d43bc5f69a6025 ecd1f0d563c2629ade288a0541a5209ff76c2db7
+38ff64d11ca61b5b1af388445bdada1a9f6363cc 6bc650461583399b6c8b290970a5854aabf6f807
+0f8bb994ce853a7a23cf365ee31d5cf22b654631 64cf0d991cb0d88934c62dfda22dff833edc2cf8
+1a40e8da36cbd1003c0f4d2f91b0bf4ec4b045c9 d03331fd0c2ecab301615e0950fbd056f92af320
+58b437d2e0a67bdd71f0382f0d4f108476993d1e bf09fd886954fd62e2769cc805f8868cb33287a2
+5734e5133cb8f44caef2cc0fd41caf71329048ff 03b8d336362410e899ca7dc0a803d24e623644a0
+a131915d831dd935c09efe71f8fcda408e4d5758 48adc5623b04f10763708cbebb1a2ec8229b4d48
+9f5c52fa1cf107e9ce147664bb556977092def37 169d06e820ee655b05804a63213a8559c81a2c79
+acee9dd9763543b89a28a6c4efa2378db21aa792 c53cfdf37acc914d586dd6f0d8194ca903f0a238
+987f0cc79ab64d3499b4f7b43edfaf17c5d56cae 868113e7c6f45aa3114332e61e0e1dcb89ff2b14
+b0a646c20bec6f1bde943788c69fec63080e708b 868113e7c6f45aa3114332e61e0e1dcb89ff2b14
+5a11da8615f25eef1a7d77593b1e64abe6e7afab c17ba28ce8fa74b38b10c029582ac9c71c28369b
+48e622028d458d80c0b9c8e3d9fc8789413f735c 81d878f319638bfba531462cf39fd39107028f41
+f445e1f32efb87b54ff2e02453cf986695810f73 0b55c1ca5917c0666173f52e54449e942df03c6d
+61eef62db394e244c51831d35d01a022981f9be6 1385a18ae6fe51861c336545c4c64aaaaa02f0d6
+73a8b9509400f212b67eac9f4a4dee2311278bd7 e79c45f78fcd931efd20050aee0690a91699d48f
+ed1f392af42d816a36be6f4e7b4414d0d78d9b3a 594b1f9f9e4e03bb3fd972734debc8a923f7665c
+489efa0a09c24a5e640fbc604ac28792185eb0b0 0672de87aa02dde1be7cc296fca1a0c02cdda67b
+79b54e9d78209163e517a382d1d1001525ff12ac a5302a34726878d2cd3027f46b502405061776f7
+121bb71ccf9958bd96a3b7c0e88652fad1945836 15f4491dcf04a76e9120ad4cdad052562e70d964
+b9b6be318c8cb751517a041ce16be17c86804be4 5231ffbba1a793e06c73c01bec34c8df5529b870
+3299bf793bbde6ce28b3b5a708252a9bc06e3b73 cf3345afe48a455566e3e8bed7c22ca434309922
+fc849ea6552afc2be2e6919d04a197694d699453 22c62714655a40db7981408079b257a8b207fd31
+a4d026cb4a34bac89681a0e61e73348283b959d2 d98054d4739027e6883dc738c9a3c59dbec65819
+1ded9a3c727f456ecec4b029e51074819dc0b8d3 fbb984f1641bfec4c1a6aa1b0e5f76b0be836e45
+8a766268daee1387c82b438f12a09b2db6ffeb06 68b4ff3ac7ef69d9abb1d0507a38fef93f8b3ad8
+c9febfc0247f2f3a2ead4e16a001ccfb3e187393 847d8ca32a51749853b93cf3297a9fa5f3685864
+c40a8a950ee45262ce86956fea7b34022959c35a 4b4d4714dae3fe91625e39f43278030850445c34
+f3a849a4dcce60122ca41d70ddb41e8e9b9e883e 2f49304cb2cdc3ef0707e5b5859c5f2bdfd1453c
+b5d7820fd5802d89777cc2b4724bb7a97d2a231c b27a4ac0c6715f849b914553c03dd1bd9ae8eb7e
+03ebe26ff97fa732e5fabc00eae722b844e5fa98 30e8db6c816580a440444c7c72d951207181161d
+b036ce1985d49b382d16e2d27952006542da70b3 ca8f696c2b78788e30c4cab19c270283824f871c
+de6984c1ed7189b444a38dab9d6f9b12024c6eff 6cd4c71047b5af295682be97abc92f3a1d721cdf
+4760becc693baab3421f7b981f688c9acad40b73 fc1b7f5c71956c7f031b41abb1578efbd2d00e21
+97654b5b63137aafe59bdaf7e4cde9e7963a441e 43214c614f8a77e91144be23abad5f70f2b0de40
+6b8015816d81dd5ec80c7a1d7347391a4dbbf4b4 d48855b68bb36158001583b707c74967ff54531b
+02b6ce15bb492597dbacc84b61ec71e41ebe38a5 b1ff3dd3bb6cd87f7096bc55102001b40f4e7647
+03f18a6989ece7df29f7733a9f69b9d2654d691d d88ae39041675f083062e1ffeb8f793f4c526f53
+b57bcbeb37fea64a4b32a533d3fc9767c2dc0499 3f935ce8ac660511fd61227ca4d4b4577122ff86
+59183223a9534ed235dc6e64421d45f8f181151c 40de3795c262d2723f7cd4459094cdf72aeb95df
+45eebd0cd41bd92048802b9d2887ebf00abf7695 eb48edf97235ac19de0ae8d2942e9bc3725f289c
+c99a105abd9f5ca4782ac59f142d8841f9ab4862 cd1e5e884a19c4c489e2694494557975f5eff830
+58c64aab25623b61a7c4b363f33cb57a4f090adf f6fa1b93a7b86034e63caa9c7ac9ca2374e16317
+b4e34e26630453adf37ee61e1dca732a0ee2daeb b8606f2aee22556eb25efd3bed320d107787ff94
+b8492615a935fe3084d00e87c5084668db7ca4ab 2bc54bfb3212c9d2ef7e04a93ca07123a27ad4e9
+130d1167af19ad8fb57e1512490354debbfb90d8 7c30787e21f2f98fdc80e3b9548a93eb9af8f676
+86d19e3bfbd9948b427fc2c07871d0aef0c2fc42 309d9c9ea0aee56611305f2e4cf1abaa6e64b185
+f13e4f04c175a0287147c0be7480de245a4090dd d6287a83c0db403921e3d1f15f51b263b46164d5
+c54d3c52c5a82e47b4f1ad85a19709fbe31b3def 666f09872b9f140ffc09c7dcddbc4339ffd1a906
+dd06a1042d34b9d375eb6d6273be4128d301db5b 4c704794bd9071c0776260a92f58d3073a1bfa42
+53dc23455ba57b5143ff2b83ade44da6822ad2fa d228050f95b816ef1bb3f6064e8cb9315fc6f924
+c13c4c18ddbb054ea2fc837a9ad085f7348b3cf0 1c2adb67eb5f86aadc839c12d2f361d68319bb11
+7e7ec0b60ace07b7bc5ef42e9cbfc6a2ca26fdb1 e9670cb6cf3517b8d189a8902567a42ebac1a3e1
+371d56b86088f6345d4af0ac8871b048b6fd290c 8b49a83903751019c1fa1a2c4c98748ee6a82fb7
+5412fbbe6162dc048f0e77268270f6fb9bb1568d 5ca05bba01390dc7c379b8503acb61ccf7684c36
+48ff6cda8d4d17e3a0ea046b43c49e404bd97c0a 8132f11b4f79799a149f84a43e091d610c411610
+62eb644e84ffb66490e3b0e88ae10c008baaf322 7eb3a04802ffce6345c26b0b744a6d23ad31ad67
+f562f45ce330dd20d161b9beadacf0632cd840a2 64f3256066eb2aea00f1eb03621a7d2a2a6d5d91
+4f52e2a61837180cf57e9d92711afe7205aee66e 4c89c95e181361d082d403e60fbc8d2fa1baf530
+7f63dac5c5eb8090bd084256ca172649664f3cf2 493d824b339bf427a454a6132d18d15670a0882a
+064ee89eb0dc22667543fe3fdd2cdf89b75fb914 b2ee1b66b1a7bad5b8cab49b7bb83c8fe4fcf1b2
+9b87a91760498061bd44743df3dd8ac4910b9112 00f7282043aa26cd118c944b38be6757f507efea
+4fd392695b053ec1dff575fe25f6b2eab6383e69 45c3ef30265d1072b70c985042f8f6aefcba3fe2
+48068a8557db6a1b4b8b91cae198fa8794cd18b4 8c3e2a9000dc5fad9221ace9c879c4a8e75f1203
+d6c98bf370f5bdae64b1ddf5d8247e0babe7aa13 26b1327fba2e1312c19ac2dbaf8a4d6aa77fe9f4
+71ea7f19573bc7c3f5e192ed6633f2b24d685907 dbea9cb0f167e40264acfbe47433ff8179730384
+a0f551a099762f0ade1fce919f6acb467e2ac4f4 82f67918ce3e0dda83175f1ca5f6d9d147ce393d
+49e628c3a0c5e489cdf58a6fd819d28174a24d54 a1d1e3416bbd99e47601537ac629008a0b431f03
+1f1f3793da608f705367a596c3448cd8abb02004 a1d1e3416bbd99e47601537ac629008a0b431f03
+aa4e1671c45075110d56c052761b898f7ccf9cdf a1d1e3416bbd99e47601537ac629008a0b431f03
+9354280716a37853c6199839f572b3b8be02d88f 1fefb91f2760475d9f9580c705fd2e607b2f6333
+57b7b966de27f6fc67ae1500591b99d0d5fe9a9f 251365a1e245ccc545b042ec54781ae9fbe98e14
+0bde37f793afc07fcb0c6531355df7fc0da7e3de 5420db949c4a1f4c8ac9b37af80b023edb3e3373
+853d939c7ecd085ad30328b5c6704df611db4560 85648199d4ebc7d929df59c848258b8f5b5c0e19
+f4d7e8fedb5a2b08222c0012bdcd8db829ced3db 7d417e0e46fdd4bbb65b67ab9bd85a3dae047258
+190d67576797bca194852307eed37d934622face b8dd2068daecca315525311707a55f6af5a8731a
+ffb494926ce939777a6acbaa4dad0758c12d295d 4ba74917997257095cd6ca30501a9fc04e7e49ee
+6386959b2eb3590f6a28e6b2e0663f351ef61835 61af126d3e2de3a56f47719244332d6b8fe913a9
+40dac01c2f73f4cc1e1ba33717689ca1b08f366a e676e9c0d8a468a5f22861af0264231729310c8c
+74134c552a9b54c32499aaa03fab0d95cb1832b3 e676e9c0d8a468a5f22861af0264231729310c8c
+050509f85634a55a96ebc12c46c29b6f9c5ad5d4 822ec8baafdf405abe49248d29fcb3dc25ca31cd
+1789731b0deeef6d4d77e0d0332c2cf8677234de b84ff78b2406080b43b59a84224e53fcd769ff8c
+100770d114bfbad20cb87bcc58486a2ed018f496 2a33bd90953fcf08e5deb8784d8797bc343631bc
+745e57c8b50f5e6dee36b97644d8e239e48074c9 3c3897cc470460dd80232016666cb94e7f9f7a7c
+4a289625ba0eb2f79c39d8702b6411ef298b2b11 e676e9c0d8a468a5f22861af0264231729310c8c
+b223e9e63b45073131b4eed1d0c8571c0fea8ef5 e676e9c0d8a468a5f22861af0264231729310c8c
+15cb04b04b22ff3a8c3aeeda8e4cf11f095f527e 3c3897cc470460dd80232016666cb94e7f9f7a7c
+1c9ab2b0e470ff0508ec387b283014991226f4a4 6fa4b4ea0698faeb5aeb52abc2ed7b118fa901cc
+c1b09dbe7c7b4cd8c9100a62c5fe09771cc2a7a9 30ca7ad474f8c4e4a3a3b48a20855cba9ba80851
+4608af723b0d75da66d593e116a4441567d0e98b 2c5a20ef04276fa0075b5832e1fdce6daa2377fe
+ce62e06ab7094737a1e10c79768ad4224d0253e7 dd99555b2c73b1d2b2f79638bd27848e076f324e
+ee8704fe4d3685a1f55d38ef06d4e92599367996 c438cca779e5af6ced1d7e1869e414c01e852640
+9a254036fc30708582afd14c818293d5cb7c1e62 62ccf4ff96ffd50aaa7a2d1b07a105911eb13d7c
+0ce8062a0fde55c97095d8ffa3dab6cdeb6be58e e9b191b35865fa109787d8044c960c69b53c57c4
+75377efb16a45492fcfd75f102d549b77b75a279 9a5e12e414dc09c206af023aa03f9eb38d67c72d
+d191de82ea7ee9ffc479376a4497f3ee62694804 6fa4b4ea0698faeb5aeb52abc2ed7b118fa901cc
+30444252cfc830624de6ac280d03b8375108bf0b 82a70329e5d53719bf19b53729a91f6a6f34abb1
+b818bf8253a3bc00aa1af34fb337234cb6023d71 f9698dab96802507bf8c2524ae1fe3b3c598e926
+9a978439f38c53302d2233c5791d441bca50d47e 7218aaf06ae012f0bf4fef52de47c2b0e0a01906
+6ff6d850e2d00f42ac81d7474558b74a9076d71a 87c7fe69b9b41e00079386c4fcfacdb9aa3e711a
+6dad0110b937ae095fda50d671b8087b60d2f31c a01574afe2fd4fca5af97f0a4dde5b48a43510e4
+4c42cc17d17a9f77fe89ca90f1f08e83b4b2cafa eb8ba9e6a3f35585245de561a7ee3ed0fd05c79f
+a1577de40a4ec78b2bb7633136cf725c80f1e8ef 9feb1277be7decda67834607ad384fd742fd47c1
+89325ba763e34577c2ec1dd97d0d49059f60214e e00dbb8f1c2a86a8ef1c73ae1e642d6f4850102b
+3b927fbc250edade18b5e613ea964b7ba5b19bfd 3a638e964dfb198d972afe87954b1094fdb71491
+0f5a15c10952dce5ccfaa1b8e8a0505500b6ba6b c0b8f84bac413a2953d062e507a6f396ad6f9143
+ed56a338d5a4fde3fc577754367f99e4e0b90575 b24b6a66807091143435d30d2aab624b36e900bf
+09eabcea531bdaedfdf3d1932a0bdeaf8c67c99f 30ca7ad474f8c4e4a3a3b48a20855cba9ba80851
+ac1e6791d031b9d3effab15346511239d355a2ed b1b0f9c3defb81c622c179de5032f33c092d81d7
+5768356d83b7edcc5e7cfcbda73bedb5569ced78 e6ac5b2be9f40c30cf65b21913f059f3126650bd
+13c38cdd55ec55e20fbae7374f6b484afb5b5a0a e6ac5b2be9f40c30cf65b21913f059f3126650bd
+b4c7573e77d7fc80858225ec35714a89bfc583e2 3d28d569feca6efd29a4537aca9b3fcf5b6fbe0d
+45e9b23159deffaa1fd107b9132cc20433d0628f 7ca0087d013a8a8932c5c4c42c18879cf8f2e7a7
+71c23db527c5cb3e28e8645b3417e33ed47091cf a5a903e1a7f06daef7694d5720bbc4b6ced8ae23
+4b21d5257999fc1b42a641cd6f4124f613b88f58 946e037186d0879a990fe57d4d9de94c3825507c
+8383874d18d6af5f5f2b7151a5b59ab77df9a8a0 cf7ac483bcc3dce15e8f27ccb9b0166baef73867
+bde0d0d0ff43987a565979cce829b4327039b23b aef1385dae4ca242241803ec65974fcd618dacac
+13220f1ee2497be9991019aba3b195b28fd1c7a2 65f7fc398a2c2ab7f771b9c7aceafd4ad37a81c6
+fdd84d3b5162fc53f518600236b015531c6efcb8 65f7fc398a2c2ab7f771b9c7aceafd4ad37a81c6
+6e058280689d47de4f27eab59050f7933c748efb a734aa157043c1756cd16579d66af9da395f16ca
+ef0a2bcef309b74eca94f870a6d64eb3f96e5f16 ad48786b20fef48e4c2dec8ab43110f510b97096
+a45052f6bc8113bbdce76e153c4202675d3ba898 3001e3ec0048c4e270bcc4c5cee831d0cefc92ed
+59364a00d3cf3a16b51548b0351809068a2f1993 4f0c231de0ee7e08d7d711533a46500311f871ab
+6fc24adaafa50948b8dc6bd5a45d7a02bad9e421 82d0315912fab53c282deb30a2b57fee74a2f938
+8c7f3c4d6e7ca43a93eb8ebcbab748fbf3998a7f 5698256623914b2135f43e6b7c5e292cd5043144
+e8fe444303180a25e078d03f8b6f7bc9a4a85caf 617385d4a40b436713fc4dac415e573e3f398d5f
+7e8909173bdf5d771d2befa86bc77495a1f5555c 63e326bc704a95ca31c64009e5ffd9aa82a17983
+ebbd1f1096cf72dc7e9286e75acfc5cab919ea01 c64a0d0cbe7d9ec815cdddc2a09d31b9b1205ce3
+0e17773b02f3270e0e24cdab2dc6309ce1b1a341 c6e46bc351786487bcac89db25862042c033f858
+7b40331d93db3f26a8e51a9bf48e323fa2c66759 fc6ae985fd4a3d2f493f220156844463d745a45c
+554ffee22590308decf30dff3d03f77347cc4b4c 726717d4e0e9e5856cd665de9fbdc1938b2e2a42
+1288ff2a2f5fd45b0c143b4a1da4521b5ea927a3 effb4acfcfc7d5ffe6bdd5423f62141b17becffb
+97484ca3ab75103c48f825d4612e2f9fd5b13f7c f13f73ec8acfee941941a351bcb41483f3103045
+0656f2d66027abc72a20d458f856bef65e690eff ab221e0796aaa6d06a7f7b60ab6967ec61f62029
+7cb66e5cbc48aab976af0b4149fb0c301e14e16e e35967dd3099704762a35f11adfc4c2f69636c6d
+570851c5baa5722408f0f22307387b67137451e9 8bb9037db719ab85d495fcd6bae6f797be4e5001
+108d1ec557bbad8f645b8bcd0dd74b167e9ce03b a73266943ecde262de6d880fc6a83a23750ac069
+b508ba5e906ed0c9e2d8fae8ee77c47952490478 1e042b6feba90d2f8e164509a164eeb583397715
+585d7ca1db8430205141ec0c4d6f9a71355fda85 d30e35caaef8a855ab87c6fde64bb64630d38d14
+7a60ae6ddc17c62064796bd74da40bc46bcb635d 842fd1f9a1df01ef2d1800d51c518aab19e4d69e
+90a849ae639b9494a5488af7114cd92a7e87e9d9 72c9324b6507c9536a45e25f3d5e8bdf0d73118a
+21319b33974dbcb1c3ce736692bd3a3afcd8bec0 c293a028aeed8ad3bfc277ce22f826fdecc6f970
+39d330a6b7842da5dbdf0ab21d72e20b187f9162 cef21e281f668335ff3b1f9bfa023079d0af4504
+bf898481827b80c3bb43b3779443ae01b860fae1 c304f458232cfdd0a975359c0920ff3d9a439c91
+7314bfd2a5342cff3305138872b266c1a9061ad2 97a4c29fca44c700ba43a6e44c4226098b3059bd
+e246935cf89bb5c74caf8558f71344231b71c4e5 16ba32699b2057d8f34ca1179466bd40ebabf885
+54f51aca12b5ce513f1e94f118671d9d9d97cdc6 78339118001c7c688d8d106aa4adcbf4589c7bbb
+72c956aa9a3309442eff12eb25e1117265f1eda7 be9c8b02b0249876ea94ca7b446c271b15d99433
+d6d853fa935e371aeeefde4cf70ff60252e1910d 7549c844f6be5da0647094862784383e91172046
+cfb83488bae261f3ed3d03acb97b9836a5a8af03 8c727b1d7585c86237a24fc7d9253911a42b2556
+b7124738608666d45b03150bd1eb7b69c21fd20c 8385c68f9889a61a27cf0c55a4315441ae616bc8
+944d878e09cb7fd6497a720d7ab34fadfac4628f 00cb5784f48b5ace3cad81bc114f2a55b253f220
+b8d63aa36d09bca5f3ea7f572989dedcbddea2dc a59a4683ea3fe28e7fdb1fe5a7dffb706bc180ff
+ca116f988c14f23d57135e1ff53d35e9e805710c 7f7fb8301459e89b5b5c14df515e68fad10ad6ab
+aab2e9eae403e9c57f2ffd27908dcdbe0902c7f2 df6c2c6516a44f83b117995576b59f106765319c
+9b8b867d6b6213dae41317833d8b1d7295b7b599 15ec79af804effe826dd1192c3dbe411389b55e4
+6efedeb2b79a95ae561cf6caaf390b24ef03f723 00e58668809c86fa56045a52ef35305b20463088
+32c01e38e98979c3399461be2908e4811062865c e92565208b57a2430cbe22752f5acb296cb954e1
+241ba20f5e05a94a86097a9ff92cfaa148c45f61 5c5bfcebc734f7015fa59b15ba258560b7ab16a2
+c76888b41806b03fd26f09cf1691a4ee379404b7 90b4c0f6d7bbccbfb824dccd9bce1b27838cf55f
+16b6c04d2b2f4ecbcd99573e1664c82d1024450f 12768db59e9f2a991237d460f6cb8e5d260df2fd
+49c4437fb85d6bb2077309680e5b56fd5b213de9 63779c20ac093636a9ede1f087b90b808c963ce1
+43cee192bca48b0d2adf9dc95eb14d69de21b50c 109f684856e2cf95ec51529c947271aebc397a20
+3367ea6260c1bfe16acfa50dd9f18df262ae4b73 28b276c978928920df0eb4aaf62beef5b15309e2
+f5aee9378994d21a21ec5e208f7acc8dd066e65b 5dd8893400707d4144341d1494c08d6a29f82d25
+ea2db9ce7998fdb611e294736a4560353d54f293 3a4b28a9c5d0d73a9d1d39accb0c2aea11893107
+6318273b51587414d609ef7c253f40503ac372c2 91fec93a94ab9066c8d0dc4e5e19c2207c1a9ba8
+b47230394fcffbf66fa72994ef7a731244bba9e8 1de8d6b49f071b72a105eb0e430cbf11349aa269
+f75068a2e663de45c057e6c70a6dcae039df8524 80ec47697a513099124fabf6914e5087074363be
+7aedb468245012425451ee789381961004510bba 44cf89678cece1dd56ec9c16b73364faceca5f04
+2b5be4a8dd1131a2833b01d2b043b30383da8a23 805761c26e8db34e7dfe07a9a30bf478960ee5a6
+08bf6e131ffd71704ee46d3e3a85d8a035411708 3b550f25aa807f22001a8be77b3ea28a4b068a16
+b2605e29d4bb7b288c1b70559b63fd4955d487ea ca244f754ee8200d0bcb3ac80993df94fa75a06f
+d26bcf72db430e4628732893c174452f75e11e44 0171ecccbe2790d0fcf9d04f45c322fb1e1ba8bf
+9f40bcd7aa3545ee6d9ab6930f2bd88a302e6f80 d1fd3c5c11cd04ad7daed25e5713e8d137111527
+8e11741b3cc8a6cd16872df53dd837d263e18676 7ab19fd1910509c204a34f97f11c719c90f81b5f
+780ad90f214081144079fec06b7ed3dc5128ab09 5d86f3e6f2cf08838eab0a0cc50eabbc0d1379a7
+59d354d5b2c4e65b7d3fe3ee679bb785a860cb81 ee4bb4b367a84d72b65f6483f0d7e6e96d26d6e7
+d405e07185d82dd9196b1982408deab7f01d59ac 39cb8ede5d02e56b56f2e5d4aabdd82dc99226f5
+bebc7b879647f911efa2ee9406861c3763bcc954 add10da5beb1d82639667a04707d647b2090eadc
+661d6b43262f40f846cb29f96f91f9da57476867 5d149d5fba299cb864d57a6de93d4e47e466a65b
+0233f432f252b0ae133e35446203774ed99e0a9c ef97b0b77bb36162389692af3e4aedb3af9a7c0e
+0fbeebb0c4b6e0b8b5575a71abe9e92870b184f7 be3dddb8791ab40fe01e5c2e6a57a753c67f220f
+aa9040f66cbf6afbc7f7f6502e292ea144f5123d bfc56c6bc238e2a09f2cc909ec16ec4e36489f9f
+8022728ba2541d6f266dda3f3eea719798d81103 da4f5d40ec75a6af178f99e17c586ba675baae24
+5863e94910d10a216d0fe79035271f44e154ddeb cd2257bd4e3ddacf3cf167274c649a012d066617
+56d47210822348a2082e95e20a46fec6b8e310b9 f61149c8723298a594cc00ed763da14225ea5069
+76ac8b7834d2deb2283d2cd44133d2ad6718d789 65ce89e3579a9c48c824ac599b21de00e94e34e6
+58006024c61f7542003bdf0e1fe57af171930f50 5781dbf9ccce28d7538c12c8c8240052fecfd385
+940bf6f180c59ad88cdb2230b9c4ca9b9383d4c6 76fadcef5041905487002b10d4a1d5808addb587
+c68bee075fe20a49efe64f5c68bc67b492e3f2b3 bd4a26ff2424ba0b50ee80950c4341c0467c49cc
+9fc7ee3f54627ccdf56d47fba58140cdd94261b1 c5c043bec4f8f1e66b46ce4e74d7314caf47f51b
+ab9bd8fd091a30f65fe0c75fbd3c8ca8066b43d3 aefa59500fe66b79eff44091e59eb24b42a642ac
+38fc534d57658ed00e6138d459770a99c77eb099 c08e5a162e6b0d0ca229b31dcb2dd71861ec4eed
+27bc9af979d7238aea683bb656228737a6b6017c b84ef9a63e20a1dfa487dbe02449e32fbf39765c
+286bb8d6d8b301f03707bdcd4ca626ff1f5c93f8 67346a0b8169e629dec2aa1edb36df6f8990b680
+7ef5cc905747e21391d3772428fcf03207ddba37 3a6a013dce251e58376dfdd6c81781fcbb8a1f97
+33e2e9a97aa254f73a4c036a948ad7e7720ddd18 4ceeb838fbcc58e9551160952dc5951e5acb4588
+271e03a464bca8fbe13aba36963876b503d476e4 e3496d22a4fe25c0186aeaaf9c76f0605f6d0aed
+1411a48aef025eb212039bf7de330c102d82ec43 f93c71e3c5d3bcd04b593c4a99e2faa41d6ee86c
+3ab3cd44a3091f87c26bd33da9fe00937a5d360f 00cb5784f48b5ace3cad81bc114f2a55b253f220
+d6b59485ec24b0dcc905e92a7ef67807338eb0e7 00cb5784f48b5ace3cad81bc114f2a55b253f220
+5fc233811e393cd72bc06e81c64630b5d7907390 00cb5784f48b5ace3cad81bc114f2a55b253f220
+9f8d4ea0a32109adead56cee19b105a9a46842dd 00cb5784f48b5ace3cad81bc114f2a55b253f220
+0febc2d1e5a4e8ce08b7810ddef7d85486d5712d 00cb5784f48b5ace3cad81bc114f2a55b253f220
+58f370d1470992a400911b08b5411e5ca1937ede 00cb5784f48b5ace3cad81bc114f2a55b253f220
+23290932fd94e283fed961e8de5c48995c7112fb 67346a0b8169e629dec2aa1edb36df6f8990b680
+f34ac2a90c88c5d949dfc77dfc6aa02a24626525 f93c71e3c5d3bcd04b593c4a99e2faa41d6ee86c
+bb66cb8a076ac568b304055e22685e4b28f6bb2c acf2bddfb43aa61e056217113df35c7efd7faf32
+26054cd6d44c72d4367078d82da03e13846306c6 acf2bddfb43aa61e056217113df35c7efd7faf32
+46c9d9fc64602c0ca50cabf175573c189ee660bc aa6106b2cea442330750e3804a9ad1840651d334
+a9a597f97d29642438c6448a487274844b9a3642 742248d2b60c970973ab97e5e2e598b3d9092833
+8e324272f4c8aa2b20aa3bafa82d96fc6d2dee2a 94a53ed44cc84a520c089d62b0063f187bbf1c32
+396ab40ea8d1e295bba0159e7c54da63af4cd0e7 401b1186df94c56d4a08b66c418ab835c7f3f3e3
+de9229688b70e45c3de1abb9f63cce28d25f4903 4fd91952fa76fba87b5b499ae2bec08e2cc905c5
+aa9e3294b0d6abac5f15c50e6cfb059d187bcc87 b43a459d62dd0eac70c4bf7460c2e0b11cedb24e
+01b312775c5d09ab4bb30e3728d9ca6bbe00f1f0 b7fb01584330f77607aaff5a7b2f7832918477bb
+ceaaece10fa241322d56e41a70fd8b85c463e8bb a04fd109100fa96e301160a81051bef4f0d8a214
+23667cf59547816080aa9c61ccc9c73f2f783d5b 1baf5a6043f4925b4668b4df7929faa85269140a
+bcc3c70710415bfa20d21f1f2f721247982b9d28 a3fef01a7e32407ec852ad2cc6615860f7b2ebee
+610c7dba2d06a7028dd25e6540efc50a2a3e5152 6dd55be0ee47e59e3209709b8b65e5d0a66134e3
+fd27564b8a8773ac7f046630e79c95e3353aaabb c4d4c08a71af30fc7c852b2e882fe5d921508b18
+96febeff91ff69cfe4790da8d2ff90546d513bfc 847ccd5ffd117cbc6ce74f2e8de3fa2cab43fe32
+2d08704436c4bce49bd74853c29db704f432c362 53d99be42a066b315ddcdf34bcacecec8dc3db03
+46048e927491f4dd1f12b064a07c446cf062f0ca 04ebb0edbd763a44a40501d96bd59bb857e6c88d
+f37f952c44a086bf77b6daa253f8ffd450d5f9d3 8e7c1c7cf50918e98466fe699bf52618e1fd500d
+175e2491f5083491463249a9936186b585f514ac 577e40082479f03f060da947a05c4d9de4c1e215
+2a77e59cab25d7113cafa62e603f81849ff5d83d c90bf01aac0ed29f48f3678715bce9c3728abdb8
+6f63070f56a04bd8074e62ec5b8c6478a6a0049b 8121ac4eceaefbfc7a32ddee8693fd815e82e4b2
+4a8629ab8ebafe0fecd1664f81556733b4f0c13e dd3257fb34dd44c31349220fbd7a9b2e118d9a52
+66ba16c82d05456f7e37dfb8fcf00c33e4082554 cf9069c0e392837dd0becc920adddbf317b555aa
+5ec53ba1065ef5e30a433d44013ddedac88c3bea 8147d4b9d7d0b44278af76a039e5c2ffce96df8c
+7ae4d57d24acdbdec9be054ba1887a02c1a75a4b 60a88769de3e3ded0a15f8e6779621f6088ee225
+d3a64aa710a83aa23e79b324f693d9994e19cb4b b08fe6ca7a3c85b8829e8113527a50292ba20a2d
+4c7c8d015d7e75d619ca7aad8c47538d96598190 b3e35db34232918be4d4f9962e01ac8402f75f2b
+228319d2c9125c5f3e88ea4422c6d6af151abdbd 6c5f2f7f3015c54197b9ec1200c6fadfc80b9cfd
+0860da6a26464ca21b4d27ad51ffa1cb27d94924 7e0a30f4d580f40584143274aca8120178e62b2f
+31446d29dc6d0c4b73ef806f5646a35e8ccfb748 d04269ea50b3179e8d5965db75f7a91499df19d8
+e2a197e38ff7509ca056b4312499c20f85ebddeb 17f218a8de25ffd2f14ff02b90c3a8ffab752f92
+ff7160ccc1e5f91d144801327bfb2ea29a044c89 cdb873b6bb5a439d9ac65b536431c86c81f47532
+e6c5f3b23be1ace8fd81b8397ddddf52d066fa71 6d8cfaad354955608807784cd9b813e0923a57b4
+d50a053b72f3249a3da3d7aee66db831b2fed4cb c547eb837dc8f3994a20f35c50e8940f6e7e0b07
+d4b14117ae9fd2a8b9e57977ab9954654c74315f e3fd3dfd1e325d59bf30e1335f9f57de18b69af3
+10064a9e44c2a46b6977a63a496038f6cb0e8161 5b464e176e3dbce519947fd444320f82f8e3c8e1
+8a7518e60d141375572456080bc7290eeb9aaf27 7e0a30f4d580f40584143274aca8120178e62b2f
+0af9371c12b2daedc2c063e945e69ba19c1a272e caad82c1f67c68cdaaa8e754a1089437d36b2377
+f7e0a15c09b74e91618b15fb0d24db4e396ce997 caad82c1f67c68cdaaa8e754a1089437d36b2377
+ed89e4b7d7f4a61d7a09a384044728f96f85837f 9d675cc19bd542ecd02222a15569e7da4a21acf8
+3f3a5720847423b84f92b1fc8e007b20bdb5cb4d c4fc784549c803899a5b890d553c5dc23ade3077
+b680b46f4d97cc03c8cab36461fff0a7a101b420 04d643585725f4e323efaee1e5ed3ff861903845
+e3700727fbb796ed553b26ebd473893d5d645bc4 91706c19a5586c4154f16a216fc629a60fb32084
+2cd09ec40210b43ed25d9825d81cb16614b8c6c8 04d643585725f4e323efaee1e5ed3ff861903845
+41167d810a36650bf7a8296e950f34e03adf0ef2 5c0864518bd2fa96a17707a8e254dcbb8aed6433
+c4df021895143bbc440627cf8ced8738c761dd04 f4980142b939296f4bded44cd652b92660788e71
+df983489d7f34ecec752ded3a443f2e30246ddd2 a49dc3ba1d4ca37c78f12fc122fd4b27df6bf98b
+d1b53ac8b37002724011d6775a993e45c2e00e29 618acd345524756767eb60658f19ff51e9f67d41
+8456e072585474c3ac648b5bd83d37679145ced7 6da9984d48e94c465c218f4fe3b14f66b880678d
+6ee30549c6b32db4dbc067aa0891f5e736fd2af3 3d1ae16f76aa11889357091b5b506e15914b9639
+4b7a12da4bb97a36939bbee86e8f0c4269f6f325 19792cc6d2bce5298b9f15a1709605f453976a5c
+109a04c36799064be75b7fa081a00d56a1b5b00b 20e3a6b9835ee3fdd58f4bf1e170f42567d9563e
+d29f7328d1bfab9302d92aa69c285ef14a28c6b1 4385be14afbfc99d5f965b81c14189a7c7beedab
+db95557f2b9a90b81aed46edb1559eac18eed701 054022ae9ab6ae9095f9246940e6c6cea13f287e
+e9f2b7250f3d059afc6e1a14b6d73339a398a5a1 642a0a25431caf856cd36f58c80e773e31c98efd
+2660b6eb2574e4f4f42afcd4e7d4ea210b0a7712 fc4023051d147ac711b004c8af8cfbc56c1578cf
+f4eea4719597a99576fbec7b5d6a59de7ad243e0 01cf2ef81e2d327a78992b71f231b6dad5e89fc1
+39866e7ca2e15e40f172e7d133a604de1c584e58 154e9cb30ead980491c1c030cff5102e081766d3
+b2550229adf6207c466255b93523fec7fa76a817 52ca75ddb4ee26551bd4d5834d7961b5b5e7b19a
+a286b4a3a79d15edd37f18148f45d3dfa8c0b0be eb82f0b05e54dea3901abed166ffffde2b94a36c
+0ac6cc2fe300ba7ee11bb0f2af2b4da2cd905b90 315c526dbfc5593410d28cde229a434d4d8bf16b
+7d89e7dab9ddeb9675713a7319c35ac531c6134c 090229a79e11c9dab017bb565d9bb18c29fe7b16
+cafb9fce533ac95490ec536936d0f784f7a65acc 34a2a26af47558d6dbcfe2d4c73444e271525a7b
+7ee52a28f9ac7867f5c091402f6efba99c6ca048 5dd5466f32a551a1edac82ef54aa3947ea2644ab
+be449de79fc89cf8247455977dc8bbccbce477d4 aa3c7be52e657ad986f6307e60c1e6f029a3dcec
+1cff1a666fec2acdc97867b1a0473c5ea6da472d fc47b2c3194ff5f418fa7be4b4fe37370a88e14a
+3e44017309f19ee9d886695dc80a1835f786e772 eff688cd824aaf4062d822c86c017098133c9395
+9a7656ebcbcf08e88637fb35a5c7a3816789570b 2d6b9a216ed82f6b784c1b5365e2e9e45e30398c
+706235d41fc06ccc9feef64fec206a358cae1a9f da7bdcc4f33a137aab28b49395a80ceae2413f42
+1c461a5945c62825c7e737b60512d894952b547e c99643b8281502dc3c54fff6656e3f25221c4847
+c7bb3c372fcced1d78a55ff12ea9abaa215304d1 b26bd1cafda4be9b5074f5c23aeb45e89717b16d
+ea1259a1953d29391c4c42c4b3e955c8366ac049 6d5f3aeb32fb1a42a73ed79874655a1241369c22
+e690b271bfa9b705a2181af66e373619439c3dbf 3b39333134f4b6c30acfc761259ef8fbf1fcc142
+605e94afbd360d830f25b469121ab3ec2299d114 f76955a024b04508793135cb361928a62d60b854
+c3219e6fbd71f9c2ca708b4d4a558ebfa9518a5a 0eac1b26d157ea88497d2a6e63f4e18557f56193
+04d96e546186a673ae30465c55a92e0d677023ad c06d4e201a2291890e98d54210dc819d7e6dbb13
+8e0f356e2b1fb80a12ef28653f9696c4a558835d 5fa24ccf8492ca37b59eb1c6450a8734ac5b71fc
+eac5c27aa6d62e98c7cd5e03578da5e4c47c393c f38a4877b2a05b99e48c40a489ebb19076b67d14
+93031d7aee510fdceae69a4035c4434de36c5ca9 5174afc652edaa352f26c198aeebade8b83c0750
+67b78cfdb9d9aedb18f912f70216cddf6456216b c321c523e4b2febd5681291433819e9cbcad47a5
+cac8641808efd89eb8a49b25c99da33f109cf5fe 0d2b8f45df639b2624fd98115e1c0e06a6ea8728
+8af92013451b467ae5c861237dc20144398b37b3 ae21f3a8459b9271da5b2c63a08599b0bb1331b9
+fbd4d6f398155336e7e8336a5abb58e226aee908 75419182bb15b2ab645cf949c95d97590df26303
+a577d1cad9ff2b1d1c96058f7eb7b94ab66931fa 00da5c522cb7ea44a3ad19c8489bf2d34d419cb5
+f951fa0caf2ab20353c476bf7a86a7e41b70fce4 5d9880f2f2bd704d4e3b7488cf293b7b01423359
+bcc70630cb43b247f93c2b1b6d46baed33607e51 fdc0f1ac064041f6d607cc3f9bcd6eae6f8f0e87
+7ef5a2c38ef8fb14725ee229ae65f58eba5a62dc 939cb501ce9e23bcd72dc6d1c47276dc948e5020
+5e7ce89a4c9e21f77d247f14c0b589bec11b864e 4f1e1fc1d956f01a91a951ae5d83ee17ff9ab949
+a755de1ac19580afdf5e8545346e1ccaf8444d7b bfeecde3a6815479770ccae5284cfb43f9402fb8
+eee530d3c6ed8e87c5345e0538011a642960685b fcae12a4935ed42a9336e0501d4236402513ab7f
+aa40cc65d8d778fbea2a0ff0e5b4c4a94c539636 8f717e02c35d386d7291004b2fa2cc1ad31971f7
+183a92c058f8ca8f27931229dbc556d1dfc4c4f6 771ddcb35cba5157ce512d031e41a4522f79ac48
+9b4800c8de742b194ae05ca84cc96c992605c345 79601c328cfc466766e9197f664f0831eeca137d
+1a3a773d433af98199729203e693d7137753c041 6e25397d769a322e486195da14c7f6e5a26ea5a6
+57ddcc019dc7f85fef3e237c47cb56f8a5f713dc 4f95d5230c9663ea0032ededf65853789f847bef
+65c0e7f76d967645acc083c50bc86767b1ac6ec8 c5350f342519f195e0732d92da3a9796707ba4d0
+c378df5321bb54522d14d3faa49b6b36da674bb2 02c1b7f3a820a94acc0ff60a8d6a71754ffb6f37
+6ade2191ff6f1aaa465e11b2b55d06ac49f4ed4c a4433365a2484db071e79ba4ece8593992f8e9f8
+fe0048f8b93627ce56eb96e342ad31e862d4ed13 dd3a12a5d7fddc92adeee199e43210f025a3c4c5
+00b0c4ef66c0edb9fa2a1fc9da73f965c732e6ac 311847adde5e7ccc67513de8628995bec8e7cac2
+19f13b82b1b1735a6dd8e3b0039dbdf782b7b3e8 95ffc8869ad6163ad69390ed163a9f8f602fe2ab
+95c50d1e1ed470a7e6614e0560434f2f044b2741 eef8088ccd5cd68a99eb3c056c1efa34b4cf67a2
+f4361f70ac78274bb4c2c7ccd2a9e13073fe25fa 023fc99b7c23398333c82acbb2ee473ad2ddf297
+db5722bc0155d5a54bfae8fe315bb735cb16878e dcd773ab19c2ec05d731ecb36fd7ab182c6fbca8
+16f9699c0085a8636de5a5455f6b1adc734fc0b6 6f88da287d590fa3d0a8438d2672b75693a68955
+aeb6864eb1ea2ad751a8edc5df5e26e2ac9e8779 188dff95f42fc46c03ee0fc80222b9005821df37
+acce43d168c3a3725ea3672b643b29fcedff5269 a35dba9750454a7ed8a8da95684ec9bd58de8419
+8951c3bc9fd3028e2be36edf726c43a37202acbb 644696fa4b01454ae584888079c34f4491acec1e
+f7ce3bcadf0c80b761e7e525da94d3e0db89b3c8 75b36792f6a953e19d8f9dec3631c23ad2ac4818
+0504ec6f65dc5cffe5351d811f37fa8ccf2b798e 8946cb719e6e4b88c215ae660c6fe888a30f8ed9
+76c45f6689828d9a8ebb9e9c9b2f79da5825229d f9a4233c9be9a9d466ac53a905df72557c7c6149
+723e043cc45159c8748aa7a204d8308ed1f5dd25 3c83c8564ea88c0369b38e48ca33e1a9a91f3c1f
+3dbc064d85a6a7a0fca669e2a0b477046fd4b36d f280b97b513f875c142ebab550c660159014e822
+6075d04ff75eddf5f6ff662c377d4e487ee76028 0c5df356c568701ea959270875882bf249f8d2b9
+57c12b96d62b13a0f408ec47408c530e5c8f028a ff9aeea0b83f4bdda542da457e0b5a9950ae9805
+ca01b8616d14bb463d96caa038b2992a31730f47 c874614700e4146d58af44381e1337ead4123d37
+e0de6f28a8b66171eece17da58b2adb640cf8bfe 117e7790c0828aee8bc5981e96502c9a195706a8
+86b4894ed60e8a33180b7ced89740254132344a6 7fee5637bd950c554a9579f96f3562b1a844eedf
+0ae60ec009d629b2fbea7640bbe897c05c22b528 d527bc1ddfebb9adfde50ad676b5a3a5ed8608c6
+22d090da64df4be682bb039ec5b05541e168f4e1 f43efffefc97f93d3b81d0380dd758292774bed6
+7268b20bf19c9d8700a12f5f5846692b8d89c3ee 08a935ae4b5c4e3f2afe6e607048598c841e478a
+2b18f2d4c2f94b5e44d5dade17e6720e9e719c54 641b5eee651a8f5eddfa8000d26f4b4583d16600
+10f7ce48e8198e53bd180c768da0f3b9bd1421ee a1e1562cc87f5f9fdb06affb1a0b3be93f012969
+a601c8ddf5c1a8036585a97d62e956d5b4fbad49 cf71b17f759cd085afff92d2b013e05988d3b39d
+82e328967ef95d3ec87bbd691849cae9676df222 9867b057bc62ce3624ff1cf520e9eb2aa859a0e8
+a31660efdf891ac9df632a8727e815e81e2dd2fe 03eea64a47716ee494f2724b8bc72816843dc73e
+573747122a3d2386bdd7a6e0560e3eac1d62f2c6 3186e9bb3199a11c9e99b93783a780e7ef2095f0
+d3f96abd5c7691e0bb041879bd2d649a4a9631da 1982ec1706d99677c7f301673cb557921dc82792
+b581ff19adda002dc0c1085416576a3f8a1e4b8e f7899dcf8f5b69645cff5ae968b48ad30f62c566
+c8e020601d59f19a8ff0309cbbc2e1c519ff5752 46b4326af1a2cb1092f3bd60f7ba41760c761b7f
+41b0f9710b412ba4723bcda5eabda5590e91a4ff 4badff6a7d96e979a801417c43306cc0556242d8
+bdbb7292cd4a02d5bd482f8a48369da672c4ee2d 3bff35121ffd1625de4fbe46b5be100b778a8653
+84c7cb2c9eb62504712cb509a5aeb16e90880cbe 74ef8ca7500dfc17436aaca6ec40807311d03fc4
+c6b39664d4bb2cfda603b72e26b464d7ed004118 7855abc9078c3e4facbd2d12a84844dc0f60f8a0
+e471d9d7430f68e2a92e71710d44438b096e00a4 de7599b6e3635d173867876047d19486092dc9ff
+441a2eb4111f0fab7c37835c7549066200fb771d 9806d067a286617f9aaf9774309f0354736d0acf
+72f7ec87a410b2754e3a9a81c9a076cd99de26a5 b95cdf9c4dd8c59c93c02d8816681b139a30d679
+8a35c03a5357673f2f9322c3b7526407129bc3cb b4ff1bb1222911544f0ba06212ad1599c0867666
+559f7b8551078734ad5f9dcfe3ca1a0e5d37ded7 7a458cf8b48e49f3cbbefe6cc7e7f589d17d583f
+fc58fca1ae2a3767533e7a0b0ca06ade2a4bac49 52526de03e2e2290ff00f6b705a4a419d6f9e784
+04331a50a2849116be8834d43ef9c46abc6f98d8 6655cdfef1fe4fe075bd98147dff3adc03702fd0
+a967e8d2de4606245f8851ed75fd4fdd593d9809 4139680f9249b5c1ebed927d829e06f82e3431a1
+59f5ffa839c238544279e0e7d1d097f42356d543 c6f7ce9dd109d39ce54dda632f8413d74c2a3790
+b2914df9c7e115b71ab80faa3ea483666d18d0a1 34b27abee3576f4943df0a384eec4f2968ce836d
+3d081af920314d0277993114d51ccf0e5d2c1bd4 c1937ea655f7e8b6b1bdaf7c5bdaf67575c79607
+09265cc36b3d8e21f528f55b79ca0db499225485 a6a848b42b9588675db04fc66289cd4f1b22da9a
+a4b86d56734176e36aafadd4ab8e6fa5effcfab9 9927a4a9a8135028d0cae9e0ba56a206cd31b489
+20794328b483ec23184913cb2bc138910d996b17 1515b7e67faec4ccf707cfa1f107deb47c726601
+314925212c84d05770e7642c5758b807bebe0fb6 761bb43112979ed4c6a01099c7e2085bfdae2374
+aa31821f357ba49be141349c2e0a8e63f0804dcf 6fde9b05dab9e73ae0f1b5464e7bdb0fade92169
+132819269dfa134f57bc61e26050c15ecf74b723 42e6a2dfcb880c7a10e7d2ef1b92ee901a629d4b
+164729a6228b20a3e532869b9ec1552ad9a98c28 8142b5fece3467a0ff195d52dd899a11c30e9c27
+1276d5de90e17dce330546de2d9f3420433e4d57 34a3033b7378d45956f9db01c9eaf147e6c9e569
+b91249d59472e62bd1536e473f04f7cf1fb98051 125561ca5ed0b16c7e0d0117eb335e9d654c3a7c
+ca9f03839ebe56d431eeb4fab512337fb60b9c8d 5fb9a26e6173f07deba6d092a50d2beb387443db
+22640857ec5bae226108e7d6a786d0963496270e 2791bf6bc833a9c21cfb3b90fa84ef6d711f7d05
+eb9845c1d241f7c50a3f9e71bc669617d4f9460f 67a3d5ab723f7a370cb9a73a219cca8920f93247
+6bffe087b1d2795bb6a7053685c57328cf85cbcc 18926d8a03238b01fca5e4881579d0b118cd33eb
+b42ca7a81edcd3babb847271dc2be5fb666fe8fa da293b8298804bd1119c4e71af8742a7473eb8a0
+b6af677ec75ccea7500be90a43215fe334963a69 ccde7912294c63f7d6f4bdb2f2057392fe516f0e
+15d5d6cf6f4833817d1c92f347110d07ff13991e 2e88b856182c3639bc1f6c3113984d2a6e891c3f
+e5fcfb526b120fc4c55ed824b02ed32447fec8cd 6510a0b0d8d1590db94b51e100b0bd6a8bfb1646
+6c0d102c1ebc4fa4036432b14409b9797e0e964e ac5960e5e8c2651662ab2aa6da19a755052ffba3
+ffacc7a1457fe72f9c2ca445f2b04c5af2ddea96 ac5960e5e8c2651662ab2aa6da19a755052ffba3
+50be42ee18d65dee6078bab40addfb152480f3bc 3970b13892f6d70b69805f698d76e9c26e846781
+66bdf24605d42ab94b27eceb77b34f9f6cd9a48d a3d240346266abc88c2ddd4e3dc1daf380283289
+d7d2edc5c6be5bbed05cdeea516bf0db70ec615f 2fed74cebb55d5a59ea3593e367ab3e341d3504a
+d4be77e4b99adf624360022ccf071b3cc2b27910 591b85ff9f4c7a659e6d4af5aa24fac86d7165fe
+c22ba00a7a7e6d8c71303d79056f68ad61073b43 69ff8919a172ad3dad9f3b583f5272696a04d63e
+8a9d4d1da1a774901987d4625d2420d4c4f0f5be dcf0900cdbe0ea3e09b01d69647d925e502a1b8a
+10e25363bb38deb1f3bc5e6a05c72d3ebd74bdba 1075f225004658628440841f4c73acdd16583027
+1f8a9f1c3298b7f92f481c1b0e74bcf12a3218f8 d4279a5b01f16101d887ea61cffeaf035d4404e8
+a815b168c025d3294bdec99a874df2cb2f384bf2 60a292b082abbb8c225e751bcf0c286507df3217
+c8a652de750d35b1c347d81f9b7a7df3d02312e8 f29b531e62842ba293d4103c7dd0fc891b729acd
+318dcf2184c8c87c8f5ce61489f4daa105f8c0f0 f29b531e62842ba293d4103c7dd0fc891b729acd
+9a848a6867c0f0051df39870d436f6c44017d8ed b7fb6fb77868c792994d2bd46a19e6c8f23dda71
+ef1cc4cd9439194f8fa89bf948a06e09dba1d85b 03fcfaf231547609a09df9e484580069cbcb1de1
+513eb2da24ced48f01cc18c6607cf3805e96ae7d 4f0ce71f078ff4f9d1a621e98db482a08fefd339
+e1bb1e5350116194eb3e8ad3aa282d89e934a53e ae4d75b8d137c13fc984ea152a2f652dfd72ac9e
+461456737c5d1ea28886756b21064793079bdf17 8aecb243365d7935713c47800c116bf646d4968f
+2740673f95b056916f0380bc75eb7c387b19ac23 e4bcc1f3d381126cbcada52a757fcff7d707073d
+b70ca767a5e5720e907be3f5fe3cb3c1f27ddae3 45e199b2ad86eb89fc40d9025e3aece951412671
+286c9de8b179e5565c3fd97f1dd903bfbafde173 f7c3518e514963d33f58d985ae56baee1350e0b6
+7ec36c6eca63b764efe6007ac5bf245ba218bfda 932fae8758839e6a0a1957b0c3c35f0b72722f0c
+da4ef957c652ca89a424b9598928bd4182e8cf21 fd1ab1031e52fe6fc9b31ce46145597835a38044
+ad7d6a204e565f5b3e81f72c0582ddacd31b6180 a5759c8604fcdb3d4f4312c6fa32d18d48933f5f
+fc8317186e02841c25336192d063bcc97b3dcf0d c812fac0281f902c3141a0685efc665f2f71b8d0
+fa0d434d1a40c2fbe01e8450a8776b415ee58f03 d6aa54a244ea79b84ee3e78e1c2ee31933f00d6f
+e563cd4079d32be9a669993ae6b56d88a8a07388 9bb5d1df040f9469e3e0e88e82d4072251053a45
+57eb2dba664122e86f6cc4a8702d07a9a20245a0 c54df73168a630864802c76c00eb637dad9e4ec7
+004f522f56e5c48f9cc0429df8f0d07327e31e60 e5a161c7fb871b3932ad54fc3a18037c85453835
+d7b3b23e4a24c23622dfbe7f8651b043e48242f3 6d5c45700c5449737e730de553ae0d8585dfa780
+48e30bf63588ded1cac834a962c857ba79ae8ab1 49c8fa5624afa653407a3cfcccda984018c8bdde
+88a9f940c495389a47da175ea36817268dad5b26 17fc2908e9a1ef34a9f53a41a393caf5c3cac390
+1c72c2b28d796f8bc9ada2f6821d3986a179985c 7b67f4d3040f73ce2098184c7cf1f5b4ca2a7f5f
+ff10af1f721fa31a620ceca6379407e3334d1ecd 66a44afcf2d2d0d522a27315ade4a9ae7d041a9d
+e9548b505a93fd5c05216bfbe5f0abf427851d75 2298fe6dbcfb0cf5b1d9fe2ba578b50fd6aff1a3
+dcad4c0cdf91edfe9e29932b6fee2221b98be3ec 8847ab5e2acefb0d5ec71e7dfa43874cbfe40897
+b95e8f8929979fde0e9f0ed3b6239ef49171bddb 0ae9ecee405a174937a1498fe2e8ea36899d4e8c
+df88c5f5991b6f316c9d9b6417d1fe05310fb6b6 2c6311378915bd9d07a88cc59e830ea0bf927843
+6daf090f5010abe492b5efb1ea1ee3c9ea6da16b 5db107345bbe367f692a243a600544c8f92ca33f
+db15071c7591b42f1b724973ff5c969558a0ee4e e33eea3a1f6a4aebb01c10187c918ba3c4ecf1ba
+2d6fed071539a219665556f825906d9a03a79f98 6277249940fa403ba21287b60357d2bc2d04f227
+522be5c547f5d6c5b82a2de7afc97f73056f1f8a 49c8fa5624afa653407a3cfcccda984018c8bdde
+b31d9483ddeaa7f0578c479cadd569342160626f 494c47873d4d4992ce7b14739beb1527d1e41221
+2412f819011354d4ebf851d902321d7489c56afa 69227fb0b50e1250a6537b7dce9111886e762e08
+11e8c8fd2640bb46c2c264bb8cdae42c0b95cde1 7e66976513815cb65fd1898863ebe5f3c2a22715
+ad3539e3d9d70bb7a71fdb41784bc46aa8336f88 ba4a4262add3c0d881aafd27ac5c628b273630d8
+b2a24ae687de0e7df28d3c140f405856074b0ca6 599ea51f4a0254c5d0d9351735ed0c37341f5135
+6c9994cbac97514572da374148cf863139bf505e 407b4a32f2aa56a7510be540b36f30a370ee2214
+edaca086d20618829046494bd9d824f0f057a9ea 3755364e11f3c45f8e8a8c97865a191842dbfa8d
+9c476e68a754bad25abd3c78f41a35f2738e5c64 8bb30f927f6f9904266db64114dce31a1554a1cb
+0d23a7bb18143b2e4de65882a6f9aefd7c0b49b6 d602f976f0b5b1a4a9705d7cc2aa824311e83bfb
+1ae95138187ea8b599c29e8461863f47d00dfae7 08572f450c93c811bd5fc3addbd69bf4aa25e90d
+43640f06a90da0addb7f46fa06e3fe160faf0e1e 9059e41161da4b6ac68ae0dd8cbd0f785b38cd25
+2d98ae0fea176367dfa38dd0e93887b2b54a4c39 bb014b04186ee784bdd5c19ca22be72546539a91
+b44577c46e5129ee43422c5a848bf9cd0273a901 99133db1c99707b53a2b2ae4d7205f9fbb31d537
+386bf719713704de12d93221111f732a482e4004 f588e7a509664cb804eab9654782627603772f71
+ce4196534d89b2a93ba6fe6a31aed73872c33335 18bc4d6673db7ec2d8b9e69c1f6158e93e2db7d1
+e41700518f82fffe60be78738b6a4a729f9a3096 f7db8f40aa335112639293f341f80febf5e77aa5
+49ff5ad4afac7fd844323ca48b295abc553b7dea a8d97c0214ac432567e66cf586a57e1b2436884b
+afcd74587808a3347000cbfa14e60cafd884a2da 05de97f42249c66fc5cf7fa0dccb20fbb8eda051
+8fe3fd5801f8545425d443fc6c853d172fb19c98 d11d5b01405d6235b5b75e0fb8d6179da2894768
+9e16a8f7f6a60367817ab06047b5ec82fc66ddb4 bc5a1ba214f7ee48be828eabe3071573320053c2
+3cf5547e4cb88e39f1424a89f5751ae68757cb00 5cccd92ee98da009c4a649b706066836d248ffdb
+d0f1364940369c0d7589b183560c0c7d020a9463 81ffbc4eb3e22afb5273c2b865186a2b3e6ae664
+162a85cffe4e2480d227bf0b908c26275b492403 d5c8b1653f4438fa32412295d44fa49fa1a20f11
+f56af34e42b1f3140bcaeec7c10e0bbecb222f9f e54344418770cb5494413d26d5799a2373026010
+9e1cb300c0b985b0c219dd493f10611657d23c69 13e1d7c429ae65d5a6c7fbf9c9ad837eaab20cca
+fb41de1e530aae7642e918d22102cf77ebd07a77 807e916b0923023331cfc8c2461575bfb2e574bf
+86cc0ffc81d8a11363cb5447f3291e4f52e8c0f6 0d2b938ea0256b4d26a3bd7a2d138311b0cbdbc5
+d899a179f6d22d524cdb6146d70c9c253e0ea4c7 6b312089098b1e39bc945fc79f694972b3fd602e
+b3ae71302f560bfa8c3cb868485d12d25e35cabe f3f436887a7dadf3d9adc78f4824784fdb1c95f1
+ded55b01edea1510be3b09cecf46a0e83a1c89c4 dfc3570aa250bbea7c28a809ee1ddc9dcf3318b7
+06a594149084b46665f7c59eff099bc16d6647c9 afc0ef24c93bc4adb71087b5fa27b10fdd9586a2
+afdeba0dc922e6bd0c5fc6dc43da804150fb212d 21101c0f2184ebea1a31f2a9458ef06fdaeb094f
+11fbbfcbd763649dc1d7bed969d671e0bdb0c7ff 3639f550c9675d4b4247b96f7c9e7b72fa9865b1
+de04c506f51195a2ca283028f06ed6f9f0f9639f 38dd76dc2c2a2d1e80cfb08c3ace54ea188ee31f
+34383f454a08cc5fdf65959dd19132d8a8183afb ca9b865d6bc97be47bc68d8bb17873a26aedc0c5
+6524681b5a86b7d6eeb201f7e7122b8bb51f0679 1d4dfcb56fede899e59cc469cc9f04776abfea0c
+32911e067f6612bc2e2cf05c7de3c30745b7f327 e9f9bd65ee5b5cc27f966d8270ecb84ad41c41f6
+3f5668ba63a471b53589ea03079d1e5748200a40 ea2f3815dbada2cc7d824c1feb17f111578b5efd
+f6c5d895d597f49bf291209fc2e9312d6c804b04 dc6279004ca7f84b1bf96673ce150d9286c97991
+5029273c8a3a38b3a43d1c3231be1a088c64d25f 2ac239c14a725d3cbd20b74094e0945e9577f544
+db3144fec6468b7e8ec2bbacf69317f8586027cd 0f67159ac6384dc30ff434c6e324e26fa58b8439
+c940f137c3f1a2060f58ffd4f224447aec533148 5cccd92ee98da009c4a649b706066836d248ffdb
+89b73a0c4f0e31f39f1a04a7c2c34e8586f0d6ac 3532e72308a70f7fb42ca10e984a1c21f344f161
+54caaa476c4246fc1cf9d98b19230614cc52ea03 897b5f9c7c29c03fd92f30cf9aa782aba7563c73
+cf77e59eeb5eae17a1c50216d22e1ada95101a23 4e7896e089853aedfc9367a06dc0cf48ffc83a65
+334e87d4f63d8e59b1af2c895246f6fe1a6d5996 9926406cb08efecf74b60e8332bec8ac69173dd3
+51e50618b9dd9295e787f1e967623686d1b97c92 046317d462368c03144039235f5f0c27a8d0e222
+2f72f22c4031525e15bc786c5356aab3b971b7ba 20d1a100c3a5a3af61dc304aff5d06bfa7c3b115
+ac552e27264bc2ca7a9b3d63cafec52234d2f7e9 fbcf426bbd7652fec874e3391d1da92b738acd6c
+7eb782c1761b462324c90bb187e651c61925f5c5 506dc381e21f25901ef61e4477703c87d4e7f378
+995befada5380cbef6d878e20c625b5b52babe03 31381080390d3a4029878033b96ed00353f55137
+284c51b595591b3ac385809b42264c005e76084e 31381080390d3a4029878033b96ed00353f55137
+6a2ce220cc50acee2fae5435a52cea5b40a474ea 115a97b1bb8f582b51ca28ad249e617153eb79fe
+6ebf10ebf5940b454f4185bee1e34f1cfe4c4a88 e285986d38277359f722ce1be8258bc1050b5bce
+8e027a1ff3325847227194bc4e367be3eeb1330b 776754847a5cc531bd36bfa4701291d3e1fc02f4
+1245c266971862b54eef7e1433764862011d6d0f 7dffcfd6cad60e3889111fc3c809738493ac0286
+5a28e6ceb9fa10774c83c2b8dc29a44a753e4a23 a3fc45475165a5f5bb6b96f0be09cdbac33cf917
+e32ae4af515bab5ef9b6bd5eda5a7514f213a578 a3fc45475165a5f5bb6b96f0be09cdbac33cf917
+28fac9745f63a87d03ac2233e068b0fc81b443b9 7e8ea59539e602ab3d12aba23638108d3546a5cf
+8d7794da371f86e5590dde0e8eb71dd063e04dad 11d1eaee37c87fed8a20f27f34190083411f2ffc
+1353820ff8e771d7219cb85c4d4beb968facc502 f2b49a6a93f7a867e88528969e66ead764896e60
+31c82a560be1c551e1e18ee6bd63e569e8456a8e 81a3e33df32c48175ec43db73f3623163a8ba7d0
+d333a5260601438041e6422b0c28f4123cb68839 03a424fcd0b4cb1e116eae463b175010c1f2b48e
+cf1f845e60cbf6ca7b6ba3b171bd6f88ff9a6a4b 03fed7612692e8fae4297a7d900c80229ffba23c
+a8f0e9016c89dffebcdad2f9a0cb1f92c0121344 f608a15c78f99006066e8db80712e3eec753892f
+723410720fb6fae14be2e90ecbfb2e97b1f073b8 432668009fdb3626c1f6390e9e7b4a875ff65a06
+02b1fcfdeecab27caedd545cad460bfaf9248b05 bf2f48a6c60f40a5afa19d79c0e373c637cbfc0c
+958354f2c696b4a7cc7741c20943ed84d6513946 be8f79c656f3ecea53552c4623792ecb5b3523dd
+33ec568f12052f5ecc2ce48c0b5b52f6a52fdc76 3ffe4385670d77456c2c4d3cfbf8d29886e269c0
+f60c5ad4326b2c431fec0468331055cf14b28c05 30420042d15669b18cca782dae45de47d2a32b6b
+b4750edba176cfc5c1ed0bffa123dc48bea7f30e e78419cbf928f512c1c50683999a6d29732abd85
+8f209a7246572ed0f5a279396dde98004d8d4eb3 e579a9261f80dca20dd080cee1e3281db4a99963
+b50b9b8c33eecdedc0a4a69c7a8addbc428d758a dbd443bb8def243f0b779e6604074a512960c292
+91d5c6679a766dce47541d142c409b391127ec7f 759b07c40eb43960495a7d08aeb285ec2aa3b002
+99cd9eaf22af4e5969a56ebe1f67a4427f8a52f2 cefcfe501580a2270ad37893ec5ed9127d2f75ce
+4acfb2ac9c4f51d8fa5892944c523b432812a06b e895d383162f5101ea87e57b30c70ee6e506a583
+f54e320319418bae66e71b089a33cdb9c8827bab 64000cd38be68392b1aae9ca60a33ba40ad4f89d
+ed186e24205775a8d078689caa7043258cc2cc49 8d84c6416223f67a553c33e8d9f982da74b2570b
+ed28f5f0ff8cd157d134f9efb1e84eb6929bec89 49eca959151e94b41079ed1ed6aeba48e31d45e1
+906e982d4da3cd8cce02bb8081c24852f5d86fcd 05723ec11d3f4f0403e25aed99574dcd94b54014
+3cceb9a482cba0b6cc2269adba8bae4c6850bf17 37a84c4b0006ab099dd2ac22fd07bca5d96b2908
+25d44dd6b16ff008b6a73c10f24a7207e4c5848c 3660acfc8a5434e3b856b5a44692ec1fa11dcfbf
+69432b7d5fd27d525854e8b4c793188c9fc445de a6e991e90f3e5725a8f61d7337d876781f7d0efe
+161eab4a28d16652231d693c963dea279b3a934e 28edeb9e47e25f63efa622ad408fc77aa35e3a3b
+a6bb267a41a0057ce49279a334c251a95aea8c58 389ce3e5b6e09ab2713d68d09683ec0329141ff3
+079a41116fb3339bb8231234bf9aa65edec13878 3bbde80a54a06a336263135d5dcc7b2de7534f5c
+88cf0ef3c10cbc7f6106754b858831faaae2e450 5e9b6ae946dc41337a98e8bff650843bc3721711
+7fff56949bc420baeb6c14f2726c83a2c42b849b 4a951c6a056cb9cc8a66ecee11bd2872ce8283c5
+3f77d2bedbd3ebd16f95c30d4dfca3ddbdfb849e abc202c16721d9c695a971957210132ec284d41b
+b425af9e73ca214732f47cd6496aa705fa465714 3e5e1b00dec6d94500ddba5270bebd011601caa7
+d0366167a71ad29b1c2a4f4cf924bea46c7da49e a0d1a4790a2252e9c7450eef8f4aa2ad4a6952c7
+2df378811fa6822f9a288e53b4109fc8bbc34fd2 41c45077c49861ac703a31fec2b94f32ab35b94d
+37413c15f73a1fb5495092a4992f28703feb1754 6cf56404031dae0d6f8a9796bfb948b8b30dda45
+a02564d91f7f76fffc447b09450230294e2c381b 77c899bbf47f75e05d70ce65cbd8984b45634532
+1d8e4fe08a706bad91748de92583d8bc44f6b3e0 c12ac674cb0a711a7094e58f082ddd616c168b9f
+aa551ca74f60f2f6cd8bf2bb5d9fd4108c124ce3 40a9c97119103ee94844ec5b71948d17522f451a
+36173e7ec1c5ca1db35850c51d9ba878eba369b0 b5583deb10a5d0cf402e259011f13ecb026257e3
+333e2f22f125eba63c81b5e153a2a929021ff812 1e258e3da32a594cd6f7c90d3df469c3804c1972
+5c1176b39b39a509509a8c3305632ce46d297d8c 842fe5743e4f00f280ce45df86e2096c5d9759ee
+5f3d047f0b18cad4dc1f3958d45b7975c4895e97 00225da9dde3fb324735ed4d94fa466a70170bef
+0966b50c6dea52e8b80a573050e1ca0996c24d6b c89c4c8b5a156f7558c00f07bb0dbc3607f42863
+f02ab357d229407360ab0a889b6df29a377191c9 ef78c035785805f6c777ad61867b349d6ad04e6c
+d1bd0f17ffaf9ae7c8cb1a0badb476f0ab3e4a04 26144ab8d981a77a84b124ad6bd9cf708eaa0b63
+b81927151a188e397b9f2818eb66cc9950c5dd3b 02d7ec6ab73480d2833ce1663ae32e77be61fee9
+46d6b5658543d17b175ff82dace2aacee2d8c6b1 e34f1bca1112202254a4c4ff4fe096e539caf199
+3dce69074e28c06e0d16569990044a8ecee1257d 79a6840d89e907ec22c21098620384f108c28acb
+0160afd678a5c216f1804daf84e27ab17a721d53 19db6bbbca738835d4732ffa89e597a96aa7d58b
+4e1fcf22261f8f12a4f339a392f944a9df97ec64 60564364b5108d472d7926bef1d3b4876cdfa07b
+5bf218eb4ad858082b349b34468f2135b7a63ddc 0e6d9c83edecaca388f9d16a50fe4f6f3ac9ae48
+f5b6445096a2aa0d600270e437b9e9e1a29b3f1a 90c31234403a131ad4ea4be06dfa4048912ee258
+cf0282cd6d6124ec9633966fe2f8a63097d603ca b69e312f0a158b0dcd7e88fdeae389a6d9795433
+cbef5986b36de549f86e5f2ad83eab9c9c18923f b8484668b12c738b4c6d81f30b8fbe4d19ff911d
+3d18f16c30e9a10a726b7442e101a53ed7623c45 289407574e12bcc30b4c3f31e6c3762fbb74f148
+4c8a74cb44f894c0cba267cc0d3bbfc44bf52959 b52f9c01d98f7f903a847032069c6a0fcdc141a6
+e681cd0d92131259568a7361531678aa1d35d1b9 4bebc50dd91b826584b1001931c31fffebb37527
+40f3e95ed3c1c9de8af1537f4ce5d23b1ce0a05c 6f9dfa5be937a539dc573aaa4b9df5225f6f5150
+ea27204d30932313527e2f26b95feff9b6325fc4 2b671ce972355c8d1bf3f8b7145016ee42a1c83a
+6688b1924716aa5e8a4151b7140e4c63ae266928 a31507317d99808457f808182545e619684cf16e
+0aeff9095140abd0cbc016dfc9efd2ffbdaeb9c6 d8be66d37c1f1e0042ea0a81b2f3598e6b9d54ef
+a58bf2fbd089dd6834558e8af8d1a1dd67e914b7 4d40a7fc4d935f2cc25a53aa1de62ddcef9c80d8
+05555713751fe1952126fdbfd84ba6e5dcf34095 5d8296cf1ae6a1c5656b13f0ec77366557f391e8
+77e8d51928297a33b7d82561a34e2b2045dda3eb 42b1b8545d8807051fa2ab314a670a0a0929335c
+5dcb6c8f68f19dc95f63855b7a74c2c4a21425d1 5884e5ce4e91bf6c52764aadcf0e3119e3ac375b
+56adf2ddca6f97360ee7080d493572271f70b3f9 d7cae730602c6685c7a17508188f8521b207bd63
+60a6c2ce8c323872c679d995eb46128009953aa4 6f7ac13911b9ef9a41d40d1065dc755817f24d5a
+7b33c09c174d80a56083d066bf9e8af8f3dbf91c 92cb2cc82168bab296897ffe3026195c45490e6f
+47168d1fb1030a9242bb1af296888b65db1f18d6 bd1fadde45e11b01cb5f5b5c9ea7960dc6da0d66
+21a4fe58572f61abbd1585651139103fbe619346 60d3490b09c1efa132193dd318b0b0386c091b12
+73f226e2df4fddc3451ce7cbd0777def910f10e8 c359f376d627f4980442f8189927e8f02afdd6be
+7c279bb16e838c3543920bf389fa2e43d1e377d9 2f680677b1621017d9fe0db7034f15ee87615932
+58f0d7bd2031561c2a883015b2bca6c56050ec48 ebddacefa571b9973704fbad539397f7c6012708
+bc88c92ffbe0887c84e0d208ab06b3b4610c073b 9134bc62e76e98d40063506b1da2e80108ca844f
+ad9582e5431fd46b67947c93dc15bb88388fe180 2dc9d38ad3633582da79192b87116b1a39dddcb3
+cfbdfeb023edfc802117af4590ecab6c5f708fd1 7079698ac773db44411d60171a9af42ddc27ad5d
+927cad3525b5313ea64a886383f09dc2f483ac1f d84221c8d6b93da40d649397e3e4e3f451e6c3ec
+1d3427d1949e6c68ac79baf77691955186a40256 c7f420882491bd62a4800dd35edd755225e67c41
+0d232823efcd223aa21b18a8294c5fdc4c18a022 889056f6139d5c4c93d583d2fa8ae2bb7aa89c08
+b6beba011f09af69cb714401d95ea3ea39c95f3d 3c76026879b264041f548fe834e1cd7cadaab06c
+28f5c930216c6672ff2ab71103fe0c43ac20f38d 51a7488a10686c67ae40a3749e9aa53528355001
+c0acd17125a2ba65a055f1727103a419c91d37bf 1214310d892444ba379ab12f9a7f51be9edacb2c
+20588ed057fe0ac29a2d2ebfc1e316e232b13b9d 4252bc6e02b3e20b2fd4d7f7b562f54f84426398
+ba2af20294b15f5df9f44180e52741ba645b97d3 921ad4c8e9cd35226fd562ee09ecad6116e10523
+9952f6c1664824fe6003f36293115c916ea8f090 9816685d809bf19ba5666dbfb041329bafca561d
+99d8b781732b2d8573c9a5aaaa6b8b033ff7e179 6e4a55431413ce2442280e6c6db6548619804ed0
+31d9e0f7344a01308253f1b6bdd25157122b4a53 d9e7a2e14e2ee1a23b7c1ebf78bdd10a0241db81
+688bad179b81b1ef808e5b5183fb7d7ee256e39b 37f3faff5e0c9026192524b6b6392ff917e8a4d3
+3ed4974eb9ca913bbc68a0177dc16fd83b64f73a b7109c91578389f605347e94aabbe4f5f5f3c7ee
+b7dbd179367d1ba0a25dd7979d6f0a4cecab6533 1b030c8c3ed11bd6112923b07a25cefab85258b1
+126b5f34f33d9f21b4e5375d286a492ebee6f15d c3f57cca144825b85c00820bd18c1d310b239133
+246c1ab315a9de43a9cbd2a98be5bb0cd6912d14 707816f437de1aafb177b0b3b436dd5663be684a
+e503f613780793355919870958bdfc4a3c054255 cf0b35e0fcf2a61b6afd733fbf97e170b3507ec4
+99310fb4aa33236934286aa86e25f4941224b803 d57ee0cb4c042611538372ba1f29c7768243e4eb
+b580a9d1d3dc3907bca6f193372a176a6fa65a64 303431250ee43ce5c8ba73caafac5d6c9060f5b6
+be982f7c07b7404e1043d2a6145411e37b025c88 3f787972654a2bb455e7ad963c35d0b1a34054fc
+24fe0d678c8abecdf360ec814338fec0a09022c1 83c57ca0f1d56d9c14b13892a114cb0d7012a54a
+a8139e82741ba4e8f62db7eeeda7d269c19b489c 5e31c2d061ad66d824cb64479acedebc324ff981
+90ad5f447c9feaa5ca7549c05d6d932bd80475eb b8a0bbd40fc0ef8eaec7c6bb6e040114b9e382d6
+4ac0e946517f1575cecb6e0001fd17c9b1ebcab3 c41077c977dac27afb5c45342bff40dc10098315
+2d71d0bf0cf682080a9e2317e3a8b4a176e6e439 c298ac39d28704586d33f669b5e004696a2277d8
+ca4b9d0053ca6fa335b94e70af50cb028a156e76 2d1d3a74398ae623cf706f90217f3c8e51bb8fd0
+d6ceacb7926d02d34f2196a3970a93d7ffc68b47 2f89fc28006bb54013dfee341bca140ad8a7a11c
+395ef3653411162697b11da01042037b760c2c02 387a585db175b12407ee333f49b463ebc4ba83f6
+bfeb6802129955a202268f0eec2878d72b4aa6d0 4521f8a0ab8b18b2c69aad8a13197e1dc0f333f4
+52ccbbc8f51543cf6c9388a1fa8fa99cc7d5e998 afc010a9e1b91d909cf0c10d6451d83ed3a5763c
+dd6d1c5db5a9a8e1bb8d9d031a3ac73aa4da46c2 83c2a27638baa6607d542689fe2df0bacca1d066
+7e464d714d2dcd922ad08f8d1868a70e06273e6f 9988ae9c671140d02d187b50105500283606b736
+907be6fc962eb35a6909b749ce0adfaff464f771 3df3d37bb680122f01a20f3f454423163b7d1b19
+82a7a8e9c1c3f243cd9223fc2e33ed6000b6aeaa e2f08791e42518e778d0dc0d7e60fece92fe2475
+07de1de2bbdbb056c53e2d721ed2eba3a9a221bb 409f6c600d6558d522dc64603df6dec6026b7513
+6134ce6953e705f808d31365f57f3506e365b748 a8f3ed6f661f893d8dd10cb4b6b5161ee96c5238
+b92db58bddf92d28e892382d3b26113e5315bbfb 721fc49c6ab38a127388523162e8c0eac6746928
+2913c626c3c699e43ffc88c79b13662c91f1bcec 40c8d32183819e12bae9ca8d80bec465fe4903bc
+ede35a3eda5090c7b4526848ea8e1dd8de8e4666 6c0725b3b85f003ed6f05adf0dd2301e4a3fffa5
+d9fa9fca4f19cd5464c42f0a6910f9c8f57bff06 56047438e91d2e128ff46d40a484a84e9fd41c6e
+58f13bcb2c568f1b139c717371d002f11c680b5e ac02f57548d3fe5aa3ae95cb02da94c4e6bfc60a
+a265bb179a42b389ccb675a13de8737825acd336 588c5501aab83de2a9bbb0631e46bd335de3f243
+057f8a455808da4ebab38ffc3631eb6685a0cf99 6e8034755f21ab0f13c0ec003ba9ed0d14559db8
+f5167c63c44a475d511592a572edea8e835c802b 75500c1ae4addf14266354875bce6d0e58736d11
+b21a9a03da730d25ce6a8d0fb167c4fa21cae681 3936a292ac26afd6148cb190b1c51b9fbde94bc3
+1cad8fe0de77b77b316207f550c9cf061323d0a0 e0ba42490f668617691b117a650da0567d41bc93
+a4b122e84d873d8704b3cb7b297303a96d9c2319 b80c56cf62e3b644213092cada88d1d85ccb2c91
+f57d1ac0fe0b9b69041780a061a9a3d1465e2aa1 efdb9341765273ce2e7155b1213f4f18d163388e
+0305673fe81e4b723179d679077dd403041ffcae 4ab20c8ad17787fc8cfa2c612f62343cc35e99e2
+3428c3f34ed7ffaeef626f33c1e7ff1523a84bec 0a246543412af65da1ca90d635563800130cc73f
+edbbcc99d398359fcf6ee92678c012aedb45b108 a666d3535bc3380aff333e492a56f1fc59b346b1
+c0d8275afab16b5c9a8a9272f562a53c179e2b87 61620c98177f2e800606de6c0ec7452060499580
+8ffc6b571e0029fb5b6d9aba79385b3704a422d9 97757b962916b1886c73ba456e5db4c117e7b2f3
+0dae1632eae7efb3f435f12e94e6779ba2795fdb 0f718d808cf915a9d295fe735ac6d3505b67721a
+665744220ae1a1c35f6d6a92973db92dd486e7ab 4c4b606bfda8e8e138aa9a1954e99e0faa8f2f61
+85084883fd5cbef934bd6399fb3db056080d9a9a fdfa06666e528e16ee268910f1ad7efb4a3b7ebe
+f27617606f52cf0ae6d0ea49d52451fa8b6000aa 87747a41490aa20263ae9a81f6802ec0c7eab38c
+a682219aa0490b6ec007c368e8204df9f1b403ed f70c92325663ebd40dae9370cc1eb81772b579a0
+3ac26c5a5b8ef97c5603e304c1562dd0c78a9a74 93b4f298387f14efaa2662b227f9da8148ebe3f2
+0c0a430f9211a074209b7216748115ded4663056 97e6518c187101605832ba87d1ec002e7a0a38e4
+7fb0db64e226310f13a6f5a80a500d14870f178c 7375c598a3bbe18c2f257ea402bca2a8fd8785a8
+6bcc6b7fa0eedfcdc32d5124ef29f99ac5d34d61 cda39e62af9395dbb3f875d25d37f4a6ec23e40a
+00650a1f5520f86b0082ded770c4727dc0bc915f 66e4b29ca32c6061e8059e83d5fe7469cae18383
+255a7dc2d4c18ebf80ef1e80ab4755bfeb70fc84 e4e9f3df31a49a317e48f2691f1790cf70116e1d
+df9950d6af6764c2d4a518f44a9a55dad68b978c bba89cafd0985b338b80042e7be790fa6411c2f3
+be4498c581e8bb174bebbf874cef4ee10438fdba 7b9d875c96a081746d6a31f235babcb6c493665a
+6ef64352f2df5355e17808c1d2d5ba4f60d832ea 7ccf79fa063c418493e53e78b5fb362750f4320a
+80c9ce2ba8af84713b0659f1a1bf14dbac8cb63e cb34a49ada9bef3d00a4b52bb6cac84696f87178
+ca0cc75d5b7c2150e71d8298219b89b6efda6941 04baf484984d4ae8df8fe20f346fe9fca32062fa
+4a567d2aaaf136cfcac26793af8ecebdf827c68d 13e17e1134b6b0147df050cdcfcd9c9a325546b1
+0c9792e44fe4ddf3b1bfb387fdb71a72bf45acb1 94a3319706e9efbe1313784264b5812b3f427c0e
+94a5eb92cb3dafce23479c4f101e2d614208000f f5e4cb676b2d23d5b031f0abe7d5820c9f85e3bb
+760e059cff09858e7513b29c00a95d57e7cd45fd 9a36d2c88e6e68c9a4260a0cefcf9f5e42bbbe56
+689a3346b3eb0d65c06def3af97c777dd05e93d2 0a5a8c9e683ed00a3f9803106764365203c379b3
+8e2f4df22547e6329e3386ea53750abd1dd3e365 825480d30b94526b027066ae95bbffb88f35e137
+7efba83481e8972335fe893af052bfa2db73fc3e 1fde25f8cba25e2fd5e7b37b73e78b32302c6775
+ecb2cfafb12b7bc8b6378b59dacb46684fd94c6d c2c8611d55558c7bcffaf3534ed6a7a2d542c561
+e456731175750ffcabc7de1348e68720d3dcd1a3 2949646eda09bf3f3cda9fb1a55f5f21617ae198
+bda574ea34f59f8b23debb3aff5f7b3a01fe0cdc 124d9e01143d28bda7baff7e1793132cb7b0360d
+132d402bd3977194f276e4df75e729e2809cbab8 514e4c27dcf58e65ddf10c5762391821b26dfea4
+c683e59477fe0ef0affba5529a415d21ba001357 fe7d81843c982c7d5e04ad0ee0e23ce0c8631b8f
+466bc75235719798aabf1184c83c0e2cc723eae7 095685d0af78bb4d924e7a6a0ef931d3d9197656
+de734ff9635e68044b5643a96d846a52936659cb 5ea5702b1d79d0dde5003bfeff21073a49501b25
+1b2c1fd01810b2dfc2e2ae921c0b2d18300bca07 ee6115e2883a663d781e94c2bd7ab5e914f96b3f
+51e62e60f229cd5def17114a43686bf75b3fc972 b1214ed7aa187f29c2f11c37c6c465f686256f29
+2c5e93e5633fc341dd551a3c8a3db1ba0833b763 f7474f8332184046364256f5a6c2178039d6adf4
+8f29efbbad4cab3b32413087158d298d5f475aa6 4aa740e77f067bab6473b148f8a96b6eb967aabe
+2c24f9a0cccc0f15c7ecf851a70119524a9bc342 578e599e983f4c1c92f7bbd2332ae8cfb8efa464
+139b72830ce4fe56a777d8bde86752ca3b21d961 963725a54eb45247fd6402105d3d8df58bdb02fc
+a9b72b01b97328a835ed595e76e877459fe76415 26fca4fabda19492862649824473b487bdedc3f5
+3afc3688cd823956d4410aec7692f646d269d27c d8a97bab9c3262708371a88f354ee5f8e7bbab86
+ae7e42c2f9072ec27a52dc65874511bf335dc054 6b3e3c9c4dc8cd17352f7c3e057bfbe0e9c810db
+59e740694a07f5dfda79ea4fb5615ef738b57875 6b28958302471178e4e7bad4a16f5c4ad7704b2b
+2df1dfb4a8d718cba3d60fd604f635244f442eeb bb6903dd480ec73c2ad4e02f6133b16b750627b5
+2a9d96827981ab08bdb89e1ec3548b01f78a66d9 8f13ced37ef9983682445d7cd430b7313bc1ed88
+10a11a07082290797ba0df17fa931c3d77ae99b5 90c2b9355dbcaca157bb3a8826a887e677057363
+1a310ee0cbae7f3102cee50296af2dde14741457 c53a5e0866c494305b335e9922f74a8a381c804b
+8e7a35a0d73f2196b9e36f275dd34a56c592423f 1ae8aa5db95837d45df40a3827839b0ac066297b
+a8706228d4e8f3c12b7f9496a1091335d38dcdc6 5d5539839fbb1d978629278d29f110022251c7a7
+13bce3611a6f739d1ee5cc68b037f099feb56e8c dc00a01bea56f2c4cbe6d2bc9e8dfc3024f00f32
+3031de2a4bc0f5616f1d636cbf9e10a3148237d7 248c7f750c213c92c6185a40b69acf5309fc8f8c
+c5f7e94a2a534c833be2ce497006c10a4b3e185f 4ce2146bcbeb06ab95ff69b5c14b1b497169d4c2
+ce360c51edb29a1ca70516931385619ac6d8aeaf b66ed96da1451f6a0368b42ce71e795630cc8e8d
+cadda764e90637fa548cedabfbea66e372383f13 ea4e55860a623250de5b5f1404fe048229be7fd3
+408412380feb1b11eea3aaa43174d31c48140e53 d2160d8b91ea4e8b8451e5689304f1a7e51bcc1c
+8e00f955c228f7f15b12aaedfb1cfbe57ff7b131 1f2807c3861a40661c19f627488b9f97981b4dc8
+01f221fcd1becfedb8206a980f69cbcf9d3743be 9540dbf2d20a26d72d6687f8d8787c53fedb7107
+0af1ea29b9cd7fab3198d3e6692d244a8b05bedf 744b960d0fbdfed99900ad0c21d152fcfafcb17b
+5e5a4f5a113261a0f1c61ecd43fcdf0b20236f34 b44a5c6e2665929ebf361e1a5881e8c1173c8c43
+5fbab7aa32ef03ab76001cadf86977abe4447114 aac393714e05f283970826e36dbc46b3e688229e
+21e5224aef318707ce708a39f47f52d891c8e61a 86ec163393b9810dcdf5646436e53e06496e82fe
+e2b649e05060e2ab59fcca50e94ca26bc0cac0cd 078b144a3933fb817faadd16505c8ebdda19d1a4
+d1397afa42194878e468391fdef276b3f8961ddb 9121a9bdfab42d5278a77df8f9ccb046d3a1bf30
+985877fd0aa30497b126a3635ef1a24499c030f9 e09d173eeb39c4eea37b014f5ff1a4e38033263f
+00aa0f6a4e0aaa4bacc4ca2251b068cfdfcce938 796e098332f955805f5b6f24377ebe216fddd955
+9d968aa2e9eea5d55e95292f427869792d861c95 24b6f1be87ed88eab7d72ac3e4262817ccbd1be7
+bddf8d765c46d0f0ffc866ad30b3d4617450817d f698c2ed9b936ad86de62faa104c9f0bad8dff7d
+c86370e6d83f3db5fd081b842f7c1f1975602d39 916069751b50f1e3dc31287f27389e526623b2a9
+2378b7a173ba5ee71d1ec26461dfeff342cd97b1 f229879ef6209176b6fe6f042b343388e7aa9f52
+86f65d2db936023bd9d48ddd67153cd1e11959d9 f229879ef6209176b6fe6f042b343388e7aa9f52
+0dbf118e132ef5407eddab09df00b402d642d9ef 8e5911c8bb36c1d01be1421e7f7e1fbffcd1e331
+80294d7ed31aba2bd5e165b5c96e6c45183cd447 538ef473b35ee5f21293052a6725d52a9fb6fc5d
+8cb2b08cfc3046788c965c82801ba14e91fc75bc e527ac07427a207897577f944152da3f961da0e4
+4a0fb4ec30d65388a58f7c45828f7fecba38c59a 6a08b3ffec6dd2f016d5cb4bc4ed7c4ad62e4c47
+184751289fee6926979f8b7335ec3d7b911b2dd1 0c862e016b2cb62020b4ada6c3e9ecf1cac83497
+2de7e9d1184d1e5e3eb65eaf3ff671205059e9d1 271f6f0c88ccc288a8401cd9fc44b4987347b96c
+fac4a759086a6c2c04cdff74ee680af4e9df63f3 aab53e2db12c62706c5199c9ac87fe8dc561d855
+b99ac486c6d6ea18b9b486d297bcaaea40b6b0b4 b52fd6153101d1f7d8933629559c41dc9bffa46d
+4b376813e385e06adb6d3a50fd664a758169254f 9e2ddd8f7acce1a2dd8f5170b77f54eee1c1916a
+856241ba52ac6e3a7ed8984d9c97f14bddd3f0d1 855b8df5d0dc371cb7bc226d43ccfbf7be12feed
+3ce26c0b6ab25cf06326013ce6de022e2b1a6a55 295373a7a8483d35289ba5c01b711f0eb12dfbcd
+7e97b35a15c5cb5662dc06fecf09d8af79230af2 8926cf9df6c1ad1beab9413c4c93317d41dd0cc1
+b02a3cbb3da1ab399a3fbb3135b9b20b08a3725c 6aa3cab77e38691639938a3115c962169767b1af
+ea9e0a743cd10d888e026368614d7ad664941478 8d7926388f55724f9765cbd3ab9b5587aa36b514
+223e00b300947798850bd6d8d0d22be7b5439cf6 cf93dbff48999009662d4ae36fcb8a0f50c2e3b3
+989755b671232f2aca4b2464fb703859612a0c79 3daf58c925addfc64cbaa19bc5ec2a6069c75bfe
+56da68fa3154bdf68efce26e1deb92df9fb31506 a68057e04943aef7f9c13b390446759e954a6ca9
+d263b243c51c3a86361652d43c20e85e5879286c 3695f611185d0b016f717cbfbe10c51020fa2c90
+f4bdec1e891ecfe0ef24077ce25c326d7335a350 e7ce1851d3c1fc769997140c833a6da09db9176b
+1c54016dffb6d5ba6eeaeac5d5d86f62a110ac31 faca0dbbd72b582842251c83625bc863366dc13f
+9fe5791f0a27070662810237e6c38a00512d01e1 a4d96ee73dae43b3d4f3ada5940025118b5db9db
+b931d06bdaee032e7280d7eaa70c50e4c04fc466 fa22adf5b4604f1c6648dcc855772445994ff1f8
+e7f4d8bd28b7a0e5e1d257c0088a84275e0d8937 984b41b84a26e33a4de2999e947b1d039f5b8293
+aaa7cb570af767fcbf918624e9e87a8d105d8990 3abb5de1ac92ae8a5e80be9d465e172601455cc4
+df28afc5be704e57408ae4a9e86e1ce6f88f7fad 92b85cd5e0aa567bd7995ea8ae00d2f6057576fe
+69f721d7d0a7e5e4df12e78d56863a06cc815acf fcc5b30cbb4c0b6d7535a77cdda4c6d11c162a26
+b47be114c743720de6c626ebe28d8c0347047d2f b2c4c85f2f233bb6c1d249bd5d4d212b9144f593
+a050c3b1c7a34b19f2bbc5c4f6efd585a4482c7b 4b707bf6fd021feddda96d10571640a554d3a883
+ab0b81f8510b8d7bf9ae12a0bb1c49ff077c1022 684de1735eb6d0ceb649619419701523d54c30ad
+559962bd4f0ee9ed3f39dcec12fe8d2c1d3edd16 bc021ed6c39e8d0367b5673400128df7f74a502d
+e1c2305b83ecf5e10c9b7f7a481f6a5af3cb95e1 3469d90a115b900f8f250e137bbd9b684130f5d2
+b924342b5b558d32923f830d7f3a61d96e098a29 d81ce835fee2a05498cd59b6ec902c3b16163f59
+9f65b9ff23add4dbb4d9fb8acafbe440c4f5a1d9 7d5d0ba8c997f615ea05a6ca767532d7799ea2f6
+158e0438a11b11f0dbacbe92adebf6599d51f316 daf342a5cc6042ac87c2e6ac32541b022904efae
+8215f49d650bbdde4eed48c30e75c6b9e8b9df8c de4037cc7e9960843a5382bf22883d2325722b9e
+8276501d4cb7a29bd2b09503f8902759cdd3dbba f93965054295fcad6543ff55324d0eb40ac344b0
+f4c0761897c6f94bc7c63baa3dec4f06375de70a 5dbc6c19d7ac0ab838aee781b17b706bbdf3be43
+03b83d14ed746792cb93325038c49dd8f9a1b214 077dcc719c1e9e71731396fb6e4c4cb55bccfc60
+a95c1f4dcf02b1b5bfb28fd40770638b5f9c217d ff3b47e27c20100a2a1b2cbf3caf93df462f18a2
+ca39ee26d25372f6f7aeee24c3283eed7c550b98 21f97960f0955fcd2b362e095951420c597b9b61
+a4206fd81a5fe47b25a894d1bc936397ca4e4dc2 ef41172c4fdf3c06ab524e1b990837eecafd9a27
+4e375620d0e904212df6e1b5241c1aa4c21041d8 912d552d6941a1b841da26d0b1d9845f461d4256
+11dcdd20d2d2c76e4d892d4004cc430f667ec648 f7803c1f12cc15ded0daa185676e580c6c68c59b
+bc5d037b4a6474d8416db876c2c33f9e2ac00808 63b7577e2c2d6c7bad9ee8b950aabee23bce2d90
+685665c04de763afb846011d56234ac2ab8d4bd5 56951d9a077bd8b2054327e66029a455d1b45f68
+68876b50ac969475214dfe401a0ed422dae6ee7a 29b938d0ce38cc5534e5554e3c2849f4f5a99ded
+ca9f9269c70aaa90279908a9cca3ac8b563ba14b 8a973f7cedd5bb80b55972638634be0a15138df3
+e098a753bef201fc53f6423639c89c0c7baa01c3 68ca351af20e72582a5680f4132da2298272ceb4
+10666aeb22062aa2177d1b9ebbc4873fc609d773 522e9411d08891fce929b32d324f7ee2c4652b59
+429517d569688a99bb6179f34421da46ce34c29b edf21e796de44c7503e12269f3cfb03a0b94a89c
+14e8e922c7a1bf8f5ff8ebd1369b1b97e94590e5 ecf5a9941b1106aa58c65c90e6e4bc32e6f4a6cb
+e5ed4e3b55975eb0bd1b773f4118379c0f9a3dcb 60af4ed0f54ee15a98d8272ccf0d7542e30dc04f
+d2370fa42d3abfe71ef3ab08be555de663efbf6b 3fa7083a4b53bceb6c220ad2940350d57de7e0b8
+6c0320e5033bc3ac8a94a8747e83ab38492e671b 527c70859ebc74d1ff1647119044e870f0c57649
+0cf04d42b897624e1c5bfde1c536a7b164411f82 6cb69fdb2dd27de7af04dcb6828d64ae5581e63c
+91af13b2c6d24619a49292f50477d54bdacda361 eaa2c5eae5260c3079da96c2618dc34ad97b64c9
+fe1daa52fe3a322238f8c69e98b00e53481986ea f958f8a69809dc95bfa149465c364be09b1a7436
+0205392dedefa44133efddee77091a2faecdd5c4 be6dd8cd36bd7d2c9bcd94848d964be64859b036
+baa986073d0007328987e2248b23bc05dbd94458 0882ad334f297c2567840099e822c7388912803e
+55644b06b553b27872bd30d6d9d290bdc7aa2f41 1108bb03da1806bb788b4f497cac3a51e5c3c74b
+20ef473d2acf83ec0e0285b509854ceb9e09b76b 8a28e62abe457830a5f16535d8632ea35562a6cc
+02cad0251604089a67c898dab83a6d8752d38880 a79eb12cb163eacd52cb5f5f028a0d05c6f22786
+6dce77f43c36e4fececadd5eae33e31c841068e8 ab41525ed55c3dbc1a4bd596d9440b9a2e0493b3
+719c05a8335c240ec86d3219571ccc1c13670d80 5bfaa343008b48c6b38db32dfba84919be508e63
+d75661666c90d2546debb18039f7fb78c202f60e ab3f2dd8b15ae597bc43e7a0d6626e9379f68463
+c9d62599f20b22b66a3ec8f0775f1ac4ef523ba3 4e2295cd9722bdc2e196fdca61fc0c201af1c773
+73724a91c9ecc8696d1b1bb75618347d6f2bbab7 125a14208d7b74673f7ea3efb0f7d71a7caff7c5
+153519d1080efa5a5cf4df11a38da096f623fdb7 29eae00bbd731b13436fb81023dc732c76dc8133
+ce455332807b5ce34fd673dcc708762c35d500e5 9c7eb0198705d3476511c357219a6bd0612dc6f7
+874c48ccaf2e3a2d50e7bf436220cdd198b8552e 12f1bcd866dc14014cc239dbfc3d2172e19b89df
+3d132ab4c1f0fd2d9e0342805bc786a50129c36e 866f6ed8d9df01ae23eb20c510b32ecd704f1be2
+ca91d329aebe1ae6511628cc58841fea394acc80 389a338a14b74e99e7839aaf1709a61fe7ff16d2
+c5c92170c839017f7818b687c20aa41b987d6461 2d145600988b8ec7d22047d60204b3935809f410
+0a061e53de00d3779b7f60fe60611b83516a2a64 defcc20eca9529b58f80ea87371f793a98f847a8
+1585df0e8141037be0a6131b50556ceb488b5762 04a2ea84eee4ccc8da2646332a509ff6662b1f2f
+054c2e73522b8631a4f62e7d31f8940a68a3f693 cd5a44b2b0b686b19a1861f135609d2bc788af7c
+b192372c1d2fc89d6f66029051a72f24be468bc4 0499b25a6f59a21cc8feff2fc49e5fb89ba664ea
+e135d439c32ba6515a4db175d32a0c6107d589a5 39612e4a01c3bac955acefa180b318627b6f0415
+70260f1d226bc60e890abd0dbe799ad9f045612a 7c0e290c9f36b8a758c43c35863838f44e6794f8
+d99bc6f72a423287cb7895f0320d9b750dd16473 99760c2003bed20ea45bf9c3b9d1703c2931999f
+6f7ccd14db3087a9e3b5f954c65e7b4cdbab197a 8087236ed025d443ed1c81bae74ceb43276c02df
+16df81b9926c18b314861ed3cf735e3076bb1aca ae992bca2396cf626c9507fb0c0a29f18afcad82
+b98f0eb435919fcfd71a1a7cf39e13b033e570fc 864095106adce10f04549780355d023013633d53
+c6804cad9426877a7085c6705b956be902dfa158 d7780444d8e8e64d9fa361f51b32c5326eeeef03
+539f9523fbcaa45e52ac62b012a368352d853cd3 76044a462e1559784f500f962910051b0385aedc
+46a3d40524934c99cfe366a7a8c8924e4efd2e6d 58909d04788dd2b58575b619f4682d6d8c53526a
+11fb8091e3ab7b204931b754862052c808e8756b b08d926975beb3f7c8b3c6e2131e5b59d2bef788
+f7f5f70fd38130a55abacbc4395090d2750eb1e1 87da3ff4b442edbabf209a83ffa4590d35014a20
+7634b90359265a625b70fb1d4282b22a7a83bd80 73f8230e1ea7fbc105ed404d81580c1c9a0fe6dd
+9c1a9322f8099826ffcc2eba40f88210678f5f31 2432b7592dad1893aa97762e29b87f589ceb182e
+ff7c3f6a87fcd03a965b20eac2a2e692f2c5ed1b 44b14b6a88f930db1d6930889888bc1aaa4f4403
+ed22c73d2bb653146e40e1d31ab4de0e5253f0ba 86085198d95708ace37bf670070134dbda8921f8
+188d91cd4bdecb41471a2593d8096ab50464677f 1375c3ee4bb902b263ddc61a6fe09d5d555c856b
+cd7aeba99dd28ea35c50a4455bfd265f75c2350d 30ea464580a9da6b441584134cc5314823c5e510
+e5eb8c31d2df167bd831c61ec0a90b1dc9d380e7 b6797d00995cd6dd968c05985822bf2270e10461
+32fb1694bf4b9ae5898c7e8c696f576f82c3f7ec aa91891a57da9beae516af7c481ca44ff6fa52a0
+306ee48b72fa943d112c270cf52b58d31a5b3a0a 46b645855918b0835299a4fc6c1e7162fcb9e7fd
+4292ee9b01d415c461c68346d0aee5b3e8d7fe09 2fcd774fc1b3682bb01d2a31c6348b03ca52ebac
+a41f4d046e1d8030d004d6c46d1669bbf9dd5ab6 4121a053d10ba51824e0803590340e00e23efee1
+639e351dd6014c8d310edc84390c6b6bfe0570ed 6af85d4d16b3614fd32a08d07350ecffcac3941c
+d12441eebb0d4077934ca658c941fce77edf3c02 769112e96499e5bab2a35a91feae5895ce66e571
+2d48b5fe3a649e0944ad2d0b94bf6ccee07c3685 82421b6a5bd2010066ecf8d1d59f88fb4f7b8270
+002b1c894502a3a2c640b04a518a12474959a0b7 ca29cb706396c0d936753be7c72a8f1f5d0319d4
+1d7e8047b285da9ec206f516d63c2772532f7a16 2178798802ddea9a69bd8f7a7b2611a349f458aa
+b78d13c62052817b6c415696c619bd1907e045ed afde9161318c077cba9a51c176b096cf4d4e87fd
+9606ce8e223cf238c236c0c29018b5e480f31e6c 86e5db36b9370a88523767b91204a6049491735d
+529bcb72e8203751f309fe39f9873c3ad68ff84e dfaa40f95022d86b31ed12df1e16a35f4f0b952f
+1892a781e28144c75342b65631bacd673df29d72 c7ee3a23fc022cd4e8e8089bbf72ee675057a20a
+423505a7c70c659f3469d9afade695f2c5f505b2 f07eb5f3a921ffd7e50f498be34661a379ed3d30
+56dd026141c2b250b503263b6a88c1223db3e0ad fd4b65c2e829dc74a9689340d2803b5e451bb2e1
+5fc59bdea3489aa2df56007615e5fd77768dd01d bf8dff0f10513b91965de09080923932adfeb321
+f126565db5e706d738990d562e14606083bfaff2 b7fe973670256447b687a624279d6f5cb7ab4cac
+f9b6ec919ed3a280341599a75896552cae1480af 42a86e44639c1fad16cc076509c9c8aed0bef8df
+380d8081ee642fd19c80abf896b8a905b6ce63d9 3410f9fd2bb43cf72e005b5d187ea4d91aa48cf8
+274265dd4d3acf84e9e4ad073b382c2436db6884 5c8b7cd5ef8fb925fa9fd85ebd21b7ec3339d271
+122a8b93845f24e2af6a5628d9906cac704c07bd 806123ee5d46c482cf9969ff043d5fdd08548346
+5c73835acae61249182fb17d445f95907f5053d2 6cc44913f5599d9c7bec5af20fc8fb437c6ee119
+e7f16c508247b60ce44995b0cc1943c912fe0b26 1415903a8fe119440f69c195c5b75add63f9db6b
+ba4977d48be1782e94824d43ff6e26b6a8ccca25 1d32d31f5334625a9e1a4f448e47d67b1cd937e6
+46a107f7fb767eb07bbfb7178eed6c894073e252 9b2ae4aec6f19c2c017a22903dbf520d9f393bfd
+6d8a338e210c133228c6cc6d6a45b61d6cf33246 44dc81538740b6df573b5fd96e1df280f1324ef9
+979ad17ac58b6e5f5c0dc371df2ce2b059f52f2c 27f01896b1467afed76a8b97a1cb145bed48f007
+52facd8e7a841c7dc7da295e950bfa6b49fcc31c 9163825c7e323d95967e3a1f8228cff203925d40
+edc6d7f65a5768789f4ff8ca3016e121b87ff918 43c2c0f8253142a75cde2d94c1cdff28a206419e
+fa6f33f25b4a77b5a97f7a81d95697b78dc567e3 493020c9d8de6c14f59044ef2b3506ced8adb435
+15c431c56258c42750eb823f9e930e047bf1b27a 214c678dd06752d63b988b1e32811f40601caa32
+9315587e8ced0b5590ea1c5fc9340afbdc36cc22 54011c0eb2051b9035b2b0f0c1ab0f89a2a8cd31
+574092715ee8010b2f3cd9bb7b33997d20711663 43feaed8a594d84500162b708d8ce2bb7a58122f
+f78825b845549194dcb584e8c7e977a12460785f 592792d58afe1dc674f2de686f4fe7b3276ac46f
+79eece70799566389a9df4271ff1423962fcf63e 3ee8f2d8a94bbe086ba51f6fc983427dc3ad807a
+0621e000abc46121842a117dc03b3f191939f5ed f9bb0fa34f6f7fc62629e4caf83a646e37cfe3ae
+e7cd06aec737a233846f7c161ce99019cf203419 92aaef23cc3d11017defd162c8390f9fed6aa53f
+7096955c3cb531b5d11163c5820168be42be3751 cb712dd621b5a726057caa8f1edbc009a29a6c87
+ebb29530bd0b690484e56c406d098c6b162cb61a 9f0da580b0e2c304d9b62a4d030fb84acf465ce5
+22f87fb5b82de004af915827032fd2b37d0796e0 8d6cd15c4ba74b95aa733da06e90a8fc67b8a6b6
+f68d74a4d2525efa34a3ce88b3677581adfcd273 c78b953d6665c3dc0f2c76bf4a52e7d4a2171266
+1fc978f30bcfba9a56abad0cd3a66629663ac6a9 ecd563fdfe4195110f6a94ada247ec5f50f8e8df
+ce66f45fabdd27789bf6276b874456299faf27ab 028486161eb67418896bb054d183bf3604774a8f
+955c29fb99e101ca97caf5b247560f93dd45a30d 26082cc1a5e3c05b7ed582281b4da9cdf5b7201c
+e608e3863aebbed928b0950f3d8275a3c76f22ea e8ca0cefc34bdfff87dedb84c1010dd83f6407f3
+65e108ff74f807ed47e999294ee40f5d391f285d 8094e35d3519b006acd6be39480f01b805f78987
+1ebf42325490148943e5e751582503bcc58181ce 08a63a4ab1913531baf6355601b8464f20f36663
+aee8250d6faead47685fbd43241732e93ab8bbef 1d1702af82bc2dbe7911cfface30defb43cb91af
+6e5bbdc66b78edc1eb0506319b9a9b3f0ff1b25f fb848567b3d166155c51b9a96f636708c4df3caa
+c4dd8ac0b867e064f3e5f2e5aa95562fd654a773 b527e22a95397f59efb489de023dff7a4f48d18f
+4d793268cacaf99cc72d5079c706f1ef6a08aa36 473ac80f4df5193bd0ccbd3ffa101b682e431b69
+e26be7269223948c16ad3d1cbcbd300931a74d15 8cedabab781100df9e504ea4a1a143e786ef307b
+15b50ca6b2ae65ca2ff74e721205833b8171eb58 6cc44913f5599d9c7bec5af20fc8fb437c6ee119
+172d61143f40bfefc2b197e6e1269c3a3bd59ea0 70cb4881f8817e70a1dc850a5c01d4e8f66db355
+769241593da373ffe08bbde59fabf699bcd820b2 a02e21696227cee9439d5ffd64b86534ecb6e867
+e919e13017d2e6b02b72c93e39ae7bde6b15c3d9 da5d92f51e324cbfbdb6fb6d5bb3fb19a3dc6157
+90d47b64e902f3a158171ff640fd70bf585d242a 988203fb0578e60111fda34c74657d732b8ecb64
+ee45066c858ccb92319f54ccee16e114fa8e6076 24f5172dc7e51ffc15465cc1f78929ad048cb801
+b617e51916652a33d732df9fc5bd150f2ac3cd7a 0380ece8bc59fc348605303140209d7dddf237ea
+be1b7863b4ca93730c4995550ed8e9db3d203a08 2edf41516e3a40625ab45d49ecca56223715a936
+e2c0d826d95350b5927450ac896607fb47b48f98 1e4c48900ca4f70305b5ab0f21803330e82541de
+c09ed44e46154e7396782d9272a555fb228179ff 8c01d8d52bb75b62b00e4260e09a999d16e42d18
+b1cee8a0d6957f21c1e771d10bb031a22a984e21 3dca2e8c3483ea2d612f8c0a6f7187e18ff6b971
+ef311ed38970bac58902dd388fffade0016ae785 1f5a33ee9e1ec86c07482dde4e7652a8e4adf579
+cb694b76ffbf81e609c09c9b387aab1291dcb573 7dc49749eb71ecb6c6ebe439f5024fb082083698
+2e71919742b3752587aa8dcfb0cfa41862dcb1bb 966e7353045426df5479011c0b8602d2d7058825
+9a9440b2727148d726dfd6bbbcef323bf28a3acf 962eb455a2ee20f8b20c843e1b2fd9a11dc886e2
+819c67c262773b9855848d1cd6010150afa02ad3 7c4472e0039a54a6ac2b4b84911ab555b8210620
+efe5429b1c3b195f6113fea479350293a9a36af6 464d547df704fd82c9307632abb283e2a0ab34ea
+d29f05487e13db56c5153c7ab7530390a90aa336 4adaf9d39811f90baa3bba8b27024c250a207bb6
+cc65811654f912dffecdf0761bc83dc5c6c13a26 6b0c396b0581f242f338f3b507852e5c331f8e86
+d9f602f939ea087625ddb5e588b12d193a7027a9 25409b7a25121a0068602cb30b6df13e7ab640b7
+ff63612975c2ea8a6426cfcd5c62d35d8c1e9a4c ab714e02b3fab95ff3681d59e351b415e40c88ab
+1b5e6516948cde487b1a528fa032f888001ca50a 988203fb0578e60111fda34c74657d732b8ecb64
+32245cd7592dfa070865cb4a6d8478fbbf944545 ab714e02b3fab95ff3681d59e351b415e40c88ab
+974e7c632f65436db372e1ee0c897658e6a2b9ac ca902388ca6aa15927aa8aa5d0c8adc438459bc5
+f9c3e55f80287d76614fca2c2f1fb9bf480dba50 94e648b6041a608b2bf0d1256cc70ba9bc979be8
+df6580cc7f29dcdb62c4d0e8a0b7939abed20181 eee09e3a6eefc517cbe087d748442f1d71f64ea7
+5fbd272379e33d93922616eb42109954f7ee15c9 77e1b7c1267497ef8c563c1b4b191e72b3864361
+7794921d614a02ceadb76174d91e4ce89a23ac78 cdf79048b8addeb3f7bde263360dd3efb14ac918
+b198ef3f2ec3ccfc78a2852a4f570bf039a59533 35d2759e932f6089d0fc570f1296594c906d1f47
+15d3caa081898b345bfb6e5c251b88c5b3e4753b 2a7122484fd4bdfca6570add19cda23fad5b8ad4
+fe84f48d79d6f619e00b27caecc1207a04c63ed4 f93d43dc8d0dec8415eb85ddb7a05751350e5e4c
+7820486977e61d47a18cd16fef23635bb8b08cc2 9093d4cd6f4956863cab33cd82938a1190b6f6dd
+32de61d2ca7e432e5678ec5c932f2ed39b1d5f44 2686d4b2d45bd5a130d6e4fa0e46a910d4641d17
+8657942edba825b3c545745c2ed77ffe62b15d31 378686a35d8e4f9dd06576b5539df906f83ee709
+33d4f28fe450b30d63b6c62bc467c7009d3f37dc a5892d568bfa9abef250c7763f168c994bcb9d34
+60ec1fea0217bb130a093e20f4d44dd170004559 6a0d18a59befca70f7112bd2371716de046f932a
+3a20526912334f1f72a72fcd2153ba222287c30e 174a1d20ec98187e48ef1f0d4bebff74ca05b92a
+3e2110378cb264b6bcc3c2809a9f1dc5a0cf91e7 06a5f49f0082605523bc00f2bc1b343d9f547be8
+8e86782c7ad96231fb36246c3bf11c61c8350a42 0db3eb6617e47beaedbcaa9ed83889e61f2ce6ee
+d0b8237e657cbbbeac80515e43db5a5f514cfd41 80321db9db2bf83307b2f5472b9cec18283d969a
+2bd2e0d18d1c78da90a6cfd757d27bf4fe67c928 a4f5b51e2a85ce67cc705dc96d305d1b7a6deccd
+e15753d33988f5a8048082d9e55d0b497001ba1e a2cfeca9b7b47e26540e3179c1337aaa3f1ecd2b
+1674d3ecf204577a133a619334513fde85f10ac7 938f29d698f4f92240d3ffff41f22ca57136d9e3
+0464d571ce4cca770cb504a17652aed3457fd553 59e2d538716aa672c64e54a22d01b8d061a10405
+9d7714e5e910d8f93dbe895ea354258e7dc69004 fbbd603f0603fe9cab9591234f6c01c02a30f9cc
+e575c85fbfed50430deb719c287b0fbd2c7c6420 16e19c3360ba7b04f1b09db0d7804e1d63db741b
+c0f09f3dc897dc91caa8465bb88fe42a3c97b8ca 9f72f5bc24dfc8a9ef405baee99e0b8d87591235
+d7f56f6db226865acd974102d50a24dcb55aa430 f9cc7ff08f7081a69301ea9285affe6d127769e6
+12b009103d4b30560ab44ed04821f91c99ee601d 06b47b50e8309e152c1df7d705106c0aa08a086c
+ad47fdc82f6f96aee8bf8a3399181e0cb54b16e8 4e0132f607aa1ce5cb479bad68f9e10487aad818
+0fc205751bb368d311691ef1cbf55e8eb55a1c37 3eff95df5ccf4f41b3b7fe42d865925f5e3494e4
+2624e0d8b6f4ce47b6adf01d2c21203967562d5e 93056bfa1ca1e862606318c322d30f35401ef74a
+2323449d96cb015e2c11d778f8ae6e6c978abbf8 adfbe927ad319e92fa8310ecc9fd63b32ae6347d
+d7a845da24c07df0fe00866f277556e96dd81846 c7aa118f705388787d1906a0060f922e6cbdd3d0
+ec1083bc14be385098cbb8d00d24090da9d88837 c3a376f30ab93bf0d465c2c06163650a09e251d5
+cccf7590588dc64763a703ead6073ffc4677f5ae c3a376f30ab93bf0d465c2c06163650a09e251d5
+7aa8ccc929a29aa269432986a028262234b75ccb 75ee8fd323a8b538ec6d2da5aaf70d2a0184af81
+1acc14a5e7acdabb25e5f87c979ec4c0a4e6b9e1 4ca46a679b806213b4969e12436947313d245476
+9fb7c97d72b89cd424f649d2d1db1fc59e1f3c76 37a7ffeda5b7c5fd30110ac94950d9235859dcb4
+4206f9061a676d830b62ad6c88beb6f98c67f39d c0df030affe8561a5bed364064b4c4a356d790f8
+388c6d09894ac13125901abe14cbefc3cf77fcdd b034a6e27f38f7f6eddb818c38a67b51aaae996b
+4b0319c84c683afe577bfa277c0c2ee04e2b9efd 39ae61249fc79bdb150160d8858541296c7182e3
+b447707f20f5f9f0521125c89d5873d47843ef03 34fb952ee577fe3c29cf5398900a33024f5a0c68
+59d3912cd039293807f0c113f779a317a526475f d20b56aca95ff0d6979d4eb544573d91c00fdea8
+c614b97be0dec63286aec176a614af095231fc0b e51e2cc8508551811a6ce2815e731681c7f8dfab
+2f1c7c17c09742b3f1fa87dfc5f2b2dd9c77ad4d b080f23b413ff8b2551db55dd477d83c92163900
+a97d9d88d15292fa16358dc7ce261c28478d43c6 90f8c8cb825ce192a06d8ab7d0ab2e53eeb05c70
+4de065d99ea25364d20f8c7da547bce60ec3e4a6 8b0ba29832643fe28172fc379e8c72d115c63167
+84c13873fdf809e60018780b673b3c7ef90c22f6 4c2f60ef52c2895231c4a992ffed35a1ebc7a408
+7cd04385d61f11bf056b542a7e663428fc45ab63 5b07dc88c7d064dda7e73913c5d3e7b73ec82f49
+a30dd3983d87dc9bf4dadbac9484ad10771c6d02 11805b57e697b04e6769ff834234ab004bedc5fe
+c2b308f88b9635419d8bb609530530a4109dbefa 6483bdd572589a30da70ad9b3bb5604542767716
+5b9fd93ed01c3a93da690515eedc3ce64571973b efc3eb7f4b9ecab2b21e5cc4a1e88a02ba533255
+8ff4ca292fb72c88e0d723681be9255060f256c2 d0005b0beea0fcbb864db479417a64c4e76c1fa7
+8cd047cd144b06ee5286cf43407494ed6b62c48a bd9f83dedefce69c6cdd836d1682e4e481882e13
+4047e1058f588867acb59402cd492d013e2b50af c15f1e80e3b67ff53f6ff83809323355a2316894
+99a819e25bb659de3b1848edc954b2bff4c3758c 182a87b6e345ff4b27798537a77f5e92b340c417
+dcba08f46b84ec1c7ca28240b65e121f7bd2f2d7 e2897fc99d7a479b7dd8f44e5f55667ba64c3fbb
+d37ec4402f8a03cbbb3285c3ce739ce84e3516be 20e0899ed10f486d9fe62ecf3a9a324d812a6346
+db992ceefa852b1537d0d3d8ecb7cedc34ac9cb7 24119135c7e71aad389cfbc514bd7b17c93f208b
+565fb867998264df0ac6d01d9126e2ba8c5df083 6656f2b856a7a1bed41cfde6a757d40d69b97923
+0d41fd032c78723b2e57a34f80d808ea00553094 eee871f7444d124fd3a7b64e18cbef60daac8f68
+2168aa2800010c07371fa58db75bf9e48499cc2a 78a54c2bef30f137bcf90ffce77789652be7bdef
+d3ad6ea5e74e3d30329bb459c6084c89093d1c5f 0a3d2b3c3cee48a397519e41574a19d04f128336
+5209831e495e6f63b2f929caab57ccd8428933c3 a6b0ddb5efeac827d0f7b8957fdce21a45587f7e
+42426cccf648475cbb052d7e2a7b7b518793ea18 e0fe4af217d8dfb2258dfd6622a2d2d106a9804c
+ce1896cc5b82328ed0634dc9e5b70af48c69e641 e5f658877e60f82cf62c304cbeb51c6e0362a93a
+9e710d6f1da047d19b5a080cab0a8f6f956d2a1a 60d000825eaa6452174865af23e5c7a3ea6f55d4
+80b6110ba41e4fcb0594ae45bb620db5bf36f611 e20d55b05ad754b1dea89dd3d21f5e18ee3b2c76
+37baa70ea94bdfa7c98c3f186e51bfacb2c7c0aa 9f75804ca41b02e8f54a4708fa04ce98864d49a5
+2921db205eb18f71dc5c72693ffc0c2a6a2e7633 f4261c7ceb53e58516e88ccbda4a3acf46aed0ef
+59399a7e4a2d44d9431dba7e3007154457f9353a bd718c768e4bf1c9903716a0597d5fa339b69177
+1a0467d307f3a4dd8272e43e44bbefcc31fbc228 8956c0b3be314bc43db68309dd49c31b6b2ba956
+f458579312c3d5ebf9947abb17910d92ff44d4e6 39d6b1b0dd7124db0156bf11d396b4e4b9834e61
+f0a4e3b74ce419db85d3387e59b98c020b40038a dc9eda99f7c08ad851dfa08dd2b78841874bbb04
+ee333ed4f2c3f15bebfba1e53a71007a8e9ed299 d5cb9c32e1ba0e0bbc2f573505c0439432565f9b
+cf767ad168e2e10337b46fbabf45f05036aed7e9 9a698c3a7c56792e38768067b3abeaf7f5e2ffbe
+011803639866412c3b95e687c898597ac3dcaa33 7c7bd2c7de1aedd7d3e9e26823b2d5a959f375ea
+d2c280defcfedf9a65542ba7309f43e36b134240 9cb3d8fe20a62cc9323bfaa791f3fc4d2796e7e2
+b0bc655de708913e1b19cec48a85a22ac324ccd7 f259c2b936f2f714abe88491d39cda346d7acfbe
+0ff0601e5be262e3995dee247868d58fce7db297 13ebae5bac84eea8f2a21de5e436bd701a8d7f3e
+56c5d185c19dc843e3e63d23d2559d206e5d4d5a 35d3ab83b1a8f5327a04e44b654e39239bb387b8
+6f42dd213449f12b28917f5bb8f59ea6a7eb381b b1b2a90e5077cdcd691e90100edcff727a19b1b9
+6fc79e5a4f14f72ccbc56a708e7b7e79d70261d3 ff2bc12dd5480b922fb012b58159f7330b13262d
+ce85b22f87bf4d5fa852508007eecfb6a75481e9 4947014d12c2ae80fc6fd1e237c5e32181dbdaf5
+47f95a5a48c5fe8ba3802dde4bb4701382a6ce08 f12c54321486a31d37fe7c44f4cc0c52beef21cf
+593455d5b7687e88827f5e4d2d41546b1749c1b9 7dc138f512356ff570a56214cb537cdb62f4b94e
+e537eb66055340e66f1c4e60028ebef751580d8f 60485d820cc25069cff8e391906624c1806f99aa
+375004ab28fec7fd39910db452cf12dc952678e8 5c11bd5960d1ad9ed7949ef95a5c505747464076
+30e4f7210a2cd403343fcf5407e1217bedcd428b 4cc75b287c61769b61a2aa9501839cb8fd441fc9
+22f389b0ad20dad794d20aadac4f5a307a4e306c 84fb93ee49d5de19bd6cf0489ba59fbda5b085b8
+9144f42edc62a208dd0be1f1ac77074a5d31c0aa d1640aadb920b676e5514aa260180f11effb62db
+54ab2f208eaf1a56dbd214110ecb4d632c558d71 5b469611921ca4791fac1c393940d9a013016cac
+78923646539d9808bdc15d4861be441a89ad632c fe65874a2d1eea33542308ac28380fc60a5486c4
+6fffaeca5044af9f2efdfd9864bef22c303b71ca 8357322e5a41b51778bf4c43d35d795ad49c885e
+f5e7ddda26c1180c0f2b90fa915f0c289bb01356 39bdd2cde9599956f77e8af1c83fcc45a496cc15
+01006aaa297f9735bcd72de57f9623b83fa7484b c4812a99a5b5c69608d9e1e41eca395ae67dd278
+f5134e0a6534706d829a5be0b25a2226600c9c40 a1d57e90910b7ba87803f5239ec1d542dfa9023d
+0b9d1c1a4b5ed6ecacc3ffd608fd48411a695336 3702ceb5c93f9ebbdcc629ec3f7c5a48c293fa8e
+48c14c992e088a8ef634baeee5f8878a13869e60 c78859bf41188926b19b210b834e16795fa384e3
+1afa5aaf273b64c420a6e3ec964e659549bfd70a ded5d05b2f3a83c1f97209c07f9e432d7dd1b8b8
+625c9154258be32bbf99bd03de50de0c76cb0f35 882f34871bcd764b9208757d30029476ffc062e7
+8ce696aa951ae476e60c9b69e4c2b928b86e7e2a f6d97054976eb443d749b07333d8e04a31c72210
+b44a400205587cf230bd50eb6ffda75a54e87f3e 4b6459995a113c2aa9c8247f455dfb1a0f5a97e9
+816a01143eaf4f7e5a3c51ab17171e759a9f2f1d c1aa4150b46b6a9697b20a7a8fe513c0a08dc023
+3ee9e9b53340c7fcac96cc61efd8c31c80b35320 20cb6ea7e6552f750980f1999133b7c4a1da07ea
+90d7853020339dc1ec05f111fa46204926bb5a49 1124ce9acd8424be5131783f03214c9efb2bb071
+151a6e36293d918c8eedb8c47a5b2449482305ab f7dc841fbdb2ad53558a664fc6b5a0b587d51b1a
+4620695c43564b6c00ec52ce3d5b5d6bfefc5dfa 44f57298b9f20e324f890e265282fa1c68af9efa
+8e7ac6d15bc993c867875bea49462f78abc9fb05 cd315cded0341a7dd1166e85ecc25d4636113b28
+a54d18cf6a8f875b739b0009eae8f955c1dec62d aae96cb4d69c917e1ce970351bec091942dceb5e
+03d3066961d69e1dc34d33a07b4d7ad4f98cce23 4f03a6bf7f10ef5860b639ecc7334cf5530f4ba1
+e327fc24efeb1e73dedccf323240689f2ed4f561 ccf00d104937d294c351984f6b21661c2a62386e
+7c351b0a6a9c9f484b66a5e416012531afacdf81 10e0c38aac74dc1ce228df9f0b10ad315e0b68d7
+f06f4514dd2a59e61d9e52c464847b2ebea0b065 cebf31dcdb7539451f592ef258db2965eb161349
+d67f84e1ff1bb8dc823f6230705bc7f440acd3f5 9a2346627f60da7c3de2ca92b520af390af379b9
+203bd69023f65a97500784a051c32c00c900322c 3b1bec3620cf3e35563479f2165200904b333dc8
+9783b7a19a1c6f2abac981c2bbe0dc65b7385bf3 3145388f7d71182710c3d530ec08d3e90e7d3aea
+fa0bd2ed69ac8db7ca06ce522246f8ada76b1bc2 705cfaa6c9bd8fa26a23feab8acbd0bfd2647de3
+c9b5783dbb4ea4b887d1e0fba8f30691dd8f7509 93ee6ac4a08aad6c2399bbddd3f13aab8c98f2f8
+efd661c093e47ba8425c6d912490946fcae36903 d571a0cdf3754c3fc2283d2138ab71d97cbeab39
+d752e03a4d7d17effd1ce5a284ff4929fe57b8d1 e139fab26653000a4c8115efd016a46fb47532f2
+721158770c4d677eb6a7aa4e10a5c9bc443d75f2 03bccb137ff594bf75da901bc4666d51a15b2df8
+451edb68feac2b8e97b8fd2360f2a5ffe9367182 265676933c77f86b26ed6758198aec22c91a4423
+9ff8b753f79c66672c4a17f4c966203b1419890a 9475dc172f630ad4421c39e0c146950552e3627d
+0c79677ed6f1ed5bbfda837c1d2e1efb3379ed1a 8cad3858c5d160b9d76b66e9253bfb1c5135dc35
+e6fc0064b744e2de8f975367052fcb2af2006036 eb40356a286df5bf753177129171262d40511357
+936ad0e8796c767c5d7e78ff9fbf0e7aa1dd1c1d fc01e6a5a6414b471a1210613c7aab5579195ca5
+7a17166ba55f9bf152535d516f9f5f778017f623 21279ec774376f431f6b2009800d75ab9b59c4d5
+22febc8dd12079e8992a4fc47586c9a5c726c911 993df8bb053163e8ee4aab29c50685707fb04778
+4755e15fd1b06d04650a1ee55cac477a90f735f6 9cb1b6cabe851ecfce8f7af9a68d165d9e0551ed
+a5957fb400476d44095c298c72ca2963eeeffb96 7046b64789118c00d08f52756d14a21bc268eea6
+8438b47ba9803aafff4e1062077c211052d9e863 2b8fb794639df5f66513e83ff947ac070831c046
+7c5889d666e78ff6aa53c8ee173b664f2ca85098 42cd2959e6b00c71b243a55a13f5c5e1d70f209b
+ae7ad60d2fadf2afe474e79d9895073d296f69c4 40847bc1f44bb47e9d0d4c964d6a34ff57fc955f
+e327a4fd65d71258fa4cb2871d4f691003a4cf77 b6d96f2425a21b77345421f6515bc4481a289173
+7599f0dfb9cb15b50349a2f1a74adb36630fe3f1 2f57fdda10a30c726824276343caf7d9e3560e68
+e17ec1ea6e1b652d3db28ddfbd9b83e5ed760a82 137df32a0c8dc304fc968cf968e0ef37ce3e0087
+4c1775f1d5fd178f42bda39b3f7a08fcaf6c0170 b9a8ba1af31476874d10c50a46fab099bab93fc8
+65fe1fd01c998aaec9b9a8971209112b55aebc50 3b2ace1ac21fc79a39e8bfbf1a9eee1e7f0393ed
+41df2619d690b7340a514132ca3419d389ba2cfe 3469d90a115b900f8f250e137bbd9b684130f5d2
+8bb50206850c18f798cdd0b5d610b07fa3166367 3469d90a115b900f8f250e137bbd9b684130f5d2
+4b3b727fb39cfa85093d5147280548f3dbd47218 8c4f61f68294fe38745eeacc2e561c8521eefebf
+0eaa4fd5ae5cda19396f84836b3c7760568b390f 2ebffbec7c272b99b1efa58eee64d2fe7673fb48
+2a6fd42989bdaef409da103da3565b4bab982d24 02ecfa5cd85cd5eb77befcebde511b4851a99621
+5bb17421d4755bf4b5a56edf3d74812f961c5e7d 3f496017705b69a7389cac105871621bb3ddb88a
+6dc1065c1e3fa716cc2a8524bab78a056581e4f1 3939b668afa3b5cc896c3096cdfdb9aa7aa32875
+b15910b90a5c8908a767018f5ec6f1a6bd4ef054 c05ffa08f1776065371f65e6ecedb96d6eb53365
+2d7fe033b42bd8d8fe9f83f8e4c8410467d13c25 c1a7b1bf1fcdf149a755be8093c7c2d5a59c4008
+4342a6ef9f0f3ea53113f06f0dbb644627927261 1158b74011ace9ee522682d369168549c7b1501f
+9936f73b60b01770eb1a5f0302085061dd950331 a95d7a82054b1ae8d51f6a63b87d8e0688f53af1
+15ccb42f21dd7c3913336f5e23bc35cba7744b97 2de4c59b0abf6fdbfdf24f2a7d473cc9b0afc807
+3c78352568115bc0c9e7344706eba00aede019a0 c27599959ff1fd125591cca0adb6176bdc4e7c79
+64124bb866f86225bfaee37ca93abe98983bb151 676a80b4c548a1a58e5dbf5cbdb883ad5232d1d9
+9e4496474899b2372d88307f68e03ef0bfb0819c 30985f3bd9fbdc5f0b007244d88e0a7bd06a746f
+74799019977a6fffaeeb7ff861c6fa9a4c7dce28 8aa3966728f45f87b3cdc3393bad05cb464a8f52
+7a0364305e98b573d2ff93c251841ff107d5e1cb de2a884bebb8210886f2db63943cac23ce19a74c
+85b01bba6880b495215d5f46297854a4a05a05b6 1a4cc7dccfade6097aafbbba063c63e9fac52b60
+878a1f2a60c9dfdcce16603a73d64b270aa95019 3a020b750d40e92df55fdfb133f64fb5753a1cf6
+8c41087e9733267b4dd2fc6c53236a9bc8db1821 51bd9ef57fc871b859598ae406be5b571c3785a1
+c2cd4b7c6ee81d6afb8d4fdf302af8a35662b536 3b1d6e51b54cdeb40fb3c4f1fde94b4b6497d729
+3b6c707f83f222b023eed176cbeb8c2036dce87b 14200799e339247de65e02bf7089f5dc08e5197e
+639770c620e00d2a3ecac598c4ec03ec48e9253b e809480d91f0f058d8bba9e9950bc19bdbbcd0c3
+c8ccfee8bfda161a355e8c016b84c3a68f4d93d9 107b27008eff43b0f557264a1311ac6383bfd8b0
+19d477bf847547c5511179e1018572dfd15b3ee5 633855e625f1d2d167f601852f4bdbc57e4c91f9
+66a34666454652cadd7c9c6229e9cfbea2e39221 f6a48c6ea3b80fb24a124560ecab89e37d63c7c8
+c549dbdc260a485faa702c2aa38b0a975a466320 6b5964a8b23d4566b259e19528d10b4baeb866e7
+1c0a899e0b77e9d0b57e0791cd71c81049d129b2 1989c37425722a8abc0e771b2d04caa021c22757
+0781dc197154e07551c2855e152feb7e84a72523 a47965c7ee15b75d6e7a60288a1d9227afd8f8d2
+de14a4f74bf8700fe90b80fcf43ebae458a76241 c00914a784e8a6260b7bc05473f8c1b606ba3135
+6e55d7072f314ef307ced55a6abf6f535cd84286 9d6181d2cb38683bfa6e46343cc40d0c5bf10cc0
+6912fbe12bb35cf1eef77157c2af953ad080f502 e11a81baa9ce8e8d7ecde837ccf98ebf9e3497c5
+10d64539b6451d1b637128ce2718d30207de70c5 4b13adc50354688c7359ca914d93bc53ae19365c
+6fdd352b80d68f90425465da3e1fcfa98cfd1a19 34e0676063a6c6156febdb643c6c77a3df204774
+0f5587cd4fa024c96b79edf40198464a7192cb8f 495d19669a9787b58574504f0730b5abd972be57
+32a7d12bd6363047a39a901f0d322cefec624882 99158efeed4fa261e9888d4f00e89625f7c66304
+1e7386f9dbcb779f8fcdefb08a26b107dbaf43fa 99a63d7ee83dd3bee3fcaf1512cd7c7bdd7db952
+c73fb2ea49241d4b18080a9a783e521ab4f7839b 551e8211240464641b87d3885745a7acd8711509
+9b94d915da46b7b1489f0a6f2e5e0e185eefdd34 c2ffddaca81aeeb9963f918ff95a7475e8c6dc51
+290fc0849b80e7b7c9a71f991b21a897c7d5d7ce 6742e1f549be9b50bbe24f0fcbd08dc9d3025170
+bf232b39ceb8693044edf02d2e617f85ed99f958 7ad7b7e8fb939205c88ba060f1eb8db8402ebc29
+b42f2754145ee7e2424a3036645f2b52d55012d0 aa1bd77a386ad238118054f1ec0da1c52b678885
+7d909cf3a93b8ef4071b6996fc99c7d7a9fe9f05 0c91725a8e01eee47fd9625151e1377143c9ab8a
+ab4259fab08edb2d26197146685ec18f3bb80b52 467f3dce6ca383b0b4cb2db8d191d265505949ec
+577afe7220e183ef9105eb1435a6e1fde1c7509f d7e93d57521229b3048727164d27ace4050ecf52
+8b780144f6dfb8f1d64e2c8b44113310123de944 75280739180331abbf83a0948fb1c1da643a88b1
+c4f787709cf885238cb0d5f1dcfb19a4192a2590 1120f0e92ca381595f44e85ef19623db6660f3ec
+12549f83c32719ade8f75a314c6f99705e5fa5aa abb1339bf2cf5f4af48742d93ab52f14aa0ccf7b
+35481567974fdaf9f355439ec88014026d764ceb 6f0274821d6cf3f30456019d22be15f01c620be2
+bf60f84977ef6cafb2c0b57b809e969c1a1f86c8 9bd65ac2d705ffa2d90e4bf9339c7e2acfaaab8a
+2d82f9c576d43e4b35e06bc2e3a3609922179f8a 5a719a0e249e250a47a7eddffb573a9d9bb5daaa
+b8e274c55fe14ea567b420ad4988658984e0bcdc 7cd5360353b047d7ef2925a3128a645f4507c713
+95ca9b914805cbf73bb27ca53326b9118270fb36 d2a51e3024bf26b020dec47b725126dad2f0e32c
+eb3d884ae029343865625191a59b0d54e4a22555 5871a4694c9aac454857c33d06b7a339f23341b8
+ca9bcf8078bf5ff4e09d46175511fafe52f0018b 7dd76bdbbc47c612ae5c9e8bc8daedec7c5b7a70
+8ac372470b411a6d0f5426f2c5cdb11760f88206 e38ade761350353fcf7736a2687c5f072222c839
+19f1bafe798885135b614312fb664eaed6446c44 99c82126639b725a9b29ea084d5a7df2e2681600
+b59b55567289e0c04df7ec9556b8cdcd01639dfe 1636e8e89ce439cd28e8c58c086ea54cc89530f0
+a292bfac3a22b8b9636d86c4a85fea138ad3e32f 45f05955e5cf1693396e486ecad8c05795985062
+61c82816aa447d379030c2f00283b7d27aa72684 720f1fdde9e52e90f87e433c41ee7ab7105064f6
+68925ab25227fbb6c36da32a49a86295906cbb54 55de168c5bd9324b4e36470f38847fff582f30cb
+2e5494c84c012a835a37f90dc6cd817f89052af8 e0db6712f305dc19d15cea7851b645e3282a82f8
+d4cfe9814728be0f89265d9dac7267fd956f4b8f 3753a77af5c26c556c7a2053cdc1ce28dbf98ca6
+182afc2ad57756c2d5f15354751b617ab221fb18 cec7c088d70f99ccc2faadab35a13815f2f8f167
+d030acf54d22bdc415fd39ebeec1e276e8d96217 8a35fe438067cb45648d346ff580035667cf4dda
+dbe412dde99e53e9eea17a99352f6739f4438476 943f8d0ea87115de778c69dc4de2cefcd7d260d1
+cbac8ca300e0358a730111ce3dad50e789c4fc34 8f9bef609fcb2aed21a958fcaeb685abf0162bb0
+2d3adc62f235459f9ac856c61d73f5be46a63330 fb70d88548fefe638e66923ab98fb7217275a999
+f1fc0ddcfd3d58590a0b011933e91bd705044a99 076e7f6016dcef3737958d3ee780d1619f088efb
+2ff0437e6986b98f92a92d89120fb24505e812e8 29a00a32030bee2efd40981af163371838a8ae90
+e6fee06798b3151c828b741b4b17f08c9aa2451e 135849ef92fed5dec03943b3397dd4ae49543730
+7cfd654ccb414c46ea75448dd1c880e3c5be1a6a 9e5e4afa0129692bc9b0f2a6305b0d43e60372e8
+856274c7da8bc9b468fda6800768dd8f628b574c aae827312b15c1fb861730541d8ca72577c419d2
+a6abe03c1aad0146c672f0c09382ebb030ef54d2 dd1cd0687fc4762e1734de5b20f49bd76d69f91c
+a1d0afa7a705d12a286150125b0a8ef15ff76bb9 9c61486db64179e0142fd521b7c6c03119911296
+3fba90ac8fc944af8127b4ed6c973e1c327ac2a6 1a652eb76e1f607e57a66533a65b03cb61d4b917
+0de3082ccd52d1538e3aeaf270fddf7c34c8a831 6dc3d7920e4c1db45859118951277fe4ea2f012c
+998152ad10d2d4ce74c4bb532c3ec86ea811509f 7ad040447ac24b07de7139f72c21f0fea6bab3e4
+d52e25b5b5b12b781be685a70659505974b99766 3a57bdf05b181d5aa2ea406bf09e85feb15296a1
+75c0738c71eb98c493371c007a88f4a6ecb3d152 500d2f4092a81020466105a78b49f92aa168a2ea
+37f23e8c2a7abefa3e340b0ac1c941b88a7e3dcc 051b34297504ec92188651c8ff16cc3b0acf5d99
+2056d0843691dae7ff49b8bf7a4b59eaaf01c60f 2e73e40cf2aa7e0b3ce2431b076215d1c0090407
+7f2fa1aa07ea841a8f3258bd4509e265c1351a26 9efb0fa6bb7a4e111d9143bbf97226d3f46ccc53
+fc8e933b97f586751a6759c82681acc5ad7ff677 fc7335126230684cdff588c7b32e13cdbd81dad7
+7ef13cdc15c3c0a8daf390d5120be63ba51cf29c b6ef5fa783153fe58f1765e9b7f2422bd7b6a4b5
+ac3e72c616c4160ddb682a60ca4090f527439791 b77337d5d3d1736162296685413bdb53de0c6c95
+4f2f4458450955eee2f58c85433c4ab027bc760f 879228f7a165e3d3c2c5a051126f7d1e5d62d1c7
+4feb1bba347a2a5acec7277e75f343179711cb4e 8318755281989263e38ca636d77f18db06dab783
+5f85034942906788822cc5f87409e3c3b8622e99 3cb5febe81d26c92ce15638c66409d1ced4eb139
+cef951fc60f25bdebc960a322c2e9a252b67f729 193d0ca145ba26996049ddc2ba622466aca529e0
+b44d64ef5ac457a8e0ff7cb07758826091bcda7e 814e1d364c5fa22e7a729c31f8e5c480798c44d0
+346f315637c6cfd9efac3853ac5e8bf8fe0af02c 0dc4bafe325bf1d4b4a4e8ffefe60bb0f21e75bd
+664c89ecd2cd8a8d1b383117004f75b113a97257 bff1d11d4a18ba383bd8f183d9a08fe36dad682c
+80b14a75cf8c65a838b16a6ebb74aec1b622ad0b f3c371243e94163eae060eb3067d50ee9f95e2d2
+d7b3f4943840a6cf5dfb0b4b717942c5aee8a4a3 fb90a3d689caec4712efcaed07666b5ecfe65dc7
+dd6939683f389470a0fb82daa8762082a46e1d54 6ac833a0cd949f40ce82292e1f95898beba14d86
+40556099a7f674e389cb6f43a89750e88997da6c 8d4ac5108c152a77da39f056d6004c2cbc600929
+022e29802b7d90712236d9d713fcede8590dfd58 c77b6616e10d7fd561dd98c793bf65d643e25ba4
+8bcc62622aba2ada6e1818b8789c8c5f10212210 c9bcd4429342e9bcbcac3d46d3241f6ea391953f
+161e1f48c120c382c1f8daa42c79659c8594f1bc 67f75d8a5d8de598f7d1ad79c727ccb7400b08c8
+df83aa66632b63ae0ece74172236c90d1e02c4aa 6aea6c30dc79dc7e11a3f6b6416ed8c08e6c44c0
+3afce25398874992e5fa986ad37720376b6aa840 f3c371243e94163eae060eb3067d50ee9f95e2d2
+8d9f801ce542b37b8314ee6e313f36a6927acc31 8d4ac5108c152a77da39f056d6004c2cbc600929
+ba053ffcb69073a5285a4a1bc6c2a217c68b4d9a 9d981f5898198a531d787ad681b26075b236c0e3
+c1aaf46ee681f3f031647d5c6ac976476ce1c7f8 8f77171310bec7eef5847e593524807b5c7f0935
+80ce5ec951b230a64f03d7dcc2c6e457c5a53ddb 774cc2ef1e3ae663b0e1e75f0a445b93fd036d23
+dd44dac251779b62d9244b6e17592244eb3a688c f70918cef4aea2f5c6acf5e7203d6c692bdee0c9
+07066a9a6467521279895348633719c6cae3800b c8c56e80c23c46fc5af50fd82533e9a2b102d654
+45c3151eaf015dad5eb20c8d42d41932667c35b6 ebb01811cd2f1d17ba66757e3497406263399460
+f03ce2da8c62310c5f09c9018c4caf20a3488f9e bff90456f5f2ccc5dc5a76e3082a3c5d4a03327f
+666cf5f5e4c725624caeac53f4fd27cb774e369a 581b904359544a1965eb06e7eb8a9a61ad14f681
+8383ea290eedc5f211d7eb0948d94c577f63697f 4837526c32efe82e0bbf0515c8d6bb8ac36be85e
+2f83242734973a41b708bdcc2eba8241af964ba1 92cced412e1035995b74a004166665ecefc9a98d
+7bc88af0b9098d641b2b28e2a3ec3e774ecf65ec 218b174256b27eb1a8b0647308bd3ca3312189a1
+db91c27a696e0a4a9c3b12bf357f29f0c03d4605 f44b8637da20a495b4de457de3294cb45d7380d4
+adac6d9db636282ab26ee43f01d8e2cf09ac8369 ba3b059d64f66b44e0b6c11e085edd570e8b7b56
+ac65a3fc03b3d4766bd29e880ed45a6f821c167f 4a8618b9d7f65a03436cab39f92a8394678b5f9b
+be6d18d2199502b920eacde2197b2c0209a4cd88 25d2120941c18666e86c76b943e3e655afa7dedb
+28c4c0a1096a66d8aced77961a28e1a3ada057c8 c5c98f0c3d3734e15749ad4be492441a4495668b
+37d4b2ccb5b05707ad854ceb8f85ce6223e4c8ae 1ab9582a29cccfa5b432e3e6681145fb6ab66745
+017d739f6be46bc5c43d465fc6eafbef8f55ca2d b4eaa4283b7971b1a89f510b3fcbfc51ea0f41d2
+1dab587ab3c1912aeb811ef83f2ebf07db073032 271ef3943b56c928b2f14acd884374a18b07a0f9
+489d95a0f4e4c81d7d520bfca7c3e475c15ee74d 189b8aa91585cd575ba6cfd872e2cdc4696af83a
+373f096726f48eeb4422686328dc2af2ff368293 90657ecf9c79fb385adc3a93180bf933e6b8464b
+71c419cff89bf159f7a5ac9543676a66db7c829b 285b8bc7cce9730c5c644d192a5f59f4ccbfd33d
+dd76c14c69eb5cd5d655aee4290ced75ef2c2799 2848ea3905471cf542abed5c5f5cf026e645c2c3
+dc4781099dee46e5d6b5444a378e498b7982447d 5dbada1200b7e9493e21c5f17e70c5b47d28ee1d
+f29e841fac1957fa8ca73db4bbd60fea7e4346f4 c015221f0248b209090d38087e6d1b8206142c24
+bca2bc94257dcfb739880ad5586f829d161de657 0b49dd30a114350d565a4f25a356fe67a23f1fd8
+14fc6d2927982a0a2fd8c0633961d2657c82477f 78283f16edfdcae1504d4cb355bc6451bd3aba10
+f80938a0891e1a195a1a7ff4d5adee1c8c1d3fd3 2f957911e34e5894b24ca8abf231517601e6c2d9
+e389280351cda95d310fee87f4f81a4615ed979c 5e987d12695873585d683d3ed6f0192dc9e58a10
+6f61468b3268b0ce4969a400f75619d5f4ac1d93 7a6b2abc4022b0a329687244a9e6545bbf4f7047
+5ff97d4926bf5bfbcf8d925e0b26276919f7980c b437c67e6989e9d5fa2f25932f44101380cd6135
+e73a78c7c2076d0a01b3e3b909a39cbb5353c510 ac45ba6638e4a2a58c218b7e2794978c3e0afbba
+d66580cebf708cfb71efdbdc83ab95e0890b96e3 092b5ce115dec0b926f1fe3805ede6cdc0f5cd92
+c8142c9d691245ec2d67c8b78d41b590f14a4ddc 3d583167f7ed847064a6568f5396d44343069ff5
+fd47a0f0eacbe92de976c0049f82cc5d7bdc4131 b7c8e441c96a92427049e336eb0f96a87a03e4d1
+d256fa30329287c650fcceea92311770a4cfc83f 70dccd2ce4203f8f36717aa93f472364b2e57b22
+14b697beb168b8a063b4a705101e34a61f2ce5ca 7e9405450222dc03d363c277e5be5db319ed0c07
+2a0c9c964baa4e00aa02890c47e0b0a2a0be230b 38ba9a39517d2c2156ef6d5fc806ef00e3d2fc36
+d38c580c25a9bc66921b351ea285489d69a39b50 19997f555191bb8508acd302806f56be04d7da7f
+f9ee2c852adbbbb87918f4c50249ce66db85cf26 167ac759d32ff1b5481ede24533c0d0b30998abb
+c17a00626efe6a4db6cd59bc464e3e27b6433036 1a53ace5b72bccc26fb17efe78070a0b1342d4b2
+381cac97cf51de9e874b51e0b94b0c028c336894 2802bcd952bc53b89fb1c0ff63f5223b25840983
+11e080536a0a7084bc8738c9667010470981e5d1 1d251b6b8f6129ef3744a0da21dbd17172d71b6a
+f68a1ff3498ef48415c48e52cac2b8c80a45d4a6 256b7dd8cb15ad3d2bdc8ee99b2a1f7f1e494d1f
+762ac28300b10ffb7ec192e08a013dd51891517f 990a934e670e2d078df9cbc5968d055c39b7ec7f
+2ebd0e594f57b3dc544831975c26a9ce0ddb985d 290be2bf65bf65a07f90d3a013a319132423fb2a
+5128d49c1dae302c41b89f065c3dd43850f34997 cbfb1d73ecf0db26b595b01f8155ba9ab904c243
+f8cb0871d861cbb55806a3883cc6f0dc8f94e6c0 d5e4e7e38c6bd33748a07ec4ad341ee7b99cd539
+befd741c1f99300548d5d1e6327e6f920e5b1434 db745b77e666de0903025af039a27d6334aa9732
+b70461684b45f53da3daea3c9bb9ed9392a07722 d0043efe8163d6d08cb3e98ae7f07bab07320c3f
+26dfeef82a1d2adf4415aa264d3ee4466b3dec5c 93737e849b85e23ceed604ac5badb07a6e24a13a
+24350c8f2e4f279c7aef8b15f29bad1488467a6b 574f83f77671ed5135d179d231b233379051c068
+d4521df9432f89b5f2cefb532e51ac0efb7e37f6 35119092260a6326a8a3a78d3755c2a8099b801c
+5fe8a29871271b9a73b28f13138f51b4f890040e c6b62923e9e731b31efa5302ee91111356a0f3fb
+cea2d8987f8f9b138e5b04618ca5e9fb41ce76b7 25b6f46454a0da1b9fca8e97114a1025d693377a
+9e5c01c283f7306c8cf091736dd0bd8243007d5d 6db79988f40e235ddc1f23a6ffde9e609ee79741
+8dd4a52c014d3c0eb6b62afc0d44195750420fc1 8996ee106d53b8f7808e1aff0e55d7fe36dd3971
+a630b2420b89d847c43ddf6ccd08391cfd3354eb bd24aa3faab002a852dea1e3cb91ca72842b4a8a
+152f2db221fbc0018064e1e51ab5e360ab04db69 f6e5074156545a1da4d8c00bb4b0b06fd275edd2
+72a960008b78436a5a89035d78c79a87eccdb130 a96992516884eff6a428813ee96a7ae95261650a
+d72415638615a63bf5ad5ba2a68dcb21b0e2506e dcf362b5ac415969d0a4d9b983eb67786d27cb70
+e0bb1735312d5f617745c8cc3491e1f85c493774 80851918062285ef43f5f0c2e9c9ff9d9db8edfe
+45b0881a6b1c2a0e968120a28bc3ea3db7d29117 eb63036789646c3571602b52bb18a5dc53a28e4a
+eadc9ebd83c1f72e6754a9177be1771934855f8c 8506a1810ddb40fe24339702ca310787263461fe
+2b0d8016fbe96ef5441cf317c81a41d9417617cc d2059f15190b063e5a44f822204a8bed162edfc4
+ae4a557181cb1d06ba0104eadcdb6a479a33a33f 6cddca1da4e8ff7fa37a150355c6fa9ac3945c49
+5fd560ad6f891bc5bc43153f9be8c8994107f7fe 5c7732339cbb37d58277506508cc76df1d4f4ce3
+4834dba1df60847a56536eba6a95bd2f297a0c0d 5edfc6eb2dbdd6d5bfcf71064f2c4c717e0b7f2f
+0b836655d43a2aedf41ba3989964d136529d195a b97e22318ac3da74653191a0e1aacae8f149ed47
+c4a4831cb4e0152bc72fdc59f1f04c54fff00e3a eb94619140d5ed875b77480a0d8a0e4f96ac95d2
+aea03f65a5246491aa876ed3ae06369e1e8464ed e6fa011e8c0282440fd97e5e875a7f8850f9877f
+86ba7f38c1cf8723316f59661fb3176d4922e1db df9e611d3ee1f38c0a0e062a369b078dcbd24f5e
+bb09006fa3c163913b767e877f6ecd4c958ecc4a bf249fe3b7b0f64961970a9665701f3ae9a8db09
+d8872272a9567ef3e431c831988c0f515c1c307f f5745059933f6d5dc99c47704e8d1f4bb52cde18
+7b3da951a6147d34ebabd9821ea994e22bd56f52 4b6d8083d259759b62ea858c1b7095d78b79c6bc
+b11fda21c9e67b8c0d69af51b9cb5d8716286eb5 ae9b2224caf86caa28961a6b52ce97b6a8d383e2
+3c2fece289756c7547275b0cbb74c1887cd31a20 da5d9d89c5c01d79e5f98bdbe53762f2b65e465d
+e2d745f07adc6d1628b4a7dcc68f905f0276aa09 6eebd542d85b561d75b69cd5cde69b8bc0e7f17d
+088dbf6acfd78dc5fd838d61cc2f7a255b70035e cade0c852fd42e4392dd833b5cfdc56750725af3
+d7f7fa4bd25186d15b91b6c5f0ec1768998793a6 04d8e4f62eb9e5d891f346f072d991b37d574cac
+59e9246b72eedbb8e440a351a19927bfc80c05ca 0f0b62626e21d0dd3612e0316c925edb23c45f43
+f2a51b9957c0fd82d4faab26b5d4580ad820950d 0d13626b0b24b88050709cb71fec51019c678286
+230d88814ed552a158b0e33d214ed1c5c938bb41 04dce1a3eb8a52fe1a89b8456838748d332169de
+560d601d85b022bfb30ac4e2a7d8e0e7a39ffb34 055f39c1a2f4852bea83e1ff47062c925b4542a4
+ef50e21800317e850c428b49d4530a941c49fa84 c3139dfbdd0ae7f93be2d48c0c8d47aa0a95c294
+4208bc29696678f6c072f36bcad49ad4dc70f56e e5071189dfd41c6fed8bf2ee649198ef5f58c944
+24667b1dd8d1c63d6009a31e5fd1a6da4c413296 2cbabf9a0672b203e9485054647787475868def1
+2004ab94aa0c43b97c6f616c336d60e411c57697 75d7a8f07ccbec9f5c86603011089386a2db0d9b
+d70141bb68cc8c2dbfe553edb2d17cb8512c4a7c 21c4fb00d11213ee15bde44139b0e5d4b5dac9df
+1bfd1e36c944f37b4b9ed2afa84f119909c0fbcd fb7659312c3e46464c23cc3bac5c155ae005ac5e
+2d22bde047fc3b342222d6cba343ed33435e7765 21c4fb00d11213ee15bde44139b0e5d4b5dac9df
+0f0a3632a5b02620b6a1411058da559e284440e9 de1aca241aad7e5cc1f1ec4e8228fbe9dea593ec
+f9818f8b13a702744335516b7aa0897e62d9cb29 609e5e2dce52852f2ccfb8669b2d1864c8c90ea2
+4dc8e0f28689629b67cf2c874c46a1479203c21f 126b0b9fcfe0b192e7a5a4b56b20dc42b10315eb
+a03e4d4557032f45cfe63747058d14057810636e 6cd6408ec6cc166433531161c63f2106d683243b
+06914326b4cccd27082ae2daf9c895ab2aae0711 e1f06c4a6a364be8485aca4cffc36504cf4e8dca
+4f61337b683ff42425783df88edcd38eb1c0b290 4063e1c0b4574367686b09d35f05c7a7f25dfefe
+61a83065d14662810ad64297159f5fc29eb4caeb 7c3f0be53793d738adcf05ebdda12f039d239cc8
+ed585d764cc7ab25fa76495c023d237286c8bc0f 589421862494adf47e622bdec7b7386a52e8f595
+156184f40e0e00f044b9c1e2dfbb0ba40158e42d 391f9937e2727ba632cd60c41bb06afbf0d65b21
+e0e11914f6d688bfacae1b964cb1c8a53dae28ce 7394b93c7077eb9b189c47f3b3f46c458078ee9c
+c3472c49eb00b0feb264b0c671ae1cb73ef6664e 5f854a81563af026e22a60010dadb6d593332174
+acb23ff35d9481e7fe2baf80ffc3a3d449d83281 c92c4a6fc4e61067ac84952f5a49df4a30638884
+56b1189d3eac88dc06424750bbf4f247f96f869d 597299114deffbfb502a81e5ff1ac76982189cf5
+26dd1cb1a3c5c62b4e1c83eb617a43f3adbff072 e2a94a2a5ea14a5f0457ab101575ab9578063cb3
+00256280c44e35ce32521d8b2c2c0a83aaf0471f 8c58bf57aa3c2f34553be42dec3084b86bb8ec86
+64e283ec0c6c562463a3557e20aab9d14147ed1b 21c4fb00d11213ee15bde44139b0e5d4b5dac9df
+a4ba50289dc8e1fd6153789fd8cd7293adc4cf8b 6cd6408ec6cc166433531161c63f2106d683243b
+bbe4bf59a81ceb310b0fd3dc01aac16ee4e03696 4063e1c0b4574367686b09d35f05c7a7f25dfefe
+ce7353fe2580f9021a00b8ec284c144dc41fee4b 8c58bf57aa3c2f34553be42dec3084b86bb8ec86
+cf70af09e474653fd3460de45771e5abfd43190d c93a00b458b1d1b37d4877353cb301f7f16c244d
+89d1c66e2d421e6706b3af045b36ba0be88a7ac5 8c3ebd9e6d27e018aac18db1d4b0d9df99018ffd
+8c3ca50bed71ce3f78e2a3175f39064c227b1503 8c3ebd9e6d27e018aac18db1d4b0d9df99018ffd
+c9cba188c6a54cca197c620e62b1df37e9afc648 7540e5f591ec483e585973f2351e0d912c7bde38
+1654be5558a2be4ed29b1debe377817dd4f10510 b6347509c318c09e31cffc802d16be7b1646a6f0
+c995ee6de0606e2cf1310787d1ff84e94ef4f069 b6347509c318c09e31cffc802d16be7b1646a6f0
+7fb07af02c73755cc35e00a5321b8175a9981434 26133883fb042137dc6156d3e46c3146f0e3ca17
+f309cce14e2d872bdbd0166e282f0359189799d5 18d0e3c8c7388537f1c2911e48abc3e22eff67da
+e998304daca773676d8b2ad8c98af17e9b200d90 5979986ad10fab6c37f15390bae23c361db242f6
+91be0ee2593a54b5f617dbb97523aec8bf732ad3 d2697a19629b637355eb90506011f09b1f335c4e
+6896109f729884a9978ca9b17c4db9cdd22c2ccd 40db781ae6f7e3ca298b4b2ae4a6e7363fd5d8b8
+8a57f08482ce4ff12f04bd63a9eb9ebe5a8e0002 4dcd59302247001ff78b750be2e785b58f13f8aa
+ca296cc12dc458ae2284b64bc2a95f766f29c25b e3e25d84026115adab51c997587846a16c9a18fd
+53b25b1bb8b0e841280f4367f71011e428f5d7a1 d589294c9d036678bca94c1bd8d19e165b85b773
+ff2e11d6e2cd0d16c3e473338c0847c88292a0e0 91f8f51a14f08310626bc6f5021fcf551f9159ae
+04886abd07d8b9711e7304d18e6fa264d726568d af3a9ad76f9c3b68a1b2dd0507b41dc34861de2a
+085167348587c8209856e7c9ee769e8ec44e843c d09e9f3cb6792c586c168d94e1b739923ae8d219
+94b1149e022af5ca5b1448c30f60f7afb5635e8f 6831fc2e73426e59087c593ca7172e80a55343cc
+b7142c1bd405cba6984c77cb8e499a5026ff4781 42f3efac1ec9ba40adc05d40d0e88918d5880f76
+b132ad7bb84350ee54a6c8b9a949227dc0597f49 89bc9dd78c3e113ae8b32bc759ba560a389ae4ab
+99779d187950e674241dab82d1a47c6d254f197d e7bcd0491f9680a99c07a8e54f2abf885efc538b
+50813ac70224ccdb44ccf01d0aed1964fa4714e9 7d4c9a24f0fe49b600e708401eef1fb64d628923
+0fdca9b11ad858200b96b044146ed40efd5c2466 37fc63f6aa086659f837582ffde5d4391c5a9c07
+b8ab421829d2275cec06515edc6f6e35d1af6f1c cf2d03ebacb4d290fdaa3e7a552d8b1fcb99ce58
+51208d24db999f0b4e5d498216c728e6d27314ca c3968c6c528ea2a54f2780957f6d1a77cbd1eb77
+07403e34aab2d13ffc628c72d06dcaad073fe6c7 19ef38bcc0634384b50e33647950c59f5399e77b
+05636e697c901f1db517a14633e9554a341f8c60 0b497b39408289d4889b1e053602a10c3a0a3fe0
+6b707bb922e1b246b22349b25650dbae0b57f5dd 0b497b39408289d4889b1e053602a10c3a0a3fe0
+0714ffd8e7355ed0085dbe3ce96cacea12ea2523 40cfcd50f7e082abd65622b187e6ef793b990196
+e14b0cf72bf168d4befa743638a35c5283033240 e0b4a1924749a2158c6f1f7f21b1371eeca2cef9
+f87ef507c5e06674c0288ba3c7267643dd7de7b0 041c6b11e6a1ad1812a462b633ae3f3bb44bc3dc
+0dcfb1ccf142788d636400c74ab416929c3f25f8 96976af6bc14a5504268c9b7cafaaef7c27246fa
+a65a6f1456345396fba66a1ca02540e8dfec6dcb 3f0cfe1fe7921cdfff2380d5642c47e14063b307
+a1c38ec31ca1008c410f36357f9a66581aff8f2b 90c383fbafaccd6b08df6dce1d8cea786c34d71a
+d892d79ceef115d57b8a32dad351673a76871816 d3614311367e70453f188d8d7dfc7327df549d70
+5cbec2b5390876952a67124fb359efc54aa1022b b39cb4cb7f15981d7ad709aecf6ed215ae742508
+fb6659314a70045564da15ecff1f6febbb05fd3d e856d4a21031e757afd66dd18e89df373db3c9f7
+1c66b34b7fbe010105dc7838a236388af51c3a4f 36234778ead232321cf7009641e43f7bc894c700
+e27bede79614df82fdd3c0d24d833ec47e2fd505 6b92e2d11a58f0a0b22e917d39044da81da04697
+c9dd9852d76b2c81ecf09fe92b769053f0fc0388 c7145c408f47e10f60822004bf4efc404dfec014
+f6202a52794096e1e2e6d6dd47b6544100e75e08 6f5bc8c83f1f2d8959c4cd0c92bf4817799be520
+8adef2e3e10ca0a8d31b3daff64daddd5764e21d e7bb2483d632653f817144c6cad2c0d9aa990121
+4e2de7eac08e2290194fce6c8345e99b7127360f aed4d64f1036a8d2e476f7fd787b65cec9dafddc
+f94a0e0e04d280f02585d7fe98fa261ba9dabce0 754fbda74499eb48d484cc939660e0db9a59d79c
+0aa1cfe2eaf51cfe96698f6efe79057abd3ced4d 12769e547e30067d494a6c01479a18107366ce2f
+5a4cb18393eb0956fb1e20f51498aa332e525b85 6876fa19af2617b9f15667fb539970de91e901eb
+67467fbe1cbad2d218249a1d78515c60bebcc399 cc18b2f498f0a1902646c586ecd99a43037d75cd
+13d9ae134bd0d0c7317c0e92ef3d7662129d7cdf 186ec24b62b74a158c54fc615d2296cac21951c4
+a86c755c394e836665b0e8a8b095d3a29a485946 88afa6ca0a1eaf5df0de920171ad7140ea7f8cc5
+d1bca88cb63f9183c0a33818a1df855d933652b5 173408d6344ea8d926559e1e3440b98e2f8d1f39
+83460ac72821e44e4b0502fd4e0dfaaee848b458 0e8fc648d134f79c1132cc997f52828ca2fa3f83
+ad121848bebce0c05f43324a3a8e1881d115490d bcde6976d6268b51af9e7bd8d4fd848999dcd813
+98c673047f46d17bfbf234320cf44b7974359f35 be1d3f24703f08c4d1905f78493305f181d45da4
+5b0385e87328f6d3291dd3dead62a901000bdae3 7135cc23b33a00cf6b2b4d969ce73db4c097b705
+3939f139f6caff2bb192a2afde18e51aada4d57a c48a4b912efa7b44c2f321e4f0aadcfbdf2f7c92
+d764e420e0253445c543de8b8b8145bf091caf6f 28a778d5c2f371ec2757b87bd0d1e106192169a0
+3bef6f249a0ab74f823e67fb32339abb92b13165 b0b02a5b57affbdd5c267ae46c32d30dfd4866e0
+80fe32114f838ffb1a75b0846423f85f9408834c 0fe57c0e0b1fa9e5bbe790f99a1815fc166331cd
+86809a62fdf0c2519974b5ec6f1b167601d7e1c2 13d3b6e1b3838250925af14ebf5bd1a1b5c88fed
+66152898f9eb7f913a4f416786af0ac92640d978 d425d5a583f882691214020df3dbe152e898fb74
+b0426b014b6b866f2852906a7be017e73db8037f 2ee600a76b3faa19c896c1651184a21b491822f0
+3aaad99629d1d6e0d947715c0124e2c36e06d95a b4263c560239d75e1c080bcb2e73f26c9c2480e4
+0181efe8dc896416fbe0c6a4b500eaf55f91a7a4 7b36ecd98457d2237c5fbfef24a2e553bb75c872
+81c6e316dc8b0b6cac6e90c5ebd50c9d392b0713 a8b25f4db64aa4aa3c50ca129bd5939cae14c3b9
+d81a53c74ee768b8ec83ad5a987f0e7d1706c154 296dd42aff4ce74c4bcf1fd14cb754464c5a9493
+b8cdfdedfb638bb75e8bad051e4d13b609958979 d2e5274e20e4e8219c3afe999dd0e473b87b62a5
+e675bde51c3328f043861ba487970bebb5f7ac06 ca06ea68f1c254291674a7788fb5f88d02219e15
+9d76eeb9778ff3a294d837cffea6d9b152e97a4e ef498376cfbfb80868e6b82ac4a14f81860c5cfa
+43a2fa49e33b7515ccddd2f16f73fe58ab9377fa aedbeb48e0d37987d4a210854197cc7aa29d57aa
+19a1ca282aefb10a5ebb3813429f4323652f4557 d6ef02a284cfc579f952fed1919b9ec0a5ab58cd
+a0ca5b576639665ee3293912fa488a6d245a26f1 70cd3290f8dad9b5a15dee9aec527c4d4ac81bb9
+1d6c470d48337731ecba933a1b24d2fb2f014e6a a32609d0113e944d097d4c2e5ac0979dbe0984f2
+de1befc722b6e3757e784c4a419e04e6938bfeb0 9654d9c5aa83003f853c839825794c486afea262
+6b40da47ee8c23005e564b779edbda036372f246 988a187bce94d7762ea5aa7bde5b7cdaf7b39d44
+1fc859cf13995961cfa3241ef8fbe2980306afa2 279aecbb90c664654d7c57c35367bf4d017993ef
+6da8ac42e56e28d4b8be280d46eae049e8cea018 7acd34e4cf23c6962a86bbdb6babcdf0e161f1ce
+818541c93c7c790591c154733214475c6cb650a6 636444eb09e149041e880f60db07796e8a33f2eb
+82654ba993ebe8f5b9cdacdf601fd9b257756257 4fd283617e9d484240cdf6d2c0b259154c89f9e1
+4b90aa824b05ef6d29973b55bec8eb6210e1edf9 def6b3be188f8086a0844d8530c03c7110ad32ad
+ce3124d8c7af8704de23dbbb06914d90a243fa58 3b5b67c5e47a722bdc0a1ad1c32de9c4fe346f31
+bb9668e4dd6ff51bdc85c785d711ab59dab69dcc 88302953257116a2dd66435feabd12328cd2d41f
+e35c7ac1d414b2ed6093a7d61404a482c6f312f5 76b7127b73d3fe688563cc4666418a78b285c4d0
+718cba920ce7b6dbfc111696aec69f4fb2915f6e 99652b6dc1c244e6a6187acd45e729daa1bad556
+649a71bf2739fd24fcbffb4c92137122dee4030f e0d6cb0621878a7eba5574c287a752026c468750
+8c142a158a84a9f2c5d9822c613400d790107fa5 6e709d011e6a88e87d248609abc6e65ae20ed6f5
+58b6322793dcdc523ea550ba124302f8520094d3 ef836a4e0bc03d59062f910a9336c5cb9f8ad5ba
+b037b42c6ddf5268410aacb594078d0a615610f5 cd494732994b556b565dadb650d1d5d9ef4cda84
+4f22cd8bf2f35e31e306361e2ef037a716d0b82f 30ed4ebfa073cbdb3b37f199d88e1655cf92a4f6
+68e5527ce173758511c2e6dd25533438905bda7e 9514c4cec8f6b9164e9885d7dd9a640fc9921766
+bf239e3fd6dd3b7e8c4a077f37a01108ddfb13dd ec26297bd376e70b83a24419bb9d59442969e3fd
+66249eedb6d0d7da2182ba76609a2e4fd8336b57 9ff6a690bdc8748b030341a323ab250e9c9b22a9
+e70909114e81d8d8f23976254501f34fc03e7d2d d5057d8a23ef0fbb6017275e244336e7f5f89935
+8b2234351cf0dc6522dbc90618b4ca3fe6476f2d 20e0ef152b232beb8faad983e26ccbcbfb8aa404
+66870ec1d274e62ed7f7f113879f3bfef0c4f519 709270213fd0662a3b8ee8f7717c11e72939f908
+0d23ec89ef9e5a761494c1f35465a66be9e6f94c 7b81716e6728492d9f40b77f40d284359dcc1ad0
+b3bbc3d5dcb2630716851972d4f6de70d4b83898 b261ed59828a90737d1f91619766276848844918
+22b7964ebfd5952ac46b122bac91dbcf4d01bbc6 560139ac97091ea1ed85ab47248667ccef7bfc16
+686628355e4ab40eb4be7ea99764c52ef7fd2abe c0e17d97abc156de2e1ccf8e3364e5a87be1807e
+d6be7bb50bace05aa28b894798dfa568b769e413 26ab48c25c216254c25273060c024dfec7c7f634
+39a0bdcdab338938c2036e78cec9f50512db335f c86045d157ee14f6013988ccc200554ae0b402f6
+1aa104620588bc4ce7e8dbb1e385bdebb27f5a84 91fd438c18ae1bb7a91930d404213b7ae99e95f9
+cf4be8bcfb0685e5ce2b5e95c77cc7f0770a6968 a1f953b076e6dae7019de692385169d6286433d4
+08867a84e2eab5df9a0d9a25fd06519165f79f2f c37fdafeacc75beea47a723aa443748040c021f7
+c97a3dde7ccbfc513e0e7e2b33409f0c2431f64c a8a3519ab2168b23ee79cc365bc9f3204ba10987
+976d4d1c55b63541347f08a833c3b975769459f0 18039f2f1e20399fc1a0a154b16962180d825c68
+a65c47c33d8553a04d83ffcd6c139781960e824e e8f4e5b2b7efe44f01260b5df3a362cb3f041d20
+f3e74d6b438cabde1ebbc3ac847ed6e76c7350c1 5f589936de7639dc3add71b9c184d32b8c8aaf53
+30f5bbdbf4f1e75ccd3e6f0fdaf529a8f179a202 0e6373af54469399932ad4801a9a5f63f65f9803
+5aceb859ae4ead95883c6a3fcf6eeb1aef6a8678 12481a7ef38b51c09bcabc2178f5ad31b8c8151d
+c097a6420e6ee1b7253528a3251794ed995bba42 df56430e6bec9ed07c96b3aa077b2fed6d46ebd5
+04a157d201eaf320e944a2e3435abd5225ce9f5f 2034678e1c3f8962b153831d5f5fa3dcc9e56bc9
+cb9caa16654368fe6085df88aa0d99bc58571f44 159feb99cf9e9711f034527de1a42a626a479038
+d2c5c0b29af8766a08f97a427aa21448a3672103 7f0bbd77c254f8ed1b489d51e9c1e6d7443f6e05
+2256d2373dad8dd26d0f60834ac98f40fb7fbea9 758935368db62f35ef44b8fcd88bc25ac6a5e3a4
+2b090c6e77a61575005e157887ac4d34cbcd800a 47934ae68c563b693d9e84c3c82d036f2f374340
+78c34bc84fbde9bf162d4bd73c94836497b464f8 7f8444f0f1fce47710be8b30949b830f5c279c35
+6dac2ea1b05080b49b08922b84d82f552d5a32b8 7838ea7177856fac80d019ad8a6cde814fb9cf33
+a43b2e00f4f93c36793060dd43096e3e094ee8bb cab2857b501fea6d41ed2bcff0121f158797f095
+37082c59b3a491ff86cc046a4734db3047a78968 a0d9a2513e82e14bd025d6ffc17695bee0997406
+82cd8931092eee6947a099cc0f48367f73a0f107 8cb009872b08883d1710f0415a4e8e311a3b892c
+23adf57e7c6337e6040e640677865046dcaaae95 1d71e2e7f38b132f3a5860b5d543745ed9a541bf
+6ce5bbb31657c325af622d218bf009329f67fc28 1bd0ee2ea8fbf02fd0201b0a2c3fbe97639fde6e
+2125c86f3cdd19b22db806a46fba827760062bc8 ef706247aadd988b87b9943f8933a821d0c204ba
+e9a5c68fc031f70b5784da518f6ea33610ffbaa5 59e566f8ba36ff09c99003c3ab474304da48e158
+ed58e925bce968e1fc75f95a906c44af09b60141 8dcc0d76b7f804ea9e57cc9a7a073179231e3c32
+38de5d46959d2143efa7a18a14e3f3aca5dc5b57 fde1feef41f277042e272ed99aa5a1791bdad5fe
+fb5314ed6f4235005f6d278a6a9565df12ab8739 90b35b6f7e1f7ee874cf4e34ea922e6029f0d918
+6a41b531be5d22495a69c62af844b011c06b290a 316b65aa4702b2bb04977ec5c23dabfffdbc6412
+8e6dcdd0167070e05632d973b63334145165b3b9 c3eb0471a250ceeac23d23cf4e3f8d3488c94cf4
+11d56aab4789226a97d38e86a2b9d0c97fed122e e36a8ebb14be8922c9f06a7e0d805976df4582a2
+f585798b75c2f1861daf8a9285434591a632eb94 d06f2b236e43cff176ea58db6f930214fadfa17d
+8ae47fd520af7507fad79c609fe4f32d8b758da2 3fbc0a57cfe9cbc932a1f3ce088f819d321d7012
+79b7f3919cfa5eab70af0ee7e2c4fb09e7bcb570 018b396f86a30bf8322be04f316a67edf2fadbdf
+e7cef87fae3959bf0c0ca03753b7487376951408 defea7bab030db9ac951f1b8ba80656aca316b95
+07f38e1baf20b5463230ee33a180bfa39a107c61 5b6c795a461e1b194fa8d316e522b402ee1b6677
+626eb95c5c519f14a3c7f769b60ec1ab0fc7be5c d4fc824b2c782590e6106c239ce4888ff417778a
+99bf05a3d4379ccaa15dae789e9c960edd40f632 4567ca2c2fab4abb9e81fb2989c82161b004d3e9
+6947210f2154d82186a6991e11ef79019c87561a aac5df3fe4ba857af8fc3d2343bfcda58b385592
+5b2ab591090d3b944d3e48fb8a965375c7b67008 e43591b1c0b9c092ec67a62bdfb845279d1e97a2
+e64d9a95fa0c7d9a6054191cf62276c4e412850e 2cff83ca1e074d2dbeb1915a9cb43d16c03b85dd
+94c213a538004536f42ead21c47da8c84cc8e805 d65e785b5a0123e27aec45428f9b28873380c298
+713f55924d900383f74f5a9773907cd9eeb9da96 e635213b018b4a7677537a18661ef46b5b868aa0
+f4f81a3391a7f02d098e9105af98ac8cd881ee58 170315d346a66eccd64f16672325917330217dd9
+2cec2a8d4c3d2abbc715cb16f39848325277c445 2cd5630dff079268f700d51cd8db6bbaacece7a3
+611800b17ee06a3cb943669463739a5182e13a5f 0fb229fbd7f7b10cfa1b41afe6e1449d3ff739cf
+bd1e7acad23ac09a27ddf85751c2235ca1d420fe fdb1f1dff65f59bb0943359b89ebf3fcf5dd4394
+645b60fdc792dbee6044807f37fd0d096b6584c7 9e71e09b022c3c13228e567d811155f6f1db89ef
+1a7480cd9ce67056f41d42b20aba7d605df48380 517ed0b6d09317ca7dca891cf9896d873c7eb636
+853d8c15cc28e6c36f116a46f590d7ffb2cdea23 4e9d2aa73de2a59b9675a4feffe46e40077deabf
+e5217cea4b63a0d0a7892313161a67622c4fa868 ff48df5787cc59cd27ed4d62998e1c8d2f1c567d
+a1d82602b41e8bd7db74526cf1a09afc549db014 b61e7cdf62ce41cdf2ffae2d92e555396c1d29fe
+8ed4ebbfbbbcd3807135859ff10adb948839037b 1865396505fa0d34cc39fa0e32d5628df1bf3357
+4be24cc54a766685236f34b8e7bad5fcaad5ad26 737dd020183467065d0adb8817bc22bf3420bda3
+2ecb55c9c8e36d1b1a8f0ebd7f1baf8f9ffd51fd d3c494134678672177f8d0ff9bd4558e82d519b2
+86c409d43aa977101b43f97bec325e7ea1511f61 9498390438fc1a9faf568424f14f9a96408f90fb
+2c8d4549dec1e93987c4fa721fcd7c93b8834b57 f40f0f1806c8d900be4e5856de46796c66a800f9
+6a33cb7d1beb6837ae0e8ebac3941739ee5a59fc 218c087427d19bbf55997609ede20ed5266367d4
+35ff661097c521e3ad5dbd9dfcb48b77b0314171 8d822d19439c13a4ae7a3024240031d2dfcb0b29
+86fbf45a99f76a1f4a114e79f39dfe5113d03139 800edaef0362c052750ad0abf3d0262e86f6542d
+d92c977c8c474892d5a6413191074daa8af19622 95c60382fef4d800025bb046b4642e2fb505dfb3
+806bde122baef01e8c08dd0361a521e254d21bb4 4c99da9364998ada21a40180a2910b1d7e63ecf6
+a07193711752d34ef46c69e4abbcc8b9847f3cce 35f9a7b0c7568b27b6218f130d3874834c37bcf1
+db3858ec569de143b8f648463a101e92134adcf5 6436dc9bf9a2620ad171c56c2fee16697b9b04e7
+5156caa0cdcc77393840cb40926946e74a5c581a d7a14b55690d65eac93323bf467af4b13186249f
+85b59eb0499685ea0b78846ce42d5c7763ad5d5b d7a14b55690d65eac93323bf467af4b13186249f
+a871cc9cbf3fe4d921e47322e735eb786d5c7527 66b571403a407c0e34fcaa23bba72541536852c4
+3bf196fdc18d11a6ccca45feeb2d58c2abbc8c5e 43f170277f29454d8efcd5179934c79cd8a771ef
+8de815fc523aa07548de44799574d022f95d5d88 b60793731f919627177a21e69700849689ba7403
+9337b73188ca6c11e27d7a08ff3a231f4e83692a 6bb70967d215bf10bb36cba805a88b4f2002c6ed
+d37492e76e49f3ba8ce731ef1dc28835b9e82e95 42b2dfdcc5451222fae1618ec140e6ef3016a853
+c68d7807bed9f99289574ab5c9c95d3a017db272 7d9fd0238e2140cc668f66358e764ce7f4611ebd
+32a7e23c17606e1b4f49cd1e4c75e1e915885775 9dc082afb47e0045970d80f1d1b77daeffbbccda
+9ca674afc457dda5ffa91292a8b53cadcea74294 f32d89dd60ed3a24e496cd10c17500f21d4da211
+1e215c0764e7cd78a2fe18125bb97454ed037e4f 438bb167ab3cca02428fc6881845b88737cc62bc
+fafa5da96f97473e06cfdf6716288f2fbcf17d65 87bd34ee4754c2ffadbd5519f897f356946e156e
+9dcc1ff49e5e2f634f1b3aca402032657f612c8f d2382d374139850efa5bb6adfb229e3e656cfc40
+6c24576307ad7f3a933314ea3566e3d38d688989 87bd34ee4754c2ffadbd5519f897f356946e156e
+65b05cdd2530aedf89678417b27c90fb3dc1cb60 86bb2ae025fe0bdc40731013cb401f3606bb14d5
+9278fbb1505718751df6a2485cbb29b9f8fcf18d 86bb2ae025fe0bdc40731013cb401f3606bb14d5
+6515901ee275c6c75a47e0ab459a4925c70ec471 7cef66496a6fb98fc090b362eafa64f64c62aace
+b612d507696c86bd6cd8a35982b0f9167624bd54 61ba3116ebe547a3d2bc1ac0c555f29204be4eca
+4f26f73c3c6ccab65ff332ebb06bd96b019ed721 b32c57f89c82c7efbb2e93a845f048f352db4702
+87b40da7455e533d254b6218bba7694947ac8999 9b2ecc66a0a26e0bff115121ca73b9e4f365080f
+db9363c248ebec980e4dc1cfac0eebbd601823e2 ec26297bd376e70b83a24419bb9d59442969e3fd
+e39e4c98436875ba991e3903dba0682de7005181 ec26297bd376e70b83a24419bb9d59442969e3fd
+00bd1368203d38fca294591eea54a315742f95be ec26297bd376e70b83a24419bb9d59442969e3fd
+52ca0b05d3e0054da6ca2fe224f586d295b75e78 9b2ecc66a0a26e0bff115121ca73b9e4f365080f
+f3908e6c3ca565aae1fa44514274a6bccfbb619d a33646a38252fe62b2e1ec70c9b79480fcb14b4a
+1606d7db898b3b6357d64b2aaa0941564816b2d7 a33646a38252fe62b2e1ec70c9b79480fcb14b4a
+27cbfdef1ef2d5f9660d1c32de83b0bb368308e0 b7617750b25fc91bdd8cc9d123ba9ce384050949
+78615dddf947d27d449c0938dcae24b137ff819d 860b47e69e1bc2dcfacf476f74376e998103efc6
+86a9dd9736d88224c9b3d44be0934177f23a4c42 089ba5cb33657d0d98d2c10a8ddf45f45a82ae8f
+3128591d982dc76816d8a76dfb6a9be325d5431e ba083e39086bfc18e2686833e967e323834a01e6
+313435140caaa7f876cc0f1ebef0f35f34c65086 b4e25831d09112f766aa9b7a3148aa2566a415dc
+29a3df8cce2f82ccdb6488f9480a2fca49859083 b4e25831d09112f766aa9b7a3148aa2566a415dc
+f6995467c721dca1cfea6039f58d32504d00eccd c459c97e9f4eb64a65034e31c753f6dac02d12ef
+9bf53c0aa8fa86d53f722f49e952c35228d73d44 6b0fd12500f70cbfe2f983856c2059048ae15cc6
+3ca70e02c616bc3c2d9bcd149c10fa02dcb48988 345b8d800b0c988ab2833813e0ba613679e406a1
+d88ae86d79f223be714cad0257d261dba3868312 e6e7d01ac1adae171fe9bfedb0cbe6efcfd4e4be
+177bb2606073a8e4f0a4d82d012dab18c7b1bf55 60022c738ceef8ea9a428e7d9047d690904fca25
+0e465dabfe7ae1e8c01cbb23c6666718f4b4d1d8 06afed123126850e0a156a062f551872ac9ebf28
+e85da3f376e8cd7795d727c4a14c4b24d556f708 04277843c478396cdf600d723399f160fa122a8a
+4fff5ae1986d5d1c61c4fc94e89ef644602033a9 48355caeda2678286eee2a7f768d3b6d2ab842f6
+89c79fec9c536f55038da243f2670bba0898148d 60022c738ceef8ea9a428e7d9047d690904fca25
+660832a90c3f03b3577f860ea2ebd63cc7396a18 48355caeda2678286eee2a7f768d3b6d2ab842f6
+f108c30001cfa99f48262a37854b9dfbfbbb0da0 0a4519779a4c938181aee0a027b2dc49839aa52e
+f6be862ac74cd0a80c2a8be611015e497cab3017 f0faee9dd9826b794a5680ba3cf53a84e243c09b
+b1815680ae1bec5f2ee51159ba1f7ad3824192bb ae56575ef88d8ab9f343c8f1312ec74f4314501c
+6c9981669ab585e2e74da77978ceadd28ce77ccf 1bab7e4b4344c27184a44bad81211b917c4d0805
+9a7bfd35745f7d84687c846e474d5d03545bdd1b e534d84a56e067a52a06ef072a76b537aae6003e
+a9368ea71e3eab01c1d9cbd9113ca9b2ad4b4766 806d1d85e2e530b5bb2e96dc13001e5ece7d5a60
+7832209ebe9d300b64d86e5f7885b6778ef7fdaf b1cb595fb9bd99ee81a0b3eb2765f26671cd98a9
+267e8c35b0d81cddf9caf021cad812e5912bba3c 450ad44e30ce2deb72be8d448c4e84664246a6ee
+198c10c16c3f4c6a0c2a3125c06175df0a4aea53 26082cc1a5e3c05b7ed582281b4da9cdf5b7201c
+ccd61b47a85df1ad45b10cbaea5a37d6d332c743 c892e523259a5d508e01a1899d1d9ef8aa5cffed
+13b29333f1dbdf7c1d5f3f977aab4f2a598160a9 df1009b73b3989818e4176b5f66deeb962162635
+90cc171928a8b40239337ba3992e34264f8e1b29 87b65d76e06ea438392f7e39d59d94db39f5f284
+142edd3dcb376029b3d75e177b0d8bb8ab648d28 34fb952ee577fe3c29cf5398900a33024f5a0c68
+8afab2af36e5d11bf309ea14f010af2b99584f22 8dc1d50c8febeb8c20172ea3c378ab4ec14ec39f
+4c5751ed6b7d6038bb23bebabeb8bcc2fb3c1fe3 8c824e6d152a930a04617834307235c090348b11
+e0a1c5d4fe335adbd0fba52e9bd20adf50ff24db 03175a9e8152d2980a300dd21c4ea09f7ee2722e
+0ce4b37cb1a2f6e0b1a07f4ca27318e727b4a9cb f540eb7f4e8eab9f61480aca70ba6d9f6a11a09c
+7e25eb8f47be9d8456b0284e72558a4da06ba530 03dcf9f81424678c90bda1e2325fa32f98f6baa6
+4d4965a96a37ed15798ffd9bfcc3a52fd04af5a8 bee2166f2629bd582593c7e099bbd95117ec7505
+fbd4527a6572816bdd648e373d7bf9e4f71c8efd 5d783e166af92e1550c012943fd789b2cdbf457b
+78b9f46bf10034f9663a70023f497a93605257f8 1d148e4b616a1c0d3fef595656dd9511db6c4b89
+16b5f30d24e34e183858c4935e8cb7f5b34f4392 9ba82c767850c4ea1fc7d2ca0d3ba9a999af63d9
+b8d5b134eee4b5784018aa45ee4509206614d4a7 ada9c3b24ba6e0369bc181bb4072c6998c0ea90a
+f7e28c906a9add7655386655c186faa07b4a0015 8a0a79f25c11f181eb3350f9684b12e699056e0b
+b4d577eb92cf8c29a67774c732c2d69b5ecc27b7 bc3285324b5d1a2233ebc25afc27d9c3202b34b9
+26ab36fbae94618063ccac42b99273d41b10abc2 250e23b40c1aa7b1345dfb4f8cbb7f21a5e0a1b5
+d9d041a1596a23a5a6369133ce9ced7f789badeb c7c708cbef7fc796e37ed500ab1a11d82c679050
+752056ece62347235752517ea2967ed322f27d7a 8fc1c87649ed51f9d79887302ff6699e5352aa94
+08ce04ef72bca3b7c23fcf559f9f76e836a94c2a 6f06a8ccaf92f44727a4e37a957288b85fb7ae8c
+5dc7a26b5e7bfe84c29ef9ca7ffb1a28e1d08995 21e4aa96cf43832030f4af97efeb85226b4ba534
+a3c5fe1d32393e35084ed0ec31112ca165a14cf4 a4553090062fba60f5e472b4c394c920cb5441a0
+ae34e31b113b919d6007484e07c55b26cb48558e 4e5408e54e864908385ea08018220a019a6890f3
+1abf6b3604487a44eb21bf5536238fdef2831097 ffa657563457559ed32ffa1d75365270b058df75
+79561d5f8fc047a90190b64b817d00c209529707 720a73f531be6a6e7fceb7e841a4e1107144eab7
+2577ccaeb54044ee726e1a7b2ad0ae24d36d62ad e83fc7e1d25942d9163a7fa2e3fc3126fad019d4
+d5b6c71b8b5ab3132cf1b70869ab9910e240c577 4f2835a201cd72c76609975a51586041a168ddef
+26b2194cfc84db665911c113f9b60da694ac2c07 65a5eed85dcd753429078bde416ec755a39e96e4
+dcbb93eb9dc5bfd951b1cef897b68ca9a9074b26 621fe5742e2c0df678fed7d11a9f9f1e63b4a2ea
+3594f61308b74255fa9186b783e58cfd8d045595 c6c78c5bb6404e411fe94993f86364cbc8356dd1
+5e60b9ac7beb8353d424582048d514218319c0c1 b0b933146bec3341cea74b428db0999ad50ec75b
+1292b5d62c5c023775420c745615b87cf48426b0 0b3913cdba3a85e056f6ae16fdada8605b74e7dc
+46eb66ffefd2c6ce01cbf625d29ada1cabfcea16 7990548d1ba7e85206da54423c8cdacbb8f15ee4
+a0c7898db51bd055a4b4304b41c441e785b96fec 87446560a7de79381520042d0e96267561b8c9f3
+16099b061ddbdae10d769724d677e89ccb2c0a3c 87446560a7de79381520042d0e96267561b8c9f3
+994d1c429bc65992caa452912f8f9c7c88fa47de 6c272d2f991acc684e95f14e992022efe35b3aa8
+c603561f70e5c9ee7a33f11fffa328a14820d51e c1cab395941ed6f378129b263c7663e8fa2abf6c
+ac6a3527596180ef64bd256dd3afa2da85c83331 3d5bae3c5733ba0bbd6699ab2264a7882655f96c
+fec79d4bb6e9d46e569a6901c14fcc4837f5aea3 a5d83e85915f64ed288da169be7a8e7629afd0a7
+a7922f18ea1ac6b0982323f8a9e969d379b76861 8404cd5cb83ed93b2bbe148dca34b9c2becb6f1c
+c27981ab8d117f35f9dbd65aeaa74011de949dfb bdafd73ccd928ed95a18ffe3707cca7abd16bf56
+e2a0eb0a7e3961788402e8918e0c253983b7c0b5 e9e41ef280be84e546f519331e685d2cac3e4598
+c7eb7c38aa530e664e1c83cd0367f893095e63c8 625702d6197f1d60f202ae7aa456802584705d79
+552df0103ff84d61920ab29e42d1431dcb391421 77b4eb0805f5ccb0bb0f286f2d23a2698c848b0f
+17d242c7a93ad3610508a8848bb4194e9585bc54 2e53f527c51adaeefcb75551d869046ced3ca2c4
+60772220efde0615e798ab7994ba5e48c88022f0 339f6d71c385fc5e3571748dbae93104e8f7940a
+6e843b956c0808525a1462a80c2e9f04e62e2873 e22d6a00012e93d448843c72aa59c73cfbfe5492
+703f3bcf70697f5f1f1638ce10c50d276a0df407 c30f9cd99d9973f1f8fe2be96861d169bf0a58a8
+c21c059ca5abd1160cf364925041decc2902d5d9 1f7d109b78ae90d753c5b8520196849e920fa3e1
+29de980892697222ef220f607542554d77e52f40 9be2838481e08bf8a45e7b43262d4a474e8f5451
+4db6d435b9acbbb461ee68038f12637821871746 6f85470a2544624da0e6758a9a67f672e10676e0
+a7a458500f6e4288e28f534ca25db85b2345fb29 80a6b55a7634a36a51ad82644aab33c02cd9f58d
+f9d5ea41488768bdbf28b5bc4c8f006709b552c2 01b5209d05224346082294aa705cb36ec615dc28
+f667a6d8c171e90d0d402cd6afffff2818a409b5 286ef0f13365cf18a6e0efd709ccd914c305cae0
+584b706d32d8132f3eec31beba4f010762e926ec 430e17646c67e9ba8b17b93a2b8fa5e6102cdb40
+14d72a9668bd7440456897f2b3b33f69a075aea3 e0f2d9af832b2313240a4337d30ba850633fc2d0
+286c6e2456ec6df617fd5ff58e5094c7795ad76b 0e54d3129dc6442b4a94d1b0e2caa6b0f2c1f578
+309ea7ede7de8b14498174449597ad2270b67762 19edda2e9ef655463f496fdf7f3d32240137a2c9
+caaa3086345ef85c5d61aabe6eb2bf1e8ad7ca87 dd8e1db3bc9c9c86e53b7281aa632d578bc2b67a
+95517b969d4e762597ecb7a09cbc8e1f1434c1cc 2f11c598d091400f2f993ddcd3029e66b1edb722
+92ec41af4cfa8f96fc4b9070163e4865c0c84cd8 defca45520f55878210053eb83fdba0c528cf5fb
+2611d25e37bc34f725ff6d640ebcfa0691127ddf 01c04735a2a5e17176bf92a184a4d19c59974556
+d3e07d51cd98887b26970bcdecd6cc26abf0e775 85020b9a90e0315f624dc7384892859ef467692d
+465bc751e152e18e53466ef6d2ffb2d74150b96d 2cd73f5e7c69558126450f8721acdd642d34c938
+bad9043ffa146d43c88fe1d393c20d3b6286712a fa7acf7b97537d7277cd2661e7a3cf2c2deb1f95
+4c2f76303fa94380a462d629067379db0ff21b6a adfec7b1842fed064af55d1af2cf201ff2b910de
+c3f011346e836ac1d9165add0ed693dc5d04de4b c2e67ae1ed82d2da96c9a4cab82db41bcea98d44
+90c37ee665ed8798b502793831163d3393c22930 ff1b0d986524077082ee02e458d4aa2c8dd13569
+a0c7a134cdde3f88d6afb473688c416337450f15 2c1cf91abb6e44dc5b003ac6c3ea5ffe40027454
+13287b27af262b450d40ba17106e61a520a452ec 5f301c2f144c5cb3ea22c2eaa08f5afc9cb63b5f
+3fd2c598e31614d801102a2b50b3c0434006b666 e3d5c7d9b5e70a35d252e01260b0dcf3138a45cd
+3dafec2c2a5164c98346e73fc9cfbef1123519ae 7d149634794f006c69e118308666fb1fc0379498
+f6ba75f177305641050ecd89cdf3722b2a11535f 28781d15459a08992ebbbbc4448667a20a0c8711
+dcb3cb461e2d9f87e719fb92bf69da3b6ea0ccbd 8239f28a568bda7e6a58562a7026eb7cf404bbf6
+c099c5afbc6d9327eeb48a0877deb1959771d07c bdb9ad0d3b6e47946f08289e409ec98b1cdc2662
+34da76a46c613b929b7d2af7d966497a814bf73d 7cb27cac6aa77f13bfa67492be6931e73187e3d6
+711d08e8eb7ddc8210b223a5a169113bb6519e36 60847c1bb5d44b6a3f94e226b5b3f74e273e5299
+108daee5d5f75102d37c2e4da2aa9eedf7c116da 400ae78125c508e6e41828b8ce1b7483a8191dc3
+c69e1573cebd83f7c0e77139dee7ad922371ad64 0a6f732a255d2fb8ff14f6783df98470e75dcd77
+183397fcadf8d38183a727932a4870ea02237bfa 61d2f4fe0144af98a643274a962395984b69f010
+acda0a1d9fd7f83fc23af5d32b1d592b84359bde ef78f350b9dedeaccca92b38524d815aba0870a3
+3561b17e592345d52e9c5d2716714b73013de70f 35796b0fdb7f8d7a05ffd09d6d11dee9e86b6b09
+8fc574a4ae87a7dd63fd487dd0ac5dcc628995ba c99c7be00ccbb0ad479b305a9c1e915d55d947c3
+ef1d57e4e5c962f47ea20fed96a01d19cb4605af f6adf9e5822608827169c9839588ee429b50943d
+e25dcb73be17b4167b0ce4c917b1e9c5c45a3ea0 6b8265b31cd378eef4d0c3f5da53f8f2a0a080a7
+53887715dcf68d049d0f3b61363a0526522e76f3 5321d5be104ebc705d1b1fdd28bea1be21d492af
+c700ca697826d006c850f965db4cd49a2a9ed0f0 55b2eb57714ea5182b05146c2e02945af1f31e14
+545fdc26973bd84de9fa690f1ad89ef57c1c00ae 55b2eb57714ea5182b05146c2e02945af1f31e14
+64945d5254c1e8e16f109fac6af3223e7d284058 ce4c76d34ce1544be8a8a56927abf6751d9bb94a
+cbb35a429a16f8b83b9c96f804e4a682191aeda1 0eb52bdff951371f2be48fd26155d570694da219
+8558044c4c7d341fe58efdb046d643f291b0cb60 a83398ff4cbbcd68b3156c13b2787fc20bad7db1
+efacfbfa52a909ba981fbb62e9a9fa59d971adaa a82057c5c8020079d9be33bcffc7f3eac11931b3
+30e5efa0910f826c46e55558caf3694c13aba584 3f1572b2fd155f0aa518b50dfef5d1a99555ae76
+f57ed33828881c0e5357b0240153d880ff59d360 638de708b2753f2d40dd2f93e886e4e64dd03da7
+03c3daa2c79d9bf9d0fc2bcdf195902e7c3d9431 bbf39c629437e74b27ba1b2c7fa4ea6b6ef2c3d1
+9ad4064d1c96a38b70017e411d6145049f383b97 2daa8a5c571267379e2065468e034d2c11d100ba
+965e84d0bf92ffa3820d890e500f694244b496f8 cc80822b320bc9bdbed969cf004e16442506819d
+08b5570ec5f1017ea39e0c96e63fb10ea81a1fb2 8c830e28f63f44731857d47e012d07d65451456c
+0e53737fbf3fa7bbc50fd7add03741b2d67c5e58 1d922306988ef60d61af0e2e25d2e5d1794cc27f
+c97dfc475a809adb6ff924fcce8d09d7a2cf511e ab02cee0418c921e06af8b0fb9cde56b8a4eca63
+73f60e5518affdf4603353e85609ec2195258114 5548948b3d23c19e5db326ce776427cfe9331a22
+63258befc70134c35f14d3f87a02fc4d40bbb915 1ec17d659a487f50db32933c6509ffd1f991d368
+0bbd83dfa22da827ea95e67833468949a80228bc 92ba4c846f0d8b1bbb7f929f5468375514ff66b5
+7fb5ba69fed5599421d531afcdb3f6b805de728f 366efe4ef9c8a8dfe627820b5664df07591e5553
+7e083b497d75ca7e1d3b281d28a9e689d0d9a4de 5136e0af410e97c95e243d4719ada5e0ef92438b
+550ad9c3bcada7739ff1abf01df9abec7bcc5925 2ea529e3ae2cd3d9611e44987af05b695ecb1a29
+cfaa197940439c38ac1ad0203d419a94858742b8 7a770f03430bec76b89b3d519906355c978de06e
+c18a48de6840ceae82c042be8523b9cd0ca41164 f6db28f7a28be43bd1301cf174077d38d90914f3
+441babc2e623cb2ee051a46fa20493a9e8499b76 41a522ff3e0b915d04ab6895041f13525e2a093b
+3bf742ded1820c3162bc71ab18c89800a92d0fad bacc8e296e3e0358bc79706094878ca324d383ac
+f08a0316d84cfdcb1ff7c2c92d62d109d0e67cb9 fa4f2bd0652f73852c03e9085ef39f069391885a
+2e88dfa6ed0e183f90aef0cd0e888f88b740f622 59a2aa53d904625b25bdb05570558ced10893471
+240c9e185ff24a337120c21fc42cce0a5296c00a c4f391bd94eafa26c811d3f98e276f7bc24f2ad5
+21f54b8c129a20db2de9c2e776431898bb1c7008 c4f391bd94eafa26c811d3f98e276f7bc24f2ad5
+ff7499cf0da6f0650769aa184cd0e3936a21af81 d9bb3bf3a2551a10a9d7692381876b01f9e44085
+0536f77c93be3f99864edf7e551ff7ec450255fe 07f456f6edef464105fc628f6d9046e00fe7454c
+0c51ab85649c82893d6327db32214601dcd3fa1d 19701b2fc9b292a0a32b243af293d185d49828a2
+7f155cf1ff7be2becb3fa114e96f02df3dfe6166 f3633d99648ae7de05082b0ab90cc4f84411df6f
+8ac204ffb5479fd519a0ae77f772a79a31281f65 6508343a43f28df251fb6ba47ef225c8070f8edf
+a4f1b6a950128e4ed74b282b2d466b5d5dc24ab5 bdf6de7105e6ef290604d5c7f385444ca5e1eecd
+86fdc320d11ad75f17fbaed9f28f696f448b6815 fd31474d3472c982da86d45869cb7360ea731632
+11d1b06b2aa2df05fdb5ea127c97455f1a46fa01 f540f2bfbebb022a726dd38a7a8e4a132e08beec
+b6c30a51f13fcb7564e89f7b9dbc70197d1e73d7 36851e28a1ca66f9d54a6525d933c665df85a851
+5284bd177dae4d5581f9eab82e164bc2fba88415 34c971769845c136009c2bb80baad529a6d3e1fe
+8175e99170f53fd08f55fb5ba6450697db490088 d3ce5dd77dd2c1e7b7baff94e245a2ab295b64c9
+88b69a395174637b18f316505660bb9d9bfd86b1 757de5f6537cf3f22b77bf2a04bbf0567908dc8a
+95de37b8936d00796ad6fe1a5374e80b81194da1 c17129933e6c89830961cf77507a610a41b79f28
+d4391e951567a118286805e5a2066c53dc6591b3 42d5b1e0900b1deeb0a502741b88b6dbd339d64a
+de06c3b278f129310bfb4098d583c01b9e6bd678 9a32441c083aac6dca92198e68dafb110a7fb606
+36f145ef914d6af7f31b0037ff62339551970d53 52a02404853ab89e5525051461269553ad8212b6
+a84b340a3a1c242aad94d6841b1aaa6dcb918017 00d07ecf21958632c9b0712c35093272b96a079b
+2f914d7aac7714eb21c0ea07bba1b06381b189a6 1f01d47c02870c11287f09887eaba764a8d43383
+775204be885cc75272c46c19fc2312f75e927cd8 66fc81273ee024fe1a28c58778823b2f220e915d
+fc1d0f40e29a5c7686eb6449a5992b14c54bca20 cadc3ac251c30020b88374bcf005149b09821b4f
+a529edc6228981c01307fe4edfc8d81c7d45b0c7 158f0536bf68ddbd94c99f815083661830c07486
+f17f4bf3709b288cf1fdb196659132f8550bceb6 384cee33b7c9bce2921b4d5aa085de973146ad7a
+55faeecfec253e7aefcd5ba5bc1d6b34b9bc3fb3 07946c520dc7af2fe969b9ff13087a1c4f2363d7
+9f9b0f2baf3155280153ece3ea0d35a647563ce5 07946c520dc7af2fe969b9ff13087a1c4f2363d7
+83097df2335462ba2d2f59e8411cb10350ba7eef ffffc8f9f7b474264153e21d1ca184fb13bf94d9
+f50626e2745c063fed7dfd831487a2e124c852a3 3566717781af019411b20bf4c0c386dbe82d4594
+328451b383ab009436ac8d91d72ee4410018440a 014ddd55e416152b4a14a8532e234e8c0fc91556
+63be9c0e8fbe6f347bc059cb2159454df0713235 40f4e6871a15144629a040fd85d7e52d1e8bc19d
+25410d33edf24328113ac5507f580c574e9fb7a1 19facd96e3d04611d179102a7cd81ad07ead56de
+7bf17a4c9b239b753c3386b76fb15d5d1f531644 ec6db81ca36e165e12a2c18fa3ebad54f987da59
+67241117ace7409bb0c3259b8df88a620d7e25ae 87c7ab371f2076a2a843af8ba6d9ffbe1a001037
+2ace52ff9f836eadba73ea8fa2baa1dc979b819f ce775561b1d82120a8a32424f901bd7c1a491cdc
+c7c4500b23ff450dbb1898334f5b20d3f9a8189d 86dffb8dc3f24bdae7f6036f4cb7c5e92d0900e4
+a6092e73c773301e305a9aff23b8981c004d96ce c828259f675735cf2423a89f3d93c1c6ff5662b8
+12ba70dc78cf093d15ba38e8646194e866a55dbd d52e569b443c0dc00a46a11d7adcda13c0fb9d1e
+bc1a928cbdedad55c7da8976586439e097bcceaf 3f5f1378fb3f71ebfb3b8a1e2c766c85a762505f
+d80bdc39502bdcec94a49fce2ffd2fc63c912368 7b368f6242c980de3361c88ad859b7a8fa64aa1b
+f0c829e82ca5e0dc48f48b2d04bf2e2539f7362b 3a6652ac2c5a12ecf4526adbd044e3ea470cade1
+5c8b98234c0d5d297b0cf656e4c9af11e815057c 9b12ffbfd462a121b60123e231b4e5ec530f5d9b
+ef4f91e341408d80b114652ca5740ee9ae6868f4 731369693bf2cf81f5554466a717d66652ec5771
+c2a21721bdd2b235c40934057882a8808dd62534 731369693bf2cf81f5554466a717d66652ec5771
+216ab7d3f7ffbd0a8d6e980b3711fa46e959c780 3e93da2fb5e74d09622db087ba1142c9a58ea22d
+0ec04b96761b478bc29ab345741a8c62575bf5bd 3e93da2fb5e74d09622db087ba1142c9a58ea22d
+23e7319580ebabf09335bbef457d98283d0a2f30 3e93da2fb5e74d09622db087ba1142c9a58ea22d
+cec2bef426e21a2de9a40a2604bfe6ba05b74a75 3e93da2fb5e74d09622db087ba1142c9a58ea22d
+0504506add62822be6d6a57c294fbf61562300f5 e2d9731caa1b883c7f8705f6ebf3932b82b8a833
+9eeb8916f6621f32e9eab9128e7394bfd6ad43b6 1065c62d1fb07be7e4b2a488e6ab6e00040ee1fd
+3c70e031c59e6462bcdfc1e1ec7304517b9c4e48 ae267443116863f3aa85a2bb24c3ddc3148f3a97
+8be74b2018283f44f74f241f4c851fc77a07c7c0 5e1447920017e45c72e3751512719ce85e21b8a0
+d85dc1551adfd43f0c6ac8b013b6bf60e1cfd27f ae0b264275154d031036874be11d2e5992e7f474
+1de7793b3349b15071e569e4feda75dd38cec8f7 7b3dee305f3bf5c257379d55c2d04abd32f66e3e
+d26f97e0337c65f4e63cec50bcfa5bedc3e39699 4f01c0b0062f36641a37442aebcc1bd62408638e
+67cc1d37a0155c659a04a25d4415d7e2929a9639 de6d1470b8e2cb8884f5aad8f34e3b7ef7c81ef1
+3d44a9b5bd2ef0d596c9b782dbe90e4a9ad4c76e 54e4cfab2152e6d5ea42b15e89ab7533fbd1821c
+d285f7c6c238610c111001ae5c3debf728e94b71 fe6666bd0ebf81ddd450c09f58165366d8eeb333
+4c8f25b210aea4b0409f275de5f36b79b25840fd 5ffe806cc4f5aa5fa6e6f0ae1699c55239eacbe0
+63b699f90efda6753be76b5ca8d619f103243be5 cec88e16c4a7940390c456423e6f34cc8f7b453d
+bc78f09c2073b290be8b58f0e233270e499a11c5 056dc46847b76232e21a4ad1529017f3e1d5b7f2
+0ca73904d22c59787dc0e7080246a9223213b891 bfa7f2288b399f3db7cbe9f222be3ea41b188beb
+ae95ed647eb3af6732d5e5339291014708f4f5f8 de8129f850ff5c13d4973c4eda362fda21a294e6
+1ef4e1104381308190423ef79c6915279ada6981 90422dd7704c5deea44c4cad620ab78a8eac8565
+39bb580a8fab1cd2e0ca1964ef1ad64e2af29b1f 02e78528a675dd6e74dd900e0d5c4dc3eb6d8733
+1fc92fc19c98e6888c274a3aac3a718a732f5cf0 40d0f9178736a45757edace81b506a5703164f44
+3c914931c9caf58fd8783edb95115e265bcec6dc 1cac33101ed2bd750bf351d6a4e9fa728975763a
+c2c27d25bc1722ea917292388a1b34cd9a8cce1f 62e898e4fb16a3994dd2a5160ab1f94d01caa19d
+308e21f85b626175817ccd2694cd9b8c5c800d19 083c58701d095a84c651bbaf61c63b66475cfd0a
+f71c2fb40b8db2303e1635f877c534776ac76dcb 85d8be59e4d119f660b92b86de6f41c3b40d4ce0
+c963b48683d979476e5299108316de208e73a89b b718341c6714c55ccaec39ff40dbf527fa794361
+91c5cf358a04bab35b47786b64da06dc53e30236 ecec4b67653887b78f0ef9d1df86f2941adbfef1
+bffafb4037bd2050bebfee2bcd598502606cbfe3 f3addfbdc2c9c5e806716ebe11b1a9447fe6075e
+79acda5d9710de0b8efb646c72702c5c67d95d59 d9c5a7bee5efb01df0f3a0c07ea7281e6df4e703
+38cc721f026eacd592f01d76485b871b9256fb2a dfc7b9f277331f91a96e0319f7b5cdccbb06127c
+db03b9a6ef2ea3bff66801d71633a36f84101deb 318bbf88f7061f9cc790e1d4c10847b27ddd5726
+fbabe2ed5c792a839055d1870a05c31860d42d1d 10c6ecd34dcb8fcc5940a4d820440470dc2c4a86
+1cd5c5af03e533a3b111d9b7bade95b46c852100 98b048acd8227062d2746d3f2b2c6e89b7ae5649
+584b5f57ef7ed1701934ac9cb673736dd83a21b2 e07a0173e4ac5beb85ed8dae918e7ac8f52895c3
+ca0594afb095bdd1ea0edd6fc678f5710e56b92c cc85f056de57dd0179aa39927a5a50efb8bb6351
+17db93a3b866cf76b8d9eefcf02616b52d8b177c 3e0af4bb0772d8fd1551d9a13da82b112d541c68
+25ee492e55dc8c212ed8cb380b9450dca3fc9d99 d3d39a27429025ce9620bede5c0619d6489570d5
+f68bc2a6deebeca7c998c939dfd7456ff031955f d13dc0db5bac5ffef420e08efdf27051e2a7d97c
+924ff854939723257f6c6fac9508ffb633177488 bc9e930582a0f3c0e5acc8df27ffff9a77859d63
+13600287e8a20bc01372ded82d454d1501342708 258d5010e71eb38cbcbeb3f2416a6549165ce89c
+fbf7b54e150fd98d2c9d2fea9ac88692242d6245 f0e007cf43f50bcbc03a24ed447539a2b3a80b4d
+afa3b400bdb12cb23c120deafe1a3e1119b4f41c b3603464c682e5ae17795ffd776a46947d02f595
+f8deb5f01ba537f0e0224a873b17a5aeaa7157cf 90169dddf8f0f03c43dee225a608af336c504b69
+d638660803e4d34f62fbc78389f0a4e5a0938571 e404a8a2ebbc452579a606556c73c6fb1e4268f8
+aaeaf03ed7f68aa384501d2ff51eff5529fbbbdd e92cb0d0a0dbe88ca77666ea713c5dc826591a3c
+ba6d6466406369de9aef83308e43cdaa5d5fe78c 9e642953d978ab6884d4550dbaea92e11097679c
+94d85ad7f44829079d622831833c1e2a03b538cb 2e60edf8cc4afb21f1f7e50ffe6b6bbf967c5042
+9ae5f77780b1d1e81117a763ab9422d784bf903a 5221c67ac78d3f419eb5645577873fc87e697d47
+69b8b80014081baf8ab69362840d0608ff475b17 573468a9c522e4d04d34cf74940787e19c828563
+bce4fe27cfe3eab80bcb5c7001dc1fabdbd4378c bbf46e5e87959f320722dfc72f34e1aff4224bad
+4e69475cea1e4cfec37fa28ffe9549236e32d4e2 6e83234027b5ec61dc4516fa3ce84ea2a2bf7f8e
+7c71c4469c1a4e2d33ac0263ba52ae51800a383e b4a2c0e3d130298d3262f25defc276ba2b98ad38
+02519f98f90625219ad080af37f53d97a0c75950 aa01a256c1eb8515e8a81d67c5addf306af68263
+9617aa9507156a3b43487b55544b6c8ab62f0c3b 6c7880c6feb27802b48b636a00148ed1571a668a
+5ef5b9c9f110da47c2ee90f2805774c8ed856001 71638e90a92379aa2977441959c5bdaca39e7490
+0a02db025df0b1414c6a6fb197eb7cb6331d738d f6fa1b93a7b86034e63caa9c7ac9ca2374e16317
+b11226d2ca506054fb58986d2400195cd282f547 6fa4b4ea0698faeb5aeb52abc2ed7b118fa901cc
+6129afea34b7a9b0853c62b94335a655db9a07da da4f5d40ec75a6af178f99e17c586ba675baae24
+edb69e2959d4a747b10881dfa767a059e504587b b43a459d62dd0eac70c4bf7460c2e0b11cedb24e
+d6f5551b33a0fd38d8adf6b6323162735e86dbb8 8aa3966728f45f87b3cdc3393bad05cb464a8f52
+ce16e443ebb55ef91bf9cf7b8d7928ceebde971d 9a6d23a9ef63e5e70159843e9a31d5efeef43a25
+591536e260604563769ec2ba1d084bf24ff78a34 8ea2991e5b99f7821958856bba6420b03d092a54
+69d757dca510953b839618ad81a63059cc29ef43 ed86859de356b269c33307400cdef1166055c25c
+28d69f546fad77f7423171ccd25f9afd51220457 7b81716e6728492d9f40b77f40d284359dcc1ad0
+a76ce6a14be2544ebdccbc51873ddc9ad30117e9 3dc2b9b7a96b4a8681b88a9f9bea123b75ea256b
+ce0dc5f7b3c82112e5f559208c78d63af7df6a5f f514859db67be1dd65459e2bca30622757df0085
+ae9475c0c5baea572f505966035d10524e1d195c 6e671fcf7ffb9ffb887a28ccd1fdeb29d16197a1
+d7725f3223e17fd63fd89f45156ee9feaac4bf5e 0f7fc337cc33ecb7db9551eea0beec816458d424
+41ae3d87095188895273e70998637714eff3f9ad 5368bd6132c4c8f077cc31591324463c1e8328a5
+079ebe7289121bbb04203dbb3f4ab293c147a983 efe19fefdb8689cb40663f0d1b1d6cbcb12e9be2
+b3611394154255eab19019b52710a8aa1b40312d 1e6b6ac1c6a2e279ec3372c2981b3098e2835adc
+11700923899fb3dd724c000eb16832137ed05d0a 669190fb5d35f5e49107507adc9bfdb60acc48c1
+260ee0cebf177301172dd196b461e9c845d8a578 856c19e78c41263e1130f33b11c5de6e4b388ad2
+4566b2add4f042c6816adaa7d562666a9299fdff 40b750cdb1f4792f03550035505b3f92a61a9554
+3f1ac574761461baedada679103208f36191e21e f8aa4193c3d64df4f56386861a8e1f668491488a
+bc42254ad6978d9036d83c5d7c66e9f71ea97f1e f68613db3057e5999efec18dbd73a2e1a626690e
+665c5c1d05e35435327ffc07f8ccf079d6807388 039c042f4239d14b1eff3ff3f6991f62e8e1408e
+0f6de8eb960d4ee4aa5dfa8124845019598946db 5371ac265696d74b884d6868f9e5dc1122d602f9
+b59b2fc91523b1f7ce745cea931765512303407e 5371ac265696d74b884d6868f9e5dc1122d602f9
+88484ad0dcca07b769cd0c206f553d06ee0889a7 5371ac265696d74b884d6868f9e5dc1122d602f9
+37b95a906952b1f358ba674afe1cb7e8287a092c b7eaad728dd93c7233fccfb97c9cd848e23c9084
+50042c2f8269c32a768a34032cbf690eaff9755b 29cbd2d7c516f11b9ec58babe1ef69118510d253
+cf97e2b9f69870579018cbc052b5681613e47686 29cbd2d7c516f11b9ec58babe1ef69118510d253
+64b29fbacf521062f506b94e8a5f1d28c030b3c8 2a661ab8e3b42e439628e48b8df5648c3382d56b
+acaf2d41d817ca1f66c244a4d02fb973df5d4889 457a51627e30ffdac24052d52edd4fc8e12d5a99
+ed7aae468d764bf3f2b67682addfaa353ff64777 4f777ffb99fefdc6497c61385c22688ff149c659
+650aea824c9a13ada3b4c0a5e6c05bfd70bfdecf 4f777ffb99fefdc6497c61385c22688ff149c659
+6b44e525a1138e5b66a3f660eb96b8c1b5ea048f 7b08fa5e162218349651c6a0849e200f20d5286d
+16fa7010d60a0351a127245d71c843e5db40109e 1f650585eb5e5cd8076ad327f247d2cf4c732680
+dee406d624244d7806e96dbb98ad1b1228e04ad4 f24c0f2cccd9c8592c2c5127533fd28087d47bac
+2957b49f4e50d396eb746a029cb30b0bfc744703 340566bd9a7e33c8527c4e5e9a07229c53581ad9
+c72134c7e3ae1f3a1f955a647d6a72c35601c302 ca73740bd16d4ae49a4ef4fc44751d458138ab4f
+b771323c80b778cccfa52ea852d8e25c9b6c3858 9e6ca2fa08554937ca900672c28bb56e8c1546d3
+ff5df024b80be643b43317fc82e0c277c45062c1 d3fea588b077d8472bcad24e6cdab4cc188a0c9b
+e74f9b7f7899dd88cccc23f35c123eb9dace2786 c6fb214d3c6ae8d326aebc970c9c763f50922146
+871dea606468e81619fca3afdd144cd5e07202e7 507e3e15a6ef91899961d71618f9d4f629c77bbd
+2f54ddd2e39dfd21bb7ab4a7c0c6c5669a598afc 969b39a87a73062a4b49e37076a1ca2365f0af93
+2fba7f256fd7ba96b9d9cab7e41b9a897f6addde 6a4b1152bbd4841f947fc255690dd3e1821faf17
+7e0b43e59d387f9c8b61ca002e20a4f1b85ac87f faf8213ce875483e89c00cebe702ee15051382a2
+c8b9d8c87f3732cca56dcfa37f4352b1099162ee cec6c87ddd9f585e628722b10c523469fa2a3ff9
+f74968eb03ae3c9b97fea343128800b94aa34e76 4b53f1c828f39f32d08853193bea82fdf9702d52
+2cbff991df4127d712a7f437a56754d3bfdcfe85 cff958a750a5343d0a895b8340926814b0ab9dda
+966cc965b217250ea9aeabd1c05bf97a28390b97 2d61f53d9be52419537e5fdfc2040574e7c7027b
+146c12e1ab15e155670623b6f8dac70e4d3f5912 20a887e0b5ea8289733e925c9f75908b2855421b
+705cf3d7fac5b7c77f9456a6f3e2878a51e6531a 0c59611ae98cdcc7413b2b1ac893a4f978796591
+dae4d6ae41271257ecdacf3216473f5235d655bd d5a8685d6e75b742a1945e8cedb8ac1204d87e1a
+0d0e7ca071b0bc5ba872269ee35a62d2617c52b1 5469bea1c8b8f9a3d947edd4d6368b6e019d3aaa
+ea611fee563d547186ba1a1f08758513dbc89b70 4d69aeb748c2c0236beb7c21e3467749791c2b44
+2ba1988e4b46f0e6bc408c94087f1d34179fe76c bdf6da073d1b3ee90955d67bc2aff0535d4640d6
+ceb202a7e31820c9c24017ca6aca65350f61ad57 150d5f17afd5e0ebc3809aa5ffc78ac338e6f31c
+7d75c1ffe8cede6ba05c602ffe63a29dd360a7df 78e20de31b545a2bdca79af0d14a0e0fd50dbfe3
+4cbdcfc8b196f0ff28df1d0897023ee967cce2a3 e65507625123999db9871ba0eb4888a79c6f2411
+ccbc97bfde1ed6620ebb5ff48db9350318269d89 7988acf1d6ab16370e81f6eb900d55650e6d4ffc
+d632626f9b11c5eef6796fc456c25ed36c0bd174 c94e698ba0b9bf9846a0fc12e9f2a790f03d9f83
+ce8619b4b5230e78db52d3b9f70cea777275bd92 c23a71dbe6a3250c97271598612a3581f4848339
+e352b33833dfc9f79060616e9e2cd50e77ad5e5d a5bbcada5d14c7c7929f20d2ca159e99dfb2dbc0
+5727ab8172972ed8597d28084abd65113ea47a36 a2611bfd9953ce5d36f598c507983c6ed01dcc38
+19ac97b295e80d762970068f513d94fb5cb71bd0 8e650bd22e61786fed169b0874f4079ccc28c413
+b9e9003ded6a323eae6038fb14a9676482c4fb20 b831165533d5f18456e3aa07584c18e225cdc162
+7b110f1e6b4ca5f3b15000a6314773d4f85f26ab 4a3e0ad40f0060c50a23c267fa9f8930b6d647d8
+a7a47a589cfbde8ab7a99a047ae07680ab31a1f1 05ae45241592c4c7c5945c141f972367e9659141
+098044b25d48a46369f4de3d47482e35dd270d48 2dc88b4aa627d76cbb94bca857d44402d143436f
+f3fc1679ec4e98d1556d1d82edd3418cdf35cfea ffdb627f79403f4132212395afabb2810de47abf
+9dff794eaec4bc9821e252b6013736cf0692933c 8ceebc20bac8678b44b10a005ff8298177173036
+580fdc5569b5534428c58f3cde645a23de983200 ba0f1d72dd0a2eb81be033a017c03ee6428016ba
+e4f025b6621fa0dcac06fb5b3b53e36770255164 39c45e56ef5533d2da5c4d68ec73c07e8afdbfe8
+373c6c758430c733c6e29d00861eaf9f7721557c 39c45e56ef5533d2da5c4d68ec73c07e8afdbfe8
+450632324af3777462975cbdf4d76e6a84f4be0a 9e0b6bd619ccdeead308102bc27b3c3e932c18a2
+bedcf487524ac02e1ce51a3c01eb1c87a740952e 1f6fa22781f0272ed685ca677952ea638ee23cc2
+9526cf63c5b214da6a424982285ffd813c65264b 1c6b8acbaa8e1c7141cd05a20a096ee9f090f9f8
+dab419f6d246255757cc0869e975821fcab94d8b e56f3cfb13b65ccae42f41d29d1a4efd91c19ac5
+79ee65c93dde2612e59e5ee1302aa815c65687da a872e385e2962003b48c9343c289aaa0d9932137
+bc2c43fede43a208b5db45eb9481db7754296b22 995d02c6297d77534a6c0e2afedf94258bc12cb0
+3fd2463124f692c9c15207650651d2f209e6e5da 75fa14fba5f9a5535e139770213ed6d625877a50
+d902fc6f66354046e0a533b0d7e08333be4ec5f9 dd2d883dcc2d485c0965dcabb7d9e5931038e713
+46899a58542f44ea4fc00158e1395de7a5babb4b 04fcd620f192bfd3c308ed4c5ef5631a821e81cd
+3e8fecbb2b6791a88cd255ff229cda34f281668c 244e83ed952f70f8eb38d1b7c00b88cc0ee0f027
+39ed0f82f0be199b09e3e0862fcb6bd81408ffc5 c0e7da248497a8206b641e1c2d9af6b64d3e5851
+589204e1381979864fdcf63cc31c7cbdfaffbfea 279530a921f0cf2205ff83a66e334e4111dae4e9
+797fe6ce5c49daa4f0d5bd166d3fee1f8f408a8a 29ba0e781d7136785ba7a0033038d8245c5a20aa
+3641dc10c086fef7dbdf85c9b5b47d010af53456 99c8351cb11bc605ccb7f06d6cfa5594bb01b39f
+d474b519b8c19f4c2ef7792163c775bbe71933c0 9ba3bfd7cf5708bdcdc96420e91865dbbb47ddd6
+43297b92c1bb7487dab6610bea61acac4c355878 324bb80ab175e23f05ada4dff4e4f3dbb4861eac
+5e7929450a19b7beed5cb0ce2b53f09ff9dfc4f1 6f19a0ec08d9a312d87717a1babf748de1c057af
+8eb491fbb191c521ae0de5ae3a262126d8b17329 7afc5953b7c208e3b984536085aec684e3d8bde1
+c63dc203fa9a0930b926bb67b3953df84f12ded7 dee0d6f133f9eb786623579d2fdd1d21d1e17fc9
+b6ba9e3f42ab6910c1177bb1f7b62e046cfbd7b1 2ea921b42d88b665f8988c687cf2705354343713
+b45e6cd716ed9b2dd9ef41b8b9a0fe2d5b714afe 3f2130a72e240a786414cc8f81df37eed6e4cbc6
+f9dc56f42133f253ac69cbca7101da52abbdef94 66db60e42f14ec612c0750dbf8b682241f8ca9c4
+c5b3adc89f280aa3e6a6d8ee51170986848f13ab 9825f4dffefceafa1c95d7804dbabae00abc5112
+37aa955192a76546c38a93243452a56e9b51c5d6 aa597440ec5a78456091e28b91424ca236915b1d
+12e767d3576e2c6fca8889369d5d4ef87a15fbc3 d7194f53429a43a30118ec5dc9af1b7f7a81edea
+d312dfa7c91582eb8302f134f80fcfb027730dcb 72bcf9e3f477e65f990d772d6ee320767dd5361a
+9a01a2f858e08c7a9aad77e3622c68765a43546d 2081ae300cc2f364af7eb5f9eec2c2dd8ed03306
+695a29fb03b881069925154541e4d113f9679ba8 58b837bb6c85fa0260ffbe1cb6912f74796e009e
+b64b900bbb3c402807592d766284c97a9e4f23fe 4bdf85b1448d3be77ce85a79a225905abdf4c4e4
+b62a19f00e8f209f21798af4a052cee8f46c6b7f 8acf92b0d7f42eea99d04d259570f603d15f4462
+4f7322457d3fc23ab02526bd87f606b0932fa8f9 9c74a9572fe6d792555d33ec75af0e35a7a12a70
+b6aebe6f52de88bb049085fffc8ea0734586928e 4201fc946e232ef5e6881c3b425de28aa5c3ed71
+4f9b9ab7abeb5110a28138ad5b354c503e6f5bef 9a776d9207aff243f1c9e8fbbdce8c729f539e47
+d3f6a7026dac03bd491a09e2199025773176463b 85d7307509c22545c892084ae1ce82e2e04f68e3
+a5cb541dc3984461bf0822ac813df9c96c443f96 099d1585ee59cfb423a1f6ea21d33b92d55f1e0f
+269ca10e7c957096b9468822eb4e928a8642c725 ef281fbc5bd7e93326c22143305684f4fe63a455
+830096cf5469acc78480953ff58adaae66ff8099 330a9feb4c99295414b0812b581e541899def906
+cfd91426196f30bf24c6565a31a65ce7bcb08644 48b13bc3667642093bd02f49d042c5632d2f2c9c
+e55f14cb0973a04a83150a4504b95cf4ca1cde0c 293c86363cb2b1a6731e30fe00831c6a39cd2fa7
+4075d651687d20d9827733eab40d06e38f615473 665a28aebd9980c27dc990606d6f3a7414f179b4
+9f7b5ab3feee5bc57568ed310554f0bcaeb73d61 9665dda314503eebbadfc31e1cf265ce76eba2f2
+cf0ff077eded80ac470fc86a8d6bb93216587822 fdb8b6cbb453387fb44d7c8239be038ff1cd14ea
+73043006799875847d1771ba9b8f3ebc61e6065a f403ca0c872568d2827946a5673ea87dcbbeee4a
+5193e35de572110ae45b0822883dfd0fd6ab66bb a40caa96f3c623c68775324e93ccd49f7adcf537
+9ab57980f9216a67752e33154b255670b78b2645 0da5690b8ebd3c5822882a3ed393113e9a40cad8
+9fd5c1b399ade95cf101ab228dd1ec83d9126d73 12d14eb7a36625d580e88681fd35efa8084aefa0
+05a76e4e4695d1b21c92ea54072a72ee88a5d480 6ee65ac48e84d16b801c20cd270fb40bce53de33
+ba07badea9be3caa69bda2bb2c6e1a7313f33f9e 6fb824b95fe02a3e1d3f25f15a1d5c1ad4cf6dc5
+59a812a6a0893071ae73b5053c34ed2de03e59b3 cac6710dae1c96f2d37e72a87049e447c109012c
+512242049933f4dbeef59b9a13c070bdafd41b21 59047901689bbcf83c3c6acb716ef395cfcac1ad
+fed54d013dfdc322a1b98e2299ff56ef7962399e 80363d9dcc94b6516b0fb3229e9d861f3a0b798f
+e0d095ce10158efd473739d29b1342c156c5dd74 9f229bb91ca417b77c590dd1a173f9becee13409
+c28f9a30c6cdc2e3b51319dc488c38d9f5d99271 e027d34ab5884058d46ea6cd987a7578adffd924
+e544dcffd9724a5eaa0085d101e74751eae333d9 40bfa8f7bb69bbedb767dc31cd6c67e160797abf
+c3507fcaa043b964da9acb1bb484753e5d59439d 113228747f650e7102d9b315607a0efc251e1dd3
+8713a3767590f541abec3bf81c697e6807a50315 5e74edc56d14afc23ee601aedc4c1e81a32c0dfa
+de56fc5302185cf9496385f9efa95f654de3f8c8 04a8e29736f8c123b230c9bd62e8db36f3809ace
+757eaec6574e211dd0a8b66a5547c6359d8b4b37 a737b449d167cb0a573f2952730e7c2b8b3ac8a9
+ce0fdc40dabe62dd764c5b2ef6676087983ecba6 246f2a662aa8488f72b65aa12efaf03e27e9c987
+76c6b0e01528f64b1cb083530f11d719f8f7e837 d82eda3dd12c6e28df4293ccacca47f78daa5028
+25e0caa847d3f552262eeed5d3bdf2aea1b6bca3 b8168bd64ea1847db11825af5349d0e36f4c3434
+7926fb2b10bdd9674cd1707a881eeba70a8c7dc3 26dc2bdc8541b431ef4055219dd8d55154164baa
+a8f8842888350fbddba8161c15f3c58a24281eef f682715d1c57205f8d5eccffe396e76728f493ff
+8c007d4ba1af676d3352d3f7b9206e811447fb9f 15e5ef9192611c0a54bb5337220b38fa041e3e01
+4e9ff73c774986c7644cc344a94041421d58adc7 01afba8c3674363294e53baf2176206a1b460d0e
+e4a4248b4e0451b4d836329c1435e4450deda224 1d293bd0134f9607a2eec5d62797eea97442dfda
+3c64f35621ff9b038d3536ba578f26914fa4093d b61cdb31677db58a1f2124333168a1cdd4888b77
+67a8e0518b5d27729e45f534f42b3f543345971d 02d069f58229aec537888ffad42cf68e62aa5a41
+85299f2fd6fb0095cee932a08d1f9b3a9b3abc21 f289b5f7879bb1e8ed2da81ffeb334af14f99a62
+cbfd8063093f12ef2f4b479c2e287edfc7f6704c b33e365e6b4e833e1ac8c517a1bc7d3101a11017
+3477b5a153bcd1d0cb6f6015a2b1fcb99b1b867d f01bd483fe191f07ca9dc4fb11527313946f82f5
+f5ca4d9dbaa92d8687dc36d88bea1291e4a5ae10 2fdda6ee75a92d95112832df76dcf19134778c2f
+8fa0be1623a8ec205d35c5b6c13c278f88b8ff12 55308b1b46bc0314679b6e578b6f4a32a8dcc83b
+dacf5f646c66197f3b84a6130288d5742d64fe0d 42d60e66cf09f0b2f44f7b3307f1c91f084eed33
+4cd63916abca26c9930b3d6b86f6de497f3376b3 ce6c7301511fc9bb97cd485fb439f7494d895071
+a55a8ed8502377335ad078ebb2243bae0b2af51a cabbfbecf5998740d643dbb08164d62f97c628dd
+74f07809635b2b0d877d151ddcc99b63758be9b3 17bedb1cbac50f00952efd8f72a7aafa5723a71a
+1603d2d159309f17187503bcb39fef877c4257c6 fc60f5e063501e87cbf6ad5f09f1d9943756fce0
+5fa1787fe01ca044e554e6469b26d87aa66d7a88 8ce744d5363be1195c3cc7343167f5a4d775930a
+48626d4aa3fca1f0f8d7b3847b4c0cc4ab7b6be5 d1f26819d29f4e30240381ffe0df571d075e0318
+9d91079dd1871052b7fa98755e3f3f5fade8adf8 3c784e080bab3d0fe963546736fda626038c78aa
+1bc804aac70387072d18b87132ebd21d46f03c10 575ec7b6a10767736529cf2816a5513de8614ead
+959454967a2e4d74318b49072d727372b025d157 f6cdd93380d684357726607ff9ba74b4fd0ace26
+9f69fd370307cc46e18ed174227cad699f7bcdf5 3d80d2b1b2a995a9c7a17b49670fa9875c0c0525
+3699b9bb58b3a76847e89ab20460daca93f4c8f0 56f6430088d6d0c3ae1eaddf8418325191a83ead
+6a1932efbe5f8bd233f2adf30a2afed67f35ab7f 9eaa8a1481eecee5206eebb3149d5036ef1ce293
+8505df3754d8a7f72f5c6e88f3bdc6892752edae 7f38fb38456d18ae3c95f7b9c0891c082869944d
+19d1715f6c5ee154353c848b496422e2905860e6 f24ff7b6764fb9c9f856402ee5bccdd57815dfcd
+1e591132fbf2ef0588e2268e8921cb98c35eafe2 bfb9df7a043eb3055f9335d6cb20b06b23da0520
+64380f8d72009acde966dd1456554b1449ae1490 eb2e148d15c64c257bc328c76f475b8919bd385c
+4bc5523c74227e8a26a502e7ee5232db230277c9 4492b53146b5783abdea033e39dbc434feef3e9a
+ed724ef4d22d3c18db99b1d68f0314e5ef4fe963 7d7dcbf0f6e3d39ee7fa2d6475be108b0826167f
+03feac796f6ad1bd682fcf965d7bed1f767ed2f0 20dcd03a80dd2be1e04bdcd127c54cec154126db
+2ed240ad79ba48a5430c817b4896bc85cb8e0d76 47111180df742209f0e5617ed5571baacead5684
+9b2f09157b89f32da9990487587549e2e4d8905d 8c87ff4f449bc06483e4bad70aed3d0c11835300
+48ed09e6dd27a3708d1239c3305c1a7d9e62324d f7ecff5b4a6fde972b991c0f8ef2ac2fb82dfc4a
+5655ae12b53da13108dac86b795d97aafe3cc648 33a3a29438a3dc62638015341cb9981d28762697
+8a92ceac260ceb194cb65f796661599b608e5c14 ccc7fa0e3b049b174c2f77b214fc22dc87b8df7a
+42502786695994f92474b5d756668d1fa04de9ab 43db431bcf572965cb5b3d6018b7190fb0d16e9e
+539532177a296f759d6a823708f9137a13d1decf 2a0cfa22d7a1e0844c38046d2e38b5a772c3583c
+7b4e9d4092243d8c0dfe1b269928c26cce31b1a0 d16f439e547c732270dfe2e3752cfc9664f73655
+c350b02fa8d2ef03d97ae23177da1e4905d86252 7b977ff073851c229a4de4914ea11eeb53fb63ff
+688db499e2d145f2b06c0d87cb11fd73e9db07ad a26ca45bd377705726dcd188cf2eabfc5d37821c
+90075600599f57124962fb8689ba073571fbca98 13d147b1e2c6dc8afaa945814d38ea963ce25de6
+aaf1b416e5e70ad33be28def669a888d3ae16be5 67051994555e1566b7fb2a6b262020a987a7aa5f
+e9e846ecd32d51b9f70872bf118d13abbb86409f f8c5393c4661dccd6d137b574d66c98fe33d1b26
+d3409dbc47c158b6130e01f2198101a2e380198b 8ff77d9f2446ce774008b8ae39fdc30ccc69caa9
+39807275e2d1cfdb30082627d8fa4e5dfe0f93d7 5a14e2ffe385370506a81d31ed6bcc908c909ba7
+2793da3c084bcee8e5513df3ad7fd38f1a6b927f 881a671cb7be731b6f3ab57607aea031aa9aa92b
+02ee1d50c0bd5875122a78266712d14f2ec592e2 8383820f10dbd1184398ce4aea3d3496ab915e65
+d7f92ba643a98b5a2ceb8e47e5f9944249744bef ad724543d23d31f5d338f996b93c2ec934101ee9
+b1e0896317dec7d6be5d1033bd456aa29a9917f0 38f87f29a1c682ce173f0b5a9583b16185c3d707
+6dd09553d7fbf620dc047f3c58df423324dc1e35 f0480fa0d3d1ea7503a7f3d0e4fc848508ddc5d5
+2ecd4548c3be17fcc39f79b94d00d216a100e5ca 9d9ec17a8ded3a8ce21a8059797a94c824c68451
+aebba4977826707a4b7880a6cc61c163db8a59af 580ec7d0c70aab542d47a7ec22c96048de990f68
+bd3abe2347db888850ee4d3a531cbf2880fb7ee4 3a7fb9925c8b6659c3eccea5efbbc1223d5f7309
+fbee1376ea5c6961408e4b68b8ac03e222d22a2b 04438d8686fa1995671792c3a2a7c276a8351b78
+f2cacce6e816482e597f4904c5a54fd282e0c08c fe9d7d0e272291d20862a7ac25d46f53ba3abfd2
+f4b661409f2c6743f4924d894cb77e600ef82d9a 3bc54a60c02fc09f609e5ef4f5269d8d3ae3ec50
+5cdc819c0e723be77112c9aa41cade24c4cd40c2 1465e4ac74df38e16f934dae42d9850318e9695d
+4ba70c8da36ff345e6e5ba65c092d589dccf3322 5a16f8a866e18e42d09aebef74642f3e3d006101
+31aef3cfb56f0b82a97ac965374053b21d60d2f4 112709a9ee8a46a0eba215f286aea55f971ae17d
+746ff664d6f9a2b00a85fda6f48e6ede83a345a1 e2fb247f445663d43ebda5b0c8e78409d9d14cfd
+19c67b901a6bb79d7a5dae3035f3de341d63abd5 564df94596b2311fc85fbe48f884a5b395e23d9b
+0a9caba4592edaca5abeef2d41f966892c7d29a2 43f02be63d37c2ccfd1b179cbcc1962744226a11
+04232c2c3f5f33b582113573d89ac06d888969c9 3f4837f055290f12e663b2a42a824de89201b373
+73ea2dd4851d9f4e0ca550e77cfcef276b26bdb3 13ebcbcf3e088aebf4a70f7fb72c095ea8d5b249
+d4d44001ba932dfc474f56979ae58bd208c842f1 b1395f85346d007a8d54b2ab3266721a65d3ec46
+f4e3729dc21609465f9dbcfe655e21965a4b2367 b92152b6572ff187b8d810f47429b86065f26374
+5454e37b3bd1d27cdaf66274e0941630b7a3c06d 0a351f0331c3cb1fec775379adf52adc73e58861
+74b5ff18fc3b782f9a981981996d311a1bf9e93b 745de7680ea9d8316665402fec3688faed73002c
+71eb1bdc06b96a5aac2c148d02a3c17de8320d8e 71a4d8bb762b74db26a1e850672b6e00a25d7228
+225a409ad6dd88b118b5ed94b450673fd4030b01 3012a40e0e8d935f3d1a6bcb6c6c0f6751f94f92
+b161e58b36aa18a1206db912c30fbc273bcf59cb cd9320fe2ef1d28368976ec82c873e9fb2eb8fb2
+4c8157e65b57b4e285cdf6b3fa6e649162985d7b 580ec7d0c70aab542d47a7ec22c96048de990f68
+ee086b9306ec744f2178baa6cba67c0635712d94 70ec3f7bbcf66be0b069a42987923e2585efbe68
+a2fba65cb6eaeb8f0b95013649b06ff31726123a b71d9699d5ea99c4b7c0b2c1f0b998b3ccd6dabc
+9a048169fd437e0cf7ee82e19b36533251a53d13 c19eb374884dd6854100528d8bf3d2a2da274d7f
+8b7c6c5a820f85450b809a6f35d74a46137403b1 f0dc74f892fa850c0f77d8882dbab6087b15364b
+cabd7404e9799b03ec5ff8b1906ece10915aef1e 394d62b1549779ab6dbcad01f836e263574d77f4
+e78ad4cc44409f73a1fcdc43576a4df7344dff3b 42464b57f894ce83adafb3c4088e5e4f3f06129d
+57372c4040cc81cf43815796d23b38cd66ffce91 1b83a47e1c39376c1cc1c6c510d89a28ba6d1a01
+adc474e183be1a70ee8a712983ec177de74baafc cdcedd7bee5ddb1da6cc22b0959e182419b1c425
+d67a28c97e24a29a9dec06b547f9a68989ad7ab9 ff967a86c46dbf21fd3bdae3b5043e280ff7a8a3
+2f1834ee9d60baad907f11c99e1e6a5d3a149afe c26d3290bf199cb1e16954c67dea269125e570ee
+550afcc5b2b1c9003bfd7b4971adf791d03c60e3 41ae4db4928f077cb5f3cfa6c877262c617138cc
+3a6cc7a49e27b02c742e191396e2a767ed9beb8b 0e3a6b3d2b0719624caf98fa4eb1228f1603be44
+2fb5d85b7d9611525d0e7a8a4820ef3e26140bff 46d6773e41017da7da5ae964f62440572631b214
+85d6f72517bc893ff1a9752177155ce9406d2c7b 1df20c87262c6f9f51f220b26ddc5ac5fee19c0f
+64f659da7d47063cf271e53bbcfd863852ed84ac 7a1c1ad5c08d72b4a5dd82f19360c9e5d8cbcf89
+04598bd07be8cc1e7157bfea57c2fb2f93ea0003 d2d308120f49056c85525aac85de64edeaf53dd9
+dab97ec1dad646f3506ed548069ec15c971327d9 7add9ad2a49705a79cb21be8139f3755bf39cb5b
+c716e38f8c1ad423d720346821d3b3f1af4cfb53 0769b40e270c58bb775fa07e676a58ca032460a3
+a2fc86803bca7fa463c24f84f64225a5c98843fc e035398afb8d3f19670db68f5a1e0cc37e7761d3
+bf5b37f36ff2629a86f616fec4949b8dfcaafedc 04eb749e715d58bfa85d0b18e9b71522036eb466
+fe3d804cff60b12b802d3456063ec3022b825c6c 46b0dd965c04710219180dd53f851f14307da4f7
+d3dd64a86388ffb0d2684bc80c04bc2e7bcb266e 230480005c79e92124c467bf406e234db003351e
+055f0dc97a8691f89b48653e58eb1951b6b3b561 0d96a298f5251c701e405109c2c50a5ccb33123f
+1029b0934b7e7713bd97bc0c8630be2742580240 b2f0095cb45543e4d36291c3c0768fd9b0f82527
+4fe08b832d4022613e3bb25835ab29a23ea0b836 bfd5f8751d782a35ea64edd3aebe27a8d00acd52
+87dc20e811198bfaebb6fbe27bf6e75220a5cf90 c7b703601f93e5572a8c4c16f6a29a29815d335c
+8603109ee60fef751835be7177e1ed1c09942760 7255532138284051f0c8946495c13670b2df3687
+af1ae878171c20c317eb4b50cb1b625739372e6c 2164742319bac42adef2bdb913b3e7b5c8ec4df4
+04ebc8a508e0c49cc2d03920892fe1bd986fed93 893e7032c5d417abc6e0124461b919d76ef6670e
+495a4aefa6cc2f5267f19f0934ce0d41be6eee0c 40d360837bdf68f6de483a978b7dcbb142c4df1d
+12055e71bf85ce4894cb3d35a9c4a46cbd245817 eb02509acc80741abce671a7c4787274c49e5e41
+79c0487c2280daf29454a7a456648d2a941b0e46 a24d4eae85b13aa9c339a48e7a57bda4add1ce69
+d8163a4e0de698c46595684e724d449a48f312fd 37d4781b009984526725406a7b1bd22b3ba70f39
+b805d440d8bcf0364cd65d3e19fb4c0264afc1d7 7af7d2df124e00eff68e82bc0a765b155bcf1238
+f4fced77e3791a28658e69135038724f5c4afea2 7df63294240a1de4e37b7f6dbcaf956a94366c39
+c7fde7779b34ebd176171b4458e11d5ded2d7cf1 266c1977c95de7214279fe7b7c45642f1215e883
+1557ccea123f77153025301e2bfc64c6245b8f08 8176c247d7289ea22c42494d419e89ffcc128111
+432abe40f4ed155192fc980a010df9bdcde2d099 b1beb446953f27b8319d1b2f0a385827c8c56380
+15ca6a51cccfd2f59b3fa1a5fff1fd7dff67be44 259a7f8619f761c68853af68eac8d48266c61ed3
+8550a4df316130f2e16256409366a2734db9e22f e537028ed3b77811311653635e2b73d6cd24090f
+3bbf49d8800ad9c2db9bec18bb2cd11a7b81fcdf dacc2fb7d240e2d8967916b4483fdb815575908f
+480f67e4eac0223626ce549a20760e81c4bce5b1 2d7183f4a98402e09ec2858d4d040348abceb4e6
+5bff1bc600043902838cf73a2dbc34d803994c3c 6e13d7b4f9e9303ec7c76054ce87747e3d9205bd
+d6339f44cf966622b2d86cfaa5e02772fffd9c43 cb2c7cea7cf866a3adae2f64168f509bcc82f4f3
+04f8e203f126442998e000c8c99dc1664a50ef90 1c6426518562f1f34920428301fcdaf6015d5915
+eaac19489aa6f28276f1fd9c93a479298d51f9d8 a1e219f743968bb425cb56e43a98d0689869a055
+ab510b6edce02cdc14cdc1cc1afcee4b12b66ebe bfcca3fc790c65b57c7e9dd862810ed0f1169934
+239fd82121fe9c0c066d5a6f8cbb752daa172f15 48d240f696c716f93f76942489bd474d93f58c60
+1c4d5467b033b88dabaf9bf5175c07b4ad3ebe12 522fb89df78c1912e0ad65ee5582e009203ac701
+0f5f6f34112a6f45656c99d299f4dfe4e2f6bbe1 19639d6b0982bc73c0cc45b6978d6d5028247537
+8b7a908f064b28b657acb4f197b040ce7e4a545f 4286c71c327f07d0344aa25dbdd7d5b6c9367e37
+0a747bf9dc55ad4684617dc73c77651345556a85 660548c6e088caafc55f80af863abb1e60f46215
+0d60c87d5ebdd43f7c3cbf70b5df2df5939a48b8 47105837f437dff304b4990d056c182205221e0a
+2049eb26fe412e388fff514bfd02dfafbeada5ca a5661d17a1577c6790d810f48d0f404b738777cc
+fb454951070b563643768251e8c7dead911b5bf4 e1561dfe38d921728a1f818d306c2e36315f908e
+274d4d942bc25aa2954c1cd2fb572a282604c652 7e71e34118468b2a1d630e6d9551a4a73b67e929
+0e875e5d6c3d7888146189c5a31325198c894ca7 1579fea0ded3ca62e09cd4c191ccc13a327b3ffd
+8f6a2486122dccaa701cf9d6d032c23e8d0e4c3f 33b429a6a6d0ce542d417c9e5e0a6dc836359c2d
+0b35bda8f29f0739af60cb2cc9e645812701d80a a923e0cf95ccc13747f85f84a84330480c47eb00
+e67bee5946463737e7b78ee39cf007ca619a569f 763baf5a588937f533471b461ad002eb0acf8a24
+2012f21d23c66179345fb26148cfbe19835b325e cbf0859072abd61217aa6d472f5c3577790e5e36
+91b152c32f81fca47ddcb24444025b58982e2a6e d45c893c42f4e0371eee2c8e1883388b8ebbea69
+c2266da89078d9efd3e8033a3552475833ae498b 06a10698ff9c4ee62d57bb1a5596ad0516e73126
+163f10d967208deb788bc34212d2817159047333 6e13d7b4f9e9303ec7c76054ce87747e3d9205bd
+fda8f4f609b99986ac8884128e7f938ae43ee219 e2f01ad6c248ae0867e9d8824bc919d401907211
+6b524fd9dea507d5aa86559523e2827e39fd4c56 8a1c1f70a0af74746ea49c7b9e17c0e524603434
+0a16f66bd81b55888252c386d45ce912f1b2f24a 4edae2c9177fb45fce82dbbebcc889dfbf222851
+4fb779b0c4c913cedbb8ace9b641a825a4f08ff8 0c0a074d754c99e34f656f8d0cbc4cf9038ee595
+fb2af72d10231e04b2e79a7d487ea9e8559c14b8 3bdd99dd7b9d181013f4fc89c7d1440ecf509e8c
+8b2926f31e1024ad441b8bcc767ae334b9c20668 46a8e83ac5b01be198abfa1c68315fe6f25967ff
+b5921c51180d0d649220e53c0df41902c715ca98 ac518387c798d2e1eb73caa1e1f73167d977f162
+c77fc152e30545ef3fd9d7f686b867e680a03075 4bcaf13b0e0e1f6002bd5c73cffb27b8f4968427
+85a14b20af3432e77029c96ffb8707a541aff338 f8a98f4c1ed3c555def2512855f3f78e1d21245d
+78dbc96c1f5eb0501c89ff3f7ce2a69af5c136a7 246b5d28869858e7540e125c549d6d499b62ae4e
+57cb1f956acab6e0bb767b54413a84f929d4ff56 786b7ce6c2290bd2553e134407a4c02691df6280
+7514260019e9b2eac3367cbacf07a92054deb9f9 b1edf10bb9654e03632e3c59cd961250f6a6574c
+30b1624d75a0dc84c0f952c23587ffff757224a6 ca3b581125ad04174410b57cf77f1dbeb450a9a2
+2ed720a6e1c4c8aaac9f791e98e3ac42f2cf445b ade725c689e7a33c549364cfc25e229a9f0079ab
+c05b8d1329a77dab85df1ffabb31d547c0ee9acc 38afc08ae4138249e87660c430c26add36d9d404
+1b65d0d42c67f4012999e5e593b37c80e5b3c5c4 8a58fbb76f2a8a4e3a15670fd5d5f20856906449
+73b87388cd8e793d30325acab4f679e27255a333 71a17489e258ef31f17558d1ea5b14f1d1ed451d
+8a45cefd25353264eed19683670651daf50ae1e6 38138d98f5673c8a7ac55b266ddd34f8e37cdda7
+379585d98bbce3c83aa927707ecb41150a1517f8 065ed2c0a6fc021d3edacd947a70b009d68fe35e
+ce38f719cdd9329b74a140b84c9c6ed130dcef9c defe3eedc5c3e3351d48c7f81ad593985aff2615
+64c152e16356b3d284958f65f5b94437ffe829b9 842ea478f35a8aa4d7739e0600ead53bbdc45448
+3a31a20ccb954950558e83900b9c10b3e24c19c7 b860c94f71a8c9e12187d2e15d0c62588c5a0be7
+050ab9232a5a8d9c9fc2cfffc80e3f323fa4cdc3 7b917f8b960ae5e44903ce43c1949dbf41940169
+c0b928fe4badb3e5eb9cef67bf19d9ea74cbd2e3 6cc29490d750f77ab525327c88c013ef1eeec55a
+2fc9ed1b55607b4f836fb716184c8cf97be3ac04 625d61614738d32239886ef79113e40de968ce9c
+67ffd6012e90fe52d5959e2bbc6d6b5bcc45124d efa12bab316e0ddae0cacf3d1d8cd345d63248eb
+addeb9c38ec85c269c37e0fcd547f0d4c1fa9e1f e5b8f809ea6991d9445013ab7179cf04642b2c43
+c69d143d1e903931eb33cc67c1c5dcce3a211160 76fd067edcf65f0599924313e820e6323664dc7a
+0e6be7770d5e2869176de450563c767c38de3f1e 1ce9a88d2346fd01106abd63897696edd078bbc7
+a5c14418734d689876dc96e1c2bea1b5e19e2fe1 3faaeb9630310249d0b4f6e3f2a3c9838a8a6451
+bcef26729381fb5a61d360051439965269e6ba44 6da9516ce2f044026b83e25e32ccf8f8b32ac45c
+5ee181719b62c6f9d0ab4c7e93db99dc9265b1b7 454d81b33212339571e4b8370e584a41fc424500
+aec73db52d4cb686e48fd7b4d305e661c94f92f2 11ecfcdf666dfccae979b2f6c7cc749895b86533
+d1a250b1401c1172425d6a1e64c9592fc9c6cf20 b1c904c42965c3f09fab1023a80ecdde0374230e
+e625cdcfe7028238ece29893833c0361299ecc71 ce85e0ebc7e9c908e0fb65eb2dcb1b41aa6b6478
+070dd9af0d82b79d6a558699f828505bda50fae2 3530ae2d2e607ed60f7292136b48421bb80ee39e
+663cd2f558c138a7f13d55727342f5ccbd7361be 40e630783da28919a7630ddaf90dea2c901173f2
+867a93dcd308a13ff8cc47737e3a0947be22ec92 ff967a86c46dbf21fd3bdae3b5043e280ff7a8a3
+b33bd0859c2fc024fc1df3fc086f9c0a458d3c6b 4bcaf13b0e0e1f6002bd5c73cffb27b8f4968427
+fd206334cbdcf1b9d001eca40139c701080c849b 78dad65b4f1596277b90f020da1ef86db44c3889
+cf9d663a17f3d4fdb92e2a9491553ebcf1f32fb7 8a940c218e088382a2c5f0860f05901b8c6e9ff3
+535de4b7c329c0d0f1840745fd8043982648b9aa 50897c6f795dd0771a1f83cd410e5338ed50ff5b
+3e6965ecd1bea35764585acb0184e3254dfd393c 2c735c856c6ddda746c9b0f413f0dbe6ef7ceeb8
+905446d91cfefceb5b3c80e04b8a51550e73d6e6 25e6b087933d184d9f7f0a85fa7feaca972c4f8e
+1147fbd720b75fb6742e268b960edca960821ae2 230dae1449fe209587ef0638dc35074432f39d66
+7b6519fe3942c62ac01089b9da4f23d9ffd26d03 346bcec17bd23e11896d4b4649c3dbaaa7d4bd55
+913cbba4b9c2dddb0cc67c85e50b835f34899ce0 b9f7fc1a7234b4f53c8a9e1192d171684dd23243
+9b5878836ebf9c2d3eab7a3987c0a2ce2741f6bd ad965e4d984206829ba42c57a761e6dfb50cc374
+19ca8ce2282d102398af9a4f7129855fa6191eba f2f8311fb6d49b9bcf4b0c624caf1181f4dc5124
+9f257db8714e58f9b908c5722d83c755c741de2e 9b61e25ab18b52abad8b6c4922d4a6ddce4826d9
+cdac97d4e7203bd98e28faa251d676e1eea80e29 fc7ff2f45d7c80465145e933ab16d7ea7bbeae26
+34b2a7c0b530a805e76d6b72886d4531edfc358a 10822014d31c17cf024b415d73b63d732d919ce4
+2bb58ead2599c46df052b0977742f2e002619ed1 7935fd9b8a58131a3d68653718ae424149a02f9c
+1bd9e1485298b4575b33c4013bc94d6932d58ccb 362e952c237765f6235748478e0c93676d1201ac
+1921049e427bcbc5c62bbf9aad6198ceafb78993 7af3d3820eabfd01e63b736599fed8652ead506c
+c8826aa05301518f1798c6f2ce8b7dbfe2dd0f35 538464655796adc87369e775885a7a404a7c6ba0
+4a79679166d0eeb4b175e5560c24ea39a8537eda 6addd667dd17a2ef8148f6fd88dca4d5e843522b
+577dad371d89b7402ab4ce4d6abad28d4e611189 d06e07647b44fc686bd3c10b1bc88b7a987a7046
+76d7a146c46eb7d68c4db8485a17163b04cc0249 2b0ab07c28ad7d54c4f0070681c88925557b667f
+4c20013d52034659ecafd57ab6602c4d35d7c2e2 daddd6a9efc427e1d2b4e9b702fe7ff751235630
+d84a45c3214acc92b224eab52b1848fc4e8e0f3d ecfee41d6b9a27511b09f5e1b98db358048ce4f5
+4d2ad7bd09b42398dbcfedf2d25136fc4b2ea977 9b61e25ab18b52abad8b6c4922d4a6ddce4826d9
+7eacf58b3045651b88f482cee62e41fef9893995 cb6b10c51d5895d067b2d5db5d947bae6627684d
+143316b1fca3a740af65f32eec22cf3dead3eac8 ebd8bde275409d2068d9bdad29d72d2e5b5b9d87
+de5cfe6d10c8db82bb57a0ba7a91ac6b70cb4a1d 9fbfb34f2917a94c46036e113e28a261f129df79
+f38ffbc3d456482a3d673b8a7521d7ca3b360bd1 e106b7df2916164ea25520e04a5bc3f1f151d114
+2ddb205ba7bb86272aa32f8872753cf4bf05452d 76a3cd3aaaea1156cf4d366742bc87a7f38d3856
+33d001c07a5d0d48bc5a873e2fac6c50aa79f58f 7b5830c54b46e5d599b572f9ec9ffd13d8736cf4
+273bf613d1574bd1c0584f2a6e717a89a0696b2c 5722c7f14daf734eacc9bbb4d7ed6e2a4ed97e23
+234b063919ac50cf54017782ae5d363eb3d81be8 b71811ac4ae82393b8293251a0b93bdbc6c833fb
+262cf60c318a79980260057fc3e4cd53e34e31cf 12fc9073f40b690d160ea79b3779f6bdfe109d49
+6081067f39d1d460db92904f8f81b32090fea1cb 67e726664191a0bb7e1d7a940495fae85c29a226
+ccbf22ff283c5c3323a83de77aaa2e68b41d41d0 82567fc599f471f3c62bfe713d0df16145466bea
+97134deef83dd182bf974f0ce763292c48314b3b 5da2414d48fe58d8389b996bece494e0750d973d
+b59ef7066b508c4ebaedabd3ce33b63aa60ded4a 827c74ddff4ced7dc7e9ef936c7aa4f5208d44a7
+59ed8a51e734b9a1bff006130ce40ef1906f1612 a4ee4cd6fbdf435de53588607ab5490daa11d265
+eb04f4709912d17d7eb87d6d8062d997c1196e22 f8db2e1052871aa2a34e600c6010da8098f881ea
+8a45dd25b926d48fbb41c03a1d06c8f9b268672a 522e2fe4bd9025e06a64dde528f1cc02e58fd80e
+6788ff579917ffaf5299eee153914fdd19c65c1c 4d96f0d95edf6060c70799ce1cdfac078ca56bb5
+74aef2f7ee70cfcbecd394d28d4174c6c6e5fd31 63d1d878924eda8582007dc0a237e24a896a56a3
+32cb62db4d28933453a53dcfb996da76be5a47a6 b1a2c6884f58dc10acc2e350de95a2642d5371d0
+d7ac98901d52a8ef8fc4a907726d36f1b0e28833 4f777ffb99fefdc6497c61385c22688ff149c659
+e75c73efc9efdf7fbd9627a3185ff0eba0e4e259 4f777ffb99fefdc6497c61385c22688ff149c659
+556724eab089905bf6ef422c89c8869c85b63f0e 113228747f650e7102d9b315607a0efc251e1dd3
+9213013cb41a3c0ca6b88f544264d8cc56109f0b 5e74edc56d14afc23ee601aedc4c1e81a32c0dfa
+236e0570dc8f562a4f8863d47b255d71682b1d7c 1d293bd0134f9607a2eec5d62797eea97442dfda
+7e3ddc4bab461cd1f4ae9de790e8b547e7c7d315 02d069f58229aec537888ffad42cf68e62aa5a41
+6b73cbbbb41d818e3147f337ceadf78a6621f9dd f289b5f7879bb1e8ed2da81ffeb334af14f99a62
+65d47f5178595b1873096931b1f3309dd32feea7 b33e365e6b4e833e1ac8c517a1bc7d3101a11017
+019ec9eb70d057737b487ff840f5fc9c80219d3b 55308b1b46bc0314679b6e578b6f4a32a8dcc83b
+85d18e16a37feab90bc9e123c616a8469207e2d6 864f1492ce85d7cf940f9a12d55bb99f33c991da
+99ac4f921c0c6a8db7ff648c92d5072624ffcf6e f7e20a99281c94642ef1022cbe792ee36628f79e
+bd384ded42684ec60c750344b1d6e920d052c62d 781a7309ac27b4bbeff18375c0eea57421a3685b
+02666db305ac1dd3ae5eefe958b7ffd3ec623fdc d78b875a4b032c4376de6fa674c344c65b671a48
+d77b4080cadd28d6e696e0cb01beb9f657403b54 7ee9222c377bba67c0086bada8a4a584c669c7f2
+7224e59bcb25ceb0aff8068cfa44cfc3915bffaf 482563323c0b0ab93540a49e0d7088e3d94e31a6
+a4730b5821409607b54ebc13200eabe63fef9edd dd29954f72d3ceaf0d5d80493b09ed01fbc0bc8e
+4f3fee9acac53837ad22c64264e784381a8bb138 0ef762f9cdc3c8fbb236ab74563e37bef5b9251d
+f6e811f9059a235deaf8d25dfaeb815f55086169 e8271f284782e74e07b2f9837e54aeb2c3e52884
+a1f1b7337c32aef5993c4f38e4406a6521a9c67e 71327a4f35181a4b3630029e4a6d87d7dc7d404e
+dde5c986b2dc6ec503c929cdb04dae702d98d2de f5a08cf5ac2d994ef81d49bf665157de009d1d12
+66e21625654700cebf602b8bad34a117b73c2bb1 7d54be0674acd01535312314926118d2ce1358cc
+7018c8f8b2fbdaa5192a9d31c232b4aa2f913447 4563523ef7c49fb952689951f582635d8f97c085
+5b4842804b10c3aa7b09ec8e3879bb9f17e1b6c4 989b216c7d2737c1d8ee16ca9d9fde87856da4d8
+e67db1911e63aedfd102f7452937b0146b941e9b 9b61e25ab18b52abad8b6c4922d4a6ddce4826d9
+5ad345a7321c69c8552c009c72295b6fe68a4e99 989b216c7d2737c1d8ee16ca9d9fde87856da4d8
+955508cfc5934600bf30471e8272d3777384a694 b35b0443acdf14e7a793cb6c06b361fc733357c8
+c0fa30c3fb1c3a13465d969c6f707e8bf58a5303 70322594163bc5383dad471135a95dee25772f8d
+b8ef73d012790290ee845d3022c92005258be26b 7bb8ddb7afbdc1e5bb0c6baaf51ee02476fa8924
+e7e0b0336c806cdf898779ae9ab8bac3f6fbb2f1 eb5787934e1553a2f7b1d59807c0b965f323abb7
+49f0c13002d3a7a767ac04fda1df4c3b38eb4717 13f43c54081042d6cf2459deb28e36a155978b10
+fd1d2e9e2521ad94f884cb59ec5f58fabc5adae5 2d1660256867c773b219d3389d74f6eb682ca679
+a42b472e9400b46c5f8ff9e3ae4f00b774b850a4 e1d67181d03256ab6fc85f8a52f13836c000b586
+0e4ed46cdc46b22546363802ee4eca61dd30251b 064f3928a52df13a3abebffe70b4d798200c3fed
+3bbf6fd09dbcae8c5e7b923a18054b450186ad6a a15d4a0c1c125df9234c997aa12b879f76d88153
+b24a41de9aac08034b07961fad8a5a8bdccd5001 170457ad21d163a816ce372f473ad3d8b1c70aab
+bee2b2ca3cd3e3b95a9da929fb9fcc611ebed3d5 466486cd05131cf0e82e25dc81610dcbe29242be
+32693b9f42b1571dbd0c468ce64a6b088a1e0f81 d102fddfbfdc26efed3d8aa3778b3bb49761466b
+d44d18828e98ffbe8c3a0ed1dc5104017554da4a 806c3326605b37dfee8cc5df8e3680d01328e76a
+1dc5e7b0c73cb0b1aec19708b45cd087dac9d93c 2e235d61af2afd400b856210d28b4199dbf5cad5
+9d9147079fc8822b240a1cc7c3a3a9c5ffa24316 a1863a011b2e30cca1360b835dd83c0cb8b63535
+d38cdab80f969c299b97d95c2c4909c626bd8619 cfe92136e39f81632b86c50a16d56fe5b7f8bc4a
+f4a7f7a5bf4fd0b1e3ee69b5d2f30295d5215375 24855aecf29afdc29ae9174f975cda163b70483a
+9d93cdc418ed969c2062009e09dace61e2c343e2 489f5807b54f2e92106a9c778802a6e082e2261f
+baaeedd947f2a529feab192147a3c2a9556918b7 29ae95f61dd55e48e3defeaf307c862b3a51fbdd
+42ee8d92a5b2981d0457afab6c4d63c7e043529d 506e8d03e0c05d96ddef5c56f842e8df5d8ed5fb
+8010514ffb0ff79950f7afc51ee43ebb1cb177ff 9bb9b04f66f1761a94a7efaec8d6c82e7953f408
+267e4e00203a217b7e36643984dd8c55c7d3b0a8 0ed5e981d2182cd00b993fee04cca7f94a03e921
+e8c310f4b45dec47bf7e40e0220cf5d5c28ba430 42987842594d699b770eeaa1d4fb25266f9f9359
+2eb4852203cab5256ba340debe8a8bdeb0b77fcd caefae4c110454be9c8dcf3aa6dbf75b5a2a6d16
+6b4ae0b05aa40d5b73c1ffe018713f4c392bf21d d031513d2cdbe42bff02519938db075968cf79ab
+7457f4783c43516b19d4102bfa43c8e1d52c99bd 8d6f8111afc614328d17486898a80aeb6a4dd7dd
+2c49ead62c7ef02fec4b15c08c145f866be2e4e0 39a4f2dcedac8ae5611bfea2fda5ecc8a711f726
+64cc88db348144135fdee35092a35d28ea3a0990 94963269c51ab0f2fac3543bb36e847afb4948f1
+bb7adf1f109fa453d5ce52afa9e395d1092d595a a31e4bdaaa7bfed142f20b82d3e43fedd9d025dc
+41a6d459266e3a8e62ad3fcedef705f0cd538571 ba0665f533b64b21a8c0905cf22d6942352fcfbf
+1b99eb9b304b5eed67f9f82e75b38a08fb2e4362 fba707f62ebed3e9c9668a9293d9997ebfce28e2
+1fb9dfb2df94ae24b86ea6fe6a64e6c0eba86d42 3341b93fe84f98831598ba6f89e0d1c59f05c7b0
+59023e644e3044c5f8b4c08b6154ee75080f885d 9fcc737f0de43a2ee2c699b40713d3ca290328b1
+aed84fe6ec404d65ec80fa94680b3c6540d00c03 c13e1ba6c38c7d85f16193e882b6f0f4d61d1b9f
+38ed4bcc87b87e9fd145299f596073cce6b2586d 593a65e4a92cd384fa754566d93414ad6668375b
+4d0e7e673e0bf8e25c3ccec2187ada2aeb414ef4 4468247d51e41e39da5cc14a692bd6d0b4e13b03
+59a0b67c79fdced0afed3c05d18515f8fc015c26 e9d2413def4d3a04968a0264e067eb1466f6a466
+6ba97546feb8a67b014dd3d914ef9dee8bff2197 d48f1038ebdb3071e7d7045b041905b188d03fd0
+480632b97be241cefcbcbfa2d7ab77c5e7f45eeb 2b2969b474e07e77cea6b8e11d305c7a5ad936d2
+17c81269d39c75d682496e86d0040900c053fe1e 668851b2ef0f8cf8df07a0fba429e4a6c1e70abb
+ef457934a89b62d3f169a6896f124aee20dac97d 536b045e9909da3f8853398d6b437b63027d4ef9
+f9ff52255eaa6fdeda4ff6a8c368316981cc1f4f 536b045e9909da3f8853398d6b437b63027d4ef9
+2a46c6002ace7e65d637f4385c7ae781032b36ab 60095414957938bf74e85f31dd22481a16b055f5
+6f57410821f359759e8e2207af31fd6a22ff0e7f cf93dd80d4fb21319ae409ab03eb8da17368f0bf
+2070e104e02d6b8eb9666024c47cc0e575d2097d 806c3326605b37dfee8cc5df8e3680d01328e76a
+abd511518e5e7169f9256e8bc45468ad41887405 cf93dd80d4fb21319ae409ab03eb8da17368f0bf
+fe72ee5f327041bfaf48a7c69a3f293f2ed9ee33 a9370dbe896800aef27ab5e3263f74e5eee787c3
+afb756fcc20a26e6d06e88ec0e287a7219105fcf 012221278b9cb708c9be9a8af6f736f4a77bc083
+ee3b7e3f7543d608429a5e26d4535346aa6e3c33 0100466ffff3d6e3ae5696d49d10aa947c2907c3
+9538c8e823e59572f1381320aa837397b64985d4 b452a6398f370bd91d8e2e4c1491d184c70cbd10
+cab75ec291192242e45c40f32d6e95fe89c45cc4 b452a6398f370bd91d8e2e4c1491d184c70cbd10
+0e3c834d4a6244c6834bc18b22da5fcbedf7d03f b452a6398f370bd91d8e2e4c1491d184c70cbd10
+c368d746b8891a77bbd7fbb6ea70f160e083b7dc b452a6398f370bd91d8e2e4c1491d184c70cbd10
+56a9357bf8bf23c6b6f3b25104de32f352e46ba7 fb5ed31313a3add1ff1c223f2425853c2d9a0fc1
+a8afeca04be321079f1687d8ca39bfe41e2480d5 1021e38e30c9515f21bf271c465b3bc92d7e4433
+0bb0aee785c3efbbe74545268854c85d684ff4ce cb4395a062dc270426c8dac1d2f1ffa5e190cbc1
+d111619bd08bb03dafe67bd8f56cc7c016eb4abc ecf54791a68f383709fe461aa70129136dece0f1
+23066afeadba5a4d081681bba496d50979c872df 14c17f0581c48be10a12bd4651e1db5f5227318e
+5a169bee947ad1aabd7321294783bc4c63507daf 39d815d4d32f062edadfb433104ce04f86d12abc
+5ee5bc7f701de5e6a83d3ccda5a5f488a8b94769 526752aea2d4b877071d0d03cb65ed0c41533aed
+83bce4a582d027ac9185310b0c6898371e3fe90a 0c0e5ace27f30e58bdc4c42e03d33cc3970d027f
+fc8f1fd0172f3545ad9b14e44df80966e4afe2b4 1fff0e652385711777dea532e7a18b6cb4c8fe26
+39df669c4709d7768f49a1ac9131d3b34efa24dc c6effba6a45d03a81aeb2819deab422b36c14e37
+b1a89c1f380911af6680521595a235a756c28b96 5a0c6c9f436294e5157b8542a9f5f3ed9aa8f422
+8f8909b22111f240d72097db0e294a958c519835 633965e840a61051066f3b94cd6543ecc6e7ae33
+2323b26204696e4ff74658ae6ee4f2943b7707de 1e5a801d2dac612e4d77b64d1819e284ef06af33
+a0e19cff339b010e72e3d8a2eb0a653b9cb82704 39dcc373687e45f9c75b9ff56e0cceba1954e6ea
+99b1aa9c3a79f944e3351f726ec3ebeb4f93ae07 a0d224e6f149129857ac51647fe4988210984ba8
+81b11dbbe96224df286dc9e96fcd28ea38aa89d5 7b41b8e58f30b4f237f813e6762e4f803757fc51
+a7eba208ef9fdc9312cc4e33c434ea60ea8ad4dd b8622f33131d00bc06e9ab6f54cac664b295620a
+46a8bc22d7feac744ae974a4b8c2d682fb9e8c07 f64cee64c2c606e190effdbddd9eb0f5cfa9ff36
+4940780a1ced77adfa06bfed67b4dc737eaa7c92 71454462ab7a887efeff7c176c2922bbb653c259
+d462ac2fd5be1434f376924b7e94ab2606df8115 c1323889e8b96c9836e67886dcbed8a31b79c923
+a8d6f566bde361f842ea64100b67a61f7a889046 5e4a71649d709118b37707e5688fe1eef5c7efd1
+f3822dc6cf8631dbfc683cf67e1179cc33b7fdce aac2578c0cb511e313167dae322812c83af42a0e
+f71aa64b5341a7083de93960b19feef214a81466 62b0cba3c5d61320658e22f10f8a73c081ad8c90
+822c1dcfae6b45919081f3c66288bacc4b21d115 1219a617646a36c18b71fa8c3d10da86a3940068
+8b390909f8e220a8dcc28fe5295a10dba6591d05 814f6dfcb366f40f590094c1b99411c86ae7c8f2
+1ec5b37d65d549ceb02be64e52bd4e1aacfcc83f d8fd40b81366603383106574e7f53031288e5ad9
+8053ca1bed13fc5589297a3bccf5f91fe6802fc1 2dad8a2e86b9e46df63052de4231f9b8ed8a3515
+1956b829eb775f964034a429c3c330060fc7ca60 417d8215d52789738e8a709b96d2920258915f8c
+7d934d9b7eabf81c42408f24eb738c1350e57ad1 4043ab5f28d0ab8ad099da22ae4a1be4929882e5
+d4d0e4ccaab24d8d5ce4ee06175beaef04a72e54 a5eb74eb551bfe71f334c6ee113d54823e73a345
+b09bedbfeff2327cc3727721f90c0395e18e72de 99c224047ecd39753f07b0de86055e7f6a885002
+73f9e9892a737acf32312e542e50b1febaccdc38 978fb8c7623534b1119fc531251456705250c69c
+cd8219772e9e3369ad8c5bd672274874423190c1 3aed97384b3a8354c92d0eadf78ca545b6a29ef1
+47f6027154f1887355d0ac6be59560a27c6c9f6c 59b5e3076a9e49240a659c4da8ac0ecb691a74ca
+8af1605a5f73fa51a7456d039140c6c1dde6f8f0 7fdc0357ef7818f88599d7a16e48e20c0919df9a
+4d6650b4d79b353b5a551e472f90326002189881 74dfc8ddfa85417bbd34f7ba365d881b45dd3c43
+d7a43c972af0b8396e3f9d5b9acc64c026ea295c 524f2031b3b023892b8a3bca2cbcc340e017ba77
+50fef0e56778b66cb4582d7e2d8263be252a9f70 b1ae262e61616aa732698f45b59cfba55b985a02
+4627863f43d5e2048ba17297f01beb7f4ea36f25 f5532e116134e917eae87c997aac4a613e563000
+f09addf92b64ac2e0de743be16b8eb95b0ace110 9021b43e46680420fba5f440ea1d64e67d19e384
+f7891c4fcf33301308b2c26bffadf4c137a4872c 353dbd917b9255dbb67af2972d4cd4328df339c8
+149203ef0073da5da8f1942af84bee1770f61331 7569780d0e8c44a811700f43e45fff44e7da9d86
+aaf12dffddb76a4e22288fc44e4325c7bb129d65 af1cf9093de66e7cc8d8695dc0abe598b27421e7
+6ac8208958e1a7c80e4ba093a24713b1a8d99dfe a2100944710226a855483362fb1c14f7e4dfa9f2
+0959f17b2283951575d0f1567a2b73c29b498dce 83edd8e5fdd17bcd99adff99ed2f74af6cd588a8
+9073d8f4f0dba952847974e38bd056912b0f7691 958cf8613bd8d06949bf7706ee81169a6c289359
+acf754e9a5cdcfe25357aa66b86aa5816c1162bc 7b7bc05509b59b241dbddfb33278d27b4f2b23a0
+dc20f8bb24e262dc52ca93b35c45b47e077e462b 27e47e31ec8f34ec72c1068e7e5c1009209441f5
+bc7001e0cb99ece8e87b3a99544ca59c2cf71e9c 0105ffccfda33bc3ed426a6d3e19af27e9624e8f
+bff68fd21db8f9739a6fc7b7f38e77cc9578991a 27cd846560c823f8815a408ece63ce4427ea6562
+0809a3f647a63adba47cfb85ca4ca8b49a8eb70b 609828f9d77455c3de483279af6df8f57040b32e
+3b55d118be39c651d063cd71f069427b4d317d5e c487f1706d1ff9adc2a9fa2210edadc9186f71c6
+d6dee7d898f9d38702631b9700e999e243535e58 5b169ab3bec20837a588e4bde08f45dc0029afd4
+f2df65ce055f7a13588b00055880e236c01627b7 a56da82db647a4bbef837dbee23c64a65971cfb2
+65dd84522ffd72eed116225ecfacdef950007646 3cad9069ae3d6a667c25ccf456db78b7d4b84373
+1b246b58e4961dafa327f854cfc5916bd119cd74 f00f18db6d80affa626ad940b75279c6ad4c7607
+b47d08eca2ef57161bbc1d513d43db39c115ac1b 4a33507d666507e1d6cc22be7ad84fd3cb6de8b3
+a2e025a7054fc676249a4e9bd547bfad57caea94 33d4b51d26f49b0bc6f7853dbb6e87c267530694
+59f8416a783ec62a5d7df61dd262647b5bc1d9fd 7815da9d7808dccf92c1ac334ef31ed751a91187
+7142e1030a2cda10d67273042c06c6ffb1e733a5 cb0f9f92c3ce588630e20fd5292212d9ad461857
+d4b77add9330e13574d7273a8e9eae9f8bc28b10 afc75becbc70336628339a63d90c2f308eec010b
+12ddbc00ebaff881335c1174e2c83b30edf51925 a44a575ce9b8af4d27433879f41a842bb45032bc
+18cadf96ffe08d063fe1057ce4a3adaec4669de1 cae0311a760738548dc1958019155d49494a7a0c
+2f7cc2676e39e85d9378faabb02be4fb53c7eab3 e2dde96362abf75e6e613323e9fa87638140474d
+a5f17d5a88265ba98a7a7fb8b526ba661377ca06 e876705317f3ebd2983ef1892bf3eb1ef0a0bead
+73111ef483d41234d17bd350d93df5059a0abf92 cebcad4bd6d0d91551e08ff541e2bdad5b7f1eef
+6c0325b899b8a0f555509b4acd3da668115fe26d 9296d3720c2dff5058c322820485127f4ce66c8b
+71125bef7b2be503310b811987380ef445ab0b87 9039992df4dd44d72f51268cc2bfa11a1bb9ae64
+1e0d556a0212397e58ab867ad2215a6196fb3c11 f1834b795c3be17d670d1d902b7271fbd8114ec8
+3fbfc2be3c9a6fdee3b05bc61a02b50c84580eb6 086a5acd73ef744a65a5d1a60cdd40b63639eca9
+b174a71a67003a4450d9b02af577dd294bba6d7f 709f5d75b1e713594257b8d8d000a76e4e1cf340
+5d240145d6c6fea9f3499d5097277156d5609e79 b2d4ef9a534c84d77b5f3bb8a8c7e6c9eecfa399
+fe6c4f29d103da9cf2263de6660f1d5bd698434f b2d4ef9a534c84d77b5f3bb8a8c7e6c9eecfa399
+ed238178713e1b4cdd9d85876118e8aa94027b2e 5a2f159d8f35f5be6aaf6c40f23a0e82de11a3eb
+5aa8265af69c95ed1796d9870d710bff55aca0ad cf863665f9d6562630020adbf119cad6484beea5
+4a63cc050d7bb4afd2ed47df51a9aeb8b75d83fb 49509ff19999964d339bdc6b2092f53f69642de5
+45ca121bd8a243dee35a154c63973e38ab32010a 485544372fa991baedf73ecd316b84a4b827e5a6
+62fae988467bfdc44df3b19564071ed578ad8841 08e1c8c10cb0531b95e66f178691e502df863d52
+182481841b842578c4cd2a118535b96abb8d9af7 ddc51fdb1df00c120d115c9a46d470aa4bb5568b
+c977ab0405363cdd080e2092c92b55174023a2f2 f97fa67f50b05709c4d5f6b5c00c2a481589388b
+c287df9636b959345423a24d986a2408467bb2c8 9e39b3bd2c2ddec478fd62e5df037a93d717e982
+b5ad791a9908d81ec6b3f0b81935c9bd85b86212 2dac7dd4806734df9f67b18e935528303f625766
+8f9fa9947ee481b5d448fb9330cda2cda6d7ef27 2dac7dd4806734df9f67b18e935528303f625766
+e1a870b199accace8437095e4db7b422f25b26f8 48fb6fc9b65a622d7e1223f7480a25709fecd3a4
+c613077c8ee661b6a14b520ba2f3e20dddc6df37 2759036cc85ff946fe054afb2c9a1cf4e0b734cc
+b61a934b75897037644dacd8b8f443fefb738340 cbf1c92243f4c0cc43f3a3a9ade1466b57423711
+199d3402bbdf733b6f6abccb4c0699b2f5193a29 354e942bafd398ab5938e043ee7e5f2cfbf61919
+c08ffa0d3d4aa4d94f32d896d9c01de5da55c2c1 e40f2d958b80c1aee1aa6d27592b945942154387
+4b3e8494e559b9dd95d0f7072fd10baed294a918 2f7d4375f3ca82b1d4968df73acf77110ccb80ee
+1a115b676716ecc4e3109f37e70e4d24fad74c04 344b8525b7f3d04b57e304feeb502d0ca1bb3141
+46b572eab4a923ac071b4a374a36097fa611d775 f0358ca4cd2c765a5edf4eac85a0f55e73237ff7
+2370ef9a9a1da9628db5397320a25b159c2ac039 7c290f1d710f24a5e659e09dbb6220a91de9d7bc
+c1390c88aa4f31b61e9ceb2dfe69f161a70f7ac4 08f11469cc11a241980593b4732998d8bf1cd996
+576c38a94d3901341a71bc68b96ed8d93d1a0ce9 1341a4c4cf6d7facc8b7e59d4bf1641f0691ed58
+ce94348baa1c60213308f974de52b2fcf10687f0 1341a4c4cf6d7facc8b7e59d4bf1641f0691ed58
+dbf4e0755408b93076b844678acc195af03e8e81 17debbbcc878e26f12198bfd46a2f22bd890510a
+939238d58e6dcf7c7d91f684106469be87947e1b eb317dccaf8e46751f3faf9e4fbf4989152faa30
+c447099f406609099c4ed082af6acd0fa3cf6a99 4404119f7bb967526f9b4697441fdeb93e58f11a
+f2f5f2e2f070220366ec937a1ca620c8b57c6bf9 ed00de77d9486c79742589a8525d8d21ec47f70e
+06cb39d5b7edb2958db4d658e968a5afa850ee4d 371352c36936f4aafef68f69e460adce950441f6
+656d45938e541af776eee94ca86d96330115f47d c8dbcdead3ee52b68408e3a43a9e753bfff5a5f8
+b7e9b3b27751d97c5849a97b89bdbdd88a7bf613 4b50b1755f2c1ae753bb1f6ba10bbebf3941992e
+2c0f2244ffb3427a7211d911b3aec09e2c0023c7 a41973609d212ab7c340cfd22e61963516432f11
+35b27b6248fe2767e5ff4cd6557911cb1bb985c6 3e7dfc89005bf930034ea1b45c51b3c97474065f
+378259e1a7b2491607e028f3289640d689694a26 1f85c37aa48e70afcb1e9117152082211e405276
+8c88dde12ee7b33e80ed370bc579ae0736703016 649e750832914c5524e666245d87a1b1ccd8a533
+60c5b5aba9b457d930bad879e9ce1d7eceaf3553 c09f450d9ad374e0a339012569cfcc86cf792214
+d313462be4ce88e0e0633e54e03c428e49d6828a b00886b61396de958140745c6293114235f5ff1c
+c40aa7628fc72536e5f1b6b3e0452b3a9adc1de4 04d646dbfa6e26ed15ca42943b43de7074d213bc
+2250c6db86b0bdf3da650789e5b92027af3f472e 6d3d6091c040f3e37a0d45039765b99f54e5602c
+da1b5ad890bfc7d53eedd49e96bbfff204b574c4 6b53799d9e0dda0fd95e8cdaf179987c1ff2b669
+2804c8f826373eeb52f60e89b90a7b477d019f77 d2b5deeac34a1558a162e59c45bcf24edacbe88f
+e184c55c252cd2c30957248dc1cadf73ed18980d efb5c07a78e644fff05a3f17fe8c80122fffa767
+845110fad6ee1eabc78453df94be0737bb6e2b47 f6e808c6726bf9bffc05e50ece745b1ad4b6ca58
+2bad6130d8a2234908f69aa427399837f0ee719f fb22cefe1c162677ca5b9f544a8d56b7d2cec3da
+a0bdde20af65d14c0cb61e184c0e65d77398f858 2ae80b94e0edf157c66b02344562bd8d9212fcbf
+daa2c6020bc717d696742fa4f1195756d731c045 92e032e65400a7efa2b7d4894929da76b41a9eaa
+1f48c841b1710419bf415577ca65d6f5ca1d8401 6bcc1f8e6eb357b890536ba9fcb6174116317d8d
+15508dc34f6362a7e179ec88b7a2d978067fb58e a670f2b045a44f5d01ff1f4a30c0b76246ee7360
+6add674a5d4e61b8c48dfb7af49f168e0bdc7b88 933f5529a80c6b8082fe00250d48bd614c753a42
+c0e81b4c20d1b2a76ccb5019a84b41bd60edb009 8fa10f409b43abe0a8b2c6c1bc5e2708b74c0dd0
+66e7c0b0363e6c2ee73bef86686fc1e11040d037 ae7682dc68c83305cc352cd067e376b754482f09
+2e2b337cb1db31d3788f9971f9a38849c2b40611 a9cbce4f77d838a4abd5fe2ed01d512ab735e704
+02f8b2ded209a6108109dffa2400ce62c05d1fff 2952c1be68dea3a89dd9056c5e49255616f04f48
+93b3e1e63f9b8f06aca7b6c47b60ce9818334800 8101e6d2dc3a0dc97a91409844d13cdd68795852
+e8eca1482d8542285ca7141b7f4cd3b381b98d98 63b807482d7a1f68660c7563d9e6b13c75c76169
+b7887caa45db8fe1dbee0a4ec43d136c8b5b9bda a5f067e487e47630d33aac06abad2e7094657f2c
+48fb091ad08635d8bcc73604747be2b88dde5846 4a47c60c4d00275f6fe27ef18e6592af01705298
+f73e779e13b44c2e9d9137cfc83ff96dc2f0065e 21cbb04552cf02186dfc975a8986b4de481e6ef7
+f1d22544673054a5b34772e89cde79271545b380 434089fedcc35386d23dedafdcfd1b3cb31040d9
+7edefe360f325d9d58719a5c1e98d4e3f158b641 873527d68cf42f5e9521b9fd0e26a995b1b69d91
+af58d7878294a2768f670a1864121a9620a756ba 3b96e8ff9c998bf8f1f10b268ea49bc6ab82a9ab
+c88ef71c63b2580ecc94e8b2cb4675cca056a50b bae3fe976cc580a8f01694311633e7e710e69aeb
+6b61d2013f29c70e3760462595931d0bdae3edc9 a6f1043c306759d364c6450085fef901b1b981b4
+6013e6ab6c8d832259742925ba598399c7e31db0 d22cf4ee0ac52a332ae224068bd5ac9daac569f3
+ef59df2309a0dba0f1df8e7442c6861bdc54b418 7a2a4f60d207e9e474ea2318d7c312672517453a
+56f9111faea2ca9a0ff6c984828583b456f43b38 ef58e9b075efa3413e4b3e4fc09479bca7a828d7
+2bb0661016e1e162eaa33ef67b41c004ac7f20c9 f118abe972f53323c3ba4f451a5182a3949ccde1
+9f38702a537920dc23d0b455c4195fd2ae37fc4a 14645aaf60877fd79aec1f5eb7f6d99525ef2ea8
+5458d58b4cd0ef2e7d22b9fec9eb12ee77dd7ee4 28c35f02b3a061f818663f12cad2806aaa9f5d6c
+d656687a50d4be24810bd203bf7336beabe34ff5 efb090ccc77cf6da0fc933c8439894e41f7f04b3
+5d9deff7877bd654883d556ceef566458747dba5 229a224da35df763884f8e2acfc59b7db995a221
+c8857900388fbb7f3d735e3b2343ebece9063482 bbf9a1af3fcc458c25a2b4c58b670cb714648970
+5c8216a9c77f2b44f2426a9b43f22d00bab6066c 158046e307e46387ac8253ae143125bfbe195418
+ab0af4e26dde1242bde0202f07fd4f4b8adbd741 4f0087dfa8fff0b4c8a2d679e58294e3eb756c5e
+e8dc4c9d28e7649f28b4bf2495d9f0cf42d9e28a fe7134e794b202e4a1fdb34f619fac33b0347693
+95a9b6f2177a5d7612725d0b89dfec47247dcf25 2d024bf027194bfec89a666fb2f028c8025e8dc3
+c357aaf95735594de411e9730885a98a3b716f68 df40d2fc19850958695635894f0726376d483ea4
+00fc4a63f862519a88ae02032f30395ebf713b8a 982a4e1aea08cb1e4174b6c7739f354c9670fc5a
+2754bfe2f4a6276eb02d683c1108e8f522538bec e592b6423c52d113e82d6a23f88dd1ad0f969589
+4c369f52e1aab9bdb1f5f2a42b8e1ebbf1070e34 de24520bad1f3639ab8328beb2ad4696c57eaad2
+1160c4576e51d87c4da2743ba1dd7a27de555b38 8ac57f902db206824e8e541dddea7e71346ee599
+6ef6a3b476fc97e2776d0df9b44370bf6d98f224 7f7fe634968137f9b0830c270aa93d26ae19ceb6
+0604563fb7cf3586b5576988cf04748f2a226963 b7e00a4053103ad266f788796006ac52a0647145
+329cb945742594bb85607b4580a155d9b1021c95 08398e650c222336bb2b6de0cd3bba944aef11b4
+366bde9fa97d347f4e0fbcd2be7bc195ea48bdcc 08398e650c222336bb2b6de0cd3bba944aef11b4
+4d3e82558d0c54c91c2c0810cbb6b6a0cfee2a37 08398e650c222336bb2b6de0cd3bba944aef11b4
+0c5918cdc141f4528fc79151dae65c47fe3711c3 08398e650c222336bb2b6de0cd3bba944aef11b4
+e2ee8f1df2b5926fcb37353dde45480dcb98caf4 80bc6cff515118a36108967af49d3f8105c95bc9
+29715d1e65a10547f001919389c64af5f004b3d1 80bc6cff515118a36108967af49d3f8105c95bc9
+c6b520e4c547336e61ae102b0d6c994042d58bef 576db9e674130ae3f53190ce6a2d6856afe84e0e
+0d90952a5d8d52e40d65dc423cf65d6e74204adc 857f136811c991c5b15a04dd5a86cf51222c63a6
+2af70439a8d97bcaa6981826d69c83fade561bc9 d9ecece46f083806b6bf254e98723ca77e973eac
+a5016771448475258006a08a8258319814ae3a55 fc627fcab5ea89bd79f74d7fb0fb1756ac8eef29
+5cd2d2ef99bd279e85e9add70aae0ec64230a1a0 1db29fea03a771f1d708ce1cd74c209dbec8a831
+1576ee6edcc420804d3c6b3e6864e92667606a89 19d229a08a143a3244ad32ce74bb445c622c00b9
+9651477ff77b91e3dc3082e530c5eb638945f6a9 23d8b4b72d2896a18f9eaf2ed521b8313e597bbf
+d06b787ef9bd22f3b077b147dc40ffa35c0b7b09 10d09e6976f6eca0c52c829dc68d7d1979df09b5
+35a4566568f4837d42b51f5ba0ec6c70ab49346b 61d0fd98325bafdfbe79866df30d1251132be87c
+45a66299908df2d7db1cb275a5db767c4ada0269 83837efcf37047cc1ece2cd0d7d57e0032217295
+5e533ff109402d44226b01924e672ddff0c57449 d7f9997a88ea6039598b5e3bd0614c2e4ea43c4e
+20a9a1429a2f8a0acdf82cdca537ffd2a5debe1e 1fa8b5224b25974768364f933c9271488d035ed9
+f2aba408d53c89f45edfc352296e9899e27c2b4e 5bd1c1875df8b8a943db03b176936311295aef97
+36aa03b3ed9aa1d1593837d2a6253a6326f82536 9ebe642755c8cdfed9a65ffbc2388a7717795957
+5b7aa934024c83267e68b731874f42c5da08f57f a36c39199a08e586cb4ab6a78cd275fe8a839fff
+0186ba6db561c6bfeac70f2682197c92e59f2131 f8966cefedc7f55bbfa017203359682d0806ffbe
+258c3cdd1d9f7040bca427df4aa01807d005997f 79db5bd534ee4bc0ecd42e264b9859c8d5697a18
+d7562acbaf35d248cbad38ee8655521199bba459 08398e650c222336bb2b6de0cd3bba944aef11b4
+935cc947e7a7092be3da565e6b2f1be8103b4d09 6532d11bdddb63db4fdd916497e673e3cf742882
+5c0535a130243728c5363cf976af7fbfe2bbdff2 e03cdfe0129153d2f55b80dc6f8787201aed8894
+5364ef0b4aebd3a57c78be1a12f37c0c29e975d4 a77965a2ab35b3c9c08d2d619f8eccae1eda5288
+f84d698ac572811878cb4d17ba5a56e44cddbd37 0a185c2dcafc2d62d31d5b817fdcda503a983301
+3ee8f9c476c41e9a7c82e40053f7a833582ef5b3 2f888ad982331bfdfb5b445f11f4c7344ec0395e
+2eebbebb8bb0b7015232ac689208d1d2c821cc39 a2cc3928e140af9544911b9bcd12608b38236dc4
+46c1ce620f3bb44274bb70643a9f8ed266efd59d 12903ea6be56faf74a82fe6b962c432dac1c96ef
+877247c7d49e070dcb9c102837a8a438a04fc6b2 b61d787d3b603ca6cff502d7f8ed988278dbbc32
+c0a3cce9926fe208f551d204977709ec1fa84b18 3d2df7e77094a48bacae669cfe3ac686626d6a0d
+b05e42e0512a70ab7a60a6ee60104cceec0a6b02 1d3d842cba78b00d75d235d9ef70e587065b5e18
+71a316a817bc2731ca45337250e0e09df622d773 da554d2da83443aeb643203ff95e976b1330a07b
+a251b89e23999760f0a9073c28bb17d921af7a90 e2e73e1d7dac5a305e11bacbd2036ec9553c2eed
+eafffd4f34c1eb27be8be544c41db83541d0e6a8 bdc90b5087ddf32b332a4cfc99f88bc4981551f7
+8f0d494d194dd2ccd864994107715282c4cf1c1b a5df3212ce03611895e3d2d89e5b589fd61b788f
+8e6b306dfd71180f51313775e49d268519220bd9 075ce59e4ba8746077f858bb91ecb9b66a35b33b
+f2c6a7e39de47bf97838450197154ee5ec756044 fa24d61467bf1bf3c9fd9a5cf579491e969965dc
+a77a12e74d6e142a70596efb0841a40f4f9bc49d 3cc1b9320b7c72ec40651fb63ae1514420e8783b
+00258b4b2532c17a1fa96bb785fb6f7064e6cae8 a79608ffa2e0bd37fa754202a1596fb39038ac3c
+33a47b8d1257e97e030d647494c1e4b0e4ea63a7 729f7ca9781c32e83ca6486f183070683b54cee4
+57e483d5a21b1443a920cdd169504c4f390f9b1b ff11a6191a4a41a938edf34bf88447dd509b16ef
+b0f36a4e073ddff66c93897fb3df186f256c29fe 9bc455cdf925759a7836589ca02b555c5e43e281
+751cefd89a1eec5b13ddf1879309870f964b0ce9 f2a34989958234ae06a98c84eed90195d9f52eed
+d59078cfc7ab5dc9d4d36d12424652c16e03f8db 7cf498cf0dfcf14069d9cf6b9c9e7889b6520502
+01a607e4266a30154ed6187b256b841e4c50e11c 150f9330fefc71edcd0c7e8322ef3330f733b664
+99d5be37dd745b1ca4277154adeeb80b2d3ff3eb eaac0c2ffa1942e643330092e1fe24a82f3e8ea4
+07fcf166ea4befcafe206bd866045d5ace55cdec f36ee6cc35341b779ffcb372949e8bedddcb9a18
+8861c4b96a53da5f50f2e39f3d1e808aac1ef4ed b0e7571cd9f29a32211d506902996797da96c58c
+0afbc0c942cdde9565ec9f3b8c83ca0d0beeff92 1fd935ea737dc6b0d1155110378803ea75d188df
+c9b38afb302cc6e80af85b2b3dcc7e699b958244 a601a75a47fe5e6803a9ec673ba56d5295fbf638
+7a42e0d7f8390622270060ffc860fa1a43dfac9b 87950f1c3ae16c38d68acb516e38d1514cf6a974
+97902f15ab521c1dacef8f6d7cd5260afaf19883 1a0c7145f47033379b9bc297c4e69850d33318d8
+972d96e8a077634ebe8b4d4c1bd23f0baae0742e 2988bccffdeadf854d5a240ca726e986cf94cb36
+b1ceaf1eb1b09b0becfc016d5915e427bf51d757 42dbcad0c32a80913c90e776b80c3fb5ac909ce0
+2593d6c0e774b8c16bbb9694c328a79fe73a2d43 b92dd9e772fa91203ad9a4e0b0d870d946a1f67c
+c6a05f1b15f309778513a6e807c2e6883d00861a 87e500d4c3dff499b44ff7091b1039862629a3a7
+90f4c8a7a0af5c720c278a80a542b2f985eee8c5 b32579806f7296998069840ba8fd460534171478
+6e448e45195101ff338e1bb0717c55032e378d39 463e619cb1d669e269d599023579f1107fe6413a
+0f9ac3941db26fab38256e9f8bad8fccfc2b1d05 174bf961982d2272f62748c78ffef10c3560d0a2
+f7b6567149daf56ad3452d111fb4bd72c800b79f 1d357f2bc2f8600e2cd9ed864e153729d618ce7d
+f0f3587e021f7c1a9de265630f7ec8eb02b111c4 c1f23a0c3d8b04576bd16336d64bf6f9322b6000
+05c56abd6e03cdda27c134ec4e5415c2565125e1 91f545a115bffba65a755efbbf7b261cedc63648
+f10c6507e12d9d236775b464973ffb1343c37b3e 37c98b2e6c28d7467025bfef474ecdac56585c0a
+6dc7b5d8bbc71d646b69b5f9ad67cf6dfe8441e1 ecfb7ac704119d3c46d11010a4a852bd91d985eb
+85fefac4a8f4bb99373d98e80b96bc6ab46a8be0 a9df4b25fd3d0ab81d6bb222685166efd7d40ab7
+1a465353e2e912523a2dbc81a5e139cfb85da7fd 4ba6f6e4908472b134d96d5029c321bf8add124e
+8f5124d621d4ea37032f469dedda0ddcd5d59775 c5508cb23f74e5ed070a32c9df74225882d33cc7
+9a1fb3ed96cdbcfab43c40fdd9bcd04ab0727ad8 73b25f305de7a1010aa63826151a4156d4fabff5
+1976850e85d6e1bd1ad12cf138dc6a859eb1db3a c7eabf134aa09b5d0718dffc5fb84e6d3232ddfa
+ec03d41d74fd57fb0eb8cc4ec445af2207e1e3bc 973d244d90604f3211f08fc63370f53d08acf4d6
+28651e3efb6c550c5f56a0de205559b6d03d6ed0 a38b14fbbfd6d26b01f8cfd5ae252e4fd6a0da3f
+c1f573fcb464296f27b279095e86ccb438e369cf a424cd459843ba99fc0b3a162332bc14b779520f
+d9f8531ed905ca64d149fbb30d90bb0ee82b6c69 91ae32a87c2a97a81670d6753af0128f3e08ee36
+27c89fab7c5db30b4e761494c20d292d0bc171c7 d3a4cee6c7ae3d282c31a161c8e5fa2bbc8d0a7a
+334c95de29dea5824ebf4c02e1b19c93eb514f4c 81c8d5909c42e85a01beac83e366b02c7636fdae
+7229ca26ed621b5e1d27d93816693106841c937e 81c8d5909c42e85a01beac83e366b02c7636fdae
+eb1dceb4c6150f235d7f71a2f0fa520e627bd9dd 82b154b6dd66e29c2727c7cfbc75c3ada63a07c5
+b4f89dd035e89e3b70392481d924b4648cd354cb a1154e1ebcdeb3883ba7f4c284232b04b66cc50b
+5fbbad99e8498dba31503534f2ce70466523a71c a1154e1ebcdeb3883ba7f4c284232b04b66cc50b
+6b8c4a7ed17eaaf73181f233541eefa86eca1200 0b9b912a0ed4a006d371ae5caf3dfb324c6b65a2
+de21b3e1dbbd19a0afd4abb9dd2e87267ca337a0 0b9b912a0ed4a006d371ae5caf3dfb324c6b65a2
+fa7f8efad586b0ce2949535d6ac00724d5176f2c d4960b2534ae7288ff6252015af921bb1b6771c4
+62e66e42fdbc80e34156c2d49e324e5b0b7953cd 885c34a83f35d7fba7494ecbdf9a24d21e2d898f
+e297ce8f8d2b4fba339ae746dfa6f472f57921e4 a423fdf1859b9b03b79cd0f021b9e7bd38cc4c4a
+cf13ebb1fcff07069b47f154f5fd326ce3d02fa9 bfe2c35973df2905db80204da1626d9458d2908b
+26110d45f7e8f8a7271530b81a6b854059d59b40 6831d36b5fa6dfd73b3c52073f13e35f9ccaae66
+a3f41308fb6ef23c9c8663b5664137e169e5a708 fdf4ab815f044a5f13564757e7757ac30af1d602
+b45ecf0f0a26945b4a7be4fdf176764eebc85650 9807f3f8a38c4df29316653c331f76c32a4be8a9
+f929a1a336bdad021141c6ec7acf6a9c705be22f 14c16435ea76d29aa380adeb5892ab423fc1e0ee
+b120b53da6c7b09483b5fc3ac9106b5edf90f609 082160a9019e25f73528a66d8745505fdff3c673
+ddf9f9ca214c9990d42cb578c57152639b1f5cc2 a23360012ccdfe49b95a7ec8d922044632f05034
+b2292f3418a0e2cb632e1051b33cbab248f49543 d4dc9fffd89a183b2ce3fe4c901577b820c42af4
+1feb7353d70165d5450eda74ccabb6a3b10f35cc ab002c139ec66275ea14dc0ea23602525ecac6da
+74a1b84700ccd98ead047e4da406b372b4fa6bda 8e82edda655331309c6005501df280082bead262
+43e11fc2393917cc6c18063bb8e06dcde2a25cfb 7062b325b8e204a1bd8987ca42581faf357f6cfa
+932068ad0bc65736af7bd91e2f9427f26b17935b 5c139928a5535ff4ba2a4e1692ef03cfe1e57d02
+e57beb71818405a0265d0e1c0953cdf794e6e8f0 bf91514cc60f59a9c773d9c3b4ce2c0bbd878fc9
+7af05ef5aeb0fce277e62af0ce7559c306bfdc7d 5258381d50de35bbcf296110da395c32c43a732d
+ce31167268b79529de2383cf6ebabff76c903b81 3fb00040b6312da68acdcdcd0324a6f054fea69c
+fbfbe60820a2f13778c76a28be4bc66b61414127 61cc9171e6bf755a216db872afa2efe3f96a0d32
+e69d181d7c353d44ea23582741818a628067f6b6 7e3eb22c7ba14a17b2bcd546d9ea2ffb6de2c6a0
+9baffd28163bdf3b02262f29424e55c8d0ff6639 a3257908c641a96860bb2ca96eab037f15394fbf
+1de2f1630af236c653e27dda15da020cd83b8361 9e51a2959cb5c86137154d2614fd328da0f4d118
+c254cbe0d8612a7f750e71c66877f55f2bca8ebb ab187779593d4430945b38ae019c0d45981f719f
+03ee09974a412a3123c1e2f6dfbbcc826ec7d58e 946a780db57ade3b23ace235b1d2cf28d94cc664
+3881ffdb4b9518be111d82db615c24f1240b3475 0406b4fe06fc24e48f4642b495107b748a52ba07
+0e2e65513b0666e3a359ad65174283f366c20dba deba617c957ce30bb51f1b4712f638de7f6380ed
+d6112bc21460b9229cddcf75c00978689a8feac3 ee71ea4b0fe59f4dde99668995620075f6ebd809
+3e6ae5378d47c755e63d615c9cfab4491d2af518 301fe4945a5d40dcf9e6204e474934079ebf88b8
+08bf8e36ccbc8ab63b51da53589c5b62bed3cba4 4ba9a8707a9736ec39c4a81dc9905b9a72dbe51e
+efd5ac0975be77e734147e366ba2bb4988dd27e6 2bf4ed9868179cf91e102b7164319dae41e31bec
+8ad701eca657054ed87fb7e298b2d5f38201b414 4bb5df595e0a9866b18c544118bb7769271054dd
+bb7ae402c6b6a4a204567dc0105748672c9cc925 acd80d81f876e54c2f80d38607f4d2597b844ace
+b0e8c75da072ff80d32422355e8bbe38122b721f 3e2e0dc26216ba6706037a6dd542d56ef9661673
+79a9ca145bc81f2b81cce4742ad1732c744b2f1e b8c110eb872dbcf13ad547e43c05cf9d9187c6bc
+02a2de3177df852e5d62a7cfb49fe28b59a60efc 9ac218df96015f11ffca113dd5182a3532685f53
+69a1e1a6dba152fb9afcf841a1322725ade7ae38 0dcc44bf7d36837ff3410eaea895cc1b6fafee1c
+3dad16920785c573c47b3ac6106d0c8b7298aa3f b1e5698510c9dd274ecc6f61d1bf3f0af151b71a
+8ad34b0d4b3fceb1369f4ff3ea73fb109ef908a6 d534f860111efaf258173e7704746c041e5d3688
+11edf2a07ffed95c6386f37e8ab87ef44f2fcbfd eaf23da54693bf9006f26a3e448356993707bb73
+fe87a29982f07d7ee994b232cf4b8c70d0e451bc da39cc65dfa7532b2192902e2e53db76244487d9
+a66dc82241860e2597b7f3c67fe03d611c94ede9 38a3fb377c4b3a5becf111a491c68d013033e963
+4b2e1bdf7f59fca637431bf1dc4573b83d39d746 27576d2178fb726c6cf0e91d026c880633871ec1
+76299557885514514ee1909012bd2ed00004d66d 09f286287a3d922141da4f2e173e1659cf758380
+aa0058422c7943c89fc8052c4e220a763cd86683 b6a51c5590d25799bdca166cebe02699e9cc4b24
+4fd2f67b7318e46a4358423f5d585d407969bbcc 3088032a402266285d62d0bf0256797d595ba7b0
+f87f44fcab261a50e2a42ed6151f1f22e7db71d6 f19bf480e066a361fd082d830b416c6f90cc73f2
+83749296507b473b3f7d113cb1fdcf59f40f879a a9246e8cc7de594f8ea6f53a01bff7f9ceea4963
+15685e8ac6b798af494d21183db3ebe3d264135d 78bcd6245d4831c1e379fa2edb407532defa95ef
+25a506712410cfc34bc1f6d0600dc3cfd9bc6cc2 5fa9fba0dcaefed1fae58acb94c9c8b9f2b19fc0
+1d028ba4133bfdac140e1b4d052e217ca19a2b09 30d82739b16bd5fafbad7e9dea51f34dc4bfa3d7
+96bb07bc8ddaf0edf41a15a4afde10d6910c1c11 50686824c61b4b94c67836ecb386612c60333c10
+71c2b509c087730e0575936c85734177fc5289ec 8db86c19bdc053199b4d1558ee9db16231a4d278
+dbbaad1a71861059e688e477d1f366a512e0f2b1 12e915d4d01b1ba528f3d05c297f784a601441c4
+14bc1481519e59342b6a0e5213628280ba223f2e a423db770870b554cd7d0a0215cb89069f9c6446
+316384a215c9009a45f73fffab3a0637fcc669b5 d1a8bb46d19fb45c3ef96bd1d6bc0525a8a86b3c
+d31421b253541f346ceaecf337864a0b8c5703b4 26d749b6b255df44502a599cfda7dd0e9f06c80a
+170ba15b46769839a98fa4b1158ef54df61b95ed 52d8da4900eb3b61d4977df206c94fa5e3d172c9
+9d21d9ba2ab3b5da78efbc7216d6077e0822462f aea49c66c0949078650e9d0a8d0facfd2e6daf77
+887cefe0b5aae5045dfb00d4b6bd5dc331ab494d e2071a002bb9139b7c267d07f36803273e78fb45
+0db3a157c42125b20e96d808b90f3d73c43a77d4 9ca55a4ced96685c6185d36134f4ad256ef355a8
+51b17100e9b454ffe790890ec03fe069e2f16ae5 bfcd890e95e1051b506e27d9530e701cd15e930b
+992aaa7f9577db2184b5504189e8fbb2e439d0ee 11b28939a2172041504e64d0305cb6f91de0fe56
+1f29857116174e4f51002326c0e2ca45f297749e f22756c8ee394abdeafdce9f6c1a8b5885aa719c
+b47d5f475739d6f927292404b9dd39e06c18d471 2b7a590e214e2a654691874a7c89d92041c669b2
+4c6de7363690fdf043fc49d1ed8ef9e2e82b1c50 0e8d5c059668e6e59a896a02ce597f4c1b5ece13
+25e8458ac5d2a0fc5ae2b893f90db620cb428145 82da83cde2dc6b6d81f324cbf9dad27b768f604d
+841c5e18dfb38e3925be47433d57b27be1699351 9cd318d833ca5da4f1fc29b214c52b8ebfae61a8
+b57db343c1652f4049e00c8358baffb41bd5a871 cbad988f1f323725bfbbb666ca9bf47d45ecd223
+4121dcb9e7fbb668f85220ba691d9cc62cd7856b 3edd2cb1a208bb78a55b28a9a8d5c73f45a71ea9
+07d387c08b70bd96985935de70e56772f1cb5f0d f56979249c6e0beefabdf7460683ddb0e893d654
+f2dc2d6b09112edfde3a14b7a549ca4fad7cec4e ee4c39a4ed0e9f1c14b47ed10ecfddab7fdf7930
+c6f7903ebe5a4946e48e5709945dda1668dfce65 4107f37ce493ca927a85a0bda1a2ea7a9ab1d838
+f90e95a971362a0308329733ed52875169280437 a7abac3df03f3e3959e3982975e87febf4d5a5c4
+e8636ffb51923105239e7cff6a769e8831782c8a d1ecf7c9b0a64ee60737a90a0ac6fb7c071f0b6b
+d59488a78392ba5d70ef890c1bfa48a4f3756ab9 b7a3b2b9bf80a5431edc07eaecfdb164b90cfe3f
+9cd901530057322adc41a97bf42102d74a8503fc 93d5748354228367be4429f59843a5d532f70847
+fa96e7ed70bff908431dafb78649fc1c661b1ecc 4b91424a76267b977fc4665e5f2f21f3d7ce96da
+924306afdd257875bbe1d5e354051776166f22dd 92135fad2f4edbd4927c04086a0e0569ba804853
+aaeae8814e4b593d2f0fbb225e7830b3da45792f 91e58cbab61d9c35ae42fb50882d4d775390790d
+3c7116ecffa186751a19501da6eea91bcd288943 804b95c52fa182adb48f3924f2c051b534dd92c3
+d3e635adab8acee7e6366fa7891e5a45ae2b8094 94c19152c8b3d6baa58b5afea3092becdf796f7b
+c184f7284a509bebaa0fc5e14b2870635c3d2da0 5754fcb80de9ccb18320bb575d3498dd8a52ca4b
+bc47ebda21f28c9654d1bcd8cce0eca56af584ad 49f919ad6963a37198cf2cc7b0860320efffc542
+a5d3150671bfb57b5210f742b05cf30a560baec0 1364cbf0c5e89d2413fc33303a08bcc535b801d0
+119f0db9313642071dc81e8e5261983f098323f5 b3affea49935213c3b3874f29f3b912bbe301049
+d5ef4a7ff0e902c84b1f051e1a9a073e5cfa245c 05a10e87fd910584b28825caf974264218c31626
+3f37891e886e32cfbe93f64923dd42c2f7256e32 9c92b96e0af408d44593c9fe5ccb4c70185d3b2c
+a1c12cdcaab518a7e84086342e796ffab0118186 3dabfafbd9956dc8beefa576ebe49d1d8b9bbfed
+fb54e18019edfeb00755f1d734379ca91894897b 484ac47e56745007c55fd1de367597f7d8f23cd1
+c78a2bf9d629640d0f5963d7fc33b59c246a6232 e5fb4d132735bd88dba42232a1a45a75e245afd2
+9b201dbc6475d42181cbd1693fd92545027df6e4 b8c110eb872dbcf13ad547e43c05cf9d9187c6bc
+c420108b19757607ed11e30b69f936fff8525244 9ebcf0616295aba6edab401ca3edac01f41ac081
+f17bd8854643b4b8b18d30e9fac3162bba252848 8263b18c3cdc21050209d709b893193bfc9c799f
+e6f71b7f1500f7e2e8681266d9bd4423345ac0e5 ffbd3db166edd0608482833221f0b3e99dc1f101
+e46cd9cbd35e00b96758293714bd13a925343284 7ddd24a763f48338f26a985f7b9348b8047c93dd
+9951966f517676030a416f192f729be9aefa03e4 63c8973285ad166010d70fa31cd61518b2c4b314
+6a0660a1b984092506798922bda36432f59295a3 d1f15c6d893a6c6ac438d9b15645e56229ee4647
+47fa35ef81e0ffc75dcbb711ce4631bf2d0aad5b 352e9915d05e83ac9f00fbfce541d6b1083f4bcb
+83ba42cb28377e50daae37eaad4b0c93ecd3eafb 02c845ded61ef6932fa1000178b15e78a73bc8d7
+fd86f1cdca01115a624d9f33f8e95f7d2710b7c9 c39b8e88723e6bea03d0a7c2129e4fdd3926b7f4
+74b05f31b6a1fd7ddaff3649b88c139af3d69abb bee2c37f31ae56da54d549ff74b0421cdfb8c6b5
+ff4909625209ac8b98bc1f8fe330e98a1fbb0a74 07c2788302530d790ade664f15b40e2f4316a5a0
+ee8c6bb2310c4ce50a23cac865bffb6258901825 8d71df724c4a1ab217c5f328866ca8e21f9a0be9
+83106b4ed9506e656b82278d6c2077dfb34d241b 9dada029711407a688bb8194c2ba9a2a34e963ee
+99fb969d9b4f2861caa0724979eda705dd683276 f7aafbda6a10b9f0064841b2c7b9c433c36878b2
+70a4845ce851bcdca06901ab4fc237a91dd564a0 73ff85fcac65678097d1691b04b63bfa0658861f
+aa1f12178ced9a0e6051184d7184e3610ed62ab8 1bf24ff41cd3f328f36b7dbe1f8bc10d69747d0e
+f378555e0d6e65c8475c9563cddc67f25706a291 6d5ebe68fc73e5a4fb57bef7b719c5dc2e746e3a
+7d6039d6d6367970da54e02b13926bc630a16841 6d5ebe68fc73e5a4fb57bef7b719c5dc2e746e3a
+7e69d75cc2986033680a6dfcdf42af4e912d63b5 24e6979018650875e7444f5eb6d5a56a77e77711
+ac89af6db250c108f3c61540887878347a2d53a6 32fb1722aa08a5cbb666aeaf37c38dec55c3d1ca
+26709b326999ec6715a16c2e2c0d26776d40a016 7c36b1b34dda68a259c19f4262e9b34e4f0d82e0
+8c80c47ce3fe4fb5d3150f7dc29eb8d46bbd2c5f 15fd7cd7aa5d2b7b15829c5dd688404bc3eaa112
+81c97bc91ce77b1efac4f3df2ce8645ad240612c 15fd7cd7aa5d2b7b15829c5dd688404bc3eaa112
+3522d476584f5b6f7a42eaf3207d7374c7ad7201 51f830380cb7608e8c6d881ce26ab668ddebc95d
+67377c381cb2012a29c31910dafc2dc9624c222e f6e569f582d2537076ee6d94c5c8304135d0d2e2
+99c545af02287426e106ae83993e60051bec7c3e 3f17dc5079abc6d13e1922b19db190cb7d45eb88
+9f838e2c43a6c3b8cfab7e7f1652c50a76630eef 944703b5209d1781b1a0673c8ca1d933278efb96
+6cee4a908540de47bbc46318679cc7675cd0e3cd 530922bd082351571ac12b7dddd82765885554a7
+353bcd1a4a110cb7e85c36e02acb572806a1ed78 2fab89e185a97be9f8046dc18d6c9fa0dd1c3d38
+1fd567e0a202379953e933520f0a83226b2eb90b a10b99641552cff03bdb7bd276ac6aa978fb35fb
+99751e49526d02a41fbcaab90f6ce56b5997d9ec a10b99641552cff03bdb7bd276ac6aa978fb35fb
+5f60646e65ceb5cc0bc6edb3a47f4093153800af cb5d841a8bf2558c46105d808800b8915ca69648
+f248c63952810abfbdf52404357887d5877faddb 2ebfcf62afb35807b123411a473f0d9b5fc4bc3f
+8a7f3c722c10c82e47f99a0d08640ebfbb1d6a03 003a1b1328031bf19cb42189e7eea1b7e855c737
+51fb9fbef28c29c4e45909932999eecb87b9bc28 9f376f87667ee0a5a0bde72c71aa4744028ab13a
+16e8382d82c9b8e33ca99106d3b24e09529039f9 23374ad0b452690e6cafdb5b1bbf78bc5c3fb69b
+b44ab9f6cb51fe9b8a2e895151bc74543f3bebe4 05fe57ebdf94a9a2a2b0f34e6ef338b778c0d0ae
+03234869f9bbfb1dbe16db0d5dbc534e5b613e39 e0aeda86489276d9f774e6a3133ef928e60d5304
+1b88523fcf9f4c93e7449b4b173c87f210828b59 e401277b1d3d0211e46e59be0d05c76c7f07068f
+fec2b449fbf9af842ee06e1be7198c4b2b879400 905a8982e75b300c88c4eccd82b20acb5602cdcd
+8be9afe40b24ddde1ad5f93e3a6554519acc7dc7 fd10182afd96674b3cec606d9766f485109ecb1f
+edc5c58b28dcfb88c585888f653b26294c110578 0ad00971661078e36db2265837207b353e3a7112
+3f8ac9d2fc2094adacc739557e9beea6628a4d28 4f4b563a7b11b56e9b3b1526994397b585519b51
+522bb5d2b502396a2d38919e5e500a037f2f8c75 69d124d13dd3562a88224848810a6c66ce91f06c
+3a5628ca609964bd0599048e615a0607fe2ce6c9 8980c1887a6e850972464e5070d3043dad126e74
+c493dbe926a60150e3eae9dcd9088210497af00d 4390a4714471b65b9f6059bd0cf491a374d482cd
+9f1da93d7bd1acebb02475ec0747fe24f11be96e 72c27bde5dd9887e3c9ffb84b2e8497401f9d40b
+46f4d65308f414283fe08578eb8a3dec718fdb5a 34ad2f34b517f84032432b3a7944741eab9b773a
+aa43d7ce78ac25a880d88c09dd873d25bd820bf8 3ed29fb185491ed3576b0f006801f9efe60f9c61
+34d2a238566b6374cb676ad5a0de877170568ac1 f2d019b5a662e24429514e59445ff6cf99f339ec
+0093870891148ff85dabb3d5c83b2658ae2cdf15 b2ff95cffe9e1c656c1e90e00db6b27b279000d4
+cdbc521428aa437729039af491399d267a99b7b0 28b31f38296e877840b4c791972d929719d245b8
+6f5438ecff38be987d2df1315543e12d698b2345 9d0495289862ec6cd169c5af3bed4493cf88f058
+00372f37df3091ee93c3c13675c9f1bdde50dd2f 4dcbebe106dcee24fa44d2500dbbe1e587e44af6
+493caa4eedbbaa310f8e9a35add8b513aeb9e852 a4076365bc67c9aba5dbf2a9683fa293f2dfa50e
+feb85e59f6afedb476a9038c26028360987fb21e e594c11dccf1c4dc1579f05775e49c1d9a44e375
+7d32be85cac7e7385cece2dc2491620d12450e3d 5c4cc8cb0f4d6d10d7537f7a8abb03fad79f9644
+0ad68abb1242eb0077756ea901c5ee84cf463e67 69eb745c9889a102392a2d4c39a81b6564e2fe43
+e57a8b89a9ec77f593c12584aaed081d72dd57cd 3e709093c208f8aa6a28fed4f083fb1286d6e9a0
+69af59092c27e2e7eb91139f7e1dfa3f1e9bc76f b8ddbc51d8088c7c6c74e9993cb47aa21a209967
+86b64c92a5917c71b82ae69b54b983fae44b09cb 0885feb74343d2500864b32efe3b4a327ebd9b99
+55fe5c2dd5c850d94983877ea2a1641fdf768731 2e71f405cdd4ab33cb16b12f87437ad6cbee43f8
+5f9d7745e4257b11cbdb67f3d6f9b5e95c8584b7 0966429874854eb0c732273f4110bd8ef706c910
+a5f583c6b709310febc327c5922286519fe5d03f e9e267dc8e73acda26952f653cbe277bc0265832
+e27f99dd81fbd8c59aa55942c495b86a934511d8 4538f4db151cfdfe6627a5e78806d682d01e190c
+0318ded433f768c971d12e00fa8db157e9f50168 169b4d1bd6dc2873e01bfc0c42172d04e928d3d8
+9363b8cb71b88b058fdedbb43cbbe8c315f143c3 5cfb485a01a5b4a290ba7c5500da12155ee11c49
+b59b8f3cfcc2eb6851b2c153d2cbf794f11af0ac 4c11e6822e3b79060c7548c9e53b5e68c2b1d357
+ff70c6f1f0e344b6b3890c46e4a8cb1c380690b0 e8eaf6997206da1e9bd2a1098fcac0d6fe58ad7b
+db952e8c9a6270414def2b153fe021eb18c70d5b 47c1ed77bea398dfae45ef67856e5462b9f2807c
+0c59ae77c9c8a97d6c9ab39b85c068d46da391f6 89a027468c3faacfe9ffd17e3f5b55d42ba35c69
+30ab9c73223b14444e4864a375754e6d7c651b7b 7d0589835a9e912f0daad7aba53500cd68d30828
+ffa195928e0b9b7f5ab10fb0dc8fce65e29d7425 0771054afe855841a63fcf3349414aae917eef78
+aafe50bf4970b19b07e2f33d1ef50408179ca7ed f1fb86e7ea4559ed07a71bcc1574f949edff5075
+4ebd68d0fcbea1ca9c1fb729414c3a36394b419c f3f37a742574a3d550d924edfa437d52c6717ace
+910f4ddb9e278244ce93ad0e47c3c1accd032330 316e7b97aca1c9f76d1806bcf2b72c61fa7b8e80
+f7c933f4042a55388fc4f6d8c6652760537d9f7c 11d0025c02c07ecc5e5ed11c4dae9d2f0f911b45
+82af1090e71c8fd6b246f1394916d82046b11866 11d0025c02c07ecc5e5ed11c4dae9d2f0f911b45
+f60a4b7c87195ca9568f02d2c68e894fe8c07c34 f06e5e295fcdd48af037df92670d62f32ffd3a4b
+5e0be06ed246a3817a1ae12b9051416d156bf00b 944d81539ae2791d3957d1707497af16fefe4d7d
+fe07beda546884feec20c6d15add17d1267cccfd 3a9a146b7b98be0ac805d5460e929cee9fc1f7b0
+efc2242586e3dfb6b05a75223312c49084fc2e4f bd5890af3def9ad91c98ed46525b4a2c50bb3cd3
+4c438651cc7a1e37b8c2f9affdbdf0ff4830d573 2dc72ada2b3ade1fced051da2e8b701bfb851aab
+6600f2f3abbfb4c2190a1725d4217ed771866a5b ce1d6697e8c7b9ff6de782853fe59809d982a7e3
+7f7e22b949e09c678b132f690268196208165b24 07a86a6f1d44097d9f66dbd35a8f8a653f496034
+f13eb2dbf02397f00346e180544e93d2248dd7d3 cf1522543241ce6ad389a8ccc17da96d658b594a
+7706ee83d26920bfb971c71f1602ea8de0e0bfd9 e53a67edd13eb0586a95d98e9e7763a1dcc8f31a
+27d7647b7069bd809caa2a0648296769a27285b3 cfa29657731d5e8aecf92fdfd879850307574a1c
+e6d651b41909024a353ea30f1c305ef17b9cb9f0 45cd0d92bb347ece8c55658ac4b34c14d6bcc73c
+585ba793adad8f739ee6d4eda7300ed91f597c27 00206b53c4023b53a03e6c0e3bf7104ffbd6a3e5
+5e286472d4eb028efad6dbbd6bc2dba75f6289bc 41b344251ca3499ca7265cf74a86508f656e5d17
+b1864ec635d11a028e74384f050faecfe8ebdab7 84eb9b4d798633ca5a49bd291b4a034c7ed643e6
+3fda40dd12bea90e0a3fb53ec4f6eb8d43e497a2 18c177f61baef1e0a74b8e5b8762b5157fd03488
+063e0972362ac00404b73ddbc1f8b3ebdeeec796 1a08ea4f3cb949a9f9de3bb429263de97b009c77
+58b6eab4d6a9bd846ee92ca0dc75268b3f5b2693 40f88ddee2c38d6b52191fdd350fd45b0c212e03
+f71767a598289bcc62c1d8f6f68918dabd7a7428 86fa7c512b81851da6ee677a76ba6cc84cda7ede
+bee7b9c35150551c7eb0c6b310f3266ff3d0c0ab c9bd4cb7b4cf67df161a43b22cfbe26ea54f1add
+6fdda311fc73f25d2d5d3fbae1ff400791fb774c 57e52e037c9e33fbd9e17c8d3172441f7cec4230
+c6ce3774a9ba3fd626855b64241c5ec4e4e192fa 4183ee4e479c63e0c903e010fc0c5f7a97681180
+987e871ceda47186ad97db5f4b6d37091b3de282 a71300a511092ea8e7edc6ddabd8861e68f7b6d2
+8162e55ff6586af13bd0bb5543aa2d26947d60eb d141d74d15cee3702d410d6c8a02be84b24108d9
+fa5ca711afe58b08b860767861ea0ae24d3f7749 1ae3476267ce18a659e136a989db33dfdddb27ea
+344d167e79da979f46ded316acb8e8389142f0b0 c278fa6a2fef76258ad371003065906cad683fdf
+572c0ff25eb3276580282afe7affb461d8066c67 a6efdc98b63b964da5a1ffd0de6390a294c5e706
+106c107fd12459164b3989a91f91887f7c6b62d3 9a540943f3b82023df7a2375cfb5c6a50f02cfe3
+d03fdbe2bfb2b7e54a8d11bbaf67966903a78666 c8b681de6c27fbe08270dbc167a4994e3455ea0b
+647286528fb57d9188eb8479aab7c80c41cf74f7 7cdace7368031b53b472977a21c5a7ef8a10a984
+04847e01c10e5f8ceba51983c087b5053dc0775e 38e8dbdc3a9edecb155ef51b0520dc1f468cb1b9
+795a42a6623a04fcf43d2aa7a4fb1eda216e7dc3 dddf0eff06ab2ba521a5bebd61bd4a70f57f2188
+65e13090aab3a0c22491bed29c9fbec5c62acd28 e7c5b3b54f61282375b0014cbc5e243badecbe36
+5fe8558bfb44faed1dae73a8997311ce73a30c5a ca296a36326d5471a7742a00878d2279e5fbf32f
+d917bb805386c48ac8d73a062df32c1e29e83262 afc22c2bf03f578531421bd768b8dd258441c5c7
+4c97ae254d0638356839787883065a0c2ef7ed99 7665ff99eb8d11d2940ede99126782864edf7558
+87e9e2fb8ca83abd94c57a209cc66fd2f99cfa03 04682ec16eb98ea9fbcd42efe2411aa043e4e92d
+92f28f9f94acb8606d581d926082d77c1336b93e c60a5f8889a55418acc3516270586a116303e869
+afc7d00c3e7ebca4ba32a8324776566550f97517 e5024ba810bb9b70d3c3a0af1c54f81cf4fce489
+c08ee917b558e0576345bb23d50ab0f51a67617c 5cc2cddca6886ef39d758c1b472657429f72f4a9
+8b6dc3e3263b74f0c62f44352835d60b7f89a5d2 1eed72a5c04e930761305d6366942a69bed4ccee
+ebc65a16fcd30b55b25e5c8bff87baebf33b9116 496305c652ec45af333c715b41066b224defca53
+7d22de34032998eb69b5285bedcebaa5ee064137 20b22da28a52ff8c3c5043c68989762545e569e2
+e85b268d260d7320d2192f0acf7d59a6df778ee9 9e485d202bb07f42b12c3a987c066770310b800e
+81dcd8cd0a946ee457555cc449790664b7ea5c3b a3140a36a8548bc50a38fbe86933f2b746838be2
+c93f193aa787e720fea73694d0637ad2a462bac0 af91ff6b385d32909e307814ed58191f84a2cde2
+091e6a07fba1bceebd7a6eec8abc4feb97d25ff6 7939ddaab0da9a93368e5fae6a7e5f291fe7bc65
+46fc70bfb59c114c10a55fb4ebfabd97b01b2c7a 505fa5e652ddd6c379b950d237b4406b4cd993b8
+8e50edcc50c30cf441ade1912c1c2ef486705ce3 343ed08db30abd18d14e7d2b88a2727b45998c18
+f4c8f0eb64c5832ee6b4a7714227501d0570c4fb d810ae232b7d1c4d3eed1de37e423bfdbcec259a
+435ae7a93444f73648d8be21893cfb25c9fc607b 26bbcf3928950a91a5ce921abdfe2ef5e0f2b89c
+bc1ea9241af077f3f13afe4c156a4a1c83fd4f80 464c765ed68a5df969b2dc66022c2a8fbd40e642
+e4c611204eb7d10a3d2b9ae77667c86ddbc44d8e 368de70339ff98a5c5625805c27f06c06f576471
+472d3889b960faea301436a505875cd8afe33ee7 dd4fd0e1a168feac2788a3eb69ede256539a60ec
+f857dc2dc2b442d4651e527b6bb15ac070e39bf3 636d73bf7a8ce99365f14107b05f44aa75915101
+ff84af7d759b99c0537993ffa46beee1890e325e b04419f61d2f818606a71b05add5878c3f59b740
+8e1d881bdc7dc378ae96587b65721c20b49b0c00 c4c6a336a874caf2df77884d7f177d0632229c6e
+eb98f15889ed45f4280d417ebee9532c2fef2aa7 05351ae1cfdcc2a7d0e67d3193284da2dbecd4ac
+29de8185ba96422242316e899449888e786dd86c bf73c01fb1a788e2c982fd84f1788353d0949290
+c65e358b1c8bfb25f93fcdfb06aaaf73dd8cb516 21112dc4a71f22cff1d3f56b06bc6f2c94693f11
+a1d2371eeec158d4d5c674580dd7e85c8a6f475d 34046f91196bcfd36167022fc8506d9add427a16
+19b28303842734becadd42bd5431b6a767422142 272bd131fbd58136373b1856f152c65c649bf16c
+0e9d498328aabfa30b3d79561bbcbc71b9cdcf11 451c42c65092aa0e0f120f6a0ddd35aac65c509c
+4668fb937132417b21ca484bdb769e3037b46733 634a7b2ee76ea5d49be851a9abcfc05ffd91cfa7
+1b22370a979a451f101ac0719efef8bb11b3de79 1b29e496beb667654cb238c9cc3ca957d2f2b696
+346af31ddce89bfc9af276686ea343b0873e6c79 82a23116055cb6c17e9a4a79c3b7632388ed7bfa
+b4a1d8d0a137b9b35892932020c037326f798cbe 784b19b30ff816bab3064d0e59cbab3a5720f40e
+9ff5a4669a64045258f472e6d8a8ee4373209b1d 5ac2a0eac8327d88fe77e1fb51c1cc178500a572
+8de40f42bb750ba3bd3ca243e8e516abc5a6313e 204a3b09557e60bf2841743f47294db86925c88f
+9a8c58529306f727b4885982535bba86cb9e998c 375024e1a41acc9ec383e4408800ee59f2a91ae1
+45742b6b6b34c7cbca2a0107f8c8a121fa792f99 aeb314a80a5928ad1d53c4d367dc2db0cd537ef0
+9f3030247c560c33113a5149ffc823e2bc92d758 c83d57bcc56197100f6b8c6f89d06b5d715c0aaf
+91814b44ddbc3529e77e92b9914db0cca49ca2dc 8f5cc3c53fb9fa40eee2f4ed1f315da276f2afc4
+71428f331534bb6af3b57e6665bec710005fcf04 7645addfcc61ba397d59a778ee1a4cc8a4fc1936
+e5835560d1f44eb6d1440e5a9a597533c3e1c4cf 352f54e5fadcfcdc3b476c4588f6f8a58331d400
+c56c57543c5189feed4745e490c0c92784e7c43c 59ddec856b0b83b86dc4133d466877f80ff86eaa
+f258ac9b1b3b0227d8a04883ea053f21fcde8f3e f164f9466e636ce06534ee01f7a84b544d8d8e12
+d9a5d3063bf57fdc38e86c3051dbb1b752c4ee59 9f97541d2f8591f297aa54bcc22e6b917c5038a2
+c73f0af8b90c6384af392a6fe859da0063451ade a05460c1496d0ba8db06780f18b6def33f0b563b
+fd3b2e57a2c66a3014e2fac32abcd0a18093f691 5990a07b4733e67a8a7043992a9aada3cb311d00
+3b42de6ddfba12a7b91c4605501b608ea92c4934 16a54ff08ee6a5f319d87c4f712a2e5fcb049d5e
+91e336003b56c4773ef495b2ab635a3b9bb0501c 38c2e8257ef325d4009cfe2d478262b5e975952e
+31724ef10b3577cb86ac6093447856d523fec3c5 5a17dbd2a7cb76657ce155dde8a1e8ae29cc53da
+f525184fa51659e8c649274354a8b37f4c7f788f f182b58cc71dbb26a574fc19d8d528a5ed813c8e
+69dfcc8a3dc4c20d7de4a7490883c41e52dba2b7 ba10b62d617bab843af5c472f8fb51a6a4f894b1
+384e5a7222b8a3258abd97d244a87d7afde98ddf 2662812b35a98b2389368aa412175b43f1af023f
+726fa47d31e35588bfd20983b8d3a17fe65c1b1f 5ccabfe523d4e2ac5b4047b25acd1e2353582afe
+7bbd4bcced2442ea55b2af50d1577c9f1caeb664 28a0c60d4601ad9c0e0caf8d6a932b56985afd04
+58ddfc4dd95f07c2c0b757c635f08adfe1e1e7d0 5d4822f3f9f0aa25f06657454a238ee6074093e2
+c3512973fe8a30c6fc149366de4d608af2296b1e 1b273bc87a9ee6fbf03b73c895fd9f3f620bac8d
+6249f70c6f5bb1f1bb7dfd41cb2e69c8792244ba 152314aeb3cd1e841df2612f37f97a72ab19c87e
+e4e38b3c1eecbc4af6b908dfa34c659f60e3cb3c 32bc658ded18dfa9d37fec7b000b8ec54be066d2
+7a1324b197d5d8f867b8ba14732d0f4d34dbd35f 21e3dda7c835f920011e8f0b401d62560216f161
+5de9a908329188bf0632f73640951e59ae396ebd 48d1033bd5897238befafc16830e5fa99932db4c
+5762f91cdf8eab86787efff5cd81d3f066f65977 3790a89a8e0d2e84d2340ca4cfd3e2c23b90dbcb
+5e6263dda4d83edd4fa30ffdb2891e4bed951597 3790a89a8e0d2e84d2340ca4cfd3e2c23b90dbcb
+ed636fb5a1a2b1265c55adc6f34393c3e88438d7 ee2e020e96a1186e9a1e719412cd8b26f7747cee
+ba1c23fea75aa43c3457184bcb8873a1c4a790f1 a8b3d5cb9be853eaa6cf5be284a26b25057fda8c
+306b25b154b6cce1dc7ad6d131062f5d5c5ce7b2 2617addd543a8cd0e7f4a52d164b20f543f90841
+6de2547cab0b47333c41ac172ffa1e6052ef0b83 fa3f5bdc7a040df0da1ea60b03bf5236193a4775
+add212abf4cc88c68577e7004c3c0e53dee7f49d 22870c81c6fd4f37d4e5015ae0367ed3f7ccc3e2
+f785ff8f11b8d2d3b4b3a94626729b852218ee16 4664dd27f47c4edac49d8ef4b3e3a112c7826395
+2780df3775fb9e1f77fa11fd3e367441f6aef4ec 48c4db6ef73109e89128a078e060f6a51d0f05ae
+e073ff79c0c0d73317641d381ec1b5f7b720535f d3f8ff4a4233ac29138bc46e10838df5c3df6c5c
+57e00f7d4d4f54a32b76def2ef7337fc1f369d23 cfc4b6a24f18e29f71b393675533831eae464193
+c85bf5ad1141a6f39a4cb98bfc464a5a0d7aab80 90553bc12b07df5a1575daf247f69ec0a0916b78
+68026445fb57f0985707233c113ef340781f3aae f6758fc4f8fd7ade83ff4e96c3fa3ae024f4afab
+b6db08db1638fe81b630a7a3a926a79974aa5d3b bd6d14c1a2441d60735663a4c6d48c62e6f8e208
+90768a0e85be22c93bd01cca35db39642a0d8a4a 5eb7ff11d12fb23e2656f772393066c48d629ddf
+fa4e71795410beb8cb2faeaed1bec2e622fd0c2e 5b16e9c2b77a186098a0fc20ed653c50f52887b5
+5478808bffcd2503edf5544a619ea1138cedb8fe 9b2e645d1ad582ceb83ff52551b9b7326aaebd57
+a94cdf7a048c5692e6a8c760420599730544a1f8 a9c93ec232c4be6b9517d21110c353d85a8007b1
+5e09489404f46fe9a63d83bd8b5e5f36ba13dc81 57700d120cf2cf12e290c8083bc3f7928ef07c9b
+e6feef9704cf1c1cbde975734c7ffa1ed1438738 8326d22d84d29150bfab35ec09151f2b8901f9db
+5022712def4e4f39455e7edc19a3bcc1f941b77a c0ff86cc07652ffd314389a6fb12567593da8672
+1bc8229a01a7ad68cc95fb0abe5af1767fa271d0 104da54eccb10ff3f4e8b7e521af829fac4bb2b9
+7231bba459a9b7b04a39eb0fde376c605d00b06b 28d976bb13b55aef28d985cfbb4cc2efe1f0f882
+64a2f336f50d6fe08a0dbccc7a35bbabeac036c6 a2ee4a665a92785b72751385fc4ce25adb0ffaae
+107a07a8c5dc8e10545049540eb008ba6981b7bf 8ee15bd8f273925a4a1c0d17bcddbdf1e7b2314d
+af20fe00c768b4660b3560a36b335bf5173873f8 664637f03a179943679bbd807a4b8daee91e15d9
+cbcaefb8671c5e0bca7d93cf2addf647a46dcf02 cca45c219b85672bf13f666af3a43674ae6ce38b
+46f222c28a106f15a9fd37d391a2a053e5ce240c 2da95c48f00ae063a77af6ee09852a3a0261f1e4
+2992101f5137b4ffd846c6b0902a7dbf337520f9 01644a63641e02ad38ccc8780870eff070e66f78
+833a34c52352d65d56de539920a0a83e9615739f 8e8341e91bbb26fc0163347da8dc186e9d27ddfa
+6e7f7b441b2efdd7469e3f09dbc4d54add5def0e 69ca3fa7a64b47b534f019b419504acd442fef71
+6e584bc8bfc004c163fc256cee533d8c4e927df7 54ac3fc538de1d78394385e212c3c0e607750d4f
+e355da6b1595e30e36dfcd7ea2b6cf0c35be087d 7069791eb2078a2ce0613924a51d5e0e1e0af08f
+383f63ca6761bff8883b633767ce9374b7768a8c ee1d6fabd15d48a19094966440773a1b7cc13a14
+8d23110f23601c6a2f85de0f76374f9620ed2bc0 f0cbd6dbefc174441aeb269950fe354fa84bff5f
+298b530ca1039db9dee8eb724b54a02d844d6ddd 06039fd5696bdc4d3b6a6650827b8ddfeddaaef1
+ab9a77641172af7dc30ae8241fd2ac2b7e6fea27 8caa24b2db4af1c57dcda4b6134996d7527420bd
+d438ed59a06e059fde143df726078aa563ef1b0c b228a510ca2bdffcc27b4650804712bdee9386e8
+5f6905ac1600c61c2e16634e304a45e03cfa64d1 c010c043f094aef67ed10d2446e030da5b3badde
+5887822fa046e3ba7f4268b8e25c0df4d02f135c cc9cb448276becf3508eae1b1fb10fba3bab76a4
+3f2aeef06777cf176df1f719deb7d8cfc0866dab ebd3b9db0d2b57ef1b1405c4de01c733592de6f8
+505c679639d973760ac6f6a55fffbbfd8a26ebf9 b91ea9744b4d3a32a43a3358deeb221ea0f3ede3
+fa71a523e1a50676f8b9cf33b683a7cdbb7080c2 375ec0b12f230e9e1f0b264b38fa72a39dba9ebd
+8c2d4a1272261a4782b3ddb4058d0a2e5e906c8a 45c5f0a6c25b3d7b831fec3bbe60516920f8e4e6
+ecae806fd93c6e5e4da6eec69ded696984645e40 ce4487670d6a3c6b5853f61f9c2510b6d37b73df
+4eb37d005a385b7a7ff6b8a084c97e1cc6e37073 608b9d83fdfb142063d959856cbe60db3d9f4693
+74f0b3d22142f2e199a0950d31abb4119e074d01 6470efee0c6b527e179b7e3fc26415bb7bdacb52
+afef97d1ae8a884e2b75737610b204085f9cb487 08d0fd7ac1248f4869ff8c17d009b9c045b2a298
+ff6b604f523315712f75a719300d54be5565755f 43432c6b10a134a7433d07c3d28f130cf318393d
+ae27f8e9a38601f8a6520d0cbc6132111bd232f1 e6ac261b6ffa4c2ab32a6b70b3ee40bb542cac25
+98faf4b8f159ccc3711fecfba0b0de1000555a2a ba38d23d8f31288a32f831a9e4246499977ac61b
+79df8e882dcddf8fbf982b927c711e5aea8df33e 6831b708cdbb70b06065390367ea05917e4c50f4
+c0c7388a360909037dff942384fcbcfcd0e35d26 8ef7fcb6228d2d085f2c7955a350351b87e00798
+0ec1c8ba96dabeaa5c2c89cf182376ef7c4fa48e 645609b17267cb91c9709dc16af9016bc0d4332c
+46ed0ca3fc9dd38c56ab4788d35d360699e9012a 93323fc451d0af499e1986b063d83f774a126a38
+731a64d68c16574bb6a77a004d338b84fd3bedef b43c8541aed9e620e469cdcb5744c26506f25405
+4297de6a40063c96504a5545ec530644012bd165 2fe7a249b301cbc81b609869752489f8168094f6
+f761569b1ca2cbf9a42e87517fb9f39d19c8fa1a 499c35056937faa892f9547fa95837aa1077ce4c
+c3220f7f76990aab3f40c100294d41f3e047bdd8 79e91053847938dbd4345f001fe328c9805d9042
+3c4bd64fc69803dbf49bcf3d8fb00051a778a48e ba02e6dab8e3e4a6c6e0fd7916b069f1b62bd3e9
+b833be139f98d4d458bac3d4a00e5e98d529f74a ad2c3917e8e57e96afff2b091df39d6b44c89ec2
+10a9ca790264435882dc3c43195038cb81867f44 7257da5e2eaf360ce50b28eff4999922308c4589
+191275178854f2f0e12619bb521dfc4dfaf835e9 37d8eb167abbc28e715d741d03adf0c80c8249ac
+115c4715b47c93d1bc1caa79dc798e06c420dd41 a086dc7af06b1a9af6cf9a72263d608c9df1fc5b
+1fd9b8a42111d8cb2cd6bc3a165f171d48de8f0f b3b0383127a7cf6bd8ef8f20a11bc8e060142da5
+d900b14d19669e0e44d2e977e65bf94ce107bbf5 e74a2359f1edebd11f5ad00075eb7c4fc1085533
+1aa2aadde7770de890f193f17ee9d0084286cdb3 6cb30bcb34cd8170aa6b939b78d7a974c8ca1879
+20ac943e51259b83a0968cea408e20e28559ff8b 98a87fac0fd51d51fafb18f668f473a5e3a7b1d9
+40d9e6ec03909789837b90467bbc02b36f950d0f a43e73dc49f5df17bd8e35613dbc8a9c22531659
+b5091774e9ca95e6eab1253341a1fb0918b735c9 83ad7a3ec15f559a56684262768110d84cda7c32
+cbee44e2b8ca796b485ce9e45303dd847277c437 caf246995db390d914074b241950e72333c62f62
+3474531e1c5b8cd45bbf226d45e733e77741584b af2c070b358881450478a94c951647cba4528e24
+ab478d90bf460e722e8b58005ec022f546294879 e27752143bc06fa3390bc180a2a8d93d2d4cd65d
+6f4266f5f3c8b5d82cbbe814537be6f3b6a7e824 e36cefcce75c5b7677aacaf888bf8d491c6a7b6b
+2b9256d5da3595c1692b66c280100874b3351aaa 8d44bbbc15ed0c107e1b99814694fe9bd8e7d43d
+6c2f4c3631efafea8cac6d1ff05ac23e63aabbf3 a35db4813b033e2e6b50fc120c1f59071b8372ba
+5c8f42fa1af5da22aa7920fa850da6bcaebc24d7 5353ddaa8bcb39f888ab7fcabc4b337c4f9bcb40
+e46da78dd81292b42afff891a147a4a01108cb8f 041a19f62e774bb39b68dcebdf3a38a339f71540
+29f272ebd8c6746dbe2136a742f53cccd5c9dcde 92f5186b57320ac20cdb4d5e6207e8c875f1c374
+3b51eec6525a5001d6253914ccea944a7e15a063 89cf413c20120924b65c195e7f508e7272d66f59
+21c3536b9da62beabd0b74f4af69530d13d621ad 0cb5f64d5d4dbc351b80b0b18bb63bc4121c155b
+8115a495a300e7c65264181bd9e47de6fa38579d b79da03f8324e34ddfadd1223572d46b62f6ac57
+70d051e0829717590a1575e411d51936cccc61a2 c97c5048d527ba6c805bff6173b8fd761a6853de
+f83d832d3ce5eeb77279f58d1fda6a2c5dfab2c1 d9b075957a645f2645503901ffd5aef921551a91
+393701fcb45a975153a65665e760af736f307a70 6e81f1b14a754356ce34b4e576ebf67a6c288237
+5c94a5dfbd8513fc5a4e55ec094c58b4eb7310de b79da03f8324e34ddfadd1223572d46b62f6ac57
+8573f1aca6106666b2487132b55336ae4185862f 6e81f1b14a754356ce34b4e576ebf67a6c288237
+460e56b3296801b8d618debafa0dce401203fb7d 4d47846871a4f8b231035bb2b44a6b0ec4a0afdc
+34e1fa803593bf9cd736bf10fc69dd9b6afee87a c4dfbda6380fe6d8f4a1a1853390d11f8b0e3ce7
+20bfa61a195c46e7bb1344e9f358a7f8f9045219 035a8d5eff757f10d947c9829ac7238416cf7d80
+e61190f27b8978a1fd4cffbc3b488d05a436de1d 7cf8aabf3eb3aa6f0d269398af56fe9880d6b859
+8354379d705bba217a706c0c61361ba6991679fa 7cf8aabf3eb3aa6f0d269398af56fe9880d6b859
+dbdf4e7b099992b7a0be04fa4d67dd609b3eed80 bf99838a1c4c216d46b2ea652e06a95c8d52a531
+af8939ddfcddb580e36bcc872240f58fbf58fc94 3f785616f0e6f4c513eb02b2e24f2eaa5039576d
+05f6dd1c2a4d867edb9ec41ef6ce549cc426e2ca 938345d998bfef87004401dbee323c05ffab3a00
+6cf6c412a1fc4a3c48cd19b5ab0f99273f14d431 63fcc102ca764a15a8b67af2f3e190266b1e411c
+bab8a69e9528929486f204b50f4c19ea2ced75b0 7fcbab82fc698b2590b2e560c4ed13517a309406
+a90f5a1bc4fcbd927a54a2e629935daba7ae2fc8 45c147cfe9248ef351128853f63d0cae80c888b8
+83ec479d3a9466fe1b3d717b3e15c37891184561 d26ec147937d732a50955fa906e6870188dad2ed
+1000237f1bb43ef14bcffce20c8756b91367a3f4 a69b949cdb33db583b1853127350f117bd3ba3ba
+1ae6e26dd26eb76f49d0b1b8d7b8be5af2f57623 d8034336b0846717d6b05aa734b642f8497fc74a
+284c8c4a10072b4cf92a44d6992479bbb53969df e9b7df02cc7812d3ebaba66c66143e134975e597
+693de5f98322b2bdcf183d876f52d145ba1aa9f4 1647ca0fbe9cbbc6963d6e3a204dd62dde9c951d
+aaa335c7b7851d64ca6971d9db053f6469be7028 b50ddd786be8d92ceabc8de1ef734592b9053586
+8eeb6aa39d47ce804ca4e95985d966ed4aca4eb1 54a4b2929680f16c27990e95a761734a4b8b98eb
+9000f3966028ac5ca61545c5880abe315bdb9bcd d9d1d3486f640c191e3b9613f43742abd4002dfa
+a3b85d5c6fe688ccf353d479a8d470f9f7a749d4 5a066b2dc8b7b727f609f14a167f255751dc3bb3
+572d490c9d4f90792bd356970ab752fd1b8785b6 9db3e3098370a6e85bae7fb74fbab9f790e3c701
+aafd1a03cf9e47f1dcdbbd7caa8e70db46135fae 16b033f64fa84b0d46131e0fe716911504d5fe5c
+e87f1d80d7fb64ea00805fcbe16c1ae1779baa4e e160574e19d1e50a45a39ad53aa602076e2df29b
+924d091c166cd69a2a3c1062a957637b645f9b97 85d1dcb5b1b4759e0bf214a178cd7ca36a057f1c
+b8ac8e18012d2567f81e4a4196ce36386723dd18 f6761b99db49b2851c6793bc7df9dc3a5ce0936c
+bce5f867bef966c2226e506c1b82966e1f33f4e2 7a5feadf9e972766ce11236439259d091719e3fd
+5d420914a9065929a4a22554110cf17bae3529e0 6ca75b2356da60baeadaf67f5ee01a3643e999b3
+0fd50a6ff54f163e04864f2b0fba5a8f1d1ba72d b725bce5a8ff8c820d878b1b0f7fef50145978d0
+20854fb41148e14d3bd1e7fd62cec9628519d1ef 78c65079894d78d7b9c63223abe53f900e467ee6
+380b2422b8647e294aefa545dd90822a91024a83 020227e951f26576d577118beab064354e027670
+899ad123f396b10c67330164e0ae18a483df793e cc8e9bda5a733a4299eb759f23e9e5014cda3a8a
+0c4ddc13f7e740868c99e1b43b7f63b0862fcce2 af9b8b5ae647f4527c33c9d29ae425852ad723b4
+f9cb59cffef2daf2a55d9249822bb937b16cd454 a93518a92f2e045f8f15b6b2679ae58d1e6b1e51
+3a6708bb6978fb14830d3d22e3d504ed2dc67feb 399f8279f92ba3955800cef51fc89d6650999516
+0135d844f82e4d78ff070443f815405a53ffc763 bb8e99c3d58d2e279019883bc4f38503d54449ff
+a6afed006db0611a1d6114a3fdb4bd1fa162b1ef 030c0698878d17e38c8f5132b2513203852b93df
+8dd431486fca576d0584e820a01a7c81d03262fa 50e0fa714817774ecf437793d774bc8dd7526574
+29e0f28d7bf273612b3d606a92c19c6eb4836c18 3d1fa6516df37f7ebee4f2c2a1fc8941a694cafe
+b7bf26050a0ddc058c26f80c67d474cea9fa1ea4 320aaad0c95090765f47528dd7ba42b618ecb011
+b14bf5323b16911c09e49fb56a63d21fd96f4338 b5892d251dbe6514c44ff197523461cc3417ba6f
+5f92e746681464da4473c289880a325af8dac4e1 f465af51c163b2e4b548620f8ae619b7ce580c78
+425d4e960450e74f05926c8d4bb7f22ea945dcea b034bf7734fe232bdf7f56d1f682810b6b6cb319
+18e2ac3648abdb82e07d253fecb26cfb36209878 880c35184c19e0c86ad0c2545abb1fe163035bf3
+15d04b6464a766219abeb66a62e4118d68a48ec1 6a0103b936cb82c94591dffffe6d54618bb58132
+e92ae606de12d5a54e17de7fd6082098824122ec 72992df23c5777797c08c620b92d44bae878e9d1
+4d8b5e2ea3d1590f764d4a929cdcc80849aff9ea 9f045d21e5fd33e9890bf2f364b4632a4d07bd98
+0ab47ac1e316bf8d14b9a88c233397c639f39350 f28ed6b36790e0c072affe2b359368ff59c4bb62
+adc94512ea9b94bd321641fca798b16105142f64 82ac0a95a4e0e7a150260d9aae65ab7607185a5b
+24577dbbf7a455457da5e1d838c8560d826db52e 07e0b1c97dbd863db99d1a67c1303565949dc5bd
+6f28b241eae2fbc2daea485d617d4f310d758d49 453d323125d981b9f59d81017f81bf84036119f4
+e7e6f09c529319be9f38f9cff9d9937fd6e87485 144a001ab5f8c0514b4272011bb4175e8d4d04ed
+b751c84d1bf212d8c0c2d34762f40992c4c22d7b 08be7d93337f8e0a14df14da2902f8bc40a6d6af
+34dac7f524da52151978db820b5ba9f57706f2c3 7a7c80c8283e28c3f3e7099abaae404221aa9054
+4536ba0ea3da487679465002e93bb06162a290f5 a6a2777a767a61740ea897d1debd2fdf268421fe
+dc5ff7a937713119136fdc91f8fd33cb2135f5ea 1906e1f4cbd12490b13b69f950bd7878f2fec927
+428d6659850795ace4f1a94f711de8521cb3d165 b8c268599613ef7f318175a3293cc6538fc3accd
+4f45c9bc851f0cb0db9cde3a9cbf12d7d8207aff 898b1045eba2f211fc93de44e50a49c7cb11741e
+2af3cd5b04ae62f64273d2c825ae4ca83938e1a6 1650fac8ce7641b3eda7af7ca213851a2d2bd0e5
+44a0b38b1c5683cd4896e63a560e4e2167a122b9 c10ae2c3b65d07b9f604d28ef64026f84bcedce4
+63740d7fb3abc64f6a444780402b11c8bd7521d4 130f71d2b3dbb97f1fef5c8481dd94a76194359b
+aea82e0ad28bf2b64076a4141fd90502816e13a0 67f0f609dd5649eeb0f5ef220a0d995128f1589b
+56dd857fb19e7abb664a2106d407dceece0f484d a8d1deb7d8e8d57ffdb6ac3325701b22e0b79f9c
+c9ffacc06cec5b38f19be2ce1169da15fdcb41d4 9422c3112bb3122e6f3e5c4075fd8408fde2d515
+51463f2a3b2c5211645354acc81b425b2b405180 c159cdf3e06df1e9de0913393b54402029d19671
+8f74b66e6580e0e8a1a9ab93ef529deb954cfeec 448eea5c7a63f771da4e45b59546eb2fe6a42d84
+9656df0c7069c9aa0962f890490d620960dc85d4 64e989221e717096dad6f23f306573303bb85c87
+c9d2b258ed5dfd8171d17e7f9ef333b65ab1d723 817e18ebd0b7133a97e59f412e99db8d9bec53c0
+2b268726e17351421b2d23b1388c2bb606ef1721 288ad9275fcf55606d190a91623660e5c02fa1b0
+3643dfcc42e6ac92e7825ddb6ffe262f6dbabf8d 580302562b82c679fdc48eea8c7248eb4dcdae52
+ff018c9403519a57d7ae5bfd88b96750a0c5d029 3f3fbdd03fbebd036a585f2a043be2f55f253998
+d2f32a56d41bdbf1f7e5010ce08f93e18186cbfa 6c59c18bce63b71159c813acbba985d74d3e7411
+4aa32bd877186e4675d45ca82527db9cb04fbe5a d8b7dc875e47e50749c7acc803b3b523a9eec769
+450bb5928253690a25a267f485cfc9ca4922668f b558bc1d1ba3b7c0bbd057332ecae7e829c0fd4c
+5579ee1373ff71d06320e438c5d412d59f20c358 00c4f4274a1638f83d454b67c54c166cefaf6dc7
+30be371bc1ed2d03ceacd93147982ff53e41c9b4 9cc17eba7f3c628a344a8d9c98664591fc9bf458
+cb6e3e6a4f2d28cd7f55cac2064a011f27cb0bf9 a0560d6285750e039004851d5720268f495babd7
+de4b60b2d970b3affca6d445637f0460d041f101 402cf5d02eeba86f66574bd24c44b4ae89e4fe91
+ac8af56a61146f5d76ab9eb6d8b97812783643c0 c6a848b04640923013811c53509328e734ebd4d6
+6287b3b1fdfeef94549a5d73274a8abe6d83d263 3c38db0331db0a88dbb529f98ba04a321e4cdf40
+ec12cbf19e9b6b6d8f147b08df7ba12b28389cc3 d126147e238b4c76424131386ecf05566cd7e055
+0af243e76243099826008154ee6d9df9302b0c1b cd62f9ec62332c6475f5f9e96728d0a59ceecd80
+0cec2eb5b7b48f4ac41af7427ac7303f854361df ef5f493f1ac415f03cd9e6babd87a1bc85023553
+19fc8b450df214da19b62c46536ab0596e2411d2 2da2755df5c7a714e754f6679de9efa6eaefe21d
+44434038b3f3faa5f7a3a6d9e885841daece9a8d 2769766af3007c62186a779a468dee32a0543344
+453d3637bc7514d6fa3b69a0425fb670b6e3a46b 6f75f1e196c2f4db6a360a70750010bacf232852
+085178b31de9524e816b97708f7e4c2d22f234af 6f775ed8d8b994cddbef104728df35fa91d06f3d
+22e0bda0bb761491b984b6ca423bae907325ae8c 24802df70f200a0ac11644c345b95c68e8400b97
+144e66310d5d54fe7a5f3a5eb346ff7e62ff5906 6a04e32ec405cfa1416a626e7a5f233ae31f3dd4
+d7302cf4016e53c6cdb684f75c5a13da048f21fe 7f73707fcf47da2e34199b5675c11a50e465fb55
+c480520b7822030b5c34b3a8f2184c9a95aea9ee 6e7c2ad7b5f03193ee872f4fa083d038e64a5576
+f4ce62e229d1587a292a7568c7d209232570506f b2f51de043b97274dec8a4d1b437e12e0325620b
+09c6af4a8f2485955a2bd7e6a3099647d023b043 3487d68f2343e1dc6a10ad4bf1ceb746d92bd8c8
+cb285383d35d56c86d919997529c9f4c39e4e42b 8c3f07cd795534fc56b09d77d2fd41a49db0dca0
+86193803788596c0fdc74abe470c74cd7a2dc48b 7e0cf38e30287dd1f782e4e69e4fa60d2a00b30c
+7855d22a0e838d9b4814d761b5d80b4d37ee380b f778096981b835e41cc3a3f1d97a458f0f70cff5
+24614416895197a71b311d3df5a801c2cd6bacf2 08b0fdd5efbfa47d5d4e6a6ac54724079a1dc83b
+bc0f55e0e20b22c8e6ce6ac947505afa37ca8cf1 822e3b8794e5709c2af5402bc8b84fdcf11fde32
+199be248f0bf8d553011749d29b31a49b383a2fb 96dbc86046579b717c26df08c4ce576062f7f571
+a16f2fb0406b5dfba2ed668bf52742bb62168280 1fa273e4597feb0dc6410aaafff6a69c75997840
+57a318aa10a5106c13443fc36f8e0bf6bb04fc77 5979b36b581de01435dd6a96782b1e4b8b7dfb00
+30a851f684d27a2eebf924c4b92e815972907f59 90e892e193bf51cf4361a5a5d0099d354b42d854
+bdf695d7f3c9020bcf2dfdf78cb0dd4d260d0132 5dc36c3d33f361da0627e02b2d25d1a4eb0b98f3
+d652aabf457c441937145319158c3db2c13f8fac cbbba12cc91bf3edffadbb2b659ebc557f1abc9c
+705ffba471601cc7fd8763e7dfb98d791781bc56 f667774d7382060ef3ae61f25e9ee2a8170614df
+7bb560d39880b79947c9ee3e46358bbd7955154e e08c5c1524a17d44b9187fb21e2b76f590f9f23e
+d764b89f38f9abc59b313ed12178e1685a14dee1 7fae06f4a0b67613a25b9d5e80114de848f2a519
+7903be288c501df185569db180ca076394e048ab 94584ffdc2de23f250fc39c97bdffcea32d8b321
+c7ebfe1ecb17d219984716e60f250e8de0626962 29cb97173841041d33f49f41def78df5f3093fc6
+0c8875a341bf0ce592e4bc9a5b51d5c82dcc8f01 3b448b143d391d8210227fe74c5bcd22dbd645c8
+ecabe0d234126f2648cef2803a07031885b21220 b22ef2238754137b0217479e6b0fac47a1077021
+14d2bf3e70c795e197b0ad21377df15ad855624d b6f6e09463b0b4a190ad7f6bd6aa2c227099007c
+a581693ac321848b9c421ab532f32cb98af9df42 c442653d1be47a2b851e3beafc7d384fa149d7cc
+03a85483a56641bca1c347ee492174d4fb9143a9 65f6ccf6d28576a7759da291d7c851c351fbb38f
+99749c4f637a7506c57d42ddd55ce3408748258d 318ecc7388af8fd68adb7cc52aff9a7d5dee80b6
+9ca2ca6d5b3df64f563d82dc3c16c984244c4d6c e48467e5abc1d1122fcafcf1b6c17ca71a893c61
+9835dcaf799a1935eb51b80764c339783a40d3a5 1a392e1d1767ea9a7ebeca83f9a9e7b5ee5e7636
+06f6bb7ad5f806dee693e194e986c7361e982552 9adfdc0c36403784772e5bc4b005e1cf5c7dc2c5
+ab9f03b08527a5e8b6b264f082c7cfe64bed08c9 026a5b532fa6e29275b18f32fcdac3f624a3a560
+e6f43bc8dfcb28b1077b86515dc9ea9d40cdf9a6 9e613ce086643874f5b4b1ff29851444543cf8cf
+b474b830aaf4169c5552cf3e69ff50235041bc08 338461515dd69c18c3d698ddb04f6cd793ffa7d6
+14524d93bd08ea3d2f332c611fcf1465271a3ff5 ddbd130fb3f88dbfd43561edfe355bbbc6c2cd7e
+abf337c47cf4727c21904806226d2128beddd6af 655404b994ecc2a957744568a7c30d8e154c0471
+0f1386ce5dfa285ae97f207b9c5dd6797e83195b 3a10a96251e93866114b9f65a7b523aa24eeb101
+b77a2a10273d095f383926d329269ed61266e4b6 e7371e710a38967790a091438fbc22470e13edba
+fc18ead6c06fd97f441049413901db08e6056a65 565ab0263cff7cccc785d3dcf6c2acb4e3582f76
+0061a5be98f4b4410a7ab64c456247e38d79be80 6406e3e6f5ceaefaf401b1976dd36af8ae577429
+a0b305b74dfa7d64dafe9ba9aedc01ec661622bb 2eb95f8d4543780ced3ddf0d2c03af4286aa63be
+8a5647b7c96871ac5d84f9cce43cb57af22ad83e a17694694e122d6dad636f90ed4367763d9df257
+5effa8480cef96f7efcf454a79897319a4524850 9041adc8d8306571d72fdca76ba8e297b10e5454
+5baf734e3a603a6c1f3959d9e1ba316a7a771dd5 0838ecbef3242e277a1610087bfe81f047c74fc7
+ac97ef69d237151664d44d468c3dbc64241194a9 9a1ea9274cb1b3f4fe96fd59f6e35e37b36991c5
+68feae2ef00a97624f78a0c5c609558f8010ce46 5ae440d06b294950aaeb3a8c1ce410e042533cc2
+7d0729f73400b3dd9731a32fcb99e82e9b3cec90 b9bd6bf91f298bed84298108c9a82235808bc828
+30cfc48b72faaae11eaff2db37ee53b9d0ef80d6 fdd9aad635ce61107aa145e4faf19d7dd77b6819
+4c8b2df4d6f11de24cdde24a722a03b788985740 dfef24736a3ff9b4a781629ec786cbc54c14a8f6
+f00dee7f87a42e0389c16a70b5f1d98ed067c43b 0ce03e805504837fe8439dbe29305e3540dca094
+03141c014c6e6b15cf23be42622e8951822dd15b 14125d821ec1045cc79154b4f7c67e25c9e410b6
+ef7257e1b0f14198c0ba0035af38b3d153538536 d8ee282f23e128cf930c057c0127ee309ead9891
+54c34b151af3982f34a86937530b7a131e085b9f f0985d6edd1b015859e0cee13462a859b3818202
+bdd63088c0c3ffa4a6baaaa43802452f6081c2ea d967a37c334d98ea89f0b138de2c11815cdd7cf8
+7ef7d78b024403d2e9adb9b90dea6df0a77a40a2 52b57679e2c245dafce5ac2f84ff0f3b60ba7af7
+c13cb69c2ee64881857518ebc211c4c8a5e081df 069925484cbf6dcc5fbbc041aae9cd2971a50a19
+a99836f5ef397452038d1e845330c69576f1cf61 19fb995d4fe1e7a2daf07daefbc208ce80173981
+7f3563bcb3eea87c44bc3573c1052524ef2c1b7c 05bd31d835fbd7301b6af0114d828e0bde243634
+fb506035987150da9dcb9e3d2195eb239d9c47aa 47415901a0d01446d98177c3cc5b1a87deadff15
+e22f19299376c1488e77611f51e6a9f854e7dfb0 b9622b07aea789116f1862d45b12453d51661157
+a4b4ffb88c588e43417f8cc8fc80aa144ec7e27c 069925484cbf6dcc5fbbc041aae9cd2971a50a19
+69055c8e87a9f51314651cb6385faf81e8efdce1 b9622b07aea789116f1862d45b12453d51661157
+04328d5105f2dbab78a97b8d48c57e6eb00aeb2e 5a91fc3c09680db1be4ba137979dd76fdb52018c
+9d9b93456f6d1eb0aa4ff0a9cf8576f70450e18e e7ef5e373381000e0f465dd2f76c505372649024
+040ab4c5c33f2a02994271bdbbb2ce2b62f3bb37 e7ef5e373381000e0f465dd2f76c505372649024
+f1c1c04d0e08411308fbae6f6453dc4e72d6ae88 be441a213c9bda32ca68613549927f5becc639c6
+dfe2ee40ec8a9aea1c4a42643165252561d6869a dc3ce998bd93fcf08efd88fbe01c44dd66bd0424
+f988346aa6a5f86d4b2966cb5c12fa958994a1f0 c87625fd6397217238cc40f2a95bcb67aba40df2
+464996db92b4edc8f454cd196ed912e2dbeef17e ff38e8213b0fa9298973f877df7f6acc37dd4e82
+300163b2f81da5f7f8dced64a6a8104ceb2c7c5d e3d8c70dff9ef51327085ded526e9d2621b75228
+d0a7cf5f623e6d8c5bad3d47fa280fa51e2745e2 e5747297eca2b0da3bc30c85468edc81c2b22eca
+e3f9e1e277cdda1042315f97ed2b6ffd3bf49e8d 8fa8edc0f9cbfe809ef712cf24d3a19afc4dc246
+64d87e31395ddfee24407c2f5e1ad93c1720e1ad fe0be775890bb0916537905045ca44bb8e7bbe11
+74e1c7fcd8091c6ef9f759d32c06b9d1074cece6 fe0be775890bb0916537905045ca44bb8e7bbe11
+0c15a4540eb6fb94a81231144e12bcc06e263ee9 c87ec4e8da4f9797d2679c6de1303cb0a247b00b
+f153750169adfc1096a05c6424491b85eac6e306 be66c7d25eb64157dd4bd9b2f49540bae4fa3ab1
+a33372ae1939de387d27b68f53c04cc185d7b52d a1649e088e3a12b2ea92e78d97a6441346f9b156
+98110e955681b0aae3905690b4d3246c4d1a5c01 3d7123c0be970a9deaa59f1a3c7f4ae5e097b114
+2a488aba455a031fb463fb688969e513caba87ac 7aacc57437473ce4e74a43dd14ae8d94821127a4
+871947475dc6eb28ddec5982d754cfa5dde88570 983a9c7aa0625921a0186885c5c7ed5f8e0a394b
+1f69d381c83a862f4215c044e74a8ce10b4d962f 6d1ba6f1961128f2e3ab29889118ce0daf0c923b
+364fde49360a306767043d129173e6dbc3c064ae f816a2651367c7aa85cb599d3a45b7283cbbbf04
+83292507a15aad69bda16195d3cc80984506e38e 552106084fd83135f63994b809a0fafdc2e570fb
+26cdec82523b8a2821672849e42f10ebc405a44d 167b4eda28026258904dd4d5a89e671bc11ac3a7
+525f9ec2dce3c6b4d63873f7ef8d1281063d63fb c3d56d20872239f08c9b152e58f20d1f37670ec4
+17ec348f315a33584ff051df540f00f0a305d1b3 02336b7adf2b7cfe63ce1802d24523a9eb2225ba
+15b47afabb35756b6135d17aaddeebc47b626533 4a9aba7f6ada2529b5b175e4c318e7c0a049d2a1
+57bda785567d065a0a37253c0b690e4c1726f3dd 4a9aba7f6ada2529b5b175e4c318e7c0a049d2a1
+e749e66ade26e848672880c14ea32105e2d2cdfe ebed865055bf008a99a25c849f45f4d7c828d7cb
+1005a583ad35afc7d0544c5db8cab2a4967eacb8 d0f6c76cc987b69b5c3f0ccb11244e4472e7035f
+794afa0e5eb0a39e4edf276d172ef122817e72f7 ef1003a4da556662f25db679067741946ab8e677
+7e2a4d8c8f44fe8dadd23594f7a1f4d6cbdd7b16 4b527cfd145bac3b19ef3195d72d64b9819088ed
+ebae12ba3641e3a93f9278edc790205879d0bb46 63e841fe074bef528f969e3b0f9aaaf125f3c93a
+8c175949d5b4656011c9e9c97d34123dcb48a341 5d8e91b939d007ce042f1f5b1303ea7571b2ce93
+df3bcefbd170f11dc796a71c69d2c8800441f6e5 4561a93d53b0d4a558bb0a9eca41eaa670dbbc6d
+392b353926f9461baa513dba98d05ae51938d560 869b12002a52168fdc6b4ad4ca83d4edcd9f6f7f
+de8c799d4745a0b14d9b9e6ac4c17ed47d836220 ef68840a4e18c12dc58fa5d6f159f494b4f1c6e5
+418ab355a70f8a26ef522dc1c14a4e582b46b007 9a772f3d30b4e472ab07840b721b22295fe1f55c
+e91dd14ac221a8078a2359d1be1faec4ff84815e 7c491792c3f11eac197d935c67188e5727189aee
+dd8d8588b48847cd1fc021a447d11e1e9eb0dffd 9aeeba846640dc48e96804e4157c196f021787bf
+d3761f048d531f915a25d359eaddeb03e29c3971 cf7fa7f40862f9d38e4d60bc0f47c0d29697d70e
+4f88b0658fff091d0eeb43bbcb2c8c4843012b81 142cb5865801dec1f7f931a01149e455b6515d69
+c19a4f2de6f37e79d5f14164b4251f8d26294989 e911892ec0c73032579e7f8c159cf41889139b2f
+114854e21a9b56dfb2075b99b87d77753dcfcfdc 4c3c03ebf0560e5e1dd589aba39a19e664946391
+cc69a130086bec6f4b171c205c1cb80209208e19 3d7c4d3b78f4ce77f587648f2fde00330359392d
+2e3f35b070caf09a6dac78a9cf210523d57de30a ca95b1cc73831c47360b6ce16f00c177a4512c32
+01ea48f92796da5794d9c2856e1d585df95abf3b ed7528f477a4dbe6e730dde40776a45ffb5fdc36
+e949e24d616c97621f0c09a2d0a79eba86a04859 727fb2b5d8eb6f59494282e2d810b9bc7c5fc139
+bc8faaef8629708c94b76a0ff574f6eea096bb8b e988c27e9799793d776bfb7a9ff0cc5bb51a3eda
+e985829241a3aef0f7f9176d4b417e9e5b2d8f65 17d0dbe450878ce4156ff0bcc8154624875ab503
+27a566e752149e8361642145ff47969d3a650973 eefc5cc5075488b13e010449d0035242e7be807e
+d6487abd595c0efb7dfc0216578bb82dcfde85d4 1feb4986ece9d70136893ecbc9d37451e836f07d
+7e0699e61c3f3b442552d8b0b3f37ec6b74dbbdb 41ffad21515dab5bc7f7c8f3ce0201ba2c97516c
+2ee04d16276916d6102bd8caa2b667f7e1b7ba98 aab00656d98f544484df05fbf4cfc80d126bfad9
+3e365ad1981b16232a48cf99d63d2cc90ca27141 ec5fa7c68e11ead89a131cd751d6c618cb41d27b
+314a3ab7ede3db80c29094d9721901dc0cb75e25 c0fdb30fe486a88bfc1ffa04e0bde3ce73f4d566
+4ade036155bb1dc1bf5b9ffb4a5b7668301b03cb bc6085a58df4c1e0324e94d7a385ddc4b2ce015e
+b5a9f0265f4d7ea1eb6fe12913290907792a5a4f 17f77710977cc29c6d17893b051bc9a600626ae5
+b799bed70c3ad2980a81ea43627d7d473cd1b194 a780793c3970d04c0e95da8734ffe33db4c71faa
+edf84c4eef84cd6dfcff22979ed2c47ad0373e07 f5e627eff4b990eaced18623a100a4fe336adde6
+4f39fea55c74a3e0139ca0da4861d4805df81642 57e5e657fef26cf5ce2d10c4f53667b8f0f50208
+fec93031db62ba29fcd07eafafa2b6e258b06a56 9d5ab0618e054fa62a49b3a7260aaa99d99ebbb5
+84f33cea8d4c1de403d582173bda3f14c7dde52e 8bfab46157580badf9806b21063c745a582b3b83
+0644d44aa83c38b73162789ac58fe75837f766da ef1003a4da556662f25db679067741946ab8e677
+b08dfeaf9d722149ebd392bc5495edfb43dc678e b9af0fdb462f77ca9c0de398b9b76dd1179c0659
+cd372f9af800cdc099bed9a328fa9781660d40a6 5b042b5710ce9ca18bb5825babb870fa4b0d4aa5
+d7b10ec88802051baed21b21b14d47074992e4f0 2242437a9499741eacafd275f706b2726d2de837
+3556f25c1a99f2c5a67a5b3ecaca27129ac65c98 4e59c7e564a3538e0ce19a42591747275f6909bf
+a6b3ad6d43b93e8c533e30338098f338896d2631 7a44442ff57e7aab82b1ed6546de48558bb752ca
+c402779121585d0fd5f22397765363b69ad23d6e 55be2dcbe7f79b699af0494008eabd299433e3f0
+23f29fd5c611fae31ba329042e98edce9c47fec4 a3a9e5b14e3542020820b8423a8662404f95e6b8
+1f3c1443d4b44fcf45c43b80b871c2fb89e6cb9a d6da8ad238c5529c86d4ff3ae25586aa39693b24
+6ff61053ba621e9412b296411ac36418d0f70e8f 445d0f42ad677a2d765c1f57a2fd0bd5ee0619ea
+b81914b6488e7f505eab82e04bf9aa962d73c67d fe59e2e6cf75bb968f2799fdc3106cfc6f575e0b
+06af8e15a90c944223dad77932dbbc800b898ead 3cdb05dab8b554d9f381d3e6323f80c00ce36a26
+7fb9755552228bd8fe01e3aab09999be989ffc22 e1c8e542795eff8a3fb2a899974250768a98d8a3
+fcd219f9f88362657aab81b85a7a662b84ca8d97 5fbcf65cc463ef0fdffa9b4a5e952517504e52af
+3b8469c14e6c313fdfec95cc4b0004eed1db24f2 23cd572cc8e05b8442b67e2bbe2a586cb79e4c02
+fce2d4f9dc1ae8d019f7dd2e0e4ca1f2ce27db60 f769cb4e16cb2a4743cea755272c0708a3d817a0
+8b888c0348f79cb917cef59b46f49acdfe425f7b 80c425fd8ba1c5960d72714b47d0573661f00211
+aea8e85520224521fca738d097a5b1436ee880f0 3f875117420d7601d0f27eeeef963edc1d4eb69b
+81a1631032c5ab748a1d27469003d75e490df23f 13c9ae10ff8b109566cc282e0f4c35ae2dec7864
+8bb66cc4b8d747ea2e0ea0d602f00dd3199397e2 823731fb3798970285875975efda688454763a6c
+e5e8166dfdb9886ae11b97829efbaf940e512c37 d93ef5a615edf5e4e434fa63ad629f0de4a6e4ab
+fc54dc0bf6605e3fb515101281b3c010bfabe61b 0a587c0dd9b8c77da9b0f67b12f2431af136c2bd
+004efcb6bfe4fcbce8847eaad803a953733b82f4 621839fd11effa7083cb4982496b2acbc23ea0dc
+4bddba942c47cee2f2d87d0fb8de3d602d89c3c7 29e397cb9c790bcd9e788a01cca694bb4ea27b13
+ed54b051097dce004f74842445d0cee41d19d2ad c249260939ef6a6187781fde24304f76c04feefa
+7b80e9a76aae8a9e95eab731485b01a318ec0a4b d07cc5be8d75d5856f0f04ab33cce1d6387b94d0
+51974a4315f578b55bc9c0535a7a21f6a2f7e54d d07cc5be8d75d5856f0f04ab33cce1d6387b94d0
+c596f57c820f29150277f43e6ce84532fc57569a d07cc5be8d75d5856f0f04ab33cce1d6387b94d0
+e9419ad5f0e10e71844b1f274630b79359d8a9f0 09a2a15fdeb5713fb4c23749aca7ddf8d948544f
+3900b0178f4bca8e127929d03cf6009e3920dd87 b2ddba8058dac6b1bdd8470ef5593b8c6fc08ac6
+8c4c26009042d70d321d2a76d5fce4d6f55aa923 760aa224c88e029305c0e2e4bd028210db879a4b
+05417dea4e8417b718b74bbfd077cae51b330e7a 78f9acc289d640ab90aeebcab647c7c20b186e49
+aa872090de8bea0f31ad365ec7e620e4aec7eeaa bcfd1468d242367bb922ca2d93bd34de88b43c2f
+de3fab7e3b2f456d58f90b28d5db742aa9cb5cb2 1daeab9ade6accbd0628a2ac58f884561d7bedaf
+4fe3563db1f6a2235ad622324f07f777f40a7424 36b65e27482b91a5e801a75ea50e4846605ebb6a
+b437159a401000907c7681dcaf52420563c17f38 30f279bdd1a8598dcfaea6c60096067e2e98e05e
+b30b5cd43285b11bdf67278cd77547a88e8ddf65 20709399c81b85734cb78fcede744637be1b294e
+d3f0f4f33c7a149b7edd1253d666dd96562354a5 86b1edc9e6ad4c33842ddcc56315d278d187a1c7
+000cec8d70105b844198b95ac30ae710a77270b8 4c5a22c7c795065cc48d2c33ac3d8ebdf99be22e
+a1b885cf6855b32715b4f8bdb6fc2c8a6d7f8fbf 44177406b157d576817ae122e1822eca76ab9ca9
+ae37e18a400968cefd729b11bcc151efda2755c0 2c4be237ebd9e7acb8c925a335da6ca074bebd6a
+aa8272ae22978a07aa54734116d14598aa96eb08 5bbe22b9e05083c321f26cf742a664c852f08de6
+58607c39475cb579c601cc6c48a819586b06d84c 44979e477be126f1c6595e7f1b7709a832df7f97
+26871471d56f8eda24b5bde70f20a9ae0051edcc 07182b4de263444c2bf5bb7c99c84e2bb9cd1997
+4469678029bf76a7c5781e87ee445da9cba54d39 dca44140271dc6980c381be157eb3e5af3cc03dd
+11c64e1b78c0f5c62d94cf0804f69fa48de050d7 48a9a985396b54371ffd594249a17d9bc30fe602
+1d4529b6bad4a78e3da13a2e9ce72a93a30f1f08 28763e81300a7b8c5fb0c1ae4bb59b02cfd49c65
+6fbf2b0cc85481d85eba7697851402fb804133f4 1f78bb274d7940cf0beeb707e2efeee7466bfe9b
+8e96c4dc684e2d13d4e8e5aeeb01df29563ab82f aea5507d5997dce1a1c46879b8d88ff5a395ff60
+88be541f3db5ea477906e7619844040b6cf7889b 9a2776020f0c6852c3b7fea7b5cecf3b9cc482aa
+c10c7451e1906a973532dea8ae75cbd7e81493bd 0b0ca60f8cb973afcab66f022370fcd709fecac3
+d9ebe838b16116698b92795e3fa93b590d94944e c2318cc214da2ffd3f6f1c0197debe5c5216b2de
+88b4a7849d76d207508922d19059c021db86f59e f92d07f5e105541887337514a243fb41101094f8
+465272b0876ebb7340a5d8eb837cb444e8c06fcf be2ef9ac3bbdd91e7ae6b1a56040e38cc3d40456
+0877e7ad67f53a5c8066a78d47000382e0094b03 7e975130398aa8f44a7aa5a94544781f639028fa
+7344513e3bd088d0cac50f71878c883a4a756023 d5abc0d6c2f9ea77d7f28f3015d48e52888aa28a
+dc98399072cde03a200469dc4cafc257cae2b3e1 777cf8a3dc3ca5fa2844d60b7a6a5deec876f5d5
+8138eaa7eb91f93520130f1ff60242381f36d59d 37e6e8a891afa6b9832fb9fc43ed12c287923280
+c862e44bb4b3d03843407366ee844432b26b304a baf1f1f33f3287664687758b56ed3709a8e05e76
+13626d8449fb073bdc6297b30b1c6653d40fa835 fc9eb26f0d018e839b325b144cb52acc484a8868
+32d66a0bbc9c8a8fb891ea094dc5753f4b554f32 35998757bc54d5dd8fd35e293ac62c87842f852b
+6d7b2978c7801fe7d3931faef5a244040ff08229 8817b5acad2f3d5c1ac9f68fac3d5b3d33c4a742
+a9836b9ebe90712ec8268adba960bc91a37ff451 b9dac31dfa5a623f51b9d030535a67a22df59ddb
+3831f745633e776b509003faee1c655f56f29e72 029dc5afd76c9e3efa4df37ff0cc7b111cc28c4c
+a985e500c204ac901e90012136002bdf55a7bc25 0b4fdabbfb13ec5e13ea9d9293240cbe6295e8d3
+f1ba73e00e5c1835d1247b674690c050936cc780 3f237fbcbfb081ec8bb8c7d741303f6edde104dd
+accb709cf5ff7d481299024a0afb54a1845319ea f99a0dcd8e2232071bdea9949126223d3cb7328f
+d7661fabf544c76aa329067f63d2d02e6c74f265 1e08fbdae45739a066b452e8a6a026c9b1668db0
+803ec796295812fdcf06ad1cdd85370e517d5de8 b3a62ecb9176101133114469af020762e3253173
+3b711b695789053b0877df263a50d9b2618e45aa fd40a5b84f3dc9f18d0a65ed6165aa72bc97664e
+a1b3bb68c3d2b47ba6483dcc3f309a4da220c516 73ec22da3e3901eec5881787c70a34912d21482b
+edd8f22f1359fcdb8e2b14e3488ae9c7016ebc6a 1de3d52f839886737c73d9133e93dcd56cde8fa1
+880ca65972de5a08f1dacef5f7d40089fa7e9363 8863dfb9edf5d761de36c748e4dfaf7f2cfd1211
+f717e13ad589c5951accba5ec3e34c6dd78393a1 53c458e2cf81da3d40c6958a853cb65b1eb26046
+51d27304fd0c7ac62cc0c87046b76ed4a16c5a5e b0a0e2ae58b97d380102d15954c7e1f05e0c0154
+3c6fc63b187cff55fbe89f000c78f684576e931f 024df9b674a0714de3cd0ca0b1f37c19ea4aec88
+e424cb37d80ffba8b1f0aa74347b8e8323a30767 2f2c02a930afa85abfdbeabb8ddc6d347cb12769
+a7c06f0b80ee8b5a6a442386b303c5a85fb64ce4 0327bba84cd121312bbf313ca2d8405e38fac98f
+c58fcd477caf3e435c3a3b66ff3e6bf83b853eec 6d36281ffd08d59d7ee7e1999a03ef8ab150a2ff
+e811bf9216a7be73caebb51d6870f4dfd6c98fbb 01b907e6d573f057403fc45b9ef8a9fa875629a2
+7aec2c523e41b48f8c0f3c4569a0f9a0656e0400 6367116a91ceec0b75d13cce2c91656f1d551a37
+a801af3728eeb1d2bde9d23a5f604379af81b074 2417e91b7a184e48c97613dcd52683e465cc443e
+942329a13e407fbde415b957b2dbbce8e684b473 92d9aceea9249b61a3a08aa125a9a7138d7b804a
+af42810b946cd0494ba899da4023715776a99ea6 f96f88b87539feb6ffb935b696ed5906b1b9640a
+25413b98699b0edd9f4e866a781cdc845e901b2c d393d7448346bda27c25aa1253e9d86ca2b98f5e
+9220bedf3758e9666f727b39815027b42ca2d9c6 3d39a1d5a43838a50f5c3b4d3bdb71d99d81971f
+d7c7df714203aa73a64625097d98b9b4c7639b85 9a83ca5942561f59215e896510dcf3e28c027e62
+192a3ac13b16781f77bed1301dd819a2920fe70d 5b2128c7d0af6303107044fccb5691ad105ee3f3
+0cb9fe5e307b1ccb87ef8f678994645e3088df1b 329436bf1c93ad24aa8b2e7c63332e6dc15618f6
+ceb4e14691b5f1f72133cbe9f1f2d3476b4edd65 65868ad97127edb4006af52d59b96d49478328e2
+a0c669becb718398ef98bc883286999ea0cc6f3f c1fbd21bbc423608aa58b8b819ce1e5cc3b5d2fc
+05ca808864f4ee8ef03477b91b4748913ea50cfc c1866833816b4f201d332447ca9e29e51ca5f032
+dc898775784361f4a27ef64dfbf00b496263297f 19a4bfab5660435de98a77b415d42c33d1932340
+c936cf1575cf74b8a068a722a8ffe35d69cd42c4 3070d9b38eac51d0db0b842dbe4565126b3ab7be
+605f8b7e9596d26c3c8a45ca9444e8ad283860e2 3070d9b38eac51d0db0b842dbe4565126b3ab7be
+685daf3376e143bdbed9f7ecc498efbba21c8b4b 3070d9b38eac51d0db0b842dbe4565126b3ab7be
+0796739d2229af54607f5df7e3a0649f310b081a 81c8d5909c42e85a01beac83e366b02c7636fdae
+0e93e6cd415e7e89af5a1dd359affa1bb4d1ea28 81c8d5909c42e85a01beac83e366b02c7636fdae
+604d8811ac2949c93101194d78cc464d98f80ea8 0b9b912a0ed4a006d371ae5caf3dfb324c6b65a2
+99c38340b5c90021759b1b15cb514860aba6305e 6831d36b5fa6dfd73b3c52073f13e35f9ccaae66
+fb98cd2348adce6de730d0020e32dd234053effe b8c110eb872dbcf13ad547e43c05cf9d9187c6bc
+b344b8ddaf2612847786ef80da3ad9bb31cd850b 6831d36b5fa6dfd73b3c52073f13e35f9ccaae66
+1c5c7af7903eee6a3f90acf10fea2a3c8651700e b8c110eb872dbcf13ad547e43c05cf9d9187c6bc
+76f241cdd97b089867712842e7d39c092540da5e 63c8973285ad166010d70fa31cd61518b2c4b314
+74eb52fc7c7303452abcf4ad498c2f4912823343 a10b99641552cff03bdb7bd276ac6aa978fb35fb
+a8ae99379666497002484e39cdb29d0e7a72004e 28b31f38296e877840b4c791972d929719d245b8
+1176fba44c4f6fd950bc00085671061587270640 28b31f38296e877840b4c791972d929719d245b8
+8d79a2b37455582d04c04f14282e1b7aa67e9694 9d0495289862ec6cd169c5af3bed4493cf88f058
+3d83d485754c4068eba69a9c9f6f7a38e32774eb cfa29657731d5e8aecf92fdfd879850307574a1c
+c6270c59543488420d0c0523156c9d99e7f157b7 dddf0eff06ab2ba521a5bebd61bd4a70f57f2188
+bc0b3aca9b6f4b1ac96a248f3a904630c802b476 375024e1a41acc9ec383e4408800ee59f2a91ae1
+b30e4d3341dd4c7ac33ff31e78370c35bbb2b794 3790a89a8e0d2e84d2340ca4cfd3e2c23b90dbcb
+859b4f348010621f8f6d5ff747a66768ddaeed53 3790a89a8e0d2e84d2340ca4cfd3e2c23b90dbcb
+2a9e2e0b8796f9d6311c5a40c4dbaec493119eb9 ee1d6fabd15d48a19094966440773a1b7cc13a14
+1a69deddb2f293070bd896a70717d0f0fa677ca0 79e91053847938dbd4345f001fe328c9805d9042
+633080fdf6886cdae01db1d646847ec8f6ae99a3 7cf8aabf3eb3aa6f0d269398af56fe9880d6b859
+403d3ce461e1b85e63890f78f25d015efce38071 7cf8aabf3eb3aa6f0d269398af56fe9880d6b859
+77d76844cf8b863b5afecdc76712f91d8e192808 7cf8aabf3eb3aa6f0d269398af56fe9880d6b859
+165f6d7e0c56974d5ee06bbe516cc4d8e03ba3e9 50e0fa714817774ecf437793d774bc8dd7526574
+63b489781f9d03948ca99df06ceacd6767c080cf 1f05e3c5e49772c71cb3c8ce3501ad5b6ae974c3
+7a34e16a6f3b9dec6e0afa1fd95dd5cf4c35aa5c 0a368688dc9f11952ea35c7ffa5368da30b2c81e
+79778ecd5a86377b6ac4b2386e3508219c023261 db9a110042b37b2b6c1719cc6001b2ace8d40eb7
+6334badac44319f2625ef363a50f4ba5cb914869 a85e6c0f049348281539f34d781831e330f006c1
+874c3e548fcebd07f8df0cfe1001a8f380ecdbea cf1c6e313847b96d434bcc08b1c9e220b01821f3
+27bf2c0281f9842be8e385581d2ba0f077efbd46 f6477903e003c25c018f67a76f0ba2d9869bb29e
+e68934937e9e3fa46fb5b66db666c944525c8516 cc7c21e602d6a75866e7b280a6a6b2899a1eeb3c
+02e5e2d4b9347f94163dd790cf8e0ff27d16b9b4 6e7ed6e251351e9b1db177648f185bdfa1415aeb
+de0733ab45566a2ce1fad5964a7775a7689f8ebb d3c6949ffd953ae9e71285939696e7bd62280a18
+d1dce52e91e75e32d6220929f1d2dd64e90f4c2b 1065881a68e0f0bdafdec03ac7cc59a37ed04421
+895e60b6a95c04b0497339b10da60f4ce5119a06 db5e2744a0d619af9b3876946a1e04ed49c1eead
+60ae80b9711b3bd44b7d40a705b586e35d453f39 1f6947ad260b71a89d116ac7b72017ea1c401cf8
+df1915abbab73c8495c83ce95862fd8baaf292e9 644a22a1caeaaff7e8df9f1487c7fedf60e5260b
+90b3aafaf6461da7caec088570250fe1988443f4 ebc31d5605b00213ce57946aec19c19dac442cfe
+c91eea2e9c7bcb70f1d7355c13c5fb65d14f6bbd 55b48a3e0324a008bee8cc0691183e25ed7985fa
+6c0e577aba1ecadd16bbf4d1cd4f6f5421c57c57 31aa41828a58d4c93ec74200b98820e74914e30c
+dd26ef37a0eb2221a4d1e24c57c9f9dd4b58d612 e2d475332b2e5e2aa055903f5a98b578a45e1739
+0f494a1316e7b660525641e1d25b432961bf2a54 7e5a225af7edfbdd367bc135eca91dc8532bd431
+5e2c4f196bb1dc63f20ff3e55553da4886519f47 e20da68edb60cd618dbb08194545e85b4e42fd6b
+f76461fd4156af34b46cbe218b9a60c08b0c2fd6 bddb1e48feb12b6c02a1191670515e1f2fea035e
+29f3281adea8262986c5ed46a6fa31e4ff3636d1 30386e03bdb47665fcdf837d24449e0dfe606c08
+d3a94cbc18a01aa67089fd33007c5febb4e7bb79 49a474d64dc1446b0a285f4006ca48d35e9d7f70
+d9a91ca983770647d0a2ef95f6014bf9a3cb965d f0a0533bb9e435bb2195f8b10000170936927375
+87779fbf4b3d38036be991be38e1d89ee0e63485 1d192598a3bbfa0fb6d804a5139767cbfdae5d85
+a621c274ea85333f3d0a092fe3319864d739f13b 32de2380ab2f290c1a9da23d79604b5329d82e61
+f3c455a8b499c36b116a625381b70279be825a56 98ace0a12368ac6df9bc361ed6aa9d5820d51607
+f323c17cdc69ea8b38c3773f5bef67d6363d5fe0 013278cee2b733bafc6b2d7ddd9d7e329a9ca3d6
+712dfad3821983ac079273eb364cb4ebf6ef99a1 73b03eb75cd69628eb10c67fca49c5e52c87ebdd
+10cb1ce27a16e439b8c229e122a6f47a9d6217eb 1242833b9effcf8f19948a4430645e7c820f2fee
+67f66365452729e86be9d0f8d06d728a6d6a0407 e78c39104c0fddbaf5c8262f14e52ed578efe664
+72841b98ba62b5b7bcd9ae1e537a30a139077699 ca10694d89aa6844c3982a5602955e874c5eec26
+6a9472e06b30bf1df8abc68903595373a7b83350 cff664fb0715bac346d76d50078acb65d90a6864
+0b12a401109716f363bf83cb9342b9f68e914da4 cf4bb19d84ec0eea5ab2172f86f4c52df3473d4e
+87e0b4be34f9f20ebbb2eb821e0d57898aee5a08 181c966dc139efd5a93352717e179883e3c0070c
+b79d6af376e6a080ca2e4ddb43360188db49a87b c8119154f5b7ccf4129c83778f19f5fc89ecc94e
+55f5254646ace7820b85440cf2d5feb0cd00190a 88e4b68233972fc65112193b7e2b22651b095e13
+6bf5369b277c21af90c2c3c2cf9eec73c2ca7858 938268e04496a94982c8240c28dd5c53d5e6725b
+46125b578c01dd39fefa9de2e22ab2584cc8afab 03ad550fa191ae7a1a3a7bcb4adeb7359f072a53
+4fe03c4f593e3f74290dbf1c66c7acfc65ac9c8b 257cafcabde3e83fbee46b2fa0fd2ef3d915063a
+9e4b027bd8678d75924b25b24db22246925e8338 80353b37a851f3de827d964e29181073920b4700
+64440f55cb78eeebd928b71f0c9a54b44f2a2856 2f4d0ec69e909311c02e01cdfd924c49ec2667e5
+8fca935938cd11d7d63bc3d7a6e97fbca67e9174 98695b4ead98efc37d1da29066ede4e6d826d674
+f1ae53004ddac2931464cfd6e105bfe5c9ef9179 d70eec73d60fca62cead2cec18526452d331e75f
+b8faf1ba90a3a9936ceca0b619f3454ad5e374b7 94d7760ae30f34dcc4794933bc12cbff6a8b8bfc
+15767be1275165f208b69ac0599138de19d1c478 3cd8c100d8bbbe71612af33ae77352badf13f66b
+864c1a1314cffb30cb78d12af9a495a87feea96d ec24056232a994d1d60accb1aa908058cd589f03
+9af11ae8f39294885d1d5ce1e9c7bbbc4d6ac259 0b052b1ff5d35c70ec03297869172a53c882c5c2
+2f2487cf7fe6bb8a6ef176a07a1aef8e4bb72455 c18d0af3247b6877e7e56eeaca3f0e73f96972ae
+9a69aa4080134c172c7f9c1867ebeba1b12f87e0 4594aec2d9a8db4d342faf167c30dc712158a255
+a4a1c8a2adf55a5987a60de703e4f2d3ceb01a80 991f075447be73d166cbdcc207472f0138eee3d7
+57c7195c983cc09f106049c01d579be69f8fbd1e e1f24f309f2d516f8b2a596948166956aa1644ac
+2018be0de0cec5236674ce86f1692bd37e0efe0d 40bd518acf9024997c15f61ededd152fd53c565e
+5157d74efebee512011a8ccbb87d0581231ac812 2b65d5c0620712e559d28f864c6977e4731dcc20
+9e6b785017db38fa9f510d5756ce59aaa92c5636 a155fb46f209ec7f470be6e87ec986dc4af07bcf
+2bf8d9bca8ab745c6c7e774ed4f6e784d98c674e fa8c62a8c5bee4654983484e1ee2282a2866a669
+416dd6236f2e88660b0b8e0455ac120347a46146 038c41ba3f20c9d0ac0507f5c847c667aa01c7f9
+b45b49d1adecdc3f669ae4c19f9ae54645a6d01a f97ec1ece214351a992a1a9f8dd4c8208f76db45
+2bd82c094a504a88f10c0971265424ceeca277c1 1ffb2f9119409ab848495c469dd150084072b3e9
+ff6866825fa0c4afb047749e4d406dfcc764c504 d9b0874cb324dacecf29a6c3d5cd6f264a80601a
+ebc9df03e8938cd924d7abcc47142b43c8500297 4cd97490d1f7e468e20b4c486b57264fbe5d0914
+5ad9a5d9217380b50cbdff8b941e094ab8538432 92b2a3bc57c7d1327ac8bad3f8c35019c31a5d11
+184b73f0ba1eca7afd17fe954d0eafe4394c33d5 b22a4c6b84ea7c006fab5b292d64ac9148312445
+3052bea7198485156f0e9db06c70450d34863055 0968d31769637131241ebaa25b2c5516acf7cffd
+e9b31e81dc3aa4da78d05d4a74b18ee988fd5765 77703f2481844b1ab232b0739e8dbf6133333beb
+85e89c08f8365f3a9bd0312aeedcac8dc6a30ff6 76c0b81785c0d920133e64b38974826112b45e54
+d6653155e5692c10e4e6e441e63fe42b1bea19ad 8a96274e4b796250d4211e225d9dfca586862392
+0d9c049067aa261692047810dd80dfc0995c247a da8031bea616beb73bed9458dcc6c3d28ce67991
+d6b2906a433536b61b7b661277b7118194accdda c849a9e98694fa2db7ae9ede4baed3caccfcf888
+42f15561bc6fdfe278c68b49ffbcf7d3db881b29 81d65e152eae5e163ff7e594c3a4bdf8db51b931
+3abc67c1323a9b31ac007a7ff82a4e13a7bdb4f0 43514d2b474da50cd608391798ea52742339e30d
+18b680f4fb57247d89258dd672230b2eb91d3341 5297ec057fcc70ef7c8fcf15d4b626fd509d43c6
+2f275bdc47002d21a7bf9faa340a76093926f8a8 73b25970c291cf02ddeb755fa9a43cdee5d3ee93
+87b8fcc6b9241b42fc39ccf190781dc8fa2ebaf6 f01abe8653627da4c989a4fe2d9fe3b26b6bff2e
+bbb0fac99ac6bdf2d8439d2ce5c042f57d50e7b5 b5e7bc633dd251743bcfae7282610454aad15ed3
+84895a882661d0f91ffa9c011e0f46ba73d2a41f 2bf2ec374b870846f335cb5a6077d5b70c790d58
+961721c51443c8d0f8d7b401e52cf17313667dbf c13cda33e15550351f7824588e75033a814e6de7
+40776c2d6a23051c547b9a8c7507083218945be8 c08baafd079504cc1598d4f30e22e9abcff9fdb0
+fe787640a0676bf32f63126def0942b9dd446fbb ca7116255018c5b5b9441ffc549babcc2285dd98
+e474aca3bfd9d6cb5db93ca5e40578dbae102614 57a4a7d69f5bddee0c8d9a749c130d38a39aa0de
+939083ae4d3227c482ba79c24e3963f4cb1f04ca 8250f703f545fa5a2df69513cd9bf1478d390bf8
+7adc0c00e608973458668e2eff6c10a928ee1d00 91c3a54dd3f133a4097ccb64616ac07c3e3361f1
+c746c97d07cdd850abdb0e5d53fa668874da711d c9cf317d95065aa5a7022b3c11be510df0985010
+b00f25d12182a9573beab2c2326b32393c0d5822 44f7168ae5896b1e405c5cf8ff0e5d19155ea06a
+4e190ec921fbba50322287e21773ae5551684091 b39fae0586442e71f448c9f67c675e9addc29391
+ac6b870c9bb57618f16c660a34abbda84a4b27ae aab0532683afa4f2d89cc2b1ebccb1162b977a00
+b3547ce79b85417fcda4d0c38b376c5ffb66dedb 460bc009371b965f1ff05284d0c0f27463d1c44f
+6263c85b05e241704785151b6511c1df00e6a1bd 19d2f0abcd235d48296c7746ac40e8c7abbfe8a6
+43e1c6776e4a2c6919d5db6b728e0212e144f123 4895364504ddfe152f33b7bac539bb987e39862a
+9a9796343b6381535969bb2ebc5546a0d6a25562 86a3063dc32b3e8a1424458f18d08d32dbc9892b
+b9deabeb9ebf157480f39e11a8f4e7eb5cafe487 135b8cafdf74da36be5c216ff1631ed91f8bffca
+96b0781bfa50629286dd40037409deaa66e30347 f6c8af117593f709809070040480b0cd0bc80eed
+3d026987d2a87ac57920563a54bd9b5cfb0d3fd1 4e7f8a83fd1079f1675855b3a7b65638a439d54d
+d85fc21d3e76e943a37cd57140585126b3ddcfe6 bb498bfc79b130cff51fd220e68102385fc6ac58
+f2684ce7b3f62bb3ef3ee0a9b69f1de9323f0d11 1b669dd10987af04046b7ea3e52e4f5a2bd62e42
+9e8602ba4ddac293c8fc0d886a0a2c307f58479f 49ad1d9598d80ce804537f16aa4cbdb803dac968
+645d770e19d3bcf0682835174e40d68e44c35147 49ad1d9598d80ce804537f16aa4cbdb803dac968
+e30dad1aaa647bfec1998ca25292d5791e58d90a 0f6b7eed5a9524224a0cd7034c53060e24f1c06b
+fcd17bda39331727f2ca6a4b7cdc1a934033ac40 3c905a4ac552e1eb3b305a62f082d23dacd4d9e8
+4b16ac1da2cd572597f21965cc6dbeaccf82e4b2 0e5e6678cb5cf09171280ad2681365f434a25c70
+998e28acfb30acbee4b5a82db46279b4e6012f76 86d1ddabe154dfd0befa806a3179f5cb53e0889b
+b8a012e0f91ba5dd704eb6bc8145167f823d03d4 cef3a093100581fbf78ad5e305221dcbba2d4336
+cde448b7cdd11a4c7f202413c9387ca0c11de0bf 46002088d9a4489e323b8d56131c680eaa21258c
+f6b4ba967812232774a03dabfd0e4d5856eb0391 46002088d9a4489e323b8d56131c680eaa21258c
+2686451ab9255d14d8e7d3e5eec9062b4f9e134a 46002088d9a4489e323b8d56131c680eaa21258c
+26490a724219cc5b71c96b29bcf507a55b2e4aec 04171d0aded707a92b2c6a4a55d043166d28c492
+34e358042d219e673865155567b188a7cd1bcdc0 490a06320da00938941ca0f144822a6ea98d4e82
+c9ae1f61e6c0af40e22d96758159bae7c1fb793a 4c501905598d62d03807adf9875130fb957c6542
+060da10c40176dad48902200f47b50ecfecd19b3 cef3a093100581fbf78ad5e305221dcbba2d4336
+a59d3121c2e0f037cd9ff43181f15c813ae2ed0f 47552345fa8d45bffa9a77b2b33ebd77824465fd
+353fb4ae483b9e47e116282363bf205768bcc764 7f4cb07a3504bfe0dc320ceb7493ba4760f6388d
+05d47d5cc515748d9c7450f9a0789e3d4fa210e1 3aebbe1e77f99c42a7c771da42b69975aac9f90d
+efe861f1a93990d66c5dcd4d0a26a375dcad2b40 9836f8415f058b0dd8ad89636800228a47a63765
+23f0f13abc8b2317d80f864b0f7ae2606ce1c665 98f81d16822ff5c2afe5254aba382d2c5c8f5c00
+0f8f5066fbb82ea4b8f5c6196d65f30d3c6dc7e5 6a60b2dff5c921f32eceeede1f10c80012b788dd
+47e297c77de231267a7fd43ab4a10aebf972181a f324591fd5473231dffc95540969640603c61fd3
+642d42b16903a339fbb08cd501a791cb28a5f428 198f7a5d992a0058804edbbab7a6a2a657e5c581
+7e3e6f84715399c05c8286905b8195e52fdc4f44 f3153f7c2a1e1184a72f780dc306077e9a057810
+4d4271e24d447c5504b0e994938d7398f13dbfac f9d362f146415476c809484d5309afd5476d1d8e
+d32fb25b2a2f046a5bece267949a2ff25cc222b0 7e001241902144f6f9050195acdb4b9a7c0f26be
+447986823a186934977563e49ee1c82cd4ef776e db89bed2dceb9d29bfef4892495dd52a31507414
+600666aa2e8194017708f0d084c6db0b5489ed90 e6a744405c96782e4f6c9e8a3fcdf210fba5057c
+2bbf934005f34157a1bedfd5e8a41e08579e9193 d619c387ffdfc413a725ccf1b054936dbb9537e3
+f8557451f9f06c71fafe817e2e2540ba60da0a5d 574f1c4d33b7fe02f78986a568a435f9b6f36205
+ab4347da36eedce7a5dadbf5acaad66c5f48a077 bba3b3b1412b0d9859586a3c901e00609959793f
+71bfcafcf657b3c583f07fefd822dafcbba6fdc0 ae912f10d08d9af17ceccf458489e4b67a40f35e
+da0017bb3703eff770618f2446c8c16fa2d34db4 57a04fdca1b60a678e5cacdaf90d3f0da7d742c2
+f69c68963ec79429dce5195855416f31ae5cdf4f 6dbdcc8a40ec3ed3cbaad25a2c3e672c84fd6da0
+e446a002644794a3f7ac1897aac9898ff0b1e7e6 8f885415d594efad85d26437417f98ce96a017ae
+fac03c5150c3149edc6644e26e2b62ca1d92838e 840d6a3e2e3a67310d2a0554bdade696fdb4c67c
+db156bef667e008a76d1c92c27c169400ff24270 0c6565990b02b14d49f00a187dedaa400353c4d4
+f94389adcd458aa75e2611b0011ea6f205788e1a c14eb0beba09edf4eb2a42affbac8837d494ef53
+4cc37c9b14876125c79dfa48b2d49a6e70545c78 6dd71d9417aa904f1fd3bde6b1b4f945e77a85a8
+dda3906a9a07a6a91d1d7fa19625a753b8366a5b 1e8a633519ac5002ed1e5801de3761bdc4dd8505
+c23e5f2ad051084f488ba0ee26ebbb5392945a18 bb79c069e215f2fa78362fcf36dad6c0988f260f
+afb2daad8f000b56dd72ccc110c8df1b6f65ed24 64af694b9c7345a41f841683afe3faab76b19ff6
+a3cfd0ab91c374ed7ed85e87859240837a54bf58 508b3ab606a33581f04a607ef18197ac216d6a9d
+fbabac36a68ca46e808e152d9f945087c9497c57 48370f10e754f70f36132be2fd65d727987303d1
+a596f4cc313383a7506e2333d0d744ebce931550 2426a8e3b900d42b283d5a04eae00a823aef463d
+058d96c1cf948f1ec899fbd07aabe0f118edf5dd 3c95518c55d590ee180d7c3e114de167a1c0a79d
+9ea5cc83949f74820a6433daec41949510e644ce b3174408ad5578df352bb5db6631245675f548bc
+ed180d84be43fd7d4ceea68e2753a078f5bd7255 a4d561324c4846a7a63ac55fa7c93bd07455d38c
+8640b2652c8c7ee4041e8525698b00828ae6bcfb 00ef4b45f676123922997b146369e501c2275699
+fb6c9a1cebfc6b3a1a51134a56c7814cfe3c93c9 909710ba4233a2d59cce255f44801e726eda530f
+2f4b18cc2bbf5d7c7414ac52430e60b52b91d08b 811c5606efec50862a084f09a9e9e68fb8f92de8
+63e942913ca22af593f69c113c7761af7e73b844 e7b2b3a7465634ffd1a9eb3fafcd15cf2914ccce
+bb3f8a4600881691558fae7ba9f2dd9c91928e82 516a60e98e2281beeb3e85e25c0e0f34e0ac3515
+e1a419843b774677459ef28571c8aeca58ebe9a3 b3174408ad5578df352bb5db6631245675f548bc
+daf8cf056977b8b6da87dff89638adc9558fc318 564ef621e85291b6f7fcb0dd27fa41f522d041a9
+af83ab0af01cf68cc05c6f2c84e93d98298cd1a5 9493d637cc0c15ee6bd094ecccb5c0532054d701
+85a4852e862a50d28f3dec2b4907956ad7bf1d60 8778d25a9d34e61d39df574b4553b325c7d68d35
+0dba54344782504a093ca081fe5b67d8eb5a8c5d f7d79dcd92b92fdf82f3becac5030d335e7222a0
+35e9ab4d0b5b9ef4d2d0cdc66f7c043c9ab51f0e da03011f0efab9f912c3dabe81d3f623348f88f8
+4cee774321f5637340ee12e36f4cc2f8aded4b52 c01fb937a60ddbfec5a677f08342ab74bcea779f
+cc83b61823dc4827f0769c76e046ffec7e26957f ab0855e651ddc222833ebd6a5b75767784cabcfd
+744aebb95dbd70d53c010bc84fac3857dd8ca11b d10f6b76dd9f9876c12a4030ac27614531c406af
+4b8a54ab505576dd4ed0e511e13b1b238e27d15d 216d9ac91d3f1515707ed9b556f7d943d9cb090d
+ecc6434e9fa090197b0ad52a4e1fef06bc032392 3e167a65b3eac2060ff95d59e94dbee2c45453e2
+a7ece056ddd0f14ef069ab11750f2f92548513e2 6e419ec8cf58f54f0e81173f22599f4a2bdbfad8
+19932631bdccbc11b53f67e93028421409ca30ae 04f9ae2a887178a9fc4757ec84041dc3d7961475
+3135cc055a0159cc80568cc38f6a3dcf99880bef 623bc48e9702f7b26f1011dc81505324ee1fc158
+98532dc215c5d56ab3ae7dfe3b3ac1369c672d2d c643243260a2f0078a980866a363d2b004c132ff
+576bbaf1fb330582366d94582b39d3b1824e5486 029e4acdf3a670f60da69409b8ff7ab04e831b64
+fa5ce4b0f55785a153dffa5ed8d31e571d76554d 27516eda01f49396874634f01ba3882dcd5d30dd
+94e280214c1ad73c4d9001c3a964144802d848d7 e93cb9f2d9cc7d59c893c5547fff5c84ba6e80c2
+47c4a95fb549e0344fc44bd2313fd0851701a9a8 c049d561700a7e98304654d4915776e91b99cdf5
+476483343a1ccbd53c46ced7d109e63f8182d087 af94fc00f35351eb85dfea0ea36293a83e3f541a
+2fc891b036a8501f1391f2759be8a4db30130ae8 de92bd3a151c23e9d119e5335641c35dcc501fb4
+d996083a7de615dc513739ede863aa41eb7ea090 f0619933f36a2ec3104823addd685dfb6367cf05
+504c2bdf8375fd13b460ca778102fa115dfb4923 7be712fa738d44cc253b730369dc1060aafceec9
+adf574f166b8d640fced01f841313aa9cedd19b9 dfa4b4cc242d4086eff788482edbda0da4c8994e
+49c7508e1f00f43488c5c0fdf10689b85ab0ad4d 34bca16e0e8412862e3e88c32cb6decf7709eed0
+38a5ae59ff3a500051ae310627e9359731aef590 75d7654510e8001777e19ba524252cc769c0118d
+7ecf29551b2d60e296b0fb176637cad95669a03d d65322f53646542ca09ef7eb819eb708e5dc5a7a
+4f584bfe7d75a8faca18877df0e8e1116c6f3b71 c1edefe2426609f996c760611c08e2278db20c6d
+74c2ee5681c8dfe4eed60b75e362f39776ed21a0 b25c92d5a847ccb268d8440c02807453717fcdfb
+122616e40af87f3f471d720b08141cd8bb9b7f5e 3f33e4f04b63c83e1806bc18bf0faefd6f4548d2
+fcb2e9d4832daf67ab458c98fe5df595748bedeb 8da0b5b8ace7b222053ce5f63a9ee22358898c1b
+94e080dba3f125a137fefbcc4a5dff01f6793a42 f6f4779da58dc2c677c456832c3da1f7b2d2d41b
+3f97a3b88e244ea692175a8e9fadbfaa4283726e 4c82f3d3ba692a0a41a86b48c8eb1f7722b91553
+acfeef58ecaf47b1db6c7320279b8749ebcbfe5d db4714fcd8ea9b096ac17e65829421ffdd9e8430
+0382e1625bfa77df4516b4ea05066df3dd2beb06 ea671748807ff9709cc2814bf41e8ca36c2795b9
+91f6f8b3da5f217e96b44a73c7765cf6fdb849c5 8fa579e7bde47c5c929adf3012d1fd9f56f20ce9
+38fd9243ce75ada8f01a979763e85b3bb5620601 3b194022f90db08e49b0ff05dea88f12bd25df61
+6bf1f223f4fc997b30226c9651cbcb8f434abea4 203ed7498b87af621761b0853fe3250f28ee5368
+0d6ba59ecec176f1f2eb467459a270f3455a9e99 a9fb5c9d7b95b6d847c35dbe758b5427a156f61c
+caed098bf5ba93699e5ef5208abcd965c912961a 9e381ab18813677256a9ecf9d5915e97ee487fa0
+7783401de4ae3fb1f59fd66f08272ce831826374 2179b59493060da19356fd115ff97d4b3a77783d
+382a146530e31debff7c2ede8d5c5a8376b8b5e2 2179b59493060da19356fd115ff97d4b3a77783d
+f37eca6487b40440cce63b864e9da6de65af931d bb8b9573a3229f36627873c1d47b0657720919ad
+40b328d4424096bdd644ee58fe97e9498acd8c37 5d2b2254feddfcf58918788aae6be180b9889b05
+ecae1fd53428f8e1c5b6b38303e76f1ce7100514 adceff6d37d939178f8a7575460e004b22ae73d9
+3616049f87159e0cecc8502b573f27831c286663 b2199311ef2dfc06da268bef3e61525082d62f3f
+09398d54b589279650850ccc5c351bfba1d4300d b2199311ef2dfc06da268bef3e61525082d62f3f
+c068fe9b5a4172bf649e9706c32e7855d66c7871 943747a1fbb9bee279a1a643a783693bd15e65db
+8bf4e1e09153f4b791fb1824440ba6f5b8562588 9786851c832aa3c3e5d77b1f5cd5757103ef324b
+bc19ceab3fcf9ad465f5252364f30c15ab9e3082 c863a31159b089bcd3bc0e8ab147f1080ec3a21b
+77bb6c7607b8beb04ca91488c3026c12dbd0fcf9 5ad41d74cdbebd6d1a62ab8f89aff751c5d8d942
+411d4b66c2c6fb2b99c8b81111ea5caf1d829a06 7387707a77736cd21952e1c0ebd6ae9a7a9f8119
+65b154cb29a7a1fd6ba54f2aa92a76242e2c5263 eb8c4576330bc462a04518191310253dbfe64f08
+a7b741c0a4a306a445eb1b9ffbd42bca102516d4 db2a950515744afdb925a188f29cfd2f32bfc1a6
+5eaf703db1ab6f7ae6f8fdaf39e63f0e650e383d 14005941d00d8186edf28a5342704e04991cc40a
+759217797b98aaea2f385dceb4ccfe059c2c817a a42c35d43a0dfc8b22ba38e258c3bd70ea4816fb
+9954b5a377bdbd67f62f59c44071ef593c491278 2fd22125bcdb02194f95d36361796ad6d9fe5e0c
+dc651b7090b65a18de250c09621cb26091b26f74 b53505a27606c57159a7843419a8e1e8cbf01d6b
+8bd4bcae1b82b52f2d72fd1793df6c06e5476262 23721947b8a6426143285ec8edf258ad9759680e
+8aee2400b18371fe2b49984bff4c519008380d04 8dca30bfc8836fbe6a7f1e14c5dcf800e5461b7b
+a51ac1935866d298386917c06cdbbab3bf8e78c4 e1b7f30581bb996e8290cf087ebf47caecf7fec5
+645fda1f10505efeef2c8fb58d92ee09e9c554a4 adc91ab0f66c05218c7c437ed2715251100e0c5a
+00926771a2ddd69151f4a1ad8ddf807f2995bb58 23fed3aec76f0caf220e290691bf50cf49dfd029
+b621b263501f97a4e0dc54a19447420e2752f29e 0063fdd53838b24c104f993b146af9cd960c365b
+2d9683b4ec098b615dc3e070ae1a98a04fec3ada cd9e60dd0cc0e72d0ac9bb42237964aab35936ec
+67cf690628baf10385c946b4a819d4cd5d7142a2 75d7654510e8001777e19ba524252cc769c0118d
+3b2455fcf53bd0dff972efa79b238020a598a770 26b97eed5156cee3214d3fa7b8a7598125e5dc5c
+552757ba706abc39cb3261f2ce85e02e0729bc40 12bded3a9739174079b793618aa5225f8ee91332
+ff4c0d56d4e27677f44101dec51b13ea502ebe89 0400486fcb82dc537ebe8931ff1a0bbc20bbbcb6
+cce0da3cb1d79d614cbcfa54855031ee8939c2cc 9f5137117cc6e36b47adc8480c7eeef7368267fc
+80c79986e7c9d8ae143f3a922596dc31b8d838f0 bc61652bafdb56487a9cbc765e4ae14e03b84c47
+80946ace8143117b9a3db4d99f28343bb3e41c32 44924abb76cdbb6c7e2693e7ee5494929ab5952b
+0d4526bc2ab1eb89eac79f2264f6a3746ffc3eea 8ed4150a8f8cc0d2b7c3f138171be1f56816beec
+9638fad032d6079a0e05dc97e099b60ad7b27155 249f1918420f05961d85d55999ebe04cc810ebb9
+0c34a0c6f7f4388302a298f51c611b9f3e16b4f4 578884a9e9a646c210f698e1e57a3eb073515516
+345b0c4785562dd5602d33993bdcea3fc95fd00f 14634bff2dbbd271d5b70eb656cd140a99158c37
+f4bdb5a6be3fe857534eb8952ea54c4fc4457752 7dcc36c8da64d130fbd96750379c5baee8337025
+298d3f91d318d19bd04e33a45d92c4fa31340f33 517bcb6b5072e67f8988f41d30d3518dffcf0699
+a9f91cc1e24ab3613e1ca23152b8bd666e10c68b 495ea8ffbcbe681fc0d82dc6246218f37e285c52
+fee568847f6340c0ad217831e6914d5fff3cd087 dc82070ca7b8bbee1f8a9f912b074d6f2d6419bf
+36a5d5e76894b294e3220c7b9d20b517b7f31fc3 3f53a36b58abe63ca3eec82818e318ee67dd4d3c
+e909cee3595295a4269dfb809e8c42efd0eb3621 8038663d96c359e63e029753dc8a07a3fa0b569b
+883acf3223be688c33216f06cba894b2de8b1659 b3afe93bec89a62eb994447678697db65ff3c86b
+9e0cb6d57b0ff196d8e51e801c27ee5168d0a885 924c0347abba2b514bbc7229e0822a50b02d439a
+1c352638e3bea3e920973d16a2161407a557b6a7 d150ca1fcbb6769c14313f029c30e980a7738bf1
+a2fa3462f2766bb34c655afd6525814c3700e38b 3c35ffa353f6286a9e39b4c09a9e8aa18d0de1e9
+5c0320ac2184b232b6b5da45e78061301a552aae de38fe84a2ce60c3026903118b10ffa6db7d5844
+896913291b27b0d0bfa809b8ea108441fd63011c 12a2d87d9ee21002ca4a1528078a01e154036dd9
+9488700a20f52615a43266c94268e9bf419aead4 74851c34e3c531e3c3b4b4f1026c8b74ec1733ce
+b93e233513a0eeb6611465f50b5b4de3f0f8fd75 d2dc1343d87c88fc2cc528cc8f3ccdb027b4fd7d
+d7fc28f0f539291b46dfbde6e68ff136642f3808 4708aaf31d4bc863da2c835459d5bc2e5a9d5d91
+af27cab7beb8d13fb79d06758190d18de0b74dbb 27fcc93b66f0b9322cdd6fc941037d42b7096c0c
+1fd3e4ccd21e10ba59bcf94a691482ba4cbb87ba 8334ad8694fc7c7b182e0ef4f63d4ce1af5f637c
+1869e99b5ce208bf29204f9ccd02c1cdc1a5a655 32a43bc1eedc97c343988a2238721edf12b5e78c
+4e7982b855d106a2bb2cb5ee24c0b00d68de0a69 bf9c46a83412ae809a284c41af4d09dcb3184cc9
+7cd0c0de6fca769834939267f0846e2c07b9685e d3022b749792c9df5e19423c9435d7d118d17d99
+ab6af162b9b68f2a221d0980b0c72d39166814d3 9752d3ff3baf532dc0e512183aa14efa7efaaaed
+30734d95732b7cf722d38de6c79472fcea7126c1 990ae7f53574e6b8cfd703f822342f717b8749e2
+21dd6e90043c80df6068a6d8a87066748928aba9 ffaab4a439e2701e6a022ba7a0c8470362d68a83
+c52841c7df9e0b3fc4b69b00fc7d681901216620 345b907104c706d1b02740ffeb5461f3359f858f
+e9967948170631cdff17e86521263b56f0173cc7 c60fe8757ea1ba5d503c85dfd2718ea86d936364
+5b08f654fe1e1f8e372207108bbaaed33e2025e0 cf6ea98bd9689a814226ec2e47cfe2a0b06ec9a1
+1534c2faecb9970024771bc58ec9ae64c133683b 6268c95178191a54568a6cb53f61381b82ac57ea
+c9e4b0a84cabb7210b8e9fdebaa7ba34ee704aee 3e2e22a0d65010c510ab3b08e6463f298338da85
+d35ef68c74bfc35364354561ed0edfb0367094d5 e217e0423a03a5eb54e181e302ecdd7f96007aee
+12f94ed4e02bd2b3de806aba479b5d4c527d0221 8dbd5162ab78e1aa383453b883e8dd9695dcb159
+b192e95344ea2356ee66adb7d498f29f3f1ffc60 4ad87786dcc1e015459de497966717917c98a52f
+aee8339f8ed49909ff1eb1178242d0f7b91caa28 ce073f44501571d4933b5e6d4244d5d97bebcf2a
+333c9fbbe5209e54c16d5060da18b3e4bbd2e948 28d15379672b014da04c959bbd2859df4e7b3fcc
+4c028f3cf246bca84c3ce6fd6398cc34c070bfc5 c8d06f87f49e549042456cc8067b5ab83f9cfb93
+0fba50a34c54bb726bf38f78d1ee2e086a900a5c 2fcbb662ded2aa5531a274b0918a07015eb1e494
+f0ba871b30ed7b5ad52e905871ae83b7c5feab19 c3682378de75bf416d6466c6fb99cbc101bf51f7
+e8c173679b16301da0d266f1b34f68f05d13dc7a 00b1a76a1d0681a87be806193b4aac6df0690d05
+f66bc11c0888e0858efb4149d20c6d89afba9ff5 b9d146570826520a118b1cd6e9820b94ae2c82f6
+b9114cc00ce6301ee5643196a6fa870f0103d4a5 d8ff9abf4795d1e7d80ca97079b4905b35b56065
+66759dabf47adf8a9e62dcf3caa4c98b651f7f10 b0d807612497b3b53cc0af3c23be55a687a366fa
+80664017a8885b817d2747ef333ab45015850df3 51215a0094caf271e9a5b6222fa133bc5d5ec55d
+663dc020312ace6bdc901705230ea016fd3d49cc 8444d0349781f15ae7ab7fe0a09d1e136ba08db8
+8ed93fcec43297f7e6ebf6ef30caace808e299e0 d3249968e685f2aefe222b2063988ebd905214bd
+12e9b9c752b5daa0998910d64189e3501666323e 9da44d9370def32b736a2e8535758ff23e2b86df
+2c40d33673ba661e5bfd65dce4201c2beb436f52 062b716b6d684a7f541da69153e1651ae68b720e
+301854d4e79a42c0fd2b04574c60c867f4b99de5 69ba226cd06c6e7d915467993e7bc70ba5ee47da
+b9548dff227f22d4df5b0ea33c587fecb0d37bea 9d11e7e8266418885f339d73bf408dd82625b9bd
+4fa6ac22f59a8db6d96711cc81a61fee0116b611 61e7e6d51812aacd3545d7b7e37fb6667745e07f
+d66c6bd0ec27d71901f2e9d4d80b8725dee66ac0 c7b766f7eeea67b31c36e62e6f7a5d88926dadf9
+15cf6b607949339e9a3ed0a162aeeb257aa61650 5892f239c45cb7a2ac3e91039becf2846e8d9089
+d42841ad16c67ac50f0b1005c17ab1438da1380b a4fc03eff29895847b81ada0e32973d2693d7ede
+877b3bf046919a861b4215dc7596558280616c78 d65dc0e6fee05905836ad69545096c90e5b23cc0
+7567d06e702bf1266ec6520a0f8cf50b59fe4356 1633757155ee02637f1e1be3fca7dfd8b38ad278
+593ba484afbe79aa3827b97abe60c87d626757ae 6820229c5df4a5e782eb36f60722a21970b37765
+659df2493946f5c203472b8e07518eb72e73319c 0db7d317ce0080d58aea76c2d455a354f2201ec9
+a29767f6c3c868f796c213662d62e6294300faf7 f6bcc10e38f2653adeda3cefa85e003c019183c9
+86c62f643516dde1e4dc69167c09e2d89509571a 76526ee4efed302be7300a77d4362791f30328b9
+ebc2c08882f8088990d6ba6886c754f5b603f9db 34ffb2a12121e9d72e835c7807b18723d1b5317c
+3b0c24721b2afd23994dde312837894e92702259 34ffb2a12121e9d72e835c7807b18723d1b5317c
+7076e5fc6ad029b4092f0707e447cbbc47c4fa40 534248618ff3a7ae3d6ed38bf9d2e100e20bba78
+f64b9d3edb8b8a499d919ca9a1e0aff34efb2859 1c4ce0438f78be98ef58c8fe1d1cbb0a61b1e204
+9a3ddd6601bba3282f01fef454e827202ae5d5ff 46a987cdb5c7ab7b981edb2e0b43e336903b628d
+294857974fd8318afac176a00fbfd5d1838b56b1 209a332341ae9becec1e7e3d973c86a7f8469dd0
+17de112eaf0bbf09ab0ec6b5207b3dfb8f1e4fd7 82dca7fe4717798679a6203fbb883bd97189f1ae
+c72ad87253d67c4a849c41c2a266c6f60748a13a 82dca7fe4717798679a6203fbb883bd97189f1ae
+60c5700307198dfed3bd9b2f2beebb60f7ebf2d6 c96b05592b5f0fc0d6aba8bfecefac87dbd383e5
+69388cfbca5bb410fbc524805d9eb9b1c1674e4a 9ab07473509aba5c78a09be389489fd724d3a32a
+68fc2dc3e42cf00372f6cf524a45cffe26cd7237 4511a0832dc316f2f598d101c0ddf2f1a63cdf66
+28a7c0abbdb6e615905ed279d7d7015e73fa4695 4511a0832dc316f2f598d101c0ddf2f1a63cdf66
+59cd2f4b64e416b4bcbfbf983a7fe0fb0707d9c2 daa0c24c8e13904d821ed8341080e843d9b0befa
+62d343a07ab869fc9cf7267c485d1fa6ede76625 99a762870af36cb7af8b8d2c3bcf3596f66c5a56
+c6c13292f37b4048913f5707398e741f74e41402 6fc97962934dc349567c950827a73c92c4addd4b
+bf192de6355f944c69f38bc8cadc539da701eefc 808c20b68613da9f26eb7de007d5ffe231a75878
+7cb61d79582b2a04dc2ef28672ec5af4dac10d76 f544eb00dcc1d9367e41bcf6316af63dd8724979
+729d376b71af170386160a1dbc1f9a2942248139 824c2b63883c63a5d59efc67f64d353ded4fac89
+759c560677c7eb41f6b542a02575ede09fa6601a dc67121480357e0cdb85dec9d3c35d8270b7b684
+f3b47e335cdc774d3cab85139cf279b8c2902adb 50dc26b5b851e4fbae895716db26b4fea838532e
+0ca885c5529944d3b255e8a950a246257f092b81 4e13ff62392f104f41736516624b992173538aa3
+4ae8723c7d333e74a52b9f5059c7b454ec3fe1c4 5d702716dfd6e99f78abc78ca43f882bd607ff6a
+cb6d5e6dfae65197af6508c577178976d600dde7 30ec31a96c7073f2f26f22df3cbcee74cdcd1f6d
+dcabbae4b31218df4f67f17faa613f69c7c76749 e5b5ce556da1917d26b9631f135227bcb98c1521
+7357f4ef70dfb9525624b284343c742693a9b1aa 51a18ab756616558e6e822bf3399e76b10a85be4
+7e3f1f8d0cb4019c8f50991e9a83dbb3e20a85c2 b23c8990227ccd68b8d5edbde44492c62f643a51
+dd0a3f30a50a6742182c9743cf51f8667251fa00 cfcba4ec6c633b1a2a0b88a3503cd2645719bdd3
+ad6a7fc9d93a3b10141fb5a9297d38ff9d4b7d5b 9a66c8e6eb459bc4f1023c380aad3ffef80fc020
+564cf98aa8f48b3230b66a2f0a922591dce176f4 3ec7dc364ca8a9268949310d7b5e07a4af06f7b9
+182797be1b11b9095985357d8bf16acaf3b37802 033387186e79cf11b9a7dfa6110d1106dbe275b1
+f2763c0700c548546b7001fd5a2005f2cdb43166 033387186e79cf11b9a7dfa6110d1106dbe275b1
+bd7c5cbcbdca1bd053404277435b6488386e8a84 a384b9c6b8853215e3df6d5d456cf49d0ea84e44
+f1b0ab207a7fc2e3a613c610ba9b11ea626805e9 3f1aa343fedae945f575bb3cbc7ba3f4298bdec3
+4e4c7a60d23eaafd21bd440ffa832b28648e53ec 3f1aa343fedae945f575bb3cbc7ba3f4298bdec3
+2c589d50c85c4b2f836f5cc4cb366f82a750337b aad6dbb8c2b883e70ca5ab3ecd6698d58d117da2
+862956b848b711ec0f9c0ea6743af7ecf1dbbb96 3dc9f0927e096976283ce2492f0a7da327aa76af
+33678b570bee98b6fbe1c0fd1e7b333b05f43583 719549325a584ae90dedb6fd90a322f21e0bd26f
+c04f905bb78055d1cecd02e3daf07873b0cba149 1266ed2e90d28f28138b4b460449c68ba36a4892
+7bf59571ac3ea6e2085492280d2f2b06d2f1bc7f cd146d0e161481abe4b509e0ccc78093a84ea426
+51c09e80faf38add1d74cc3f0b598840f4171de3 978d174ee5cfb92369762870d1430c647ef61623
+86a2d84cbe2c64a1c8cae7b2a5b9ebbb790f8695 7e897efd0006a11a2b5e39f1afee83b1366eb2be
+d26cf666f6104e04b358a3408a0e6e2198426616 668851b2ef0f8cf8df07a0fba429e4a6c1e70abb
+156cb858a627f25e65e718f77947a20f0e4e7b1d 7e897efd0006a11a2b5e39f1afee83b1366eb2be
+71f181559a720cc9b069840b661fde8ef63ed447 5ad54247c67af2b4d225f1f5b4bab1a38d67fdf1
+4c35e7737c0e403617762b72b74e528f38d9b897 9e8ee28a8c4fd23365c9e2202275eaf1d2bc4caa
+116d16b728331cc239f243cdc7ff53bb8c45c1c3 b6754cf4aeaec9b1f248928275c24f09981323d3
+2c9e9033ae0a21f5e78840a169b3de7cab85ff31 37f68e34c9f9bec488f5354d65ec38e0b038dacb
+86e1b828ba470c04ff07b65ae6e17ce5f42e633f 668851b2ef0f8cf8df07a0fba429e4a6c1e70abb
+702e6bf3266be525812b2043f6fc487cc0c4df58 37f68e34c9f9bec488f5354d65ec38e0b038dacb
+505cd7bf0c2d41eb6c14168ae3b4653cbde4cc43 ee86afda1966f51cc177136642b3f50e57584b03
+ce2fcedfff13c3104cec0008e881b70f45207789 75a61f227c87c1975797262ac898071cf7d25895
+28d1dbdb4606fa624a842bafd166ae3a05e2407c fd8fe8a85c2cb61fc6fdef0c8d9b20b53e18338f
+e99b9ca61313950d9fa6f61d0adb71a9e8c214d6 98813c249d010cda4567f5383eb4eb1a3541c555
+617271222b62f7a833f7cd2d387b46858b143b30 7f601d36e7da8e716f90357b51737b99a18fe4bc
+328e63af353523131ce1c8aae678b6411988bb9c 6e4117d96eaf8f1c41dc58deec427dceeed4c31c
+bd154dde9f40503f94a99342a4f063f09cacf552 5d5219690f37db1402859826f802e80ef9375fd6
+2ca727ff0812e000635afeb43cead16682f62898 33613b049d7cb3bf02157e341047154ea02f31fd
+6e319893762ef750898ff87cedb03296098b76e3 06c9d1be8ef5c029e388ce32f9adf8dc15591c34
+0adb8734137100abc94550d5dc43b5c2aeea3aae a6f9b629be363cf8ddcf77974cc57156db4b5251
+d56ce54e7f86f2be9408140c35c0ff0b304e364e 26ca906909ba31c4a2a7ace0e3917ca7018948f6
+4ebc3cd4d95704b43765f44e2bf99564eb8bbc90 8cd42ef7bb2fb57cfa43ee63313a92e471ee652f
+6326fc5c07a28c0cc7c7a753c0d1c5448b06501b 7fda302fa3ece52ab073e05d72eb8ea9e8e1436a
+daa40716df7eca4c4d4f2b031cb24dc7e710d105 e91e8765810202bb40d021422e0bfd664f80bed8
+b70d7f5b7368a87e0e34a7dfc21dba423542259c d6b8b90f49b14364a6b9e626f10a5654c9de38ad
+b3785405bb522a4843a2fb90255df0f44274a606 35c4e1d972480ee32d3aba33048b322ac41e56b2
+069cc73e2bdfd0e1a94724f8c2ff0e12d5984f00 bb8fcf324d345bf301af7aa69e87f77222ef7e31
+b3a4f8fad4a548a5dc33586609ae658b5a52e5c1 485a3cd2dc2b3d97336383c51fe623470fddd7a8
+9da2670f9b326b7c59ee5d203d13a28d64e9b2d1 c1a2b4ac4cf857d1ef83f21f0855dfba5dbe4c54
+003c8587f9b19878b7f9a857d350c977c7ba7b3a 1201b92192f6beea68a0e1ff35dda1cf8998c6a4
+dbb30b2600cb034fb066a35c8dd715cdf3e73f3f 035f1b0870ef741d93448cdb927619e01c1d65b2
+3bed177218028791f7bcde5a46c17889cddca3a6 9358a275e884607d5fb52eaa2b0a20a64ec95933
+d27d6b331497b1559309e76b8e5df1fe6c36ec8c 513b4ea330d1725c862dceaff1568ff43c306750
+6c0be583c5892c94e425e0877156536ac6615a67 75e00221d1cc2ed6037fed47989eb0e87b5c5075
+ebbaf9c9e2c54a4d0794c676687616cd4dbdfe8d 75e00221d1cc2ed6037fed47989eb0e87b5c5075
+54e80c20a59ffb53cb5b7b9e623a21492269bc79 0f43f7f9f8bbc8e7d895be59903b64e555e98f86
+8a6db8d812473db30843b1ae0df8c092aa1325c5 ace0b34880cbe5d3462139a61424930c7e2b927b
+e6b6ab698cc7a64dd5724c51d8bf99794d24df29 5784f7aca22e1b9a2f06793568eae7d5f1cc79f2
+4d7de2db90f712b732ab1110421aed35e4283763 436169d50f1b0f41a9b435109aaad9c0d7bc1505
+e2e28a4fc870d113e043b4272f6a197d50b2d0b4 ae89ed658ff35538706ad80b6f8455890ed6a089
+5edec19d8fd3ac0535b5c659b68f8c50affdfc4e b2619863f3843e374fb00506b7573aae3c3c9e46
+8d01be999ef6ad2dd7e0463284d486657907b9a7 4f312070fbb835baee1f4287a7dc16000e474ceb
+2af851547e21e3f0448d25827ea3820bddc6f1af aa8959ad1fdc6aa9a04b1e516be5992168619ebe
+ab238c83851888a33b8de7ab3005b082c0ba0705 dc875f801d7bd3beabb34c6714953285b27e9eaf
+4cf5fa353e9cc2aa856942d4a5bc9bf26cbc89c7 dd0d57ec1c5d08d3eeea0ddb0f3c848d12d3a38a
+290892eb84bcecbcad469ca777aad085e249a700 b25e44c1c734d4145533fb141b26b6c3065858fa
+67a1f2f7c8fcffd0c44d0e6eacac58e72c3640d3 4aaf625ef81db9072ce8cc47644a0ec75538d020
+18d7fc49a063fb411b1e95ed1ddcfd0ce43edbe3 dc4a712130c7d5069b00bc83a963b8a9f8762ae3
+55edae504ea4c456e82f8e41a9434d647b7555ac 326529e31bb1e73a47496364e8801d16023f575e
+105ee5b6db5c5e4b62a4258136a87b32cc833c06 da8eec96723cac9800038fe03becd0eaa4799b50
+9adc0abb09b7e6e9fa647d687723435bdf201ec7 ff06af5624c637fe49db455e6a6a1de38c6924c5
+b4ae8cf9a82eb78d048f0c9932ae796db1c8b7da eb5fa371f941c3a305406ae0008b5646f2a9cd55
+05dd620e3c6cf67f0b0b7438e6b5ef38ee69fe6b b96fa4a58ee1470c4a8ea57f08a05767c8d9a9b5
+10cc39a9c280af9c4f75b28f21decc0fa6f99769 39d8bc402d5f2b81579ce26a893e3921b6915d42
+7f30062905490d7699c4ba9bcc7ac690db59975b 2e2741cc94672e5bbd02605c5b32da421a81ae00
+61704d365b481c69a2a464cd45421e98fa875ae0 c66a3317068b711a327540e582018f0bddd1fcca
+bcc8187e0052bc2486fcddccfc9990d4731d4388 2c6a78a6dd0794bcce75aa511b4b27727fab4afa
+8b41f2854013c2fd1ef3b84dc855d8329985eb7d 32af37ccaa95f495f2408745ee4f2e333054cd79
+bc7c3df4582b3e6805a672b25c054618d8c868fd 329e650ad65fd6bc73c0c31338fe5086642e7dd6
+6d51a12cb2d87758bbb4d733873dcafb3c8fc6d5 bb1770161921ba7f6fa5035dca17a2477d49213c
+f7ad20da9c801e0dac456868b49cf06e7eaf922f 6f0c439fc646f493fbe8c37b60312d40eca9e4c4
+db193de37b75b9486cb14383174287463485b635 119082287a66c1e83c69cde7eaea8203a3553503
+f2ca61b2ec5a866b8fc996344724e3e88c70a80c 4ef913d0e24d826ec1455d2c31a4ea1bd0ea7d1f
+7a2a9bfa441bf83fd27888003e64beb1bc9322ae df5e89c29919a6f607a13bad1660d3e0fabed001
+36591453d452be67bf3e2a01f61d77e96d5ca667 caac564c4c87473ffbd4077d9e41418c7bcad4a6
+ae913fc8d13b8a23e30e1f24ec6a206c273e7a17 e89231a40505028c5f5090669a072b4965badb50
+43ab6d2c16efa92c6539b68ece0752261dbfc454 a424272320e422e0e9030342a0a6e78f52622eb2
+d16fc04bc9d1840208b60f23035109810aedde21 0df1259ec7128a0fa548e5eaddda3e646f9ce8d1
+165891b930d13eda58bed970e11996017ad71191 fe9b0ba51cbcf380b97d9633b7684224000f2714
+3359b6e3d3b86d843add285fc3c6ad375847c5c3 0eba87ebb2e72f41312adfb1bea031d3dbf7ea6d
+9e3b821c09c094fa39c8f0edad16c37e1d953415 0eba87ebb2e72f41312adfb1bea031d3dbf7ea6d
+7aaba190c5d4fc5a709eb40eb30681ddb5b93ed0 adab943952abb458abcb99e2010173651bc94df4
+1cd395e3f261617077e0f705306761ace9e39366 fa45d0602d35f0ad378e5d9aef07d20125870966
+f5fac94576d941b6e295bd51381ad9a81c54db55 3618a33ef6cd4718b035c213e5926985111f3968
+0df612813ed21d8e3e847efabfe2a3727519503b 56b5ddb04ef681567e31397019c52adc5d93e43c
+f06cd34765ae130ff5b7fd170e7e0f57e7570367 b26ca99878d92696da40bce969418acfc9d2ba6b
+c97082bcc839fadde0b1d6f50f10612d0febf1f2 ebb4459366dc01c1bfec83e783e3a549a6652f63
+81d081bc0eebd265a9378cfaf88eb848ed3301b3 2bfd36e76304b54232c655f0c1a37e8ba3aa85d0
+47697334ddf56840d7afae1415c40e97b97f2bed e5ee00327721f02dbb89662258c801530a31f29d
+279f4cf3d94052bbf7921c0582578fa4939ef681 921f5763288459d70acc2183e9baa828693d452f
+bdca3e3a948ced60158ff9827282de12a3cedbfe 96f428ddcfcd6c9ccba8e2f19592233c586d6705
+13c143a07bd41da0442e42da1b82ba7603d4e49c ec576250a072ff15ebeec5f8a84e6be042d04065
+d2020f2f48142350e00e140fb15a96a5627ed2be 00d6a97b7b292e6675191c8fa00c8b49f59ad5dd
+ea50ff72db34e232f4e7b10dee796d3cdcf9ea3c 61bdc93b70668b78f4d519bdbcc561f0fcd816c1
+6cba33b905cb22b7c09a8eebeaefa94d1a4fa255 5f8de6788893c7974bea29a1221f6a460eaa21e2
+4570266a419629fb7a4dfb334217245ae5a748c6 ed9389ddc02e707b8d946437508c1453dc941d69
+242f39fe35deb1bd5d99cbc119c56b23135bf1f4 3cd07ab3484bb3fb7c833a628476dd588507ca3c
+79f58d4a34f57684e674ab6dbecb1cf8397b8568 dbc47ec2ef07a2108ead71f180bf0182d77278b9
+9a5629a027f803209a51c29a83cbf196dc84eb79 e376ae2039b4efe93eb674bf16c543902080232a
+34673dd9197622481ab0bac77ec0b114f49ed361 70f0b1853e2272802256f9587c0c89ae3bdf778d
+5bd1d6b32a05a3c1218266c9851b16659825aaa6 f983c3948b3dfca61107f9191a20d480fcc555e8
+d8161c37d1cd7a912c08ae80a86d669614f3d017 6186b3be108bdbd785127df350d614f83f4e7508
+57926d773389f708294adc31b7fc18f46744f70a cb102e8f5b18c24a66774f02f66adb24d96cb90b
+c3168b3385e30b5d508b69852c4c134ca849a9b9 301600b25fccafd46cb69a661e08d2b9ee6906a2
+2d9f05545c4f4508ca3809c2d5ff9bdf5bad45f1 ce82bd3826091cd3474b6586343f0ea760307d4a
+10d1ffbd63b061fed7b85dbabd7698842dba2aba 982aaeea203fed2b28293e853726788e7f8efd0c
+cc57bef28969a2f5c35bc9f70b7299f25baf9f2b d82c2a3cb72a77822765b03317350ef1da22d6f3
+724220608c6eaa8b25029186e350cfed424c2c53 bc8dec3f75af349aa3d483f335bdaf0607d671d7
+828042f98761ea76da1720bbed9630b7abf706fc 818e46b010524f0891f2f661a249eae25b3d88c5
+b1b5a8a48ff755c17c824265b6bb3ec6344b04d3 10cc375bb0dc2fb5ca4b15733e5f3ffa87dd5a4e
+df8fe5bf835684acd77dddf0ba58f49cf7c321ae 607825cc2853a1e9edf5c0e51e7de199ea387a6b
+a23c6f6f762d5527d2d5500771d26f0ebcf9da50 468b96b1457684e7b36f162881008347243ccff6
+e0419c82bd2ff88e266220d99a0fe3161fe87097 b29e953e4a333e5d9a34a4858fb66d6079494c1f
+da1e681061aaebdd117beaa14ccde948ddf1d86a af253b764c14c1a50819bc672a2f895ddcc51d51
+92255bde603c8794169d54b552f1941e1c1ebc8f 6f03361ae5b3b546c4948a3f16c2161bd022a668
+40a02261a7c3d90b158019ea479d28236fa3a61b da9ebdd13e3304f3301b7eda648f09b3be01e113
+1cc82ed9f6fba79c77eb85e3f4430baacbd3aa7b b6219b2ad0f5f8e3ddaf5823b2c32fd6adf0c27f
+254fa9bcc522baa16892464f9604e218c84202e0 36536081e1e7b5428731150c719c02b753dac32f
+d6608534445ef025a98c2546da14ef766ff510db ae24fa5d5e7703555f7bd53a12985e6b44a03261
+ea31f788189c39b78fb3099cf44ac75f74234646 ad23f34beeedd96d07574126bb644ab793ad5c5b
+cf57ffa9404972e99c614ef8c37afcff55e70057 47a00fd8fdaedcd86b906ea97971f3066bbad7d1
+ec8cc676b4f1e0239da64cbb4eb04f0d381d7a9f 582ef0656af505126e11a4aa5ab24a5b0631dc38
+2e6f978203bbaba1bc63d8f2ed0b3a84d74eafcc f9f34ed9a900de5d9abcd3b06ad3a545eddd7abf
+d5efb20635f0a15cae314268df0931c00a183ae3 8cb916bbfd719a69373be8aa543190501f03c7a3
+f310fa9c839214f50c3797108ac01260add43bad 963301d4bee22cc1a8aad6bbf24c0a2b18f445fa
+6a141ab692a1026dbdbbaa354519a4755aefda50 6df642ebd04a1a4c190f4ff91f277843b1d0c95d
+5156c505948d6370f053fe12290dcd1fa107f682 8d6f029c44db1068851861a19259a48d6e7c85f6
+f2ccc5a5627885d91496c3ac0eb6b8c7177f9929 7dc5f72ce84c38a46554de507d48f6ade4f1d24b
+5f2bd7b539089b8a8211b5f562dbc56a9fc8ece1 0b3ac3b033ace99009c184c9232139ad9f589ccc
+221ec2c9b8afd21f5e4728e1b25b006c941c5032 bdedda2987930803ded451e7d01f0c011f28a4cc
+d8ce98cb5615f40669044025bf18781ce4a2880f d1d927b40adac33e13142b404053a2f442cb665d
+bb9d78ef146375b59bad73a8bae52d782b2532a0 8faad403deaea8610b79ac149558ba23c9fb98d4
+94cffdae6d5640af8f8780116e7aa1e7bba5a4cf 675d3a6a5c41aec48eea8d6c8a4f0ca8742062d6
+4236de65513b14736b51aa395cb5166a350c147c 619318835030d296132cb5b2b7f0f3c9be3a292c
+7d3b1f8f01dc6c26ce5e6c54a398cae23b58febc 737ee6ca888cbbf4587ba39ca3479a4f5ac87fc9
+91a042213dac73ed14b882db6d54914e11004ef9 69825e44a5bc6f870ef2188c24d2078a561bd87e
+6ecf46ed376e8771da531aa78eb16f2dd0d4a9a9 5783bfd2372f8532307a1aac8c6f41f0f755c89b
+cf96d83536bca0bf91a035c79dfb2262060ccfd3 aa6ead31a32db8dd1922ca5a640e6bf5aa105c87
+263094a9443c2c5a883e5caa629409a1245c5b47 99002421caa2d918bd20bc82161e104d8e3ae5d2
+e2a13b69e768bc2a41d5e060b0a46d49f86584e4 081acb747626cb96dde99bcd1404943c9664e243
+ea8c034b87973e57a0cb4ba8bbbef74683555bed a1404dc582bf5043226b9a964dcfb0454b9f4831
+578d78512b5058fadd54b5fed806d07584d70a23 890f1539de0a58372f97b5440ae28c16263b8621
+d97809c973314d7c365d1f673664a9e7b01243fb ac1662f478bdcdfe0a27b7a3c6126715274dd29a
+52893bbe61ae850fe9fd8c88a02594de2622e61b 024ac594e14ad1243543277fa199157aeb480db7
+391cfcb56d9db5500d4836c2b59e1f6da4d26258 0b6cc7344d3cc1ccb3eb9b3c140cfd2a9d043303
+9d4603db319c7b11fc5e75af0de08a4ee95c68b0 e264686b46cef60f8cf329a56fba5a50c300294a
+a45d04eebc9cde5cac449ce7d18e3e8a16c15204 b3b93f4552379a5e1627517ad3eef67c57544ccf
+57bff28dab75b237e3df4df93f7c821fff9f843a 948453daae293fec9c7560c0719268990090dc03
+025cec8bde94639f4ae313eb51170b060716eb52 5f7bf57d246d776361623ea75c3d43b1be70ce41
+72803d17a65abaa647a081239492e78246ba0651 febd68d59f61c7f60d2424bfcad5cb65543e6ac5
+2c955b9828e67b2088312f30fc59943eb0e41602 e70198f00aee86e06cbafa33bed2d3125726332e
+47df29cc34a994bad5f0b536327a852fbd474b18 ad9fb79ca752134d2dab93ff2c22d7c749c132a4
+f0e9147baf74e153b8fca339478a389b133322ee 2db3be0dc183264a99dfebf7a0ac262746612f6b
+32ed80cf4601c511589076384b00f1a31b174de4 4a7557fa83546420f6998e9fbb81d6e8f9033b9f
+8c8506b4aee67c12302f701af744058bd5d971e8 3f335e277695ef9f9a9d3684f9125519b91d83fc
+20aab37491f2780be2cf625a1640e7a96de8e3c0 13b2ff2a011b1fe7cfd4239d1070bbda88bc6b65
+a01335caafd712608421449674d9135e1219f776 2b540516a87f89bc413f876f3b8adc93655b0986
+02ac8f2be401b3c9c766a972e645d62912adcb39 1c42855eacdadf65b055d0c2dc706e7785c1cb19
+a472548483762866eb6039edcfbb27a440e3bcbd 9ceb4f12d35c2771acee57f8758ca4529e50eb6c
+cf7d800773a2832b25e9d419ee33fedf9b1b5644 2ffc058e7f0d07ad4bbc5b6554b37275b234d98b
+f4536eb8f3f2d2a7e2c4cdd320264c0afe90f517 ff74d4d486939524071a39165729b7d3ee4dd5fc
+2a89fa973b611e636026d6acb4441a964dd34f19 5cbb37b6cbc93d1b09ca2a9387bf45b1d137af6a
+fbb0e1013b1379ab87e4453cc412decdb0dcc32d 9b2b719d51f4bfa8e167a8cdac79c5dae134b6a9
+020c9b3b14acff7b07e6e75be40aa6b22b3a1dd9 88f09a04cbc78f4735a3653102c3472de85469b5
+2d6bed58b731470f9446da7b5a8f0f8cf3cc778d 050636ca61d5a45bc773323a15d43c9b9ff381dc
+c083c5cd52511bce72fa14d2f73f3b12190b5e0c 4ae18123b3cd9273ac86ee8ac6e5711b132675b8
+abe27077a8693ac2287d9575d5b27957b8a2b0d9 fb96e36b767bb858cd35557063b6ea342da9a26c
+f5639b514f59e42d4ee1789ea80840d395614c26 12776cf895974403542f0781eecb6468635d93ee
+5e37f87f80da34e686de796f1ee031d4cc727782 eb4f042eb83ac1ce6bbda6557e7e403baa1706f9
+862c1cccb39e70a6bea3d77b9b5b06c9843ee603 688a03efceceb81acd9fc9fd84a5a471c4926fcf
+1dc4b70c44532ff6677eda5732b3e385841b22d1 61b2b9050c0d4d607b04d779dc12db5cf3cdcf5c
+21bdf5e33f612abe1b159a05dcd10e9bbbb45529 e8038a0d1bb10534df8799ba53cd88cd60630cd2
+6eb70866ff8c3759ff6fa863e7d2d78ede6837fc 09f593c46f4e4583e3f26b182a225876149098d1
+85cc8ac3f2a79ea89736e5098ed6866b51bc34ef f0f030c9f0b8798534ac5948d91913dc81f59a58
+5209d7a7dcf442e95d2c74475ca7bf5a2090f2d2 5dbf08ba3d56c8f91d00f1ab4b6dd76797bdf25d
+04c6a32bafec722cd26a445ecf2671a232edda3e aaf489b514e10dc710cfcd23cb01619bed9c1a86
+257e6a8f16b59710ca891e172b2008fe5e674006 9307a05c3956fac20a57eab06e453ed4564d1356
+cce6ceead25e835d88702af278719db2e7ba6242 9d18dc6ee6110df0b0bd1ce722a35b5b4b90aee7
+15576271b79ae5341aba9ff9dcf2de876ef73b17 b0cdfee05d57bfebe7918029074b153930dc4581
+5d588ec254e34dff443222f5c1b075640ff3e0ca eda59faa263052dfe04beb5868e2860b4b845fef
+82077f4b18ef44ff8205a3e84fe6aa6f5f2a0939 e045d3378cece77f1073052f9ddd17a22d74868c
+569e847973723b3635e7120c86735de18e0430f1 2ac00d3dc1020a558c8e012032b0cb0a5cf35c66
+b87ed552372f9dce4ece32d5fce423d2216291ef a5834d63a5af7277a947cf3f363a82c0b6ab46ac
+1e1d01e1fee4dad05ad1ee910d17466615d09f4b 2ec8457d03109c937d6be5ab31fd46ffd236c090
+5594a216ef68b9a25ab2fb3ce372bc99d09cf271 a6e8376086dd3c952ac5cba394371c593a864e44
+f4285050d5e0528d5dddd8630aa91191906e09c7 55ac7fb0cb2677c39ef88e012123498c52eeb144
+5b3ba5be6c201d26f65bf73bb00db898f2e0c067 47b40c03ab7d152182906c7803769a4ce6f5630a
+f525fd4d110d94f839aeece22f80dd07162179a7 eca113ba5209a44828e4ac2b686ecbb45a53323a
+c1373fecf04d153fbc94be6780bcac13219652f7 a0c19e74f0f88c06e455b6e0f7a9fb0a71f80f6f
+f1408ab6392d9bba3aeb5f65fa05037918525e57 4b296544b5475ba3fd1c4ee78ef731d10a496e50
+8aa5b8eb5a676da40dbff357dc1a108c13584b52 8c507d324802892b7eb12e95a9e56418c03a3140
+09efac4df6e2ff2e61df1972ad4d195cc67432a2 c6d15fc1b5ac840c86e28e3d79f7257a7442ea86
+b072e53069b9554d4bda435eb95d3c21c64e5063 0c255435d02950f73c6c60e29eb99d9fa8abf267
+1c8d973ac88a1e924d3b963c703f0caf1536c331 2df16d913604e8023189d8ac6030e1cec1314c2d
+5bca4af764da99c8bf28c3d76432102e4edb2c44 9f9f5e1f3253962ac4d208c3921778fa178f6927
+3f1594ac5c09ea2ecd03052fa621a6d81aa4a3c3 e4732af6dc5b525fd78b7c5ca05d9b130bf8e7c8
+cdc67b70daef6020e16a26e4dd295e4aa7d8aefe 3c07299c24fa5a3b30eb6d840b5d6f1fdd51478a
+996ca76ead28f8c2dcf46ad28b84e164bd9fb989 1a029e59b13bc43ee4ca36cef0880bb2d6632d0b
+6f341f7914e9bde28f49674c6db209b3896e1970 466ac910e70f1d540523459b3ef1d6e9d5949fa9
+7030737a70edf0b0e5f543482963306468a51d1a 0a3c5bba505b4741dd83d314a2d8ede587412c58
+913911bfddb69602850ec831faa1907f00dfba6b 42848aa6b235fc7467894c2da9ea4f303cdae30d
+2f993385114b8a753afd270d421f281715e47ee8 b7d06e3aedb6687612ca4af55d3077ffd7c49a1c
+7a154ca3e121cfc7ab3daa8b9f1426d2d1385b07 ee53aaf6e1acdbcb55e857cb14425bacceaec7c7
+fffbf9bc7d81f0bed30d55c57cef197a50a212a6 3977d2eacceb868abc0628fc548a6f05bfa12511
+a6fbad92a57e5c379ee94dcce4789701cbb77d3c e18594d55593f3fc9a57c1fa6ade1c0e2df39858
+4e6d9f7ad14a7406cbb890c25b1b8785bf86bcdc 3e24962add58967eba59787612402778dc1fa8ac
+6657adc2e7cd60b713a22663f1e90ac6e1a55b98 bb08ccae798ed8596cde6bb609d834a3b30c4567
+780e92fdcb342c286fffb1ea03f7935b35c1f9ec 21aa4c0751c9f46a464f4f1f53baa71b989387f8
+aa25d6b68adfa5c95f2bb9a5ef3e967d3902f6bc 2bdf14107dbb921e812a1ce36e631bfc60d61a64
+1fa392106404763729cb9257f6badf5def5b263b f18abd1677bd2f17958f32fe1a516f261aafbbb5
+ca37dc8ae05550c1f989287dfdedc9a262091d1e bee128952b25871abfd82902dd1e5e06374005d0
+83bf57298bf0823c35ca08947af99b08d8db2e97 81acca7a94470d858fc393ef4bbda35eff2d22c2
+18ad56eba47c03be9b1f6cb3611b5bf92b532e51 70f647d3c67ea93f4ef4423ff1d858781ce22f1a
+26264eca6ae716c4940101d28aed8ed552998240 3e566448929d65e4ed719481042fc4f231869676
+c474b830f6a3ba706a8d0b06443b7141486c6c3e d85a6155290daf1e2a72bae7e8df1545232758c7
+c47784d82a8265b0885481ff5219b80e340144bd 398bda69ae77f145bd43e47e3137e3b1bf5e0fc1
+a8635a673f32e17ce909d3cec1cbf9ae9def5944 2709db8cc3eb52aadc19e7b0207766333b32fb4f
+edabc51fe4fbe2b0c42662165e1c91316725d105 e990ac2a863baf40c53e72cd2ef15b0a4ca48b36
+ca8c43496c1f7120d7790d54da8ecc8b43d42cc4 522b2f84341393e7d8882f8002dfd9482b17b227
+0f91b6ae5d591b0f9165a2a30da310c72ac6bf9a b0b9dac555a984de81fc1f6cce9b7f10016911b6
+83515ba2f4021d218785d94332db4ad2589c437b c5108cf3134a67ccd4bfb5c62cf212b5ee300240
+1d859327f815e62cbf6d840f9eb02eb2524e65c8 bc199a9820a7b87d79bc91372ccbd8c600e968f0
+2484ab1474f2c7925cc10836e5fa9b37b9526db3 a5c172b350bfc5fa9c6d5ed6f24393fd260f252f
+3ceee8905829f563d1dbc61f0fed6b34778213fa a78b4c27fb585029420e1d1dd0b92a4260c47d43
+fcd9191abc287992fe8a2dd1a643129d69b31885 134498072d73ed548e740ecf9a81b35a7e2be582
+34ed72a1959cb543149a704a883d2136677c9dba 4b296544b5475ba3fd1c4ee78ef731d10a496e50
+87540e66981472dd99ac059eba5625c38aa3b58c ca77adced98587939d1b1a28f92ed4dfe3625583
+d16c3cd52fe12b9d6bdf4ebaf87abb3d91a2d717 fbccc157a81379b2e594727186cfa23c70bd0802
+626821d6d3130a350d7db4901abc49e47f075cc5 62536b4945af9ba3f53a9c45cf30fdfd6d184f16
+0db59923593a32988cc7c8d6754bf915c18a82b8 342d8c13c9744332482353debe32f04580b2c5d1
+17e446c18eb6e2881c9f720b754582282d07fb56 0f0c288d61931dba6e65b694d4b0f99072a5cc65
+af0ceb62a7ff60206bcecec70b32c3319116accc 7007e764158da556a633ab94269711ed39f877f6
+472e4f48940b6e49857347d5ded72c5ea4cbabaf 76dfa3dd22e2db956df976bcd43fadc78e3a7a6d
+844d457cce59bc6ee5eec82fde233e69038e41e1 04ef1cd6ae91bb6035fa87e25ddb9582c04b9cf9
+bdac5280d9df9f81980b69d17f3d3709ee43f480 62b44b59a6fd75a6ce4e4119dfcb46ce3c5f8421
+9e9a49dc752b0f680a16331f24b3ad6e914d8bf3 db643850ce34fa42b81e313ceba78166543c1bdf
+0e46bd0f241df09591bb19f2012fe34a47f767e0 5d5bff8638ef16fa2f67bd5a374d91c831b755f4
+bcbb78bd78b6f65da25e6c6b52bfd797f48ccbd4 d427086732c19cb95fb2979a40b45ca5f881eceb
+870e00afea3e0f0784216842ab28e0afadd5a986 ed6806b3a230552735a537d291674a9dc267d701
+243e1126bba81321162654eec94be9690e8ad2ef 8f57b908aae3ccec856622b3227b0125f8e4ea40
+320e65d4cf9d0a88d7c3fe24356a48efcf94ec5e 7dfffec5dede8704f7b63cc62f7cda82f523091d
+fe2b14a6c3372763255a3a2a2e37d2bd04563728 96babb78ae1d955c79f534d4883b06af9fff500c
+9d32177092620fa9aba80f10ed04a9b7b64257fc d3aa8d9591c98ba725259bfca7772ad83d800889
+00ef9f17afc51f62f1e46f08a6cd22df6bdce821 047bfc191efa27fd1cc7f0568ee71a2543389a81
+0624de0e888760a64f256771201bd7ccd622cb2d 929b584bf6bd7e30f8d67f956e25980bdc9e52b0
+3c4add89790470edb2820c4f8246b859bc0da2eb 8cb985c2d49035ea3002016b308f79cca697f962
+3f45c4eddbaac3bc5e02561c22ecf63af9104ded f85b25aa4651cdc8b2e5b806f5aec0f765f30074
+d6e34f284f8d49017623c508d7966429fa9cc6a2 4865c4fec4d2732a584a2e29c5b2a61b4ae16c09
+e17a97cc74cc3c02130caadddbc35e2cf6f6fa69 ce5daf405207c9a241f8879eb73bc56059e764b1
+4371e65beb5820b607b40be67070f336c158ba45 1143c7a6aa9a756ed5ffa0b35170494ff17e0b53
+cb279705c25004806121af3f3e388260b8f8537b e9e90528003144eb6b1372ea3d86b67d6ce1cdd4
+e1ca7b0bcb6384fa071c3a256a079f05d1b3f355 ff57872d08ea38ed0fb90aa4b9379ebec9fc76c6
+c20292eb5a7dc86bd1ad44f09630742f932a86be fe55f5243c25ba5ae8c772858619cc37e921a127
+cddd86aa002d992a39b16ffe60b6ca295f69f5b9 c5515a1a693441e56c72c1944c63b603fc8f240e
+f8ee034b87a5fbc8db727c7d33f3fbe3944f9613 731a609c36c3315029673e82c48d7aea0f2f62d2
+6aa860d5c03848cd3d90566c8f80957d52578bc7 03c18f729dc26c785f9ebdf91370a0706fa1e2ff
+f6282889ca3cac3fc937f8669ad261d7208eba0f 923f71ee5fad591f6e5cba72340723b5b390c4f3
+3f0dcc9e28c0ba9e65da470943ce3521d6f9e9e2 3e4b947f79d88c385e8218cbc0731cef0e42cfc4
+0ff5c6af45faf3e467264854036e08b2cd811bab 41a4b372a1c0adceb126cc2ced4c2d1ae028522c
+06f2342e905983aa3b0a9068c2da073c6756b2f6 7c4cd2aa2f3da1cb3ed740669b31dc6519aa220f
+9f350316cee5b140c22189e1e7973be8a8341d9d 3e4b947f79d88c385e8218cbc0731cef0e42cfc4
+5ddf7c271f6d1d6d38beec36b7b891cbe547abd7 7c4cd2aa2f3da1cb3ed740669b31dc6519aa220f
+fc3256726854b37642cdba16592057dff10d6417 f3b9aa41064489a4e592e83e2655853493f00ffa
+007cfb57421e37a9754ff26dcb84672addece81c 91364650a3157a6409107e4f281c09ef253f4730
+ceb1adbad774d92c4d6b1b1268aa3b5ab79e9a8e 9f3dd81a6c4a568689aab8da24205f49651b28f4
+fd24610885777a56ab8aec5fa30b4160eb2f428e 654ab81a3952c6119cb6dde6cb7db2df7ccb6596
+8ecfb2d74baacb1bdef7ee0646be606943917d9d 544fab6320cb8449dcef8fd8803d87d70b9349a7
+35629ccb93bc71828ea5e6b1f6ff44dc4fe0d4af bd5fb620aefdf2a05d7fcd89f1711c8213d07ed3
+1adc2badef668253635822eada5488f0497471b5 bd5fb620aefdf2a05d7fcd89f1711c8213d07ed3
+eec0803b4e43730e346b117236c9e106976f0e21 5fde67b40c0fc0a444e558ebf82d9b224dcd01bc
+60ea8fe15d3e431c51a5b70e2fb781a7320aa2b1 d4ec67f5ef970c419fbb16b77de4f338b9be160d
+6153f77aff4952247eb67ce3a0151f6e4f2a7b6c 85167462fafbabe8fa534ca4c2228ced6964b75d
+5d958617f10991a17014c1972f4e4075e32ed246 be783cc2c64f78ab6f50ec6ef0f0c1b15a09ebe7
+8dce298b1dc79a6fc2bb1e2060a7beecd7469128 6c41a9dc62ad2e4a904fae260b43a409f5a3ad86
+24a281bedb570bfacbf549bb588139724735a9b5 e29859a6c348ce830d9d759c3390c3c1ce788fe4
+d6c65904fc78a157cd3bdd6650b7395fd8cc70ee 38707d70da92edc87c52a68b628c494ea5814bb0
+ce3f0335bd5f264b19749fab24ec49daf4254b52 d069910fb0672fa6234df8b282a870bfd4fab46c
+c432b898fa2cf81edf9caff369f9c278595629de da230fc23b35d7e0b41d611b07850890c91f8aa2
+88a211be0cdfeb4effab19099fda9d3a85433018 da230fc23b35d7e0b41d611b07850890c91f8aa2
+b3f93d52c05c1419066b73b419c5233051a94095 da230fc23b35d7e0b41d611b07850890c91f8aa2
+0b950263a36d0c6990206e448979faff69fa029e 1a55a0b092532eda678d03aa0cabb841f300a2c2
+cf6cf8b5f2cc09c48e5261bd95085c19b10903df 0a3ff57a4322eadc342dd8254d3c4290fe4ac657
+4b6c0e8e115909e1e76e2904819793e42cbd6271 2c448eb38a122a906b7701b78eea1c433e7e0a8b
+f76b3fedcbdf00e9e7a58ec822329ee64bafd87c c7d7fe961024d0a08e50a21e57f683cf678b2a9d
+e31d7a5d49353d8c141fad2138c1b75e83ef7e82 11328f24569432e71df007bd4751022d6c9642bf
+d084caa191f0358cd53b619ac7a409029fb081b8 b7a1d2de1b8fe66a23ecf23ddeecc108b84676f3
+13b481dc0db742ab0ddb45028f32bb970e8c5a79 a2ecff9ed0c35d868b1dd361c99921521ae2a0f3
+7f4872a3aec4984bdf54c173f1418f2307a2346f 30733d7899dfe5379e24abe8120e18f6bc401b68
+a28984424d8117276581af0f6a5f75a465a066d0 0f4424a140157fd6d6fc979e413bd676804659dc
+a7e200a2a6f0a350d2c12c8ea727658f60f8518b 6a7b2ea4c6f7204af2f0cc8aa00a398a097e1667
+0bbcdd372178b6864734fc096a594d07ca80b93f 73780f9586a24957c29020c496bec18811f7f50b
+ae363ed77d520ab65737394950cae8ec741adedc bb96e0c2f455f273cab25833393b1fea514eea48
+4eeb1e7a1187045bce46f52bace19028eff329e7 e552314eac1bca466faef3b0c67194ad503d7d7f
+7e38f6645a855bd56b245253e2f7797b3238bc28 65ff7b9719982a57485f23c62b9ce5a2d019c802
+113fb1132e56f793357ba05ee723929cfca3823d c5a20fcbb78ebf53da54ebe6304d8ac5b599a9d5
+f9aacc83a4859fd219fa7db92006f81ae6344e7b e215f25569fb63ca93fa06a2ea52b7f17739f4e0
+ad77b89422acdc1f3903d34d9a52dd143b793e97 38dfb0c40734aa3eec3a4c190c194a18f69c5e58
+3f0e1eb8a7638c692191c073243c24ccaa01c565 173fc0e4246ad8a90f9190b723ad7753bc22c480
+5335fc4231f134f75c90a571a11a21914e21d82b 1d66c9e67ce0c610a8bf495f465e7b312314f326
+ac36df712dd21cda94fbbe383e227a23f83ec6a4 fa0591b74fb5021db794bc4510c32aaf3e8d1b2d
+ab4fc1d7c4a2c48abfb2043f5aef6e300aedfffe 0ca8f7a4c7ffe785f73cec434432a18bb008bba3
+5ad0cf2af3456564003b494683030893e13f4b6b 38ce81290ee62874071c1442deeb73e6144521d6
+184ba4febe2015a8e1407421e4b9d3996313bd25 1dde3e6881b0751102162413b30cdb456375a462
+9546cd37ab9696ba4c156d7584b680c8c58fafb5 1ef394f60704c9fdd18c15524a6d34f9bf7bc31c
+fa79324fafa1f7de3672d31a222923fad304b35e 1821e29be4b718b44e68375748bee6b70df5294a
+8f0f7abc3b5935b6d59e350240cdd9872c049098 6d6bbe6ec14293678edb4739f61d003328b5f4bd
+6c8786e96221847f94d728f2fa9682a62c9a7896 23de7c15cd838cc7b579dc9f554a0abd52f7e039
+0e88eda3cb916ba4f40a0435c82ec83530001df1 eb4315bd5e107ad0d763e24b07bd75853b2d04a1
+9b1ca7ac6b562e97872808664cd11455a4fb5165 f3855d221a928e3a14e48d46b5d656d4960bb355
+1c769ff3801ec5393e51872b7fa49a9f14eb41cc 142e2aaf4d7a88f5438be9aea596a4323713bef3
+7368c6467f62e1f18c92d9777f3607f0a829a23e bed04603022a5c84a04482c9a6852434c46d5f9f
+9134c2dec066b7c3a5498ccaacb56cb4233eac2d 7566937ab13310f5352e1bbcb4def1120635fdda
+18ac1e057416f0676522ea1ff5bf207fd291ab15 dbeb12483c114667beb9bac01df6884e89972eb5
+909a2e017c0b379f3836459b0c79492670726a91 fc8c66522cb41581d5eb6f36e6dd73aa5442f5ef
+58eefdb8f0ccb7e18d4657805e9800d4e5395dd9 3c4d870fcd93e906233d3a89445f492d6a7106a7
+a6b85edfbc49fc35db3152e65812e0e4b995e474 4bf773aac716551681a4dffe3748ac32333735a4
+a97062cd54c1b16d0c0a9a2dc656b3e8bb8781ed 132b63160ff740b919ab2fb3fac3ed63c00256b8
+f89c1cabeda4f6e8eecc83e7b5b45128deb50d97 2551f5a9a0fe0e22f26eb73654058312c3065965
+bceb7caa68f24d5fee53c5507b2749704d86d9db 6dadf1909348c6daa70aade321a53ebdc087221f
+e08a3f9c34090af4e0155cd7e8d7e24b698ff2ce 09ed6fe2a361ae2f8d8a5ff1582e084dbe20f73f
+5437f2c87968452fda61e08fce556c028f33df1c a87bb4a643e2527d0fe35be6b912f25da3a8eff1
+e8e8f8440681e0f5b124b8cbe503262017f1c4c9 4419bc31b58c94ff2bc296e78a9d4379fdd37374
+bcba0f8945cfe9991dfec44243a1d03452e60357 a58d4f46dca9d852221c6f7289781e4b0dc37bb6
+b2ae190da473ad97fdd83544391516a908c4f7b1 f3a7c5ba1ddb91ecbe3b84ba347b7838be90721f
+3b1e361f09a3d7c2cea273627dd98e2b038811f8 a2c929462a8905414606a12667ae6a295af2a297
+1e373b40b2076c7115de9b3b09bbe30a978050d2 f996e2b6af5dcc00837e2e014e3a7e7e84533c6a
+0503bfca902fcb2f223f65ce8db450a3b4b81d5e 7bcca618ddcd83c9af44f752a7111b66683073b6
+cef10cf1d34a031c9ea05486be479dd1ae5f6ebf aa499ad726932ee9faab6cbecb169b4cf89603b8
+417ebf61b846f173bf662984b7eb8748f85ea1cb 0e82b68914f7ca04f1720041a45cf42274acd1b2
+b0ed5a8166f3eb988fdb2d2a9ba39e8cc4b9aa59 bdc78ad44d6a252252bcb871d20b1ad5a3237bec
+f272a8eb88f9ae5d01d8f6b511c715d3c0959212 626b60ccef6a0bff05af035fbc09e9cc2127fe9b
+2489e28d1eda22bf84ae15855a74f8aed7d987ea 40bc36319962b83e2106054632a2d21e1c007a36
+87971b4c4054451b59abc7a923d701e645a59524 fae1b1d8f06599f0a73c6067d5c93c445d11fff7
+914a441a5047a8315cff382cf13e0883f59557a1 a6f2305a2515a6d999682e10a78deccf11ae5724
+648a84423644c5f266e58d3e3691526a14911989 a8fda233ad8afe0532e38eb71d469cf166b1a5c9
+563141e9d3c5a24b718d605193e41ec86a219207 9afd4f9897ac80e021592d62f5aa93971444cd96
+9ffc92b9c25a40d38559a4fa8f5bf617f29dbcf8 42b8aced25ef1acfe30ed31de1919fb191a47375
+f7ac28b29eec937bd4c1bdc46abb69a9e4af9562 13f515e71fb0431d06aa35e090eb2b3268b206b1
+ad267431bd1d511e08d58a7bfda27186c7436efa 7b153d2981bbccbb7ffc830f0305b55c597fd9f8
+d3e55e75a8aabd2103b4c3b451a0626f7980a3c4 df2b4b24e5d9b8d7216067f0f2c88be7db1d3d21
+ffd8c0ff26b97b45368a200b1afb59efadf64b81 14b0d2c3983790eba06622af13d1d2260bfd216e
+ff28433a27274edfed1b2de9f80e6f3b834ba097 ec59fb7b63e5a6ae7bfb77a4e4765234ccf81b30
+43626d144c4fe87bf6018897bb64620e542af4c0 a15ca0344bfdadb7b010e2805c40c933ef7b8034
+2da060b4ed4fb070608c6c80e17be40592a12155 ebdafa2fd37aea05ebe15a986133a01367c21392
+80e6aa8d75793ba8a48c5c73d44cad8de0f9bdbd 94be8ed27a48bef0d916b79a57c0c219c93d3a41
+fddf0efcb61160d8b47893092c327eee30bd1a4e 57dc08bbe3fc740f588ce283b4723957d8bbd787
+c01146c2f737816a05f07ac7618935c3623be0cf d5581947bd3db1009038b87acd1855b04d48e036
+9498a63efe9e0eb3ab4538cc6f2f2c55275c82be f132aa4188280776d32921d1c001c06923c0cf22
+9a3368da35a0d08363ea9717a9ed7aa7e21175e0 d079f7a7541772ac8466b475d96d10f396e82ede
+db6d54bebacda90cb34e97d813692e9ec7f44002 127fce117ffe8b1a5234f9dab5011899e9e28f79
+707a66c6dad802a1153cebd3c623a50d550f9dcf 2b5a959cdc9926a1cdd56c0f84b90fb0c13fdfd5
+b79756e1bf8a40c3fb879d3d1a66ae4aa2b27b34 4192f193a24428897cae12b8388d87f08bc3c7f9
+a9cfe8877785e7e31d74ef6769cbaa15fcf0fdb9 f9051994ada9c7d32d75a65c047700a5df42ca8f
+6403ed0a917991e554e18309dcd95e124aca8288 207c619d377139cec85b13ca81eb8df5730f2888
+fdbe83b15baaaa1e1ef23898742392e3c77eb2ed e0b15899f98e3774a940ca977a68ef3a632a0b52
+2fcdcdced2fe9a2aa5fc06bde30800fcbfbeb61f b7bcfb60d4b98d0402643ed669b7b097fb35363b
+3f7acdc7d9980c30a30162ed7ceb3b398d804677 b0bc7ea16769ded0fb67214d22c02c85094515b6
+e6ccbe4722cc19e72b4714c8612f73d63c498198 d93fdcfebe2c6d7ca21b2414198cb9b321ae97ce
+e72fcfdd7a52f74f8bd112185d0f294fd0bef7b3 133894b8925c58144a6d125b08a3a563fe57b040
+cb97bda35429d60fe5cc4e23de33c070b3261798 3d4b63b220ebb3976a2afc77f4ed1094b573db3d
+c3d11a330628d65b40e797e2db693bc4ba849749 9bd4a50d99f7e89ee71fe6622f7b0bb11812ae38
+e315a5e5830545766ba2f7f32de8fd0382c581c6 f685a4e16af8fdcd43d37276fd7f512ab0f2096d
+1f4ce340387f0c283a1303af7a2cbb06fe114b77 ccda51c597216a3439b6d34b1d0501b2e6674648
+c1d4d3d6f41bb67e016d0c5ff5f8ca9fbb65e5d2 9aa5f9df9957c75807c51205c008b3cc0484ec65
+f9b555dc3b4f44ac573f4269c9d5f0a353bcd79b 07359c1b5f1e665d4c48d9aefaea1e153bb50f32
+b8e3afc4a7281382c81fff0b97a78b44b11f3bcf ec3907e6e9061874d1d54d76ab509a39b50f62e2
+96b1f1e27e115b7c221e8e389aebb2979314654d 59156187e211f96b92808370b2e367f384623823
+6aa238305d8bc33428d5b1f74acb780b9482b60b ab1423cb33d16271e67e6af0c45d71f7e1820343
+3f7514c711d45c009586bf2a0d76ca8857dc3635 61569a1ec6657f306d47a4f7af12a2dd98896f9c
+de51b629142a819222be3a1616b9ef1d1be000c4 6b1f730ef9c6c3d4bddd66d59a1b8933a20c4b2f
+fb83d44e57f4decddeaa697f0b2374de8cb143bf a7d14c480f7c5bb9b4e9ece4e3c2e0ed021db772
+9cb79d208f05978280671afd1ea16d185f044852 3a6595a0ef190e6b9535cc38dd6e99fea64a2b53
+d91622eaa119810923663c16e656558569140ae7 5b86b8d368b6f3939e4b36e770b0e1c1bb5744a5
+d406ed7fc191d70ffeb04ddc5bef2ed7cf5f6e59 9450aaefd9d89240fede832c417e764edbfb6025
+fa76b8e03f6a04c18a11cc4e55f4857d20fe1ac9 52bd41bbc73ae5c739373ffbc71f849fb7c52002
+c281cfb6d652a160bb6576aeaaf8914ff2761d58 52bd41bbc73ae5c739373ffbc71f849fb7c52002
+be9c7abcaa61365027bcad7eef7e989b8d145060 4f0fa4ebd9db1ad25c38d347de45e230a82efc77
+302a6e75351367a8dd28128cd54d5a5136cf0c87 bd290464816c856ed6157077190d20a528fd324b
+e730a77329f950f1412a17aea54fd4499f1a791e 3a073fb0c6d8e29c355f8f875b82bb0b9cea1283
+7f20e9b230a9f86b1788e40e323d3aaf5ceb4627 375dfaf7377cbb2d3a3f8c44cfa16cc1a7b27c5c
+8044ea08ad190f0b919446204273d6f1773e84f6 329999cf41983487355fa6bf3cf8e958c9a9bf53
+c04c58de687640cf196a3f92cdf3eee377017395 e10c3fb897eb2a31572d5e7e7e80ec1bccb26f1e
+f68d5546d4b05f1875f3b891aa8f146ac0a7d74f 31b7d9a66c49f7444408da4befd5ad011b82b20c
+582ca7efa899f5731a66d456847a6969581b6cdc af764bde3685a8d756b0dc55b1a25b27a63cfb1f
+1f3ddd705abe684d077b84e2dcfe00321d8bd139 3bb79ecc872ff58aa5d07c00eebfb1861a358cde
+ca1bd04322d5de0504ac394e92826062d8b6913f d2adcb1aeb29ded20c6626351f58165af80f5ea6
+d7abb629f3b4ad4c14241446a44540be9d27c568 f796f693a84593a6ce9b8b77fc392f6c0d44f05e
+e62ab230f2bc2e47197e0c42f0d5dd4c38f65328 e70dda208c5bbc14ed6a6a421dcb7cbe96ac26a3
+4e1a643c4cdba7c953e36953140e0408ff6c4172 f7f669310bad4b01fee2b5e6ea10a37d279fb5a9
+1865c0a373099744f1b9a8572825e5d2ce2e558c b49740d22a3300a591df07e74e90f1683153d591
+42c3a96e37cccf9257c0d25292ae0c5ceaad4db4 56097bba55bec10c78459c6e7e00b56b32ef9539
+d73ff3e06b66c977df499014c4ceb0f49ed1f115 5fe701d59528783e8145a1340cc75db8bddd481a
+9f0e00873a6f865289309623f1632a980e97895c 93109b5be2ac55467d41a8b89db3122c120e1ebd
+36b40673f3c535501d5b0f0c5e38b7841c7642d4 c58e3070298892d7ec1fd11a51440ebd8c862d08
+504d7a5bd8d0c0e71c3b73067ec0d32183bacb92 b30a5c9b3f6bf1dd61164effdeed94ba9c997ed2
+616a459801a2b3fe1e1b7708c7604d306463184e f6a27a4885aa0f107033e72255420a0d78765dc7
+fa388b2ac7ee6bf3cd48de8763f61fdf5b773499 9bfe253402d2fa26077fc5479570adec6f3b5d09
+efecb8b7650b0c779948d38aa290cf3cf5402a95 388cd0be1c71168ea73e2141723890b8d2fcbf13
+e5334d1b8aba0eae810af23e7c9f69769110c5c2 1c9c98f5deccad8174717f9b3c2be18e95caf873
+c21b1bb15afd8a82f4a050efed4cb866d89109a7 de36203be33233a1b51dee3547771c26121dfb7b
+4774fa31cd0cf445ffcbc8f556c7f1c41b9ccce6 4b2fec9b04ea40fe7ab152ff4e4fe9657750559f
+42010becf94dba756e659995b35f9d69174f99c7 c5202c0dd91d0b808cae2cc9182398087baaa165
+c6b5447e2b859501e9b67a7c8c1b4f24f4075248 5ad4a42bf9fcf0b96cf8ed512b42710ddfc19ae2
+fc9dcb634eec9217b1edbb9ea6c3fb2906416b9a 079288d8e314b0d896261a4f4471fa2d23eacbc3
+4aaf7769af4812a2cd080e4b3a57dfc3a5330fd2 4b7ac1d5593e86b744aacf09c55fbd47f311082a
+b78f3db5bf5978cfc2d8f72a96e5ffe42c9b0ee5 907ae9a857503adaee4b81cb42edbeb18268a90d
+5a13e9b33d1b2be726d6f640e3c43a87cfd4eb91 f467b5124708c770afc3251258bfaf92350d7c30
+f6e4b36927388d0b02c4e32f7a859550d620498e df1662d99c5649eed5e9fe229127f729ddedac51
+5b22d74e1b65badfe75ce3c66e3349fca566e7dc 950420a635d5dc1876bcb0f112b1d9bc778a8a1a
+39166e254e4e7232ba630cd4ab93276d79cf8fbd 8f5de12afdca4eb944d662bb25b4bae9fd6c8874
+d32b07e1d619da0902ab34b2cd193386ee588f71 7595c85a5b743468b8ffdbdabe8b9b3ce4c4fb07
+6a69ea0d53dadc162719196366f9fa864120653c 3cce3a388fb9db27bd4cc5eee2ab123e41397e73
+876bd39b0dcbb2808d4d3049a3ccfdcecc7dd53c 8677c54785c57fc5ac83852ca11852649bd22b28
+d30b2e2832d7ffb8f9a83734ffb410824acb84e1 984ae997c743fe3544f91bf6173f5004a9605eb4
+9551671ca205d9eb458000a5f924c533d60a5e31 6f769bff5269332c14e1c7586a71138979d52f7b
+404b2388a262aca47c90410b955f20bfa1fef75c b981b37f43cf5a959f63ecc634d5849b26f2a3fa
+16e16f66dd733946b685246d396bd5dc9549f138 82934d9c2e8eb62a85999eab604bdda4fa66cd40
+fc4c4b93d9680782c8996753497161f10090206e 6a7183df23333ad28188fff06810f572c125f675
+db0cbbfc21c957067e65eaaab0eb71f4ba8be399 2c7cc35e56af166d484181f083e5e504b8c17e70
+783d728a309c2aea02c84c85909f2f37ec8bce18 a564252991f54dfcc6ba2ca3cbc5daccbd706cf7
+9470877dc2d5e676a818c86ca8e8a485e25cd876 1e6a7898a892b99f25a1ce8c36282251aaddcb09
+92c5bcabf1af1686a22f25eb8fb29e74e57195ab f87ca7cd5f09b384c243f7a849cb4579b7701b32
+bda5610cbea6b07ebbc56a69c4e112f8031d5147 884facd084491bf37486060be2ca26e5b2702cea
+92b03540d9e38fb1ff60675a39c808f2656a569d 3e4b947f79d88c385e8218cbc0731cef0e42cfc4
+92d1b00821317b6c20f6e984a8f9c92bf6eafc4a c7d7fe961024d0a08e50a21e57f683cf678b2a9d
+86ca404f07397a7121690cf68c715c4d5de52ee5 09ed6fe2a361ae2f8d8a5ff1582e084dbe20f73f
+332b17186d929acf8377222817148bd0d26dc590 38d301bd0ccb23141b93e358c536311103c226ee
+f22ab969c08fcbd3de3682ce9df28453b530bc94 9fd0df070eeb83b9003cca19f00afbfae47662ea
+93846beac61ba8191cefecccf315ecc51956b919 8235c76a637de3128de72315af9da8b1fe69a969
+6b427a693c91dcc5c5b46d3176daff6313209531 c7a7529d3c554c1587dbe1c105bb9ec8aa7abca8
+fbe380f1c7a4008749123a227e7168ba8310588a 501713cb08f6ddd0cf584c4d941c5c0061acddc0
+7a62a6ed73e9d5ef56de2d93c5398669204fdb0f 047073a0dfce60103c78db65be5a41053c31d13c
+0a080c4519cbe1737ba0e12d64fb3c84686c5940 1f15a74f40f42837a8b0948bdd387b576a626da3
+34e013c1d5a1a98c0cdadd57ef4b88ef9a0ac50d a4ed2cee6b3e305641350f8f75bf802cff55dcc7
+1eb90618219635b06933267cdba1d56c20fb1772 97897bd674979a81df000943be7b32d62bf1fdf4
+4056153624018c29a624e280bdfd9ed985954629 f87ca7cd5f09b384c243f7a849cb4579b7701b32
+741a49ebe18c03ebe1cf9df55806dd980e576486 67bc3de756ae20cd828906df5f8ce41a9ed3fd61
+fcb8215123bab9efd1122fd0972628888a250b02 67bc3de756ae20cd828906df5f8ce41a9ed3fd61
+11b6aee199cd6672c50e9d533fb9d2e8b4807515 d32a2dab39997ce3f952a8f8e370127f209bc114
+04f5ddc4907260d668a952128a6810ffa27fa8cc 758f460baa65cdb5ce047b4951d7217dfd1e743e
+78313e48e6f54639c241088673ad5e4a89b58d8e 7dbd09a646fdf5f6a96776b5bd36525a3ee319a2
+c76babd8e1384ceb9d1b88368ed7cc739311ddca 9a0143503ff36871a94d6fea6099bfc97a46b198
+e714da7f784cb3ac3bcbe39386435d27dac70264 8c2a5154e5a2127c20790f31e949090c9bc85e9e
+55df166608dc3058498330de4af20e6f009d90d4 0c5d21efb33bcadadea99c77678a20fc5ed13fb4
+4916c3c670f8a0b354669333d040964340ebe2f2 863ef6c2899a49114bb6c9c8c49240d192b48962
+2dea858dbd55fa39781f86b2d03fff8e49640d9c baf5a730f870ed9382b4b9be6e30e0ba96601e0d
+7f4c518ca5a60cb7871cd876cd1286aa7ab42861 f913ab4526f76727254725c553145459514d35da
+66aeba124eb1fe07f796b3abe63a9aa11878e521 1ff69e7a8dbf9d5f3f5fb92b109dee533238991a
+34d8eb7e16d4db342a1880bdda6918b0edf4215e cd4c3a5370d8dc189280a45408fe09bc9bec8e64
+439c90ab97dd6440f2e2c09a31298141e254252c 0eb9c9e94ed4e2ea0c3ddde2d08ac4e0d3df1629
+76eb1e4a1f9db097f87f49551ac37c27314bf26a 5f022cc4e539e6ac24c00ecd979f542d39f0d6c8
+bb05d89848b98c9d7838405f7b09195944f0816f 0f57d91a7bfaf53f9c66ab4ab6fa01e6a935f379
+93b9231baf82fc4226b3eca132aa38f6a31a4f27 60286495bd1245c3c369146061f1897729e0cd96
+8337d0ad3874f684647bf6917818fdb2f64f9609 0962101bfa7df0643a6e625786025fe7f8a6dc97
+5a1dc6eb57d5e3170e0375d2a1b0124a98c3381f 491cc530c0c4625caaf69cecc64e3e471a17a5d8
+417623b9b6a4f0e000bade9a20d31c73df9f475e 4692e0398e1a9df325da58f798aa4b276270158a
+09b265536d2232db1a3cc2cc91c3747421b228ef 14dc3d04ce046884dd1a894a05d34048af3dea4e
+311469ebc82c8007e84e0d5f1db0888a0af4e598 a314bdd53882fa93ebafe3616846a3674b70a195
+71febed2e5677b68887d6ef9970717d3e670d0f2 36fca13710724f5c36320e6a478e282c2cee9ed0
+0d77fd9e6403a666109f423f495eee4a398fdd59 08ffa0a1376a7efa4bef47e93c2db38833d32b34
+e9cca512811550159b883ed2a853caad800ecfa9 a2ef34608dc4e6ba2904e383e7f981578c4c33ae
+b6af412d07dbde2b036d98d452505a078ddca28b 88de2ea714f7e028a6eeb7480522bdcfc9edb74e
+53290516675cdba4b9dbdea0eda24d8f9d197eff 4feb25e7ab0336c0101bbb0acb611f0e3314b909
+014389459b3da9ae9a750124c2de38d7ac27317c 6a26eaf03ca1257e8c48fa907dfadfde5d00075d
+470248005860b7be53d3dbfb0de18cf78c0e6766 84383a3938833fe15131bbd8a727d4663a5b4f69
+c1261954b4c07768aaf780a562dcc003df992843 d8a1ddf0af6524e539120e37603ed628f9beaa1b
+3b6aa3b49fade0b7a02dc65f30e8e573861ab3e1 2fe47b4a747e19cc77f7e45b3531246bb86be62d
+81457e6dde9e171c48abed6ed72b4833459792bc dd0f0d1edcb0c4d3a90d6beeac098c1f2c0f59da
+5001544f165187a85b448cd78e6c9f99d0bac474 c3a0d81115243934a0e471ac47116e6416c73cda
+b6edf54ff3484be5be3371aeb850a5086a491038 672b8267717ece93c1ae5e3127137229b63f47d9
+4abd00311d4943291abbb3628617b55e813a9507 edd2935d38266087a808fb9880737d7f3035a91b
+bc571d57ff7c80d10621fc5ec2e176cac2987783 c1a65ae24241b8225371ebcf81d20eb0361955b0
+54f66613d76cccb6ab8a0bf102991cd06f4e4b11 ac02c493bfb7c90fd2279c245173689cb5b57c0b
+08397c6409eaa71362c1ab6d720df73c881b2a7a 135528064fd4eb9494045189ac0d5118a5efb0f5
+33d6370814fab055775924067f933e51f16ea821 337af75cb01ecab61875dbf2d079e637fe57491a
+f1a82bf8bb6d903edaf9c68f7f34a2f03fd4b45e a9a9dcee7a2a082b232bdf672bab6410eeccc983
+a5c213f9845e5f3040067f84e62bdda57eee5cec b145a1cd417995bdbfd96c0f1c4f2f83ae8b0349
+fbc7500cbd33c7130ca2847824fa89b7d06e6f7a c0d3529b545f05752e21cfa177a82109e70c5f8a
+ee3ae309867d88936e2feb28a96a5cf56f8a5233 f1643961cea9c15131d0950a336c64f691118538
+f358b583cd2921f3720d8c64d3fa46a6f9ebd273 651a73804d3692a3d4e102789dc943c29163bf63
+b7cb436dff0e88b4b64d2a7f11890f69c676e9e1 0a4ff55e021bca0345f0a59e046e108bb4f447c3
+5e1d7abcd8a0c4486e319d737d951b3a8bdbdbef ee9a61311c421f2aa0533c561a02ef0da7400c1c
+33549cd8f473078f1862a171e2915d3d43f36d1d 31a42f7f972809f999698d2ee31972fcb8957dd8
+187c45254bffa842697c438795964c439d4ca91d dcec32b0cf042677014aada320b7696f2169e122
+fa7d5342f9e36383064ffcd5144d733df99ef245 81034d25ae74de3a54affbb1d7397f4d77b49e08
+fb5d3c53a1530432ad2cedf227e02cf48c91e2c2 11aa6d680f39f3234b5bf078683453864d9930cd
+bf611b486077e92f81f391a5badc6cdfdb64f7c3 edd2935d38266087a808fb9880737d7f3035a91b
+b14845face05bc33378628ec22c4bfa31e4f95b8 52f2a7052bf0cdb36c02cc58c720f282545293ec
+bb312b4e5c10e2525267f9093555da9ffb0b192e cd71298bf0f589f4d519604e44fe3d09793d8d86
+65198988771f1ac252bcc510b75a1d41029e5a86 7ffea26224c4fd503650ebe5b67c46b415b6c65e
+218873e0346b6c69d8d020cad70a000bd7839060 a1796cb5e6d5194c660ceea95bb59cef0773aa5a
+76771651501e551b532ecb4bd2ece105235cc486 f0254cf4e598dff8bfd3e0b264f70abf1cb43520
+5d404b1d499bf97e96d589406ab7afd9535547c7 27bc4b74ab63c434449929a8bb6c81096a53dfd0
+5b49d8bd6f762a59709688d00d2201494218eac2 2fa04c4f10c202dd011bfc76a9947df0890fd0ad
+9cf31989e740894405c0b129da6bae10d70943d7 a7cf5e65ec0cd8ee7354d0dd7f67487e390e08e6
+ee207c1a0828bdf738b24e3c349fc3597d075633 22327cb79c1245656417612c6795941bbafe4082
+ad1ef2e51497cc648f653d4d4d1723e0d413af32 4fbfe7d2a2d290754045ac12192be054537b9f07
+f63f5f150f797a25ee7f21d7967dfe44d25a579b 16a2a9be32740e7f0016314d35b684087d43bc2e
+f0dbc7d701464aadfe952218a08bb9e22e7fa346 f0c0165199ec2c2cab5d5d5a1756ada1d617a637
+8fb84a6ca81ca3ff794a24ff2a42a045b3f49a9e cd48ea66b418e0608332a28e0e4e4a26cdaf4d8c
+f0baa26d69f0e7a9086bffea72a4f84a15c06736 3032f1c0a769e9902259f30546e057f8d240f0d7
+9637e33bc5ed6753a2fda51b0ed241f5d93a27d7 ed7d1e75a834de957738b52a69125889f4627bc8
+dfbb8ea34cd66c50e1a3aeed9bb9d2662bef2311 20e953c2c12a3fb30dfc0730ef7f6a94ef90d039
+2aa97c6e644f93341bc75e4e47517cf2b2e49707 c4a5d2c12fb79db0e1a530c7b4dfcc5af1b1e34c
+627344a7d3dd4919f911fb8cc287e8bebd191dab 35450d21a3605cb006532ead9461e0ed150e4635
+d82edd748937fb7d28abf1affb0b903dbd104d2c 11501cdbf86c48265941ebca2659575a604e3e36
+2a92b8d8bd87cc25f10f6db922928b289f4976da 4d393ae5054ea81deaa60c69b52166ea6c1de1a2
+ba54e05a408b061cc84e72b0e7d0052ed2884f72 43448991c68f1e5e6f8e636402d75380fa3a44d4
+71ff1276bb1cdb21680a2f102152b6d530e0fb1e e16e32711cff332baa623d673257f10c8882c87c
+a380ea9d499bf2411fcd1d85a9fd1a53516d6d4b a9d4a07e0778954a53ee8b054802f7219f4b8694
+be26e86be7f08ff41d91181dadec699cfd6a03f1 5c638558b3bb0e0a716ed5e605a40cf648f72ce1
+46d6c4624738430faa502134ff0827d544ec8f04 87089b4b7807e2180b211745105b35c14c47836f
+cb7a8a94c332f8e67e9b3d7fc40f04147218e4dd c4ae8d972a3069d14d4448968776d27c819cde6b
+b8d47066a793c69ee7a880f38728b3baa5b1ff00 10fda26ef7bfc5effbe5e8567374826abdda8137
+db6ce867d6b0aa9fd1fc9a66d387d0dcedf3772b b6bf9b2fcc4d5b4c76fd93f449fb9cbdd39592fc
+914db900403bc13100e585d6e2ad31cc3ccd30a4 70336060db553d991726cf75a40dc70247007fa1
+8717ba1f5199c5d99e996be2e7128f6ffa9f2fad 9fde3a30dcc689399c0688e46e37b45974a59588
+3a252a328e2e871006a3cf7bd13972826cb9ab70 2fa01756d3202775498b9e299035585d7eedf752
+aa84978409384f845a0e2fea82c0b4daedfb952b fa9c7fe2037a5ca79523fa82ae251c9df8804e57
+e90cde5e07e980a4f8e4111608c0b81ef76aea9b f1e8dad421d2bfd27a7d01626a991e5b466bb984
+684e868b73c4639ed074605edf74d25e46df0720 ebc812546bcf73b5fcb64b87d2997f32a1a88a08
+ce0981289e0dfbc2cd28888831b5dc79da3d8137 735e608dc6c9db3798914e08dd8de95341f9e717
+c0a953646c0c209e071ad5bc7bacae09c205945c e7a4ef1330fc1499518a2e07efe8fb8a38234a78
+9417aa363c006f1381c71ca80ddf4312b1c8e6dd 99448a39ded119fa45925f1435b9008a483c460e
+316783a256eae1a2118138fba671fa1f0cdf8c4d 057fe006dfff0663284180150ea49e08c0329a10
+7401ce34f7ab9580676271d07bfed2db661b1b87 dc97a87917b477d7837b0645cbb74b2f100d0161
+ebdc60985cde60deda2a1e66fe8cdaad89fda77b 251552b9c14c89c5063d86485a2f8aa222306a6c
+134b8ded51d0ec304139264dba86a40a21cd344a 5e34fb35b3d3a55ab3830ac1a474ea28b6d06858
+76b2ae548c383fe13ff05866f90d247a4bdf7657 b180942783aa20a8e96fb85a8d8b8e876c60883d
+d3ed7cc74569a294e72983214cc7aa0ecd8e273f c5edd8974db66b08447e372d182f5b23db1134f9
+76ebc0719333d7a10cc04402b37b53e62455277b 9477f53d5c676e8fae263516532c964c477d7ff0
+cb8d979f65cfa9121fd33ad6a8fe100292f49739 18d705f70c0cbbe795118b74403932caad1b7476
+2744ea9de5b9087922c2f83d5e7f0ffd77ce1943 00d2cfbaf51bb09ec409f256a360d70ca96829ba
+36c73a33072b39342b73cba60347cb955f91fe44 d0bc621a5a5200e53b8ef4847989a54d2e577595
+f21a251a70cc3591848354ae6fddaa998080fc67 2b22a3d93247fc9bbb12c649375ab27de4726aa1
+1bcc87ea0ad01e4e968f112cd76beb0f136e20d6 c467a923744fb46d8e2896b38165ace17d898dcc
+221903b0b829b715a72acc48072e7ff36ffd6206 2891afdb40175efcad8ccd8bfce1e4fe7209dc5d
+4cca402c7d8bf7058710ef7fb5bc50ea1afa0f8d f3b50ae38fb906ff10eff1279c11b3bf89605b81
+99b7619cff1863dd76deca94d87e9d648fada8c8 2d374b398649357a9c84ee458b9472d675cc8792
+e3c6aa2b43b4d83bbee942a9ff5b2ddf1bbfcf2b 93afd2229e9b9b1c05078ecd197decb4289c613f
+a51b1fc51f18df1a0178863d5b9bb86c48dc1d98 00c2eee8314065a1abc681ffb20669480d53420b
+0a5fecbec9fcf29036f354e635293a9affe4c878 a476705db990b4678dab5e1e4f7eec017d0941f7
+0e25640affc9910e65d99621f184c7fa0487ef20 5e83cc82d00a07033d4c464edf8926d268407fe6
+e8840b2f94225b8efe28979a41f05d4b6ce40791 76b15256803f847e230e44eb3e05a79cf8998e83
+d4001b60ae9fd0cca3fff4ea9c8dd6af3bca7c3e 25eeba708953920b17c486ae2180932e24b1bd9d
+3f21a2f314605dc25d6e14bc5f141680bb6667e5 70150866e7f1818bce23f397e88879f68bd4e8aa
+7211d65b632daf3b4230031d0c6aa230053f5dcb b3b2af736d53c8b9ed6914a415545511868e3431
+cb5218c101a13d09df0faa5cb50db99f70de615b beb4c4a1f5d5f9f6b52b2d9bd5cbbf6acd64ff20
+358f7e8125a659c1a76da81c39700709acba3f28 72660b9d0fc33c1b9a0a774ed9cde5333e3215aa
+68e1c47314fca9d1600089646040f42e3b09a955 aa7b770fd6cf68b727b04fda87f7cba913594e7d
+e759263e0383a50ad81cbdd45e11c4a7bd2025d1 e46668edeb20d6a846387c3e3d61cced2a47f355
+3ba3c0bc68a6a09450be8ebece45a6935531617f e5bde89e63663c1c5c8cdf256c296e43c2a300bc
+6c05f61887f89011f9401c56c2a1e76764bb3692 2de2852d4090f5714c3144c50eeb905fc5cebe25
+236689db2633e901ca03f683a3bb5624c52d8d35 6d7308ba3974b269689962a8b0477cc0f9a70690
+2539073aaaf3a8d995934418c294dc87fff3713f e85f328279f1870f4f77f77d4ddb90efa9550538
+a7c7fab44e25fd0f4f2d4b53d266ec3ba05f9d7a b4fd41909cbe3ddb845fe1d5bf83f7847b954336
+e235e9c0c3c79a978e9df6df6f69eebc28b71004 42e32d435a38e419dcf2979e7e5337f9bee3fdf5
+61065e019bae840efbda03cd2f7a2d7d086558a2 655ca08b83eefe69e6879a7d55deec1c02f1afa7
+239f6ea70329590103dde814558c898954afe46f 13112c14680df03b1b71c4d8697dc57baa556c59
+a10badbc592900c0ab71c955db48cfceb42b0722 817fb2d9068241294e423ae39b984989eac8df2e
+c90f4ff6bf331fae190c1bbb347f5e5700c096e9 601808ea2ccaaff5b6f1bca4055b43da88be8ce4
+878a0a30ae6f1fd0f2aa3c682c9ba0f51c74c720 2185fe31d9e411d70636f578f6751e593773ac76
+7993e1e773c2fb8b0a64a443365fcdd0434911d9 99448a39ded119fa45925f1435b9008a483c460e
+976ea158de62e268407c96e9a1cdf35a8c193af5 f7380f6cbe31521c13d16f9cd4adcc9c9ed604e5
+974ad2b8444c18d99683291f84452fdc858a47c7 a46f498db141dcee165f9e14fb9c481e995ec853
+057dbc3ee97e9e037ef269349a42409c9f689cf3 06fe72846589e6ea9e85b41803836f5b903ff51e
+ee5330128e28d00738cfa3017bbc16a729200751 7d7ec04d784bd15033455d76e6c1717f64ce844e
+3b164f6ab83b0b03473181a554fff25e842954b0 5d94552b62ce75ba1f1efcbc491599364fa6aa30
+b66ef67cdf3e637978c7e1fe2f8012757e8be473 80c4a8ac825a35c6d527c7c5fb51eef51cc86b43
+f9ba3fcc2c0d20d59d7b2eb7d898edb8ebf4cb3e 4ecb7017f95b259b8bf274ec91e4aab8c20ddd96
+e49be33c33b38c1e04bff8ab802163dfeb3df828 e78a994571905637d68cdbe7eab4197d669df309
+3ec2383d630a78da9fbe6f6aba0acec02765e17d a98ec8c6420bea39a896dc341cffd8f4ca8ad452
+0febb54cf6fa4c2ee9763915f09834a98831efc9 6f1350f8fcf27fc199f55d92d1de2ce949272a14
+b81f08c3e2b3932473d7d21e3b17f78cc476716c 7fd29f5d00a45756a64887546054d12bcb8dcc28
+f2ae4663c4bf92c2e27a0bb8b29df30faac0fba6 57eb09c4cf962ca5aeb85f75daa742f6985f3c14
+b76e0ebf04a1bea230890d2e3cdf07bea2fea632 57eb09c4cf962ca5aeb85f75daa742f6985f3c14
+dca182757a90a77f0190f11949d3b9ef3f28c49f 21ef3c1aa784c91657be21056e19e59e46314946
+001090b7095b148d939be0fbfb56b86a2b1d5aa8 a10414a113befa710a5aa7d9ee00eaf773ebdfd1
+82dc2f50d0185bfb5ecab87086e0ffafdaf6ac0b 953d5f30479361dd3efb727e295ba6b85de74b90
+db3769a6289b29960453dcfd4911b030f587a789 84b87df2a2d7f1cdc7620a0b8f88c31a1080c3f6
+ff89211e1cb0fe1c94659a54a41a45a127158db5 cc03a9f8beebb65459255dcab63d5664eeb14752
+8e9c167af0c476faaaa644fbc9c5310529f319d6 7b00a2b2a9d93fffbf0115e54ed0e670fbd7344a
+c9c4f23497c7641c1f5f02de2969193e09bd1c90 4059cb69e8cc1e3610706a99c2fc89f890566359
+43ac0fd93b8ec7a34d9e2bdf1c00a74e96a60955 44c5b7eda8e5449659a382c857f80d1b10b82bbd
+3f9c541e3536780440236e1a4d8c56e64792b6f0 79e1098d19ff271d26bfaf1e8de6c7e1b453b90a
+ac4482433a3b7834d11a2749bf2112b75c0124df 024eff360c1be7303949c84c8ef18089851c8ede
+aa2b7cd4d21731ad545ff5d6c560deb14960c955 1e2b517adc2ecb342cd3c865f2a6ccf82a3cf8d7
+cf6c443dd247cbe441c93dc060a9ace5e665d1ba c0baed3ed5078fc1f6f9ce7e854d87cd5ebdad94
+7469e3cef3d9bc26e00f1c2e98c70d009800673e 94a20ab790518ebc0e6b6c39e392efd2bafb15cd
+993e70bd89b333506ce260b6277a753e41bf7ec0 9cd0fa986b870fd82a2d4753a126186a08a92d40
+f96277746437499e492767dd9ac163c8af0ca2cd b89234729964e8fd06f0c4d57c385cb0e0d81ba5
+bc6a47bce77b8ebb97e54a09a99b69b56e33416d 61c7717a3b0501440c1532bae2f8a9c73281a0ea
+afc098ca80711b7fa62a7521fc53d42c64df5f00 cd8f855f917bab88617e48508ed1c9ef652f5db1
+b53d569b874904b0fd718d409bc2c2ab79510c37 4ecb7017f95b259b8bf274ec91e4aab8c20ddd96
+b8553707547c7df76fb7cd5091100aefb22b33a1 d313b378ef28b1338a5257e28be684fa552ea6bd
+ac5b664344e79a945a591ee935188a3e91feb6ed 4cca988dec686acd1ed2dfea3fedc91803439a27
+b5a407c3650f21ac92167751f21c04dfb5a74230 e7fab808996a08a07206e1de77f74327adc148c5
+49db4afde3fcf7611199aacbaaf169bd154cd062 5080c99bfb4f5c85dbd3c27dbd5e27fe8d213d23
+c8ddadfffb91b14b8a7ed2c230abcc623dbbd212 036e551d5efa310ddb92874da352f0cda8a48e56
+4c1df2a4923d7258749872ef32f945b5de91e6cc 586e5e54847ebd15eb4e60ca3c55c2f87478802f
+2d1cba063d4805e8233efdb96ac5c288baf5bd6c ed67670db18d18c00fa46da5303a68d7cf1bab62
+1f2a0155041b7c0114afa16c081fd1dd401bfd3f 968f9c2619174bd45506901e4418f10373c6f331
+f1faa60ba2c5fa6120078d0680f17030a3b803d2 fecf95cab85774ccd56e54becf7f1d56e1787080
+9982d6543247a8cd08d8dcc2f408b63704f5c0e3 fe6cb82150c2d1ee805067df961558a334984ce7
+0805525a6fb8e80a121d35a2284720070288288b 5eb6c2f410277262314d130e71f8c3e4d771f3fa
+41817681ceff63b26fee83e055e3218acd5a43c5 aa123eb43c69acace02649835aa0d62d96386935
+cb826cc32936e3907d9967cf5075b530f008f578 d51640d1670059e99bfd8c214cb84d16d72f050e
+fa4355595778a8296cfdfe1a347dfe249b3a4464 057e1c6474164b0a4b1ec64053652a2b5f1db185
+1b0d81a4678e240e83e9cce01bd0f0fa3d074a8d 2f2b36bec87520d1ce735dd7d3c7ff5b13791fb2
+2a666ea3910acb136fe4f35c2912e7dd9988aa40 fecf95cab85774ccd56e54becf7f1d56e1787080
+b70d446a1737b4b84eac05a447b94c12c865de75 7423f9c8df8e1fb43959a5e23c25daea4351979a
+01d0d09c4307f213294c647debfa36a0c8c2e6c5 cd726f435a0d2c862479c71d620d341e43347e66
+76fa1d86715435c87ea7279f615983557042a957 baae60be112114498737893de10bd5126f6018ad
+06847c778fdb5467403771ab88b21326ccc87a03 910a3e7e51cb4c407e5c6c037c615e52dc8bb891
+e14a4952ca046a43ccb0ffd49b330bf2d0362cf0 f0203ed16278854aa993ee9323a96d863d2c75de
+e4d823a04c6b5077b6d47d999e7e8a0bd05a5583 8fe8f90d3d410d717e178f5f8a8d56cfbc10ed62
+be05519cdc0166d0ba82fd559e8f2e8921eb573a 433bef2ab2043b6b89128ca7f26780d7805b7c52
+2641831b54c1544a24766fbcaa6765bcfd66c21d ad295526870ac8daa04436ae986f1162dbffe83b
+83e90dbbbdc5c34654ccd524a16b093220d3fd8f a4ffba5a9544cb6095961c82a1bb8ee4f23a56f4
+d0906a2dc2791418fdd0e1c31f5ba670cddf36da e1db9196274aee5d50b979097cc79945b5133b97
+e7f41bb8d12ceeda7254a877078e5dfb1d607425 fec13757e4061563cde1635f80f3de414e784349
+ddbdb2613e5fe6ad3d6f645669ab9b647bba4c05 48ee7cfbac5663f1d89cbb38519378b70d88056c
+c18f432fe0ae3511ae0005002888e16e09200118 5a4d69f9df7f54149adee0360eec668aa6793bec
+6a63b913f274761bd5f9c6b30305bfb869263429 4e5f5d906133cb376f7de2ae1492b3f431d37fb4
+197d9d91179ee45065d496d0cac009fe90ab20c6 e3736f92d0516d113389c95e6561b4b71e516df1
+8c96e0d46fbfe76ed50135aa9c0166eae952d599 34fe0f20d29aa40733e2b72c09013b1f594f2b9d
+19c906e9f42226a02faadaaf922512b10c97ce03 ffee071b83712edfe29c0b0dfb0f6392014a9a7e
+624026a46301161d88dc219caa68c503450eafa2 9119fc2ed9ecbeff31234cbac79bdb9f48a271b2
+c002844d26371a84e04dc414c0d23ff91296b2a4 b8c9aa203d15e1267434126b0d492aba987fbeb6
+4ee1eed2c196e44c1e55b7ae8fb84be600d23fa3 86f7dc2b995a84af95c8a64ae196da4adfde2e5d
+63e5ed85a7b3047dbf437d12a76bd99b425a91e3 19ba6e9ebfefe3771854ec16b10cf00ea3dbbf26
+e22b1d038b0f16bbf1bc91236e50271b0e9d50dd a01739f44065ef98b80d632301e1d252c1ef84b1
+cd8cf3fb8309c43136919e9160a09e4915ed6887 21d57b1b0e9739f61cc6fb210a1d872bbad355b4
+422b875f0e6681a10c0a9425850aeeddf36ced25 73a41806465c1fdaff9c6688908efb19011913af
+5253ba2548531bef83ce78e9da4041e5d4b8a609 f053c9585d481ad5683b5a862cabe5bfa49d163b
+fda832f29aca7e72db69d901c8d069264571adbb cd3c6d9a5e6f49de31db8334d2c6d6e9447cf519
+a57480e0c4e63c767c244722a3c29ac1958c380f b65afcd6d3adb18c49a8a5d61013977df6c6fdb3
+26ffea05841b1ddce8656de6f72e93bc17b760be 08d48d897ccfba1110884cb3abe11896d2ba6002
+0917d4ed15d518d8a79bcde924113d4d46d92303 6ba25ff7d967b3599ff19e6db20188c6616b61ba
+363b95ab3d49dc63aedaf315263e652d15fd4d59 2de376a3a8ca15833dbaeaac98a7b4c4bd570a85
+af788dab23daad39abaf2cbffae48d13c0132bf7 ab599538e1325000ec013503d86766059a08b914
+03681d4c1c382049ecd4d30a8c6028068d83a547 4981bf790e6b583f20336f2b5d3a4bb22c7b99f5
+24113cbb876e0b050c7b326f8959e5f06e4223f4 6a9d9a0c77059058c1df03fde682ab21cc62477f
+b583e769bca577900a2edff845856dff8afafa4b 72e4d7f83dd63812ddd9bd16761f33651670666b
+e00cd4fd3c02acbd96ea47ce558144f17cd55ba8 a52b9c014623f19158b7847164ef2aed29e2a9e3
+13bc3d60829cbb35470994627d536bbefaf0f199 c38cd1f13cb10fc61a832495bef660e27bb41f57
+3eea03c6530355a9be68c9b6fac2f33a37cfd6ed 16413689c678c0f3dfb9b91893babbdf787d0096
+f1f4db55a35224f85ed8c5985bc42188bea35330 58bb35156c873f0e8b468d0fd02c898dd1934a0d
+c1f8da90c3e7744f75e29bd31461057fa90e0368 5d7cefde14aa0b4394e45de2bd433889d90a617f
+d96d346e0bb2b246fae8aa16f7b0c1ddac98c87a 6b9f8404a0c3acaba9e17e341e3a736c9f48d111
+d264f13f20b25f8b2b06a863c64117e7060fb0a1 07910e23ac6a74e310d01bd47519089387d9ea63
+412588eb49a283bd5ed003935195ed23113d83a8 77b5f4461a018dae815458f467140245539a02d8
+58fac592e9a45912e498e73c0758db4dbe0d1f5a fb1db2ce5b781e99b4fa48976a9d287408c7cc97
+21d7c084ce58f6c359999b91353466f7e1c5733d 23ddb696f795edc5743e05e9d9155211bb03f9e7
+6d4bf0879d8eac3f008e123f605ea9ce738b5356 13f8207f1eb6ac6eb6b46e9d35109f8e39e833be
+d65bcf4f9b95b99262ee7cef9515de4c33065773 fb085a04b7fd177ff79f29812708a2c0cc8139e5
+cafef5f0d8743a3d95be3495722aa1ebc65ab618 41fd65fbc899e24c192dbbf6f0cee825d59d90ab
+add05baa33715dca6c87f5632bf6e18a426df99a 16413689c678c0f3dfb9b91893babbdf787d0096
+a2f71a51661538e0613b8f5253dcd491e6f5121a 41fd65fbc899e24c192dbbf6f0cee825d59d90ab
+2cdf5bfdc394c17856ab234a46b611b8468ec36f 16413689c678c0f3dfb9b91893babbdf787d0096
+6cd33a7c6be956a987b0d9d59ea0f48d69bf6864 41fd65fbc899e24c192dbbf6f0cee825d59d90ab
+ede7b0a862ba2ecb94c403a5ccc0440822ac0754 233d2bd9b4e3b9f02911558dce9bcd20d8e97273
+c856effd53d14bc2c4025ccb3988bffadd28885f 788c610752f52cf901bc36f9fc28f5cac7afad8f
+548ade52f0065c3aa66892f42d3100f0ad5a4e1d cdac10b9c7c0d35365b4beba68a0603e2988b971
+d806e75a7a20e718a4f3fa44d584ecbc77c8f97f 02534b0f376e7902a305b97124d7ba7c7270197f
+7968ff8ee3fd7bc9047f48083efbea86f12ccf97 9384e8782cbf171dc74a5824207c14162106a433
+d9402a1622fa022ba981a1346950aba2457ede37 ad0bd5e33243c7dd93a33b4717feca3436bd770d
+d749a8c57dd89f92c65d83ae1225c1379456da9f 7ab508c7147d356cc75606d1ff149a5ea784f8f9
+eed28a1d213e716ed661bd52d07678658960370b f4b526f49f51b7636438deb0292523bc76832507
+dc3afe6ff64106f8f2f71ec46818045ace2b8728 53ba76d55bc5ab45707af5b1dc84e2310b4caf64
+e30a6bdeaea2a1ccf68d820d1a933153c695192b 471f29c44dc19ed7b7423de114cf907681b4278e
+af495c9b6dec3d6071a61c47848b75ed82f86cc7 0563a4a46e7ae7537929d1050eda61b85d97ff97
+d718b1eb3a6aac4e0a73de9edf393fea564523bc de0eb0762dc26086816b97b415a78ac03db404b8
+464db0d7eb9965444d96a851e6a593b7288929fb 5c6ab3808e367d7edc83b8ee0a48125a6e03710b
+1524d0bda0783c1f7abe68f9cbc90d95553472e0 125c356babe39b02bc96fe62cfc4fb01d76b389b
+98f8b4f87a1fb605749a036cc01063e4652edef1 16413689c678c0f3dfb9b91893babbdf787d0096
+a34a394410ca9798b0d1f600e2ac13848d50402b 125c356babe39b02bc96fe62cfc4fb01d76b389b
+c4c38b47d97c4dcb95bcdb70857ccdd096a98b75 83ccfa2b7631e2c3e9737fa68faac9ac2f68a2d2
+e0f9437de97a227807d3cb812a230a8e1306e3e4 2d05884d1ed49868dc1189311540bf8235c498dd
+61be5f0540cfad94f1ba9b66f5e4fa6adef35719 2d05884d1ed49868dc1189311540bf8235c498dd
+b7ee8ca811e2efe656134eabbb2ff8a0e83da8a6 bbff5d32bbda39be00c0afedc9097c20b8d50cb3
+a1f23604e4d586f2659c68f2a6e7144c76cdd890 bc5794983934a88b5e9d0535b47efb16d33be94d
+839a0b7edd8903fb190c7e0f6fc068cbf1f8db92 b968c2c91ef70c4da889fe54e9d2f78724ce8e52
+8a378c69c2eef5e108939be389fa75cf16409c06 eae9260ffe414780fde93e2f5ae90bf8d7db6824
+d199c7e16b9f2feadd9d8eddd6a6ff9f95d6776b fd49f2e86b72190dc4450a934d3595547f6e46e4
+0270b738c109c62063f7a079dd3da5e644afc1ef 0adca23bd5437ce5aac2ea86b7bf30fb868ab2e6
+a6d92fbaaec22389e9522732c3bd3ef1e39664bc 31089eac97fe2c89743d08d4efa6d7d915de3211
+6bef0845c0bdd1ff5ac3ce722f17143d91cb07b6 b3fc0168410f70c2dde88fe0521530a7a7a9b6b2
+9aa928bf1d31484139f4b22f1446debdeb0041c3 071f68c064283ee4e0c59e34aa15850757e2da62
+cb1fdb6e8195fc87edba4b637f8689d84c861fb4 59969dc912ee0a4d6a1459d89d373fce252f9245
+1fbd10ab200a7bdd7ad4f843ff693a16b17f1181 93aef42c5eefc06c8e07003cd5166b9eab697c63
+c30a0d81f40095be1bf4eff22966ce5191359f44 b7f47356ad41fedb89291415d4fe947243675e95
+8348f85b508724ce43a7a1039ae4c435c8716e26 a74ff17952b78741a7f2b2fb2a85276f61dc2ea8
+cdc9d6ad1c9c59e8d448f976bc6e4f64747e9f6e c04331b287409c5583adbf95a5eb1f01c83026d6
+3671a4451adbdcb8fe5eb2a4c676490bec975338 c8dcf1170d9211f54d6e2091c48f2d8119b6aae5
+400ab4143ec8f05b78ab998742588ced59f398d1 dec4a37072f90d96cbdcf8a4709518d6a61ae768
+08894ab3ac95b391c21b1ad6abf21ed372b6e42c 2ffde4b9c89cfbb3f6ac1e469525d579c8f8b5fc
+bb3d8232b00930221232ec43d2fc4365db3527d1 863ef17c540d1152935e26f57e764dc322b168e1
+7044242b25c95ded871434eb415d6026fa3b021e e4dd2ff5ea6c604acd9dc7e5d9ad3b2b181e4af5
+b7e4b4ba350c693e4284b9b3aef8ed5ea7a2f91d 90da2804f1772bcba1b1f95932bd0272b2d7e6bb
+d5c70d78299144c8dedc51287b997cad2b0fc4df 012e7388ed3b9a3950bdf234a705a6849efa6234
+5d64b49afff2a36398729158dc869ffa75403b09 6e0d70e9f2110431a578c52bb607516b5ab32ae2
+06eec16c8411eec6b4564c8c4d3521d53226324d 2873fe29d85da8c9b534dc933da5e139504c12c8
+4992b2867a0d9753ede584fd72c8f75dc31c9355 a222bb74dbe2f2d758fbd8447b15b7b39305ae2d
+0a28f8156fb1dd4e82ddc4dda5062dde314f3db2 23ff5584ec0e6cfc0ec2a3458a4321fee2f2b721
+c946ae269ece75db78ff1e996efd9e55b4bbeab9 698326fe94b982c9cbd1333f658852b50dda1dde
+5df309bd14134a7d976b5cb02a58c3424a79ab4b 9103cbe382795066750ab5f9fceb443b5a67de45
+f77e0141a1f2baaea256551d8ecbe9cb9bd9dae3 c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+8434dbda6b6268936ee711fc30e00b6d538de585 0205434261f9e7a9a52d7a9edd2e6847b7d51ecf
+14ecafa78db72f470e87b5833d7eb49975c284a2 6c2475290c1c1beb31e8d5e3d3b5b47c76a2700b
+e9e700e25dd6031fd6b36d4ed00e043b64b6f75e 423a0cc8f25fde6fb81071d92ad32f42bf3a4de9
+e4a2ec91eabb06187e1197cf4830fe08dc8f5be7 6091eab775ad82949755ac9f5595f3cfe34fcedf
+2708df725ae67bfdcecd853a3a42854e1f52df0c e18e3f16be92083f1bb6f2877d9bc61c71307c28
+3fd3811319a4d30bf466f614bb675aace5d948cf 8052d0acefa19cb29f2d546047a2e9e382781467
+24a5ff0541572a06621e9027b16656ebb02457f7 08b3baa3d5c9b65039cbe0cff084f9e208750e8d
+4f5a92cab8dc55d351b07ad3f54202e23fc4483c 012e7388ed3b9a3950bdf234a705a6849efa6234
+797b208e49de9643f07f299fc31dad97dab0a6dc 1b032a3ae98df9987a94244b0cdba88f0e9b99a6
+e8c78c9ce9d6fe91aac8cd22689c68f903390d9c 211b569080425bf99705959eb7d5bd9bbb8d9f2c
+14c502f8f11f18b6ca2b14111a797fb4ae5fadec ef37110f6f688434aa5351be00a94e2253aebd31
+56425d756db6d1e778197d2b0b1044f7c4d2a61f af60c0d13fdcb0584533ab1b294734301e4f404d
+f82ec384477f77f2664fbc4b8ef98848cb4f7ba3 ea01195699f7f88602091eb2cb5d8adaa14e8819
+a3bf443ea429e4cfffe8527ffe1db2817627208f 2ad4aeed8a3b8ef9785887a348385b97ec7d5b5a
+b3cbf11635facffec7783b6d9f068552a52ed7ff 82baca6c32236fd9a24cfa56298b1169d197043a
+8796b4f18775165d36aa9076a9dae24f36c3fbc4 27f2b5cbf1ea9ba5470603b7c9c0c09d6dfb345c
+b4e22550ee8f7a67e2721d688404fb7a7b78fe79 cf3d1f142e62dcc084deb178c5120949594a9a67
+9edb86dc189ad9149875e24308cf59282670eb7b f12e766cf090690f1ffd9e17eff0a37ed9ec0af7
+9dc397d6f6229827579025a7a7e4906435ff3947 2ac5b4d60470fd1e5dd28a3cd1093c8d479965d3
+181f314c9b76016585925990c8e1d9e2703c6768 850deae6d9da6a584d98d1b0463a4ab5ea7d54c4
+46df68aedebceb3972e79e66ec53ec02dbb1d132 95dae16e5f0e0b783dac6dbddffc27ac83a2c6ef
+12225fcabeabd08ccc3864911200f369546c1865 442aa2d927402e5ab76217efa82630090301d044
+eb9c433f23418cab7b8878204066c9458f65f8e4 654d0b72062106094b755221652b1721d7e0fff6
+6a4bfab52d4518f8a1ecadb3826365fb158d623b ae1b7a5a66793c5436de10a9b284fe590b63d667
+7cd322fd6bd58b09ecdb3ac0122e53f41b34461f 0bd3e5d7703c431637b9d09e2ede30f2764bc29f
+22b1133abf405e37e4917b9fc53f80cb923da36d 80fc99209b593260a74afd70abe1d2ee94dee859
+49fc60cd1311c702a05debd2a99cbb27ed57828d 263213ad0a197105010a42f632128938917527ff
+89d44768c9f502c72976854908b248d3149b6898 d71a5376382154302db2bd9f1137cd46ac9a9b4b
+9c5b3c3144febc022c4c2d35bd3f6cbfa35deef3 f9d1d4efb8a512b03b88ae881059a8ca461eca9e
+2a723c28bacbdb107f3959a1274fd14130f02c51 5c1eaf082814c519574ba2dffa04a6d970fe14b1
+e34dfeb90e76d044f16e2b7935df3d79da70fed1 b0fc4886dbe74de292551bea7d30cb92b075a99b
+dc679ccbf80fccd53ca0b68e5f39b52ba68b2f4b e95a2dd26ebe273b497f0d3b78acbd0626b55806
+48468d2339eaa090a4ae1099da06a632f7d1339e c77280480493a8d6144f8609f70fd8827bde273f
+187898fe10e4fdc80d8dba07982ec5b1896a2ba3 5490270526b405a4ac02c66c1a317e5b09e57e30
+adbdb1a51322ea71db4078656f73b29c688609a3 38b902236085f7b6f7fc01bbd4bf1343a24ecda4
+c9cd0164dcaefff821452bc7ecc59cdd0999f207 608df7ae636e275cfc2a7efbc3a44c3737c1837d
+43428c02be83bfa933c47908e8e00fceef31da80 47d55fba59b4f3fbe3babb7d4b96896ef07ba8a3
+ced37c8ae199c9b8447632342ee9314dcf6dfc44 d21904e2a8d6bdeed150f6227f474cf67b09a077
+c4b93a47006f8c815dfa9bd394a2119cd05e5eb7 de15940d31a9e59e3d495b8bf714d5cbfbe5acbd
+9633c07f8495e28b9347d8a6dc15405a5c300683 67e9242bca4bd287dacab167090809bba644b133
+ebe714ea1960d58a98798987aa5b7934d3cca679 1bd97ed284da5617ebb6fde6aa3b271699b48927
+aa4f1cb46c769c10c4a327364ec4945801fdd585 9bfc66deb93347e40e7421971ab60f61205c272d
+9c6d0a9fd35a714971139e50fb3eaabe2b37bc4e c5156f525de97a652aac48718f4f8d933d27bb06
+9ee14575703f8d85fb36fe86f0cc971f2ad5d7e7 06777d2efa6795f815f89764ea77ae7ad54d19a0
+dde65469c896a9aef97e8118b9f9768be694f691 88a860555681f5ccef12fe871f46459f40eb768f
+34c185478b60062fb499e1a5b50453a39a1244fe f44c4635d3bdaeaf5a9b34b407ef0408066280fa
+b23604e66bd6be6c9e937189bf11b5408d1da39b 94c88997b7000c126678163cd56a3592eade1f63
+445268feb5a9231d32be80ec31e1a27df376a6bf 5b749c61d633bc11e834bcb113d5259f7a09de4b
+5a660197819fead85b230a79f34a228c2b857422 ed676b591a42bbfed67c8e1f200ef54b54f7471d
+4c2b55c330a9c05e746f170384faf4db7d885f8f cdbcfd9cda6b70ed96d8e698fd922ba28fe36340
+2d2331ff58668bf95e6521ba6798a2a31f5ed650 e353e510766e441eebbddd67e0f268a8f6229782
+cf022bb97cec7fa91c8e34789b454a0aa18c8451 1bd747cb5ead0d049120b01c99f0b185a5415e82
+943a23cf9fe8de6f92bec9d7bf9f420bc20ea3a8 a0349098d7ca9594648243ce1aae1d1cc4d6fb30
+464856fc4f25f33a3b9529210572ab4d7bc53796 2e084c0a443503702f9ddd97495687e8c8145b59
+227053975ace3cb3c2f8935a2db5844347e9319c cf4f1980208ab270e87bda4b9eef111286d0a926
+b9dbc7055df2329fe6edd1095a3200a6e3e1a2a6 8b77508d3d30bcb87789dca568a0a80edb6702d1
+5fac7ab4cc6c3fa24c86d1a1569834e92fbc4e75 4a315a53c7a08e11740587b9ed22d09558e06837
+93b32cda9f7ac136fb8ecac94dddf8e992f73789 fc6d1ac6de361536e1cd6ebbfcd6234ae5b79441
+71f5fe730b1f973a9c31605e39a19193e2f842dc b5919129823ec5acb2827b9f9415496207b8eba1
+3675d4985344b946137c37c49dd3f2c70ad47702 751cef5ff11cdd41d015925aa1e8c30cdcee165e
+492a9967f8ee147251a95c6b7800e5437d34e6c9 e6df1f4c9047baecb292cfe4a4e3e5d5be025c87
+d13b341e439577179f1195d21187a8f6625383f3 d727ba0e8be2edac4e3acd8e85d683fe49ed8ce0
+1b7c77229215aa0928dc5846ee03ea88a6d4d38b 0a438d3d796724676957a2b201e3f66774f1ea6b
+c2ce454ca67a18cbb868382fc7b3ec9b2c76ced3 8ebe872844631cb2ca5c90a4faaf993921afa225
+f32fffe7c1be61ce2f194cbf18cb852bed8176af 050f43613b2ddc5ad29b2dd2f7a49272cec7f238
+e54a56ac5e21c22da27602f7198dc0311df89327 f34f534604cbdcadd8f2392f1d10f276137082db
+39bbd29aeb65e17c719c41937b43d6ff6ef9e11d 8a081dd2eaa886dbf4efb20dece20901f7e1cbfe
+d0097f9195277c377c2dd358061dcd9e3f655e8f 2b357c958557fcfd5efca697751885a28ae74d12
+014b2be6e5b4ff82e50287057cdc0f3994df5dd6 116db197a95790950d9e142661b59bf10d223b04
+7267738cbac4bc30a19137dc0714d2eb037c525a 7f06f6f735124a0050214fb77169c272aaa85cea
+12fbf2d864d300b9eaf13e902076ddf85b2929d1 b8166361049a7e386c9294c09927c9f55037e010
+b1b8bf935fa32629a7097395eac18b708d4891f0 83ff92236c72bfa0eadcb794fab68ee8aa29ee06
+87b4d0a65b6d5728b0ff91c7e354e2baa2ca4ddf 521be73da6b666f506f118cac944bd1ca0d5c728
+2161920aee760f018f931f91a4027809f0774926 c6c4c12a143c32644c8c37fae7b7814c43d9577b
+d1700a199f88e225235ea113ebad9a632229b544 821149f6709c033946f69315baa224eb8be51168
+d88753df772fa73d79e37b348d21562f3b1b96c8 b80516e8cdf3011f94674a13dfd3379784a642a0
+44e876d738d9f235a72a2e1e6be144d47dd2a74d 9245a1a9313fcd74fbd458d23da582c99d1e542c
+a1a711f1b7994e9f98ec13d0da48f24f174ef249 8b784eab2164322f24848f74c9f43be78fd96160
+298aebf6e6b817d75f52b2dbe68c0f9f959dfef8 f2bef714f96e2749f98de5cdea4b923750ae8ea1
+06d2fb575e1e313022bfcd390fcda4d59558ec4c ba6c95925a14a6ec7052ace66e5abd0855ce1ae8
+c98b4eb529f3f1b436faaf8ad64a8fd5d1ba7574 8f4d248b68e02715b03e011b803caa43e0cd68aa
+a1ec959c0fb049057afbfb6a07ea799aa70ea554 43e6387ef966195e8a35deeaea8c3d72b9b8dff8
+1fde8fd2e038882d00b7e0b7d5d4b5932420c58b 99e663a7fbeeaa9506d242f85bd21c142ff61397
+73f582ae3a11c278e29a7a3190a9444f24eccbaa dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+62f35f4b4eed51a9a4d2feee3fb31da33aed8755 125c356babe39b02bc96fe62cfc4fb01d76b389b
+8a0bc5d840bf31690c576b35a2699c26a252fb8e 125c356babe39b02bc96fe62cfc4fb01d76b389b
+146fe29d25b802fcefb7b59b7cdf8548546f6cb2 698326fe94b982c9cbd1333f658852b50dda1dde
+2bb10eae42bf5d4bf513e09ef5139729a593156a c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+ec70949eaa77adc9d2dd8eed31233489cc865c7b 2ad4aeed8a3b8ef9785887a348385b97ec7d5b5a
+3901deacca20b5b5d1caf9992b484184abd06cdc 0a438d3d796724676957a2b201e3f66774f1ea6b
+0e09c46fbfa251ce3fd856b86f07aba52aaa5a30 0a438d3d796724676957a2b201e3f66774f1ea6b
+57f8ddbc3aed9155cb77b2fa190e7b0e6e8d17e2 dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+ac2dae6e52b4ffb9619722f01b53ee4c72c642f8 745c159be31d2b3f14d2f5d9b8b42c4354dcdb3c
+cb38fd0138d93accc28135c852331c074714f4bc c763e039a718b512275994581f77af5923e666fd
+a95aa74872f201e1ec09173e397340f2678c6d21 b5729630a258b151de651d337772a239f708360f
+100c3963363760490d3f05d0178bf18f71edf919 5aa358c36e028a972612be73bfe3fb4b200dbd51
+6322b46ba969582570a5ab9a095b2376ed814ff2 8f358b9684582e7711d8972370366bbd34d6e5a4
+5b82638a13cf80fd02be57079e65e583e5fa7d22 e18ddf82f85e1a2a0d2935dad4d027d18305834b
+dda43407b14911f27ca8ad4138c1cc3e71ac7e09 a495c591cc7c649749d57feceeafe355e2e79504
+39cb633321edceb68639bab9b782b1041d43d549 a6334bc346ee1e2b4931954cd70248ed14834fc1
+6ac4b6c867e53df07d5c83a346821ba260d81268 2e3635cc7aefb9a2bb7c2cd021c3aa31d1e7a34b
+591f1bf16408062507cfe51e846872c7bf39c1ec fbbe4dc0906a98ae0873fa7b937498848e26adc1
+2ed2185534d5d7387d8d149d2e41bf474ca0ca31 96d6bea2009b5184def6a7333aa5962340415804
+1d063f132355e35e184981cc73b8c4dfe0d99f15 81b8d3701992a6cb1581a50896a613e0fa8488fd
+16d2340f885dc06acee280fa362b6f30d2b78a05 67ca4643c2b4c4485cd2ec7b3b22b7f88c5860d2
+9dcfa827e9de7f26b872d030c5c3fa72ced687c9 3719213da142548fb7e83c0a78859323b90de089
+a315e53c09a7e97d3876196aabe291b4f4a1de42 fa7faae4eaa9803a35e26761c036dce0ca30b8ed
+75a1d14d6cc5fbb2e82738bab4418b6417a3af1e eca3861a90367c85435cd3fda07cf317b4504b10
+0e7b59823cedc2a896fa477a5749c143bbd3b63d 1d1d9145570a5f8c41af6a374a4ef1a87d6c0aa4
+d7cda354f89b5899c632a08128682a18acd712c8 8f2f8c7a7570f5eb1c844230cf41f2ec2ea876c0
+9f4ee48c8a6c88bf17825a62a512dbf6dd41997d dd559f4e4ddaba1e728c379e34693106c2691780
+3dc0c3d58d4be1325d9a40975dbf7a27c961c36b bea481a654f3607628d1636ca5135a2e9d6749cd
+fa1e68355e4902e201b504e95dcf6d6556b534a1 d5512afa78cd1dda09c16c948b06c753f3151def
+f5dc8b31e43d7d5d5c27a076c8a0dd36148928da d10913d1d06be220f2b5858cd7baa1f7114f2792
+2a6e5d18851ebd8e3cd30c5549a81c5cf22cf3a5 32a275ac68876b3139e576d158455a8da1c2ebbc
+d37da0e285723edfa7ca786cba686ba1931fe135 f6df6961d7d47f166a2374967240ec45796603a1
+69eb8cd9751266de04f4226c23527db55d1bc8ef 85abf2267d20606d8cf68b66b380aa0228dae3ef
+527e49c8555c35b8ee4b68cba1c21451d0c9fa37 a897ca9148affb457846019160825f528268221c
+fbdddf1bb3b915c4322223870f0cb3af7c4d049a 8bce72f0361a813dcf279b1a417093938e8507df
+cd8bcf02df5de13998bf326881c25fe7fdadda81 21d4750ddb60f9a9d8cf9b3a6725dd60e8b18946
+dfc85208fb7587c62235aea2e594bcc7cf5f4770 3230a11c6efef2e6f7011d05df30456991cc5edf
+93e544a6eed0cb456bff441ef79b13caedde6524 857864ddd4d0b48bc80d89fbf706322d47d7e8e3
+0c3877c28efb21668ffd124dd1b7d8a38d7526c4 8f083504c4996136b02a4ee2eea4260fefcf989d
+df8b9a25cdfa2b3a3282cd0b9db40aa43ed863aa a877a31ddff0fd9c00e4cfdee7ff5ce3967037d5
+237d60f643f0337e1ccafacdf7a55436a5418084 fa4c7c0e6a93babd28b98b4ffeb18ef0423451f1
+afe7e7d8a0ce7f9aefcdc942d352c838e4b4a353 3b85ca4605ff48a4f167b98d2fdc58a9cbb0d5a4
+2ceb33bf6e45fb1a0c5998532d09c0c91b102b5f 472ca36d481b350b332cdb7104d42aa75b37f9db
+4d4499adc5c57f5bcbf254f204baebf5ca2724c3 cb2168a9a3da85c3c881ad3974c43fa08cee4054
+34fc413827898605358e8215e8021344798687e5 7f606f8e06d5688350609e01d8740473ff4c9724
+5d05e322968a0d0ae154dc1f77ed50dc892ba5f9 d08b09e15850f2aaa5825117f3975aff5f65ab25
+cf7d4c67820908f12febce28b62500947da36058 a8cafd5014a2021a5e63fe020bdd33e3070ba527
+d525ee1b95e9684919f4cd3951ae96444bfbc8d9 c933271c663ddd5f319068345481a11fbcaa8772
+9437b140391e2dcc74efd69c105c12f367cf2c8b ffcf1d79fe88de717aa211105db90853088394a2
+f27b9cd04d18e5b5f9e00ebb916901df09101270 0c5ee1d69aeed88a3ad8563cf000cbd763a294b2
+6ded966be2dbe58ec6bc35ff5c401cf833ff3145 4a30e8922f2c9eb1151c68b49148a58515f58fcd
+c80765faf3ef0e106e410d0227d08f4ff6ba9be6 64dc0d91c807e6529a9c9293cb2982f7d90b1ec3
+1c93f50b0428cc18903cc3bd50c17f3d0795236c 22a9f55bcaa051742b2653eb1124b0442b18c8d7
+bf6c50ff356121a60d7ed1b5f1ae84a505be5dae d0f83e49226760d63a5b7ebc3ef26c21a6b9ef30
+8a493a46a288a8592c7512df1d459a88449a277c 76232d1f297324a1431b5add6a37324a657f192d
+174bfdea3c6915f9228b7ea87ae729f0cb8207e8 125c356babe39b02bc96fe62cfc4fb01d76b389b
+e529d072eae39e78d9c24df0f84f0b2b3a6fc3d6 dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+9e94536c027eb020f2cf6d9ba7e9c7ef4f7631dd dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+1d7713aaa37adca1e26da823c5cef527a89163cd dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+f48fec72ea00d0f8ac5af2b0ab48960b0a8e8912 c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+2d7372445f513cc46c5dfe29e529d4f88f6e632c c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+e1a260fa4014619fbf2c94c8833c9005ef694dd1 c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+e1ae4d3329e5eb322d207714d09c3153e2320a64 dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+225097c86da4dcf05f0786a4d5d3a41fd17e5bbe 912cbda74442cf3a435516296b14bf1945c18dce
+0d364d4ddd918e6eaf79894847229c47b0f78aaa e7492911883ca2773b38497846c87b3e02c3fdae
+123cbd260bda6e37851535e4c9edb9700e0c62c0 f2a2a7d9172edeef2a6f58fc8493be8a21d207be
+c3107765d8b129334b230730e60a800e3d90923d f35bab751e541c36129c35907c9176d4a8799949
+b38558e76c0e97615257e92d57d8efe89f67878d 9456fac34ea7d61c44d7337d113be3b0418e4e84
+400ea8c0d63c4a10344f33fd3fec5197add9cb7c 0fc419c282b5dd8d055a5498985eec7dafaecfc8
+08718c64044e4f86d53e9b08d7798fee85a919a6 efd53d236e77d7e5d31cddc07c4d3d304b62e203
+c5e55d7425a521cef1f2b9c5f7ac7b90ff373134 7aac771a14a9617578df3be318607a68b2965331
+51a47cc5e428c3d3de606bbbd7771a41ca98fb99 0b8b292b345278f2eb7a8c8cbef427634fc1c071
+47afbf35404e8e3a820abcafe2862fa3ea6583ef 796b403cd474964a04b0243a3930e21919017a38
+22645a7dcb7123e0d1ecb8245516303073965542 01989c1e0496c973dbe60a27ba3f9aaad4214ce8
+fd173b51470da05e594a4e707b1739ad23719241 ff84d8d45db8b08f258b10e9b0495e7d4f9fcf93
+badc9f372ca52783506e6a60a839ee3e89cfca90 e102c95281436afb6786568ce6a771f9cc1f8c82
+cbfe3fbe49c283016c5d8c770ff711376be6174a 2d6c37c7f1eba07d0f3b494edd2a2583a0b2d6b7
+1bfc1ff752805ae6c4c1548ec7a8b7c4f86b7c35 402b3ece8c46fd23fe5849024af5b12fbe9f8b24
+5c0e2ef80792f0a5bed53c3e73b9420a2a7b0c05 c739d1b8bdfd1c68b395f6c7c6a9c59191197a9f
+60df7f88a5cdcd2be4ddc86b74bddca0bd8261c4 e5516634707d12bef7a7a49738c978f4ddb101ae
+2da832aeaaa3e099ef0885e9efdd7c9c92a8aa82 b6d93ff858f599b4635b1519e3c9ab5e6efaf929
+dc687fda37bf19302b823f433f6db6ae64f2c238 aa7b0219c5b9a233051ed26e1b74cc9e07903d62
+7777305893444e5c94a00bacf6890bf0c74c6f62 0fc419c282b5dd8d055a5498985eec7dafaecfc8
+2e699755a177b8b522783865b067a65dadec9c78 1f671937bbe12af144ea6040ac0298a39329177b
+18594f48f85e31147d4bc539e719fe497faaa3ba 33892d16567b7ba7b918f8ed504a1b2643364ad5
+d025e8aa2c020f586a5500a2aadd59c17ea74b75 2f6dfaa9a2bd0da724fdbd1330dbcd4bc94f1bd7
+30244546315c79ef94573b3cda48bdff1cb58c2a 7343400905dfba291802928212587ce9a33681bb
+6c02210e7f11e7cfe2bc2080d9c69a2c31476c95 8893cacfcf8dd453769457fb11f4d8984157d098
+3279874dea874a04af21bffb860d0a1aed7bd400 6f1403ce041e91b6a38ad4cd31a5c0e3d0219a1e
+fa7dbdc8d214319bad86c4023a59300bd4f84368 e1fe8595a536a39b50349759a8a1a62e7882bdd7
+f72484c16d3a00c767cb59373a4b0149d0c39ee9 8fb846dbfb7f57ac9faa164b7f82b9ff1292afa5
+a9d2d6fa5514561c0b688e8abf47d9a5cd428e2d 925b3a1db4a4e3808aef7dc1006a6701d4c82248
+1bfe96715353e36d99bf9c14b654a278e781202f 51d64e943a491ea0f86e00c6ea15fea91da4609a
+8d4a2a39deb392a538de92417a408cebf657673f 3463bdc9bb102474327fd415f01c946f5b235f9a
+c65dbb772c696e77b89f9a8270dec35a13b54cda 6734cafe164f2e94aaeeea892767aa940b14703a
+3730cf8dfb111eca67e35fff2f856beec9d36f63 84945c4b58abe4f6b6b89da4f1e6e7c0a5e123bc
+ac8d4eeecbe7002c823071a1abc0b58ad4252a8a 1a4e33c98764ac76da1c78fe0f4321854b3f79b4
+5ccd9a16ecbd6171d3b91d61689c4edc877fa85c d9105792a804187ca0868d4f9868fe865d5035fb
+7f7cfadef4591091e784a16b6c3ae826f5939c7c 9ee2c9afc56c67acf734eb14d1619d20e3c147c9
+b6d26e9b0066603aa3269f4786bf8d0db83614fa 8de9aaa2828bf3a061bb2e8b826eef7eebee197e
+d1ae7f58a69b7abb7e3fb4a06340e1fee1518007 783c22dc04f1040ef3eb0fcc097cc632c461a641
+88054927cc4752c16c1c730a757858f8ff5f352a 35fa6fce2124c1869e2a58d3f54b4a782b6328ac
+29efe1378d48c81eaf51e92e4d21f026d545f2eb 3cbbd7baa0e266c03cf8b054d5a46c7a6154c404
+19fb28cf17a726547e3ec81ac05f0266a85f15f4 6b9647fcdc86162d0b6c6633db948088a02964e4
+f28edf5649494498e26783a416a1e1a564e99f9a 3e774903cf01beaf55b8621d3c018f3d5d5c083d
+a7f47fa01acb2571e97aa6d7dcd9571409292efa 20b34b0ce83a5d08847be79da399d3000e91aa2b
+8333ec41e55ee48d01263f29f2d85bce743c9612 01f7ee81a27d92888d669bd9bb774de14f213f69
+4c3da29b43f951b16c5c0a66be411e40a8156fc7 752863c493a05ac2c35cef24b5178778f5f8ca68
+8d401ad8a2d2e18fdd8ce1977bdbcf0dd50c18b3 eae08f9373335446a35028858e228800751bbfe0
+6c4cb58def3e0e49dce365feebc49126d93037ec f529b29af65ac7bace957a28a4e93dca23ef0f03
+67394b77dbc86f0f30768dff68692a0a50cea543 2cf824e6bd5aadade27acf170419f91f9848c3ca
+d573c908c4dade43a21a900e8af40eda97732793 ab5bbdef7245b04f63253d8e3bea191cc9e5f791
+720026f79ca34de84bd95b48a62db77b2aee9320 ae43be8a519f7edcc6f3c8d158cc06cf7c7aa907
+c0992edbae68fdcdea07b9e53a11e69441d44162 fdce6811b9a8e8b9b193700112dbe021c38af0f6
+e70a6f2a9ce7eca3aacfae0a4dd95ed2811ef4b7 9f70181792902fd06049678b44cdd33571f6a61f
+00268becc285edd9d86f53d942e6cb4c411fb75a b2cfa7c637b99c7357dc6e0b1845e8e15ab8f126
+a1d88c91f975a519c463a2e021d5347c8b607403 8fc8fe10135f1e39b76f98f1525d31a5d31757a2
+19af46549030f15640b7fc06638b041b6b6ed181 0b2050921951a127da8a3461a6bb21cc3a59959d
+5be549f13b8df364b47774bb0e55cea0fa72d502 4bf43ddec422029dd73f75e3c9f3a491fe24b74d
+673b05fbaacb3ed388c582cd4a59c1224b7b016a f6ec972c2b4def9048f5c06615b12290020ca64a
+16c037c595e0fdb76d3a3d96b05fe37084cf1c72 196d120108c7fa6ecad974e0b75de9a93ed7bd9d
+29dc9a920148be06f198a73c19947ffdfd80983b 56c1baa2dcc765400457c033d9b862d9ff120989
+5188ced9fa363e1f02f0b9562bf34bdd9a4cf4eb 4f794f195968aa29c48665739dd95dc53aaa785d
+d331d6a08282dbed04926983d03db46342b2ceaf 50ec616869938585d4ca3f73cc59422e5635a5dc
+9db2e01d9657d21fbb8f83f72adce7ff2289388b 85389205f941e8d0d1bbf17367bbdb36bb942acc
+af27d64d6bce1a999b11d2bc6e4f458f5f73eb9b 5567e9e7adca19a6847cf96fde1f878e7b3fff8e
+3da4d7718ef7b62577e04a1c7f33b967e6636921 622d85eee3160661eadb24c1634ad3a92a84fd98
+09591a5ce2e368a72a0d5175fd8e03ab05ea77d3 9c53fd9f04670b2176ba36fe9c7dc566a8502f45
+ea627204771673fa3d72ef3be9a1e94758476b37 3254c1bf39f76e57ecce049880921ab1c6d4cc6f
+143aca8696437eb0b304ba0338360efec26ee6ae 2204298cb56f7c8287f6f9edc5606c5a07a3e7d9
+217112dd1a616a2a3542580c60278a4763ff4e5c e98e77e5a80323852aa7a7f836a6fb92845461be
+5c816b358ee2bb9ce3330440984bc35909ec89e3 5bab47043621f2d54dc2dc575bf929bb66ae2028
+c375978dcf436ee643e7ee6c4b390a95a76518d1 d7fedd82b1e0b1c72bea27bce76c6b224aaefe58
+7bc0757b8984c0d5c5e509a05035734b300b094f b14a947b31b9afac23a59028f304d737115f35b5
+fd2d2809bde0d8df0135a035aa0d17ae1b8efebd ba052684870893a8a0621ec75d37d5f932365921
+a2c815d8739752a079693020c30736aa8ebce435 421eaa12ded836c6a33e8535a36400b94f21babd
+17cd3f68c175998766c60e1d9208a3823ba38586 ae9338874c283a16142492aa619741a19b4425a2
+ae6cefd688d5ef54ed2d372089f8256f93839c69 a8f85f0d51f51f23a6b30157eae048724021d2ac
+f381b0bb829658261e5c656f12dc8ab1781f0f45 646fbcdcc148d616dc2c6d2cf1c1f45063e985fb
+e5406d8b1e3d2c5970c04255ad54e381fee62886 823f4e735b0c740f2a9a15446f97eccbb1c3230a
+9d1684bfad5bcc2df7dd732bd1178b064488734e c1b34646bdd07512f1eaa255102b199f9b457e17
+e58416d5f41d51e8a5d93b5f4292835fe56276c7 bc7df787c746c48859f2e4567c3d12975b0d5de2
+9dab51eb906474e321dbeb3b2278b01e36831962 317005f72ceb115bf8ec63c7db3def597d4a7f21
+68e95909faa4e40d6e9746c8c145b2984329a1ff a6d5725ad57029be869ecc5c4cb131ed318928f3
+56b85417417295234f8f94a7099ef9d7f6e48623 8c4cfedc8c545cb0aa9cb51d62cd1eec2e2523a6
+d3e785901da227867435f07981f89fe524e4b121 3b17fdd68c8373dae099baa24fca6f5f0b32509f
+c0e0bc56412776f30089353d6490617130c49b62 71a87e433c68bf0fe278d316fc4dcf7f50b1336b
+908b8164b6a6deb25d2cc7460241d417db816255 9da9cb28966722553d94fd504d938d2e435ce294
+5b242312c32bebd2ab5ec47eb3de8fd665fb7d73 ec25ffde42f64bf18a3900cfb88676916abe051d
+de4a0f4151e0d93e6ac78072b7a8794ce1222a95 3b17fdd68c8373dae099baa24fca6f5f0b32509f
+451d8ea6badffa4a058a87441e251866abc19b22 f727f4dfdaa966074d657149c90ac020d874f966
+da632ddeb4066a4269b2111ae0da4ec81071c724 bc2e412b1df5e26fcc1a963d56880101669d3f4e
+8d6e2313e5f6ae13b70bb70369ab2b4befb27e6a e13f4087af3c926e16f18a0ffc0bfd1785110d05
+b27689dac2a3b1427685fefbec919ce3514c5061 20c93a802122f1ced2a5c6e1e76961e00b7e10d2
+d01d90f985bc663c3c275dfe3cb9fc6b31b8f800 4778ff2280ba812fea5ca3a07398b9c0d7ce281a
+4e1fe5b5cd3e74c192a0594d122e694c5fd22f7a dc4f1c22f67988bdcc842211bee575014f3f3b20
+f226dbc9458b4622fce65f6e5818cdbef7f8cdc0 99ac7077def40917953b5178312fd40be1a33c28
+1f2f99ed42ef54d305ac9a509ad6df29360c939a f3492db4b639b3b930d3b363a320784b6f8a2bbd
+5bcaeb98d913d2e91ed817807f00efcd64e3c9e1 effc465502e70a72631078c873a3f9a2d06fc982
+92ae0b4ad96fbb5e7dcdaca4f96df376d1ab649b dc7d8c0e7643db8782fa22a63845752d1eb28e7c
+7457b0f56649a7e0f389830587e9c6435ed0909f 5b2682c1b187d65ad52dbcbe95db6f5348100bbf
+e06fe58f4c2e9fffee3e32453721c7abe8912a57 51dcb2cb982d5a6c39a1fddf6222e626166ef7fc
+6f78ce22a6c2d66f957c64eea87c961ec6b1be32 51dcb2cb982d5a6c39a1fddf6222e626166ef7fc
+bfa36e86db8ab02767edb212a0b067eabd620a9e 6618cbc3a8f7a189cdf76d6c1db3755d99e13446
+b4c03b57a34fb51aac3288f2aa120d5a326260b3 090a48fe32cc053299148a6c8eadd456d2094827
+61a2e2a8fb75dd07da3cbdfc2623c38a6e5fc0c7 8d595e576838acf3507463673cc0273d3201994f
+8a98c74a739245237042a632459a34e4e7cacdd4 bb0950d8ec2268e036be8f1bcd6cd6c01fa9addf
+f14f3cdfb259ad53fa8503a7a1c40a197259fb9f d515286069858f55cd9f1a31b747d2a99f0ec2d8
+7fd9ef73be05da85080e3db05df237aebcdae070 a2b52f8e04cde2ab09589566118747adcf14b702
+07a9c8306773bc72cf1f3d3b53b47600b9aba844 090a48fe32cc053299148a6c8eadd456d2094827
+a8cb4feafe796d99dbcb53726f5aee9e17626192 466721c3cddd36100696f233f9d88e272839911a
+7452b8048c015f81db55b1dc963719a4e6613e23 8c1d1dc8551bdeb1e2df615324fbd75b68afcb7a
+fd24f2257d6352fb1dbb795a956608e736e53b33 dc40a8dd5f68baaf5a839ba16d028bf061bda63e
+58571b4e704bae6c477e92e39a23d6a888ddb46b f236c4d5919cad550104ed7d2a7d5b1a48b57699
+4e9306d1a91c71299cb85d8099a4c5b3df2a6c05 c6969fe44e58c542bfc6f1bd6c0be2fa860929ac
+2da90fcd69afcb0aefd18dbadd5e045a33817e78 f236c4d5919cad550104ed7d2a7d5b1a48b57699
+cf29f29e6eef7e7dd76a42eb9168597fa0c0275a f236c4d5919cad550104ed7d2a7d5b1a48b57699
+222de041c475f18ecc50f6d6dd9644363ef2c424 0ea80a6ecdb661f8c736b19613ad8e83376e78c6
+41877f53339786c7ffb046c29aec760b6c9835d0 a8e3508d55e794ae3c42757fee79c442d24c7fef
+2c1171c03f3e56a7cf8962c717102ad4d2bc9b65 115ed23e0fc5d348be6865d0a3707bfcc0ed29bb
+97e1bf20d70ae430494e7ecc16a82867bcb51c28 b03065d018b8a2e28b7de85b293a4c992cb4c12d
+094d6bd559f229ab6018aca3042ed2c56bde42c8 7065632a5a4d9d207e29938be74007427ef53d48
+1375b5df6de932333bb57a9f819e950578d2dea5 b03065d018b8a2e28b7de85b293a4c992cb4c12d
+2212561857c69ce53c1938ca93b0f727f1c8d4fa 9e87c01f002787a173fd3006dbfff857ce65b8aa
+879169a9554043373047f95eaf714b6dd5b936d7 b03065d018b8a2e28b7de85b293a4c992cb4c12d
+97eb0194925e0f7e66f368accd64990c9b046fb4 9e87c01f002787a173fd3006dbfff857ce65b8aa
+011925fa0931d9b44d7506e2c71d0504c4081da2 ee6af1f7ac9fc6c584ae9746caf7b2b4d4040df8
+18ee68a04dd3440217d25a57692a0b009d583b1f 2c132fa184749b5c149d9347259810fd1324e0e4
+6bba2f93b094ae11a08135811addaafe07ff531d ba3867a0f3288099651fb4da6d4cd03cf43aaa5e
+bbeaf26970c47b0603bd664271135cd5506600f8 40cd0d8d178e4eea515d62b2ec9ab48534e6e62e
+f1cdf5727687c2286e5dcfcd2e62868371c28ffd c4dae74fcc4e071304fe17b9e172478077d44c2a
+5037b3822895fedd4dfab3fd65a90cb227c2ce75 b0a8e16cc0ba88c9f0bdcf2e366bde6795a2ab96
+30fbc3e61e75da7923be12b2f1ac16cebf5e5473 c358e2fab15fa07ce9b5f547b603e05e26b47ae8
+4ac2bbb44cef4d6ca3a859aaeaccf7f6f67a8100 2b197b949e2e3b0a4b833f4aeb5d78463e49d1f6
+1c95812ba38bf586d882f704dc7f0711ebd14c14 f6cfc13bfc1c86d54a3cdc28955010e1cf0aa1d9
+2026f824953f498f98024895b7b5937483be224b e7024fe2eefe683d0f16bec52987e22596363be6
+a5a93f17d1345a7015c99ad82a46cf6b62a2c7fb 85e23c7d79573ebff2421ab9c89a955ef300f58b
+ace53e48105e06a98f9debc9ec7adcf744d29ce7 19547b909b404552593be5ec7c18241e062a6d65
+209fb5f4bdecdd85464df136c14f8d7d0e03e7cb 19547b909b404552593be5ec7c18241e062a6d65
+c0d07e9de431c7854a20d0048fdc5967528c72a0 45531327b453935d9e3a49cb6cb45880c816e965
+697193865652d61d00ca6a68d889d216bf46274e 481a68db8196cd6ab55f2fd1012fbb701304a2a3
+55d6ce1957d101df0a37d5ccc22dfe5f34e56b94 93e46e7674f720dc62a9197de2b0ab470b0b6d9c
+f26a11a482ebb82dbb42b3c4e0b013936b7a1399 c56395e02f78dad5e0441539b4912dadd5c0ead8
+7136b585fe3dbe16adef1c07fed8ef52a325a0ff 3e2e7177ba2597e91df59516a91e08fb6e4b70c1
+12c0c8e2af17d0f98af207be495c0b7133ac8e9f 49e320c05f4304df0dccfc1b15b70add740f7991
+2dbdc8da640e65cb9ea23dbc31444bca357c53e0 19547b909b404552593be5ec7c18241e062a6d65
+e1a75f9bd0b2e9b4687df598f3c9d096422eda0a d2de8f9cead065c3e93381313551008818e33385
+427b335ff55b4d5bdb6dad949ced2115ce684819 d2de8f9cead065c3e93381313551008818e33385
+8e76aeed1bd4fe5946eece746b91ec82bf5a8f33 e692056602afe2a22001f6cdfe5df0c4b72b9565
+5709bd1aa7078926f215915c6b13d3cf5960c920 46a931094636839da237f87e2ee920222958c511
+bd6cade84ed3ac4a7ecd86f4b167b3b7b12fcb15 c30ac6d2880070992101f0d076eb7aaa5b47d198
+e65229ea42b859726ef553a51743806df396bca9 d3d7fdb6fec205abc1e0ac91ee261d680f9397b6
+5e021ce3f9ac821a911d699b88c7ae86857972f8 98bf3b7f8b31dc9b44840d46c6d7163ba6136831
+302f5dd0bead4b8006ca38c1be5f1c2f5afe15ab b2b56dfb804c7af487bbe87fae32ee6e231d8d5a
+9c7b12fbe3ded82166797c591f5b8c2b369ccd73 4f72c35ebf338acce5425e82e3d257d56c3f15c1
+b9c7ef06953e31f303be52775a9fbaea294dcaff e514b7f565a8357ab9a17ee5f5efb61191f36e29
+dba71f6410b2687c6725825d0133ddf0df629785 19e6a946b1724e3470c0f1c95e150c797258f8e7
+cb1db27c6474132926d9ab3c0b9e73c9c556eee7 3a60566553ef088775c15077535ac0957ea8cc87
+c7be8315ec11416d102f90596a96d44a63fe09d3 3926a222199a11e8660a5cc78e443159fe8b5d6e
+7d4634cfe5198deb13a3acde67ca9fdffbf4ab30 74a864f71c454200b62080d068d52d4ba0aefdf9
+4e8803208ebc356b59cc3daf7e4e8faae23294cd 5eea7c96bfdc80515c081776b3edf9a2cd488674
+44676ad9c64aae5679986aa59d904d3b40dd1b04 6de2bdb789e2e9efcbf4ced9b21bd7845877f2ca
+9eeed552280e92390b2585b40a6dafefc52164d4 287bc304c65d413b926b75946b237e402933b11a
+8dfbb2cb342b079f7881d19cc669448aee8c2389 4d486f482e363c1d0aaceaeff874eacafee3d44f
+9cce9924195712ec9102f5ae98d7068a15b6c9c6 66443d61fdafc7e6d282646c8192926388daf02d
+8a8070d1594d5d726dbfc5072418a45cf99d23a5 65fdcab0ddfae63fb3f5ccdcb382b58d2cd21971
+647b5cf2d0e415e7211b2a0f9470ffd5010c689a 48e46736d838afadf54f2c8482ff390fe7e6ee82
+2db06d61b11130d1db2e1b8acdf7da2932a997ae 5c2540c4454570426d9847586ee40fe46d7ce373
+f39dbb15cea46a5e98f482be5d59ae2280e97b25 d8a8d4fe983c9189c46b2798907ef2299acbbbd2
+91fe5934b57cba98b17ff7863448497cec74153f 54b0619bd7988cf9d22239e5694d1555cd9187ed
+38643d71585961a79e973cd8abd9734177500a46 6321be6f77cf67f1925b00755a8739a463905732
+5d28051fe112bb5f6ec37525b9979a775cb9265c 3926a222199a11e8660a5cc78e443159fe8b5d6e
+af23e3f4e1ae86e0db25682989e1d167a7b08495 49fbb5892822e8106a76adb89b321f17f67e24a2
+c40de150519c427ce29315d7a64678b24ab21245 737390d97222abf0982722c46bd00f50b1b658ac
+00fe0cbcb0af8e2c5fd00fa162c03d6136674ce7 c21423e2ed56ac044eccc30b9661858f6320abee
+3e8e2ade67e346b1bf8c2c848f7e2054876fd12a e8901aecb0c37e8d4baf55434512ab9766f822c7
+e3a8875b06fa589f3cc942be6443f5711ac11d0c 3dc0fddd8ec4e51b732e5f65929a4bec8ca10b93
+b2e9baf431e82c96a91e87682e9fab8b388b91f6 8b7aa2c59a10d30606a54dd385e653ba2391e2c4
+0638982a2eba888d504ca035211ab06e9d7f92c0 3ac68eacd551a7a05f3d9b08f8081920534414c1
+254975ecf54fe57e44df51c72db8a3057c2d1364 7cc69775c441150942df849129434fd0d8cce989
+f2cfbe48b8b26d029881bb183d7f95de43fd597f fab623adfa5953b9c518c486b59bb9c704f6b6fa
+4fd94fa3ce3fd6a52c791ad7e602f0a65f6dbdb6 9dfec2d9574bde86869997b6b20a99d99a14a52c
+238fb6a0438304b2e7ff8452a92f9e214a6a360e a28468b4fd188c207a114f77eccf9f53209e3af0
+68ea9a0ca62562527293011d434499c0c62d0435 823f415f237147b0e86ca7d9f5e1cf3d1a36f622
+396064a76362738943bee95eec114a40d6ad1086 dcecde3f3464d26d7a84d132e0b660ee40b3427b
+6a584b2d735f9b789b9ce1a72e16ea3d1e7c00e5 5a5d1856e378bd386db24dd9feadf16f183fa17b
+7eae44eb2e6279fdf944020c6a296bda367aabb2 22ee154567c2208c616629eeb9005a2c8241b9f6
+2886cc4ecd047f031e1fb41c8ff377743f3bb4c2 0c26e9a2b952d63810f0330dc0d2f9871b5602fb
+73a6ecdf73cb36f550d70d2c1dc69dbe65ba3cf8 3fe02760c682eef4783ec7c63f63f8f78a0781b2
+39ecc682cfee2df668d9b4e00404440595cbbf71 91589a3bd940cf069d913201da87df6e2687180d
+0c7db2520e1aa92e82e5dc9efee0a9d6d330517d 7df4fb8fac001c5a8ca96a8e91e8aba568d6e000
+5a78ccc6dfee9b5dc25571403048bf4a6c02af3c e098ced4465ff12fa6dda9bc9c8229d886990ad9
+9c70697b3f198ddec6866986a36367b393734a53 faef3edf97f6e79828df2b972ab978d845a0499c
+dbddf0db00bd86e858df0a564a2b1b373d281f4f 5e937384b9c99699026ab475855122222a6f2f19
+5df7731e9937b8bbe9eb370bb829a8cdacb7cdb4 44cdd47d73d7a233c5c5b30a9febfc3ee21789ae
+ff2f9380c5c39a02e1eaaf8fe49def7645363e7c 2fbd16a76eb345e08baf5fbe2721ca905541296d
+89121036ea75ee35b22a854e79c867be1a8c03d6 6bcf544f2903823ee553b2ee14edab9c7afe9ff2
+59dd9af3a1be3c1356bc278bb6eb9841ac933ef3 9a9968617fa8b9c977b62edcecbbe7801f0008a0
+89581782be4b3b5c9e835488199c2a7302417dc1 e721a5460baadab6716bda1ef2185c688ad0d5e9
+c4505ff8c3b9a1a7a819c31046daa7bfebb4b1da fd041d0739c339b81d114a10b1fd57f4d0b1a316
+4eebb7fa84fbb99d34d2ff75cb8515af84c190af bafa4e2c85b4bbbfb4b60764a512be71b3569af5
+c27ae182c549c9fb4c561eb770c47a99ef121442 e74a3a1311db74bbad9411bfc80821de745eec8f
+b4a3135ccd0d519aa9a148e14cf74d70cc68ad29 28c3a76165d0f5d3b635812733ce126c05c96e91
+510b369b7da41a36cf68ff6595d8f4824b8c6faf f05a800be824c7bd0b349770b0e3125613decb02
+d3533a3d5b947f050378691c8baf0e8280f965f6 37892532b2da6c8dfe8dbce5d05478e831cef248
+08307d4c5b85b597d7c1d040ad38d2f8a4255ead 02b6ed3c99fa649e56959477de349f4951882648
+261cb55f8a2260d77e62f025f930c75dc1f6cdbc 363ada199e7ea20fc07ab04bf1740f5f82519257
+16e734752a3c6a3570032e0c4f920cfbda959fd1 31941e7711567bafcf075278ae33dd15b2113d69
+2c17b59e5dfbb397c3fba2eb975856ec6847e41e 520ccbb610dfdeea531d2c894756d6286702a78a
+c267182dfcb36f6c0b99b67969a3122c45004f15 520ccbb610dfdeea531d2c894756d6286702a78a
+9729c2201cc8c591795b833b50285a93c721546f a73038360c2939005a9513fdcd796852384e3e41
+07710c4679b285ffab80e83c02c85084aeead0df 2bc5c6bc5ab38bdd6ed182b29d1cd03301de7b05
+35138c9bfae8e85f930e8779aab0483cb8eac623 d32e9b00a5a67db432c162e6beaab23bc50d6936
+35138c9bfae8e85f930e8779aab0483cb8eac623 a6250fa92374d84353e5d80d38bafc0a315a9d71
+5c5ececdd9165d61df64ff8a7cd1ae5d518ba0ed 66bfab0dbb41ba31d535d2ce412d9f7a88c5942e
+a2a5725545a9deb75cc8b612f624358537443330 97ab2604669a6004a1b73d8fe34efa74bd91e81c
+08423454fc4dbf812770d69675badf2f5c89d43d 03c49960563fa19b919becf2602a229e7cf0fcc5
+0b240c3ba999888f964722fee88e70f33e133eab 4d325d4f59e6213d0d85a4f57bfc34801164cc02
+6ea755725c27d76ce1a161ab8262cc59247625a6 8f614d6d4b4a1862df8e0e470e03a7a0b915502b
+7d52d255301639c593b89bd31cfb5f83e72b8c33 07cf6ece7fc735f39a181b88a7dd6e3b1d6e4daa
+371195160372e391c309f6ac1acaf9d0a0a64f93 fc2c560bfc1b6239043a0e56c630889c885c4916
+07089a32bf7c97818b72f87af0f4619420148721 d775dfaf0293308b0a6c95dec63645982d58080a
+7202954103df308dcce7389a626c5615c6a99788 cfd317aa69385f5c50deb00762e517b2fef1d12b
+271ffe664bd2f74e8b5fa2a888edfabe95d1a6c8 801ae59617ee7e1da11a6beb8b0136186e5e693f
+064acd6d3ddf76fb076cf3213906697886800663 ca385c19f1a10e1e9691567ce9d44bcc6d6b3f03
+1890c874ab4876f5407ff589998993ed00cdb059 2858a1b0015137c30da2a5c656ffc0f5e14b9200
+a3e2f33837a7167e1c431fa8e77b35c00808070a 0553ced8b5a0c433ba077c2595315da0cdbbd17d
+3451d53f603add8dcdb6e7a5c084b8725f868e05 507861dac9a4f74b9dedb3b9730e65288dbd7d68
+23885c2527483ccece854095af32498aa5676131 3fe02760c682eef4783ec7c63f63f8f78a0781b2
+c1dc021ae5213233669bb114e8f25bde8d49e8d2 0f02aabb07ac0b63d2552ad75b23199e8043027c
+fdd823276070994ce9546f32ee7387ebeaf7e6ac cfdd65f867be38028944e20f87fb17921ec389ae
+160f8fa616afc2ee686d2ac12e7bf6ddc5379b60 0f7245306ff27c5f036f62471972cc92d42897e2
+1045a61877be4023b40971d942199e1862cdbfb3 36f9b2b6ec061a62ed2a1795563b4bd9903b3bd5
+712c197687c917a5b7bb13b4c9021a455c7425e4 33eeae831cdb68a9552448116780bd21ef95d848
+262a807129e69426e9feac023e634209c817ff64 1c9652fa26a2735f3b7f741169dcb224a9d60faa
+08105fadb71a4cf1a1ed27996f1c9ae18aff754f c16a903b9f32db89aa580ff95baa896620267a1e
+bc2226d86238fc3d04c5a784ceb283ddc1a2d2d3 d11f06558fb3413ed0f044ad1210a2167c3e9c98
+1be7627d95537a843aff4ae0da7d401cc5eb09b6 82d80d2e287926a7b3927ad4cdf822491ac5f292
+2527f4f1621958ee07a5452b210f180e0efe1246 f1a37dc84bfd03c6924e14ed61344dd1d7af2c64
+a9cb81d2a1bb2e0b0b904d1ce22f15aa11d9304d f5c6d4b47e22c804c15d355c1f8084e35c2fa265
+c3a397ebc129c924ff61960c6f0257d3e15f8b02 911ff09337a37348a2a3bc7465482d0955522e75
+dedc484cd0a853bf9c6cd081663108a314859624 2a6e1a7aceced726c68ea2f8b8cd82a3af708072
+6f178d14b411498dcf4aaa1345ca7947182b7753 44eb56b02a8f22fa26d29dabe01a8a14488e1e0e
+54f3510f13b672e1b7cb05ffd71a0c84eaa1f20e bc9a8165f582daa38f7b275b322e6013f368a4f5
+5be7af3d024b33e0ea91f9c2b34f3d4501b5b327 1a852727b8a31a27e72b5964f5bbbf04f5a17215
+64f74b638affde4b12e10bfb62d9ae077b276499 dd041cb6b84bbfd8b8daa69eda2e0d866f9d356c
+aac7a129f76b81f3f329a5ad8dc02d77a9963abe 4ba1f7c837d3e394e22ede6ddeddf38b72b5afb0
+80e9acc23515bcb4c093b94c57bfc080101fb77b 53d36cbc5df209d27d89065d6841cc0856ac673c
+d641ff792d91ddc136fd54c3d73ae9cd10bf2666 c8b3053e72c6b6069a3cc45646fd635740196111
+26a4d505971d128629e9e90b3e0c61badf4299a1 4a29f35ed2215cd029e7511773fcb603e00f0071
+91afc47fe4b97e8883cf10e00b2e91d3d73ec991 db3d121cea5eb21648fc2a8a8da7ac59b3711f14
+4f407b6db81f3e362f0f489cd4ba5b6bfac2a018 7ce66a87da35b91d6bd7a17ab4d43e24d828b0c3
+6fc45df1cdf333f1961414216257a6b209ddc981 09ce018e32b247afaab99d24bd1abbf00388dd37
+1bd45be73d6dc2f0bdbad962c2266d0e82f9f540 8d48ff810f46a68ff157949464dc827bfb8c114c
+8b9b9d5930cb8783790e02318e291027dec1fdb6 d087595ed4c9a912acc7942ce1324ed1fcb6a538
+bd1265f3e43f9bed9a14f065a29712172c325072 93933cfc8a004a16a5eb9f39c9ef5ca769929080
+d9718b616761d0a30018fed104134be724ccabe3 26c9805fea1adc733d5c71290d811486f506b4e3
+1e5af8092bacae80b9bf44c2edb73d5eb65fae0e f3c7e3fb15257e77949562bb6929490319f92d5c
+796d9749e40316ad3d0d9cee8f6921bd925aa766 0986d9abc7ba15a830d340ff6123931e1470015f
+b0a7b75e2720ea724d58ceaea218d38ade1382ce dcbcdd44f064772f41d87f8fe1f4156998226b34
+9c5e7652be42956726013bc332eec3053db1f509 c5acec256d84177a29aa652c8cf69b868af8dbdf
+070cd06ce26c3155229e03a0d44638b168f1bae4 d307025224ed251d6d3e26d322204a75e510e76b
+5942b26b9dfa348c7e59bdcbf072054cf223117a 69b9711df065d4868766ba283fb62ce909f192a1
+c7d1d670121afdf76f8287b62f1faa029b03126d 6916fdddee476a23d33f519ae582185cf1e907e4
+39263ded059d783eae6c2a98b0416afd09e3384c d43661300701213502a5a832c95a3e4bc66e1e5e
+ece3ae004bfd5a69de56d1cdc1bc18cdb629b726 bb285fda0475893e44874eaf37dbac62bad8fe93
+7dac97bbe561323498ddb1d9024498ca4485233b 5548911aa82d30eb980872a33b9fe6a5aae96741
+1770b24a05ed54a7fa494ff8a12cd2e308cf2989 355b35c2b3e2bc69dd86a7c53920cf93c1c50eac
+3ba6621f0fd10daf4e3f3244ec6d83c6b40a2ab4 bf10b61752f7db17d86c0834fc6108f586bf2e2c
+0d585f5f00cafd75f7b839632aa2c73b87e8a8fd 152704ba6f55e1bf62fdd93589dc1dbc5b4e2e3e
+1d45aa7a46674839e6bfebf8ddb1189416470977 442a3e52a7e1468173a548ff73ca03260dcf9d9a
+98652a5b7dd9a4c16256bd510141c5b00b574af0 9126422f87aa3e49e7556955af036f015e29fecf
+49a8c196e8a2aca4b24709d1948990f75b448909 8610a1948a8f639a882700a5a56e638bfdce1bfa
+c494f1110ec8212300c532aac570ca38e0354e08 9878ae16dd1c4df7cbbdd28dcd7b42abf0c86002
+8ed97e82ede90244c9b6d290b922185328b5e252 fd59aa574dd4634f9579dacb47823c1ee5b61c20
+18ada4642cfa110b42273b9c1ae26a3fa72e45aa 140b35158f62ad0cf119e06f2dc3a1d23e8c1c88
+b1656ed1e92cd651d943af80291e27ba9de45d77 02d8d4c951dc3b70248e0bc10c0b4ad109a03d5d
+92818c0f4916b1f16602a396e697f0d8de47ac63 a260b388689d9f5dbc321d04725675ae8abe49f1
+b67cf042fdb9a61dca5f54ed5632c4678e1cfa2c f9af5ba22a49e358bcbe4384f830dc14436f355d
+e1e4b68b2730b215bdc549a032c303d9c8f46510 e23a2156cbcee35989715c5555bed06713c29a96
+48f108599240c372b17af1324364a1ff3698f810 9a20e73f9895562f7b6461f4a48ba2bcf6fa915a
+a27ce616d045df8ef43d4f2479260bf629a73355 fb88396417264c75f4dc7bbe26d55f5ac404f006
+ba582c06809fd6922f7bd753b3ea5e7f8e5f11a9 383871a7f970c0c2a12a6e307e4752bab0d893c2
+11c7ffd26c7e4f2e6309cd164d55e852ae671f04 720df5b82cd396d9d84ea03a93fce66e44a06bb1
+9bfe19c63b517c603c9ee3ec8a5669b6c1ce4af9 8f22b03cdbd3f841c95f84ebc42d56cfa6befa49
+588977a0caeac8f67d8ff6991473bce1fded2646 29f8c1e0f40401c45c179510dde06e891f52c07f
+579ab56ab7e9c673ec0003aa6bd5be9f96bd7301 739486b83c5a3a67727a2ef5fb62f223b526f949
+b509b85889e58e5b13e6029e0c47b7e9cb76c85f 25ff5daed19851a9bac03267b1f6e6f6bf197731
+09baec3ce7c1c27f2557b78cc8ddfb24cf32add5 dd623b1a79f7f0a4a5a7d584c3ee76df184a4f44
+8086c9699c188b609fc08c664db5c050f4b87ea4 61af04dfda03c9ae256d041a752320ff6b596372
+c382e0fab7e66b813ccbe0998f8a6ee86fc4a60b 5fa3e7b9fda29fbc8588e7282363aad8eee0cfbd
+ea9c2733fbf6d22166c213cfaeb1800a30ce90e9 a73724008d6db9e242330ec049143579741d6761
+298b1322a6646a8630b4656a44d1e9e4bdab7d61 7aea8f2008544a169280578fce0107280bd4b1de
+67fa4273bff04278ec9b3e25d0991f8790a2ddc5 2e536e3e594307b6feffb7fcd583ac83c5f2d73e
+78dddb3a1dd300fb727c1855f729442c25d69d93 cc7d5e69827f7f952fc60ca6b5af8f69c11bc67d
+36ea57fc1c67f4e806d35fb15d39f33b400510a6 8277dba809eb5bd7163158ed5b1cb62b41da7ee9
+4e01b259fdd4429fe5e2efe14c3a1266714e0c88 e46a6e6c8176a4f7ff110c244e91596e3efdf567
+5d5e820de3ef131a895b89519753734124f3a74c f95b48b08f5ec2fea03c325a9f26bd21ef20d069
+8d006f07bf22da25db071efaea0804eddb600970 b2d72673aa6c8cbac1c565340994b514ec4cc37d
+788c48f49ba1d9c352be86b1434b458ab66ecd42 41807eb23a357a99c05c2662c02982c38afe1250
+24ced57037101a42fd47d5e53a2ce3e36c6b15a1 d90e0f2abd1fbe193bc8e59b0ac393f4a8a76aed
+99a474b2e33288073af1db395968f3536f8941f5 f2f3a215935bc3a46440ba973c86b13d7295352e
+307ec4b73895fb7d1007f98bf2e5eae731e5c16e 3ca3d3675a55599a68d3bd44a09f8bec14ab8cff
+3195c3a33fe71f43c86c695c01e7ec268a20f54d 0813e932df6243ed0cee958cf37de1fc60b9a518
+9b5c88fea509da6c82ee3ada5aedcf4cd4ab5502 f0825f9b0db7a3080d9cd1ba95b9a2873e14a56c
+0f7e446130a89330e33e0f61edd7e3a4d5f5777a 8f670f3c95706e473316e3929fa07ed123f50572
+df35aedac04be171a7ec10df58636c6bd4fca1ad 0b39f9fcdeb1f8c1a389b079b26dbda208e55479
+d8def9fdd6577ffba808c41b8ecc8f13fa219773 41b1a0393cd5589ff3111af1352378b7dd53d07c
+b16e3e1e5af804db3a817d066f252037dc634a43 b10da9095387d7307ea930f42d104cea881c9b62
+0a39b7f7a08a593afa65aa3f0d88bf66653906b7 7404c0f2c5b6daad3388a928c1e67b75bc513d6c
+c638606d3723fc375139a6c7bac102c830d76cb5 d791304c05565d5fa27fdc47c08635b2ac3b776b
+0e1df71eef189c849d25d82f94bea50a8d08d5ce aac9d5f0238f2c9867ccbde3b71fdc48f0bf5737
+08cd58f0ccc2eb6b5a52081421eaf384c5af06a0 aeb37e55b2c675b8270863711050366561af3d3d
+211aeed4e8f4c9107fd1ed31ea29f08fb1db3bfd c5407844273842488de997b3d3b814e91f1a08ef
+c245b7d852e0f16700bb0ed5c8c92c385935e343 184bf2c188c2444db3fbdf7c09c47a8539e80640
+afa69e8d559a8960fddaee1bb7fdf392e22afa56 f6b44442b32bbe6e25364374ef6aec02d5b16ee7
+5f69724b57df17dbc91ddf14c352e6f8d0f252ce fb25e84af925740394d9a750aeedce0e368bcaf6
+0b6510af17871f151f0bf6a580cf2e7143daa161 962c68da6afc4ae461db63a2a0cc3c67f82960a1
+e86aaf84bf89f1f06f53d21121da907fcef3c168 d47433444112361cf36cdd5b707dee2c4b7fe1b2
+be3899299950211ef9d99b9928e4a69d7ef812b6 7b57d38a9cb17b8b4daa08983308655f79807b49
+e1973f1e374c17a0c4b017e73fc0aa557745fbd4 e23ddad349b6276b39d84d180e0b3597239117f5
+17f4e34f11798eaf77eb33c2375bc06d6e225323 5671c09da75614034528cd18c2b1fa85df596b36
+e644cd567b1161f567876414f67ba45579823f9d 6724449336146ab10baeb1bf441e866fdba94e48
+c002214bcf3af7319199b946b1acd7bb3099c825 abb902ffced26b87f90432bd19ad7e356e6a2069
+491edf15255a1045942751eb65d588a554ff5e0f d450f6647879dc48fd39fe8bbd7b0c380771203a
+e0d28526c117ed483ab2b144bc321925b0dc89e6 cefe1c5f441fd52e2e95df9f8fae695347aea0c1
+e01102fd80903b485c5f3013f72ee34a5d83bb1c 71052e2a41de6ac285e6b0bf1be37b9f83f1bcb1
+18edc4858b28d1126709b1736b95c7afdcb680c8 d53e8fbedf4167e51ab23e88a480140ee28672e9
+c4553aaee0ed4b431867e8a31229e0d4ac600e91 6ceb29625a47627f5f375686490953a6a85965ff
+f95d7cab0fe6daa5fe78f80b6aa16ace6fd98f12 38b081ada4ed0b548cbfb6f12dce7d358fe429b0
+a38b6aee5af99b5f69b82fc6c7ff55e65fa3b45e f65c5827fdad4ec963fb2f9b84157d3bd69aef7d
+7cf3979243401e21c60a01015608d4f09438ed8d 7b61cbb611f25f4291ee5dd91f95532cd76b6d17
+12dd548be46577b74a8e13a39c3e4859fa5a0566 ff9aadff2281b8380b0fa150a0aeb29d57ceccf3
+5789043409bbb90b4950f6b4ae2816cf143e3ad6 35058f073c1f213156bc7d8e7d4e568882a79a0b
+3a59c2729b37a7e35f9380f1d99f0c416d5d1563 2a0dcda815a88afcf74cc1adb9030970fbd043cf
+d06f35fd8c7991183687486193f121b2c504fd1f 99cae3106b625e538993a4a883e1cd85f4012014
+cba9bf2cf5194da14105cc28e792f908ef672864 f71615bb527d8eb95748f60aa28cf8facc83f9d2
+6a68dd0222f940edb6c7785339f88e8e1c6caa0b 60282aec053e2993a496d12c3a70c419a92b7037
+38b1bf7b4f3d94e30d4180ce50eb63e582b9993e d6c4049d4b895a9c034695bd42484df745db83ce
+9a2d88bd2141d388a2e022ef993a78a1420dbe90 12bbb2f87143501e8483a2742be61dc249abd883
+ede2c9f28dd5f684ce288c7b86b16a6b4a4de4a2 dd08632a2331f32b14b80e7825f87799771fa8a5
+706b8df74b3f1185c629b2746648c22f1eb493b8 851dcd14ec99fe88aa373d42f29bcc22e51a0409
+08dc2f58ab784ff76c7920be017e026773d0d100 9344e5f8ae5533e6eb790cc35c7d9e046c8fdeb8
+37e9e67533d7dd65dac910f19b65f777803b3e70 3af4a96e0d6e49c295ff3417e522b1c6ee6e23d4
+04c21166cb45b2ce437ef2dadc78f2305812ec17 f0914de01cc2473df856cea4206e020819216f75
+8499ff40544cecef0edd07934f18baef10af2a2c c233f7ffbacedc74a8933203e119e314482989cf
+9874486f6e056333b1584d390c94f129ce06564a d3d9cb1f4f2fe61af970deb2d7a2b8142e928972
+bd146cb3d857cd628e55e9a92e8d954966a426e4 8316ca7eaec2e7bac565846b49d3075a539f1070
+0b8a8fda5b4f9dfef4b1d6a45fb9113a3fc245c6 32d4d57b3873f41357045112f3f561d0595cc4db
+9a20ba9d3b719fdac1809d4c2946ff3973892789 d5eb635ffa88ef2bde7fb829bdd61fc38bd8582e
+6b5030faf67e5c7590ee6e182602587b1b244f93 576835275497df1c3090d3954949c4a868411022
+e833e7a7121cfa53f6ce45821cce62b360bcea34 e80f3f02d252f972b560db8edbb4b903d7d986cb
+b4fa63a2d907e3c4da775f0d49a3223e88cb1242 d590977ad2eea48c4a74f2afae282c4169b1ad68
+a3bdc91c91b4546e2ade3bb98e0a7f37a198913d aaadecd751332c1e3dee6f66809bd54a4acbce19
+6101755e247c315a14fbd4e41bee057013e099a1 80fc06d522246fb2972e8ac72270fd1813855730
+3c0c0203e7caadc1a3664be2ce861dfd2c98ecc2 00366e122b9b9ac11298ba6f030ede2b620b2039
+dcf3380bf77989c85ebd4146a6e57ef0ce2d2647 2f746808e602d9699563722668835378120440b1
+afe09ef1253675133ee467962633217d9032eaec 1e254e694b81e384cd38909a2f73edca8b9c0ad4
+1cf51e021a62ce22fa37b073979d4d0ee7979281 62943f9f59620bd1b0652cbbb3e63fd593c0c07b
+d4f35361f93d025f2c665bd646a3d76deaebd142 0c7d388fe6522c13fbf31e77da06b6a1ab654233
+47a02f4d6d2715ac797faab85b5eb41cfe99d358 95c665ac8ca9878ff7b5d49ee92b93417be1ff01
+b379d162769e3e6093cf4486dafe14cc589ad693 1ce9ef6b3e7b22de24907b8e8764555941321655
+8badb2274c90d36ecbb0fabdc5a1e8254f102471 8a7f94564b283f31b42af614dfe23d2778abb891
+649103c5f76a84b6b469f866acbd40d76998e1a9 40f6bdf174b5d40ec3c0a41355410fd89bbb319d
+334fc6eba31c9ae731ae4415ba83cf86039eea57 e997bcbdebe457317e60a53b63a27f43da31da02
+d1536931b880dc6709bcbd2abb52d20f1180034c 18af2c7d36549a60adc6ac32aa7d8f4b607b9e7e
+dfe2bf1d14865041730250d9bbf486406736eabf 742c9d8291ff578c3b652515e835a8397e607c8c
+51186a5b40063e7dad6388a99ddaddc6ab89d0bd 9dfbab4714659816a2693e1e1c1d5b83b58e4375
+194106f7443ebac4cdeffe6ce4d883b3f5465111 4366bc2e0603fc0f9d1a3e95bf864b90d321fcaa
+778a5a83ef4e5e70652fbc00f2e1f8375e587afc 65f17fe1430f22b9ef280d1b881a00a7aa419757
+36680184ec50ecf5fff92ee33db711b7512d923a 49b55024b1f7a4cc776d1160b2d1fc95560a0c9a
+57e136beedee9122dbbf46a1d91f6514f058b829 892fccc4064d67e42f48a05ab789eb7b8a131130
+0aaf4b4676f27560cc436d0ff74b7d812a1e6662 a890b4c57ef8f89834de5e2e41da41bc342f9fd0
+7371669945e7f690c9f2f22b04dee0b0b3cf70a6 21fa726e54d490058c975214dd1773699c8ff284
+3196941d73f122f5dbe42aa0ffdc28a2470ea089 c923fb8dae0f6ef4157a2c2a2fa898110ca0505e
+f37fa9b31c9b82b0ca1f13c5b18c024c63bc7598 19eef5d0208e75f2550b63047edce075d4cbe1a1
+6f25e5a4f0e0d7bbe1ed3e14e7da4d371e290c67 42e6a2db92f56af099e3dbdcb5bfe3b4c501aa94
+7afdf5c80c20934ad0c228f41406b3c5df06cdd8 b731415c92d88089a0fe990e57d5f2337f440993
+69e3791e134fc080564d46a71251f15fb1934070 1b249d6f75edcd8ab6647623f017a034d8254c24
+f2365628646e7703ef47e54ea5c3ab877afc465a 9b5c7790d4119991edf02e1e050349e4c0d5bacd
+bde80560117295f6b3e61f9b47f3bdea826945ca c6e688ac453304d2201551c4940b8d52c390fa9e
+42a31ea27be742c452a73e88dda918ea66947a07 c72cb035110ca6007860db68c74c5d0cee4af213
+1d89b85c797bff6ac251999056d54cf46b6c869e bca9dd535f15a4f2232f4b27d82a3cd18e740490
+610181b56d3c39852c7432fefa76ad517fc942fb 4ea0f7b0d13981e6bba59dbf9c54ab492a0832ef
+d58b75f4d0412ba33f1daac52572ab34ad6cbcb2 3fcd22f3552e181871fce5bac6099d34cc843b74
+21fa62ef7038ddb1539e2eba3690e236f4a866c8 2577139c8809ea6cd6c31ea0e3aa770a2b654879
+053ff9dea22d3507ac08c7d671f5f9dceceab0fb baffe5b3c466248beb827452fe978f5cbe427c42
+495a8d490c861c78ddbc68877e4ee593a8770be2 7fb0274c98368fb73bcb0851ddc8a814e9d982a3
+9028be7fec186159dc733b225ed558410aaf03de 0cfe91f9c83c165c25973f6f07c26a629e0f87de
+4b6b655ef6aaf8192b81358a759ba6b02dbcd1df 6117cb9dcefeddaeaca6d2fc3c5fa4e1c39323d9
+1772f8d2575bd717794dfb3624508d5324dbd823 3d65b0698399489ce1e9256a95721755f77532aa
+ea82fcd4589d3cae4e6ef1b6ba826ea2e4b4e846 3823f14efbb9894829b2ff1de6e7c57e0fea1f2c
+e17fb66322f0cf51fc19e17111b38e82d78c50d6 57f355054415ca89296b5bc207bdd0db5c0f9d67
+bf541483d9074c18c6d4f4bd19caf0de82013cbf 369872fa9c5386d2bdc2a37e29355183a7f64b01
+15cac4881bf11eba172556d63416a5d462e5d6d4 f6e9805ebad1c03f66444193a38676cc543e7ab9
+b94be036dcce0c8324d966846dfd2475349a5eda 9bdc7dca3dcab0dcbee0639e8ffeef02ac2559ea
+482aec5c620497a4c242babd135f1898bba271b3 dee119d7a5156c8198d21f595de1ed225aafc647
+9e23eb15550830b5efe1012c8169339931ec5f32 9d45e31e4e39e3736da22ea917623fb2b36f393f
+c336ae03e4b5dc45dcb05e2e9bcf7a7e62f3f6b3 83606bbdc084c962229c671fc2b13d1091e5ff29
+dd081111855a722ccba3f1513a18c54fd875aa1c df8c61ac8ee3e9be12fa7650b9d69a7de2c2f565
+569666ad2d30d83cab0eec1eb206f7e91e89d398 1dd0fe381c0abaf8c434c78052b329d5aa0517dc
+3df270968da72fc7f7143cf778a2148abcf507f6 1253c128500080e53968786bc1c17ce74c62ceda
+edf4f38c846a1e895cdb839bc5c044fe1761d770 a4fe5db599acb138f97aa1b0794ee5e5b44af74d
+4ecbc3c25fc27871654b705fafc7d74ac77a65c2 cd3f5c873321f2cb3d5c73c7eee58d854ef9068c
+1ed421424048a5ae8045ebc1d2b853c3a98b5493 dc9d3795d39ce5f527f434573c93e3a6e3f4e1d7
+ead7b61a6b95fdfb556ffbacdbfef3eaf0d4a168 9d396223cb9f90ae4721ef135ac42462268140a7
+3620b7690b1de428e8bada86124566157ea674a5 43913bc3230819d2f37ee479a5d6899f6397346c
+d7cba3b0a2f4fcb2b729a0422ff70ba730c8b92b 1ae13dc1fed06ac5889ff4b03f7aad90deeb8305
+9524268a86761b4bd5a421af3dae48850d93ca5e 9e3bb1f2469cbb66857b3325f7c833b76c58e9ab
+7aaea473895e09869e5ed26d85be21c122d56788 fa7326e4b22f85c5bb3e68ca474098f6db7dabc4
+fc8ad4823407d51a64464e0d8cdaaade1573a0cc a533f10e2fb8d270fc34e1fa43a82efd2f3f2052
+f805a49439909faee9153212444c1dafce92df7d 1112bb17dad3fef743bd7a1d57ac043bca8ee4d2
+3932458625bd1c4f62a6c88dcef4dadce5b00339 cca85f45d1766be0bf9528f4cb9ef6a62cb1a900
+a260368d321c4c5ad69a965d08c032025be639b0 a6906e163c1bb3426b7ff2621541b715e51ee5e6
+d913eb3b9c4538bda5837732a21cb9413b6a6c60 3a129414a10cb712b62f073f8674be3a7ac40c52
+e1687576d22105db59e68c67ab5f856957d1865d a7cf5992ffabeb2f49532613967abc83d872ac2d
+5fb718e8abbfb59a9fa9c0222a555aee964f4b6c 50530f5c170d602713736b2ed95c356e3320d521
+bc1cf9fc03d2cea7e4ac55df76cb2eb7cd550ef8 1d1cf9052ecdf957721c5bc9d87f63f414059fbc
+d3163a313db90a1699151c8ffd7f2afd66abcf37 9f23cfcf4eecc74142a40a14fdbea93a127acb98
+c63d01d56d0e27db3fa130dd6bb4eec08f2ccfee 532b5d15329c99f380a2ee1c7faf9075d40658b0
+0f112fbae4954a6ebec53306c085ac57b4a91331 e4d4c51515d7a662543a1c3028ed82d685ccb376
+2db202cd64345bd67d757ab8c3175fdbd38a6cc2 f38a76f983d7c6a4c3949ebc5cf5ac2b6ff96ddc
+fafcbd5220c0696f6951c5ce77815d883957ac39 3d097a3b8f52702dda4b754ff92f9b6fedc6a070
+372fb87d85f7d78c6ff285b4789bd868cb000c97 89d61d346af18a20a5049a0fa019624943cbcb06
+8d8239a10bdf8001317553202717277334022b21 51bc8c8bd9bbb3e3f8ceb0a70c2eda8eca3bcf05
+336b16d21b54fbb57d5c6eb0db923df73d16e176 273d510a0a8e823d59810fb8612c648ec7096be0
+997456b101841697cd1b5bb22955ff9e314405f5 7454dfdd5013b216ab1231420a077ce1f87f386c
+8a75298a6965eb35721e63420e7703272d172671 6ff6bed0bdd0d37ffe6594b44d415f3a920dc135
+7143feebabd71312547d647a32a341c07c0f3121 e2276257cf5204c143aa191eeb17c84c719dc2ea
+3f95c322795af28d9b8f8730b9479a8925042039 e735c5ac250ecf0baef7e6988e95ce0d51c070bb
+038a7eab2205921584fed72a75c59d3739f120e4 ad8feaf3c843bdf43fcd344afdf0073c833724ff
+934f757ed10b41413e6b064739cda7146023068e 8c9a849f090287dfd7a0a14ffa4be32187b3950a
+7c0f51ca82fd21389cb7cf833887c63dda79b2fc 335bd0b75c15f898d06e6e1af616293f5f06e96a
+276fdc7b9cfa8a7913f17e0c60a4603ba3181cf8 4e1d1585e8cf218b04a065b6abd834f9d4a586ef
+1c763473a1b5b63c0bbd74afb7befc5522b69d17 91dbf65421f54310b2b64e80761400891c6df89b
+eeff72dbd3f8a43c78070f01cb4054564b3e6aa0 effe24eaf9dfeee69e26048711c174a388b1f1c8
+9ff0560f60433ee3d194006ae0ae36fd6dd1ccfe ae6732309415db5ee7d6cc61d7b7fa9893ed69ea
+28d69f6c7f787230c3569ca07d5c1ad338aeb6a6 69120ea81f5d17f4969263f42c7f0822c00d086b
+2d797b9506cda9cc17310bcaed23b7d27071b941 3d8664a7d2a82e48cff2c168a6e4650075180e62
+bd73296081f8b98c8cce93694e58de8fa4e0452c 5ac16b98a63d250957e69a05ea149b1232ada130
+11bf20602885c3d2d42d8a7f7361d2005a708b5c 7836cc8b93be35d387f8b95b1fb4cfd5f224ff53
+3c79fdb428663a03116f9ce02353e4c41adc1718 ced954b2463d6108db7ba9af4cc2b1806c56dac3
+802b67382e31c31118494570a15e8c1b4ca3749e 65c10fda5684325f147eada48af47afa4eec1848
+e67bf3d79e4341be1ab6eb9a26ab669005736de7 acf8080bdd9b80fe3109a781a063c9257a31ebc6
+dfeef23df3a5eb6d31ff46c17e8ae5bb09ca79fe 475eab0c6e5e296655d7c88fce76b6673feafdee
+2fedbfb21c2e1946d53bd0a1da51ddef77544005 9f9b8a0a763e9b5938835c497a7eb6644ae6b72e
+3daaa4e168b8cd1cb858214f1e42a1c4d95af731 76ef916dff07f053c8592649bef852ef1055b971
+34b7003a5e4a4e8da612d9d62a8cb314d9c56bcb fb2819f74d19363adb5a28c356ca25098ec37196
+cc6c02d43135b77cfb6c11474145248e72fac05b ffb78950143e9beb0f07e3f4bee7e5cb27df2033
+f86ab98adc3d7fd4eaa61d1a4685c5d8a1efdbab 8572c3d700c39de103ae9f96e5dd1417e774eb50
+20c04f6504943d5cd8d45261a69d06cd3b81c56b fa6bd431d8348ab4a2e70eee60d01226f2ade31b
+d70dae59dc5a54322f736e0f1167908d80b8c2bc a835f03814bcf9fc3f8dd8ab14e5db691054257f
+ceee5d13f032c0735c3290cfe7d80dc6dbda0c58 a835f03814bcf9fc3f8dd8ab14e5db691054257f
+624e1473ad34771d003637c8877df9c7a6165d23 ea093af353febe94b8cf48cc19619701e10ab640
+b90515a211a961867d0e46cd46a0aadd4c6963cb ae1e8aae00d878f67fe45fd4fab825b115810606
+a548e35be52c3f668116116e6b628a0cadb11468 ae1e8aae00d878f67fe45fd4fab825b115810606
+f75d1322a1ebf7b541565c2e550f80ef6954c273 4b86718d69137a00ffe2eb22ca9b70f7f6c06468
+87d4633d20b776ac4524145305ba379f7e738610 8a893783ca1ec8b194325d959633e27633f1c6df
+1601b5295e1bc57d7250b693993323ad7d0b3214 8a893783ca1ec8b194325d959633e27633f1c6df
+7f21a122567530338b31d57eb2e83041157797bf 987a9dd5015b7abea3b6ac89bf4f5829cffca14f
+a4e992a26a6734570524a37b581fd1641da3f6a6 681d431ee0080ed4653680c82d749cd2e354290a
+e4e1d3f4fd990a118b9add32c1f3304e1aca4077 e2caa48b35afc85a89b5f1769053ca3c9a51ad5d
+8c05621974f473cc8b68278eb750e045a83942fa 0c799fe0a011467c5216f5b09f62ddee26a6f0e7
+db8ee62ca3519c1488aee09a9e02c9f73d2cbc85 b86eb563a75614a3ec58912ad28207865d631acb
+a3f472952a16d9cbcfc16681447920bde04a6ed2 79b48fd354244c840934eab857defead20011961
+74b62646437e5ead313f5afcc9269aedbe0048be 2750d230b6d3e4a461883db2d0fb03bee98a58f3
+c446b746447692bcfdd65e6b0131b51030e228cd f8df324df0763d2ed51ce40a0760e2a5472c8d12
+9b08c210edcfb3fe36890bfc6171c8a6d4aaa5c9 1e5b43fdf43b85f806d1a6cc93b1fddff8ed3b7d
+3e482e6e28769c3f2f4e5587f0fe4c1b33949a1d d4e3bd2e370fb730236979343f054dc3881cf868
+904809c542f4517806ba794d85f31bbddde2782b d4e3bd2e370fb730236979343f054dc3881cf868
+47df1b3fd94ee76165231899179630770fce72b0 737994fe21b23cf9a0e3c7f541bc43ef16312b2b
+9eb2b70f60540dd159dceb39850bb5a518ffaf19 efe99d0926806a1617b9b3ebf18e4b1cf06b4c6a
+b1c6890eeb989a2cf83d8107aceb4c09e385371c efe99d0926806a1617b9b3ebf18e4b1cf06b4c6a
+0bc66c6c1e73f9f52d244f450d6e9c86de74ba8c 681b1a44b6e90ecd754aba809a76fba2f606946c
+f73b3197fe8ef329ad8a3b88c617361ed126448a b64eaf5e5991a93bf7078d81d3424df8ae5a146c
+00aabe555ea6631277a80781176a33041168f2a5 c7b4cea3ff1de56872a01a1ef72c9c1e258acc73
+34a314297b7f7b3102790088cd867076efa71ec2 822cb176f7e9faf258ef317b8029ecfff326c843
+f1d2229164bbab5c10509913ea392da694a7cd5a 5b30c371718c17d598e84bd040672ab9e129872c
+15f8294dbd52f36cc90fa0f9c85ddb23192ac09a 8d0a189d0d345457e5ff170f000a8e7e16e76fb3
+bb98be9decdf7c43f6dfe1b117d2c67f86345850 5b30c371718c17d598e84bd040672ab9e129872c
+ed019e2607a9040e4e18fffc5f8a13956d8d3722 8d0a189d0d345457e5ff170f000a8e7e16e76fb3
+d90064c9f1ba8c2e8f12e7976035faf8673ae8a5 8b83aa1fcb7bd052713627a46a654005751393e3
+cdc2f8348087e25ed4e2fe0191f5b0019c26a544 8b83aa1fcb7bd052713627a46a654005751393e3
+49dc96bf6cfa6455b99ac5523980df195b8d87c8 8b83aa1fcb7bd052713627a46a654005751393e3
+144df58602c078063cd05d4b4cb7857634db5116 4ab2d0b484e7ec22e13e3f98498c8477fff1570c
+e4f164f0409af48d958c7c85d869aef51d02adc3 4ab2d0b484e7ec22e13e3f98498c8477fff1570c
+d23189d0c67c8236c10750db126b0bef0a9cb50c d34a287f441bdc13f4bcdc00264bccce36cdd665
+5e93b5c5b0d27291e566eeb4ff51edf7386f107a 4985d6a110a1b1a02dd298d4fa309d4410b9976f
+917f8aaed631de48b04cd58608ecf842c9fecdee 0833cb3134257eb203462b4ab9ac8585f98f78b0
+0bcd630eec0af1b93ada21b105ab86fd3195b19b 80f69b2cc7c181f0fcdbf4a9aebec1fa7f811907
+96fff66678ed221a048180cae965419e4fb88385 7f0f4b58b4954085ea80eaa00120779a81479e2c
+3d3ac980fc387e0b4004e8a41bfe7279e4365b87 f130bf0b129b8dc484db22f53db7714e63fac5c1
+e2d0e01fa54f37de3dec3390c82d462c634821db 34984eabb9009e9065add99d98fe2c34ce109d79
+30c46bfa9a50c03ce5d3e614a037b828bde52ff9 6676bd5e8ffb652c302b31f09a0b9e1138666c25
+013dfc16d6ce62aef324499404130c76d5d613ed 30ee90948b63ba6c58e97274ec309f16c9bdfb22
+b369662a4efb68be33e4f0d40e036755e9251e58 b4a06542a9c80970d5d2f35b9269da63a90ce911
+99143cfe3caa98ac07fd05c12fc1105c8f2cc24a e097fd3f7ec58b4ea4544af0c261fd331aca0aac
+cd1e49987aca33ea855927e803ac1eb799ec25c2 a1334903915531f6ea25966382cab06106cddf5b
+aba0c2a6c7e1d1f2499d8a345a1fb73271c8d62c 14cfcbd39b39e7d63969cd2bc694f93a57b0ed77
+2f9e7eb5deaa058718080e70cbdcc19df78a7d1b 4cd29a255848fa5e60024b5d8d68d082bf72860a
+8df381d89e7bd89cc3e6b79cde8fcdfb7c503363 14b7a7cce78f4a5249b0514ee7afc306c6788a93
+1a0b445d095058e40f699d4234827bbba7baeca4 7d6dc4137087a7e3f9d1d3c63b8b2538a26d34f6
+478908e4a5dbbb32ae4d69e2e9ec3f0cc7469c97 878cdae6fb396b995ecf5457793cc1cecff74a6d
+602f64fcb8049d8a1a7db86408ab3d408440b342 51f2a2182d36b21135c74e116449b215c86f4da5
+da0a34c638afb2c2b9b04ce5dd93b4d0dd9c4a5a ce7752b08c9225e8c319836a08ae5d23b4534571
+10bf9966681da0a648baa9329f604ec43f09bf82 07924579dc9ff8bc9987baeca0144ffb6f280699
+28c4eea7bf0e4b47a836d7aea59047851c40701c 116d8c04916dcd8d53de4b8b5911a79aef4b966c
+01a4e51fdeb44cec209b3b089e9f42ef1729f350 ce7752b08c9225e8c319836a08ae5d23b4534571
+541e28cd37875dbb0879525072ee4e4f79c6155b 167ad3960b77f87935ddda6ea0a551752d91c370
+6a12325c1b6b2aec32c3a0e7f8dbbe6b3316db8b 01b0a19860324cea67964a8624433af422c0b626
+ab023b8df2b29a0ba121f12a7a2f126c8db5dff7 504760e3b35629287ddb1c4e6fd19d21a9a4a5a8
+787e2fb7df2d998bcc4e5260d4fd22bd52b7be18 ae64c453ab8c94ac5b44d746b8ef72d3ec2fc0fc
+2553f8b29fae6bb9b83d506e5f6d741180ed1819 1dd47ee15af3516591ede7037cb12ad35832f876
+42fde10ac0f971384a18afb6cefd317389bad461 34792399db3f0d70e95311b9d6f61ee4d31b9cec
+63c4e4aa3b6a35f2d7c4c8434f3873a4d6ec70de 0b60da166f9a0aa867d1dabc558e10a3b225b0eb
+70c1bb674d7e8aef1123d898d01ad823299f4379 c3d47e8a8f1f7f27c7ec538011ec75fbc2c04bc0
+c6a9cc5028ca63dbdc85f21d38e02f64fc996bc0 302db9b20713d9edb468cf26a464219c387a4637
+f7331b5749ed0e239e6ec1252f4553576dc5855a d15f0f88c243e9e34a870faf9eeb0497b13bde0a
+ac638fef69a9afc5c3baf4f0796483dd86fe723e c0b2d37e46c1ccaeb84e111958b28f4bd755127f
+d4a9b50475c8d57a5616cb8efc7b7d700e7ad46e c0b2d37e46c1ccaeb84e111958b28f4bd755127f
+0209ded0df164a65380565cb974ba7b6e6d9f3b7 0cc8c01b31363c04edbacf419843d6c8917f9002
+21e6f0751403d078a76753ddd960dcb1e27c8495 e12d7df770ffbbe9d99bcd0315d1103f7fa28e29
+76bd528035064374446e44af80c71e3016d8d5d1 c6af322c1539d3f718a408725dc1891db415777e
+b1af318cb0ccf1401cf9a86d4854a4503a82260c 3df5051737197142bcdf10ddba56e6e5e0ef6231
+55c0ac7ddab297d009896c4d7d18f74b266e3177 0b85d3c482ad3930676e17f31b5bb30a511c3516
+ef717196763d20a49b5052b0e820e6ed796bb93f 151fd0bd161ebc49338f1c6f68a26d5e2e063d99
+e910539f2f90b70a4718dfd76e7abea441483273 151fd0bd161ebc49338f1c6f68a26d5e2e063d99
+3971e72f8859f3abf19bab10425a09a2b44eec8d 91537be71c5eafbd9f2c43b440cea52abcc225df
+548977cd0c950daad7ed463bc5182ce483976b0e 151fd0bd161ebc49338f1c6f68a26d5e2e063d99
+cc9f9b999d1f819bebc99b9a69576f6de0a8d63a 3fb41ab68b3a2f011680be694a166ef80651e87e
+ef0e94697ec258acc364e1bd67c5fa6b947806bc 91537be71c5eafbd9f2c43b440cea52abcc225df
+dcc45918454b2ade6d9e4acb875725451a37ee82 54ff890a3b5e178b59c0714de88fdf6b0fd1b1d6
+2823d3cd515bc6d768afa2ee3295a53dc78a5ee8 7d02b2cbdf9ae8586b67d7d6b11682d01fd2c6b3
+ecb23d20a9de2bc07e4c8a242183cf062e7c3b8b 92f9c3f4449d6c2312298de62354e20e0115fda4
+29f0c3cf96216006acf309518fb186482a073fa6 92f9c3f4449d6c2312298de62354e20e0115fda4
+07c001727af5e44420ccdd97b7f43376e7c27200 750a52afd817776d587ddf7d016f52bcfb70287d
+1d0d2dd586ab0ac69abf7f9a8d6c00477f85f366 750a52afd817776d587ddf7d016f52bcfb70287d
+0db1c6cb292d4d2faa08fd213127aa0435015ce4 a35fe5e070595c63a8b79ed59e18fdf90619c264
+d616619f563e2af2c3ffad8e7a33a5d029427bcb f7e809c9dcf581adcbb866a7e27f5ddaa05af2fd
+ebd1cec6f138300365e9c480981af45ed25be976 28d8f997062654b45cfec70a41098180fbad4a5a
+f84652107d6c440380745854e4cd45fc3e48c3e6 185bf00dfb7bcf20c7c4dd43029eebdb60f78b13
+b5457b9613fe9b3ab7d3fe8998bd9f8c4e14d682 83c60ba0a4f994c3f7f1573c4462c2cc09cf5117
+0de02c9ec598ccd413b1b85622002e9b2168018d 1c6958c3f658c630019e53175888530a8a98bc57
+10f02c59761cb1d566604e04724d42343e2ddf17 6b3c85c24924065e78f2ed9163e490380f93965c
+0def2820c00c42ff630169f7b37aaa48a15b187c f7e809c9dcf581adcbb866a7e27f5ddaa05af2fd
+8b8cfc69c022fa295007f818c693d1f406894a3f 9abb88dd3f2e541ff34b7130fb02569061183a54
+5b5cc4a8642ddb5f309d01d7f95dca6474001159 4adc9bac2be1668b665d9ec37b15df7487e352fa
+f62c347bb9addda4f4d1882e2364a955a22afb32 78a7646374fe89cd05034ec69cb05152d5f18333
+b1ba14f9725a67ee5c4418ad5ff0a005838d7721 1f3c7a664fb727cb0220cf572cd106a6d2ef80ad
+889f5f2ece3df5663e5e64acddc828fd4ea1f60d 660b709a528c2809ebc9c4506707f84c19726b36
+cf6cf9344aadb69756b76e7f284d4679556f3319 5e744b1f734fa7862e59c8852fdeec632d81b6e5
+6e8606d4b350947ed87a37e8984d597522f0370a 5e744b1f734fa7862e59c8852fdeec632d81b6e5
+babb41195f70f374f8816ecfe6bd59f8f7eccc1e 337d0092d9406bd2b93ea7108513f7d199d45bb5
+8573b48f05c8e1f05ee2e036c2f0715ad5608673 42600ae6c98671c673926eca2fe8b1dad1acc62b
+509b502018f31c344ef5ea4e8f093c82b074c1b8 47f6458850b827282d250d665bcdb51210613390
+6ac2959df48ee440a0677cf735110e3540bab285 0ad7ec87331f128166ffd0b70db70a9ebac771f0
+ead29f1366c3b7155d286f2639f2d8d0190b453e 44abffb397573128fd12ab72e03674098ada0d1b
+7f3e91e29471efc93755bda3003ed12d14ef8a24 86746a951ab9487f058e26cf714bfac71d96df8c
+446bda52c32e2f6d2cf1a60988a739465f6c8576 ab7772ea3c4fdd4f8cb28dd26c2d3ad560c135b4
+269f91445d1ec0e4437b868bc65c7d06a9833f1d 2e7d5443efff3048d463dd91959a1101f27ec9b3
+4306d66df940339e5fbdfee21e2bacf7f0203c87 62c977180863c4b8f16158c2d25b27c2ef00c2ab
+60519de8d194d117df73941037e49f6a55cf6978 7687cd9891ff596c88540786c5df917de2a0a4f2
+a79a7985c87cf4d4e1eab2a5a7be23473eb74cb6 503021167c705d3bf06bb7eda1b7e4535c8462bd
+7ecff5c2e0fbbb6a8e5c04040ddcced0b31d7b00 f82a7eb4127000554810d22616d2aaf673271598
+7ceaef6a240f0971aa106a0f6fc59fc08ec18b9e 51da18b5e7a0a981c47bbb2eb146bd0c4893540e
+b919780567e9dc2f871e75a1095abbb0b3f49040 2febc35ff0c768e77115d605a81209d0e46c099b
+7d4cbdf01e822c8e7deeaf2300727f5a7af73275 0ceff9065d5daf08ac8047b3ab3aef28b429cf6f
+88f75e33832467da599bdb2ad5d068ffd959a092 51da18b5e7a0a981c47bbb2eb146bd0c4893540e
+55e8b3855bc913aa88ec55e555b1e0491589ad90 acf6425ffc002f2f3e56ff8f8906850fbafbf56c
+cea873378e22f332ef6b002790ccdb4225e1348f d4fe9898feacef9847e4a0fd6c5f7c3381800d8a
+02f07dd139d766478b351d00018ce49c3346cfcf e5b584ad46f1919e889b970d8507ddcd89e77ccc
+10d619eae33ee18daaea848695c11bcf67e45195 a7de392ddeff1fee276d4b7c82547053dfed4d07
+e787bf8ad115249d346f2552a03924fce35e4326 9be3d0de3da10e6e97343417767367a98a574da6
+5e9a077df6125835e893578b9904195bc64b1117 ce8a1cb20f6cd2c8525c9e49fabfc4f9be430070
+b2847d0963bdb5b4016fe1798a4322d3f84ff376 710c486d6be25d55cf52bd433e91e676b57b8a86
+f8ef3e55bfbbad2a34972f925adf193d71c2b326 77037bd2892f64358c2826cc2d1a6282f4d296fb
+741b3a355e81536d36687062e27e041229beb630 7e92790d78cb2632ef0992161668e71b7d32bb4a
+b8251fb85d66beb23b2e890ff3208310f588e2c4 c55c24a16cda7bfb1f3480fb46bdaa5acb1d980f
+cbf66ab7bc0fab5c4985d56c5a3e431afd12bd6b f6f99da2a9cb3f74d2867080985065d948c5337f
+a6537781700d0179318aab401b6078566a7a6ed6 5508050eee79df1a0a45f887b66745b90641222d
+3c99501485e04fd5604011d42f5d27b6640c718d 513b5d7cff7a37986684171b9db1aaf6dd68b0e5
+262d2b88dd0b5787137220def659e6c0236b2b0c cb31c25450566fb8d6bde05616b2c57653833033
+c2a3aea06ac54be2578d0873d5d7cbc30570bf93 40d2a6549d49de2983043276a6c2d7dbd3ba1c72
+8e34aa2fe3357d05e6df7b5db587bc727bdc263a 4b88e810bae34a48c4134f82d3e0422e08078ba4
+79cf5549077f4ab53b9d2b09090513bfdebd7693 4a0ce32a5a82891b5b9cb18dec2e10d41020bdad
+53aacb305d5c71ba1dd72cd4cf94738b54b5b48a 6963bff5b92f1d66147489e45109acc2ce0b2b20
+2c0e7faebd3ad47f922ba68fc9b7569a9cddcb70 7358f113974f5bc99c11ef3b35b04ff55e5eaf0a
+21288da813cde8780f5594a86d18a1832660e79f 52be24e74cb0221ecf8b7fd4bd0702b3c27d0325
+661ab870a0ac658e1d637ad730c8c4aa848e7738 cd603122a85d6eadbde6c87a3deff71c2a3d59ce
+4debaca33b41009f58d90f35e90374efaff330ef 47e2b28fafb0ca6c27e7acd0ac1b7fb25a3522a1
+629d52590de23120c658ed425f5f23fee2e4c5f7 c0164233fdb1615f4a59d0ff9833432ed7b3be6d
+6c5dcffad1d57c0b01d5ea89f5bbd929cad0381c 79d01dc9bbe2a067a601e64b733a45d8e0d5eb97
+32ff7e88da92a18a12e00dddf2b509d0c420a8b0 62e9a8a6e811e1a3a27e716a0aa74a4979e3392b
+1e37cdbef38abafa91d172cc835efdeeb204b715 77ee4f85a6c949e2fcd9fc813f6646be1655ec49
+d84cccbed112d9b53fc13dcf14ffc5cdc27630d3 300d3011ef69c46b8dd9087d0b1a8324e1375db6
+fd0d0a7b8eb45e6bb8b253f791dc29ded1fd27d0 ef3584fa7467fda102354a613a424c8ab274e16d
+117d99160683208d2fe9d03263f8b2328b09c872 0aa6ead58b39e1967ffbec97ddcab76d73715554
+98ebbe2bbae83675478aabad54ed5dd637efd876 e1bc442dc95585762bcf4c9786121bd8ba429876
+16f1697699615b526a2a66545f1504714aa707b6 3b6a62557531cc286c50a70c410d21b0f9da2188
+e9d6526dd76f4b8917989dea873ed8b15fa96d81 a1fced514a0cde1f67202387b5c4a473f80c2f1a
+2ed45dc039386bf4d1cf909b6e6a9965ec9f7424 b78a9c14bf69c2095ed80bd20ddd237c8254ae10
+7ade7c63bd78b498f7f7e96afa739a900af3432b 46c7b36793c9cf1e88e2b640d45d057d10e97b70
+915b5f98ab7106cf8ea452a966de6ddf4b18b7b5 f195aaef7e759cd531f7c87351b64382aed9174b
+cd7b26593ee1501a849cf0a3c84fc3ac97a00ad9 3b704b1b36f4722575e3378a7ef29fb0750ccf33
+8b779147696f9957f4317887cb465b86eaf965c2 d000753adf19a9da2eec7a25663705a698c4efe5
+ce5b1e9de361a1e486c502a62a543dbdc42a38f2 e741f630ee4fea1c48d6eaeb46a41222e12dd590
+95d31777466bf60d82361f179c4995ad56a6ece6 28f52b3d2e3d56cb8a97de9be1039f1b03e21f25
+0fd59a0e5634495ffca23f6f7bd9ea6e198c07c4 12c209e46c0d194e1de360131d8c8b285c785e45
+b409c74f5435034cab3677a76eb796406d10052f dda38c3df87c71066cd04c83a4e97ac28ef067b2
+b873a3087aae760785cda9cd1666a3f90b8e9931 d8ed01e11ebd6cf20845de167b32526eeedd01c6
+075978c15314a66699afb6a1c6d5ca9e3326d35a 361b295255b2860d303fd3e9e2ba78bfc3b4deb1
+80c9e173e37930eba713bd631c8fd55cae48f10d 96718051b0b68522be980eb8dd072c7c71738f87
+9abec4ba873cac94c9394ab71d37416fa7479aa3 867704926a0651f10fa1a4a8711325bb6e187055
+49f577dd95d592ec2a8d268d438e034fe5b5bd4f c80ae8904645af82771e4abc7cb818e08405e647
+48a0ab1a6a48198e6f418b2522f04a31a676f5e2 bf52742368c9141340d061aae14cfbff9178a2aa
+986dc1f15bc31c1f72677a2ffae7290c729d9bb1 8f1754d49d6f33a9bbe0c2f2d230d351188863eb
+cf848ea595d9457501f3142ed18267593d00447e 67faf2ffdbd5d3215a13fbf60621b757a690ea8c
+7e459733948f4e49507276df3bcef535d6994d08 da61766d40c1f0dd3b374b81f8765e6dd0e6dfa6
+3f8fb2bed75cfa4e962e13c3a25fcbac39031089 64c5d70a37694e21ca2aa746bc67cc6375bc9a6e
+bc52ea817eaf781b0992ab19ec9b223f91cdd58f 89d3c8bbc122dff9ff057c54d78060ec58182760
+29a134b1936fface0a4875b1f3608bec9288a77d 2743124ba4ec46e862c15f57d5f57fc681d4c05a
+92fd90bd795a18dd6b85e257a3f3de618fd1236d 75641ffd74a153b1dcd7f954a7e0cf7ab4cffd18
+77cc9dbc639ab839d0f9cb144abd20fc0defa50b d15f0cdd434afd38612da4c4b62ff8ee1d8133c1
+20802f9ab6b69760e2e543d7c4eb9f339f78efa4 663cfa5ef2c4dc13c22fc64c5e97de2a207150c3
+ee45c7c252681ff4444bd521200a6ac5febe9d9c 8a4ee67a519122e46bad7e5c2aa06c2c81a47474
+3b4e317dac43174922c8e32a1b7a5bfca438ee9a 6e575c62d2b8bdc3bfaad0ed8809f9fb2ec4fff5
+3aedf19df38454b3b5b56994ccbc7f2e164c226e d8e9ac1a77304f04144f0773675cc584ddb8071a
+efeaee80cc93da038df59ea89079ff148334a17a d8e9ac1a77304f04144f0773675cc584ddb8071a
+e79736fb3ca4d60c0d76249780c1e3c28d412741 399130221cfc789722268c7c63027bfda4be2dec
+94c6c66b0c5911e31944f754fb8087e33986cf17 399130221cfc789722268c7c63027bfda4be2dec
+fb7f4d6fb35ae0c1db608d3c4395befc8dcfcc91 f356344e9076ac7898222f3f8da6accb40c333a4
+609febc12fcfa89c38303c6e493b7d47609b253e 3bc38a50f36cbfccef4c7741659b742c4451fe57
+b31cfeaa78c036d70cea9b653ad702cfeaa8ffa0 8c898fe4407c5f70a4186619df5a8cad87dc7086
+fc414570c9f8d59d4fddce24ca35519c564e4f2c 399130221cfc789722268c7c63027bfda4be2dec
+e073660d4d98f42310f19767894d52093282b133 c6c659b890643b637f41b0f32d3164749d37d783
+6bb5c0b334f9f45a50ca7f379a81f4d756501761 8c898fe4407c5f70a4186619df5a8cad87dc7086
+2b2a13e3383a49fb562f8ba980d07f844e87f9da 6f3399d48f6c88cfc2082286f2806a83e080afcd
+04fc6252f417a4f57c738e4bbbe6f9cb5b509820 38de1292825e0cd5e1d04b6da6e128df155fd828
+cb2ecabea423cb572da19158ff744946e0f8a00c 0cc52f3610e122f2f0ad342c90e64175e8b18c30
+2fb7055dc7a1d4ab0a6b136e643045df45b37a18 80c47006ed9df6117273fa201aa8576a363a7767
+bcd2233fb456033983cbf31f789b850eccbda8fb 452c2201ad495ad862c42bccc7ee7b6c1bf38129
+4b5616619c8c49564f95bfa9508755eca308fdf4 ac07c94732a4b9b651ec1afdcbc836f36ea6222c
+ccfcc17cedf6587b8c51a2df7b505f668b91733e c6c185fffd798db7698eeab25eff5b7b9f5c7096
+a60bdab92cfbebb31912f20dc416b492155360e8 793b67ba2476e7c69b90759859e2c834ffa7ef36
+d1e6fbe666570157b0043aa85052a61808a10f9c 2d614d1db40137add49f4810b34b6bf8a8199007
+e1e225cd1debd7b546c998c05623e43ace8755b0 c5c13d305993cfc79c19b8cd10018c6be9a02b14
+768a87bde2dd5836b6c3102e29b114930148c867 1d4b3099ef26ab587c7fa1424de3a5261bad91eb
+ff2ca1974f91fce24bead30e097ccb14c199f501 a72986c69a84dd8bbb2e816f41594d09094e0077
+9a0d5509de1f6adb6638c0d6b2d328b812861149 9558e4a3307a828e416cdb7a83e8df91a8a7c7d5
+5ab3bea6bd2f7afdec9000fd1ad07a3930c90017 0070d48afbc9a33e3671b8c504e3bb257e9f1027
+13c77a962e494fd8e53463003a6326f21867dc5d b9a66df6018da3d226ce1927c5a1237a5c83c402
+14c0ef02b60f6b757d2655a02ba3562c712701ec 2286c8ce1f0d11e37bc2f422d8a1141abfb1dee3
+b593c868061c8a27afc81ab47b4464333458854b 99a6c121b1fab8d619e4aa461d5842bf05e9c20d
+2237a314ea2035ad84e27606d31a9d8d89a2e852 8ce15d32a6c961f149a04564653467567080742c
+84a9b0dc0dc342020cb5f8aad4b3bb27e6cfe54c a079ff1e5101d35e5e9121b6195fc7e45fff10be
+a61f16432aca3b2c61fe25c62577ec7c767f52e6 d2b7c0a93d36ec4fd5a0ed6995548c9afc5081dc
+5a1938ee06e0e25725601d63dd11eeb50f002d39 c61e1102b4c038c0106996922d475fb1e656cd19
+bb238447d0a48f8920941031cf3c20671529fe28 d159dc34064f38c391afe5422332e9b1a0cd0990
+456245cf2d42e2c5b2ecd506fe63b90077159780 c7706c3afd0b2250de94023601a1c18855185bee
+caef46a3ff91430c1fe40135a040339c1c0af4ad 11171572dbcb020bf986b9fabcea691e11212052
+f603b9d510e1e2a2eb6822ad0e4d88639be57fe8 8238f9a6e48024ceffa65b39bfddf883f6df920a
+f55241f4ac9bb79654b2414b12011c4071e4c047 4cf6634aa839c34e4bea0fb32c9ce11b5d8bfb98
+aad271c813a2da9f534c83503154f366fc07c4d7 96ee127b50dae0c58093541d43f4de6c84e65dfd
+4ecae2701c796dd261e4ed4058f9c5bc65f312c5 aea858a1ce32d588efbb476dd3b26e3ee82c3bf7
+494326d89c966d832e1cc7ecdd6add8e28ccacd5 aea858a1ce32d588efbb476dd3b26e3ee82c3bf7
+11122e1fc5cf981d712b59c37101cde107cc00d2 84d4fa5bfb681f036db78c0b716fdc25f5173538
+0a4e00b26cc516e8678ad7084a00546bb886b6a0 0238de47db9606560f72a89e1623649293251686
+a9c6503c6b27fe267e09de4b49e2bc4a99756160 7c1c392ca1725520d283aa17eee03a5e84cb9ebc
+c6dba3442febb2bf7f43295a7cbde0e268e6ea3c 30c0848cace8d33e17ac3d6df8f1d460ce0e36ce
+18afdf2ff8a277cb73da7a40d6261f8526a6e0a3 7c1c392ca1725520d283aa17eee03a5e84cb9ebc
+1712d2057a9f35092d0857c975c689abe3a71e55 a46dc3270e606968ca02f74844596e7dc2b2122b
+7a839d9c9732984d77f411f7671b20ae848a7186 a0e1429341c65d149f7cf1f686a0fec65227ddbd
+f2ae6cb669e79c060459cbab1d9f2717f16fa527 858c7fe07d3b0785849c92feee46956e8d53beb4
+590fb90646deff979eca2d3476fb537ead158b57 973d67828aa210d4dbf84a13906d6f82021e2a68
+f215e77d9fe8f620fc29f3d2c15dd0ebb3a1a3a0 d18581a5f0cea0678fc02636ecf1c30c7a7d671b
+48747c8890670fe47bed0a72ad9bde3ef0500161 6548aa06e7a9843ec8d591beb327af8c7e5d5d3f
+500050bd86168caae0f78867308808d59bbe01e9 2645476df0b1fb42bd74274f33bebccae1a2ca5f
+cf62b95f4961dd8335063ce9d4bcd121a1ed5604 e2a7a573697e79f799c357c51c4c977756b1ca5c
+bf55323b1d8640190a3f2a6747546286d6a905d5 633a050b3e67fb30104e2de0d99f6b0c9d322956
+005405a7687c2464c8095101e24fbb4eaec748f2 069012ca5b16accc46516294d71c894e5f28eda1
+60b527e8e2dc2e264830150cd6fe586bafb40278 ab0fbe1f093120ce827ce3200577a1ece96df466
+eb5ed016d3dd6b503837a4d228cba26212cb4e6e e8b14e5a78c3a15f629d174723b666f2f1ebb3fa
+2d69536576731329c2748530e8ac156a9b1db6b4 6a1cdabd33311050fd39d1fe1dfcb23e36dd1bb0
+59f88bc08b92050706e9e666fe6dbf2cab7dfa53 6e3b2e13906ba8ff22d3c8490b02d518adb2c907
+70395a799fd1411ea7aeccbdedf2eca6964c7cb2 6e3b2e13906ba8ff22d3c8490b02d518adb2c907
+ef160381948b448c2e691031c33051f5bd2943ea 6e3b2e13906ba8ff22d3c8490b02d518adb2c907
+fd46494f8acb7873e6b32f0a7b55b49d5c5f5a50 6e3b2e13906ba8ff22d3c8490b02d518adb2c907
+ce77c2087cec2a1b85f922013e34f82d545dc2c0 8a906e581c989838b696e500411d27d7a54f8d6a
+ffcc49e25af8b9988350804c2efeca4a9aff0469 bb38ff1a763738609e1b3cada6d15fa61e5e84b9
+2b4a8ff5ef7c8669171195d6051e04bea16872b2 bb38ff1a763738609e1b3cada6d15fa61e5e84b9
+c833ad59f80a5cbbd5ec95c51b24a3eec4dfdb4f 08f6d1ab5da29675da93c9638184910f5e4a3e1d
+88e9170e4412a957b9022a3ed6382a4d4ee0428e b3f9041e389f4e9698268d87fd10d1fc9f471f2a
+6ee7ca7cf60b1dd0ba5e2338b4841dc7ac69d259 09a7024d094d0626b8983921bad79f070af45b51
+b57ef42975d69b964b448e2341028f21f8391911 b3f9041e389f4e9698268d87fd10d1fc9f471f2a
+a779078f6a61c30579fde56a8270ca03fe0353b8 182e2b07b24819a3ba8f6ce31d4d950e48c37a44
+e3e3d4aa6e9889cab293f35a00098623d7050a8c 838cfce97052d5d41980bf0bb8417080e2dc063b
+963827526c5d8a12f460ce1f39381cb1a548c251 dfa1e2e9dab09d15a811e279273bd3f91a3a1764
+a982a7124e0e2aea69d016b0a50ac5c44e99d301 86baa3e4a1eae7166f9b27bd04a79cbf39adb161
+56215d16c5ff2806d338425218c7a38f84d55fa7 0a7edca939cf1f8fdec7415785e430f7074ae9c9
+912b59d3c695fb1a7f6625bf1ee98380050da30e 10ec0c4b79c9cc994b1b16b94e5a9ba722e32ad6
+df63be6effca2930fabd3c5ac90f2f5a6831ee08 511823566054fc995395d7cefd886afe668fc220
+489208e86f4d906c92b45ab75596349c014ee3da 1f9c8403a321783ac1ec810f435c9495f4215651
+e09b1aaefd7496dfa450a0eebc2f5d0123c0aa11 4b487a3e56e9ebfc96a5377b419a84b18ea450ef
+f393601e09def2eca841a17a35e7ac98de0e5c4e 079acb68b85f626bfe4bae9e3f1ddb15894c19e0
+a2bee14815b5a69a78dd85d24b87ba70bf079ef4 f9ae2db50089842ce735f380a8ebce724f9c046f
+bd4d9b4fff8fc4bb5cfc8c2ee107a85cb60123af 948ab51ebb57cecd1ff4f0fd98bd3afe7c247448
+cce574a80120e06a4e5675708a22b1eb01478fb0 a7e82b63c32074feee9122d84ad794b706b6a9e4
+a9a36b3e7442ed7b4fffdee79c605b395fadd3b8 63e8f1935eb487586d5c626200906023e3aa0d4d
+a81b257427c2917d257e0fefd53f36fda1e9ea9f f766a2da51133f2137e882e5b64dc9176d403889
+fc6be9db5185113339f8a8612ad06227cdb37f36 e5944642d55142f7690d1e5ee8f2bf0ddfb5a8dd
+2e82b8d39123c94d6a619e3ec070c33ced9d2fb5 8492baaf5f5843a48adfd0776ed6bf0fb5102368
+fa6edf5db9a5616fcd32c3497fdf9fcb5bdff1d2 839246111082a59eb0fbe12bcd47275f7e876d3e
+a0a8e0eab99ab84fe87bc9933afababad2b9b801 497e9cdb4d4115014feaf108a70b738205ed842a
+2a5858ce7df6f61875285d9024ee30ebb4a9e818 9c405164a8d52ca30f60c4fe36f3275b4176a8b1
+f18a3c2d4d6076a7cafbcc3d4d8b279ce0005a77 497e9cdb4d4115014feaf108a70b738205ed842a
+24056882acb43a3353c5ee4503abf22db96378e9 a13e43fdd9f418a924227da8cbaf73c68a8b4360
+0c837d232fd5cae3486e3396540114223b18aa72 8a8ffcc9a94fd040a87f4a257d93edb745327766
+9210e8678a0c87e6a6f41aae35baf1ee9da1fe24 0fb33d1f4555a958ea6659bd3634e520a6498253
+5e03364217ae748984e9ec32eb68b6df19a91e92 995e84449ac704c65a4ed6447a58767134d9d004
+d7516bf8b7121358cb68372c833946c77d91d023 3eaa3bebef0623b1855de65d9cd2d5e247b6f8f6
+fa6e00805128a7a56dcbfb1dff0239d3e3333615 0d7cd94236b1c370a89eb691f8ab8a4c30c0acde
+e4d996c1c8cab96af14616287b735265e1cd8b67 2e5b328819f586bb270aaeed607b3f47167665cb
+46cd7051ce81cb7b018a54b3f413c5b08587073c 9e7a0ad6fac51751741fa7f0bd59b1073b36dd59
+0aac567995050157959b22c63f894b82079c16e3 01a5315ae5aa26abb73b4f95a184c2a80fba099f
+491e01aab0fb99c8867dac6d851b09c8e4bfa4e6 c2c3fb930fbc0ce6723cf5536594ecc3ac203181
+0e4d02438a4475a3b96a50777c1da394dbdbfb41 c98e3e7b1552c2fa045fe74abacc147c37343a5a
+358e7b7878725078f188d2894c4ba0fdd4c00417 c98e3e7b1552c2fa045fe74abacc147c37343a5a
+1bb50e24c2c07ed1a8843911fdb91269433f4c9e c98e3e7b1552c2fa045fe74abacc147c37343a5a
+daee1cab2a01720cfc6d2688b545b2efb9aeceb5 8bc403b4b4d6e9b1bc70fc31b033729b67acaabd
+586e3a1e9780ca72795efdf2a7c23589856ad5da abe0c8bf8063289dcd63ff321e1d65c28d793abe
+d2f84872f14bcaafd2fbe864bd962a28b3d7b797 b31fc8d8d3b7886dfd656a3c209e6004f95babc0
+32623b58af8f23d7b82cf0f2e380f0cb021c33dc 93cb159ec35a389d7d81bd513fe929f623b848c9
+2d6e3c013c21caf5d991ed6f47d43e9c21a12aa2 686f8b6d6eb36dfed46af06327920edd559d0dfc
+a90a1b77a904f5050bab13e2e7928aa97b55a133 627346fa495ce4a06d779c4efd7497a2e3348de9
+aad35cb693d91a0eee3e57e72cfc4e582158b944 06b44d76135e18c19d8be62537d25a93883335fc
+955c801c5d3c74ebcf5630cac1c9c3ff91615e2a 664ba832510fa56d689fea38b3463d6244258d59
+af2e23b431ee80cd9c86012228da6afed014d59f a043ef5eb84f09452e91e5002e00a342867a3f87
+a6ae40bdf3b943f99974a852c75f79f925ebf11b 24a5773d735af6d418f937ab3060292217113f9d
+8468ae92fc39ca60fb0631aa3cc80edee13446fd ad5a1110f42fb6d352124e1d445d2fc56b0af22e
+2a213ac519f97bd8484d66d59f773a86e5316b78 9db770e6b8b4aecb4c516e8e38135326315ed0b1
+0ebb8bfd909fb5b986efb577d16f9d39ea898dee b4af7adb8934472753dbdbf396774d2db7726d28
+6d771f97b95732498f629fa1b1fae293fb0535dd 24a5773d735af6d418f937ab3060292217113f9d
+57b08b52bf57157dc8539b02fbc24c27593f86c7 d872481b97b278a3f8a79ac85a75172ca8b115ee
+8b1c2cbacd644fa51fcf2a951b11ff8e83c9ba0b d872481b97b278a3f8a79ac85a75172ca8b115ee
+be55d06f477349561d74df85630acc482c37bfb1 24596bc71823cc9711e4a8e463929d54b8e76998
+554f5d5ac7f5f7e0317a2dc2fc78adcb6b0d6962 d90770415fb4dae6a868e26b47649a09cc05e394
+080f903d4f152bec5882f4b6c2fd7b448e1173c8 016050f733f76e95ac9f5c4ccf4429a7110d0c9b
+af03630eb89af97fbfd8d76f6912665cd97b9587 c727731739f9d5b30986c191c5d02a7a8d80bb65
+1aa0d0348a68d07164863431e542061786f98bcf 09f13edf6aa8c1cef43c8ba7f17289e75096a6a4
+ac617ee90acf68794feef501b99ae43ab538a558 09f13edf6aa8c1cef43c8ba7f17289e75096a6a4
+f84f5fca57946f838e79a59be20dffe407e9d3a7 edb3d5536c38643633925215404f2f02350f37d4
+426780dc180359b13f72bb6a259f9c4effe88cf9 fe1a7607de6ce5c3dedf96907e114ca0a208076a
+edef0997a11b5e3bc1c82cce0509e0d57bdde64b 6b93a09d0cdf42d7cee85979de6d7b18e34f6dd1