
    ^jl                        d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ  ed          Zd	 Z 	  e d
          \  Z!Z"nE# e#$ r=  ed           	  e d          \  Z!Z"n# e#$ r  ed            e$d          w xY wY nw xY we
Z%eZ& G d de          Z' G d de          Z( G d de          Z) G d de          Z* G d de          Z+ G d de          Z,d Z-ere-Z.ndZ.dZ/dZ0dZ1dZ2dZ3d Z4d!Z5d"Z6d#Z7d$Z8d%Z9d!Z:dZ;d!Z<d&Z=d'Z>d(Z?d)Z@d*ZAd+ZBd,ZCd-ZDd.ZEdZFeZGd ZHdZIdZJd/ZKdZLd0ZMd ZNd1ZOd ZPd ZQdZRdZSdZTdZUdZVd ZWd!ZXd"ZYd#ZZd2Z[d3Z\d4Z] G d5 d6ej^                  Z_ G d7 d8e          Z` G d9 d:e          Za G d; d<e          Zb G d= d>e          Zc G d? d@ejd                  Ze G dA dBee          Zf G dC dDee          Zg G dE dFee          Zh G dG dHej^                  Zi G dI dJe          Zj G dK dLe          Zk G dM dNe          Zl	  G dO dPe          Zm G dQ dRe          Zn G dS dTe          Zo G dU dVe          ZpdZqdZrdZsdZtdZud Zvd!Zwd"Zxd#ZydWZzdXZ{dYZ|d$Z}d2Z~dZZd3Zd4Zd[Zd\Zd%ZesZeqerz  Zeqerz  etz  Zeqerz  esz  eyz  Zeqerz  euz  evz  Zeqerz  etz  euz  evz  Zeqerz  esz  etz  euz  evz  Zeqerz  esz  etz  euz  evz  ewz  exz  Zeqerz  esz  etz  ezz  e{z  Zeqerz  esz  etz  euz  evz  ezz  e{z  Zd]Zd^Zd_ZdZd`ZdaZdbZdXZdcZddZdeZdZdfZdgZdhZdiZdZd ZdjZdkZdlZd"ZdmZdnZdoZd ZdZdpZeZeZeZeZeZeZeZeZeZeZeZeZeZdqZeez  ZdrZdZdZdZdZdZd Zd!Zd4Zd[Zeez  Ze"j        Zee_        e	eege_        e"j        Zee_         ee           een           eeo          e% eep          ge_        d ZdZd/ZdZd0ZdhZdsZdZdgZdtZduZ G dv dwe          Z G dx dyej                  Ze!j        Zee_         ee֦          e%e%ge_        e!j        Zee_         eej                  ge_        dS )z    N)HRESULTPOINTER	Structurec_boolc_charc_floatc_intc_uint32c_uint64c_void_pcdllwindll)BOOLBYTEDWORDFLOATLPCWSTRUINTWORD)com)(WINDOWS_10_ANNIVERSARY_UPDATE_OR_GREATER)c_void)debug_printdebug_mediac                 l   | }t          j                    d         dk    rjt          j                                        d          rDt          j                            t          j        d         dd                    |                    }t          j
        |          }t          j
        |          }||fS )zThis will attempt to load a version of XAudio2.

    Versions supported: 2.9, 2.8.

    While Windows 8 ships with 2.8 and Windows 10 ships with version 2.9, it is possible to install 2.9 on 8/8.1.
    r   32bit64WINDIRSysWOW64z{}.dll)platformarchitecturemachineendswithospathjoinenvironformatr   LoadLibraryr   )dll_namexaudio2xaudio2_libx3d_libs       c/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/media/drivers/xaudio2/lib_xaudio2.pyload_xaudio2r/      s     G q!W,,1A1C1C1L1LT1R1R,',,rz(3ZQXAYAYZZ$W--K w''G    	xaudio2_9z Could not load XAudio2.9 library	xaudio2_8z Could not load XAudio2.8 libraryz-Could not locate a supported XAudio2 library.c                   6    e Zd ZdefdefdefdefdefdefgZdS )XAUDIO2_DEBUG_CONFIGURATION	TraceMask	BreakMaskLogThreadIDLogFilelineLogFunctionName	LogTimingN)__name__
