suxinmin
2018-12-28 a08abcfcdc0c44fbfd4aa7ca2b60536df2cec036
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Êþº¾3org/webrtc/EglRendererjava/lang/Objectorg/webrtc/VideoSinkEglRenderer.java3org/webrtc/EglRenderer$HandlerWithExceptionCallbackHandlerWithExceptionCallback)org/webrtc/EglRenderer$EglSurfaceCreation EglSurfaceCreation-org/webrtc/EglRenderer$FrameListenerAndParamsFrameListenerAndParams$org/webrtc/EglRenderer$FrameListener FrameListenerorg/webrtc/EglRenderer$2org/webrtc/EglRenderer$1"org/webrtc/RendererCommon$GlDrawerorg/webrtc/RendererCommonGlDrawerorg/webrtc/EglBase$Contextorg/webrtc/EglBaseContextandroid/graphics/Bitmap$Config"android/graphics/Bitmap$ConfigTAGLjava/lang/String; EglRenderer)LOG_INTERVAL_SECJname handlerLockLjava/lang/Object;renderThreadHandlerLandroid/os/Handler;%Landroid/support/annotation/Nullable;frameListenersLjava/util/ArrayList;FLjava/util/ArrayList<Lorg/webrtc/EglRenderer$FrameListenerAndParams;>;fpsReductionLocknextFrameTimeNsminRenderPeriodNseglBaseLorg/webrtc/EglBase; frameDrawerLorg/webrtc/VideoFrameDrawer;drawer$Lorg/webrtc/RendererCommon$GlDrawer;usePresentationTimeStampZ
drawMatrixLandroid/graphics/Matrix;    frameLock pendingFrameLorg/webrtc/VideoFrame;
layoutLocklayoutAspectRatioFmirrorHorizontallymirrorVerticallystatisticsLockframesReceivedI framesDroppedframesRenderedstatisticsStartTimeNs renderTimeNsrenderSwapBufferTimeNsbitmapTextureFramebuffer!Lorg/webrtc/GlTextureFrameBuffer;logStatisticsRunnableLjava/lang/Runnable;eglSurfaceCreationRunnable+Lorg/webrtc/EglRenderer$EglSurfaceCreation;<init>(Ljava/lang/String;)V()V []
^ 01    `java/util/ArrayListb
c^ 56    e 81    gorg/webrtc/VideoFrameDraweri
j^ =>    landroid/graphics/Matrixn
o^ CD    q E1    s H1    u M1    worg/webrtc/GlTextureFrameBuffery(I)V [{
z| UV    ~(Lorg/webrtc/EglRenderer;)V [€
 WX    ƒ5(Lorg/webrtc/EglRenderer;Lorg/webrtc/EglRenderer$1;)V […
† YZ    ˆ /(    ŠthisLorg/webrtc/EglRenderer;initF(Lorg/webrtc/EglBase$Context;[ILorg/webrtc/RendererCommon$GlDrawer;Z)V 23    java/lang/IllegalStateException’java/lang/StringBuilder”
•^append-(Ljava/lang/String;)Ljava/lang/StringBuilder; —˜
•™Already initialized›toString()Ljava/lang/String; ž
•Ÿ [\
“¡Initializing EglRenderer£logD ¥\
¦ ?@    ¨ AB    ªandroid/os/HandlerThread¬
­¡start ¯]
­°    getLooper()Landroid/os/Looper; ²³
­´
*(Landroid/os/Looper;Ljava/lang/Runnable;)V [·
    ¸ org/webrtc/EglRenderer$$Lambda$0º9(Lorg/webrtc/EglRenderer;Lorg/webrtc/EglBase$Context;[I)V [¼
»½org/webrtc/ThreadUtils¿invokeAtFrontUninterruptibly+(Landroid/os/Handler;Ljava/lang/Runnable;)V ÁÂ
ÀÃandroid/os/HandlerÅpost(Ljava/lang/Runnable;)Z ÇÈ
ÆÉjava/lang/SystemËnanoTime()J ÍÎ
ÌÏresetStatistics(J)V ÑÒ
Ójava/util/concurrent/TimeUnitÕSECONDSLjava/util/concurrent/TimeUnit; ר    ÖÙtoMillis(J)J ÛÜ
ÖÝ postDelayed(Ljava/lang/Runnable;J)Z ßà
Æájava/lang/Throwableã renderThreadLandroid/os/HandlerThread; currentTimeNs sharedContextLorg/webrtc/EglBase$Context;configAttributes[IE(Lorg/webrtc/EglBase$Context;[ILorg/webrtc/RendererCommon$GlDrawer;)V Ž
ícreateEglSurface(Landroid/view/Surface;)VcreateEglSurfaceInternal(Ljava/lang/Object;)V ñò
ósurfaceLandroid/view/Surface;$(Landroid/graphics/SurfaceTexture;)VsurfaceTexture!Landroid/graphics/SurfaceTexture;
setSurface úò
ûpostToRenderThread(Ljava/lang/Runnable;)V ýþ
ÿrelease
Releasing.#java/util/concurrent/CountDownLatch
|Already releasedremoveCallbacks     þ
Æ
 org/webrtc/EglRenderer$$Lambda$1 @(Lorg/webrtc/EglRenderer;Ljava/util/concurrent/CountDownLatch;)V [
 postAtFrontOfQueue È
Æ
Æ´ org/webrtc/EglRenderer$$Lambda$2.(Lorg/webrtc/EglRenderer;Landroid/os/Looper;)V [
awaitUninterruptibly((Ljava/util/concurrent/CountDownLatch;)V 
À FG    org/webrtc/VideoFrame  ]
!"Releasing done.$ renderLooperLandroid/os/Looper;eglCleanupBarrier%Ljava/util/concurrent/CountDownLatch; R,    * NO    , PO    . QO    0 S,    2 T,    4printStackTraceandroid/os/Looper7    getThread()Ljava/lang/Thread; 9:
8;java/lang/Thread= getStackTrace ()[Ljava/lang/StackTraceElement; ?@
>AEglRenderer stack trace:ClogW E\
F[Ljava/lang/StackTraceElement;Hjava/lang/StackTraceElementJ
KŸ    traceElemLjava/lang/StackTraceElement;renderStackTraceLjava/lang/Thread;    setMirror(Z)VsetMirrorHorizontally: S(Z)Ljava/lang/StringBuilder; —U
•V KB    XmirrorsetMirrorVerticallysetMirrorVertically: \ LB    ^setLayoutAspectRatio(F)VsetLayoutAspectRatio: b(F)Ljava/lang/StringBuilder; —d
•e IJ    gsetFpsReductionsetFpsReduction: j :,    lÿÿÿÿÿÿÿtoNanos pÜ
Öq 9,    spreviousRenderPeriodNsfpsdisableFpsReduction€ ia
y
pauseVideoaddFrameListener*(Lorg/webrtc/EglRenderer$FrameListener;F)VO(Lorg/webrtc/EglRenderer$FrameListener;FLorg/webrtc/RendererCommon$GlDrawer;Z)V |~
listener&Lorg/webrtc/EglRenderer$FrameListener;scaleN(Lorg/webrtc/EglRenderer$FrameListener;FLorg/webrtc/RendererCommon$GlDrawer;)V drawerParam org/webrtc/EglRenderer$$Lambda$3†g(Lorg/webrtc/EglRenderer;Lorg/webrtc/RendererCommon$GlDrawer;Lorg/webrtc/EglRenderer$FrameListener;FZ)V [ˆ
‡‰applyFpsReductionremoveFrameListener)(Lorg/webrtc/EglRenderer$FrameListener;)V currentThread Ž:
>java/lang/RuntimeException‘<removeFrameListener must not be called on the render thread.“
’¡ org/webrtc/EglRenderer$$Lambda$4–f(Lorg/webrtc/EglRenderer;Ljava/util/concurrent/CountDownLatch;Lorg/webrtc/EglRenderer$FrameListener;)V [˜
—™latchonFrame(Lorg/webrtc/VideoFrame;)V5Dropping frame - Not initialized or already released.žretain  ]
!¡ org/webrtc/EglRenderer$$Lambda$5£
¤ dropOldFrameframereleaseEglSurface org/webrtc/EglRenderer$$Lambda$6©/(Lorg/webrtc/EglRenderer;Ljava/lang/Runnable;)V [«
ª¬java/lang/Runnable®run °] ¯±completionCallbackrunnableclearSurfaceOnRenderThread(FFFF)V ;<    ·
hasSurface()Z ¹º  » clearSurface½android/opengl/GLES20¿ glClearColor Á¶
ÀÂglClear Ä{
ÀÅ swapBuffers Ç]  Èrgba
clearImage ζ
Ï org/webrtc/EglRenderer$$Lambda$7Ñ(Lorg/webrtc/EglRenderer;FFFF)V [Ó
ÒÔrenderFrameOnRenderThreadDropping frame - No surface×3Skipping frame rendering - fps reduction is active.Ùjava/lang/MathÛmax(JJ)J ÝÞ
ÜßgetRotatedWidth()I áâ
!ãgetRotatedHeight åâ
!æreset è]
oé? preTranslate(FF)Z ìí
oî¿€preScale ñí
oò¿ surfaceWidth õâ  ö surfaceHeight øâ  ù    drawFrame[(Lorg/webrtc/VideoFrame;Lorg/webrtc/RendererCommon$GlDrawer;Landroid/graphics/Matrix;IIII)V ûü
jýgetTimestampNs ÿÎ
! ÇÒ  notifyCallbacks(Lorg/webrtc/VideoFrame;Z)V 
shouldRenderFramedrawnAspectRatioscaleXscaleYswapBuffersStartTimeNs startTimeNsframeAspectRatioisEmpty º
citerator()Ljava/util/Iterator; 
cjava/util/IteratorhasNext º next()Ljava/lang/Object;   ‹B    remove !] " ƒJ    $ ‚    &(Landroid/graphics/Bitmap;)V œ( )setSize(II)V +,
z-@getFrameBufferId 0â
z1glBindFramebuffer 3,
À4Œà getTextureId 7â
z8glFramebufferTexture2D(IIIII)V :;
À<    ¨java/nio/ByteBuffer?allocateDirect(I)Ljava/nio/ByteBuffer; AB
@C
glViewport(IIII)V EF
ÀG glReadPixels(IIIIIILjava/nio/Buffer;)V IJ
ÀKEglRenderer.notifyCallbacksMorg/webrtc/GlUtilOcheckNoGLES2Error Q\
PR    ARGB_8888 Landroid/graphics/Bitmap$Config; TU    #V createBitmap=(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; XY
%ZcopyPixelsFromBuffer(Ljava/nio/Buffer;)V \]
%^listenerAndParams/Lorg/webrtc/EglRenderer$FrameListenerAndParams; scaledWidth scaledHeight bitmapBufferLjava/nio/ByteBuffer;bitmapLandroid/graphics/Bitmap; wasRendereditELjava/util/Iterator<Lorg/webrtc/EglRenderer$FrameListenerAndParams;>;Ljava/util/Iterator;averageTimeAsString(JI)Ljava/lang/String;NAn NANOSECONDS pØ    ÖqtoMicros sÜ
Öt(J)Ljava/lang/StringBuilder; —v
•w usyjava/lang/String{    sumTimeNscount logStatisticsjava/text/DecimalFormat€#.0‚
¡
Duration: … ms. Frames received: ‡(I)Ljava/lang/StringBuilder; —‰
•Š . Dropped: Œ . Rendered: Ž. Render fps: format(D)Ljava/lang/String; ’“
”. Average render time: – lm
˜. Average swapBuffer time: š.œ elapsedTimeNs    renderFps    fpsFormatLjava/text/DecimalFormat;org/webrtc/Logging¢d'(Ljava/lang/String;Ljava/lang/String;)V ¤¥
£¦stringw ©¥
£ªlambda$clearImage$6$EglRenderer µ¶
­&lambda$releaseEglSurface$5$EglRenderer detachCurrent °]  ±releaseSurface ³]  ´(lambda$removeFrameListener$4$EglRendererN(Ljava/util/concurrent/CountDownLatch;Lorg/webrtc/EglRenderer$FrameListener;)V    countDown ¸]
¹iter%lambda$addFrameListener$3$EglRendererO(Lorg/webrtc/RendererCommon$GlDrawer;Lorg/webrtc/EglRenderer$FrameListener;FZ)V [~
¾add(Ljava/lang/Object;)Z ÀÁ
cÂlistenerDrawerlambda$release$2$EglRenderer(Landroid/os/Looper;)VQuitting render thread.Çquit É]
8Êlambda$release$1$EglRenderer glUseProgram Í{
ÀÎ "
j"
z"eglBase detach and release.Ó  "clear Ö]
c×lambda$init$0$EglRenderer!(Lorg/webrtc/EglBase$Context;[I)VEglBase10.create contextÛorg/webrtc/EglBase$$CCÝcreateEgl10$$STATIC$$([I)Lorg/webrtc/EglBase; ßà
ÞáEglBase.create shared contextãcreate$$STATIC$$4(Lorg/webrtc/EglBase$Context;[I)Lorg/webrtc/EglBase; åæ
Þç
access$000.(Lorg/webrtc/EglRenderer;)Lorg/webrtc/EglBase;x0
access$100 ]
í
access$200,(Lorg/webrtc/EglRenderer;)Ljava/lang/Object;
access$300.(Lorg/webrtc/EglRenderer;)Landroid/os/Handler;
access$400.(Lorg/webrtc/EglRenderer;)Ljava/lang/Runnable;
access$302B(Lorg/webrtc/EglRenderer;Landroid/os/Handler;)Landroid/os/Handler;x1bridge$lambda$0$EglRenderer Ö]
ù ConstantValueRuntimeInvisibleAnnotations    SignatureCodeLocalVariableTableLineNumberTable StackMapTable$RuntimeInvisibleParameterAnnotationsLocalVariableTypeTable
SourceFile InnerClasses!'(û*+,û-/(0123ü456ý7819,:,;<ü4=>?@ü4ABCDE1FGü4H1IJKBLBM1NOPOQOR,S,T,UVWXYZ-[\þñ‰*·_*»Y·_µa*»cY·dµf*»Y·_µh*»jY·kµm*»oY·pµr*»Y·_µt*»Y·_µv*»Y·_µx*»zY·}µ*»Y*·‚µ„*» Y*·‡µ‰*+µ‹±ÿ‰Œ‰/(:·nqt%~0;„FˆQ\ j£v±ƒ¸ˆ¹Žþ›
Æ*´aY:Â*´‘Æ!»“Y»•Y·–*´‹¶šœ¶š¶ ·¢¿*¤·§*-µ©*µ«»­Y»•Y·–*´‹¶š*¶š¶ ·®:¶±*»    Y¶µ»Y*·¶·¹µ‘*´‘»»Y*+,·¾¸Ä*´‘*´‰¶ÊW¸Ð7*·Ô*´‘*´„²Ú-¶Þ¶âWç :    Ã    ¿±º½½Â½ÿH]Zåæœç,ƌÆèéÆêëÆ?@ÆABNÅÆÇ-É3Ê8Ë>Í]ÎbÏiÐzۋç—èœé¢ê°ë³ê·ìÅíü-÷äú 4ŽìþU    *+,-¶î±ÿ*    Œ    èé    êë    ?@
ö÷ 4ïðþ>*+·ô±ÿŒõö
úûï÷þ>*+·ô±ÿŒøù
þÿñòþM*´‰+¶ü**´‰·±ÿŒõ1]þw *·§»Y·L*´aYMÂ*´‘Ç *·§,ñ*´‘*´„¶ *´‘» Y*+·¶W*´‘¶N*´‘»Y*-·¶ÊW*µ‘,ç
:,ÿ+¸*´tYMÂ*´Æ*´¶#*µ,ç
:,ÿ*%·§±'g(dggkgyŽ‘‘•‘ÿ L&' Œ()R %(3D(L*]/b0n2r3y4€5‡6Œ8˜9Ÿ:ý(~äúüDäúÑÒþ²2*´xYNÂ*µ+*µ-*µ/*µ1*    µ3*    µ5-ç
:-ÿ±'**.*ÿ2Œ2ç,&    @A BCDE F%G1Hÿ*äú6]þ)    g*´aYLÂ*´‘ǧ *´‘¶¶<M,Æ<,¶BN-¾ž2*D·G-:¾66¢2:*¶L·G„§ÿæ+ç
:+ÿ±\__c_ÿ*K    MN&4OH=åPgŒ2 KLMN!O&P+Q2RKSTRZWfX8üI>ÿ >IIÿDäúQRþŸ/*»•Y·–T¶š¶W¶ ·§*´vYMÂ*µY,çN,Ã-¿±&)),)ÿ/Œ/ZB^_`$a.bÿ)äú[RþŸ/*»•Y·–]¶š¶W¶ ·§*´vYMÂ*µ_,çN,Ã-¿±&)),)ÿ/Œ/LBhij$k.lÿ)äú`aþŸ/*»•Y·–c¶š#¶f¶ ·§*´vYMÂ*#µh,çN,Ã-¿±&)),)ÿ/Œ/IJstu$v.wÿ)äúiaþì`*»•Y·–k¶š#¶f¶ ·§*´hYMÂ*´mB# – *nµm§*²Ú
¶r‰#nŒµm*´m!”™
*¸Ðµt,ç
:,ÿ±UXX\Xÿ $/u,`Œ`vJ*
€‚$ƒ*„4†CˆLŠSŒ_ý4úDäúw]þ6*x¶z±ÿ Œ
‘{]þ4* ¶z±ÿ Œ
”•|}þK    *+$¶€±ÿ     Œ    ‚    ƒJ
¡¢|„þU    *+$-¶€±ÿ*    Œ    ‚    ƒJ    …@
¯°|~þh*»‡Y*-+$·Š·±ÿ4Œ‚ƒJ…@‹B
¿Ä 4ŒþçT»Y·M*´aYNÂ*´‘Ç-ñ¸*´‘¶¶<¦»’Y”·•¿*»—Y*,+·š·-ç
:-ÿ,¸±HEHHLHÿ TŒT‚    K›)*
Π   ÏÐÑÓ*Ô5ÖCßOàSáýRäúœþ7«*´xYMÂ*Y´-`µ-,çN,Ã-¿*´aYNÂ*´‘Ç *Ÿ·§-ñ*´tY:Â*´Æ§=™
*´¶#*+µ*´¶¢*´‘»¤Y*·¥¶ÊWç :ÿ-ç
:-ÿ™ *´xYNÂ*Y´/`µ/-ç
:-ÿ±    ;ruuzu"2‚3‚‚†‚” ££§£ÿ4H-¦B}¦B«Œ«§G‰"¦BVæçèê"ë)ì0í3ï;ðHñLòSôXõ_öo÷}ø‰ùú”ûžüªþœ ÿ!äúýü@ÿ !ÿ!!äÿ!ÿ!äÿ!ÿ!äú¨þþÇF*´‰¶ü*´aYMÂ*´‘Æ"*´‘*´‰¶ *´‘»ªY*+·­¶W,ñ,çN,Ã-¿+¹²±4:57::=:ÿFŒF³X&        !
25?Eü5Däúýþþ‹"*´aYMÂ*´‘Æ *´‘+¶ÊW,çN,Ã-¿±ÿ"Œ"´X! üDäúµ¶þ¡2*´¸Æ-*´¸¹¼™!*¾·§#$%¸Ã@¸Æ*´¸¹É±ÿ42Œ2ÊJ2ËJ2ÌJ2ÍJ#$%"&('1)1Î]þ7    * ¶бÿ     Œ
/0ζþÊ7*´aY:Â*´‘Çñ*´‘»ÒY*#$%·Õ¶Wç :ÿ±.+..3.ÿ47Œ7ÊJ7ËJ7ÌJ7ÍJ678:(;6<üZäúÖ]þþ*´tYMÂ*´Ç,ñ*´L*µ,çN,Ã-¿*´¸Æ*´¸¹¼š*Ø·§+¶#±*´hYNÂ*´mn”š=§H*´m    ”=§:¸Ð7*´t”œ*Ú·§=§*Y´t*´maµt**´t¸àµt=-ç
:-ÿ¸ÐB+¶ä†+¶ç†n8*´vY:Â*´h •™
*´h§8ç :ÿ•žn8 8§ 8n8*´r¶ê*´rëë¶ïW*´r*´Y™    ð§ *´_™    ð§ ¶óW*´r¶óW*´rôô¶ïW™™ ¸Ã@¸Æ*´m+*´©*´r*´¸¹÷*´¸¹ú¶þ¸Ð7    *´«™*´¸+¶¹§ *´¸¹É¸Ð7 *´xY: Â*Y´1`µ1*Y´3 !eaµ3*Y´5     eaµ5 ç : ÿ*+·+¶#±       # K¢¥¥©¥ÅÜßßäßÀèëëðëÿÀ
§GXBfBBn2ç, BÙ    Jö
Jù J“` ,    ¸;ç, þŒ%Ù§G¬RB°N ,½AJç    Jÿÿ
Jø Jæ9DEFHIJ%K8L?MCNDRKSVU[VdXiZn[x\]„_‘ažb e¬g°i½kÅlÙmçrïsötüvÿwz {|?}K~Y€]d‚jƒ}„‹ƒŽ†“‡šˆªŠ³¸ŽÀÊ×‘å’ó•ù–ý—ùýNäÿ! ý üÿ!ÿ!äÿ!ÿ(!AGäÿ!ý    eoÿ!oÿ !oÿ!oünÿ7 !äøþÚ    i*´f¶™±*´r¶ê*´rëë¶ïW*´r*´Y™    ð§ *´_™    ð§ ¶óW*´r ð¶óW*´rôô¶ïW*´f¶N-¹™ü-¹À:š´ ™§ÿà-¹#´%+¶ä†j‹6´%+¶ç†j‹6™š´'¹*§ÿ¦*´¶./*´¶2¸5/6 á*´¶9¸= ¸Ã@¸Æ*´m+´>*´r¶þhh¸D:¸H¸L/¸5N¸S²W¸[:¶_´'¹*§ÿ±ÿ\    zë`aÈbO«ºcOFdeRfgiŒi§GihBfik fij’$š
› ž ŸD P¡^£f¤o¥z¦†§‰©«¬«®µ¯À°Ã³ÎµÛ¶è·ì¶ï¹öºü»¾¿(À9Ã@ÄFÆRÇYÈeÉhÊS
eoÿ!oÿ !oÿ!oü%ü"ý+ ø¤lmþs(    o§ »•Y·–²r…m¶u¶xz¶š¶ °ÿ (Œ(},(~OÍ
\|]þ«    Ø»Yƒ·„L¸ÐA*´xY: *´+e7    ”ñ*´1…²Ú
¶ri‰‰n8*»•Y·–†¶š²r¶Þ¶xˆ¶š*´-¶‹¶š*´/¶‹¶š*´1¶‹‘¶š+¶•¶š—¶š**´3*´1·™¶š›¶š**´5*´1·™¶š¶š¶ ·§* ·Ôç :ÿ±)Ï*ÌÏÏÔÏÿ4ªž,>‹ŸJ، Í ¡Éç,>Ñ ÒÓÔÕ&Ö*Ø>وݝÞ²àÁÙÄáÉâ×ã+ÿ*ÿ¤äú¥\þS*»•Y·–*´‹¶š+¶š¶ ¸§±ÿŒ¨(
æçE\þS*»•Y·–*´‹¶š+¶š¶ ¸«±ÿŒ¨(
ê묶þ\
*#$%·®±ÿ4
Œ
ÊJ
ËJ
ÌJ
ÍJ:¯þþm *´¸Æ*´¸¹²*´¸¹µ+¹²±ÿ Œ ³X   ¶·þ¬/+¶º*´f¶N-¹™-¹À´',¦ÿê-¹#§ÿá±ÿ*/Œ/›)/‚ #»k  #»jר ÙÚ%Û.Þ    ü !¼½þ•$+Ç
*´©§+:*´f»Y,%·¿¶ÃW±ÿ>$Œ$…@$‚$ƒJ$‹BÄ@ÀÁ#à @ÅÆþH *È·§+¶˱ÿ Œ &'+, -ÌþÊX¸Ï*´©Æ*´©¹Ð*µ©*´m¶Ñ*´¶Ò*´¸Æ!*Ô·§*´¸¹²*´¸¹Õ*µ¸*´f¶Ø+¶º±ÿXŒX():  '. 5!>"G#L%S&W'2ÙÚþƒ'+Ç*Ü·§*,¸âµ¸§*ä·§*+,¸èµ¸±ÿ 'Œ'èé'êëßà áãä&æéêþ/*´¸°ÿ ë"ì€þ/*·î±ÿ ë"ïðþ/*´a°ÿ ë"ñòþ/*´‘°ÿ ë"óôþ/*´„°ÿ ë"õöþ;*+Zµ‘°ÿë÷3"Pø]þ*·ú±J        
 
 
         !    #%&@