diff --git a/rings/konga.ul b/rings/konga.ul new file mode 100644 index 0000000000000000000000000000000000000000..2191150e71526b6cbd1f19a76b0ee0ce955463d5 --- /dev/null +++ b/rings/konga.ul @@ -0,0 +1,11 @@ +�������������������������������������������������������������������������������������~����������~�������������������~������������������������~~�������������������������������~���}~{|~u}�w~z~z����iu�������k���i�z���r�j��������������������������������� +I�/$�����������������������% $5Ȭ�"��A/hnѡ������������PD? ;�������MH�ů�����������;1!"#.����cLG��Z<%.=ϾO0,,%'/Cཱུ���\7.$"$))+,//58<Xʺ��������������������������������������������qA84446>AA<2//4;>>=6/*'""$*,.+&"!#(++--+++*-.3>QS���nd������������������������������������������f���\D91//.)'*.26BA84.0/5;<41;>BEAOp˼�������qѾ���������Ȼ�����������������������e����XL>B]����OD;36//153/00,)).<GOU:18>N]SNNTVTID<??ELOD:;18=?Z~������J?Lu�����[EW�_Q��Ǿ��NMWx�ֻ�����\EROe���hF<:BD��YOOT_OPOJL��������\2/,087>@GKOF�bFD??=<<B]u��˼�jSj�����û���Ⱦ���������YS��^UGO�ý����ONLMEI�������xLL6/17COYfY���ECh���Ƿ��������T@CL`v�j^�����������Ƹ�����]�Z����RDCKt�kc��������|I>>FO`����nJCCENLGbmWJ>EIWWX[`���L=>:9<=Mr�����¿����̻������LK\���_SGE@GF_��ü����rW`��������Z<77AM����o�`REOkcb�����f@?FJOMKRPN^`e}����YXg�p�������NF:7>FGGDTu���ɾ������e\����������������������vh__\RSE?:9=::=U������{^gi\m]ZjVM]��������������������dNLSloYJGIUR]���������������������unk�ʼ����MJA<;=EMY\JG?<?EC?>@GFMa�������Ľ���NKFIPV^���z������������ne]t��l^dkbUKD>?IR[ZY`ov}�tv�iXU^m�����ÿ��������d\iprX]\XPK??>>===??CJSgho���u^s����y[W_����gVWY[\n��������˾�����YOq���jXUZ����^QHDHIKNdniv�b\a~��YZWX~�������_YW_dfWScz�������������rk\dq�v`]_geo{bVQOLKO_��������j����������������^WSNDCJKMJMSs���TMGHl���������������q]Xl������\WZTKGGJJKLNMPRLNVVOJJORU\���������ſ�����������p�����m]SXXZWNMOX\_e`ZXajcZSOQ_�������kWQKMQOPR_da^Z_m_XOMMRZYZk{���������in���������������xj]ds}yrjd]cdaTTKE>ACGKS[UOO[m���zc\Z_����������������������������z`YMLU[k���sVMFHGHIMPYi|�������o��������������������������jUOLNQOJKLKLR]c]VUSVTW[et�����xhi�������qy���������������������407=>LS5J��������U������( ')1�������;$& 03˟�L!#,������.6����-$N�����M.*8ì���0!����:&$'G��������D))7��������K9ϫ����L(&*+8Ӿ����H>6-3H��K:)#%0����r0$#$1��q?&$.=M���?-,+->ƫ�������Ȫ���H/.:Ͷ�������v.-:l�����I-.78I�ƹ���PE7469==61/358Ga���~?/$$+5Xϻ������������YC<=T�������ORTu�������Ͽ�����������������]@?J_Ƽ����C:55;99IohdK@FFLYlO9568;;FZ̾���QGDEI߿��þ��f�¾���������������jUM\ʽ�����YOQTR�½���wMIN����Z91..28Q�����U<-.07Q���QB9<>Eh����UJ?9=bµ����<89=�ø�����eOJD\f����h`Uj�ļ���NHJKX�¼���KC87:M����jKBFBLRT����L>?D]���vDB>>BO�Ž���J;78<I�ȿ���tnb��Ⱥ���G>;I忲���������������K<<DL�������NIMbͺ���L40/4Fa�����mD=<<J^t������yRFEN��qKDDO��������UE?F��ú���������������fJA@GV`q�SPY������mYL@61/1>CN\hg���a]_O_��[KIM^�����gIMKK\��Ƚ�������`^lml����ɽ������_HHNl����gOMDE\ndvfn���xWH?=7103EU������cMCDJWZf_bapk|f������gK?=DL�����_=4:=FOYOSQq����ټ�������˼���������ƿ�������X5--5<w�����UG<84873.,'$&(/8@BGA73-*.2?_ķ����SBGU����nH>AL�����������������������ǽ�����������������k������_D1+('(,6?KILG?;;;99:<=><;?ADPa�y^XID>=Lc�½��������ĺ������ey~����������ž����o]PQ[}������tC<78<AQc�p_^u������]J?>:<?CRYZYSOJFGKY]������jbZ]|��������������������������iYRVn�����������iWQLLQSgdz������VLIHM]^SKFFIIOOVV_b\TY^_n���ml`_UOQWp�����������~�����������������{l��������zTQXj������{{`^UMR^YONMLLS_{}kVJJJJN]j����j]NFHIOPSXUTaf~������eSRYc��������gho�����������������������������{VNZc��������pbjhZOPQPTV[[i���dYOOSY_ibh����qm\XX^]^lwx|�}y�����������������mico|��������������m`[^jonq���hYOMOUhwt|ne\^hjn�����kWV_n��ha]\Z^^\^o�������y`bn���������������nnnw���������bYZg�����u\Y^Zcl�����rs���zxmm_[Y[YNLS[^_f]NLQTg���������������p]SPRW]b|�����������������������sg_jj���������px}��ۼ������l�n�n�/0223FA34;?=;<;�÷���ƹ��������������\NNV`}XLA8679;>=<?Ol�����ȿ�������f^Od�Ⱦ��������|ROKE=?Nz����PG=;=?@AIV�����������aRPHHOd�þ������������r^RQ[m����}cYSLMMJJQ_{����ƿ�����zZMPs����������jWNHFFEJLNOMNVXTRNKFFJOZinit�����������}ssz�������������ia]_gmgeho�����������������������e][]l|�vfaYXchyr�mib^__`mehjhin��������tomnu���������oqpz�������w}nnojnwmb``is��������������{njewpp������������|gZY`hbj�����iWWURY[[cfgnwz���{svpivlp������{h`_cfp������ndmjim������yjrn^]bd���lv��������ui^^ft��������ccdgd_a]ce|��z�tu}xx{fxr�~���nyibgrqq������|��������~kilv���|r����{�����susx~�w����}niq����zdnjhcmw�������kd[\_nu��{��le^a`_^\]\^h���������{yqnro��y{����������}mnig������][aeg~~�����vu|�}�v�uqj��xj_]diq_h�����yx�zqd\\^kx�����}v|���vje_\Y[\i��������ln~�������h`j}�������|~o���ysolbicchjnqnhhmpumjw���ym_a\`^a^\fv|xy���������nkbls���������vy���oiuzy�������mi^b{�������tmkq~�������ytv���|mjhjca`dkbfcifcefix�����yxq�|qtw���zxww�������zffnn{�����������������zmorz�����������rhd^`fhijpojlqhed_^[\]\]_``br�������zk_^_f�������������{ypichz�������������{}v�������������}ufgfjkorssyswo`[[]_]]^^cfgt�������uha`agt{���������~uuonp����������������viifhflwxpwqxuwuv�������������������{wv~��yukgeeefed^a__cegu�����{��vnlo{�������xvqr������������vrrww}~wx����������}wwt�~{|���������|oihh{�����unlnty|yrvqqompz���x|oojhegmv���~yyz~�����~~tvp{������������������z}{��������zqnor������{tpphc`bckooqt�������{|yv����������{v|����zrpsrtzvnniiiimpu~������������������������~xpommntqqqkgedhly��|}vkgijpw������������������������}wumlkltv�}��~�}|~����������������������������}uvw{���|�}vnmlklkihjjkkkmv|�����}~�����~~��������������}|���������~xsw}|�~yvuvwx}�����������������}�{���zwnmpifmjlinkn��lrul���swk�l{ll�����mmp��j���������omxvoxtY�_k��jPf�����������_c>S'# +8�N� $�����R�������������������E50m&/-F�T�U(&#Ҧ�����������������������P3<�)$*\Z08:C()/+ />*,%$A�鷲��S�i�۬�������������������za/*3<=,!(318Z����������������������������U]UK@/..23))$ !&# %# "%=ͽ��nY]imϴ��������������������·����l9=H<D81-# !#+2.,-)))&"%+1BW�WE_ǯ����������������������������u?:0187?.+)+/24(*((,-,-,.FeZwf>?=Yо���������¹�������������j��LA<==IY�nIo<A9<J<Yd\YHG@AJ����[_S����z�ƻ���\��������OH߾�����_^CE6��{�IbC>UA>@>?�����[LOUU�����r��g������dOK?K����M�lKS>=D����[F;?;?c���\������ZǺ��ٿ������p��ƿ��I�OCS��wN91-@_osGX@:7;=<o���^Sk���������ܷ�����������ÿ��s�����S_�`MCV����WH?7<8.3;EKOOC@CSe���eMUv��ķ�������Ŀ��ҽ��|[NMX��Yt\@FB>:;:PFKERg]J<BcVw�����cmlOvo����aMk����LG>>���ʹ��~LM�b\\X^W|XbW`�����TNY��������iWU�`k�����LJ<?^]yKF^[�|^mTUgxf��WTBLPѼ���\��k��r�ͽ����d��������kMWXT`_u���Y_P?J?GN]REB=A?Dl�TJDLGS������������ɾ��������������������SeNFC>?768<BBIJTNOOI<<?EOg������p��������������������lWMHFgWdiYK=<=KTYg�lNLB<?Vv���iPk�Ļ����l�kZ_�ʾ������hZ��^G@EBKe�oWNNwsk�\__[�XYck���������������bUp��������������^OMLBCGORTUMMWNIGDGI[tfNFMx��û������������������miJ??ALH]aI??EMN���iMHX�����i]O]]�u�����_VKMd���PNPg�����ib�����������hO����iTIIJX]aTS\Z\e^Zbino�t`_������i]}���������nd^[f��UIORYa]x�jXSWW[UXhfp������������������x����SRKJPYaeielhd]][NSv���l��������k����`������vhx�z�vd^e^ZVf���bno\_`}db}��������������������njk����dZ_ja^beVUY[OMNOUn����������������������������cvY[Z[d_[YOICFKXyoZQS\Zt��������������������������������zUTSNNONPUSMQX]VPU^OIKMKWs����~��������������������������mz[X^UMIJHHISSLLJKKMOOQZr��������������������������{d[\f�ePKNIHLOOMOMJLOY[]d����~bs��������������������o������ma]ZXX[X\ejZUMMUPTOKMO]inmshbs}�������������������������|���f_WOOIOPOMOP~�ÿ����������������������ƻ����"#&$&&E�6%'%-7Ȫ�����������������ļ��O5'***&+&,0=?5<b�1!4:B13*%$.4;A3*%*6¹�bc����ͽ����������A,,/=�������I;49=D�ǻ���������A2+-5/*)('*'/;<;70.29M[]I?HQL<>O�;����MDB5,*$!"'0>@Ki������μ�������������������������������ŷ��������������Y>:64<CKF5/../42/,(&(*'#"$'/53.(%%',./00/.-.126C�徹��¿�������������������������������������OI=91/.,*)'%#!$%$%&'+-0357877::55=BIKSg��������������������������������������������`[MA@?CA=<<<=EJC>;:7779:==><;@@AAFo����\z������������������xfYQLKISOU_{{ddZUh�vdZNK?Nqol������dMLY\Z������zRNLHLN_ZOHFMO�fONINRVLFIMSy�h`nl_[F?ALYusenxgRik_Zlvkl�������û��Ǿ���������[\[h�������cJKTQMRRy����ucZUURKKP��q_cu_Wk\LJTn�������xUa����ƾ����������������������{�|mqo����zOMR[Rcn�[KFBFMOMLSY`^]][SJIM]op~�����~��ȿ�����_Zd����������s{[c�����������lONMWk�����WTWf�w_^YZTUT[Z|������q]\��������gZIIP^����W^]ZQNNULPY]p�p]VZi���������������������z������������{��zhypy�ma__WUNP[mrz��n^[neSKQW_�b\VNMIGIRTPPJHKPNJJO���������������������������������������_SPS[XUPQU[Z`ik�nm`VYYellf]_`eZZ]Zj��������RNMKLNTVagf^c_n���x_Za_p��������������vjdkkz������tnx�����|��b_m�|e_jeb^VKIIKLMLMU][k�����mjjd��������������zbftrb[]\XYTOORRRONMMPT\g�������������eiq}����������������m�������\S]ir{^WX]tolj`ZVWWVPQ[_\[agai|�����������������}������������{y��������tecXVQPSSV[_YW[_][]jp������w�����zomhss�����veYZTMOTWYY^k{����zj���������������������������fca\VXVSVVVWWYXRZ_YXTWZ[Z\_h���������������������������klsnkc]_binsxjnp��nh``eo�����vjb]XX\bihgoe_c`iqkhdco��������������ux�~�������}z�����{oeklm`]Z[[^bb_b^VTXZX[eb_^u��������uv���������������ykl���������yk^YTX\ky���jc^WXXWZ]]`kyxx�����r�����������������j�y��smm�x������2/L���V:;�������$ 60�����)������ + +#ɶ���! +#�����3ї���f&8�������F<+&6ʷ����0*:���/]���������$"'*:J�Ϭ���TFɬ��?E-'<�������8R�����Q4.&-�������79Ǭ���@+#"/E챞�����������B.=���B8Ȝ�����/9�����7%)<Ȫ����U/*(,=VSH><Vٷ������9>��������^���U:37/-,0���5-,-/,.8O�����>@˲���O������N:B����OEN�ú����X?6/,+3X����Ͻ��[PF���GBc�������e.+=W��D;436=X{SLFC85<JhgN>2((/:�ȱ���X<--;Fmy�������Ŵ��i9/..9Oī����{+*+2F����ϼ��o����LB@58Aį����5)!$3Mȸ���U:.-..03@�����_����hF:-.6N̽����JE?89=\�ļ�n_����������>>N�÷��kLC?GR�������d=>HQsŹ���������ν��k<47Alɹ�����MFEV�����^86=DS������C4<<iİ���O71/<W�������S:>CUƸ������]JCNڷ��J84=n������Y9..9Z�����o<9?EJ_�p���MA;<M���[F88O�º����[I41.2Do����������XL���YOKM������]MQHH^������W[���~iWJFDDHE�������W>5:Qϼ���I?<9Ht�����������jB:/.9W�Ƽ����VG=;AL������ngPc��ȼ�zC>;E�������jSLILKI`�����KHNv���bE=9;F�������A55Fb������M5,*0>�˹����OI[k��lR>;>JvϺ�����^A38=BԼ�����J:<G^�����C?EFGR����rL:>L㾾��VB426;R۽�����ND>Eo����������ſ���O=98=L]�ż����ZXS\oVQRIEFMt�¾���ZB>K^�����L768C_t������GD==??Mt����������\E>?@@D\���������PF>?FLYl^X���������Y@87?L�ž���TLFHR\�����eSMS`�����������wuqJ?:?I��ƾ����O>65?N���l��������x`D=>Bj�¼�����D@CN����TJGMe�����[XPc�������^KJIKO_�������VNMSRP\p��eVMN[{���~_^_SMSi�ļ���tIFM[��������}zml����bUURb�����mYOLOc������m^SOMZZm��zeYf������ZGBFMOZn������f\POKP[����������YSJMf���������OJHN_���������lsaQMUp���������kVPSVgo�������vZSQRVWh������jXTMKOMWo�������|oYTOQX`����������lh^[_k�x�hn����^OMVi�����{�����������SWh���������[VU_�����|VNJLTk��ona\\]i�����{_\]i��������eZZd�����re��������dYSQ\hk}���vigc[NN`�����h[Zc����������������kTOKVic�����lkcNN[cl����es�����zePV_h������oi\`kjo�i�����cP^\WYU]Xodޮ����������+/"2 >6� k�����NO����������������������'*' 0$'2<o0(Ī���˶��������8h�������?,|�.l���,-,"(/-' -̼¼���������������������������y<K^'"%( '(-:J^P������������������������������b:;?1(($! ((#++7G��^�����������������������������Y<6(#"##"$%#&+/0J�Z��������������������������������BJB=.(,+)'% #&&% (/77;A8D�ɾ�������������������e�����]mYG;32GJUJ?:F;U�����������ҿ�������Ű̸�̻���\I<BK���QG7*(32.9EE>E</..?8LX_U=HcNZVHN̻��������������ǻ�����EK@=O;_���JH99?>:8i˽�eO7C�g�Ƽ�l��¾���Ž��������QOgf7.=<>[�KE0(*+?�V??GC@N��|�Ŀ��z��ú�����μ������ڿ�����e_XbW�����?@F\YmpQh��wnA;?@C551//<Lp[@H<?Xig��ȶ���Ŀ����Ż�µ���������ɽ�Ͻ���KOQH\N{��I89@@>:CLINBK=C@;BEYh;Hf���x>98G�������ZU�Ľ�ƽ���u�e�o���II?J�whYNN�������������gcQ`���T[������������hICIMzo�[GF=HIIYiSHR^TH227O`����[\]Ou�����������v������YJEON�����YT[ozoOYQ]^��]�����ɺ��ĺ�������������f�WOLA@78473765<;>@B<?<CK<@?>B?[K�ƿ���¸���������ɻ��������������WZKBJ>EKMGCB69<FLFIB;?Dc������~��������RT^Zz�Ⱦ��RKTL\ZkUGCEVOYRVWOVVCGMW����������ü���������������������flTHF@=<;8=@<7988>ENQKCBRa�n�����¼��¾������������]YP]e�[G?@JLGj�I?:AO����y`hw�my]n����]`mݿ���`���Ż�������������Z[NB>ORaNF>78;DED?@HDIKNy�����t���»�����ľ�����þ�������p[INSNLAGDCHNZh[XaTURgwYV[k�����|b����������lYO^g{s\SS[^^XRONPac^YNVMT\dy�q[f��������������ǿ���������y�hubZ^_l_f^cpZMGLKNPWXJGNZY����ve����ykr�����r]������������_��������od����_�ho�����fr�_a[_k`�d\[NMVo��idn�����������zlj�����yw�����l_TQU[jpq_W\TYWYYW[OPX_vsp���pvqj�������������������������kp�����`bcjf`YMONKMT]TLIHSV]YUWez�������������������������~^Z^j��YY_ZY\[_YT[WYXYd\g�����b�������������������fgWg�yndmshh^^]tqm�t`ZZOTT[]PPKVXZclrkj��������������ͥ���ICL����I,&$$&$ܭ�����ZF~��ô�4$ "$'�������-&$)6=ũ�]-))2浤����L('*5������4)06ֽ�����L/ (/N괶��.#%%5è��N*+/A�������C,)):O������j<3G����E. $'7K����bGLHC㻵���JB;00<Ȭ�����YKO�����>58=Qjuí���:,()),:u�̹���EE\ɾ�X1-1;���������>/1Iί����H6<>=qؿ���TF>89BOTM@<>FMb¼����F/%&5O���������������wH;=Rپ�����a?0./9c��]PC>BJ����`��ZFG\���½�f@>K绯����d<867:DȺ������biUA;@UQIBGl�����W?619P��Ǿ���KJNX`�������bMRTz��nKFJV�ž��vJLD?ESs�������]XW��WE=>?Ga��Ǹ���M@>:<ES}������r[m��r\\JFO�Ž���Z?66?W��ƽ��cNB><>Gd����������pXMAFLX�ʿ���]`OF>CMc�������h\NIV|��LHLU�����WTU]n��������VV\WWr��������������L=8<Mg�������]JFHKMS}�]ROXmr�uXblr[Pl�Ǻ���yM;<AL�ľ�����WGAARc�������~O@AOVSHEGRcɽ�����d?<<?Z�ȿ��������j]f����_OMQ\���bSO[��������_C>:<LS_r�������kRQi��WOSy������\WTLMXi�������`XHDDBBJWlw������p\G?BIm�����pgRLZn����������q\J?;?Lz�������dNFELNVW`w����������tPLHMz�¿����ZRORY^������aT[flwwhULHFJ}������XC?HR�������\?:<?O�Ϳ��������iaXHADLa�ƾ�����`@<?BO������XJCGZ`����VOU\[[�����jLHS_�����eLDAHMn�������[[UYWXcmzt���������PD<<>Hl�������`THFKSb������������\QLLh������^IDDKTd������]OJFELW����������~ZLIIFLV��������mKGGJYl������������x[MLMVk�����|eSMO\m������of^[[\d�����������_NFIL[u�������VEAAGQVem�������jURNLOT_��������\QPTm������zmlj�����o��������mcVOIHN[�������gROKIMV������������aVVYVj�������^OHISg��������o]V[lkccfkm������ZTNOYj�������r[TQVZo���������vvf]PMQWk������i[POQUZg�������xlmmgfadt���������[TOT^o��������c`_[Zj����������kZTUV_h�������mXRPS^c�������|ohc``_i���������}ia[Z_l�������whj__^_djw��������ga[_v����������}no�����������oh^\]]]_x�����wcUOMOUan������|�utsnfj����������g^[[e���������kdbejt|������qlfb^_dmnhn������d[Z^y������������wz{jd^^m������i^_^TWcr������{s~viihf�����������tnfp��������m^da�Ƶ������������������������f�m��� !T�n.*'.�����������������������/*"+,%')/B��<&P���- *8;P������������C50)""I��������ļ�������������B2*%)F������g���6)(7iU>-'+-( &-/I�����N>+% $&)%&&)+.:ر��������������������������������������������[<-()*)-47*!#&/63*%!$!!! #'4Enǿ���ʹ�����������������������������������������_�sK=,% #""!!(-9HU_NKXWVKMZǰ�����������������������������������������ʿ�����cI::40///+(&""(/250***+-../3364303/.39743.1:=Wt~�����~HS��������������������������������������eGB@ER��QY^V^NQLWSkw_O\REFF:1102029:<=FUUID@=<>>CYXw����\MT�����Ȼ���������������Ƚ�����¹������������Ļ�Ǿ��|S:658>CDHEGMG==KPONMTx������hA95467<>Ar����������Ż��������Ǽ���TL`����Ž�������WKLQX~����nKFJKMGCKMHJACUnb\TY^�VE<;98AAPf����������ǽ������cIIi����~TNMMW��ǿ��������������h[M>=>Nx����lpVQFKYVZ����m]JGECA?DBACPYk�����\OQg}�������ZKC>CMPUYedw��ƽ������u_r��Ͻ������d^u��������aUNPKEC@>>><99?\���w_f_PSSXYbr�b_���������������������cYRWowdPNSj|���������������������r��~������XOKECAFEOSQLE>=CBDDBCLNbj������������YNKKTZbr�u�������������s``����|��f\MEDJMWd`^oyo�����q]VZci����ƿ������^XQ^kn^RRPPNLFFJIA??@??HL\a�����v�����m[_n����e]��������������������go|��sWOR^j����ngZVOSYXTRVTMMTZ\YOOMU\lw����t_TV^uf_ip�����������������oyt��v�zt��dUTONWb��������v�����������������lWXOJJNNONPYccfWJGGKp������������xuwcYY[p����wc[`VOSSU[]\acee[^_\VXXW]_ik���������������������jj����dX]efi]SPQR\e`\ZZ_^YUPS[u������r^SROQVVXX]][[\nzkf[Z\]b`r����������������������������^XZ^bkolhn{�|eYWNEDEFJQ_Z[\p}���vh``_���������������}whq���������zg^USZh�����xn_RURQUW[jv��������ln����������������������yrn]VTUSROKLMNU]hpwg\\^ZZkv�t��o~ku�uz���ϯ���U4),O@��* ���������ȱ����Z6�������+���$5������%!����� 7�����m.'2��������f!D��������"@��������8-�����O$$Qâ���^:1,(9���K)9����8 `��R( *CB�����]!*E��������˪����0!(M���������/"*=�����V&%(+E��8,$")+'" %)3L����W! 2��������¼��x��N+%*;��������K.+4O�������Ȳ����������Ⱦ�����R-,<ʩ����o(4���[@;-+,&(*))5^�����:'# 'Wǹ�����HO�ʺ��������ý�������ű�������YE8:Zǽ�����]>:8?>1%! %*7A|���5&%,38>?NYD=<Q��QAH35Uƨ�����<42B���������O>98Jժ���������VJ8/:?SŶ����:=1,&(9J�ɿ���K?80,2GWZ8/5C��^g:.244>��Ž���n?JFCMZɼ������������?3-?嶫�������x[YaU����ODLS^UK>GZVA=L]�����?%+@�ӻ���M.+),=H[\�ν���D::EKH88?Kȯ�������922=λ����������bVt˽���@=@G���D=>a�Ϳ���eN<.&$&-:?Uo�̾��zSFFUzL:8>kȿ���vB=?9=cܼ��������[MYLIO^��ҹ������?/0:I̽���WC97>x��������bOE>4,)*8BT�n�»�E,&#).4CXZIHFGK��M������λ�������������������KBBM�����H825K������7,())*7;BB:-$"6������T;;=<760+%$)*8Z�������CF�մ���������ɽ��������������������̼����I/,*+.3CM��[>/+**/57>>92.035:>A</'!"-6dȽ���qgLCJZw̿�ʿ������������¯��������Ź��������I;:78=]�����nr��T>0,('$'+18DIR|G3'"!#'-:>KI=<If������VE=;?R��ÿ����ʾ���������������������������]JNX��ĺ����`<70069:<<APUKGA<6/.+*++/2:Cr��mA4//4<SYRI?>AADOo�þ����������������ķ�������������������������zG?<958DU���`D4.,-279::;??;941/1;943568>Vt��L><;>Nzʽ���������������������������ǿ���������^NLSTo�����{YMMRSH?;6788?HHDFB<7/-04<EYZ`m[WKEKKDDLVV]y���������������������������������������������������x[IC@AGS^t�]WZPNMFE@=;;<;??DKNHC>;8:=FKMXZj����xo��������������������ǻ������������������������gUUW[cz����iWB=98=DECBC<;@EACEEDDFFMMYmt}xufZXZ\TOZy������k���¿���������������XR_����������ys������zZ]acZPOHDA?DHQ]�Ŵ�L�OsX���x�.))'')3,(*23///Qʰ���Ϸ���������������TU�}����@62211666=N��º���������U@?>B�Ƶ��������d=<;80.7E_���V>81/339:BLf^Vl���������o_f�˻�������Ǿ������jXVb�������]M>=96;>EJUk�˿�������L?@XԾ�����m_^RD><AHLJEB?>BDA@=<<<AHU^��������ʿ���������������������^SNNU]lbef�zjp����lKEHOXl������v[GCFJZ����}_SMNWSUPNIHHMU^_USRTY���������eUQh��Ŀ������s[ju������xn}���}ie_NLLOSUdbgi_gv�������}]\t�������k\_^gh`RMFJKKOXw����YJJFGKJQR\b��������������������������������lPMNPY|�����o_VNEDIJes�cgo���lUSWZUONMWjq���fTQNNPOPOY[}����m�~���������������������������ZRTp�������^TNNMJLMl��������]KKJMYgv����pibYb�~r�����doz����yzys�gUOWa�����k]TWcjkj���������������������v�t�y}s�����]QMKKOv���n\W\ab�s�����ls��ffo���o��{_UMMXaZg�����ierg_VW_g���������iiimuuuoe][Zl��������_`fl����e^NMT]ecfk�tj[XR_{�d`don����|he^[\aejr�������\WOSMU]i������ukkccpup^ZVfs���������|����tdfjh�������}gZ_l������e^_d��������p]YXZjlx���}e[XY\XY^r����ww���ylijfppq����������������g][bu�������}����������l_[Zduz������lc^YTRORY_go�m_bi_dc\[VUY`~�ohfo���������nfgv�����������������kbdmc^f��������}kfdh������������odY\aj|������h[QNQX__``^cc]`m������f\XZ^n}�����uwx�z{}���������������������ld^^as��������mafx{���������������ullhghhge\ZTPOPOOOOPT\_j������komkfi����������}~���������zvzx}����������x�������}z~y�yxqymmop|��}vc_\`fikkc^YWWZbiln����nbcjlxx��|{zvhim�����������������������������������������������~oibabr������wf`YWUTY\ejcbceifcbbgmqsmt�����|{�{�������xpmo{��������������������������������wrsyrvowz}tomhf`]YXY\binjgc^[XY^bu������pjeekw��������~�|{tzurq}��������zvm{����������������������������lfijprqorulf\[YZ[]_cmrnmdeadeghnjpw��������������������������������ynnuz����snmnty��������������������yvqmhfdaa_bghllkiljefinw�{xtztoy{����������������������|�����������yzou�y������n�Y[Tgfy���՜����� ����� ���-*��� + +o�����!5�����������������ȿ�?!0!+A!"'$(7"#Ϣ�������������A,_Ϋ���������NR��3!6U�( #7Z6@�������ſ����������������������/*1>)"$*&$&%-::gϺ��������������������������I4%$&(#$%& (.?CE::�����������������������������VCA0,2451,-#% "&%)1*-=F��T=/3߲�������������������������d��eIJBA<//$" $"))-0+)!!.>;LBFWHV�������������������������zy�i=:/3+)7:<:?1313:49FUR=9:49G�ŷ�̼�����������kw��ɭ���W;.4I?GK��MND:3EA9]5G=7ceZUXH����g�ij�����������������W^WPCoI@4(3/.342/SQL\;807BV����B������������������������Ke_EHB�?8*!#,2/$-&(*,,+6<A52/7eź�����������������������������_VZ<1,,/023.,,-/,+'('&$#"%.>�ǹ������˯���������������������sP�X7CH:;>7-+&,'*,2<?;/0??DANx}������ƻ����λ�������D���]oa==AH�����];7//-1:Fb�}RGS������ɿ��������Ƽ���n����e^�\_O@A=>CIDE>1.,11C�`\OBDO]���������yj���������Ƽ�������WLXNK^OOIM?60,--4=KLNEIJLSNU]Qz���ɾ�����ÿþ������������oeO_NW]SRE;533266<IZ��MFDEJ?KORVQjLkú�������������nV�jx����dOHfPTXZC@;8JLNVZWHK@:Ie���eKLN�Ϳ��������ǿ���I<JQ��Ÿ��UDLEKO[B>=@TW`����}cHGFZ~���������������������Tb��_q�����b]MA@CEFBBEJKFKVQ|����YEPU�������Ⱥ������ghX�������VKHHDE?;24=BK��_>:>E���������������dXSf�ɴ���UJKR�ÿ��VQ��������SXSEE[l�l[KCEFOT_MNYY�}_�������{������������������}ok^����LGJHIBHTROan������[SVi\Xc������������\m������UOOKLRQLVZ[]c|ex�e[KGIG]m��������i]���o��k�������r�cMNdnabdvfg����u|n�c`^g^an��kbo}j�����x�����aXUZSX|�������uq����i]n�������eUo���h��������c^XKILU^afiPLDCN[�_RYj����������������������������``gh���t^aZXNTLGE>?EHV\f��~VROO]�lhu|�����������������������wm�`nq_g_\KKKDEHJEBDEQ_jmc^yt�������Ͽ������������������ceo�_MMKIGMMLIKKIMOSNLQZ_m��f�������������������ʹ�����������������������������"+��-*.+Jʦ���������������������/%+,*$#*4���( ('$ (9i���-($*=ENΧ�����������EBK9, &>������|nlѿ������������e�?<J˿��cO?:7;2/*($(7I��E3+(# '<�и����V;3)" ,/38I[`[\Y�Ƿ�����������������ò��������������������������;.*+-9O���T8,+,-0/-)##!#+1.&""')(*+*,+++,/>Kݻ�����������������������������������������n?9473553*#!&*+**,-.45504:>=>Guɽ������������������������������������������ebJNTWUMA846=FKLF=3-)'$$'),*,+)''*4?FI?HSi���������������������ſ����������Ƚ�����k_OJ>8>M]�dO@@C??FRVW^B:9:?IS_�_K;69=M\_�����OUMRY��������I=9<GMRY�v[Qn��t�cYOFIS��Ⱦ����������������������o]��bY\[SKI??GPOLGD?A?:5225876:??;;8317?NX\n�����˺�������������������������������������PC?>AAJKK?=968>>?@HM[dcgYH:97:@CW�����tj_^l^������������������������»���������;�����fH@@FMLKIDB??>AEXg{fp_QGCCKPSWSW^UI=99<Lb������eNMNck������_^bhf`_�vee^g��ɾ���������������mgl�����������������[MGIOOYqbb^^dWI?ACJNMMONMME@?<:6558>??H_���������������������������������������k]fmjZMIGGDDKNOYYb[Y[VVZOIHHKLGC@@FMPk�����NJGBCDJL]nfdb]W^WLLRZ���������¾�������ln�����nw~�c~������|gWOOR__YVXQLLE?BEJNYWTPLIJMN^akemo{������Ƽ�������hjwvk}|��jRNNONKKJKOQv��������������|o�����eVQOQ_t��������������_RNSSVTNJKMOQRUVSSORQUZfaWSOLMR_}�����������������������������������������fNJHHIKLLJFFFA@BHPX����aUUcf������������������j`ooihi~�����o_Yk�����������������p�������~icaWUX^ZZ^^ZYSNLMLHDFIKRU]^s����v�������������������k`[[q�������f]\Y[f��������������ye_ZZbiimifd^_]]a^YX[_mtg_]_q��������~sm{��������������lbimgd^]\]kmc[WSKILNOYbowqv�����������������������������������{qc\WQNOW[k}�~^TMIGGIKOSX^bffrv���m��������������������������z_^ZY\YVY^\bginj_YWZYYa^ji�oin\]XP�ngd[j����������������ƒ���7..rJ�{:ŗ������A:L:=��F*�������# +%���(2�����[ +[�����=,�������"������ 쐑�� ̔����R( #������N(1����F$6ī���,'-:L������-&*&,Ǩ����:A�������, (8J�>J�����/+- ,Xߪ����ƻ���R,!.�������5+������%!/E������<%&-I[?2/>W{�������$ �����������WU��9"&>������1"ޯ��P5+:m�������r:8O�ĸ���;+,?������m$)8������S74HL/#%=庿��������6))D��������S@FY����M?N]>../3EUrB60>_����J8?DBG\��̶����KIJN���J953<Fgҭ����>>/'(3E������i��Ź�dD-,1]������=#%8���b,##-��������a�\H:$%(-C֫����b;,&&<{�������MTI>Uľ�A5=Q�����Q5/5<ϳ�����t7268<D{�;��ȹ�����;)!#,=Ư�����A;58>AI{��~B>Iz���IMm��Y�mŲ���X5'*5V��������?376@Ln�ĺ����N4,;?KAD_�θ�������2+&)>W������nv[H?@@̷��J4/4A˵��s;4>H��ɺ���`3+(1=IYʿ������SHReJ3-/Eɯ����P84//:Iں�����EA:773/6L��ʵ����dE=+)8ؾ�����U>77?Lb�˿������];/$#->n������R=0.68@Ib��������a_�VH@9<Nɲ����J:;<Brf������K?BU����TG:7:Kĵ����R/,2>q�������.'%(5K϶�����MSJ>=?40/3E߷������N,&).=b������>48O|ž��E<Geoc�����T7/6?������V5/02?rǼ����w_IE>;I`n�t�ÿ�����O1)(-6cų�����T>505Bs��{Z^e������iQ<:Gw�����m;804;Eʽ����G<7558D|������ɿ��P>85/2<�˸�����=527?I����_AAS]ɻ����F?9<?Ea������nOW������qRKMOZk������������V@457:Fh������M6/.0:?am��������aSMBC@?FN����fF;<Hd�����_IKJb�����dcj������{VD96<U�������J;977BZƿ����zc_~�lYFA@>L�ƻ����Q?79?X��������dWJQx�m_U[Yo�����G?==JS�Ĺ�����E<9?E_�������i`e���TKQWjp������ZNJKW^l����iVMO`�����TQLFRm�����rH>>FP��������\Y[SMZ�����������_KKMOUdm�˿���]GBCQ[����������hTKDBFZ��������tZFCDIf��������oOLHHNVu�������x[MEFPn��������l\TX�����������n]XW_]b_m�������M@??CJb������dituj\ON^���������SMDBLg������_^UY\bw����zlj_Z]ahnw���]Wi�����sNR_����������������rXHDIRl�����q^SCCKVf����nw���tf\ZUYiy��������ePTUVay�����q�q\SZQMRYo������md^]SNs�������nT[_N^n��ܟ����� �����짶�>[!� +m�����&������������������ܬ��?:)K�! 'BE/7F+*���ղ������^43CXױ�������S*'G�F+8BAʼ�^!'' 2иж�������������������������������~=��<3&( #,(%),2>պ�������������������������JMU����pJ>;><50+-)%+&1C}ƻ��|��Ȳ���������������������p�N�L=30401.(& #5>8?A98>ݫ�����������������������������m�QOaRn60('""%().+(#'3CFK=6:48H亭���ȿ������������g�L79=9?62'%""-76.3*/-0A;Naȿ���������������������������������lBET;;:<3-.-'!&#$.(+)'+(++++=OMQI?>JX]���������ź����]Z[IK��bK3LIDMG;8��ɺooF�\��Ŀ�ɮ���������������������Ľ�}=?@5AQC//()&##)+,6;?F;4=K�϶�������������������������ſ�SVlC85=G<:1./2/53//08:20,/;o�Ĺ�����ϼ���������������ȸ��dhOA:I?/41(,,-+,,61;9>FD:4:�fis��ź��������������������Xʽ����X?::HFQNG799083=:JLPG:69@LLOJ>AOWGF[Lr�����~fQG}Կ����������������cR�ھ������������ο��XMAf���¿���OqSOWYc�dbSMH<A7:AD9:2.02C]��RGFAJTZ��q��������������̼�������������W�g����ID><<@FO�����ZLGCMSk���_cHM��Ŀ������Zi�m�hUq`\�xO@=;:KFNGH>845<CMPO><<8:DVm���g��Ļ�����������»�������Ž��o]�z���hQECWM[QVPKMJ@D?BW~���f_ORaTunVUPOb����X]i�rbh����v~ZKORLLGIMOWMMWb�����oS��Ǿ�����ü���������������R@=<>E^L?:8>CDa�I=8>J����oMKOf|�ih��\PNZfڿ���Zam�Ƽ���g\�����������TJcm�rVUMHLVVVMNgs��t����������������������������jal�{dI>@CIELXQEEGBKIKJGGKY���n|������������ͽ�����o������������������eSZSdg���_TXYhVPY^V[ql]^�����YQWPKITYQX\�rff��^Y\cye^ee_o���yhv�������g�������}���������������������������^S����nrk`hh�fUKLNJNOV[Z\UHHC@JZ�XOY\u�������tir������������������������j`lYXNHHJNJObd|�����b[X^�����������������~����������od__TTNOPROFHJGHOWNKKFMY[\Y]����������������������������v]^n��]XSNQUZ\SQPMMLMNNSlvz�iQYTg����������������h^Y^{����ggnf_`�d����B9>[Q�S<(!#%���������������i&%%&/�������) $2:ϭ�6"*4ǭ����2'/�����}-#-2ί������9&&+:[�����@%%'>����E().9�������?$!%,A˭�����90O����M3#%-.Dϴ�������]ٳ����I95)*4������I:8<վ��\9,/7>hQȲ���P,+,,3P˺�����zeָ���<./:V��������.&(4v����Y:.066L�����]J=9;Dh��[GMV{߹�����C0$&6M�����������bT_vV9/0>V¹����M=/,.5aƼ��VBK�ñ������w|���ø���C@Wθ�����Q:.,,-9V������WJOB529IMF@G���F;7<��Ŀ����OMNXg����p�~_LHJMNSULDEW�����]HIFCJf��ɾ���������vLB?BKY��ĺ���K<:68>DLXg\m�aOFNVkWGI<:B^½���[B9:Jy��������SIA?FVƾ��������^LE<AIU������OVKA;;IZ��������mWNY���fV`������UWbn�������oUADGAACP_f�h��������eD:6>Hl̾������]TT_c����������������g��Ǿ����?866C]�������H>;<HJZ^������K@@IUXHDMZ�ƺ�����xC>=Dl����������oWSU����nLHIR���s^Wl���������SC>>HY^���¼����OQ_�kNJKe�����xVMJA@KT��þ��~XO@???BIc���������|XBAN]�����lYMGNYat��������ZK?:68Kd��������TLGOQ]h������������zXJEKV������WMIGIMN\�����VOV^inpaRNKIT�������iLEOp�������[>::=Nn�»���xrh[ONI?::ANz������jN;9=BO�������LGKV�����kbw��t�����}NJUe������MDBDJU�������aVNRON[cjll��������YC<;<I^�ƿ����[MDCEKT_f^��������b\LHHT������XGDEMXi������o\VNKNa�����������_MHFDIU���Ŀ���XJBCGL_����{��������YLKIPh������kUONWs�������]ZTUY`v����������\NFGKQl�������ZK@?FXh����������^WNJNO_{�������]KGIWl���u_]XWU[]ajhfq������{xi_QLLOo�������zXUMKS^������������[TSRO\�������XHBDM^��������~gYZtxgm���������YSMNZi�������lTNJKOXo��������lneYLKO\}�������i]XUZ\s��������olked^]jt~������nXJGIM[p������hVWROQ_����������m_VV[av��������]ROR\f�������lc_\\][cq��������wd]XZ`l��������qnbddgou���������o[UXf���������k_Y[hk��{������o^iachw�������pmhfghmx�������ukihimnv��������oifglp~�������~ukhilw���������~xtont}������ \ No newline at end of file diff --git a/src/Makefile b/src/Makefile index bfe919917c505c4639c01878401eda5157de6154..6bb42efa675a7691bbacbb69f53a6b513dae3d82 100644 --- a/src/Makefile +++ b/src/Makefile @@ -14,6 +14,7 @@ BIN_DIR = $(PREFIX)/bin SHARE_DIR = $(PREFIX)/share PIXMAPS = pixmaps SKINS = skins +RINGS = rings METAL_SKINS = metal INC_OTHERS = ../stund @@ -106,6 +107,8 @@ install: all chmod -R a+rX $(SHARE_DIR)/$(PROGNAME)/$(PIXMAPS) cd ..; cp -R $(SKINS) $(SHARE_DIR)/$(PROGNAME)/ ; \ chmod -R a+rX $(SHARE_DIR)/$(PROGNAME)/$(SKINS) + cd ..; cp -R $(RINGS) $(SHARE_DIR)/$(PROGNAME)/ ; \ + chmod -R a+rX $(SHARE_DIR)/$(PROGNAME)/$(RINGS) uninstall: rm -f $(BIN_DIR)/$(PROGNAME) diff --git a/src/audiobuffer.cpp b/src/audiobuffer.cpp index 06f8db33183c84104d600be8f4d52d63a27e2a02..349d033d534fd67affa44c7c1e55e5d86e54dd86 100644 --- a/src/audiobuffer.cpp +++ b/src/audiobuffer.cpp @@ -54,7 +54,7 @@ AudioBuffer::setData (short *buf, int vol) { short *databuf = data; for (int i = 0; i < (int)size; i++) { - databuf[i] = buf[i]*vol; + databuf[i] = buf[i]*vol/100; } } diff --git a/src/audiortp.cpp b/src/audiortp.cpp index a5f8a8938f099d345b166a610e4f74d8aee5224e..91eb95a623112149fe94e33a4432535c65d0e34e 100644 --- a/src/audiortp.cpp +++ b/src/audiortp.cpp @@ -245,9 +245,6 @@ AudioRtpRTX::run (void) { // Send session //////////////////////////// if (!manager->mute) { - // i = audioDevice->readBuffer (320); - // data_from_mic = (short*)manager->audiodriver->audio_buf.getData(); - // qDebug("audiortp data_from_mic 0x%d", data_from_mic); i = audioDevice->readBuffer (data_from_mic, 320); } else { // When IP-phone user click on mute button, we read buffer of a @@ -256,7 +253,7 @@ AudioRtpRTX::run (void) { } for (int j = 0; j < i; j++) - data_from_mic_tmp[j] = data_from_mic[j]*manager->getMicVolume()/10; + data_from_mic_tmp[j] = data_from_mic[j]*manager->getMicVolume()/100; // Encode acquired audio sample compSize = AudioCodec::codecEncode ( @@ -294,9 +291,9 @@ AudioRtpRTX::run (void) { adu->getSize()); // Write decoded data to sound device - manager->audiodriver->audio_buf.resize(expandedSize); - manager->audiodriver->audio_buf.setData (data_for_speakers, - manager->getSpkrVolume()/10); + audioDevice->audio_buf.resize(expandedSize); + audioDevice->audio_buf.setData (data_for_speakers, + manager->getSpkrVolume()); // i = audioDevice->writeBuffer (data_for_speakers, expandedSize); i = audioDevice->writeBuffer (); delete adu; diff --git a/src/configurationpanel.ui b/src/configurationpanel.ui index f4c90f49946b895db9a7c86e6e2f01bb67d62927..5c41ea5cd9b6f1fbd20bbfc31f1ff3ec7e4d9461 100644 --- a/src/configurationpanel.ui +++ b/src/configurationpanel.ui @@ -148,7 +148,7 @@ </widget> <widget class="QLayoutWidget" row="0" column="1"> <property name="name"> - <cstring>layout17</cstring> + <cstring>layout19</cstring> </property> <vbox> <property name="name"> @@ -792,6 +792,27 @@ </grid> </widget> </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>RingPage</cstring> + </property> + <attribute name="title"> + <string>Rings</string> + </attribute> + <widget class="QComboBox"> + <property name="name"> + <cstring>ringsChoice</cstring> + </property> + <property name="geometry"> + <rect> + <x>20</x> + <y>21</y> + <width>150</width> + <height>20</height> + </rect> + </property> + </widget> + </widget> </widget> <widget class="QTabWidget"> <property name="name"> @@ -1115,7 +1136,7 @@ Montreal, Quebec H2T 1S6</p></string> </widget> <images> <image name="image0"> - <data format="PNG" length="3693">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000e3449444154789ced5d4d6c1bc719fd08f8a0044640073d584150484113802a1084aa72a0da045e219750729050c9c1529b0365b9b0945e22bb17ff040ee3832333855b298552d18051310104d907995601a3a203065400b9a40a15940b06900ab5580542410bac410b8281d7c372a9dde5cceecc924ee4987379367767e69bd96fdebef976664420a24922aa1b02c03a0000e9326207a87b3d0d7c6cb166074de455144a807f621e741ea073335c54e2c0c8cd1c00e0fb6e78031f5d749531b709ac16016f34014a01747e461abd8b4078160d076ea034ca6500a05c7166545954e2805a2c352444038550e846ec00851d778c2a839154aee1b80d7444c71b729b25f863f565563bf44fcc372443036dd1f6066c02dec587cfb056f446130dc76d2017b917729b2578a32e18733c018a0134310f8a01c16b1900c0cc8a8ad28e7839de0b33b53b2e80b18949848f0f213c3854c630c2c787301a1d058a80aaaa8f8e24019098adef802e154b188d02e1c121040e29080f8681a2cbf21f827d2cac0fc35ed00c4511b629bd8aef8471510290047c1d7ecc7424e0ebf0c3df11e0feffd4b9c823c1eca7ce452af6d7cb5e35ae56f5c7c8c9115703f961d827c4b4a51d4833ac480acf655c695c378c1b3e3e647a10c19e10c62626010053f119200a283dc1ca757f4700996c66ef33ae6e7fbd1c0230f593bf2380f0e090fbf2eb6d1f07ab7e50d62535e8b2b3c306a6d335695ce54a5adca16066d8c26c89db81c8035081c45cc2b67ce451fb8370ca5f43f9505dd807207048a97a0321cb2f0779b81ad8b2f639ddef9924a201228a11d10000cf875789f6f5123d10c3b03f4bb1d7db899706fe92a5cb4bedc2e5f170eaf006f5bff88c2766b49781d96c06478fbd47dbb44d4dd44401a593c647a38ef94c08a0b7af9fd6be59ab9463c4a012a4e1c1016a7de1394fe72105dbf7b6a9697f132ddc4a52cce3f118cb4ba6d2387df6346ddddb22bfcf475d7ffedca3dbd9fa858fba6f77d3f6bd6d53f97e9f8ffc2ff9e9c4fb27cce54581b62fdaa9899ae8e22717a9ebd59f7bc6272611fb53ac92df7bf0006d7d7b97b6699b5666b3147bc66c8f8ebaddacf6ad24b3147bcae31928025d7ddd95f28cf735ed6fa20525491b831bd4fc4cf9b908d8d7b4bfa9d2de8a7d00c63f8bd1dcf5395afb76cd548ff7e0014abe7583eebf739f9e78ea494f8c2c23cfcd172eb5c46758590debf4054d680d83e59537d39140b027046481742a2d34e2f5fc81438aa6d3cb4c3b7272a4c24881d714a004ccbf96aed417ec0956d9977e3353757d343a5665df6a5c45f8f890a93c5f87df34293231625efb9da549f5ff9f3a17e1f797cad6fc85d91250d2fad9d47f456812aadc0ffafde93733b5d96761fcf49b19edf72c103ad267eeef32d3579876603683cbff70c1883f4a128e75315976f87f449ffeae36863562e46c2f357bd8cc61c222d0d6d55ec52056a6f0f97cd4f58b2eeaefeb35331a80ec5296dadb7f56c5d06d1d7e5418e97696c63f8b9191496ecc5edd651e006d2fb79b18ecc69737e8cc87e7699bb6c9bbdf4bc383c3d4dfffb6b91e15687bc390ef7696621e8f67bc2300bd9e81c1011afef551cfc0e010969696aa98baef9d3eea7ea3c7138fcf20f8f7209dd87a8f685f13b5bfd44ec3c706b4f65aea091d0e51eb07679cfbc1da2eb7f61deea68163c3a45f0f2a41f28d9e373ddfd3e72298bb3e47dbb44d819703d4f9c74f3d9a86d8a92d1e9bdbe450ed66fd98563a9a0060343a86dcc4aa50144167065679996c065081604fc8941f595498c2ca30206d366d65249d79673a12989a9ee1336172f78da1cfe659f6ae96998c55ff2411b1daabd78b2caadb63d3afc8a2dc0f415379fa2456d63ee4cdf5878ef401d86574a450f5fc0040635a175ad68881c15e5a6866922d5dfc7a8d4ede6aad0bd36ada768dfa5f7c4e4ea312d186aaa2b9b999925f2d50d7379dd4fbd76acdaa33c64011188e9ca0a5db59dabab7c5656cfdfebb51e07259cbe9da76ed9b35ea3f3650c91f397b8abadfe8f15899daaa818d5af8c4fb272a8c3cf0e52d0e9385b1b474a762d7f0dfbeae62aa8d6f37881e10d13ea2a6fd4fd0f8c717b57a398c697c63c9f483b47d96fa9dd0bbdf4bf3b337348ff74fd4ce88766974a17e8c3b63c388b298984b98186372621246860b1c520055631700989a9e61320c547019bca209cbf5b2f233ed2ba22abf886694697f269b61b6c7ca90baa635f6038ba165edb3d62f1a2ff7a8c5129ef9c3133533e0cc5b1bd4ebe3d02d115dbdb3416f5f6f26daae9d7171b697cb50262de66f77bccf38d2c347b264654c6bfeae9e202ab373033319b55715131dcf526c40bbcfa8f1581a4ec7de237dd0df042b87b314fb404c335a99d6294ac2645ac3efcc7ea841d3da31addd9b674355a1cf1508a803038ecfdb326d251501b5547b7d53cb36da0bd571daa9e9f29ba01ce948a7d22646d5352752361a0fe65933eb3a4b33eb51063bfb4cf14f3066cdea2e93396a4609a6e5695ae31b28f09a627e2358ec93d6b4563bb2bbfda1476b2af69500e477e70c95e841d86dd44047ef0dc25037976179c9f35992e8bf5daeea1d39d94bbe27d923f27eb184a3c34769e9ce1d61ade4f7f9e8a3331f51ebf3ad648dcf7a0f1ea0ed7bf7999aae8a19ce016dd7cd1a4d671c2bc3751d66c73f8dd87ab095c63eb948ad2f681a3e7648816e074b33b61e6ca550e25a5d98b653e932c58f45fae15a4f087a9c95659faecdad7618e704bcfe687dbe95ae7e1ea798c7e3a179d92f60060c9517c3b84da79239975fc86c98d6c008a3d151f0e284b989554d4359178740d36c7adc548dabdaec5d2dcf6af3d0b4af0a3383eacc9004c2c787b01a57b54539367626e612a6fbf5fa46a36300aab55d622eb16b8f7e1dbbf9d329892f8786f6eaed61fdae96ed5a8dab5a7fa9d018395f9dcfc93edb2f8f8cfac2c78780248094b99fc9d5bad74bdaaaad7aa4f46a01342e57bf37baf717b734f0e121c9325da600c7d55cd2a9082454c968854dc3b0a3153b721350d6773753367605ff30509c692f88ade6aa25c9acb7b56b580b87b9fdb1da19ba541e10e9f502004e7986ebe9f5425d074a8933f0f4fa22a91c22d07649d7a3beb1c555848be5454b00729be6f624f22a94b8765dc37944e07ecf5f6eb38008cce58536cde58931edf843f75753aa9569dde613c1997c757cdaeab0ac7a0b3bb5af12d3d786f827cc8e8b2298ed4dafb31d5cdc61abcbf52e9adb91d9e43fa7919b127bfe00846c56031afbd99969bf038665a55a98d66d3ea15793a53ceb66ccd0749a6bb712d7de266e198fdb0e4e7f45505b7b239c728d0e54da019438bfbf85f6fc0168b994e0f65ba164ceefc8b40f23e536350d9b587170dc3dc8b4760c3049ceeb91fdf9f25a0dd9fac16f477a9dcdb491948b7a0c1849493038f8ab046dd78cd8e46b1967e7233b0f0fd42740c07648c39eb2510005c6e42e5470a74dbf4fa6153917c21b95d7ba91544e9a69b98e22335064ca85fd49432de3bb9a7be4660ebcb9079db73f89881fa75d04374a10ba06505e930e9402e88a0ba75d66d45b16fb955404285b7d5f681a7b966965e2deb65ff6580ec46907b84c5bdb391291143b8e0e07adcc636811f42e3a975f3582750c5a3e1c8c2473a04bec91a1cfa8a59c9637222d1a3a74ad7a6f99d551f616d3f2352d0bc3b3627bd3dc30ed77a16979985e2f48ef35f4c7c4343f77b66b72b0f179db11e2a44d994e9be7975755bfe4ac782f695a7f1e4818f798417374e3fae5d0b4c08e0af0dbb127342d03657675b72c43388ece65a65d87e56b5ee3c893765a815316036af57dde0bce8eb797342d8f394a3b406873f73ea759f6c8cd4740d30ae66761cb25f105fe04220a4d578f28b50490c89e3181ddb84ca775605a1eae0a1c24b15734adc82e62eb1969851d687309c38367c54b4d8cb6c734ad6eb7ec9e43d123b16adfb9f0ec02e1dd4e924d6e5779a57f75973a7ffcb4edce85a3e7015e7ef537f7a9b9bcab5366e7838e9e73333096177965854ebffad34a795d57d2b8f59f4ea2075749f9492ff5f70bec690370e0e3abb4f540bc1f264f99d7b7b29e9ff09e3a0ede2901d151b9f5ccf77780ed07444f33f289a077df55bafb5bfbf5d2150f6e61cde605d06e376ebd9956687517913dd30abe82eaa16945ed75c34cc6fc39ce5e3ca9fa19d832ceb687ab61d7013b3ff24f68cf3e92caa1b0a3c56179ed9b5fb7bc718ccf57ffc7d4b22aa43d9ca20cc24e2b598f8c96722a275c74583b6037202434ad12973f4043e444759636e7c5dbdd4a84f02cfb442066b4035a5cd52e2ac08b4b8f2dae72a30cde2830b6b85a958fcc1deee22498bc0b8f75711e82b22eee006ede1876233e61d859506f4dcb7618e7fe91616a458fa33bcccef5d5713c06646a4e9bfb758deed45e1401bfcd9b57b7dfac69c9fd0933bac69149b2e72178f7f7d2caa0b816b5d3b46e51d7904e9ad6787e84b0a665607c7915bfbccedfc56cd2b486e7d7fafb1bf4af7bdddc7ccab30b74e0f54ef2ff7385e89536a2af5628f9ef36daba97a4259b3986f26c9292ef7655b4e6fd1de0cc032296e615d5a6565c280297397e612c8f1da69064a453c99c14d10a45250c28f5e588cae1a13a31ad75166ed4ac4c8d6ce8bf919b7276b334228b81fc13f3b6e54e2d03d6d5686e31b3c98ecbdaadeed29731ba6ab7cd1b43ef6f66c6705152735ed076208824d9d31345bf1859d1baeed52df23ad6e97a5dff8684d52e897c53cbaba6f5a93cedeb9f988712d73e7454d6e3da38ded4b2b68ed67b41cbaf5c4923b459a775bcd0b4ac12dffd1b1f2d971295bfcdc1d536761a8389cbdad95d7649f6fc03b79ab0813f6cb4652a377f6b81b7d9d11f97fb262ff469b3818f253adeb05aac9f361445b792a0818f078add885dede226be2a8adea8a6c1f642c73470efa27886b2987f580cabd87c016960038d289d21bd5eb0dd13248b3585471af858a2fb02a0c521ddac5968194f54af666a600305b13e0501985ad6e27aa1e974d53ef8d06639405feff865031f4bfc3fdcfb64f7cd732d720000000049454e44ae426082</data> + <data format="PNG" length="3603">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000dda49444154789ced5d5f685bd71dfe095270465694b187b8946197b5e00c4ae5b90ff2d6926bfa32c529addc3e24defa20c519b1b787d5695f9ca4b86a1e5247856c76873b2b1066b5609c3c388a076156868b5c706a7964480117e4e10db998e118116e8c097c7bb8bad2fd73cebde75c29a9d3e8bc7c89eef9f33be7fece77bff3bbe75c1388688288ea8600b0060040a68cd801eade4e039f58acd941532b450040607c0e740ea0e1692e2a4960f0460e00f05d77bc818f2f7a2a98db005400fe780a9405e8dcb434faf34064060d076ea034ca1500a05c76675459549240b1a43624440385502823763446f4c2a832189bcf351cb781aee89a21b7a12290a82fb33a61607cae21191ae8888e19b001f8f30f9f61ade88fa71a8edb402e722fe43654f8e31e18732c054a00343e074a00a1ab4b0080e9bc166510adc77f7eba76c705303a3e81c8c97e44fafacb1841e4643f46e223008062b1f8f8481200a999fa4e68b5a462240e44fafa113ca420d217f15eff43b08f85f561d8f39aa128c131650a78248c0b15c022d0d61140a663096d1d01043a82dcff0f0dc71e0b661f1a8e55ecaf9bbd33b08dc7e07b839e26f243b18f81f699b7036986154991d9254f1ad70be3464ef69b6e44a83b8cd1f10900c064721a88034a77a8723dd011c4527669f733ae6e7fbd1c0266870d740411e9ebaf8969eb6a1f076d3f289b921ab4e0eeb0c1a94c4d1a57b99c11772898191669fe006205400948cda61cebc70a6abf116ee56ba81f450ff601081e526c4f20acb88cd723b0cf2dbf6f8288a2449420a22800df875788f6f4103d10c348204b895fb5132f45ff96a54bcbedc2f5f170f2c83af5bef88c2f61b49781d9ec128e9ff81d6dd33635511305954e1a1b89bb963321809e63bdb4facd6aa51e238694100df445a9f585e77c9d87146cdfdba6a67d4db470334d099fcf67ac2f3d9fc1e9b3a769ebde1605dadaa8ebaf9ffb743bdbbf68a7ce5b5db47d6fdb547fa0ad8d022f05e8d4bba7ccf5c581835fb4531335d1854f2e50d7abbff08d8d4f20f19744a5bcffc07edafaf62e6dd336e5d3594a3c6db64747dd6e56fff2b7b25abb00ba8e1caed467ccd7b4af89169434adf7ad53f333e5fb22605fd3bea64a7f2bf60118fb2c41b3d76669f5db55533bfe03fb29fde675bafff67ddafbf40f7c09b2cc3c2f6fb89c92ac86757b8326b48701768d16ea0e032b40663e2334e3f5f2c1438ad69132d30ebe375861a4e06b0aa002b9d70a95f642dd219b7d85378ab6eb23f1519b7dea0c1039d96faacfaa0d4d8c582cffced0a4faff878663fcf12ab1353fd2d05e771ada0b758701409350e571d0f317de28d6669f85f10b6f14b5df5780f0d163e6f12e337d8569a3334bb8f42f0f8cf8e334e1441793650788e85349e676c2d8d91e6af6b199c3ca94075f6eb731889529dadadaa8eb975dd47bacc7cc6800b2cb596a6fffb98da10f76046064a4b1cf12646492eb3357aacc63b1237f2b4bd7af5da7331f9ea36dda26ff3e3f0df40d506fef5be6764ac0c1ae761bf38d7504a1b713ed8bd2c06f8ffba27dfd585e5eb631f5b1b78fd1e1d7bb7dc9e4347affd943d1ad28d19e266a7fa99d064e44b5fe5ada091f0953eb0767dcc781d12f4ff61d394cd11303a45f0f29216a1b3967babfa7876398bd364bdbb44dc19783d4f9e74f7d9a86d8a92d1e9bdbe050ed46fd98563a9a0060243e8acda42a1445a83003a3bea5ec12500242dd6153796451610a1bc390b69ab63292cebc998e254c4e4df39970b1ca50fa6a9e65af3a63d1f0967eb0faabb78b2cecfd71185764511e8790a93e7d112b6b1f56cced878f1e33313ae661bb7f00a031ad072d6bc4e01f7a68e1874cb2a50b5fadd27b375bebc2b49ab65da5de179f93d3a844b45e2ca2b9b999d25f2e50d7379dd4f377bb66356ab981f74fd1f2ad2c6ddddbe232b69eff6e1cb854d672bab65dfd66957a4f442be5636787e8f0ebdd3e2b535b35b0510b9f7af7548591a3ffb8c961b2089697ef54ec1af8fa2b1b53ad7fbb4ef48088f61035eddb4b631f5fa8f493c598464695190769fb049e8846f4eff3d3dccc75cde303e3b533a2531a59a81fe3661c18511653b32913634c8c4fc0c870c1438a167b2eaf6627a7a6990c8322b80c5ed184e57659e5dda2207a7911cd28d3ffa5ec12b33f5686d435ad711c580c2d6b9fb57dd178b9af5852f1cc9ff6d6cc80d36fae534f5b339b6e89e8ca9d757aeb5a33d176ed8c8bb33d5c863269b140bb6b3ee34c8f1ccd929531ade5bbba43a8acce0dcc64d45e36263a99a54454cb67d4782c0da763cfd163d09f04f923594a7c20a619ad4c2ba3fd8d4f1afd77e638d4a0699d98d6e9c9b35e2c425f2b105007061c9b7364da4a2abf31abb5bdc9db0eda0bf638ede454f949a06a9099cf981855d79c9877d07830af9a59d7599a598f3238d9678a7f82b16a2e5699cc55334a302d4fd31a9f40c1d714f313c1629fb4a6b5dab152bdae476b2af6a91abbeb6b864af420e2356aa0a3ff3aa1ff30976179c9f7599ae87f5d9eda1d3cdb436d9c1979bfa4e2f8c0715abe7347582b05dadae8a3331f51ebf3ad648dcffa0feca7ed7bf7999acec60cc3c0c16b668da6338e95e178f14f23b61e68a5d14f2e50eb0b9a864f1c52a0dbc1d28cad075a299cba5a17a6ed54ccf1639171b8da1d861e6765d9a76b73ab1dc635016f3c5a9f6fa52b9f2729e1f3f92827fb06cc80e1f26618af69289df3f886cc81690d8c30121f012f4eb89954d91a0a1a33eb7153cc680c8b5279555b84a67d4b3033a8ce0c8b5a3975a6dcbe839da9d99429bfdede487cd46e979e5fb747bf8e6af9ccbcc49b43437ff5fe307f9fa9d63f341cd3fa9d85691c44ed737cf3c8682f72b21f5804306f1e67f2b4eff56275d756ad2953d8048dc9b5ef8feffecd2d0d7c7848b24c57dc81eb6e2ee95402964a92d10a878ee9272d066f00ca66f53065e354f0f703c599f6bcd86eae5a93a83d4e1d6be1307720513b43abe5099159db04c0a9cf703db3b659d789a272269ede5e6c3e8718caa7a4ebd0dee862011194372d01c86d98fb935a2942496ad7359c430cdecffce536361183b9beb06aae4f8c69c71e89bf5652ad4cebb59c08668af6f8b4d5617971ec9a1c08d5bd21817198b57409ccfe66d650537f4717edf5faf3e67e1455fe7d1abc2171e60f40d86137a071fcdc99f61131ac35d5c2b45ecb093d9a2cf5590f6386a7325cbb9524c0634a11c6e3f683335eb11a274a8c53afd181d41d4049f2c75be8cc1f80968b29eeb859cbbb32edc348b90d4dc3a6f22e8ebb0b99d68d411597684ca058deab21db3ef8fdc8acb1993636efa11d03c6e625181cfc5d828e7b461ccab58cb1cb91938707ebbde0323aa4e14cd908804d465be11d6fdaf4bb645a91ef42f8e3f25a37369f93665aaea3c84c14997ae1fca5a196b1aae61ebc91036fed41e79cbf44c48fd3e6c18d1284af0254d4a4036501baecc1690b8c76cb62bf924a00add8f385a7b06b995626eeedf8668fe5409c7e80cbb4b57d472236cf8ea3c3452bf3185a04fd79f7fa6d3358c790e5c5c1603a07bac89f79d24ecb9b91160d1dbe6a3f5b667594ddc5b47c4dcbc2c88cd8d9342f4cfb28342d0f336b9bd2670d030931cdefb8daad38d8d89ce30c71d3a64ca72df2ebb3b52fb92ade4d9a36500452c63366d01cddb87f393c2570a202fc7eec0a4dcb409953dd2d0508c7d1b9cc547558bee67d284c6bd1d4d67cfef3ee8eb79b342d8f39d41d20ac56f3b9adb2076f3c069a56b03c0b5b2e8a6ff027105178ca3ea3008044ce8c099cc6653aad0bd3f25015e8d86ed1b442a788c178c2940c8e0e80152f3531da2ed3b4baddb2670e453f8955fbc985671708ef74926cf2bacb2bf39bbbd4f9931f399e5c387e0ee0952ffefe3e35974f75ca9c7cd0d1373c0d637db157f274fad59f55eaebba9cc1cdff76123db842ca4f7ba8b757ec4cdbfe8fafd0d603f171981832ef6f65dd3fe133751cbc0320cea8d7693ff3fd1d60ef53445efdc9bfe70add7ddf79bf74c5835b58ab7901f49abc30add0ee2e2267a61598c9f5d2b4a2f67a612663f91ce72c9e54fb0c6c1963dbc3d5b06b80931f05c6b57b1f9bd7c259bcfae9dc34729b96278ef1feeaff98bc5d14d21e6e510661a7956c47464bb9d51381cbde01a70921a16995a4fc073444bea8ced2e6bc78bb57891099617f118819ed801657758a0af0e2d2a38b056e94c11f0746170bb672641e700f5f82f1b243d1c3f710944d7107f0f2c4709af129c3c982ba6b5aa6c3b88f8f0c532b7a1cdd6575aeef8ee3312053733ae4177db2a104041c9ebcbafd664d4bdebf30a36b1c9924fb3d04ffbe1ecaf7896b51274deb15750de9a6698ddf8f10d6b40c4cde2ee0d7d7f8a7984d9ad670ff5aff789dfe7def30b79cf2ec02ed7fbb93025fe7895e3948f4659ed2ff39485bf7d2b4ecb0c6509e4d53fa9dae8ad6bcbf039c798a88a57945b5a91517005c12a8cf75352b8243e99c14d10a45250c28f5e688cae1a13a31ad75156ed4ac4c26318cdfe00d39bb591a91c54081f139c77a276f03d6dd685eb1a8b2e3b24ebbbbf46d8c9efaedf0c4d0c79b59300249cd795e3b81209264bf9e28fac6c88ad67daf5e9137b06ed7ebfa3724ac7649949bbc5d30ed4fe569dfc0f81c94a4f6a2a3b21fd7c1f1266f6bfb68fde7b5f2cae50cc26a9df6f142d3b24ab2fa373e5a2ea62a7f9b83ab6d9c3406130bdab7bb9c92ecf70fbc6ac2067ebfd191a9bcfcad05de61c74052ee9dbcd0abcd063e91e89a4145fdb4a1287a95040d7c32502c23aadac54b7c5514fd714d83ed868169e0ee45f1026531ffb01856d904f70d48031b6844e90299b54dc73341b2585378a4814f247aaf005a1cd2cb9e05fdec4f83591be805eb531180c9db5a5c2f3c95b19d830fabd54d128dbf81dbc05af1ff246a91a21391b6b20000000049454e44ae426082</data> </image> </images> <connections> diff --git a/src/configurationpanel.ui.h b/src/configurationpanel.ui.h index f300d7b43150f91dfe9e2ac449f5d426f547157e..2e82b7575caede234eacd4df448190f7425f6e8c 100644 --- a/src/configurationpanel.ui.h +++ b/src/configurationpanel.ui.h @@ -38,8 +38,22 @@ void ConfigurationPanel::init() SkinChoice->insertItem(list[i]); } } - - + + // List ring choice from "rings" directory + QDir ringdir(Skin::getPath(QString(RINGDIR))); + if ( !ringdir.exists() ) { + printf ("Cannot find rings directory\n"); + } + ringdir.setFilter( QDir::Files | QDir::NoSymLinks); + ringdir.setSorting( QDir::Name ); + + QStringList ringlist; + ringlist = ringdir.entryList(); + for (unsigned int i = 0; i < ringdir.count(); i++) { + if (ringlist[i] != "." && ringlist[i] != ".." && ringlist[i] != "CVS") { + ringsChoice->insertItem(ringlist[i]); + } + } // For signalisations tab fullName->setText(QString(Config::getchar("Signalisations", "SIP.fullName", ""))); userPart->setText(QString(Config::getchar("Signalisations", "SIP.userPart", ""))); @@ -61,6 +75,8 @@ void ConfigurationPanel::init() codec3->setCurrentText(QString(Config::getchar("Audio", "Codecs.codec3", "G711u"))); codec4->setCurrentText(QString(Config::getchar("Audio", "Codecs.codec4", "G711u"))); codec5->setCurrentText(QString(Config::getchar("Audio", "Codecs.codec5", "G711u"))); + ringsChoice->setCurrentText(QString(Config::getchar( + "Audio", "Rings.ringChoice", "konga.ul"))); // For preferences tab SkinChoice->setCurrentText(QString(Config::getchar( @@ -125,6 +141,7 @@ void ConfigurationPanel::saveSlot() Config::set("Audio", "Codecs.codec3", codec3->currentText()); Config::set("Audio", "Codecs.codec4", codec4->currentText()); Config::set("Audio", "Codecs.codec5", codec5->currentText()); + Config::set("Audio", "Rings.ringChoice", ringsChoice->currentText()); Config::set("Preferences", "Themes.skinChoice", SkinChoice->currentText()); Config::set("Preferences", "Options.zoneToneChoice", diff --git a/src/configurationpanelui.cpp b/src/configurationpanelui.cpp index df9edd26809696c26031ff7070f2ae0d0aa8d763..aafccf5a27a4de7ff608668179c8b9b4e0360ef6 100644 --- a/src/configurationpanelui.cpp +++ b/src/configurationpanelui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'configurationpanel.ui' ** -** Created: Fri Jan 28 18:58:55 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! @@ -33,312 +33,305 @@ static const unsigned char image0_data[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x30, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x0e, - 0x34, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x4d, 0x6c, 0x1b, - 0xc7, 0x19, 0xfd, 0x08, 0xf8, 0xa0, 0x04, 0x46, 0x40, 0x07, 0x3d, 0x58, - 0x41, 0x50, 0x48, 0x41, 0x13, 0x80, 0x2a, 0x10, 0x84, 0xaa, 0x72, 0xa0, - 0xda, 0x04, 0x5e, 0x21, 0x97, 0x50, 0x72, 0x90, 0x50, 0xc9, 0xc1, 0x52, - 0x9b, 0x03, 0x65, 0xb9, 0xb0, 0x94, 0x5e, 0x22, 0xbb, 0x17, 0xff, 0x04, - 0x0e, 0xe3, 0x83, 0x23, 0x33, 0x85, 0x5b, 0x29, 0x85, 0x52, 0xd1, 0x80, - 0x51, 0x31, 0x01, 0x04, 0xd9, 0x07, 0x99, 0x56, 0x01, 0xa3, 0xa2, 0x03, - 0x06, 0x54, 0x00, 0xb9, 0xa4, 0x0a, 0x15, 0x94, 0x0b, 0x06, 0x90, 0x0a, - 0xb5, 0x58, 0x05, 0x42, 0x41, 0x0b, 0xac, 0x41, 0x0b, 0x82, 0x81, 0xd7, - 0xc3, 0x72, 0xa9, 0xdd, 0xe5, 0xcc, 0xee, 0xcc, 0x92, 0x4e, 0xe4, 0x98, - 0x73, 0x79, 0x36, 0x77, 0x67, 0xe6, 0x9b, 0xd9, 0x6f, 0xde, 0xbe, 0xf9, - 0x76, 0x66, 0x44, 0x20, 0xa2, 0x49, 0x22, 0xaa, 0x1b, 0x02, 0xc0, 0x3a, - 0x00, 0x00, 0xe9, 0x32, 0x62, 0x07, 0xa8, 0x7b, 0x3d, 0x0d, 0x7c, 0x6c, - 0xb1, 0x66, 0x07, 0x4d, 0xe4, 0x55, 0x14, 0x4a, 0x80, 0x7f, 0x62, 0x1e, - 0x74, 0x1e, 0xa0, 0x73, 0x33, 0x5c, 0x54, 0xe2, 0xc0, 0xc8, 0xcd, 0x1c, - 0x00, 0xe0, 0xfb, 0x6e, 0x78, 0x03, 0x1f, 0x5d, 0x74, 0x95, 0x31, 0xb7, - 0x09, 0xac, 0x16, 0x01, 0x6f, 0x34, 0x01, 0x4a, 0x01, 0x74, 0x7e, 0x46, - 0x1a, 0xbd, 0x8b, 0x40, 0x78, 0x16, 0x0d, 0x07, 0x6e, 0xa0, 0x34, 0xca, - 0x65, 0x00, 0xa0, 0x5c, 0x71, 0x66, 0x54, 0x59, 0x54, 0xe2, 0x80, 0x5a, - 0x2c, 0x35, 0x24, 0x44, 0x03, 0x85, 0x50, 0xe8, 0x46, 0xec, 0x00, 0x85, - 0x1d, 0x77, 0x8c, 0x2a, 0x83, 0x91, 0x54, 0xae, 0xe1, 0xb8, 0x0d, 0x74, - 0x44, 0xc7, 0x1b, 0x72, 0x9b, 0x25, 0xf8, 0x63, 0xf5, 0x65, 0x56, 0x3b, - 0xf4, 0x4f, 0xcc, 0x37, 0x24, 0x43, 0x03, 0x6d, 0xd1, 0xf6, 0x06, 0x6c, - 0x02, 0xde, 0xc5, 0x87, 0xcf, 0xb0, 0x56, 0xf4, 0x46, 0x13, 0x0d, 0xc7, - 0x6d, 0x20, 0x17, 0xb9, 0x17, 0x72, 0x9b, 0x25, 0x78, 0xa3, 0x2e, 0x18, - 0x73, 0x3c, 0x01, 0x8a, 0x01, 0x34, 0x31, 0x0f, 0x8a, 0x01, 0xc1, 0x6b, - 0x19, 0x00, 0xc0, 0xcc, 0x8a, 0x8a, 0xd2, 0x8e, 0x78, 0x39, 0xde, 0x0b, - 0x33, 0xb5, 0x3b, 0x2e, 0x80, 0xb1, 0x89, 0x49, 0x84, 0x8f, 0x0f, 0x21, - 0x3c, 0x38, 0x54, 0xc6, 0x30, 0xc2, 0xc7, 0x87, 0x30, 0x1a, 0x1d, 0x05, - 0x8a, 0x80, 0xaa, 0xaa, 0x8f, 0x8e, 0x24, 0x01, 0x90, 0x98, 0xad, 0xef, - 0x80, 0x2e, 0x15, 0x4b, 0x18, 0x8d, 0x02, 0xe1, 0xc1, 0x21, 0x04, 0x0e, - 0x29, 0x08, 0x0f, 0x86, 0x81, 0xa2, 0xcb, 0xf2, 0x1f, 0x82, 0x7d, 0x2c, - 0xac, 0x0f, 0xc3, 0x5e, 0xd0, 0x0c, 0x45, 0x11, 0xb6, 0x29, 0xbd, 0x8a, - 0xef, 0x84, 0x71, 0x51, 0x02, 0x90, 0x04, 0x7c, 0x1d, 0x7e, 0xcc, 0x74, - 0x24, 0xe0, 0xeb, 0xf0, 0xc3, 0xdf, 0x11, 0xe0, 0xfe, 0xff, 0xd4, 0xb9, - 0xc8, 0x23, 0xc1, 0xec, 0xa7, 0xce, 0x45, 0x2a, 0xf6, 0xd7, 0xcb, 0x5e, - 0x35, 0xae, 0x56, 0xf5, 0xc7, 0xc8, 0xc9, 0x11, 0x57, 0x03, 0xf9, 0x61, - 0xd8, 0x27, 0xc4, 0xb4, 0xa5, 0x1d, 0x48, 0x33, 0xac, 0x48, 0x0a, 0xcf, - 0x65, 0x5c, 0x69, 0x5c, 0x37, 0x8c, 0x1b, 0x3e, 0x3e, 0x64, 0x7a, 0x10, - 0xc1, 0x9e, 0x10, 0xc6, 0x26, 0x26, 0x01, 0x00, 0x53, 0xf1, 0x19, 0x20, - 0x0a, 0x28, 0x3d, 0xc1, 0xca, 0x75, 0x7f, 0x47, 0x00, 0x99, 0x6c, 0x66, - 0xef, 0x33, 0xae, 0x6e, 0x7f, 0xbd, 0x1c, 0x02, 0x30, 0xf5, 0x93, 0xbf, - 0x23, 0x80, 0xf0, 0xe0, 0x90, 0xfb, 0xf2, 0xeb, 0x6d, 0x1f, 0x07, 0xab, - 0x7e, 0x50, 0xd6, 0x25, 0x35, 0xe8, 0xb2, 0xb3, 0xc3, 0x06, 0xa6, 0xd3, - 0x35, 0x69, 0x5c, 0xe5, 0x4a, 0x5a, 0xdc, 0xa1, 0x60, 0x66, 0xd8, 0xc2, - 0x6c, 0x89, 0xdb, 0x81, 0xc8, 0x03, 0x50, 0x81, 0xc4, 0x5c, 0xc2, 0xb6, - 0x7c, 0xe4, 0x51, 0xfb, 0x83, 0x70, 0xca, 0x5f, 0x43, 0xf9, 0x50, 0x5d, - 0xd8, 0x07, 0x20, 0x70, 0x48, 0xa9, 0x7a, 0x03, 0x21, 0xcb, 0x2f, 0x07, - 0x79, 0xb8, 0x1a, 0xd8, 0xb2, 0xf6, 0x39, 0xdd, 0xef, 0x99, 0x24, 0xa2, - 0x01, 0x22, 0x8a, 0x11, 0xd1, 0x00, 0x00, 0xcf, 0x87, 0x57, 0x89, 0xf6, - 0xf5, 0x12, 0x3d, 0x10, 0xc3, 0xb0, 0x3f, 0x4b, 0xb1, 0xd7, 0xdb, 0x89, - 0x97, 0x06, 0xfe, 0x92, 0xa5, 0xcb, 0x4b, 0xed, 0xc2, 0xe5, 0xf1, 0x70, - 0xea, 0xf0, 0x06, 0xf5, 0xbf, 0xf8, 0x8c, 0x27, 0x66, 0xb4, 0x97, 0x81, - 0xd9, 0x6c, 0x06, 0x47, 0x8f, 0xbd, 0x47, 0xdb, 0xb4, 0x4d, 0x4d, 0xd4, - 0x44, 0x01, 0xa5, 0x93, 0xc6, 0x47, 0xa3, 0x8e, 0xf9, 0x4c, 0x08, 0xa0, - 0xb7, 0xaf, 0x9f, 0xd6, 0xbe, 0x59, 0xab, 0x94, 0x63, 0xc4, 0xa0, 0x12, - 0xa4, 0xe1, 0xc1, 0x01, 0x6a, 0x7d, 0xe1, 0x39, 0x4f, 0xe7, 0x21, 0x05, - 0xdb, 0xf7, 0xb6, 0xa9, 0x69, 0x7f, 0x13, 0x2d, 0xdc, 0x4a, 0x52, 0xcc, - 0xe3, 0xf1, 0x18, 0xcb, 0x4b, 0xa6, 0xd2, 0x38, 0x7d, 0xf6, 0x34, 0x6d, - 0xdd, 0xdb, 0x22, 0xbf, 0xcf, 0x47, 0x5d, 0x7f, 0xfe, 0xdc, 0xa3, 0xdb, - 0xd9, 0xfa, 0x85, 0x8f, 0xba, 0x6f, 0x77, 0xd3, 0xf6, 0xbd, 0x6d, 0x53, - 0xf9, 0x7e, 0x9f, 0x8f, 0xfc, 0x2f, 0xf9, 0xe9, 0xc4, 0xfb, 0x27, 0xcc, - 0xe5, 0x45, 0x81, 0xb6, 0x2f, 0xda, 0xa9, 0x89, 0x9a, 0xe8, 0xe2, 0x27, - 0x17, 0xa9, 0xeb, 0xd5, 0x9f, 0x7b, 0xc6, 0x27, 0x26, 0x11, 0xfb, 0x53, - 0xac, 0x92, 0xdf, 0x7b, 0xf0, 0x00, 0x6d, 0x7d, 0x7b, 0x97, 0xb6, 0x69, - 0x9b, 0x56, 0x66, 0xb3, 0x14, 0x7b, 0xc6, 0x6c, 0x8f, 0x8e, 0xba, 0xdd, - 0xac, 0xf6, 0xad, 0x24, 0xb3, 0x14, 0x7b, 0xca, 0xe3, 0x19, 0x28, 0x02, - 0x5d, 0x7d, 0xdd, 0x95, 0xf2, 0x8c, 0xf7, 0x35, 0xed, 0x6f, 0xa2, 0x05, - 0x25, 0x49, 0x1b, 0x83, 0x1b, 0xd4, 0xfc, 0x4c, 0xf9, 0xb9, 0x08, 0xd8, - 0xd7, 0xb4, 0xbf, 0xa9, 0xd2, 0xde, 0x8a, 0x7d, 0x00, 0xc6, 0x3f, 0x8b, - 0xd1, 0xdc, 0xf5, 0x39, 0x5a, 0xfb, 0x76, 0xcd, 0x54, 0x8f, 0xf7, 0xe0, - 0x01, 0x4a, 0xbe, 0x75, 0x83, 0xee, 0xbf, 0x73, 0x9f, 0x9e, 0x78, 0xea, - 0x49, 0x4f, 0x8c, 0x2c, 0x23, 0xcf, 0xcd, 0x17, 0x2e, 0xb5, 0xc4, 0x67, - 0x58, 0x59, 0x0d, 0xeb, 0xf4, 0x05, 0x4d, 0x68, 0x0d, 0x83, 0xe5, 0x95, - 0x37, 0xd3, 0x91, 0x40, 0xb0, 0x27, 0x04, 0x64, 0x81, 0x74, 0x2a, 0x2d, - 0x34, 0xe2, 0xf5, 0xfc, 0x81, 0x43, 0x8a, 0xa6, 0xd3, 0xcb, 0x4c, 0x3b, - 0x72, 0x72, 0xa4, 0xc2, 0x48, 0x81, 0xd7, 0x14, 0xa0, 0x04, 0xcc, 0xbf, - 0x96, 0xae, 0xd4, 0x17, 0xec, 0x09, 0x56, 0xd9, 0x97, 0x7e, 0x33, 0x53, - 0x75, 0x7d, 0x34, 0x3a, 0x56, 0x65, 0xdf, 0x6a, 0x5c, 0x45, 0xf8, 0xf8, - 0x90, 0xa9, 0x3c, 0x5f, 0x87, 0xdf, 0x34, 0x29, 0x32, 0x31, 0x62, 0x5e, - 0xfb, 0x9d, 0xa5, 0x49, 0xf5, 0xff, 0x9f, 0x3a, 0x17, 0xe1, 0xf7, 0x97, - 0xca, 0xd6, 0xfc, 0x85, 0xd9, 0x12, 0x50, 0xd2, 0xfa, 0xd9, 0xd4, 0x7f, - 0x45, 0x68, 0x12, 0xaa, 0xdc, 0x0f, 0xfa, 0xfd, 0xe9, 0x37, 0x33, 0xb5, - 0xd9, 0x67, 0x61, 0xfc, 0xf4, 0x9b, 0x19, 0xed, 0xf7, 0x2c, 0x10, 0x3a, - 0xd2, 0x67, 0xee, 0xef, 0x32, 0xd3, 0x57, 0x98, 0x76, 0x60, 0x36, 0x83, - 0xcb, 0xff, 0x70, 0xc1, 0x88, 0x3f, 0x4a, 0x12, 0x8e, 0x75, 0x31, 0x59, - 0x76, 0xf8, 0x7f, 0x44, 0x9f, 0xfe, 0xae, 0x36, 0x86, 0x35, 0x62, 0xe4, - 0x6c, 0x2f, 0x35, 0x7b, 0xd8, 0xcc, 0x61, 0xc2, 0x22, 0xd0, 0xd6, 0xd5, - 0x5e, 0xc5, 0x20, 0x56, 0xa6, 0xf0, 0xf9, 0x7c, 0xd4, 0xf5, 0x8b, 0x2e, - 0xea, 0xef, 0xeb, 0x35, 0x33, 0x1a, 0x80, 0xec, 0x52, 0x96, 0xda, 0xdb, - 0x7f, 0x56, 0xc5, 0xd0, 0x6d, 0x1d, 0x7e, 0x54, 0x18, 0xe9, 0x76, 0x96, - 0xc6, 0x3f, 0x8b, 0x91, 0x91, 0x49, 0x6e, 0xcc, 0x5e, 0xdd, 0x65, 0x1e, - 0x00, 0x6d, 0x2f, 0xb7, 0x9b, 0x18, 0xec, 0xc6, 0x97, 0x37, 0xe8, 0xcc, - 0x87, 0xe7, 0x69, 0x9b, 0xb6, 0xc9, 0xbb, 0xdf, 0x4b, 0xc3, 0x83, 0xc3, - 0xd4, 0xdf, 0xff, 0xb6, 0xb9, 0x1e, 0x15, 0x68, 0x7b, 0xc3, 0x90, 0xef, - 0x76, 0x96, 0x62, 0x1e, 0x8f, 0x67, 0xbc, 0x23, 0x00, 0xbd, 0x9e, 0x81, - 0xc1, 0x01, 0x1a, 0xfe, 0xf5, 0x51, 0xcf, 0xc0, 0xe0, 0x10, 0x96, 0x96, - 0x96, 0xaa, 0x98, 0xba, 0xef, 0x9d, 0x3e, 0xea, 0x7e, 0xa3, 0xc7, 0x13, - 0x8f, 0xcf, 0x20, 0xf8, 0xf7, 0x20, 0x9d, 0xd8, 0x7a, 0x8f, 0x68, 0x5f, - 0x13, 0xb5, 0xbf, 0xd4, 0x4e, 0xc3, 0xc7, 0x06, 0xb4, 0xf6, 0x5a, 0xea, - 0x09, 0x1d, 0x0e, 0x51, 0xeb, 0x07, 0x67, 0x9c, 0xfb, 0xc1, 0xda, 0x2e, - 0xb7, 0xf6, 0x1d, 0xee, 0xa6, 0x81, 0x63, 0xc3, 0xa4, 0x5f, 0x0f, 0x2a, - 0x41, 0xf2, 0x8d, 0x9e, 0x37, 0x3d, 0xdf, 0xd3, 0xe7, 0x22, 0x98, 0xbb, - 0x3e, 0x47, 0xdb, 0xb4, 0x4d, 0x81, 0x97, 0x03, 0xd4, 0xf9, 0xc7, 0x4f, - 0x3d, 0x9a, 0x86, 0xd8, 0xa9, 0x2d, 0x1e, 0x9b, 0xdb, 0xe4, 0x50, 0xed, - 0x66, 0xfd, 0x98, 0x56, 0x3a, 0x9a, 0x00, 0x60, 0x34, 0x3a, 0x86, 0xdc, - 0xc4, 0xaa, 0x50, 0x14, 0x41, 0x67, 0x06, 0x56, 0x79, 0x99, 0x6c, 0x06, - 0x50, 0x81, 0x60, 0x4f, 0xc8, 0x94, 0x1f, 0x59, 0x54, 0x98, 0xc2, 0xca, - 0x30, 0x20, 0x6d, 0x36, 0x6d, 0x65, 0x24, 0x9d, 0x79, 0x67, 0x3a, 0x12, - 0x98, 0x9a, 0x9e, 0xe1, 0x33, 0x61, 0x72, 0xf7, 0x8d, 0xa1, 0xcf, 0xe6, - 0x59, 0xf6, 0xae, 0x96, 0x99, 0x8c, 0x55, 0xff, 0x24, 0x11, 0xb1, 0xda, - 0xab, 0xd7, 0x8b, 0x2c, 0xaa, 0xdb, 0x63, 0xd3, 0xaf, 0xc8, 0xa2, 0xdc, - 0x0f, 0x41, 0x53, 0x79, 0xfa, 0x24, 0x56, 0xd6, 0x3e, 0xe4, 0xcd, 0xf5, - 0x87, 0x8e, 0xf4, 0x01, 0xd8, 0x65, 0x74, 0xa4, 0x50, 0xf5, 0xfc, 0x00, - 0x40, 0x63, 0x5a, 0x17, 0x5a, 0xd6, 0x88, 0x81, 0xc1, 0x5e, 0x5a, 0x68, - 0x66, 0x92, 0x2d, 0x5d, 0xfc, 0x7a, 0x8d, 0x4e, 0xde, 0x6a, 0xad, 0x0b, - 0xd3, 0x6a, 0xda, 0x76, 0x8d, 0xfa, 0x5f, 0x7c, 0x4e, 0x4e, 0xa3, 0x12, - 0xd1, 0x86, 0xaa, 0xa2, 0xb9, 0xb9, 0x99, 0x92, 0x5f, 0x2d, 0x50, 0xd7, - 0x37, 0x9d, 0xd4, 0xfb, 0xd7, 0x6a, 0xcd, 0xaa, 0x33, 0xc6, 0x40, 0x11, - 0x18, 0x8e, 0x9c, 0xa0, 0xa5, 0xdb, 0x59, 0xda, 0xba, 0xb7, 0xc5, 0x65, - 0x6c, 0xfd, 0xfe, 0xbb, 0x51, 0xe0, 0x72, 0x59, 0xcb, 0xe9, 0xda, 0x76, - 0xed, 0x9b, 0x35, 0xea, 0x3f, 0x36, 0x50, 0xc9, 0x1f, 0x39, 0x7b, 0x8a, - 0xba, 0xdf, 0xe8, 0xf1, 0x58, 0x99, 0xda, 0xaa, 0x81, 0x8d, 0x5a, 0xf8, - 0xc4, 0xfb, 0x27, 0x2a, 0x8c, 0x3c, 0xf0, 0xe5, 0x2d, 0x0e, 0x93, 0x85, - 0xb1, 0xb4, 0x74, 0xa7, 0x62, 0xd7, 0xf0, 0xdf, 0xbe, 0xae, 0x62, 0xaa, - 0x8d, 0x6f, 0x37, 0x88, 0x1e, 0x10, 0xd1, 0x3e, 0xa2, 0xa6, 0xfd, 0x4f, - 0xd0, 0xf8, 0xc7, 0x17, 0xb5, 0x7a, 0x39, 0x8c, 0x69, 0x7c, 0x63, 0xc9, - 0xf4, 0x83, 0xb4, 0x7d, 0x96, 0xfa, 0x9d, 0xd0, 0xbb, 0xdf, 0x4b, 0xf3, - 0xb3, 0x37, 0x34, 0x8f, 0xf7, 0x4f, 0xd4, 0xce, 0x88, 0x76, 0x69, 0x74, - 0xa1, 0x7e, 0x8c, 0x3b, 0x63, 0xc3, 0x88, 0xb2, 0x98, 0x98, 0x4b, 0x98, - 0x18, 0x63, 0x72, 0x62, 0x12, 0x46, 0x86, 0x0b, 0x1c, 0x52, 0x00, 0x55, - 0x63, 0x17, 0x00, 0x98, 0x9a, 0x9e, 0x61, 0x32, 0x0c, 0x54, 0x70, 0x19, - 0xbc, 0xa2, 0x09, 0xcb, 0xf5, 0xb2, 0xf2, 0x33, 0xed, 0x2b, 0xa2, 0x2a, - 0xbf, 0x88, 0x66, 0x94, 0x69, 0x7f, 0x26, 0x9b, 0x61, 0xb6, 0xc7, 0xca, - 0x90, 0xba, 0xa6, 0x35, 0xf6, 0x03, 0x8b, 0xa1, 0x65, 0xed, 0xb3, 0xd6, - 0x2f, 0x1a, 0x2f, 0xf7, 0xa8, 0xc5, 0x12, 0x9e, 0xf9, 0xc3, 0x13, 0x35, - 0x33, 0xe0, 0xcc, 0x5b, 0x1b, 0xd4, 0xeb, 0xe3, 0xd0, 0x2d, 0x11, 0x5d, - 0xbd, 0xb3, 0x41, 0x6f, 0x5f, 0x6f, 0x26, 0xda, 0xae, 0x9d, 0x71, 0x71, - 0xb6, 0x97, 0xcb, 0x50, 0x26, 0x2d, 0xe6, 0x6f, 0x77, 0xbc, 0xcf, 0x38, - 0xd2, 0xc3, 0x47, 0xb2, 0x64, 0x65, 0x4c, 0x6b, 0xfe, 0xae, 0x9e, 0x20, - 0x2a, 0xb3, 0x73, 0x03, 0x33, 0x19, 0xb5, 0x57, 0x15, 0x13, 0x1d, 0xcf, - 0x52, 0x6c, 0x40, 0xbb, 0xcf, 0xa8, 0xf1, 0x58, 0x1a, 0x4e, 0xc7, 0xde, - 0x23, 0x7d, 0xd0, 0xdf, 0x04, 0x2b, 0x87, 0xb3, 0x14, 0xfb, 0x40, 0x4c, - 0x33, 0x5a, 0x99, 0xd6, 0x29, 0x4a, 0xc2, 0x64, 0x5a, 0xc3, 0xef, 0xcc, - 0x7e, 0xa8, 0x41, 0xd3, 0xda, 0x31, 0xad, 0xdd, 0x9b, 0x67, 0x43, 0x55, - 0xa1, 0xcf, 0x15, 0x08, 0xa8, 0x03, 0x03, 0x8e, 0xcf, 0xdb, 0x32, 0x6d, - 0x25, 0x15, 0x01, 0xb5, 0x54, 0x7b, 0x7d, 0x53, 0xcb, 0x36, 0xda, 0x0b, - 0xd5, 0x71, 0xda, 0xa9, 0xe9, 0xf2, 0x9b, 0xa0, 0x1c, 0xe9, 0x48, 0xa7, - 0xd2, 0x26, 0x46, 0xd5, 0x35, 0x27, 0x52, 0x36, 0x1a, 0x0f, 0xe6, 0x59, - 0x33, 0xeb, 0x3a, 0x4b, 0x33, 0xeb, 0x51, 0x06, 0x3b, 0xfb, 0x4c, 0xf1, - 0x4f, 0x30, 0x66, 0xcd, 0xea, 0x2e, 0x93, 0x39, 0x6a, 0x46, 0x09, 0xa6, - 0xe5, 0x69, 0x5a, 0xe3, 0x1b, 0x28, 0xf0, 0x9a, 0x62, 0x7e, 0x23, 0x58, - 0xec, 0x93, 0xd6, 0xb4, 0x56, 0x3b, 0xb2, 0xbb, 0xfd, 0xa1, 0x47, 0x6b, - 0x2a, 0xf6, 0x95, 0x00, 0xe4, 0x77, 0xe7, 0x0c, 0x95, 0xe8, 0x41, 0xd8, - 0x6d, 0xd4, 0x40, 0x47, 0xef, 0x0d, 0xc2, 0x50, 0x37, 0x97, 0x61, 0x79, - 0xc9, 0xf3, 0x59, 0x92, 0xe8, 0xbf, 0x5d, 0xae, 0xea, 0x1d, 0x39, 0xd9, - 0x4b, 0xbe, 0x27, 0xd9, 0x23, 0xf2, 0x7e, 0xb1, 0x84, 0xa3, 0xc3, 0x47, - 0x69, 0xe9, 0xce, 0x1d, 0x61, 0xad, 0xe4, 0xf7, 0xf9, 0xe8, 0xa3, 0x33, - 0x1f, 0x51, 0xeb, 0xf3, 0xad, 0x64, 0x8d, 0xcf, 0x7a, 0x0f, 0x1e, 0xa0, - 0xed, 0x7b, 0xf7, 0x99, 0x9a, 0xae, 0x8a, 0x19, 0xce, 0x01, 0x6d, 0xd7, - 0xcd, 0x1a, 0x4d, 0x67, 0x1c, 0x2b, 0xc3, 0x75, 0x1d, 0x66, 0xc7, 0x3f, - 0x8d, 0xd8, 0x7a, 0xb0, 0x95, 0xc6, 0x3e, 0xb9, 0x48, 0xad, 0x2f, 0x68, - 0x1a, 0x3e, 0x76, 0x48, 0x81, 0x6e, 0x07, 0x4b, 0x33, 0xb6, 0x1e, 0x6c, - 0xa5, 0x50, 0xe2, 0x5a, 0x5d, 0x98, 0xb6, 0x53, 0xe9, 0x32, 0xc5, 0x8f, - 0x45, 0xfa, 0xe1, 0x5a, 0x4f, 0x08, 0x7a, 0x9c, 0x95, 0x65, 0x9f, 0xae, - 0xcd, 0xad, 0x76, 0x18, 0xe7, 0x04, 0xbc, 0xfe, 0x68, 0x7d, 0xbe, 0x95, - 0xae, 0x7e, 0x1e, 0xa7, 0x98, 0xc7, 0xe3, 0xa1, 0x79, 0xd9, 0x2f, 0x60, - 0x06, 0x0c, 0x95, 0x17, 0xc3, 0xb8, 0x4d, 0xa7, 0x92, 0x39, 0x97, 0x5f, - 0xc8, 0x6c, 0x98, 0xd6, 0xc0, 0x08, 0xa3, 0xd1, 0x51, 0xf0, 0xe2, 0x84, - 0xb9, 0x89, 0x55, 0x4d, 0x43, 0x59, 0x17, 0x87, 0x40, 0xd3, 0x6c, 0x7a, - 0xdc, 0x54, 0x8d, 0xab, 0xda, 0xec, 0x5d, 0x2d, 0xcf, 0x6a, 0xf3, 0xd0, - 0xb4, 0xaf, 0x0a, 0x33, 0x83, 0xea, 0xcc, 0x90, 0x04, 0xc2, 0xc7, 0x87, - 0xb0, 0x1a, 0x57, 0xb5, 0x45, 0x39, 0x36, 0x76, 0x26, 0xe6, 0x12, 0xa6, - 0xfb, 0xf5, 0xfa, 0x46, 0xa3, 0x63, 0x00, 0xaa, 0xb5, 0x5d, 0x62, 0x2e, - 0xb1, 0x6b, 0x8f, 0x7e, 0x1d, 0xbb, 0xf9, 0xd3, 0x29, 0x89, 0x2f, 0x87, - 0x86, 0xf6, 0xea, 0xed, 0x61, 0xfd, 0xae, 0x96, 0xed, 0x5a, 0x8d, 0xab, - 0x5a, 0x7f, 0xa9, 0xd0, 0x18, 0x39, 0x5f, 0x9d, 0xcf, 0xc9, 0x3e, 0xdb, - 0x2f, 0x8f, 0x8c, 0xfa, 0xc2, 0xc7, 0x87, 0x80, 0x24, 0x80, 0x94, 0xb9, - 0x9f, 0xc9, 0xd5, 0xba, 0xd7, 0x4b, 0xda, 0xaa, 0xad, 0x7a, 0xa4, 0xf4, - 0x6a, 0x01, 0x34, 0x2e, 0x57, 0xbf, 0x37, 0xba, 0xf7, 0x17, 0xb7, 0x34, - 0xf0, 0xe1, 0x21, 0xc9, 0x32, 0x5d, 0xa6, 0x00, 0xc7, 0xd5, 0x5c, 0xd2, - 0xa9, 0x08, 0x24, 0x54, 0xc9, 0x68, 0x85, 0x4d, 0xc3, 0xb0, 0xa3, 0x15, - 0x3b, 0x72, 0x13, 0x50, 0xd6, 0x77, 0x37, 0x53, 0x36, 0x76, 0x05, 0xff, - 0x30, 0x50, 0x9c, 0x69, 0x2f, 0x88, 0xad, 0xe6, 0xaa, 0x25, 0xc9, 0xac, - 0xb7, 0xb5, 0x6b, 0x58, 0x0b, 0x87, 0xb9, 0xfd, 0xb1, 0xda, 0x19, 0xba, - 0x54, 0x1e, 0x10, 0xe9, 0xf5, 0x02, 0x00, 0x4e, 0x79, 0x86, 0xeb, 0xe9, - 0xf5, 0x42, 0x5d, 0x07, 0x4a, 0x89, 0x33, 0xf0, 0xf4, 0xfa, 0x22, 0xa9, - 0x1c, 0x22, 0xd0, 0x76, 0x49, 0xd7, 0xa3, 0xbe, 0xb1, 0xc5, 0x55, 0x84, - 0x8b, 0xe5, 0x45, 0x4b, 0x00, 0x72, 0x9b, 0xe6, 0xf6, 0x24, 0xf2, 0x2a, - 0x94, 0xb8, 0x76, 0x5d, 0xc3, 0x79, 0x44, 0xe0, 0x7e, 0xcf, 0x5f, 0x6e, - 0xb3, 0x80, 0x08, 0xcc, 0xe5, 0x85, 0x36, 0xcd, 0xe5, 0x89, 0x31, 0xed, - 0xf8, 0x43, 0xf7, 0x57, 0x53, 0xaa, 0x95, 0x69, 0xdd, 0xe6, 0x13, 0xc1, - 0x99, 0x7c, 0x75, 0x7c, 0xda, 0xea, 0xb0, 0xac, 0x7a, 0x0b, 0x3b, 0xb5, - 0xaf, 0x12, 0xd3, 0xd7, 0x86, 0xf8, 0x27, 0xcc, 0x8e, 0x8b, 0x22, 0x98, - 0xed, 0x4d, 0xaf, 0xb3, 0x1d, 0x5c, 0xdc, 0x61, 0xab, 0xcb, 0xf5, 0x2e, - 0x9a, 0xdb, 0x91, 0xd9, 0xe4, 0x3f, 0xa7, 0x91, 0x9b, 0x12, 0x7b, 0xfe, - 0x00, 0x84, 0x6c, 0x56, 0x03, 0x1a, 0xfb, 0xd9, 0x99, 0x69, 0xbf, 0x03, - 0x86, 0x65, 0xa5, 0x5a, 0x98, 0xd6, 0x6d, 0x3e, 0xa1, 0x57, 0x93, 0xa5, - 0x3c, 0xeb, 0x66, 0xcc, 0xd0, 0x74, 0x9a, 0x6b, 0xb7, 0x12, 0xd7, 0xde, - 0x26, 0x6e, 0x19, 0x8f, 0xdb, 0x0e, 0x4e, 0x7f, 0x45, 0x50, 0x5b, 0x7b, - 0x23, 0x9c, 0x72, 0x8d, 0x0e, 0x54, 0xda, 0x01, 0x94, 0x38, 0xbf, 0xbf, - 0x85, 0xf6, 0xfc, 0x01, 0x68, 0xb9, 0x94, 0xe0, 0xf6, 0x5b, 0xa1, 0x64, - 0xce, 0xef, 0xc8, 0xb4, 0x0f, 0x23, 0xe5, 0x36, 0x35, 0x0d, 0x9b, 0x58, - 0x71, 0x70, 0xdc, 0x3d, 0xc8, 0xb4, 0x76, 0x0c, 0x30, 0x49, 0xce, 0xeb, - 0x91, 0xfd, 0xf9, 0xf2, 0x5a, 0x0d, 0xd9, 0xfa, 0xc1, 0x6f, 0x47, 0x7a, - 0x9d, 0xcd, 0xb4, 0x91, 0x94, 0x8b, 0x7a, 0x0c, 0x18, 0x49, 0x49, 0x30, - 0x38, 0xf8, 0xab, 0x04, 0x6d, 0xd7, 0x8c, 0xd8, 0xe4, 0x6b, 0x19, 0x67, - 0xe7, 0x23, 0x3b, 0x0f, 0x0f, 0xd4, 0x27, 0x40, 0xc0, 0x76, 0x48, 0xc3, - 0x9e, 0xb2, 0x51, 0x00, 0x05, 0xc6, 0xe4, 0x2e, 0x54, 0x70, 0xa7, 0x4d, - 0xbf, 0x4f, 0xa6, 0x15, 0x39, 0x17, 0xc2, 0x1b, 0x95, 0xd7, 0xba, 0x91, - 0x54, 0x4e, 0x9a, 0x69, 0xb9, 0x8e, 0x22, 0x33, 0x50, 0x64, 0xca, 0x85, - 0xfd, 0x49, 0x43, 0x2d, 0xe3, 0xbb, 0x9a, 0x7b, 0xe4, 0x66, 0x0e, 0xbc, - 0xb9, 0x07, 0x9d, 0xb7, 0x3f, 0x89, 0x88, 0x1f, 0xa7, 0x5d, 0x04, 0x37, - 0x4a, 0x10, 0xba, 0x06, 0x50, 0x5e, 0x93, 0x0e, 0x94, 0x02, 0xe8, 0x8a, - 0x0b, 0xa7, 0x5d, 0x66, 0xd4, 0x5b, 0x16, 0xfb, 0x95, 0x54, 0x04, 0x28, - 0x5b, 0x7d, 0x5f, 0x68, 0x1a, 0x7b, 0x96, 0x69, 0x65, 0xe2, 0xde, 0xb6, - 0x5f, 0xf6, 0x58, 0x0e, 0xc4, 0x69, 0x07, 0xb8, 0x4c, 0x5b, 0xdb, 0x39, - 0x12, 0x91, 0x14, 0x3b, 0x8e, 0x0e, 0x07, 0xad, 0xcc, 0x63, 0x68, 0x11, - 0xf4, 0x2e, 0x3a, 0x97, 0x5f, 0x35, 0x82, 0x75, 0x0c, 0x5a, 0x3e, 0x1c, - 0x8c, 0x24, 0x73, 0xa0, 0x4b, 0xec, 0x91, 0xa1, 0xcf, 0xa8, 0xa5, 0x9c, - 0x96, 0x37, 0x22, 0x2d, 0x1a, 0x3a, 0x74, 0xad, 0x7a, 0x6f, 0x99, 0xd5, - 0x51, 0xf6, 0x16, 0xd3, 0xf2, 0x35, 0x2d, 0x0b, 0xc3, 0xb3, 0x62, 0x7b, - 0xd3, 0xdc, 0x30, 0xed, 0x77, 0xa1, 0x69, 0x79, 0x98, 0x5e, 0x2f, 0x48, - 0xef, 0x35, 0xf4, 0xc7, 0xc4, 0x34, 0x3f, 0x77, 0xb6, 0x6b, 0x72, 0xb0, - 0xf1, 0x79, 0xdb, 0x11, 0xe2, 0xa4, 0x4d, 0x99, 0x4e, 0x9b, 0xe7, 0x97, - 0x57, 0x55, 0xbf, 0xe4, 0xac, 0x78, 0x2f, 0x69, 0x5a, 0x7f, 0x1e, 0x48, - 0x18, 0xf7, 0x98, 0x41, 0x73, 0x74, 0xe3, 0xfa, 0xe5, 0xd0, 0xb4, 0xc0, - 0x8e, 0x0a, 0xf0, 0xdb, 0xb1, 0x27, 0x34, 0x2d, 0x03, 0x65, 0x76, 0x75, - 0xb7, 0x2c, 0x43, 0x38, 0x8e, 0xce, 0x65, 0xa6, 0x5d, 0x87, 0xe5, 0x6b, - 0x5e, 0xe3, 0xc8, 0x93, 0x76, 0x5a, 0x81, 0x53, 0x16, 0x03, 0x6a, 0xf5, - 0x7d, 0xde, 0x0b, 0xce, 0x8e, 0xb7, 0x97, 0x34, 0x2d, 0x8f, 0x39, 0x4a, - 0x3b, 0x40, 0x68, 0x73, 0xf7, 0x3e, 0xa7, 0x59, 0xf6, 0xc8, 0xcd, 0x47, - 0x40, 0xd3, 0x0a, 0xe6, 0x67, 0x61, 0xcb, 0x25, 0xf1, 0x05, 0xfe, 0x04, - 0x22, 0x0a, 0x4d, 0x57, 0x8f, 0x28, 0xb5, 0x04, 0x90, 0xc8, 0x9e, 0x31, - 0x81, 0xdd, 0xb8, 0x4c, 0xa7, 0x75, 0x60, 0x5a, 0x1e, 0xae, 0x0a, 0x1c, - 0x24, 0xb1, 0x57, 0x34, 0xad, 0xc8, 0x2e, 0x62, 0xeb, 0x19, 0x69, 0x85, - 0x1d, 0x68, 0x73, 0x09, 0xc3, 0x83, 0x67, 0xc5, 0x4b, 0x4d, 0x8c, 0xb6, - 0xc7, 0x34, 0xad, 0x6e, 0xb7, 0xec, 0x9e, 0x43, 0xd1, 0x23, 0xb1, 0x6a, - 0xdf, 0xb9, 0xf0, 0xec, 0x02, 0xe1, 0xdd, 0x4e, 0x92, 0x4d, 0x6e, 0x57, - 0x79, 0xa5, 0x7f, 0x75, 0x97, 0x3a, 0x7f, 0xfc, 0xb4, 0xed, 0xce, 0x85, - 0xa3, 0xe7, 0x01, 0x5e, 0x7e, 0xf5, 0x37, 0xf7, 0xa9, 0xb9, 0xbc, 0xab, - 0x53, 0x66, 0xe7, 0x83, 0x8e, 0x9e, 0x73, 0x33, 0x30, 0x96, 0x17, 0x79, - 0x65, 0x85, 0x4e, 0xbf, 0xfa, 0xd3, 0x4a, 0x79, 0x5d, 0x57, 0xd2, 0xb8, - 0xf5, 0x9f, 0x4e, 0xa2, 0x07, 0x57, 0x49, 0xf9, 0x49, 0x2f, 0xf5, 0xf7, - 0x0b, 0xec, 0x69, 0x03, 0x70, 0xe0, 0xe3, 0xab, 0xb4, 0xf5, 0x40, 0xbc, - 0x1f, 0x26, 0x4f, 0x99, 0xd7, 0xb7, 0xb2, 0x9e, 0x9f, 0xf0, 0x9e, 0x3a, - 0x0e, 0xde, 0x29, 0x01, 0xd1, 0x51, 0xb9, 0xf5, 0xcc, 0xf7, 0x77, 0x80, - 0xed, 0x07, 0x44, 0x4f, 0x33, 0xf2, 0x89, 0xa0, 0x77, 0xdf, 0x55, 0xba, - 0xfb, 0x5b, 0xfb, 0xf5, 0xd2, 0x15, 0x0f, 0x6e, 0x61, 0xcd, 0xe6, 0x05, - 0xd0, 0x6e, 0x37, 0x6e, 0xbd, 0x99, 0x56, 0x68, 0x75, 0x17, 0x91, 0x3d, - 0xd3, 0x0a, 0xbe, 0x82, 0xea, 0xa1, 0x69, 0x45, 0xed, 0x75, 0xc3, 0x4c, - 0xc6, 0xfc, 0x39, 0xce, 0x5e, 0x3c, 0xa9, 0xfa, 0x19, 0xd8, 0x32, 0xce, - 0xb6, 0x87, 0xab, 0x61, 0xd7, 0x01, 0x3b, 0x3f, 0xf2, 0x4f, 0x68, 0xcf, - 0x3e, 0x92, 0xca, 0xa1, 0xb0, 0xa3, 0xc5, 0x61, 0x79, 0xed, 0x9b, 0x5f, - 0xb7, 0xbc, 0x71, 0x8c, 0xcf, 0x57, 0xff, 0xc7, 0xd4, 0xb2, 0x2a, 0xa4, - 0x3d, 0x9c, 0xa2, 0x0c, 0xc2, 0x4e, 0x2b, 0x59, 0x8f, 0x8c, 0x96, 0x72, - 0x2a, 0x27, 0x5c, 0x74, 0x58, 0x3b, 0x60, 0x37, 0x20, 0x24, 0x34, 0xad, - 0x12, 0x97, 0x3f, 0x40, 0x43, 0xe4, 0x44, 0x75, 0x96, 0x36, 0xe7, 0xc5, - 0xdb, 0xdd, 0x4a, 0x84, 0xf0, 0x2c, 0xfb, 0x44, 0x20, 0x66, 0xb4, 0x03, - 0x5a, 0x5c, 0xd5, 0x2e, 0x2a, 0xc0, 0x8b, 0x4b, 0x8f, 0x2d, 0xae, 0x72, - 0xa3, 0x0c, 0xde, 0x28, 0x30, 0xb6, 0xb8, 0x5a, 0x95, 0x8f, 0xcc, 0x1d, - 0xee, 0xe2, 0x24, 0x98, 0xbc, 0x0b, 0x8f, 0x75, 0x71, 0x1e, 0x82, 0xb2, - 0x2e, 0xee, 0x00, 0x6e, 0xde, 0x18, 0x76, 0x23, 0x3e, 0x61, 0xd8, 0x59, - 0x50, 0x6f, 0x4d, 0xcb, 0x76, 0x18, 0xe7, 0xfe, 0x91, 0x61, 0x6a, 0x45, - 0x8f, 0xa3, 0x3b, 0xcc, 0xce, 0xf5, 0xd5, 0x71, 0x3c, 0x06, 0x64, 0x6a, - 0x4e, 0x9b, 0xfb, 0x75, 0x8d, 0xee, 0xd4, 0x5e, 0x14, 0x01, 0xbf, 0xcd, - 0x9b, 0x57, 0xb7, 0xdf, 0xac, 0x69, 0xc9, 0xfd, 0x09, 0x33, 0xba, 0xc6, - 0x91, 0x49, 0xb2, 0xe7, 0x21, 0x78, 0xf7, 0xf7, 0xd2, 0xca, 0xa0, 0xb8, - 0x16, 0xb5, 0xd3, 0xb4, 0x6e, 0x51, 0xd7, 0x90, 0x4e, 0x9a, 0xd6, 0x78, - 0x7e, 0x84, 0xb0, 0xa6, 0x65, 0x60, 0x7c, 0x79, 0x15, 0xbf, 0xbc, 0xce, - 0xdf, 0xc5, 0x6c, 0xd2, 0xb4, 0x86, 0xe7, 0xd7, 0xfa, 0xfb, 0x1b, 0xf4, - 0xaf, 0x7b, 0xdd, 0xdc, 0x7c, 0xca, 0xb3, 0x0b, 0x74, 0xe0, 0xf5, 0x4e, - 0xf2, 0xff, 0x73, 0x85, 0xe8, 0x95, 0x36, 0xa2, 0xaf, 0x56, 0x28, 0xf9, - 0xef, 0x36, 0xda, 0xba, 0x97, 0xa4, 0x25, 0x9b, 0x39, 0x86, 0xf2, 0x6c, - 0x92, 0x92, 0xef, 0x76, 0x55, 0xb4, 0xe6, 0xfd, 0x1d, 0xe0, 0xcc, 0x03, - 0x22, 0x96, 0xe6, 0x15, 0xd5, 0xa6, 0x56, 0x5c, 0x28, 0x02, 0x97, 0x39, - 0x7e, 0x61, 0x2c, 0x8f, 0x1d, 0xa6, 0x90, 0x64, 0xa4, 0x53, 0xc9, 0x9c, - 0x14, 0xd1, 0x0a, 0x45, 0x25, 0x0c, 0x28, 0xf5, 0xe5, 0x88, 0xca, 0xe1, - 0xa1, 0x3a, 0x31, 0xad, 0x75, 0x16, 0x6e, 0xd4, 0xac, 0x4c, 0x8d, 0x6c, - 0xe8, 0xbf, 0x91, 0x9b, 0x72, 0x76, 0xb3, 0x34, 0x22, 0x8b, 0x81, 0xfc, - 0x13, 0xf3, 0xb6, 0xe5, 0x4e, 0x2d, 0x03, 0xd6, 0xd5, 0x68, 0x6e, 0x31, - 0xb3, 0xc9, 0x8e, 0xcb, 0xda, 0xad, 0xee, 0xd2, 0x97, 0x31, 0xba, 0x6a, - 0xb7, 0xcd, 0x1b, 0x43, 0xef, 0x6f, 0x66, 0xc6, 0x70, 0x51, 0x52, 0x73, - 0x5e, 0xd0, 0x76, 0x20, 0x88, 0x24, 0xd9, 0xd3, 0x13, 0x45, 0xbf, 0x18, - 0x59, 0xd1, 0xba, 0xee, 0xd5, 0x2d, 0xf2, 0x3a, 0xd6, 0xe9, 0x7a, 0x5d, - 0xff, 0x86, 0x84, 0xd5, 0x2e, 0x89, 0x7c, 0x53, 0xcb, 0xab, 0xa6, 0xf5, - 0xa9, 0x3c, 0xed, 0xeb, 0x9f, 0x98, 0x87, 0x12, 0xd7, 0x3e, 0x74, 0x54, - 0xd6, 0xe3, 0xda, 0x38, 0xde, 0xd4, 0xb2, 0xb6, 0x8e, 0xd6, 0x7b, 0x41, - 0xcb, 0xaf, 0x5c, 0x49, 0x23, 0xb4, 0x59, 0xa7, 0x75, 0xbc, 0xd0, 0xb4, - 0xac, 0x12, 0xdf, 0xfd, 0x1b, 0x1f, 0x2d, 0x97, 0x12, 0x95, 0xbf, 0xcd, - 0xc1, 0xd5, 0x36, 0x76, 0x1a, 0x83, 0x89, 0xcb, 0xda, 0xd9, 0x5d, 0x76, - 0x49, 0xf6, 0xfc, 0x03, 0xb7, 0x9a, 0xb0, 0x81, 0x3f, 0x6c, 0xb4, 0x65, - 0x2a, 0x37, 0x7f, 0x6b, 0x81, 0xb7, 0xd9, 0xd1, 0x1f, 0x97, 0xfb, 0x26, - 0x2f, 0xf4, 0x69, 0xb3, 0x81, 0x8f, 0x25, 0x3a, 0xde, 0xb0, 0x5a, 0xac, - 0x9f, 0x36, 0x14, 0x45, 0xb7, 0x92, 0xa0, 0x81, 0x8f, 0x07, 0x8a, 0xdd, - 0x88, 0x5d, 0xed, 0xe2, 0x26, 0xbe, 0x2a, 0x8a, 0xde, 0xa8, 0xa6, 0xc1, - 0xf6, 0x42, 0xc7, 0x34, 0x70, 0xef, 0xa2, 0x78, 0x86, 0xb2, 0x98, 0x7f, - 0x58, 0x0c, 0xab, 0xd8, 0x7c, 0x01, 0x69, 0x60, 0x03, 0x8d, 0x28, 0x9d, - 0x21, 0xbd, 0x5e, 0xb0, 0xdd, 0x13, 0x24, 0x8b, 0x35, 0x85, 0x47, 0x1a, - 0xf8, 0x58, 0xa2, 0xfb, 0x02, 0xa0, 0xc5, 0x21, 0xdd, 0xac, 0x59, 0x68, - 0x19, 0x4f, 0x54, 0xaf, 0x66, 0x6a, 0x60, 0x03, 0x05, 0xb1, 0x3e, 0x05, - 0x01, 0x98, 0x5a, 0xd6, 0xe2, 0x7a, 0xa1, 0xe9, 0x74, 0xd5, 0x3e, 0xf8, - 0xd0, 0x66, 0x39, 0x40, 0x5f, 0xef, 0xf8, 0x65, 0x03, 0x1f, 0x4b, 0xfc, - 0x3f, 0xdc, 0xfb, 0x64, 0xf7, 0xcd, 0x73, 0x2d, 0x72, 0x00, 0x00, 0x00, - 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 + 0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x0d, + 0xda, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x5b, + 0xd7, 0x1d, 0xfe, 0x09, 0x52, 0x70, 0x46, 0x56, 0x94, 0xb1, 0x87, 0xb8, + 0x94, 0x61, 0x97, 0xb5, 0xe0, 0x0c, 0x4a, 0xe5, 0xb9, 0x0f, 0xf2, 0xd6, + 0x92, 0x6b, 0xfa, 0x32, 0xc5, 0x29, 0xad, 0xdc, 0x3e, 0x24, 0xde, 0xfa, + 0x20, 0xc5, 0x19, 0xb1, 0xb7, 0x87, 0xd5, 0x69, 0x5f, 0x9c, 0xa4, 0xb8, + 0x6a, 0x1e, 0x52, 0x47, 0x85, 0x6c, 0x76, 0x87, 0x3b, 0x2b, 0x10, 0x66, + 0xb5, 0x60, 0x9c, 0x3c, 0x38, 0x8a, 0x07, 0x61, 0x56, 0x86, 0x8b, 0x5c, + 0x70, 0x6a, 0x79, 0x64, 0x48, 0x01, 0x17, 0xe4, 0xe1, 0x0d, 0xb9, 0x98, + 0xe1, 0x18, 0x11, 0x6e, 0x8c, 0x09, 0x7c, 0x7b, 0xb8, 0xba, 0xd2, 0xfd, + 0x73, 0xce, 0xbd, 0xe7, 0x5c, 0x29, 0xa9, 0xd3, 0xe8, 0xbc, 0x7c, 0x89, + 0xee, 0xf9, 0xf3, 0x3b, 0xe7, 0xfe, 0xce, 0x77, 0xbf, 0xf3, 0xbb, 0xe7, + 0x5c, 0x13, 0x88, 0x68, 0x82, 0x88, 0xea, 0x86, 0x00, 0xb0, 0x06, 0x00, + 0x40, 0xa6, 0x8c, 0xd8, 0x01, 0xea, 0xde, 0x4e, 0x03, 0x9f, 0x58, 0xac, + 0xd9, 0x41, 0x53, 0x2b, 0x45, 0x00, 0x40, 0x60, 0x7c, 0x0e, 0x74, 0x0e, + 0xa0, 0xe1, 0x69, 0x2e, 0x2a, 0x49, 0x60, 0xf0, 0x46, 0x0e, 0x00, 0xf0, + 0x5d, 0x77, 0xbc, 0x81, 0x8f, 0x2f, 0x7a, 0x2a, 0x98, 0xdb, 0x00, 0x54, + 0x00, 0xfe, 0x78, 0x0a, 0x94, 0x05, 0xe8, 0xdc, 0xb4, 0x34, 0xfa, 0xf3, + 0x40, 0x64, 0x06, 0x0d, 0x07, 0x6e, 0xa0, 0x34, 0xca, 0x15, 0x00, 0xa0, + 0x5c, 0x76, 0x67, 0x54, 0x59, 0x54, 0x92, 0x40, 0xb1, 0xa4, 0x36, 0x24, + 0x44, 0x03, 0x85, 0x50, 0x28, 0x23, 0x76, 0x34, 0x46, 0xf4, 0xc2, 0xa8, + 0x32, 0x18, 0x9b, 0xcf, 0x35, 0x1c, 0xb7, 0x81, 0xae, 0xe8, 0x9a, 0x21, + 0xb7, 0xa1, 0x22, 0x90, 0xa8, 0x2f, 0xb3, 0x3a, 0x61, 0x60, 0x7c, 0xae, + 0x21, 0x19, 0x1a, 0xe8, 0x88, 0x8e, 0x19, 0xb0, 0x01, 0xf8, 0xf3, 0x0f, + 0x9f, 0x61, 0xad, 0xe8, 0x8f, 0xa7, 0x1a, 0x8e, 0xdb, 0x40, 0x2e, 0x72, + 0x2f, 0xe4, 0x36, 0x54, 0xf8, 0xe3, 0x1e, 0x18, 0x73, 0x2c, 0x05, 0x4a, + 0x00, 0x34, 0x3e, 0x07, 0x4a, 0x00, 0xa1, 0xab, 0x4b, 0x00, 0x80, 0xe9, + 0xbc, 0x16, 0x65, 0x10, 0xad, 0xc7, 0x7f, 0x7e, 0xba, 0x76, 0xc7, 0x05, + 0x30, 0x3a, 0x3e, 0x81, 0xc8, 0xc9, 0x7e, 0x44, 0xfa, 0xfa, 0xcb, 0x18, + 0x41, 0xe4, 0x64, 0x3f, 0x46, 0xe2, 0x23, 0x00, 0x80, 0x62, 0xb1, 0xf8, + 0xf8, 0x48, 0x12, 0x00, 0xa9, 0x99, 0xfa, 0x4e, 0x68, 0xb5, 0xa4, 0x62, + 0x24, 0x0e, 0x44, 0xfa, 0xfa, 0x11, 0x3c, 0xa4, 0x20, 0xd2, 0x17, 0xf1, + 0x5e, 0xff, 0x43, 0xb0, 0x8f, 0x85, 0xf5, 0x61, 0xd8, 0xf3, 0x9a, 0xa1, + 0x28, 0xc1, 0x31, 0x65, 0x0a, 0x78, 0x24, 0x8c, 0x0b, 0x15, 0xc0, 0x22, + 0xd0, 0xd6, 0x11, 0x40, 0xa6, 0x63, 0x09, 0x6d, 0x1d, 0x01, 0x04, 0x3a, + 0x82, 0xdc, 0xff, 0x0f, 0x0d, 0xc7, 0x1e, 0x0b, 0x66, 0x1f, 0x1a, 0x8e, + 0x55, 0xec, 0xaf, 0x9b, 0xbd, 0x33, 0xb0, 0x8d, 0xc7, 0xe0, 0x7b, 0x83, + 0x9e, 0x26, 0xf2, 0x43, 0xb1, 0x8f, 0x81, 0xf6, 0x99, 0xb7, 0x03, 0x69, + 0x86, 0x15, 0x49, 0x91, 0xd9, 0x25, 0x4f, 0x1a, 0xd7, 0x0b, 0xe3, 0x46, + 0x4e, 0xf6, 0x9b, 0x6e, 0x44, 0xa8, 0x3b, 0x8c, 0xd1, 0xf1, 0x09, 0x00, + 0xc0, 0x64, 0x72, 0x1a, 0x88, 0x03, 0x4a, 0x77, 0xa8, 0x72, 0x3d, 0xd0, + 0x11, 0xc4, 0x52, 0x76, 0x69, 0xf7, 0x33, 0xae, 0x6e, 0x7f, 0xbd, 0x1c, + 0x02, 0x66, 0x87, 0x0d, 0x74, 0x04, 0x11, 0xe9, 0xeb, 0xaf, 0x89, 0x69, + 0xeb, 0x6a, 0x1f, 0x07, 0x6d, 0x3f, 0x28, 0x9b, 0x92, 0x1a, 0xb4, 0xe0, + 0xee, 0xb0, 0xc1, 0xa9, 0x4c, 0x4d, 0x1a, 0x57, 0xb9, 0x9c, 0x11, 0x77, + 0x28, 0x98, 0x19, 0x16, 0x69, 0xfe, 0x00, 0x62, 0x05, 0x40, 0x09, 0x48, + 0xcd, 0xa6, 0x1c, 0xeb, 0xc7, 0x0a, 0x6a, 0xbf, 0x11, 0x6e, 0xe5, 0x6b, + 0xa8, 0x1f, 0x45, 0x0f, 0xf6, 0x01, 0x08, 0x1e, 0x52, 0x6c, 0x4f, 0x20, + 0xac, 0xb8, 0x8c, 0xd7, 0x23, 0xb0, 0xcf, 0x2d, 0xbf, 0x6f, 0x82, 0x88, + 0xa2, 0x44, 0x94, 0x20, 0xa2, 0x28, 0x00, 0xdf, 0x87, 0x57, 0x88, 0xf6, + 0xf4, 0x10, 0x3d, 0x10, 0xc3, 0x48, 0x20, 0x4b, 0x89, 0x5f, 0xb5, 0x13, + 0x2f, 0x45, 0xff, 0x96, 0xa5, 0x4b, 0xcb, 0xed, 0xc2, 0xf5, 0xf1, 0x70, + 0xf2, 0xc8, 0x3a, 0xf5, 0xbe, 0xf8, 0x8c, 0x2f, 0x61, 0xb4, 0x97, 0x81, + 0xd9, 0xec, 0x12, 0x8e, 0x9f, 0xf8, 0x1d, 0x6d, 0xd3, 0x36, 0x35, 0x51, + 0x13, 0x05, 0x95, 0x4e, 0x1a, 0x1b, 0x89, 0xbb, 0x96, 0x33, 0x21, 0x80, + 0x9e, 0x63, 0xbd, 0xb4, 0xfa, 0xcd, 0x6a, 0xa5, 0x1e, 0x23, 0x86, 0x94, + 0x10, 0x0d, 0xf4, 0x45, 0xa9, 0xf5, 0x85, 0xe7, 0x7c, 0x9d, 0x87, 0x14, + 0x6c, 0xdf, 0xdb, 0xa6, 0xa6, 0x7d, 0x4d, 0xb4, 0x70, 0x33, 0x4d, 0x09, + 0x9f, 0xcf, 0x67, 0xac, 0x2f, 0x3d, 0x9f, 0xc1, 0xe9, 0xb3, 0xa7, 0x69, + 0xeb, 0xde, 0x16, 0x05, 0xda, 0xda, 0xa8, 0xeb, 0xaf, 0x9f, 0xfb, 0x74, + 0x3b, 0xdb, 0xbf, 0x68, 0xa7, 0xce, 0x5b, 0x5d, 0xb4, 0x7d, 0x6f, 0xdb, + 0x54, 0x7f, 0xa0, 0xad, 0x8d, 0x02, 0x2f, 0x05, 0xe8, 0xd4, 0xbb, 0xa7, + 0xcc, 0xf5, 0xc5, 0x81, 0x83, 0x5f, 0xb4, 0x53, 0x13, 0x35, 0xd1, 0x85, + 0x4f, 0x2e, 0x50, 0xd7, 0xab, 0xbf, 0xf0, 0x8d, 0x8d, 0x4f, 0x20, 0xf1, + 0x97, 0x44, 0xa5, 0xbc, 0xff, 0xc0, 0x7e, 0xda, 0xfa, 0xf6, 0x2e, 0x6d, + 0xd3, 0x36, 0xe5, 0xd3, 0x59, 0x4a, 0x3c, 0x6d, 0xb6, 0x47, 0x47, 0xdd, + 0x6e, 0x56, 0xff, 0xf2, 0xb7, 0xb2, 0x5a, 0xbb, 0x00, 0xba, 0x8e, 0x1c, + 0xae, 0xd4, 0x67, 0xcc, 0xd7, 0xb4, 0xaf, 0x89, 0x16, 0x94, 0x34, 0xad, + 0xf7, 0xad, 0x53, 0xf3, 0x33, 0xe5, 0xfb, 0x22, 0x60, 0x5f, 0xd3, 0xbe, + 0xa6, 0x4a, 0x7f, 0x2b, 0xf6, 0x01, 0x18, 0xfb, 0x2c, 0x41, 0xb3, 0xd7, + 0x66, 0x69, 0xf5, 0xdb, 0x55, 0x53, 0x3b, 0xfe, 0x03, 0xfb, 0x29, 0xfd, + 0xe6, 0x75, 0xba, 0xff, 0xf6, 0x7d, 0xda, 0xfb, 0xf4, 0x0f, 0x7c, 0x09, + 0xb2, 0xcc, 0x3c, 0x2f, 0x6f, 0xb8, 0x9c, 0x92, 0xac, 0x86, 0x75, 0x7b, + 0x83, 0x26, 0xb4, 0x87, 0x01, 0x76, 0x8d, 0x16, 0xea, 0x0e, 0x03, 0x2b, + 0x40, 0x66, 0x3e, 0x23, 0x34, 0xe3, 0xf5, 0xf2, 0xc1, 0x43, 0x8a, 0xd6, + 0x91, 0x32, 0xd3, 0x0e, 0xbe, 0x37, 0x58, 0x61, 0xa4, 0xe0, 0x6b, 0x0a, + 0xa0, 0x02, 0xb9, 0xd7, 0x0a, 0x95, 0xf6, 0x42, 0xdd, 0x21, 0x9b, 0x7d, + 0x85, 0x37, 0x8a, 0xb6, 0xeb, 0x23, 0xf1, 0x51, 0x9b, 0x7d, 0xea, 0x0c, + 0x10, 0x39, 0xd9, 0x6f, 0xaa, 0xcf, 0xaa, 0x0d, 0x4d, 0x8c, 0x58, 0x2c, + 0xff, 0xce, 0xd0, 0xa4, 0xfa, 0xff, 0x87, 0x86, 0x63, 0xfc, 0xf1, 0x2a, + 0xb1, 0x35, 0x3f, 0xd2, 0xd0, 0x5e, 0x77, 0x1a, 0xda, 0x0b, 0x75, 0x87, + 0x01, 0x40, 0x93, 0x50, 0xe5, 0x71, 0xd0, 0xf3, 0x17, 0xde, 0x28, 0xd6, + 0x66, 0x9f, 0x85, 0xf1, 0x0b, 0x6f, 0x14, 0xb5, 0xdf, 0x57, 0x80, 0xf0, + 0xd1, 0x63, 0xe6, 0xf1, 0x2e, 0x33, 0x7d, 0x85, 0x69, 0xa3, 0x33, 0x4b, + 0xb8, 0xf4, 0x2f, 0x0f, 0x8c, 0xf8, 0xe3, 0x34, 0xe1, 0x44, 0x17, 0x93, + 0x65, 0x07, 0x88, 0xe8, 0x53, 0x49, 0xe6, 0x76, 0xc2, 0xd8, 0xd9, 0x1e, + 0x6a, 0xf6, 0xb1, 0x99, 0xc3, 0xca, 0x94, 0x07, 0x5f, 0x6e, 0xb7, 0x31, + 0x88, 0x95, 0x29, 0xda, 0xda, 0xda, 0xa8, 0xeb, 0x97, 0x5d, 0xd4, 0x7b, + 0xac, 0xc7, 0xcc, 0x68, 0x00, 0xb2, 0xcb, 0x59, 0x6a, 0x6f, 0xff, 0xb9, + 0x8d, 0xa1, 0x0f, 0x76, 0x04, 0x60, 0x64, 0xa4, 0xb1, 0xcf, 0x12, 0x64, + 0x64, 0x92, 0xeb, 0x33, 0x57, 0xaa, 0xcc, 0x63, 0xb1, 0x23, 0x7f, 0x2b, + 0x4b, 0xd7, 0xaf, 0x5d, 0xa7, 0x33, 0x1f, 0x9e, 0xa3, 0x6d, 0xda, 0x26, + 0xff, 0x3e, 0x3f, 0x0d, 0xf4, 0x0d, 0x50, 0x6f, 0xef, 0x5b, 0xe6, 0x76, + 0x4a, 0xc0, 0xc1, 0xae, 0x76, 0x1b, 0xf3, 0x8d, 0x75, 0x04, 0xa1, 0xb7, + 0x13, 0xed, 0x8b, 0xd2, 0xc0, 0x6f, 0x8f, 0xfb, 0xa2, 0x7d, 0xfd, 0x58, + 0x5e, 0x5e, 0xb6, 0x31, 0xf5, 0xb1, 0xb7, 0x8f, 0xd1, 0xe1, 0xd7, 0xbb, + 0x7d, 0xc9, 0xe4, 0x34, 0x7a, 0xff, 0xd9, 0x43, 0xd1, 0xad, 0x28, 0xd1, + 0x9e, 0x26, 0x6a, 0x7f, 0xa9, 0x9d, 0x06, 0x4e, 0x44, 0xb5, 0xfe, 0x5a, + 0xda, 0x09, 0x1f, 0x09, 0x53, 0xeb, 0x07, 0x67, 0xdc, 0xc7, 0x81, 0xd1, + 0x2f, 0x4f, 0xf6, 0x1d, 0x39, 0x4c, 0xd1, 0x13, 0x03, 0xa4, 0x5f, 0x0f, + 0x29, 0x21, 0x6a, 0x1b, 0x39, 0x67, 0xba, 0xbf, 0xa7, 0x87, 0x63, 0x98, + 0xbd, 0x36, 0x4b, 0xdb, 0xb4, 0x4d, 0xc1, 0x97, 0x83, 0xd4, 0xf9, 0xe7, + 0x4f, 0x7d, 0x9a, 0x86, 0xd8, 0xa9, 0x2d, 0x1e, 0x9b, 0xdb, 0xe0, 0x50, + 0xed, 0x46, 0xfd, 0x98, 0x56, 0x3a, 0x9a, 0x00, 0x60, 0x24, 0x3e, 0x8a, + 0xcd, 0xa4, 0x2a, 0x14, 0x45, 0xa8, 0x30, 0x03, 0xa3, 0xbe, 0xa5, 0xec, + 0x12, 0x50, 0x02, 0x42, 0xdd, 0x61, 0x53, 0x79, 0x64, 0x51, 0x61, 0x0a, + 0x1b, 0xc3, 0x90, 0xb6, 0x9a, 0xb6, 0x32, 0x92, 0xce, 0xbc, 0x99, 0x8e, + 0x25, 0x4c, 0x4e, 0x4d, 0xf3, 0x99, 0x70, 0xb1, 0xca, 0x50, 0xfa, 0x6a, + 0x9e, 0x65, 0xaf, 0x3a, 0x63, 0xd1, 0xf0, 0x96, 0x7e, 0xb0, 0xfa, 0xab, + 0xb7, 0x8b, 0x2c, 0xec, 0xfd, 0x71, 0x18, 0x57, 0x64, 0x51, 0x1e, 0x87, + 0x90, 0xa9, 0x3e, 0x7d, 0x11, 0x2b, 0x6b, 0x1f, 0x56, 0xcc, 0xed, 0x87, + 0x8f, 0x1e, 0x33, 0x31, 0x3a, 0xe6, 0x61, 0xbb, 0x7f, 0x00, 0xa0, 0x31, + 0xad, 0x07, 0x2d, 0x6b, 0xc4, 0xe0, 0x1f, 0x7a, 0x68, 0xe1, 0x87, 0x4c, + 0xb2, 0xa5, 0x0b, 0x5f, 0xad, 0xd2, 0x7b, 0x37, 0x5b, 0xeb, 0xc2, 0xb4, + 0x9a, 0xb6, 0x5d, 0xa5, 0xde, 0x17, 0x9f, 0x93, 0xd3, 0xa8, 0x44, 0xb4, + 0x5e, 0x2c, 0xa2, 0xb9, 0xb9, 0x99, 0xd2, 0x5f, 0x2e, 0x50, 0xd7, 0x37, + 0x9d, 0xd4, 0xf3, 0x77, 0xbb, 0x66, 0x35, 0x6a, 0xb9, 0x81, 0xf7, 0x4f, + 0xd1, 0xf2, 0xad, 0x2c, 0x6d, 0xdd, 0xdb, 0xe2, 0x32, 0xb6, 0x9e, 0xff, + 0x6e, 0x1c, 0xb8, 0x54, 0xd6, 0x72, 0xba, 0xb6, 0x5d, 0xfd, 0x66, 0x95, + 0x7a, 0x4f, 0x44, 0x2b, 0xe5, 0x63, 0x67, 0x87, 0xe8, 0xf0, 0xeb, 0xdd, + 0x3e, 0x2b, 0x53, 0x5b, 0x35, 0xb0, 0x51, 0x0b, 0x9f, 0x7a, 0xf7, 0x54, + 0x85, 0x91, 0xa3, 0xff, 0xb8, 0xc9, 0x61, 0xb2, 0x08, 0x96, 0x97, 0xef, + 0x54, 0xec, 0x1a, 0xf8, 0xfa, 0x2b, 0x1b, 0x53, 0xad, 0x7f, 0xbb, 0x4e, + 0xf4, 0x80, 0x88, 0xf6, 0x10, 0x35, 0xed, 0xdb, 0x4b, 0x63, 0x1f, 0x5f, + 0xa8, 0xf4, 0x93, 0xc5, 0x98, 0x46, 0x46, 0x95, 0x19, 0x07, 0x69, 0xfb, + 0x04, 0x9e, 0x88, 0x46, 0xf4, 0xef, 0xf3, 0xd3, 0xdc, 0xcc, 0x75, 0xcd, + 0xe3, 0x03, 0xe3, 0xb5, 0x33, 0xa2, 0x53, 0x1a, 0x59, 0xa8, 0x1f, 0xe3, + 0x66, 0x1c, 0x18, 0x51, 0x16, 0x53, 0xb3, 0x29, 0x13, 0x63, 0x4c, 0x8c, + 0x4f, 0xc0, 0xc8, 0x70, 0xc1, 0x43, 0x8a, 0x16, 0x7b, 0x2e, 0xaf, 0x66, + 0x27, 0xa7, 0xa6, 0x99, 0x0c, 0x83, 0x22, 0xb8, 0x0c, 0x5e, 0xd1, 0x84, + 0xe5, 0x76, 0x59, 0xe5, 0xdd, 0xa2, 0x20, 0x7a, 0x79, 0x11, 0xcd, 0x28, + 0xd3, 0xff, 0xa5, 0xec, 0x12, 0xb3, 0x3f, 0x56, 0x86, 0xd4, 0x35, 0xad, + 0x71, 0x1c, 0x58, 0x0c, 0x2d, 0x6b, 0x9f, 0xb5, 0x7d, 0xd1, 0x78, 0xb9, + 0xaf, 0x58, 0x52, 0xf1, 0xcc, 0x9f, 0xf6, 0xd6, 0xcc, 0x80, 0xd3, 0x6f, + 0xae, 0x53, 0x4f, 0x5b, 0x33, 0x9b, 0x6e, 0x89, 0xe8, 0xca, 0x9d, 0x75, + 0x7a, 0xeb, 0x5a, 0x33, 0xd1, 0x76, 0xed, 0x8c, 0x8b, 0xb3, 0x3d, 0x5c, + 0x86, 0x32, 0x69, 0xb1, 0x40, 0xbb, 0x6b, 0x3e, 0xe3, 0x4c, 0x8f, 0x1c, + 0xcd, 0x92, 0x95, 0x31, 0xad, 0xe5, 0xbb, 0xba, 0x43, 0xa8, 0xac, 0xce, + 0x0d, 0xcc, 0x64, 0xd4, 0x5e, 0x36, 0x26, 0x3a, 0x99, 0xa5, 0x44, 0x54, + 0xcb, 0x67, 0xd4, 0x78, 0x2c, 0x0d, 0xa7, 0x63, 0xcf, 0xd1, 0x63, 0xd0, + 0x9f, 0x04, 0xf9, 0x23, 0x59, 0x4a, 0x7c, 0x20, 0xa6, 0x19, 0xad, 0x4c, + 0x2b, 0xa3, 0xfd, 0x8d, 0x4f, 0x1a, 0xfd, 0x77, 0xe6, 0x38, 0xd4, 0xa0, + 0x69, 0x9d, 0x98, 0xd6, 0xe9, 0xc9, 0xb3, 0x5e, 0x2c, 0x42, 0x5f, 0x2b, + 0x10, 0x50, 0x07, 0x06, 0x1c, 0x9b, 0x73, 0x64, 0xda, 0x4a, 0x2a, 0xbf, + 0x31, 0xab, 0xb5, 0xbd, 0xc9, 0xdb, 0x0e, 0xda, 0x0b, 0xf6, 0x38, 0xed, + 0xe4, 0x54, 0xf9, 0x49, 0xa0, 0x6a, 0x90, 0x99, 0xcf, 0x98, 0x18, 0x55, + 0xd7, 0x9c, 0x98, 0x77, 0xd0, 0x78, 0x30, 0xaf, 0x9a, 0x59, 0xd7, 0x59, + 0x9a, 0x59, 0x8f, 0x32, 0x38, 0xd9, 0x67, 0x8a, 0x7f, 0x82, 0xb1, 0x6a, + 0x2e, 0x56, 0x99, 0xcc, 0x55, 0x33, 0x4a, 0x30, 0x2d, 0x4f, 0xd3, 0x1a, + 0x9f, 0x40, 0xc1, 0xd7, 0x14, 0xf3, 0x13, 0xc1, 0x62, 0x9f, 0xb4, 0xa6, + 0xb5, 0xda, 0xb1, 0x52, 0xbd, 0xae, 0x47, 0x6b, 0x2a, 0xf6, 0xa9, 0x1a, + 0xbb, 0xeb, 0x6b, 0x86, 0x4a, 0xf4, 0x20, 0xe2, 0x35, 0x6a, 0xa0, 0xa3, + 0xff, 0x3a, 0xa1, 0xff, 0x30, 0x97, 0x61, 0x79, 0xc9, 0xf7, 0x59, 0x9a, + 0xe8, 0x7f, 0x5d, 0x9e, 0xda, 0x1d, 0x3c, 0xdb, 0x43, 0x6d, 0x9c, 0x19, + 0x79, 0xbf, 0xa4, 0xe2, 0xf8, 0xc0, 0x71, 0x5a, 0xbe, 0x73, 0x47, 0x58, + 0x2b, 0x05, 0xda, 0xda, 0xe8, 0xa3, 0x33, 0x1f, 0x51, 0xeb, 0xf3, 0xad, + 0x64, 0x8d, 0xcf, 0xfa, 0x0f, 0xec, 0xa7, 0xed, 0x7b, 0xf7, 0x99, 0x9a, + 0xce, 0xc6, 0x0c, 0xc3, 0xc0, 0xc1, 0x6b, 0x66, 0x8d, 0xa6, 0x33, 0x8e, + 0x95, 0xe1, 0x78, 0xf1, 0x4f, 0x23, 0xb6, 0x1e, 0x68, 0xa5, 0xd1, 0x4f, + 0x2e, 0x50, 0xeb, 0x0b, 0x9a, 0x86, 0x4f, 0x1c, 0x52, 0xa0, 0xdb, 0xc1, + 0xd2, 0x8c, 0xad, 0x07, 0x5a, 0x29, 0x9c, 0xba, 0x5a, 0x17, 0xa6, 0xed, + 0x54, 0xcc, 0xf1, 0x63, 0x91, 0x71, 0xb8, 0xda, 0x1d, 0x86, 0x1e, 0x67, + 0x65, 0xd9, 0xa7, 0x6b, 0x73, 0xab, 0x1d, 0xc6, 0x35, 0x01, 0x6f, 0x3c, + 0x5a, 0x9f, 0x6f, 0xa5, 0x2b, 0x9f, 0x27, 0x29, 0xe1, 0xf3, 0xf9, 0x28, + 0x27, 0xfb, 0x06, 0xcc, 0x80, 0xe1, 0xf2, 0x66, 0x18, 0xaf, 0x69, 0x28, + 0x9d, 0xf3, 0xf8, 0x86, 0xcc, 0x81, 0x69, 0x0d, 0x8c, 0x30, 0x12, 0x1f, + 0x01, 0x2f, 0x4e, 0xb8, 0x99, 0x54, 0xd9, 0x1a, 0x0a, 0x1a, 0x33, 0xeb, + 0x71, 0x53, 0xcc, 0x68, 0x0c, 0x8b, 0x52, 0x79, 0x55, 0x5b, 0x84, 0xa6, + 0x7d, 0x4b, 0x30, 0x33, 0xa8, 0xce, 0x0c, 0x8b, 0x5a, 0x39, 0x75, 0xa6, + 0xdc, 0xbe, 0x83, 0x9d, 0xa9, 0xd9, 0x94, 0x29, 0xbf, 0xde, 0xde, 0x48, + 0x7c, 0xd4, 0x6e, 0x97, 0x9e, 0x5f, 0xb7, 0x47, 0xbf, 0x8e, 0x6a, 0xf9, + 0xcc, 0xbc, 0xc4, 0x9b, 0x43, 0x43, 0x7f, 0xf5, 0xfe, 0x30, 0x7f, 0x9f, + 0xa9, 0xd6, 0x3f, 0x34, 0x1c, 0xd3, 0xfa, 0x9d, 0x85, 0x69, 0x1c, 0x44, + 0xed, 0x73, 0x7c, 0xf3, 0xc8, 0x68, 0x2f, 0x72, 0xb2, 0x1f, 0x58, 0x04, + 0x30, 0x6f, 0x1e, 0x67, 0xf2, 0xb4, 0xef, 0xf5, 0x62, 0x75, 0xd7, 0x56, + 0xad, 0x29, 0x53, 0xd8, 0x04, 0x8d, 0xc9, 0xb5, 0xef, 0x8f, 0xef, 0xfe, + 0xcd, 0x2d, 0x0d, 0x7c, 0x78, 0x48, 0xb2, 0x4c, 0x57, 0xdc, 0x81, 0xeb, + 0x6e, 0x2e, 0xe9, 0x54, 0x02, 0x96, 0x4a, 0x92, 0xd1, 0x0a, 0x87, 0x8e, + 0xe9, 0x27, 0x2d, 0x06, 0x6f, 0x00, 0xca, 0x66, 0xf5, 0x30, 0x65, 0xe3, + 0x54, 0xf0, 0xf7, 0x03, 0xc5, 0x99, 0xf6, 0xbc, 0xd8, 0x6e, 0xae, 0x5a, + 0x93, 0xa8, 0x3d, 0x4e, 0x1d, 0x6b, 0xe1, 0x30, 0x77, 0x20, 0x51, 0x3b, + 0x43, 0xab, 0xe5, 0x09, 0x91, 0x59, 0xdb, 0x04, 0xc0, 0xa9, 0xcf, 0x70, + 0x3d, 0xb3, 0xb6, 0x59, 0xd7, 0x89, 0xa2, 0x72, 0x26, 0x9e, 0xde, 0x5e, + 0x6c, 0x3e, 0x87, 0x18, 0xca, 0xa7, 0xa4, 0xeb, 0xd0, 0xde, 0xe8, 0x62, + 0x01, 0x11, 0x94, 0x37, 0x2d, 0x01, 0xc8, 0x6d, 0x98, 0xfb, 0x93, 0x5a, + 0x29, 0x42, 0x49, 0x6a, 0xd7, 0x35, 0x9c, 0x43, 0x0c, 0xde, 0xcf, 0xfc, + 0xe5, 0x36, 0x36, 0x11, 0x83, 0xb9, 0xbe, 0xb0, 0x6a, 0xae, 0x4f, 0x8c, + 0x69, 0xc7, 0x1e, 0x89, 0xbf, 0x56, 0x52, 0xad, 0x4c, 0xeb, 0xb5, 0x9c, + 0x08, 0x66, 0x8a, 0xf6, 0xf8, 0xb4, 0xd5, 0x61, 0x79, 0x71, 0xec, 0x9a, + 0x1c, 0x08, 0xd5, 0xbd, 0x21, 0x81, 0x71, 0x98, 0xb5, 0x74, 0x09, 0xcc, + 0xfe, 0x66, 0xd6, 0x50, 0x53, 0x7f, 0x47, 0x17, 0xed, 0xf5, 0xfa, 0xf3, + 0xe6, 0x7e, 0x14, 0x55, 0xfe, 0x7d, 0x1a, 0xbc, 0x21, 0x71, 0xe6, 0x0f, + 0x40, 0xd8, 0x61, 0x37, 0xa0, 0x71, 0xfc, 0xdc, 0x99, 0xf6, 0x11, 0x31, + 0xac, 0x35, 0xd5, 0xc2, 0xb4, 0x5e, 0xcb, 0x09, 0x3d, 0x9a, 0x2c, 0xf5, + 0x59, 0x0f, 0x63, 0x86, 0xa7, 0x32, 0x5c, 0xbb, 0x95, 0x24, 0xc0, 0x63, + 0x4a, 0x11, 0xc6, 0xe3, 0xf6, 0x83, 0x33, 0x5e, 0xb1, 0x1a, 0x27, 0x4a, + 0x8c, 0x53, 0xaf, 0xd1, 0x81, 0xd4, 0x1d, 0x40, 0x49, 0xf2, 0xc7, 0x5b, + 0xe8, 0xcc, 0x1f, 0x80, 0x96, 0x8b, 0x29, 0xee, 0xb8, 0x59, 0xcb, 0xbb, + 0x32, 0xed, 0xc3, 0x48, 0xb9, 0x0d, 0x4d, 0xc3, 0xa6, 0xf2, 0x2e, 0x8e, + 0xbb, 0x0b, 0x99, 0xd6, 0x8d, 0x41, 0x15, 0x97, 0x68, 0x4c, 0xa0, 0x58, + 0xde, 0xab, 0x21, 0xdb, 0x3e, 0xf8, 0xfd, 0xc8, 0xac, 0xb1, 0x99, 0x36, + 0x36, 0xef, 0xa1, 0x1d, 0x03, 0xc6, 0xe6, 0x25, 0x18, 0x1c, 0xfc, 0x5d, + 0x82, 0x8e, 0x7b, 0x46, 0x1c, 0xca, 0xb5, 0x8c, 0xb1, 0xcb, 0x91, 0x93, + 0x87, 0x07, 0xeb, 0xbd, 0xe0, 0x32, 0x3a, 0xa4, 0xe1, 0x4c, 0xd9, 0x08, + 0x80, 0x4d, 0x46, 0x5b, 0xe1, 0x1d, 0x6f, 0xda, 0xf4, 0xbb, 0x64, 0x5a, + 0x91, 0xef, 0x42, 0xf8, 0xe3, 0xf2, 0x5a, 0x37, 0x36, 0x9f, 0x93, 0x66, + 0x5a, 0xae, 0xa3, 0xc8, 0x4c, 0x14, 0x99, 0x7a, 0xe1, 0xfc, 0xa5, 0xa1, + 0x96, 0xb1, 0xaa, 0xe6, 0x1e, 0xbc, 0x91, 0x03, 0x6f, 0xed, 0x41, 0xe7, + 0x9c, 0xbf, 0x44, 0xc4, 0x8f, 0xd3, 0xe6, 0xc1, 0x8d, 0x12, 0x84, 0xaf, + 0x02, 0x54, 0xd4, 0xa4, 0x03, 0x65, 0x01, 0xba, 0xec, 0xc1, 0x69, 0x0b, + 0x8c, 0x76, 0xcb, 0x62, 0xbf, 0x92, 0x4a, 0x00, 0xad, 0xd8, 0xf3, 0x85, + 0xa7, 0xb0, 0x6b, 0x99, 0x56, 0x26, 0xee, 0xed, 0xf8, 0x66, 0x8f, 0xe5, + 0x40, 0x9c, 0x7e, 0x80, 0xcb, 0xb4, 0xb5, 0x7d, 0x47, 0x22, 0x36, 0xcf, + 0x8e, 0xa3, 0xc3, 0x45, 0x2b, 0xf3, 0x18, 0x5a, 0x04, 0xfd, 0x79, 0xf7, + 0xfa, 0x6d, 0x33, 0x58, 0xc7, 0x90, 0xe5, 0xc5, 0xc1, 0x60, 0x3a, 0x07, + 0xba, 0xc8, 0x9f, 0x79, 0xd2, 0x4e, 0xcb, 0x9b, 0x91, 0x16, 0x0d, 0x1d, + 0xbe, 0x6a, 0x3f, 0x5b, 0x66, 0x75, 0x94, 0xdd, 0xc5, 0xb4, 0x7c, 0x4d, + 0xcb, 0xc2, 0xc8, 0x8c, 0xd8, 0xd9, 0x34, 0x2f, 0x4c, 0xfb, 0x28, 0x34, + 0x2d, 0x0f, 0x33, 0x6b, 0x9b, 0xd2, 0x67, 0x0d, 0x03, 0x09, 0x31, 0xcd, + 0xef, 0xb8, 0xda, 0xad, 0x38, 0xd8, 0xd8, 0x9c, 0xe3, 0x0c, 0x71, 0xd3, + 0xa6, 0x4c, 0xa7, 0x2d, 0xf2, 0xeb, 0xb3, 0xb5, 0x2f, 0xb9, 0x2a, 0xde, + 0x4d, 0x9a, 0x36, 0x50, 0x04, 0x52, 0xc6, 0x33, 0x66, 0xd0, 0x1c, 0xdd, + 0xb8, 0x7f, 0x39, 0x3c, 0x25, 0x70, 0xa2, 0x02, 0xfc, 0x7e, 0xec, 0x0a, + 0x4d, 0xcb, 0x40, 0x99, 0x53, 0xdd, 0x2d, 0x05, 0x08, 0xc7, 0xd1, 0xb9, + 0xcc, 0x54, 0x75, 0x58, 0xbe, 0xe6, 0x7d, 0x28, 0x4c, 0x6b, 0xd1, 0xd4, + 0xd6, 0x7c, 0xfe, 0xf3, 0xee, 0x8e, 0xb7, 0x9b, 0x34, 0x2d, 0x8f, 0x39, + 0xd4, 0x1d, 0x20, 0xac, 0x56, 0xf3, 0xb9, 0xad, 0xb2, 0x07, 0x6f, 0x3c, + 0x06, 0x9a, 0x56, 0xb0, 0x3c, 0x0b, 0x5b, 0x2e, 0x8a, 0x6f, 0xf0, 0x27, + 0x10, 0x51, 0x78, 0xca, 0x3e, 0xa3, 0x00, 0x80, 0x44, 0xce, 0x8c, 0x09, + 0x9c, 0xc6, 0x65, 0x3a, 0xad, 0x0b, 0xd3, 0xf2, 0x50, 0x15, 0xe8, 0xd8, + 0x6e, 0xd1, 0xb4, 0x42, 0xa7, 0x88, 0xc1, 0x78, 0xc2, 0x94, 0x0c, 0x8e, + 0x0e, 0x80, 0x15, 0x2f, 0x35, 0x31, 0xda, 0x2e, 0xd3, 0xb4, 0xba, 0xdd, + 0xb2, 0x67, 0x0e, 0x45, 0x3f, 0x89, 0x55, 0xfb, 0xc9, 0x85, 0x67, 0x17, + 0x08, 0xef, 0x74, 0x92, 0x6c, 0xf2, 0xba, 0xcb, 0x2b, 0xf3, 0x9b, 0xbb, + 0xd4, 0xf9, 0x93, 0x1f, 0x39, 0x9e, 0x5c, 0x38, 0x7e, 0x0e, 0xe0, 0x95, + 0x2f, 0xfe, 0xfe, 0x3e, 0x35, 0x97, 0x4f, 0x75, 0xca, 0x9c, 0x7c, 0xd0, + 0xd1, 0x37, 0x3c, 0x0d, 0x63, 0x7d, 0xb1, 0x57, 0xf2, 0x74, 0xfa, 0xd5, + 0x9f, 0x55, 0xea, 0xeb, 0xba, 0x9c, 0xc1, 0xcd, 0xff, 0x76, 0x12, 0x3d, + 0xb8, 0x42, 0xca, 0x4f, 0x7b, 0xa8, 0xb7, 0x57, 0xec, 0x4c, 0xdb, 0xfe, + 0x8f, 0xaf, 0xd0, 0xd6, 0x03, 0xf1, 0x71, 0x98, 0x18, 0x32, 0xef, 0x6f, + 0x65, 0xdd, 0x3f, 0xe1, 0x33, 0x75, 0x1c, 0xbc, 0x03, 0x20, 0xce, 0xa8, + 0xd7, 0x69, 0x3f, 0xf3, 0xfd, 0x1d, 0x60, 0xef, 0x53, 0x44, 0x5e, 0xfd, + 0xc9, 0xbf, 0xe7, 0x0a, 0xdd, 0x7d, 0xdf, 0x79, 0xbf, 0x74, 0xc5, 0x83, + 0x5b, 0x58, 0xab, 0x79, 0x01, 0xf4, 0x9a, 0xbc, 0x30, 0xad, 0xd0, 0xee, + 0x2e, 0x22, 0x67, 0xa6, 0x15, 0x98, 0xc9, 0xf5, 0xd2, 0xb4, 0xa2, 0xf6, + 0x7a, 0x61, 0x26, 0x63, 0xf9, 0x1c, 0xe7, 0x2c, 0x9e, 0x54, 0xfb, 0x0c, + 0x6c, 0x19, 0x63, 0xdb, 0xc3, 0xd5, 0xb0, 0x6b, 0x80, 0x93, 0x1f, 0x05, + 0xc6, 0xb5, 0x7b, 0x1f, 0x9b, 0xd7, 0xc2, 0x59, 0xbc, 0xfa, 0xe9, 0xdc, + 0x34, 0x72, 0x9b, 0x96, 0x27, 0x8e, 0xf1, 0xfe, 0xea, 0xff, 0x98, 0xbc, + 0x5d, 0x14, 0xd2, 0x1e, 0x6e, 0x51, 0x06, 0x61, 0xa7, 0x95, 0x6c, 0x47, + 0x46, 0x4b, 0xb9, 0xd5, 0x13, 0x81, 0xcb, 0xde, 0x01, 0xa7, 0x09, 0x21, + 0xa1, 0x69, 0x95, 0xa4, 0xfc, 0x07, 0x34, 0x44, 0xbe, 0xa8, 0xce, 0xd2, + 0xe6, 0xbc, 0x78, 0xbb, 0x57, 0x89, 0x10, 0x99, 0x61, 0x7f, 0x11, 0x88, + 0x19, 0xed, 0x80, 0x16, 0x57, 0x75, 0x8a, 0x0a, 0xf0, 0xe2, 0xd2, 0xa3, + 0x8b, 0x05, 0x6e, 0x94, 0xc1, 0x1f, 0x07, 0x46, 0x17, 0x0b, 0xb6, 0x72, + 0x64, 0x1e, 0x70, 0x0f, 0x5f, 0x82, 0xf1, 0xb2, 0x43, 0xd1, 0xc3, 0xf7, + 0x10, 0x94, 0x4d, 0x71, 0x07, 0xf0, 0xf2, 0xc4, 0x70, 0x9a, 0xf1, 0x29, + 0xc3, 0xc9, 0x82, 0xba, 0x6b, 0x5a, 0xa6, 0xc3, 0xb8, 0x8f, 0x8f, 0x0c, + 0x53, 0x2b, 0x7a, 0x1c, 0xdd, 0x65, 0x75, 0xae, 0xef, 0x8e, 0xe3, 0x31, + 0x20, 0x53, 0x73, 0x3a, 0xe4, 0x17, 0x7d, 0xb2, 0xa1, 0x04, 0x04, 0x1c, + 0x9e, 0xbc, 0xba, 0xfd, 0x66, 0x4d, 0x4b, 0xde, 0xbf, 0x30, 0xa3, 0x6b, + 0x1c, 0x99, 0x24, 0xfb, 0x3d, 0x04, 0xff, 0xbe, 0x1e, 0xca, 0xf7, 0x89, + 0x6b, 0x51, 0x27, 0x4d, 0xeb, 0x15, 0x75, 0x0d, 0xe9, 0xa6, 0x69, 0x8d, + 0xdf, 0x8f, 0x10, 0xd6, 0xb4, 0x0c, 0x4c, 0xde, 0x2e, 0xe0, 0xd7, 0xd7, + 0xf8, 0xa7, 0x98, 0x4d, 0x9a, 0xd6, 0x70, 0xff, 0x5a, 0xff, 0x78, 0x9d, + 0xfe, 0x7d, 0xef, 0x30, 0xb7, 0x9c, 0xf2, 0xec, 0x02, 0xed, 0x7f, 0xbb, + 0x93, 0x02, 0x5f, 0xe7, 0x89, 0x5e, 0x39, 0x48, 0xf4, 0x65, 0x9e, 0xd2, + 0xff, 0x39, 0x48, 0x5b, 0xf7, 0xd2, 0xb4, 0xec, 0xb0, 0xc6, 0x50, 0x9e, + 0x4d, 0x53, 0xfa, 0x9d, 0xae, 0x8a, 0xd6, 0xbc, 0xbf, 0x03, 0x9c, 0x79, + 0x8a, 0x88, 0xa5, 0x79, 0x45, 0xb5, 0xa9, 0x15, 0x17, 0x00, 0x5c, 0x12, + 0xa8, 0xcf, 0x75, 0x35, 0x2b, 0x82, 0x43, 0xe9, 0x9c, 0x14, 0xd1, 0x0a, + 0x45, 0x25, 0x0c, 0x28, 0xf5, 0xe6, 0x88, 0xca, 0xe1, 0xa1, 0x3a, 0x31, + 0xad, 0x75, 0x15, 0x6e, 0xd4, 0xac, 0x4c, 0x26, 0x31, 0x8c, 0xdf, 0xe0, + 0x0d, 0x39, 0xbb, 0x59, 0x1a, 0x91, 0xc5, 0x40, 0x81, 0xf1, 0x39, 0xc7, + 0x7a, 0x27, 0x6f, 0x03, 0xd6, 0xdd, 0x68, 0x5e, 0xb1, 0xa8, 0xb2, 0xe3, + 0xb2, 0x4e, 0xbb, 0xbb, 0xf4, 0x6d, 0x8c, 0x9e, 0xfa, 0xed, 0xf0, 0xc4, + 0xd0, 0xc7, 0x9b, 0x59, 0x30, 0x02, 0x49, 0xcd, 0x79, 0x5e, 0x3b, 0x81, + 0x20, 0x92, 0x64, 0xbf, 0x9e, 0x28, 0xfa, 0xc6, 0xc8, 0x8a, 0xd6, 0x7d, + 0xaf, 0x5e, 0x91, 0x37, 0xb0, 0x6e, 0xd7, 0xeb, 0xfa, 0x37, 0x24, 0xac, + 0x76, 0x49, 0x94, 0x9b, 0xbc, 0x5d, 0x30, 0xed, 0x4f, 0xe5, 0x69, 0xdf, + 0xc0, 0xf8, 0x1c, 0x94, 0xa4, 0xf6, 0xa2, 0xa3, 0xb2, 0x1f, 0xd7, 0xc1, + 0xf1, 0x26, 0x6f, 0x6b, 0xfb, 0x68, 0xfd, 0xe7, 0xb5, 0xf2, 0xca, 0xe5, + 0x0c, 0xc2, 0x6a, 0x9d, 0xf6, 0xf1, 0x42, 0xd3, 0xb2, 0x4a, 0xb2, 0xfa, + 0x37, 0x3e, 0x5a, 0x2e, 0xa6, 0x2a, 0x7f, 0x9b, 0x83, 0xab, 0x6d, 0x9c, + 0x34, 0x06, 0x13, 0x0b, 0xda, 0xb7, 0xbb, 0x9c, 0x92, 0xec, 0xf7, 0x0f, + 0xbc, 0x6a, 0xc2, 0x06, 0x7e, 0xbf, 0xd1, 0x91, 0xa9, 0xbc, 0xfc, 0xad, + 0x05, 0xde, 0x61, 0xc7, 0x40, 0x52, 0xee, 0x9d, 0xbc, 0xd0, 0xab, 0xcd, + 0x06, 0x3e, 0x91, 0xe8, 0x9a, 0x41, 0x45, 0xfd, 0xb4, 0xa1, 0x28, 0x7a, + 0x95, 0x04, 0x0d, 0x7c, 0x32, 0x50, 0x2c, 0x23, 0xaa, 0xda, 0xc5, 0x4b, + 0x7c, 0x55, 0x14, 0xfd, 0x71, 0x4d, 0x83, 0xed, 0x86, 0x81, 0x69, 0xe0, + 0xee, 0x45, 0xf1, 0x02, 0x65, 0x31, 0xff, 0xb0, 0x18, 0x56, 0xd9, 0x04, + 0xf7, 0x0d, 0x48, 0x03, 0x1b, 0x68, 0x44, 0xe9, 0x02, 0x99, 0xb5, 0x4d, + 0xc7, 0x33, 0x41, 0xb2, 0x58, 0x53, 0x78, 0xa4, 0x81, 0x4f, 0x24, 0x7a, + 0xaf, 0x00, 0x5a, 0x1c, 0xd2, 0xcb, 0x9e, 0x05, 0xfd, 0xec, 0x4f, 0x83, + 0x59, 0x1b, 0xe8, 0x05, 0xeb, 0x53, 0x11, 0x80, 0xc9, 0xdb, 0x5a, 0x5c, + 0x2f, 0x3c, 0x95, 0xb1, 0x9d, 0x83, 0x0f, 0xab, 0xd5, 0x4d, 0x12, 0x8d, + 0xbf, 0x81, 0xdb, 0xc0, 0x5a, 0xf1, 0xff, 0x24, 0x6a, 0x91, 0xa2, 0x13, + 0x91, 0xb6, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82 }; @@ -395,19 +388,19 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool ConfigurationPanelLayout->addWidget( Menu, 0, 0 ); - layout17 = new QVBoxLayout( 0, 0, 6, "layout17"); + layout19 = new QVBoxLayout( 0, 0, 6, "layout19"); TitleTab = new QLabel( this, "TitleTab" ); QFont TitleTab_font( TitleTab->font() ); TitleTab_font.setBold( TRUE ); TitleTab->setFont( TitleTab_font ); - layout17->addWidget( TitleTab ); + layout19->addWidget( TitleTab ); line2 = new QFrame( this, "line2" ); line2->setFrameShape( QFrame::HLine ); line2->setFrameShadow( QFrame::Sunken ); line2->setFrameShape( QFrame::HLine ); - layout17->addWidget( line2 ); + layout19->addWidget( line2 ); Tab_Signalisations = new QTabWidget( this, "Tab_Signalisations" ); @@ -546,7 +539,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool SettingsDTMFLayout->addLayout( layout11, 0, 0 ); Tab_Signalisations->insertTab( DTMFPage, QString("") ); - layout17->addWidget( Tab_Signalisations ); + layout19->addWidget( Tab_Signalisations ); Tab_Audio = new QTabWidget( this, "Tab_Audio" ); @@ -618,7 +611,13 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool CodecsChoiceLayout->addLayout( layout11_2, 0, 0 ); Tab_Audio->insertTab( CodecsPage, QString("") ); - layout17->addWidget( Tab_Audio ); + + RingPage = new QWidget( Tab_Audio, "RingPage" ); + + ringsChoice = new QComboBox( FALSE, RingPage, "ringsChoice" ); + ringsChoice->setGeometry( QRect( 20, 21, 150, 20 ) ); + Tab_Audio->insertTab( RingPage, QString("") ); + layout19->addWidget( Tab_Audio ); Tab_Video = new QTabWidget( this, "Tab_Video" ); @@ -627,7 +626,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool CodecsPage_2 = new QWidget( Tab_Video, "CodecsPage_2" ); Tab_Video->insertTab( CodecsPage_2, QString("") ); - layout17->addWidget( Tab_Video ); + layout19->addWidget( Tab_Video ); Tab_Network = new QTabWidget( this, "Tab_Network" ); @@ -636,7 +635,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool CodecsPage_3 = new QWidget( Tab_Network, "CodecsPage_3" ); Tab_Network->insertTab( CodecsPage_3, QString("") ); - layout17->addWidget( Tab_Network ); + layout19->addWidget( Tab_Network ); Tab_Preferences = new QTabWidget( this, "Tab_Preferences" ); @@ -650,7 +649,7 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool QWidget* privateLayoutWidget = new QWidget( TabPage, "layout17" ); privateLayoutWidget->setGeometry( QRect( 10, 20, 220, 210 ) ); - layout17_2 = new QVBoxLayout( privateLayoutWidget, 11, 6, "layout17_2"); + layout17 = new QVBoxLayout( privateLayoutWidget, 11, 6, "layout17"); layout16 = new QHBoxLayout( 0, 0, 6, "layout16"); @@ -661,18 +660,18 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool layout16->addWidget( zoneToneChoice ); spacer5 = new QSpacerItem( 31, 21, QSizePolicy::Expanding, QSizePolicy::Minimum ); layout16->addItem( spacer5 ); - layout17_2->addLayout( layout16 ); + layout17->addLayout( layout16 ); confirmationToQuit = new QCheckBox( privateLayoutWidget, "confirmationToQuit" ); confirmationToQuit->setChecked( TRUE ); - layout17_2->addWidget( confirmationToQuit ); + layout17->addWidget( confirmationToQuit ); checkedTray = new QCheckBox( privateLayoutWidget, "checkedTray" ); - layout17_2->addWidget( checkedTray ); + layout17->addWidget( checkedTray ); autoregister = new QCheckBox( privateLayoutWidget, "autoregister" ); autoregister->setChecked( TRUE ); - layout17_2->addWidget( autoregister ); + layout17->addWidget( autoregister ); layout16_2 = new QHBoxLayout( 0, 0, 6, "layout16_2"); @@ -683,9 +682,9 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool layout16_2->addWidget( voicemailNumber ); spacer6_2 = new QSpacerItem( 61, 21, QSizePolicy::Expanding, QSizePolicy::Minimum ); layout16_2->addItem( spacer6_2 ); - layout17_2->addLayout( layout16_2 ); + layout17->addLayout( layout16_2 ); Tab_Preferences->insertTab( TabPage, QString("") ); - layout17->addWidget( Tab_Preferences ); + layout19->addWidget( Tab_Preferences ); Tab_About = new QTabWidget( this, "Tab_About" ); @@ -705,9 +704,9 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool textLabel1 = new QLabel( CodecsPage_4, "textLabel1" ); textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) ); Tab_About->insertTab( CodecsPage_4, QString("") ); - layout17->addWidget( Tab_About ); + layout19->addWidget( Tab_About ); - ConfigurationPanelLayout->addLayout( layout17, 0, 1 ); + ConfigurationPanelLayout->addLayout( layout19, 0, 1 ); languageChange(); resize( QSize(560, 515).expandedTo(minimumSizeHint()) ); clearWState( WState_Polished ); @@ -827,6 +826,7 @@ void ConfigurationPanel::languageChange() textLabel1_4_4->setText( tr( "4" ) ); textLabel1_4_5->setText( tr( "5" ) ); Tab_Audio->changeTab( CodecsPage, tr( "Codecs" ) ); + Tab_Audio->changeTab( RingPage, tr( "Rings" ) ); Tab_Video->changeTab( DriversPage_2, tr( "Drivers" ) ); Tab_Video->changeTab( CodecsPage_2, tr( "Codecs" ) ); Tab_Network->changeTab( DriversPage_3, QString::null ); diff --git a/src/configurationpanelui.h b/src/configurationpanelui.h index a00ba235ede203b60bb73437b776249429289e4f..baaaf5503abee54d37e1c41125620cddfbcabf48 100644 --- a/src/configurationpanelui.h +++ b/src/configurationpanelui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'configurationpanel.ui' ** -** Created: Fri Jan 28 18:58:55 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! @@ -94,6 +94,8 @@ public: QLabel* textLabel1_4_3; QLabel* textLabel1_4_4; QLabel* textLabel1_4_5; + QWidget* RingPage; + QComboBox* ringsChoice; QTabWidget* Tab_Video; QWidget* DriversPage_2; QWidget* CodecsPage_2; @@ -128,7 +130,7 @@ protected: QVBoxLayout* layout8; QHBoxLayout* layout7; QSpacerItem* Horizontal_Spacing2; - QVBoxLayout* layout17; + QVBoxLayout* layout19; QGridLayout* groupBox1Layout; QVBoxLayout* stunButtonGroupLayout; QGridLayout* SettingsDTMFLayout; @@ -144,7 +146,7 @@ protected: QHBoxLayout* layout11_2; QVBoxLayout* layout9; QVBoxLayout* layout10_2; - QVBoxLayout* layout17_2; + QVBoxLayout* layout17; QHBoxLayout* layout16; QSpacerItem* spacer5; QHBoxLayout* layout16_2; diff --git a/src/global.h b/src/global.h index a6496a1b07c8ef76b724fd4979f096309e95e128..d6082031a48ec78d6d919820cd3a451984d2bbab 100644 --- a/src/global.h +++ b/src/global.h @@ -28,6 +28,7 @@ #define PROGNAME "SFLPhone" #define SKINDIR "skins" #define PIXDIR "pixmaps" +#define RINGDIR "rings" #define SFLPHONE_LOGO "logo_ico.png" #define TRAY_ICON "tray-icon.png" @@ -44,5 +45,6 @@ #define FORMAT 2 // for 16 bits format #define OCTETS SAMPLING_RATE * FORMAT // Number of writen // bytes in buffer - +#define YES 0 +#define NO 1 #endif // __GLOBAL_H__ diff --git a/src/manager.cpp b/src/manager.cpp index 7a9c83518da9d9796f89ac0a2bf2085469cdd8c5..4a93b7ce7517ace2c60700e4f4d3cf03697e2f2a 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -85,8 +85,8 @@ Manager::Manager (QString *Dc = NULL) { gui()->configuration(); } - spkr_volume = 10; - mic_volume = 10; + spkr_volume = 100; + mic_volume = 100; } Manager::~Manager (void) { @@ -185,7 +185,8 @@ Manager::ring (bool var) { if (this->b_ringing != var) { this->b_ringing = var; } - // TODO: play file.wav + tonezone = ringing(); + tone->playRing ((gui()->getRingFile()).ascii()); } // When IP-phone user makes call @@ -480,7 +481,7 @@ Manager::setChoose (bool b, bool b2) { bool Manager::useStun () { - if (Config::getb("Signalisations", "STUN.useStunYes")) { + if (Config::geti("Signalisations", "STUN.useStun") == YES) { return true; } else { return false; diff --git a/src/phonebookui.cpp b/src/phonebookui.cpp index 08b250c97ee073dd7ebd11eb48a3b5380be65ad5..ef9626f46e7fe5aea6dbb7b28c34c08ef3ee68d3 100644 --- a/src/phonebookui.cpp +++ b/src/phonebookui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'phonebook.ui' ** -** Created: Fri Jan 28 18:58:54 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/phonebookui.h b/src/phonebookui.h index a504b9e9239a59e662d769a93d71ffb717c4d9b6..bf561121e0c0d776998cc26c85eb03366dca3961 100644 --- a/src/phonebookui.h +++ b/src/phonebookui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'phonebook.ui' ** -** Created: Fri Jan 28 18:58:54 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/qtGUImainwindow.cpp b/src/qtGUImainwindow.cpp index c22ce245b36f551db87b7ea6c08ac4bb7bfe095c..c87165b1c2a169a3543dccf787c98c90cc9ebf63 100644 --- a/src/qtGUImainwindow.cpp +++ b/src/qtGUImainwindow.cpp @@ -121,9 +121,11 @@ QtGUIMainWindow::QtGUIMainWindow (QWidget *parent, const char *name, WFlags f, this->pt = new Point(skinfilename.ascii()); // Initialisations + this->initSpkrVolumePosition(); + this->initMicVolumePosition(); this->initButtons(); this->initBlinkTimer(); - + // Initialisation variables for ringing and message msgVar = false; b_dialtone = false; @@ -276,18 +278,12 @@ QtGUIMainWindow::QtGUIMainWindow (QWidget *parent, const char *name, WFlags f, NULL, mypop, parent, name); trayicon->show(); connect(trayicon, SIGNAL(clickedLeft()), this, SLOT(clickHandle())); - connect(vol_spkr, SIGNAL(setVolumeValue(int)), this, SLOT(volumeSpkrChanged(int))); - connect(vol_mic, SIGNAL(setVolumeValue(int)), this, SLOT(volumeMicChanged(int))); -} - -void -QtGUIMainWindow::volumeSpkrChanged(int val) { - callmanager->spkrSoundVolume(val); -} - -void -QtGUIMainWindow::volumeMicChanged(int val) { - callmanager->micSoundVolume(val); + + // Connections for volume control + connect(vol_spkr, SIGNAL(setVolumeValue(int)), this, + SLOT(volumeSpkrChanged(int))); + connect(vol_mic, SIGNAL(setVolumeValue(int)), this, + SLOT(volumeMicChanged(int))); } /** @@ -350,6 +346,46 @@ QtGUIMainWindow::setPathSkin (void) { "Preferences", "Themes.skinChoice", "metal")); } +QString +QtGUIMainWindow::ringFile(void) { + return QString(Config::getchar( + "Audio", "Rings.ringChoice", "konga.ul")); +} + +QString +QtGUIMainWindow::getRingFile (void) { + QString ringFilename(Skin::getPathRing(QString(RINGDIR), ringFile())); + return ringFilename; +} + +void +QtGUIMainWindow::initSpkrVolumePosition (void) { + if (pt->getDirection(VOL_SPKR) == VERTICAL) { + vol_spkr_x = Config::get("Audio", "Volume.speakers_x", + pt->getX(VOL_SPKR)); + vol_spkr_y = Config::get("Audio", "Volume.speakers_y", + pt->getVariation(VOL_SPKR)); + } else if (pt->getDirection(VOL_SPKR) == HORIZONTAL) { + vol_spkr_x = Config::get("Audio", "Volume.speakers_x", + pt->getX(VOL_SPKR) + pt->getVariation(VOL_SPKR)); + vol_spkr_y = Config::get("Audio", "Volume.speakers_y", + pt->getY(VOL_SPKR)); + } +} + +void +QtGUIMainWindow::initMicVolumePosition (void) { + if (pt->getDirection(VOL_MIC) == VERTICAL) { + vol_mic_x = Config::get("Audio", "Volume.micro_x", pt->getX(VOL_MIC)); + vol_mic_y = Config::get("Audio", "Volume.micro_y", + pt->getVariation(VOL_MIC)); + } else if (pt->getDirection(VOL_MIC) == HORIZONTAL) { + vol_mic_x = Config::get("Audio", "Volume.micro_x", + pt->getX(VOL_MIC) + pt->getVariation(VOL_MIC)); + vol_mic_y = Config::get("Audio", "Volume.micro_y", pt->getY(VOL_MIC)); + } +} + /** * Inits all phonekey buttons. * Create new QPushButtons, set up tool tip, disable focus, set button geometry @@ -413,8 +449,8 @@ QtGUIMainWindow::initButtons (void) { vol_mic = new VolumeControl(this, NULL, VOLUME, micVolVector); vol_spkr = new VolumeControl(this, NULL, VOLUME, spkrVolVector); - vol_mic->move(pt->getX(VOL_MIC), pt->getY(VOL_MIC)); - vol_spkr->move(pt->getX(VOL_SPKR), pt->getY(VOL_SPKR)); + vol_mic->move(vol_mic_x, vol_mic_y); + vol_spkr->move(vol_spkr_x, vol_spkr_y); } /** @@ -750,6 +786,16 @@ QtGUIMainWindow::startCallTimer (int line) { /////////////////////////////////////////////////////////////////////////////// // Public slot implementations // /////////////////////////////////////////////////////////////////////////////// +void +QtGUIMainWindow::volumeSpkrChanged(int val) { + callmanager->spkrSoundVolume(val); +} + +void +QtGUIMainWindow::volumeMicChanged(int val) { + callmanager->micSoundVolume(val); +} + /** * Slot to blink with free and busy pixmaps when line is hold. */ @@ -967,6 +1013,21 @@ QtGUIMainWindow::quitApplication (void) { bool confirm; // Show QMessageBox confirm = Config::get("Preferences", "Options.confirmQuit", (int)true); + + // Save volume positions + // TODO: save position if direction is horizontal + Config::set("Audio", "Volume.speakers_x", pt->getX(VOL_SPKR)); + if (vol_spkr->getValue() != micVolVector->Y() - micVolVector->Variation()){ + Config::set("Audio", "Volume.speakers_y", pt->getY(VOL_SPKR) - + vol_spkr->getValue()); + } + Config::set("Audio", "Volume.micro_x", pt->getX(VOL_MIC)); + if (vol_mic->getValue() != spkrVolVector->Y() - spkrVolVector->Variation()){ + Config::set("Audio", "Volume.micro_y", pt->getY(VOL_MIC) - + vol_mic->getValue()); + } + + save(); if (confirm) { if (QMessageBox::question(this, "Confirm quit", @@ -1035,7 +1096,7 @@ QtGUIMainWindow::pressedKeySlot (int id) { key->startTone(code); key->generateDTMF(buf, SAMPLING_RATE); callmanager->audiodriver->audio_buf.resize(SAMPLING_RATE); - callmanager->audiodriver->audio_buf.setData (buf, callmanager->getSpkrVolume()/10); + callmanager->audiodriver->audio_buf.setData (buf, callmanager->getSpkrVolume()); pulselen = Config::get("Signalisations", "DTMF.pulseLength", 250); callmanager->audiodriver->audio_buf.resize(pulselen * (OCTETS/1000)); // a = callmanager->audiodriver->writeBuffer(buf, pulselen * (OCTETS/1000)); diff --git a/src/qtGUImainwindow.h b/src/qtGUImainwindow.h index 754a8da072d0e7f5ab71136c7e07011fc18ad151..822ca2dc3822ec58b6ba56bcfde0c542bb83d17e 100644 --- a/src/qtGUImainwindow.h +++ b/src/qtGUImainwindow.h @@ -130,6 +130,8 @@ public: void toggleLine (int); void stopTimerMessage (void); static QString setPathSkin(void); + static QString ringFile (void); + QString getRingFile (void); inline void ring (bool b) { this->ringVar = b; } inline @@ -194,6 +196,8 @@ private: Point *pt; Vector *micVolVector; Vector *spkrVolVector; + int vol_mic_x, vol_mic_y; + int vol_spkr_x, vol_spkr_y; // To construct ring rect pixmap QImage imageRing; @@ -220,6 +224,8 @@ private: void initButtons (void); void initBlinkTimer (void); + void initSpkrVolumePosition (void); + void initMicVolumePosition (void); int numLineBusy (void); diff --git a/src/skin.cpp b/src/skin.cpp index 450f40150c8fa5f78da92b56c90bc3a3191de1a9..20c538330664c73c1f4279643f86d7df6f18b9d2 100644 --- a/src/skin.cpp +++ b/src/skin.cpp @@ -71,4 +71,9 @@ Skin::getPathPixmap (const QString & pixdir, const QString & filename) { return (QString(PROGSHAREDIR) + "/" + pixdir + "/" + filename); } +QString +Skin::getPathRing (const QString & ringdir, const QString & filename) { + return (QString(PROGSHAREDIR) + "/" + ringdir + "/" + filename); +} + // EOF diff --git a/src/skin.h b/src/skin.h index 45bdcd30ae84120f0a01452b682e5f657757dfbd..bb175e2a1f7a217518ac4e454b5ea082386e963c 100644 --- a/src/skin.h +++ b/src/skin.h @@ -109,6 +109,7 @@ public: static QString getPath(const QString &,const QString &, const QString &); static QString getPath(const QString &); static QString getPathPixmap (const QString &, const QString &); + static QString getPathRing (const QString &, const QString &); }; #endif // __SKIN_H__ diff --git a/src/tonegenerator.cpp b/src/tonegenerator.cpp index a4483c21d472adb72c6737cd300b5776a44d797a..0e3280d9c46fe3ec9bb211834a01f717c7dd2c10 100644 --- a/src/tonegenerator.cpp +++ b/src/tonegenerator.cpp @@ -18,15 +18,20 @@ */ #include <math.h> +#include <iostream> +#include <fstream> #include <qapplication.h> #include <qstring.h> +#include "audiocodec.h" #include "configuration.h" #include "global.h" #include "manager.h" #include "tonegenerator.h" +using namespace std; + /////////////////////////////////////////////////////////////////////////////// // ToneThread implementation @@ -44,7 +49,7 @@ ToneThread::~ToneThread (void) { void ToneThread::run (void) { while (mngr->tonezone) { - mngr->audiodriver->audio_buf.setData (buf, mngr->getSpkrVolume()/10); + mngr->audiodriver->audio_buf.setData (buf, mngr->getSpkrVolume()); mngr->audiodriver->writeBuffer(); //mngr->audiodriver->writeBuffer(buf, totalbytes); } @@ -232,12 +237,10 @@ ToneGenerator::toneHandle (int idr) { if (tonethread == NULL) { tonethread = new ToneThread (manager, buf, totalbytes); manager->audiodriver->audio_buf.resize(totalbytes); - // manager->audiodriver->audio_buf.setData (buf); tonethread->start(); } if (!manager->tonezone) { - //tonethread->join(); if (tonethread != NULL) { delete tonethread; tonethread = NULL; @@ -247,3 +250,54 @@ ToneGenerator::toneHandle (int idr) { } +int +ToneGenerator::playRing (const char *fileName) { + short* dst = NULL; + char* src = NULL; + int expandedsize, length; + + if (fileName == NULL) { + return 0; + } + fstream file; + file.open(fileName, fstream::in); + if (!file.is_open()) { + return 0; + } + + // get length of file: + file.seekg (0, ios::end); + length = file.tellg(); + file.seekg (0, ios::beg); + + // allocate memory: + src = new char [length]; + dst = new short[length]; + + // read data as a block: + file.read (src,length); + + expandedsize = AudioCodec::codecDecode ( + PAYLOAD_CODEC_ULAW, + dst, + (unsigned char*)src, + length); + + if (tonethread == NULL) { + tonethread = new ToneThread (manager, dst, expandedsize); + manager->audiodriver->audio_buf.resize(expandedsize); + tonethread->start(); + } + if (!manager->tonezone) { + if (tonethread != NULL) { + delete tonethread; + tonethread = NULL; + } + } + + file.close(); + delete[] dst; + delete[] src; + return 1; +} + diff --git a/src/tonegenerator.h b/src/tonegenerator.h index 00587b80787e88f06ad33d43288562c4b68f7518..778a0ed22ce071f3cbdd2461c508d925f8928382 100644 --- a/src/tonegenerator.h +++ b/src/tonegenerator.h @@ -73,6 +73,7 @@ public: void generateSin (int, int, int, int, short *); void buildTone (int, int, int, int, short*); void toneHandle (int); + int playRing (const char*); short *sample; int freq1, diff --git a/src/url_inputui.cpp b/src/url_inputui.cpp index c76102581e7e1a612bd441fff368b905f55a4d3a..e3b2ba09251844ef078d5d2abc3fe4fbc13b28a6 100644 --- a/src/url_inputui.cpp +++ b/src/url_inputui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'url_input.ui' ** -** Created: Fri Jan 28 18:58:54 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/url_inputui.h b/src/url_inputui.h index a5a6cf2f895f6852b996809ddaf25a1c7ad13b77..226b813979d5ab4308560e46dc5acecd0af16cd2 100644 --- a/src/url_inputui.h +++ b/src/url_inputui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'url_input.ui' ** -** Created: Fri Jan 28 18:58:54 2005 +** Created: Mon Jan 31 18:13:29 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/volumecontrol.cpp b/src/volumecontrol.cpp index faeb855880cccf3f37fea7136dc69ab37a1999da..61ddb70ac08bbf620d9f8befefe0eb4d74a39b9a 100644 --- a/src/volumecontrol.cpp +++ b/src/volumecontrol.cpp @@ -69,6 +69,8 @@ VolumeControl::mouseMoveEvent (QMouseEvent *e) { QPoint ptref(e->globalX() - offset(HORIZONTAL), e->globalY() - mouse_y); if (ptref.x() >= vect->X() and ptref.x() <= vect->Variation()) { volumeValue = vect->X() - ptref.x(); + // Emit a signal + emit setVolumeValue (volumeValue); move (QPoint(ptref.x(), vect->Y())); } } @@ -80,4 +82,3 @@ VolumeControl::mousePressEvent (QMouseEvent *e) { mouse_y = e->y(); } -