__module____qualname__UINT32r   _fields_ r0   r.   r4   r4   ?   sE        	f	f			D!	dHHHr0   r4   c                   l    e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefgZd ZdS )XAUDIO2_PERFORMANCE_DATAAudioCyclesSinceLastQueryTotalCyclesSinceLastQueryMinimumCyclesPerQuantumMaximumCyclesPerQuantumMemoryUsageInBytesCurrentLatencyInSamplesGlitchesSinceEngineStartedActiveSourceVoiceCountTotalSourceVoiceCountActiveSubmixVoiceCountActiveResamplerCountActiveMatrixMixCountActiveXmaSourceVoicesActiveXmaStreamsc                 f    d                     | j        | j        | j        | j        | j                  S )NzqXAUDIO2PerformanceData(active_voices={}, total_voices={}, glitches={}, latency={} samples, memory_usage={} bytes))r(   rJ   rK   rI   rH   rG   selfs    r.   __repr__z!XAUDIO2_PERFORMANCE_DATA.__repr__\   sl     C  J  J  KO  Kf  hl  hB  DH  Dc  ei  eA  CG  CZ  [  [  	[r0   N)r;   r<   r=   r   r>   r?   rT   r@   r0   r.   rB   rB   J   s        	$h/	$h/	"F+	"F+	v&	"F+	%v.	!6*	 &)	!6*	(	(	 &)	V$H"[ [ [ [ [r0   rB   c                       e Zd ZdefdefgZdS )XAUDIO2_VOICE_SENDS	SendCountpSendsN)r;   r<   r=   r>   r   r?   r@   r0   r.   rV   rV   `   s%        	f	8HHHr0   rV   c            
       Z    e Zd Zdefdefd ee          fdefdefdefdefdefd	efg	Zd
S )XAUDIO2_BUFFERFlags
AudioBytes
pAudioData	PlayBegin
PlayLength	LoopBegin
LoopLength	LoopCountpContextN)r;   r<   r=   r>   r   r   r   r?   r@   r0   r.   rZ   rZ   g   se        	&	v	wwv'	f	v	f	v	f	X
HHHr0   rZ   c                   *    e Zd ZdefdefdefgZd ZdS )XAUDIO2_VOICE_STATEpCurrentBufferContextBuffersQueuedSamplesPlayedc                 B    d                     | j        | j                  S )Nz9XAUDIO2_VOICE_STATE(BuffersQueued={0}, SamplesPlayed={1}))r(   rg   rh   rR   s    r.   rT   zXAUDIO2_VOICE_STATE.__repr__{   s     JQQRVRdfjfxyyyr0   N)r;   r<   r=   r   r>   r?   rT   r@   r0   r.   re   re   t   sG        	 (+	&!	&!Hz z z z zr0   re   c                   B    e Zd ZdefdefdefdefdefdefdefgZd Zd	S )
WAVEFORMATEX
wFormatTag	nChannelsnSamplesPerSecnAvgBytesPerSecnBlockAlignwBitsPerSamplecbSizec           	      ~    d                     | j        | j        | j        | j        | j        | j        | j                  S )Nz~WAVEFORMATEX(wFormatTag={}, nChannels={}, nSamplesPerSec={}, nAvgBytesPersec={}, nBlockAlign={}, wBitsPerSample={}, cbSize={}))r(   rl   rm   rn   ro   rp   rq   rr   rR   s    r.   rT   zWAVEFORMATEX.__repr__   sA    AAGOT^T-@ $"2D4GKB B	r0   N)r;   r<   r=   r   r   r?   rT   r@   r0   r.   rk   rk   ~   sb        	t	d	5!	E"		4 	4H    r0   rk                      @         i   l        i  i@ g      pAg      P?g      @g       @g      ?g      ?            i    i   i   c                       e Zd Zd ej        e          fd ej                    fd ej                    fd ej        e          fd ej        e          fd ej        e          fd ej        ee          fgZdS )	IXAudio2VoiceCallbackOnVoiceProcessingPassStartOnVoiceProcessingPassEndOnStreamEndOnBufferStartOnBufferEnd	OnLoopEndOnVoiceErrorN)	r;   r<   r=   r   
VOIDMETHODr>   r   r   	_methods_r@   r0   r.   r   r      s        	%				!	#												!	!	#			!	!	#			!	!	#		'	*	*	,IIIr0   r   c                   .    e Zd Zdej        fdefdefgZdS )XAUDIO2_EFFECT_DESCRIPTORpEffectInitialStateOutputChannelsN)r;   r<   r=   r   	pIUnknownr   r>   r?   r@   r0   r.   r   r      s/        	CM"	 	6"HHHr0   r   c                   0    e Zd Zdefd ee          fgZdS )XAUDIO2_EFFECT_CHAINEffectCountpEffectDescriptorsN)r;   r<   r=   r>   r   r   r?   r@   r0   r.   r   r      s0        		ww'@AABHHHr0   r   c                   $    e Zd ZdefdefdefgZdS )XAUDIO2_FILTER_PARAMETERSType	FrequencyOneOverQN)r;   r<   r=   XAUDIO2_FILTER_TYPEr   r?   r@   r0   r.   r   r      s.        	$%	e	UHHHr0   r   c                   *    e Zd ZdefdefdefdefgZdS )XAUDIO2_VOICE_DETAILSCreationFlagsActiveFlagsInputChannelsInputSampleRateN)r;   r<   r=   r>   r?   r@   r0   r.   r   r      s5        	&!		&!	F#	HHHr0   r   c                      e Zd Zd ej         ee                    fd ej         ee                    fd ej         ee	                    fd ej        e
e
          fd ej        e
e
          fd ej        e
 ee                    fd ej        e
ee
e
          fd ej        e
 ee                    fd	 ej         ee          e
          fd
 ej         ee                    fd ej        e ee          e
          fd ej        e ee                    fd ej        ee
          fd ej         ee                    fd ej        e
 ee          e
          fd ej        e
 ee                    fd ej        ee
e
 ee          e
          fd ej        ee
e
 ee                    fd ej                    fgZdS )IXAudio2VoiceGetVoiceDetailsSetOutputVoicesSetEffectChainEnableEffectDisableEffectGetEffectStateSetEffectParametersGetEffectParametersSetFilterParametersGetFilterParametersSetOutputFilterParametersGetOutputFilterParameters	SetVolume	GetVolumeSetChannelVolumesGetChannelVolumesSetOutputMatrixGetOutputMatrixDestroyVoiceN)r;   r<   r=   r   r   r   r   	STDMETHODrV   r   r>   r   r   r   r   r   r@   r0   r.   r   r     s       		 566	7	7	9		ww233	4	4	6		ww344	5	5	7		vv	&	&	(		vv	&	&	(			.	.	0		vx	8	8	:			.	.	0		ww8996	B	B	D		 9::	;	;	=	$	x)B!C!CV	L	L	N	$	''*C"D"D	E	E	G		w	'	'	)		((	)	)	+		vwww//	8	8	:		 0 0	1	1	3		x1A1A6	J	J	L		x1A1A	B	B	D					K'IIIr0   r   c                       e Zd ZdS )IXAudio2SubmixVoiceN)r;   r<   r=   r@   r0   r.   r   r   /  s        Dr0   r   c                      e Zd Zd ej        ee          fd ej        ee          fd ej         ee          e          fd ej                    fd ej                    fd ej        e          fd ej	         ee
          e          fd ej        ee          fd	 ej	         ee                    fd
 ej        e          fg
ZdS )IXAudio2SourceVoiceStartStopSubmitSourceBufferFlushSourceBuffersDiscontinuityExitLoopGetStateSetFrequencyRatioGetFrequencyRatioSetSourceSampleRateN)r;   r<   r=   r   r   r>   r   rZ   r   r   re   r   r   r@   r0   r.   r   r   3  s       		vv	&	&	(		vv	&	&	(		ww~..	9	9	;								v			 		 344f	=	=	?		w	'	'	)		((	)	)	+		v			 'IIIr0   r   c                   F    e Zd Zd ej         ee                    fgZdS )IXAudio2MasteringVoiceGetChannelMaskN)r;   r<   r=   r   r   r   r   r   r@   r0   r.   r   r   L  s4        		wwu~~	&	&	(IIIr0   r   c                   t    e Zd Zd ej                    fd ej                    fd ej        e          fgZdS )IXAudio2EngineCallbackOnProcessingPassStartOnProcessingPassEndOnCriticalErrorN)r;   r<   r=   r   r   r   r   r@   r0   r.   r   r   S  sV        	 												 	 	"IIIr0   r   c                       e Zd ZdefdefgZdS )X3DAUDIO_DISTANCE_CURVE_POINTDistance
DSPSettingNr;   r<   r=   FLOAT32r?   r@   r0   r.   r   r   _  s%        	W	wHHHr0   r   c                   0    e Zd Zd ee          fdefgZdS )X3DAUDIO_DISTANCE_CURVEpPoints
PointCountN)r;   r<   r=   r   r   r>   r?   r@   r0   r.   r   r   f  s0        	GG9::;	vHHHr0   r   c                   $    e Zd ZdefdefdefgZdS )X3DAUDIO_VECTORxyzN)r;   r<   r=   r   r?   r@   r0   r.   r   r   m  s*        	g	g	gHHHr0   r   c            	       B    e Zd ZdefdefdefdefdefdefdefdefgZd	S )
X3DAUDIO_CONE
InnerAngle
OuterAngleInnerVolumeOuterVolumeInnerLPFOuterLPFInnerReverbOuterReverbNr   r@   r0   r.   r   r     sU        	w	w	 	 	W	W	 	 	HHHr0   r   c                   B    e Zd Zdefdefdefdefd ee          fgZdS )X3DAUDIO_LISTENEROrientFront	OrientTopPositionVelocitypConeN)r;   r<   r=   r   r   r   r?   r@   r0   r.   r   r     sG        	(	o&	_%	_%	''-(()HHHr0   r   c                       e Zd Zd ee          fdefdefdefdefdefdefdefd	efd
 ee          fd ee          fd ee          fd ee          fd ee          fd ee          fdefdefgZ	dS )X3DAUDIO_EMITTERr   r   r   r   r   InnerRadiusInnerRadiusAngleChannelCountChannelRadiuspChannelAzimuthspVolumeCurve	pLFECurvepLPFDirectCurvepLPFReverbCurvepReverbCurveCurveDistanceScalerDopplerScalerN)
r;   r<   r=   r   r   r   r   r>   r   r?   r@   r0   r.   r   r     s        	''-(()	(	o&	_%	_%	 	W%	 	'"	WWW--.	!899:	gg5667	GG$;<<=	GG$;<<=	!899:	(	'"#HHHr0   r   c                   ~    e Zd Zd ee          fd ee          fdefdefdefdefdefdefd	efd
efdefdefgZdS )X3DAUDIO_DSP_SETTINGSpMatrixCoefficientspDelayTimesSrcChannelCountDstChannelCountLPFDirectCoefficientLPFReverbCoefficientReverbLevelDopplerFactorEmitterToListenerAngleEmitterToListenerDistanceEmitterVelocityComponentListenerVelocityComponentN)r;   r<   r=   r   r   r   r>   r?   r@   r0   r.   r   r     s        	/	(()	F#	F#	)	)	 	'"	!7+	$g.	#W-	$g.HHHr0   r   i   i   i   i @  i   i        g      <5   gi4  g       iig       	      gh_   >   g6pG&   gc
   8iig\$6   g     xu@   
      c                       e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdefdefdefdefdefdefdefgZdS )XAUDIO2FX_REVERB_PARAMETERS	WetDryMixReflectionsDelayReverbDelay	RearDelay	SideDelayPositionLeftPositionRightPositionMatrixLeftPositionMatrixRightEarlyDiffusionLateDiffusion	LowEQGainLowEQCutoffHighEQCutoffRoomFilterFreqRoomFilterMainRoomFilterHFReflectionsGain
ReverbGain	DecayTimeDensityRoomSizeDisableLateFieldN)r;   r<   r=   r   r>   r   r   r?   r@   r0   r.   r  r  9  s        	g 
V$		f	f 
	$	t$	%	4 	$	d			 
7#	7#	!	G$	w	g	G	W 
V$A!HHHr0   r  c                      e Zd Zd ej         ee                    fd ej         ee                    fd ej         ee           ee	          e
e ee           ee           ee                    fd ej         ee          e
e
e
e
 ee           ee                    fd ej         ee          e
e
e
e ee          e
          fd ej                    fd ej                    fd ej        e
          fd	 ej         ee                    fd
 ej         ee          e          fg
ZdS )IXAudio2RegisterForCallbacksUnregisterForCallbacksCreateSourceVoiceCreateSubmixVoiceCreateMasteringVoiceStartEngine
StopEngineCommitChangesGetPerformanceDataSetDebugConfigurationN)r;   r<   r=   r   r   r   r   r   r   rk   r>   r   r   rV   r   r   r   r   rB   r4   r   r   r@   r0   r.   r/  r/  ^  s       	3=!78899	;	!3>''"899::	<		ww233WW\5J5JFT[w455ww?R7S7SU\U\]qUrUr
t 
t	u 
	ww233VVVVw233WW=Q5R5R
T 
T	U 
 	ww566PWY`Y`auYvYv
 
	  
									v			 		 899	:	:	<	 	 ;<<h	G	G	I-IIIr0   r/  )r$   r    ctypesr   r   r   r   r   r   r	   r
   r   r   r   r   ctypes.wintypesr   r   r   r   r   r   r   pyglet.libs.win32r   pyglet.libs.win32.constantsr   pyglet.libs.win32.typesr   pyglet.utilr   _debugr/   r,   r-   OSErrorImportErrorr>   r   r4   rB   rV   rZ   re   rk   XAUDIO2_USE_DEFAULT_PROCESSORXAUDIO2_DEFAULT_PROCESSORXAUDIO2_LOG_ERRORSXAUDIO2_LOG_WARNINGSXAUDIO2_LOG_INFOXAUDIO2_LOG_DETAILXAUDIO2_LOG_API_CALLSXAUDIO2_LOG_FUNC_CALLSXAUDIO2_LOG_TIMINGXAUDIO2_LOG_LOCKSXAUDIO2_LOG_MEMORYXAUDIO2_LOG_STREAMINGXAUDIO2_MAX_BUFFER_BYTESXAUDIO2_MAX_QUEUED_BUFFERSXAUDIO2_MAX_BUFFERS_SYSTEMXAUDIO2_MAX_AUDIO_CHANNELSXAUDIO2_MIN_SAMPLE_RATEXAUDIO2_MAX_SAMPLE_RATEXAUDIO2_MAX_VOLUME_LEVELXAUDIO2_MIN_FREQ_RATIOXAUDIO2_MAX_FREQ_RATIOXAUDIO2_DEFAULT_FREQ_RATIOXAUDIO2_MAX_FILTER_ONEOVERQXAUDIO2_MAX_FILTER_FREQUENCYXAUDIO2_MAX_LOOP_COUNTXAUDIO2_MAX_INSTANCESr   LowPassFilterBandPassFilterHighPassFilterNotchFilterLowPassOnePoleFilterHighPassOnePoleFilterXAUDIO2_NO_LOOP_REGIONXAUDIO2_LOOP_INFINITEXAUDIO2_DEFAULT_CHANNELSXAUDIO2_DEFAULT_SAMPLERATEWAVE_FORMAT_PCMXAUDIO2_DEBUG_ENGINEXAUDIO2_VOICE_NOPITCHXAUDIO2_VOICE_NOSRCXAUDIO2_VOICE_USEFILTERXAUDIO2_PLAY_TAILSXAUDIO2_END_OF_STREAMXAUDIO2_SEND_USEFILTERXAUDIO2_VOICE_NOSAMPLESPLAYEDXAUDIO2_STOP_ENGINE_WHEN_IDLEXAUDIO2_1024_QUANTUMXAUDIO2_NO_VIRTUAL_AUDIO_CLIENT	Interfacer   r   r   r   r   
pInterfacer   r   r   r   r   r   r   r   r   r   r   r   SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHTSPEAKER_FRONT_LEFT_OF_CENTERSPEAKER_FRONT_RIGHT_OF_CENTERSPEAKER_BACK_CENTERSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHTSPEAKER_TOP_CENTERSPEAKER_TOP_FRONT_LEFTSPEAKER_TOP_FRONT_CENTERSPEAKER_TOP_FRONT_RIGHTSPEAKER_TOP_BACK_LEFTSPEAKER_TOP_BACK_CENTERSPEAKER_TOP_BACK_RIGHTSPEAKER_RESERVEDSPEAKER_ALLSPEAKER_MONOSPEAKER_STEREOSPEAKER_2POINT1SPEAKER_SURROUNDSPEAKER_QUADSPEAKER_4POINT1SPEAKER_5POINT1SPEAKER_7POINT1SPEAKER_5POINT1_SURROUNDSPEAKER_7POINT1_SURROUNDDBL_DECIMAL_DIGDBL_DIGDBL_EPSILONDBL_HAS_SUBNORMDBL_MANT_DIGDBL_MAXDBL_MAX_10_EXPDBL_MAX_EXPDBL_MINDBL_MIN_10_EXPDBL_MIN_EXP
_DBL_RADIXDBL_TRUE_MINFLT_DECIMAL_DIGFLT_DIGFLT_EPSILONFLT_HAS_SUBNORM	FLT_GUARDFLT_MANT_DIGFLT_MAXFLT_MAX_10_EXPFLT_MAX_EXPFLT_MINFLT_MIN_10_EXPFLT_MIN_EXPFLT_NORMALIZE	FLT_RADIXFLT_TRUE_MINLDBL_DIGLDBL_EPSILONLDBL_HAS_SUBNORMLDBL_MANT_DIGLDBL_MAXLDBL_MAX_10_EXPLDBL_MAX_EXPLDBL_MINLDBL_MIN_10_EXPLDBL_MIN_EXP_LDBL_RADIXLDBL_TRUE_MINDECIMAL_DIGX3DAUDIO_HANDLE_BYTESIZEX3DAUDIO_HANDLEX3DAUDIO_SPEED_OF_SOUNDX3DAUDIO_CALCULATE_MATRIXX3DAUDIO_CALCULATE_DELAYX3DAUDIO_CALCULATE_LPF_DIRECTX3DAUDIO_CALCULATE_LPF_REVERBX3DAUDIO_CALCULATE_REVERBX3DAUDIO_CALCULATE_DOPPLER X3DAUDIO_CALCULATE_EMITTER_ANGLEX3DAUDIO_CALCULATE_ZEROCENTER"X3DAUDIO_CALCULATE_REDIRECT_TO_LFEdefault_dsp_calculationX3DAudioInitializerestypeargtypesX3DAudioCalculateAudioCategory_Other!AudioCategory_ForegroundOnlyMediaAudioCategory_CommunicationsAudioCategory_AlertsAudioCategory_SoundEffectsAudioCategory_GameEffectsAudioCategory_GameMediaAudioCategory_GameChatAudioCategory_SpeechAudioCategory_MovieAudioCategory_Mediar  r   r/  XAudio2CreateCreateAudioReverbr@   r0   r.   <module>r     s   				                             J I I I I I I I I I I I I I I I I I ! ! ! ! ! ! P P P P P P * * * * * * # # # # # #	]	#	#     *K'<44K K K K
F-...K+|K88WW K K K1222kIJJJK WK 

    )   [ [ [ [ [y [ [ [,    )       Y   z z z z z) z z z    9   $ !+ + + = *            &       % #  ! ! "           "( "( "( "( "( "( "( "( "( "( ")     CM   &    	       9       	       I   ( ( ( ( (CN ( ( (V	 	 	 	 	- 	 	 	    -   2    ]       S]       I       i       i   	L
 
 
 
 
I 
 
 
    	       y   ,    I   $ ", !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+ !+#$'::%(;;>SS&)<<?SSVii "%88;LLOaa%(;;>SSVggj||%(;;>RRUjjm~~  BT  T%(;;>RRUjjm~~  BT  T  Ws  s  vS  S.1DDG[[^ss  wH  H  L^  ^ .1DDG[[^ss  wH  H  K]  ]  `q  q  uG  G  
%"
!
&	

	" !   22    ' %  *  * & ' #-   * %/ "36PP / $  $gx8   - "  %go66@Q8R8RT[T[\lTmTmouw~w~  @U  xV  xV  W    $% !          " " " " ") " " "J    s}   8 ) !'(++VV< 1 #  %gcm445    s*   A- -B/>BB/B))B/.B/